目录
1、OSI七层参考模型
分 层 | 功 能 |
物理层 | 建立、维护、断开物理连接 |
数据链路层 | 建立逻辑连接、进行硬件地址寻址、差错校验等功能 |
网络层 | 进行逻辑地址寻址,实现不同网络之间的路径选择 |
传输层 | 定义传输数据的协议端口号,以及流控和差错校验 |
会话层 | 建立、管理、中止会话 |
表示层 | 数据的表示、安全、压缩 |
应用层 | 网络服务与最终用户的一个接口 |
2、OSI模型vsTCP/IP模型
3、 TCP/IP协议常见的五层模型协议
4、 数据封装与数据解封装
数据封装:在网络中传输数据需要对其进行封装,也就是加入网络参考模型中各层对应的头部信息,这些头部信息的主要作用是用来帮助中间传输系统将数据传输到一个正确的目的地,它不是为了给接收方看的。数据的封装过程传输层的传输是端到端的,类似于我们将信封交到邮递员手上;数据链路层主要负责本地区域的传输,类似邮递员将信封交到邮局;而网络层的传输是点到点的,类似信封被邮局发出去在不同城市间传输;所有的数据要转换成物理信号比特流在物理层传输。
数据解封装:而到接收方那边时,他不关心这个数据是如何发送过来的,对接收方来说数据才是最重要的所以要对数据进行解封装,将封装的一些头部都去掉与封装过程相反。
数据封装过程:
(1)应用层传输过程:
在应用层,数据被”翻译”为网络世界使用的语言 --二进制编码数据。
(2)传输层传输过程:
在传输层,上层数据被分割成小的数据段,并为每个分段后的数据封装TCP报文头部,应用层将人们需要传输的信息转换成计算机能识别的二进制数据后,些数据往往都是海量的,一次性传输如此庞大的数据,一旦网络出现问题而导致数据出错就要重新传输,数据量过大也会增加出错的概率,最终可能导致网络资源耗尽。因此,将数据先分割成小段再传输,一旦数据传输出现错误只需要重新传这一小段数据即可。
在TCP头部有一个关键的字段信息—端口号,它用于识别上层的协议或应用程序,确保上层应用数据的正常通信。对于一台主机就需要搞清楚另外一台主机发送的数据要对应哪个应用程序实施通信。但是对于传输层而言,它是不可能看懂应用层传输数据的具体内容的,因此只能借助一种标识来确定接收到的数据对应的应用程序,这种标识接收端口。
(3)网络层:
在网络层,上层数据被封装上新的报文头部-----IP地址,在IP头部中包含目标IP地址和源IP地址,在网络传输过程中的一些中间设置,如路由器,会根据目标IP地址来进行逻辑寻址,找到正确的路径将数据传转发到目的端主机,如果没有发现目的 IP地址是不可能到达的,它将会把该信息传回发送端主机,因此在网络层需要同时封装目标IP和源IP。
(4)数据链路层
在数据链路层中,上层数据被封装一个MAC头部,其内部有一个关键的字段信息------MAC地址,它是计算机的物理地址,具有全球唯一性,和IP头部类似,在MAC头部也同样封装这目标MAC地址和源MAC地址。
(5)物理层传输过程:
无论在之前封装的报文头部还是上层的数据信息都是由二进制数组成的,在物理层,将这些二进制数组成的比特流传换成电信号在网络中传输。
数据解封装过程:
在物理层,首先将电信息转换成为二进制数据,并将数据发送到数据链路层,在数据链路层,将看目标MAC地址,判断是否与自己的MAC地址吻合,并据此完成后续处理,如果数据报文的目标MAC地址就是自己的MAC地址,数据的MAC头部将被拆掉,并将剩余的数据发送到上一层(网络层),如果目标MAC地址不是自己的MAC地址,对于终端设置来说,它将会丢弃数据。网络层与数据链路层类似,目标IP地址将被核实是否与自己的IP地址相同,从而确定是否发送到上一层,到了传输层,首先要根据TCP头部判断数据段送往那个应用层协议或者应用程序,然后将之前被分组的数据段重组,再送往应用层,在应用层,这些二进制数据将经历复杂的解码过程,以还原成发送者所传输的最原始的信息。