计算机网络之数据传输过程
数据在计算机网络中的传输过程
回顾TCP/IP协议簇(5层)
TCP/IP--一系列协议的集合,其前四层与OSI七层模型的前四层相对应,
功能也与之类似,而应用层则对应OSI的上三层(由下往上分别是会话层、表示层、应用层)。
对OSI参考模型不了解的可以访问下面链接作为简单了解:
计算机网络基础
TCP/IP五层模型应用在实际工作中更加广泛。下面做详细介绍:
(1)物理层/数据链路层
在物理层和数据链路层,TCP/IP没有定义特定的协议,所以支持所有的标准的和专用的协
议,网络可以是局域网、城域网或广域网。
(2)网络层
该层定义了IP协议,而其又由四个支撑协议组成:ARP(地址解析协议)、
RARP(逆地址解析协议)、ICMP(网际控制报文协议)、IGMP(网际组管理协议)。
(3)传输层
TCP协议(传输控制协议)和UDP(用户数据报协议)协议,上一链接文章末尾有所提及。
(4)应用层
简单来说除了上述的各种协议外的其他协议都是属于应用层的协议,
例如:HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)等等。
数据传输过程
其实,在网络中数据传输和我们生活中信件邮寄、快递类似,传输好比就是整个包裹走向你的流程,
协议好比就是我们所规定的包裹信息,保证大家都可以看得懂。因此,数据也是需要打包和拆包的,
准确来说是封装和解封装。
数据封装和解封装过程
1.数据封装过程(快件打包)
(1)应用层传输
这里可以理解为翻译的过程,当然这是属于计算机的翻译过程,应用层便是将数据进行二进制编码。
(2)传输层传输(数据段)
传输层将上层数据分割成诸多数据段(方便解决传输出错问题),并且为每个分段后的数据
封装-- TCP报文头部。其中TCP报文头部有一个关键的字段信息--端口号(保证上层应用数据通信)。
(3)网络层传输 (数据包)
网络层将上层数据再度添加封装--IP头部,其头部包含一个关键的字段信息--IP地址,用于标识网络
的逻辑地址。
(4)数据链路层传输(数据帧)
数据链路层将上层数据再次添加封装--MAC头部,其包含一个关键的字段信息--MAC地址, 可以理解
为固化在硬件中的物理地址,和我们的个人银行卡号一样具有唯一性。 该封装过程中的尾部封装暂不讨论。
(5)物理层传输(比特流)
物理层将上层二进制数据转成电信号在网络中传输。
上述就是数据在网络传输中的数据封装过程,其实可以简单理解为是我们平时冬天穿衣服的过程,
其中括号内的数据段、数据包、数据帧和比特流就是我上面给出链接中介绍的PDU(协议数据单元)。
2.数据解封装过程(快件拆包)
数据封装后通过网络传输到接收方后需要进行解封装,恰好就是上述数据封装的逆过程。可以简单理解
为我们平时冬天在家里开暖气后脱衣服的过程。
下面依照图示形象地描述一下该过程。
上图由上至下为数据的封装过程,由下至上为数据的解封装过程。其中比特流可以认为是信号的转换,一般是数字信号,准确来说是电子脉冲。
补充点
常见硬件设备与五层模型的对应关系
应用层:计算机(其实计算机是融合OSI七层于一身的)
传输层:防火墙
网络层:路由器(严格讲和我们家里所用的家用路由器不一致,一般在机房可以见到)
数据链路层:交换机(例如家里的光猫)
物理层:网卡