文档章节

TCP UDP 封包过程

o
 osc_x4h57ch8
发布于 2018/04/24 15:23
字数 293
阅读 14
收藏 0

精选30+云产品,助力企业轻松上云!>>>

数据封装

 

 

 

 

 

 

 

 

注:

Ethernet 协议规定 DatalinkHeader 是 14 bytes,分别是6字节目的MAC地址、6字节源MAC地址、2字节数据包类型;

4字节FCS(frame check sequence)是CRC值;

MSS参数位于TCP首部,UDP首部没有;

MTU参数位于IP首部

 

应用数据需要经过TCP/IP每一层处理之后才能通过网络传输到目的端,每一层上都使用该层的协议数据单元PDU(ProtocolDataUnit)彼此交换信息。

如上层数据在传输层添加TCP报头后得到的PDU被称为Segment(数据段);数据段被传递给网络层,网络层添加IP报头得到的PDU被称为Packet(数据包);数据包被传递到数据链路层,封装数据链路层报头得到的PDU被称为Frame(数据帧);最后,帧被转换为比特,通过网络介质传输。这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。

 

 

TCP首部

TCP首部+用户数据

 

UDP首部

UDP首部+用户数据

 

IPv4首部

固定部分是20字节

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

将PHP对象转换为关联数组 - Convert a PHP object to an associative array

问题: I'm integrating an API to my website which works with data stored in objects while my code is written using arrays. 我正在将API集成到我的网站,该网站可以使用数组编写代码时......

fyin1314
27分钟前
10
0
mysql中很多表都设计由记录创建时间和更新时间

mysql中很多表都设计由记录创建时间和更新时间 ALTER TABLE `user`MODIFY COLUMN create_time datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'; ALTER TABLE `user`M......

独钓渔
38分钟前
26
0
第七章第四题(分析成绩)(Analyze scores) - 编程练习题答案

编写一个程序,读人个数不确定的考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输人一个负数表示输入的结束。假设最高分为100。 Write a program that rea...

许唯宇
46分钟前
21
0
在JavaScript控制台中包含jQuery - Include jQuery in the JavaScript Console

问题: Is there an easy way to include jQuery in the Chrome JavaScript console for sites that do not use it? 对于不使用jQuery的网站,是否有简便的方法将jQuery包含在Chrome JavaSc......

富含淀粉
57分钟前
11
0
内容发布系统开发

内容发布系统,使用PHP开发的特多,而java开发的极少,精品更是少之又少。由于cms内容发布系统,占用资源少,开发周期短。所以java开发内容系统存在几大劣势:比较笨重,占用服务器资源多(购...

Dr_啵
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部