组建网络的重要设备
集线器,交换机(组建局域网,不能跨局域网组建网络),路由器(wifi本质上是无线路由器,路由器的本质的把俩个局域网给连起来)
网络通信的一些基础概念
IP地址 标识了网络设备所在的位置
端口号 标识了一个具体的应用程序
协议
协议是网络通信的概念,约定好了数据是什么样的格式来进行传输,有了这个约定,才能让双方相互理解对方的含义,比如我们日常说话,"普通话","芜湖话","北京话"也属于协议.
网络通信是一个比较复杂的事情,需求场景复杂了,实现功能比较复杂,如果这个协议太复杂了,学习成本,使用成本维护成本很高,因此实际做法是:针对这个复杂的大协议,拆分成若干个,相对简单的小协议.
随着协议拆分成一些小协议,每个协议负责一部分功能,此时可能某些协议之间起到的作用和功能是类似的,针对这些小协议,再进行分类(分层),网络协议就是在 分层的背景下展开的
协议分层的好处
降低了学习成本和维护成本(封装)
灵活的针对某一层协议进行替换
协议分层的风格
OSI七层网络模型(实际上不用,与五层协议相比,应用层和传输层多了表示层和会话层)
TCP/IP五层(四层)网络模型
物理层:约定了网络通信中,基础硬件设备是什么样的,比如像通信使用的网线,网口等设备.网线网口都是相同规格的
传输层:只关心端到端之间的传输(起点到终点)
网络层:主要负责路径的规划,走什么样的路线传输效率最高.
数据链路层:主要负责俩个相邻的节点之间,具体怎么进行传输
应用层:应用层,描述了传输层的数据,用户要怎样来使用
网络数据传输的基本流程(站在协议分层的角度)
以QQ为例,A给B发一个hello
应用层
发送方:用户在输入框输入hello这个字符串,qq这个应用程序就把这个字符串,给构成了一个数据报,假设qq的应用层协议格式为(应用层数据,每个应用程序都不一定一样,有统一的版本,也可以自己定义):
发送方qq号;发送时间;接收方qq号;消息内容
"应用层数据报"本质上就是一个遵循了约定格式的字符串,程序要调用操作系统的 api,把这个应用层数据报交给传输层
传输层(进入系统内核了)
在传输层中,就要把上述应用层数据,构成传输层 的数据报
传输层使用的协议,最知名的就是UDP和TCP,此处使用UDP,就需要构造出一个 UDP数据报(在 应用层数据报 基础上,加一个UDP报头)
网络层
网络层最知名的协议 IP协议 IP协议基于上述数据报,打包成一个IP数据报
一次通信中基础的五元组:源IP 源端口 目的IP 目的端口 协议类型
数据链路层
数据链路层最知名的协议是"以太网",基于上述数据报打包成一个"以太网数据帧"
物理层
把上述二进制的数据(一串0101)转换成 电信号/光信号,此时就真正把数据发送出去了
上述过程,从应用层到物理层,层层加码,从上到下,这个过程就称为"封装"(不是面向对象的封装)
接收方的工作
物理层
网卡接收到的是 光信号 和 电信号.在物理层,把这个光电信号转换成成 二进制的数据,转换的数据就是一个以太网数据帧
数据链路层
把这个数据交给数据链路层解析
网络层
传输层
应用层
上述,从下到上,层层解析,这个过程称为"分用".文章来源:https://www.toymoban.com/news/detail-416372.html
整个的网络协议中,协议分成很多层,上层协议要调用用下层协议(上层协议把数据交给下层继续封装),下层协议给上层协议提供支持(下层协议解析好数据,交给上层).
这里的几层协议之间是有明确的层级关系,只有相邻的俩层之间才能进行交互(不能跨层交互) .文章来源地址https://www.toymoban.com/news/detail-416372.html
到了这里,关于网络中的一些基本概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!