TCP/IP五层协议的简单理解
TCP/IP五层协议的简单理解
TCP/IP五层协议
如果把网络通信的过程类比为寄快递,那么TCP/IP五层协议模型就类似于快递系统的流水线,每一层都有不同的分工
首先,TCP/IP五层协议分为以下五层(也有四层协议和七层协议,在此仅解释五层协议的内容)
- 应用层:网络上传输的数据,应用程序如何使用(要寄出的物品)
- 传输层:负责端到端的传输,通行双方只关心起点和终点(快递公司及收发件人具体的门牌号,确保交到正确的人手里)
- 网络层:负责主机到主机的传输,着重规划传输路线(负责计算快递从武汉发往广州走哪条路最快)
- 数据链路层:负责两个相邻节点的数据转发(快递车在两个相邻驿站或集运中心的转运过程)
- 物理层:负责将数据转化成能在物理介质中传播的信号(快递车走的高速公路)
封装和分用
简单说明五层协议的各层用途并不能让我们直观了解其用途。因此我们可以模拟一个实例来了解
- 场景:用户A通过QQ给用户B发送hello
对于用户A的发送过程:
-
应用层:
应用程序QQ会编译一个报文.这个报文只有QQ才能进行编码解码.由于我们并不知道真实的QQ报文是怎么样的,所以我们只能自己模拟一个QQ报文的格式如下:当QQ编好这个报文后,会通过调用操作系统API(socker api)来交给操作系统处理,进入传输层
-
传输层:
传输层中有很多协议,最典型的就是TCP协议,在此也以TCP协议作演示
简单来说TCP协议就是在原报文上加了个TCP协议报头:此时TCP报头后的应用层数据被视为载荷,整个数据被称为报文段.通过操作系统分配的端口号来传出和传入数据/TCP报头中有源端口和目的端口
-
网络层
网络层和传输层有些相像.最典型的是IP协议.IP协议就是把整个TCP数据视为一个整体,即载荷.然后再在前面加上IP协议报头此时IP报头后的内容都变成了载荷,整个数据被称为数据报.IP报头中有源IP和目的IP
-
数据链路层
数据链路层中最典型的协议是以太网协议.以太网协议的不同点是它不仅把IP报头后面的内容作为载荷,还会在载荷的前面和后面分别添加帧头和帧尾帧头中有源MAC地址和目的MAC地址,帧尾则是用来效验数据完整的效验和.此时这个数据叫做以太网数据帧
-
物理层
物理层中会把上面打包好的数据通过网卡转换为光电信号并传输(光纤,网线等)
而对于接收数据的一方,所经历的过程是与和发送相反的
- 场景B:用户B通过QQ接收用户A的消息
对于用户B的接收过程:
- 物理层
通过接收到的光电信号转化为数据帧,再交给以太网解析 - 数据链路层
拿到以太网数据帧,去掉帧头和帧尾再交给网络层 - 网络层
通过IP协议对数据进行解析,去掉IP报头,得到对应的报文段并传递给传输层 - 传输层
通过TCP协议对数据进行解析,去掉TCP报头,得到对应的报文并传递给应用层 - 应用层
QQ应用拿到报文后解析,明白这一条数据的意图,将对应的发送内容显示在应用程序中
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)