IDC资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回IDC资讯列表

分层、封装、分用都是甚么意思?

发布时间:2024-05-23

分层、封装、分用都是甚么意思?

分层

甚么是协议?懒得去翻协议的各种权威定义了,我认为协议就是约定,跟现实生活中协议这个词含义差不多。网络协议就是通讯双方共同遵照的约定,更具体一点,就是定义数据在网络上传输的格式、规则和流程。

由于网络是分层模型,区别层有区别层的作用,所以为各层定义各层的规则,各层对应的各层协议。

前面讲了TCP/IP协议族包括很多协议,这些协议分属区别的分层,承当区别的作用。

TCP和UDP是两种主要的传输层协议。

IP是网络层的主要协议,TCP、UDP都需要利用IP协议进行数据传输。

ICMP是互联网控制报文协议,是IP的附属协议,IP层用它来与其他主机或路由器交换毛病报文和其他重要信息。比如一个Packet经过某个路由器节点的时候,超过网络对Packet的长度限制,而又不分片,则会给发送端发送一个ICMP包报告毛病信息,属于ICMP是用来辅助IP完成数据包传输的。

IGMP是Internet组管理协议,用来把一个包多播到多个主机。

ARP(地址解析协议)和RARP(逆地址解析协议)是用来转换IP层和链路层的地址,IP层使用IP地址,链路层使用Mac地址

利用层和传输层使用端到端(endtoend)协议,网络层提供的是逐跳(hopbyhop)协议。

封装

A给B通过网络传送一块数据,可以假想仅仅是传输这块原始数据是不够的,由于网络传输进程中,网络包到了某个路由器,需要转发,而转发一定要依赖数据包的一些附加信息,比如目标机器。

发送端在发送数据的时候,将原始数据依照协议格式加上一些控制信息,包装成可在网络上正确传输数据包的进程叫封装。

TCP/IP协议族是层层封装的,从利用层到链路层,每经过一层都要添加一些额外信息(首、尾部)。

用户数据经过利用程序加上利用程序首部,转给TCP层处理

经过TCP层加上TCP首部,产生TCP段(segment)

TCP segment经过IP层再加上IP首部,产生IP数据包(datagram)

IP datagram通过链路层,经以太网驱动程序处理后,加上以太网首部+尾部,产生以太网帧(frame),以太网帧的长度在46~1500之间

更准确的说,在IP和链路层传输的数据单元叫分组(Packet),分组既可以是一个IP datagram也能够是IP datagram的一个分片(fragment)。

UDP的封装跟TCP略有区别,主要体现在经过传输层(UDP)以后添加的是8字节UDP首部,产生UDP datagram。

封装进程中,经过TCP/UDP层的时候,会把端口号添加到TCP/UDP首部;经过IP层的时候,会把协议类型(TCP or UDP or ICMP or IGMP)添加到IP首部;经过链路层的时候,会把帧类型(IP or ARP or RARP)添加到以太网首部。这些信息将被用于接收真个处理。

接收端收到数据后,要履行跟发送端相反的解封操作,我们可以把发送真个数据封装比喻成洗澡后一层层穿衣服,而接收真个操作,类似洗澡前一层层脱衣服,把首尾部剥离,获得传递的原始数据。

由于网络上的主机有区别字节序,现在要通过网络传输,便需要约定统一的网络字节序(大端序),采取小端序的主机在网络传输数据的时候要转为大端序。

分用

接收端接收到以太网数据帧(Frame)以后,需要像剥洋葱一样,从协议栈由底向上升,即遵照链路层>网络层>传输层>利用层的顺序,去掉各层协议添加的首尾部,将数据取出,交给最上层利用程序,这个进程叫Demultiplexing,尊从书本的翻译叫分用。

回顾前面封装的描写,在传输层、网络层、链路层,分别将端口号存入TCP/IP首部,将协议类型存入IP首部,将帧类型存入以太网帧首部。所以在接收端,将一层层拆掉首部,取出对应信息,然后做分派,丢给区别模块处理,上图就是全部处理进程。


桂哥通讯&网络综合解决方案提供商,助力企业信息化建设、数字化转型、和全球化互联。SDWAN方案可实现全球访问加速、SaaS访问加速、国外视频加速、国外分支组网,有效提升国际间沟通效力,助力中国企业开辟国际市场。服务热线:13148556047,欢迎来电咨询。

TikTok千粉号购买平台:https://tiktokusername.com/