解读TCP/UDP数据包(一):IP数据包结构

解读TCP/UDP数据包(一):IP数据包结构

1、图
IP数据包由首部和数据组成
每行4个字节(32位)
其中首部最少20个字节(5行),选项部分是可选的;【待补充选项长度】
11
2、首部固定部分
1、  第一行:IP版本号4位,首部长度4位,服务类型8位,总长度16位
IP版本号:
        IPv4固定值为4
首部长度:
        指明首部共有多少行(每行4个字节,32位),则IP首部的最大长度为(2^4-1)*4=60字节;
服务类型:
        前三个BIT:优先权,现已忽略;
        4 bit的TOS分别代表:最小时延、最大吞吐量、最高可靠性和最小费用,均为0表示一般服务;最后1BIT未用;
总长度:
        包括IP首部在内的以字节为单位的IP数据报总长度;
2、  第二行:标识16位,标志3位,片偏移13位
标识:
        包唯一标识,用于分片和重组【补充分片重组信息】
标志位:
        第一位为零,第二位DF位(不要分片),第三位MF位(还有分片)
片偏移:
        用于分片和重组
3、  第三行:生存时间8位,协议8位,首部校验和16位
生存时间:
        TTL(每转发一次路由减一,最大为255跳);
协议:
        0x11为UDP,0x6为TCP【补充常用协议值】
首部校验和:
        16位的首部(包括选项)校验和(简单的16位反码加法)【补充具体算法】
4、  第四、五行:源IP地址32位(网络序),目的IP地址32位
3、首部选项部分
【待补充】
4、数据
IP首部结束之后的部分
声明: 本文出自《中国蓝客联盟官方团队博客》,转载请注明版权!

转载请注明: 本文转载自中国蓝客联盟官方团队博客
本文链接地址: 解读TCP/UDP数据包(一):IP数据包结构

发表评论

电子邮件地址不会被公开。 必填项已用*标注

人类验证码: 如果无法查看图片请刷页面