第4章 IP协议
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
百度文库
服务类型
TOS 协议 D、T、R、C Normal C
0000 ICMP、BOOTP、DNS(TCP) 0001 NNTP
0010
0100 1000
IGP、SNMP
FTP(数据)、SMTP (数据) Telnet、FTP(控制)、TFTP
R
T D
• 随着因特网应用的迅速发展,多媒体数据传输和实
时应用对TCP/IP的服务类型提出了更高的要求,为 此,因特网工程任务组IETF将IP数据报的服务类型 字段改成了区分业务字段。区分业务字段仍然是8位, 最后两位保留未用,前面6位为“码点” 。6位码点 可以提供64种不同的编码,对应不同的业务。
5.1 IP数据报格式
5.2 无连接数据报传输 5.3 IP数据报选项
5.4 IP模块的结构
5.1 IP数据报格式
• IP协议所处理的数据单元称为IP数据报。
0 版 本 4 首部 长度 标 20 字节 生存时间(TTL) 8 服务类型(TOS) 识 协 议 源 IP 地 址 目 的 IP 地 址 IP 选 项 (可 选、变 长) 数 据 标志 16 19 数 据 报 总 长 度 片 偏 移 首 部 校 验 和 首部 31
图 5-8 IP 数据报标志字段
• 一个例子
4 5 0 1620 29571 0 0 0 17 192.168.20.86 192.168.21.20 数据(0-1599)
第一次分片
4
5 0 1420 29571 0 1 0 17 192.168.20.86 192.168.21.20 数据(0-1399)
端的协议,进行端到端的校验比进行点到点的校验 开销小得多,在通信线路较好的情况下尤其如此。 另外,上层协议可以根据对于数据可靠性的要求, 选择进行校验或不进行校验,甚至可以考虑采用不 同的校验方法,这给系统带来很大的灵活性。 IP协议对IP数据报首部进行校验。原因: – IP首部属于IP层协议的内容,不可能由上层协 议处理。 – IP首部中的部分字段在点到点的传递过程中是 不断变化的,只能在每个中间点重新形成校验 数据,在相邻点之间完成校验。
• 将经过计算得到的首部校验和填回到数据报
的首部校验和字段,封装成帧后发给通往信 宿的下一跳设备。 • 校验:下一跳设备作为接收方将收到的IP数 据报的首部再分为多个16比特的小数据块, 用1的补码算法对16位小数据块进行求和,最 后再对结果求补,若得到的结果为0,就验证 了数据报首部的正确性。
• 发送方用1的补码计算和数时,首部校验和字段被设 •
校验并形成新校验和 校验并形成新校验和 校验并形成新校验和
图 5-4 IP 层对 IP 数据报首部进行点到点校验,传输层对数据进行端到端校验
• 计算首部校验和:
– 发送方将IP数据报的首部按顺序分为多个16比特 的小数据块 – 首部校验和字段的初始值被设置为0 – 用1的补码算法对16比特小数据块进行求和 – 最后再对结果求补
• 例子:本例中没有IP选项,所以首部长度为5,数据总长度
为128字节,数据报的标识为1,未分片,TTL值为4,封装的 是TCP协议数据,源地址和目的地址分别为:192.168.20.86 和192.168.21.20。 计算中要注意加上进位。生成的校验和为3005。
加入校验和前的数据报首部 版本、首部长度、 4 5 0 服务类型 数据报总长度 128 标识 标志、片偏移 TTL、协议 首部校验和 源 IP 地址 目的 IP 地址 192 20 192 21 0 4 0 168 86 168 20 加进位 和数 求补得校验和 图 5-6 1 0 6 计算校验和 01000101 00000000 00000000 10000000 00000000 00000001 00000000 00000000 00000100 00000110 00000000 00000000 11000000 10101000 00010100 01010110 11000000 10101000 00010101 00010100 11110100 01000001 1 11110100 01000010 00001011 10111101 3005 192 20 192 21 0 4 3005 168 86 168 20 加入校验和后的数据报首部 4 5 128 1 0 6 0
置为0,等于没有参加计算,求补后的校验和与和数 各位正好相反。 接收方用1的补码计算和数时,新的首部校验和字段 已经被加入,正确情况下所得的和数应该为0xffff, 因此,求补后的结果应该为0x0000。
发送方 第1块 IP 数据报 首部 第2块 „ 校验和 0x0000 „ 第n块 和数 求补 校验和 图 5-5 校验和的生成与校验 第1块 第2块 校验和 第n块 „ „ 第n块 和数 求补 校验和 0x0000 传输 接收方 第1块 第2块 „ 校验和 „
接收方进行 IP 数据报首部校验
5.2.2 数据分片与重组
• IP数据报在从信源到信宿的传输过程中要穿过
多个不同的网络。由于各种物理网络存在着差 异,对帧的最大长度有不同的规定,因此,各 个物理网络的最大传输单元MTU可能不同。 物理网络的MTU是由硬件决定的。 • 通常,网络的速度越高,MTU也就越大。 • TCP/IP协议的封装:
1 码 点(Code point) 与原服务类型兼容 IETF 指定 本地机构指定 用于临时使用或实验目的 优 先 级 X X X X X X X X X 0 X X X 0 X 1 0 0 0 1 1 6 保 留 保 留 保 留 保 留 保 留
图 5-3
IP 数据报的区分业务字段
(4)数据报总长度指示整个IP数据报的长度。 数据长度=数据报总长度-首部长度×4 (5)标识(16位)由信源机赋给IP数据报,每个IP数据 报有一个本地惟一的标识符。数据报的标识由信源 机产生,每次自动加1后分配给要发送的数据报。 (6)标志(3位)用于表示该IP数据报是否允许分片和是 否是最后的一片。 (7)片偏移(13位)表示本片数据在它所属的原始数据 报数据区中的偏移量(以8字节为单位)。 (8)生存时间TTL(8位)控制IP数据报在网络中的传输 时间。 (9)协议(8位)指明被IP数据报封装的协议。(P83)
返回
5.2 无连接数据报传输
IP数据报传输是IP层要解决的重要问题之一, 是影响数据传输效率的一个重要因素。 IP数据报在经过路由器进行转发时一般要进行 三个方面的处理: – 首部校验 – 路由选择 – 数据分片 这一节将讨论通常首部校验和数据分片问题。
5.2.1 首部校验
• IP层不对数据进行校验。原因:上层传输层是端到
图 5-9 IP 数据报分片示例
• 该例子中数据报首部长度为20个字节,数据区长度
为1600个字节,进入MTU为1420字节的物理网络时 进行第一次分片。第一次分片后,形成一个1400字 节的分片和一个200字节的分片。第一片的片偏移为 0(0/8),片未完标志为1;第二片的片偏移为175 (1400/8),片未完标志为0,表示该片是数据报的 最后一片。当第一个分片进入MTU为820字节的物理 网络时再次进行分片。第二次分片后,又形成了一 个800字节的分片和一个600字节的分片。前者的片 偏移为0(0/8),片未完标志为1;后者的片偏移为 100(800/8),片未完标志也为1。 分片必须满足两个条件: • 各片尽可能大,但必须能为帧所封装, • 片中数据的大小必须为8字节的整数倍,否则IP无法 表达其偏移量。
4
5 0 220 29571 0 0 175 17 192.168.20.86 192.168.21.20 数据(1400-1599)
第二次分片
4
5 0 820 29571 0 1 17 192.168.20.86 192.168.21.20 数据(0-799)
4 0
5 0 620 29571 0 1 100 17 192.168.20.86 192.168.21.20 数据(800-1399)
第5章 IP协议
因特网的核心协议是IP和TCP两大协议。 作用:IP协议是TCP/IP协议簇中的核心协议,提供数 据传输的最基本服务,是实现网络互联的基本协议。 位置:IP协议位于网络层,位于同一层次的协议还有 下面的ARP和RARP以及上面的因特网控制报文协议 ICMP和因特网组管理协议IGMP。 (P44) 关系:ARP和RARP报文不被封装在IP数据报中,而 ICMP和IGMP的数据则要封装在IP数据报中进行传输。 由于IP协议在网络层中具有重要的地位,人们又将 TCP/IP协议的网络层称为IP层。 IP是不可靠的无连接数据报协议,提供尽力而为的传 输服务。
– 将数据报以从信源到信宿路径上的最小MTU进行 封装(IPv6) – 将数据报先以信源网络的MTU进行封装,在传输 过程中再根据需要对数据报进行动态分片(IPv4)
1.数据报分片 • 当数据报被分片时,每个分片都会得到一个
首部。分片首部的大部分内容和原数据报相 同,如IP地址、版本号、协议和数据报标识 等,所不同的是标志字段、数据报总长度和 片偏移。分片既可以带也可以不带原数据报 的选项. • 在IP数据报中与分片相关的字段是标识字段、 标志字段和片偏移字段。 1)数据报标识是分片所属数据报的关键信息, 是分片重组的依据。
(10)首部校验和(16位)用于保证首部数据的完 整性。 (11)源地址表示本IP数据报的最初发送者的 IP地址;目的地址一般表示本IP数据报最终接 收者的IP地址。
(12)IP选项用于控制数据在网络中的传输路 径、记录数据报走过的路由器以及获取数据报 所途径经过的路由器的时间戳。
(13)数据字段用于携带上层数据,长度受数 据报总长度限制(≤65535-首部长度×4)。
数据
图 5-1 IP 数据报格式
IP数据报=首部+数据 IP数据报首部分为定长部分和变长部分。 (1)版本(4位)表示数据报的IP协议版本, 版本号规定了数据报的格式。IPv4=4 (2)首部长度(4位)指出数据报首部长度 (32位为单位)。 (3)服务类型(8位)规定对本数据报的处理 方式。服务类型的含义如图1-2所示。
• 正因为IP协议采用了尽力传输的思想,所以
使得IP协议的效率非常高,实现起来也较简 单。
• IP层通过IP地址实现了物理地址的统一;
通过IP数据报实现了物理数据帧的统一。 IP层通过对以上两个方面的统一达到了向上 屏蔽底层差异的目的。
• 重点讨论IP数据报的格式和无连接数据报的
传输机制。
第5章 IP协议
2)标志字段由3位构成,低两位有效,最高位 未用;D位表示是否允许该数据报分片;M 位表示该片是否是分片的最后一片。 3)片偏移字段指出本片数据在原始数据报数 据区中的偏移量。由于各分片独立传输, 其到达信宿机的顺序无法保证,需要片偏 移为重组提供顺序信息。
1:不允许分片 D:不分片 0:允许分片 标志 未用 D M M :片未完 0:最后一片 1:非最后一片
•
生成 IP 数据报首部校验和
• 接收方对同一数据报首部进行校验:求补后得到
的校验和值为0,表明IP数据报首部在传输过程中 没有出现差错。
版本、首部长度、 服务类型 数据报总长度 标识 标志、片偏移 TTL、协议 首部校验和 源 IP 地址 目的 IP 地址 192 20 192 21 0 4 3005 168 86 168 20 加进位 和数 求补得校验和 图 5-7 计算校验和 4 5 128 1 0 6 0 01000101 00000000 00000000 10000000 00000000 00000001 00000000 00000000 00000100 00000110 00001011 10111101 11000000 10101000 00010100 01010110 11000000 10101000 00010101 00010100 11111111 11111110 1 11111111 11111111 00000000 00000000
•
• 两个层次的校验如图所示。
IP数据报的首部通过校验和 (Checksum)来保证其正确性。
传输层进行端到端的数据校验(可选) 信源 网络 IP 层进行点到点 数据报首部校验 形成校验和 路由器 1 网络 IP 层进行点到点 数据报首部校验 路由器 2 „ 信宿 路由器 n 网络 IP 层进行点到点 数据报首部校验 校验
服务类型
TOS 协议 D、T、R、C Normal C
0000 ICMP、BOOTP、DNS(TCP) 0001 NNTP
0010
0100 1000
IGP、SNMP
FTP(数据)、SMTP (数据) Telnet、FTP(控制)、TFTP
R
T D
• 随着因特网应用的迅速发展,多媒体数据传输和实
时应用对TCP/IP的服务类型提出了更高的要求,为 此,因特网工程任务组IETF将IP数据报的服务类型 字段改成了区分业务字段。区分业务字段仍然是8位, 最后两位保留未用,前面6位为“码点” 。6位码点 可以提供64种不同的编码,对应不同的业务。
5.1 IP数据报格式
5.2 无连接数据报传输 5.3 IP数据报选项
5.4 IP模块的结构
5.1 IP数据报格式
• IP协议所处理的数据单元称为IP数据报。
0 版 本 4 首部 长度 标 20 字节 生存时间(TTL) 8 服务类型(TOS) 识 协 议 源 IP 地 址 目 的 IP 地 址 IP 选 项 (可 选、变 长) 数 据 标志 16 19 数 据 报 总 长 度 片 偏 移 首 部 校 验 和 首部 31
图 5-8 IP 数据报标志字段
• 一个例子
4 5 0 1620 29571 0 0 0 17 192.168.20.86 192.168.21.20 数据(0-1599)
第一次分片
4
5 0 1420 29571 0 1 0 17 192.168.20.86 192.168.21.20 数据(0-1399)
端的协议,进行端到端的校验比进行点到点的校验 开销小得多,在通信线路较好的情况下尤其如此。 另外,上层协议可以根据对于数据可靠性的要求, 选择进行校验或不进行校验,甚至可以考虑采用不 同的校验方法,这给系统带来很大的灵活性。 IP协议对IP数据报首部进行校验。原因: – IP首部属于IP层协议的内容,不可能由上层协 议处理。 – IP首部中的部分字段在点到点的传递过程中是 不断变化的,只能在每个中间点重新形成校验 数据,在相邻点之间完成校验。
• 将经过计算得到的首部校验和填回到数据报
的首部校验和字段,封装成帧后发给通往信 宿的下一跳设备。 • 校验:下一跳设备作为接收方将收到的IP数 据报的首部再分为多个16比特的小数据块, 用1的补码算法对16位小数据块进行求和,最 后再对结果求补,若得到的结果为0,就验证 了数据报首部的正确性。
• 发送方用1的补码计算和数时,首部校验和字段被设 •
校验并形成新校验和 校验并形成新校验和 校验并形成新校验和
图 5-4 IP 层对 IP 数据报首部进行点到点校验,传输层对数据进行端到端校验
• 计算首部校验和:
– 发送方将IP数据报的首部按顺序分为多个16比特 的小数据块 – 首部校验和字段的初始值被设置为0 – 用1的补码算法对16比特小数据块进行求和 – 最后再对结果求补
• 例子:本例中没有IP选项,所以首部长度为5,数据总长度
为128字节,数据报的标识为1,未分片,TTL值为4,封装的 是TCP协议数据,源地址和目的地址分别为:192.168.20.86 和192.168.21.20。 计算中要注意加上进位。生成的校验和为3005。
加入校验和前的数据报首部 版本、首部长度、 4 5 0 服务类型 数据报总长度 128 标识 标志、片偏移 TTL、协议 首部校验和 源 IP 地址 目的 IP 地址 192 20 192 21 0 4 0 168 86 168 20 加进位 和数 求补得校验和 图 5-6 1 0 6 计算校验和 01000101 00000000 00000000 10000000 00000000 00000001 00000000 00000000 00000100 00000110 00000000 00000000 11000000 10101000 00010100 01010110 11000000 10101000 00010101 00010100 11110100 01000001 1 11110100 01000010 00001011 10111101 3005 192 20 192 21 0 4 3005 168 86 168 20 加入校验和后的数据报首部 4 5 128 1 0 6 0
置为0,等于没有参加计算,求补后的校验和与和数 各位正好相反。 接收方用1的补码计算和数时,新的首部校验和字段 已经被加入,正确情况下所得的和数应该为0xffff, 因此,求补后的结果应该为0x0000。
发送方 第1块 IP 数据报 首部 第2块 „ 校验和 0x0000 „ 第n块 和数 求补 校验和 图 5-5 校验和的生成与校验 第1块 第2块 校验和 第n块 „ „ 第n块 和数 求补 校验和 0x0000 传输 接收方 第1块 第2块 „ 校验和 „
接收方进行 IP 数据报首部校验
5.2.2 数据分片与重组
• IP数据报在从信源到信宿的传输过程中要穿过
多个不同的网络。由于各种物理网络存在着差 异,对帧的最大长度有不同的规定,因此,各 个物理网络的最大传输单元MTU可能不同。 物理网络的MTU是由硬件决定的。 • 通常,网络的速度越高,MTU也就越大。 • TCP/IP协议的封装:
1 码 点(Code point) 与原服务类型兼容 IETF 指定 本地机构指定 用于临时使用或实验目的 优 先 级 X X X X X X X X X 0 X X X 0 X 1 0 0 0 1 1 6 保 留 保 留 保 留 保 留 保 留
图 5-3
IP 数据报的区分业务字段
(4)数据报总长度指示整个IP数据报的长度。 数据长度=数据报总长度-首部长度×4 (5)标识(16位)由信源机赋给IP数据报,每个IP数据 报有一个本地惟一的标识符。数据报的标识由信源 机产生,每次自动加1后分配给要发送的数据报。 (6)标志(3位)用于表示该IP数据报是否允许分片和是 否是最后的一片。 (7)片偏移(13位)表示本片数据在它所属的原始数据 报数据区中的偏移量(以8字节为单位)。 (8)生存时间TTL(8位)控制IP数据报在网络中的传输 时间。 (9)协议(8位)指明被IP数据报封装的协议。(P83)
返回
5.2 无连接数据报传输
IP数据报传输是IP层要解决的重要问题之一, 是影响数据传输效率的一个重要因素。 IP数据报在经过路由器进行转发时一般要进行 三个方面的处理: – 首部校验 – 路由选择 – 数据分片 这一节将讨论通常首部校验和数据分片问题。
5.2.1 首部校验
• IP层不对数据进行校验。原因:上层传输层是端到
图 5-9 IP 数据报分片示例
• 该例子中数据报首部长度为20个字节,数据区长度
为1600个字节,进入MTU为1420字节的物理网络时 进行第一次分片。第一次分片后,形成一个1400字 节的分片和一个200字节的分片。第一片的片偏移为 0(0/8),片未完标志为1;第二片的片偏移为175 (1400/8),片未完标志为0,表示该片是数据报的 最后一片。当第一个分片进入MTU为820字节的物理 网络时再次进行分片。第二次分片后,又形成了一 个800字节的分片和一个600字节的分片。前者的片 偏移为0(0/8),片未完标志为1;后者的片偏移为 100(800/8),片未完标志也为1。 分片必须满足两个条件: • 各片尽可能大,但必须能为帧所封装, • 片中数据的大小必须为8字节的整数倍,否则IP无法 表达其偏移量。
4
5 0 220 29571 0 0 175 17 192.168.20.86 192.168.21.20 数据(1400-1599)
第二次分片
4
5 0 820 29571 0 1 17 192.168.20.86 192.168.21.20 数据(0-799)
4 0
5 0 620 29571 0 1 100 17 192.168.20.86 192.168.21.20 数据(800-1399)
第5章 IP协议
因特网的核心协议是IP和TCP两大协议。 作用:IP协议是TCP/IP协议簇中的核心协议,提供数 据传输的最基本服务,是实现网络互联的基本协议。 位置:IP协议位于网络层,位于同一层次的协议还有 下面的ARP和RARP以及上面的因特网控制报文协议 ICMP和因特网组管理协议IGMP。 (P44) 关系:ARP和RARP报文不被封装在IP数据报中,而 ICMP和IGMP的数据则要封装在IP数据报中进行传输。 由于IP协议在网络层中具有重要的地位,人们又将 TCP/IP协议的网络层称为IP层。 IP是不可靠的无连接数据报协议,提供尽力而为的传 输服务。
– 将数据报以从信源到信宿路径上的最小MTU进行 封装(IPv6) – 将数据报先以信源网络的MTU进行封装,在传输 过程中再根据需要对数据报进行动态分片(IPv4)
1.数据报分片 • 当数据报被分片时,每个分片都会得到一个
首部。分片首部的大部分内容和原数据报相 同,如IP地址、版本号、协议和数据报标识 等,所不同的是标志字段、数据报总长度和 片偏移。分片既可以带也可以不带原数据报 的选项. • 在IP数据报中与分片相关的字段是标识字段、 标志字段和片偏移字段。 1)数据报标识是分片所属数据报的关键信息, 是分片重组的依据。
(10)首部校验和(16位)用于保证首部数据的完 整性。 (11)源地址表示本IP数据报的最初发送者的 IP地址;目的地址一般表示本IP数据报最终接 收者的IP地址。
(12)IP选项用于控制数据在网络中的传输路 径、记录数据报走过的路由器以及获取数据报 所途径经过的路由器的时间戳。
(13)数据字段用于携带上层数据,长度受数 据报总长度限制(≤65535-首部长度×4)。
数据
图 5-1 IP 数据报格式
IP数据报=首部+数据 IP数据报首部分为定长部分和变长部分。 (1)版本(4位)表示数据报的IP协议版本, 版本号规定了数据报的格式。IPv4=4 (2)首部长度(4位)指出数据报首部长度 (32位为单位)。 (3)服务类型(8位)规定对本数据报的处理 方式。服务类型的含义如图1-2所示。
• 正因为IP协议采用了尽力传输的思想,所以
使得IP协议的效率非常高,实现起来也较简 单。
• IP层通过IP地址实现了物理地址的统一;
通过IP数据报实现了物理数据帧的统一。 IP层通过对以上两个方面的统一达到了向上 屏蔽底层差异的目的。
• 重点讨论IP数据报的格式和无连接数据报的
传输机制。
第5章 IP协议
2)标志字段由3位构成,低两位有效,最高位 未用;D位表示是否允许该数据报分片;M 位表示该片是否是分片的最后一片。 3)片偏移字段指出本片数据在原始数据报数 据区中的偏移量。由于各分片独立传输, 其到达信宿机的顺序无法保证,需要片偏 移为重组提供顺序信息。
1:不允许分片 D:不分片 0:允许分片 标志 未用 D M M :片未完 0:最后一片 1:非最后一片
•
生成 IP 数据报首部校验和
• 接收方对同一数据报首部进行校验:求补后得到
的校验和值为0,表明IP数据报首部在传输过程中 没有出现差错。
版本、首部长度、 服务类型 数据报总长度 标识 标志、片偏移 TTL、协议 首部校验和 源 IP 地址 目的 IP 地址 192 20 192 21 0 4 3005 168 86 168 20 加进位 和数 求补得校验和 图 5-7 计算校验和 4 5 128 1 0 6 0 01000101 00000000 00000000 10000000 00000000 00000001 00000000 00000000 00000100 00000110 00001011 10111101 11000000 10101000 00010100 01010110 11000000 10101000 00010101 00010100 11111111 11111110 1 11111111 11111111 00000000 00000000
•
• 两个层次的校验如图所示。
IP数据报的首部通过校验和 (Checksum)来保证其正确性。
传输层进行端到端的数据校验(可选) 信源 网络 IP 层进行点到点 数据报首部校验 形成校验和 路由器 1 网络 IP 层进行点到点 数据报首部校验 路由器 2 „ 信宿 路由器 n 网络 IP 层进行点到点 数据报首部校验 校验