网络协议分析-IP

本文最后更新于:几秒前

IP数据报协议

IP特点:

○ 提供了一种无连接的投递机制,从同一源到同一目的的不通数据包可能经过不同的路径。

○ 不保证数据传输的可靠性,数据传输过程中可能会出现乱序,丢失等情况,IP不会将这种情况反馈给发送和接收方,也不会试图去纠正。

○ 提供了最大努力的投递机制。不会随意丢弃数据包,除非底层网络出现故障,或者资源耗尽。

IP 数据报包结构:

20430499-8e7c0a78ebd21c00

版本占4位,目前主要是IPv4 IPv6

首部长度4位 给出了以4字节为单位的IP数据包首部的长度, 如果首部长度为20字节,那么这个字段值为5

服务类型占1字节 优先级字段占3bit 用于指示路由器对数据包处理的优先次序,优先级的值从0(普通优先级)到7(网络控制)。

注:优先级1-4 主要用于受控负载应用、流式多媒体、关键性业务流量,优先级5-6 主要用于对延迟敏感的应用,分别对用交互式的视频和语音。优先级最高的是7,应用于网络管理和关键性网路流量,例如路由表的更新。

○ D(delay) 字段置1 表示低延迟需求,路由器需要尽快处理

○ T(ThoughtPut) 字段置1 表示 高吞吐量需求

○ R(Reliability) 字段置1 表示高可靠性需求

○ C(也有写作M)(Monetary Cost)字段置1 表示低费用需求

标识:16bit 2字节 表示为某一种IP数据包分配一个唯一的数字标识,作用是保证数据被分段后,区别于网络中其他IP数据分段,然后可以被正确的组合。

标志:3bit 第一位一般不用,第二位称为DF(Don’t Fragment)位,如果该位置1,则不对该IP数据包进行分片处理。第三位是MF(More Fragment)位,该位置1 表示该数据报分片后边还有分片。

片偏移:13bit 表示分段数据起始点相对于包头起始点的偏移位置。IP没有规定每个分片的大小,但是规定了分片的尺寸应为8字节的倍数。

注:标识、标志、片偏移共同控制数据报的分片和重组。

生存时间:TTL,8bit TTL最大255,表示当前报文能够在网络上存活的最大时间(指路由器跳数),每经过一个网关或路由器,TTL自动-1,当TTL为0时,路由器会将该报文丢弃。

协议:8 bit 用来标识上层使用的具体协议,通常是传输层或者网络层协议,例如UDP,TCP,ICMP等等。

首部校验和:16 bit 该字段只计算首部的校验和,路由器转发时,首先验证校验和是否一致,让后再计算新的校验和放到该字段中,转发出去。

可选字段:该字段可选,主要用于网络测试和调试。其长度取决于选项类型。但都包含1字节的代码字段。

○ 代码字段包含1bit的拷贝标志,2bit的选项类,5bit的选项号。

○ 拷贝标志用于表示路由器在分片过程中对选项的处理方法。该字段置1 表示选项应该被拷贝到所有分片中,否则只拷贝到第一个分片中。


文章不正确之处,欢迎指出,谢谢


网络协议分析-IP
https://blog.icansudo.top/2020/04/22/网络协议分析-IP/
作者
odin
发布于
2020年4月22日
许可协议