赞
踩
IP协议是网络层的主要协议,为上层传输层提供无连接、无状态、不可靠的服务。优点是简单高效。无状态是指各个IP报文是独立传送的,不同步传输状态的信息,所以容易发生重复和乱序的情况。不可靠是指IP协议不能保证数据报一定能被送达,可靠性主要是通过传输层的TCP协议来保证的。
TCP协议是面向连接的协议,是工作在传输层的协议。TCP协议通过三次握手、四次挥手、流量控制、拥塞控制、超时重传、确认报文等机制来保证可靠性。
本文来简单介绍下IP头部和TCP头部的一些重要字段。
1、IP头部
IP头部通常有20字节,加上选项的话,最多不超过60字节。IP数据最大为65535字节。下面来进行逐一分析:
4位版本:指IP协议版本号,是IPV4还是IPV6
4位首部长度:指IP头部的长度,以4字节为单位,最大值为(1111)b × 4 = 60字节
8位服务类型:包含一个4位优先权字段:最小延时,最大吞吐量,最高可靠性和最小费用。(暂时不清楚具体通途,待补充)
16位总长度:表示整个IP数据报的长度,最大为65535,但是由于有MTU的限制,一般达不到这个数值
16位标识:数据报的标识,系统采用边发送边赋值的方式
3位标志:分别为保留区,禁止分片标志,和更多分片标志。DF位设置时表示禁止分区,如果数据报文过大,可能会发送失败。
MF位表示后面还有报文段,如果报文分片的话,除了最后一个分片,其他的报文片都置1
13位片偏移:分片相对于原始报文片开始的偏移
8位生存时间:表示报文到达目的之前,允许经过的路由跳数,没经过1跳,TTL值减一,值减到0的时候,丢弃
8位协议:用来区分上层协议(例如TCP,UDP等)
16位首部校验和:以CRC算法校验数据在传输过程中头部是否损坏
32位源IP地址:发送端的IP地址
32位目的IP地址:目的IP地址
注:
16位标识其实在标识了一个IP报文,如果一个报文被分片了,则该报文的所有分片的头部中16位标识都被填充为某个值
2、TCP头部
同IP头部类似,TCP头部通常也为20字节,带上选项部分,最大不超过60字节,下面逐一进行解释。
16位源端口号:指发送端的端口号
16位目的端口号:指目的端的端口号
4位头部长度:同IP头部,表示TCP头部的大小,以4字节为单位。
32位序列号:TCP通信过程中,通过序列号来保证传输过程中数据的有序性
32位确认号:用以对接受到的报文进行确认
保留6位
URG:表示紧急指针
ACK:表示确认号
PSH:通知对端立即从缓冲区取走数据
SYN:表示请求建立连接
FIN:标志要通知对端本端的数据发送要关闭
16位窗口大小:TCP流量控制的手段,告诉发送方本端的接收端缓冲区还能接受多少数据
16位校验和:由发送方填充,接收端用CRC校验算法,用以检查TCP报文在传输过程中是否有损坏
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。