EN
首页 / 新闻资讯 / 行业新闻​ / IP报头、TCP、UDP理解

IP报头、TCP、UDP理解

时间:2020-03-05 07:07 作者:小编 阅读量:0

今天汇总下IP报头TCPUDP的知识,希望可以帮助大家理解IP报头、TCP、UDP。

什么是IP报头?

  IP报头、TCP、UDP理解

1、VER 代表版本这里为V4 大小为4bite

2、IHL IP包的头部长度 大小为4bite

注意:整个IP头部一般为20字节 最大为60字节 (1111)*32=480bite

3、Service Type:服务类型 8bite 前3个比特(COS)表示优先级,TOS 第4个比特表示要求有更低的时延,第5个比特表示要求有更高的吞吐量,第6个比特表示要求更高的可靠性,第7个比特表示选择价格更低廉的路由,最后一个比特未用。

4、Packet Length:16bite 数据包的总长度包括报头长度和数据长度 最大为65536字节。

5、Identification:标示符16bite 用于数据分段,一个数据报在传输过程中可能分成若干段,标识符可以区分某分段属于某报文,一个数据报的所有分段具有相同的标识符。

6、Flag:3bite 它是用来标志数据包是否分段,其中包含DF(do not fragment)和MF(more fragment),当DF的值为1时,则MF的值必为0,DF为1,则说明数据包有分段。同样可以知道当MF为1时,则DF为0,这表示的是数据包没有分段。当然也有可能MF和DF都为0。

7、Frag offset:段偏移 15bite 用于描述此分段在数据包中的位置

TTL:生存时间 8bite TTL最大为255 经过一个路由器减1,减到0时数据包被丢弃

Protocol:协议8bite这个字段指示IP下一步应当把这个数据包发往更高层的协议,如TCP为6,UDP为17。

8、Header Checksum:头部校验和16bite 计算IP 头部的校验和,检查报文头部的完整性

9、Source Address:源地址 32bite Destinaltion Adderss:目标地址 32bite

10、Options:IP可选项 24bite 用于提供一些数据报可选的服务 时间戳、记录路由等

11、Padding:填充项 Options一般为0或者是32bit的倍数 如果不够32bite或者32bite的倍数则由Padding补齐

什么是UDP?

IP报头、TCP、UDP理解

UDP:用户数据报文协议—–传输层标配协议—-非面向连接的不可靠传输协议

内容:16位源端口 16位目标端口

16位的UDP包长度 UDP头部和UDP数据的总长度字节

16位头部校验和 此字段是可选项

仅提供端口号—-0-65535 1-1023注明端口1024-65535动态端口(高端口)

客户端访问服务器时,随机在高端口中分配一个进程号;作为数据包中的源端口—用于区分客户端上的程序进程;使用注明端口来作为目标端口,用于告知所要访问的服务;

什么是TCP

IP报头、TCP、UDP理解

TCP:传输控制协议—-在完成了传输的基本工作(分段、端口)外,还可以保障数据包可靠性

面向连接的可靠传输协议

16位源端口 16位目的端口

32位序列编号 用来解决网络包乱序(reordering)问题。

32位确认序号 ACK 用于确认收到数据包,用来解决不丢包的问题。

4位首部长度 表示该tcp报头有多少个4字节(32个bit)

6位的保留位

6位标志位

URG: 标识紧急指针是否有效

ACK: 标识确认序号是否有效

PSH: 用来提示接收端应用程序立刻将数据从tcp缓冲区读走

RST: 要求重新建立连接. 我们把含有RST标识的报文称为复位报文段

SYN: 请求建立连接. 我们把含有SYN标识的报文称为同步报文段

FIN: 通知对端, 本端即将关闭. 我们把含有FIN标识的报文称为结束报文段

16位窗口大小 用来数据传输时的流量控制避免拥塞

16位校验和 发送端填充, 检验形式有CRC校验等. 如果接收端校验不通过, 则认为数据有问题. 此处的校验和不光包含TCP首部, 也包含TCP数据部分

16位紧急指针: 用来标识哪部分数据是紧急数据

在互联网BGP网络、IDC机房中,我们常常会遇到TCP和UDP的问题,感兴趣的可以一起交流。

DNS原理总结

MPLS VPN有哪些优势

400-028-9798
微信客服