帮助文档
关键词列表
网站地图
网站首页
最新活动
轻量应用服务器
阿里云邮箱
等保测评
阿里云产品
企业上云最佳实践
技术帮助文档
关于我们
网站首页
>
关于我们
>
公司新闻
>
上层协议是如何使用下层协议提供的服务的呢
上层协议是如何使用下层协议提供的服务的呢
发布时间: 2020-09-01 10:13:53
文章作者: 网站编辑
阅读量: 480
上层协议是如何使用下层协议提供的服务的呢?其实这是通过封装(encapsulation)实现的。应用程序数据在发送到物理网络上之前,将沿着协议栈从上往下依次传递。每层协议都将在上层数据的基础上加上自己的头部信息(有时还包括尾部信息),以实现该层的功能,这个过程就称为封装,如图1-4所示。
经过TCP封装后的数据称为TCP报文段(TCP message segment),或者简称TCP段。前文提到,TCP协议为通信双方维持一个连接,并且在内核中存储相关数据。这部分数据中的TCP头部信息和TCP内核缓冲区(发送缓冲区或接收缓冲区)数据一起构成了TCP报文段,如图1-5中的虚线框所示。
当发送端应用程序使用send(或者write)函数向一个TCP连接写入数据时,内核中的TCP模块首先把这些数据复制到与该连接对应的TCP内核发送缓冲区中,然后TCP模块调用IP模块提供的服务,传递的参数包括TCP头部信息和TCP发送缓冲区中的数据,即TCP报文段。经过UDP封装后的数据称为UDP数据报(UDP datagram)。UDP对应用程序数据的封装与TCP类似。不同的是,UDP无须为应用层数据保存副本,程序数据的封装与TCP类似。不同的是,UDP无须为应用层数据保存副本,因为它提供的服务是不可靠的。当一个UDP数据报被成功发送之后,UDP内核缓冲区中的该数据报就被丢弃了。如果应用程序检测到该数据报未能被接收端正确接收,并打算重发这个数据报,则应用程序需要重新从用户空间将该数据报拷贝到UDP内核发送缓冲区中。
经过IP封装后的数据称为IP数据报(IP datagram)。IP数据报也包括头部信息和数据部分,其中数据部分就是一个TCP报文段、UDP数据报或者ICMP报文。我们将在第2章详细讨论IP数据报的头部信息。
经过数据链路层封装的数据称为帧(frame)。传输媒介不同,帧的类型也不同。比如,以太网上传输的是以太网帧(ethernet frame),而令牌环网络上传输的则是令牌环帧(token ring frame)。以以太网帧为例,其封装格式如图1-6所示。
以太网帧使用6字节的目的物理地址和6字节的源物理地址来表示通信的双方。关于类型(type)字段,我们将在后面讨论。4字节CRC字段对帧的其他部分提供循环冗余校验。
帧的最大传输单元(Max Transmit Unit,MTU),即帧最多能携带多少上层协议数据(比如IP数据报),通常受到网络类型的限制。图1-6所示的以太网帧的MTU是1500字节。正因为如此,过长的IP数据报可能需要被分片(fragment)传输。
帧才是最终在物理网络上传送的字节序列。至此,封装过程完成。
上一篇:云计算到底有哪些特征
下一篇:打开站点首页的等待时候的真相
最热文章
钉钉蚂蚁分工报价:蚂蚁分工钉钉怎么收费
手机钉钉文件取消默认打开方式设置
为什么数据库系统具有数据与程序的独立
生活中数据库系统的例子
阿里云域名转出cloudflare
阿里云盘怎么设置限速提速
随机推荐
Nginx的模块与工作原理
平台提供的基础设施资源
本地服务器和云服务器的区别
海外网站服务器有哪些
云主机是什么意思
游戏服务器:美国高防免备案服务器租用
获取更多阿里云折扣优惠 立即咨询
活动推荐
内容推荐
更多
TCP/IP协议族体系结构以及主要协议
阿里云服务器是什么协议的产品?如何使用?
块存储设备使用的协议
阿里云通信协议的使用及应用
堡垒机使用什么协议
关键词推荐
更多
游戏服务器多少钱
云服务器代理
VPS
阿里云云防火墙
阿里云合作伙伴订单
钉钉专业版价格
网盘价格
全球加速
邮箱收费
阿里云cdn加速价格
钉钉如何退出该企业
谷歌云服务器免费一年多少钱
视频直播CDN价格
腾讯云服务器如何使用u盘播放文件夹
阿里云盘福利码2023年3月1日领取不了
钉钉群怎么踢人出群里面
阿里云企业免费邮箱是什么意思啊怎么用
国内最好的数据库公司是哪家
最好的数据库类型是什么样的
钉钉在线上课怎么退出
联系客服免费领取更多阿里云产品新购、续费升级折扣,叠加官网活动折上折更优惠
立即领取