您当前的位置:首页 > 计算机 > 网络通信

IP、TCP、UDP报文头说明

时间:03-26来源:作者:点击数:

IP报文头(大端字节序)

  • 版本:
    • 通常值为4(IPv4)
  • 首部长度:
    • IP头长度 表明包含多少个32Bit包括可选头(如果有)值为IP头大小除以4如:没有可选头IP头为20字节 则该值为5
  • 服务类型:
    • 前3Bit为优先权字段(现在已经被忽略)
    • 第8Bit保留位
    • 第4Bit:最小延时
    • 第5Bit:最大吞吐量
    • 第6Bit:最高可靠性
    • 第7Bit:最小花费
    • 注:4-7Bit只能开启其中一个 全部为0则表示没有特殊要求的一般服务(大部分主机忽略此字段)
  • 总长度:
    • 整个数据包的大小字节数(包括IP头及后面所有数据)
  • 标识:
    • 用来唯一标识一个主机发送的数据包 通常每发送一次 值加1
  • 标志:
    • 第1Bit:保留位
    • 第2Bit:不使用分段
    • 第3Bit:更多分段
  • 片偏移:
    • 如故标志位有是哦嗯分段 则此值应该是分段到原始数据报开头的偏移位置
  • 生存时间:
    • 设置经过路由器的个数 每经过一个路由器值减去1若为0时数据包被丢弃 通常该值为32 64 128
  • 协议:
    • 指定此IP数据包使用的上层协议类型 如:TCP(6)UDP(17)等
  • 首部校验和:
    • 该值为IP报文头数据中每16Bit的二进制反码求和
  • 来源IP地址:
    • 向目标主机指明接入他的来源IP若有数据回应 目标主机将使用此IP
  • 目标IP地址:
    • 这个就不用解释了 数据包的目的地IP地址
  • 可选字段:
    • 用来定义一些选项 如:时间戳等注:并不是所有主机和路由器都支持这些选项 切若使用该字段则长度必须为32Bit的倍数 不足则填充0

TCP报文头(大端字节序)

  • 来源端口:
    • 向目标主机指明接入他的主机所使用的端口号 用于目标主机回应
  • 目标端口:
    • 指明要连接的目标主机的端口号
  • 顺序号:
    • 数据包编号 表明发送的数据包的顺序 其值通常应该为上次发送包中的顺序号+1若该数据包是整个TCP连接中的第一个包(SYN包)则该值随意(通常随机)
  • 确认号:
    • 通常该值是接受到的顺序号+1若该数据包是整个TCP连接中的第一个数据包(SYN包)则该值随意(通常为0)其后则应该是接受到的数据包中的顺序号+1注:ACK未开启时该值被忽略
  • 首部长度:
    • TCP头长度 表明包好多少个32Bit包括可选头(如果有)值为TCP头大小除以4如:没有可选头TCP头为20字节 则该值为5
  • 标志位:
    • 紧急标志位(URG):开启时表明此数据包处于紧急状态应该优先处理
    • 确认标志位(ACK):开启时表明确认号有效 否则忽略确认号
    • 推送标志位(PSH):开启时表明应该尽快交付给应用进程 而不必等到缓存区填满才推送
    • 复位标志位(RST):开启时表明TCP连接出现连接出现错误 数据包非法拒绝连接
    • 同步标志位(SYN):开启时表明一个连接的请求或者接受报文
    • 终止标志位(FIN):开启时表明释放一个连接
  • 窗口大小:
    • 表示期望接受到的每个数据包字节数
  • 校验和:
    • 该值为TCP报文头括数据部分中每16Bit的二进制反码求和
  • 紧急指针:
    • 若指定该值 他应该是一个偏移量 该值加上顺序号表示紧急数据最后一个字节的顺序号
  • 可选字段:
    • 包含最大载荷与窗口比例等信息注:若使用该字段则长度必须为32Bit的倍数 不足则填充0

UDP报文头(大端字节序)

  • 来源端口:
    • 向目标主机指明接入他的主机所使用的端口号 用于目标主机回应
  • 目标端口:
    • 指明要连接的目标主机的端口号
  • 数据包长度:
    • UDP头和数据总长度字节数
  • 检验和:
    • 该值为UDP报文头括数据部分中每16Bit的二进制反码求和注:UDP检验和不是必须的
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门