- 4
- 0
- 约1.28万字
- 约 9页
- 2017-11-08 发布于浙江
- 举报
下载
第6章 隧 道 技 术
这一章提供了一些有关隧道技术的额外信息,因为隧道在移动 I P 中扮演了一个非常重要
的角色。首先,我们从 I P分片的基本介绍开始,因为将 I P包分片影响了隧道入口处许多封装
方法的使用。然后我们详细介绍移动 I P 中使用的三种隧道技术: I P 的I P 封装( IP in IP
E n c a p s u l a t i o n )、最小封装(Minimal Encapsulation ) 和通用路由封装 GRE (Generic Routing
E n c a p s u l a t i o n ) 。
6.1 IP分片
许多数据链路层以及在它们底层运行的硬件对能传送的最大帧长有限制,这种限制称为
数据链路层M T U (Maximum Transfer Unit ),而且这种限制限制了在一帧中能传送的 I P包的最
大长度。如果 I P 包比传送它的数据链路层的 M T U 要大,在传送前就要将 I P 包分片
(F r a g m e n t a t i o n )。分片就是将一个大I P包分成几个小段——片,以便每一个小片可以装进数
据链路层的M T U 中。
如果两台主机直接连接在具有较大 M T U 的链路上,它们要通过路由器进行通信,但路由
器都是由具有较小 M T U 的链路相连的,这时就要出现分片。在这种情况下,为避免分片的发
生,I P v 4建议( I P v 6则要求)主机查明从源到目的之间路径的 M T U 。所谓路径的M T U就是构成
源到目的之间路径的各段链路的 M T U 的最小值。I P v 4主机可以通过在 [RFC 11 9 1 ]中定义的规
程来查明路径的M T U ,这个过程将在稍后简单介绍。
6.1.1 分片的工作原理
I P包的分片可以由包的源节点或去往目的地的路径上的任一台路由器来完成,分片的机
制和在目的地重新组装数据包的机制是相同的。隧道中的分片是一个特例,隧道分片的重组
在隧道出口处进行,而隧道出口并不是经过隧道封装的数据包的最终目的地。
1. 哪些包进行了分片
无论数据包是由主机产生的还是由路由器转发过来的,对它进行分片的主机都要将包的
大小与节点路由表中注明的下一段链路的 M T U进行比较,如果这个包对链路的 M T U来说太大
了(可从I P 总长度域看出),这个包就要被分片。
I P报头中 D o n ’t Fragment (D F )比特置1的I P包是个特例,节点可能通过将这个比特置位
来阻止 [RFC 1 1 9 1 ]中定义的路径M T U检查规程起作用。如果确实不得不对这些包进行分片,
它们会被丢弃,发送这些包的节点会收到 ICMP Type Destination Unreachable 消息,其中的
C o d e域表明了需要对包进行分片,而包的 D o n ’t Fragment 比特却被置位了。
2. 分片过程
当一个节点发送的数据包必须进行分片时,该节点将执行以下规程(如图 6 - 1所示):
1) 它将包的净荷部分分成尽量大的片,只要每个片(包括 I P报头)可以装入一个数据链
路层帧就可以。片的大小必须是 8字节的整数倍,因为分片后 I P报头中对包的大小就是以 8字
74使用第二部分 移 动 IP
下载
节为单位计数的。但最后一个片的大小不必是 8字节的整数倍,而且它的大小可能和其他片都
不同。
2) 它将原始I P报头加到每一个由净荷分成的片的前面,从而形成一个 I P分片。对每一个
I P分片,该节点必须:
• 保证所有分片的I P标识域是相同的。
• 确定每个分片的I P片偏移域的值,以保证重组时能确定各个分片的顺序。
• 将I P总长度域设成各个I P分片的长度,而不是分片前整个 I P包的长度。
• 将最后一个分片的 IP More Fragment 比特置为 0 ,其他分片,包括第一个分片中这个域
的值则设为1。
对包进行分片的节点为各个分片使用通常的 I P路由规程选择下一跳节点,当分片到达目
的地时,按以下规程对它们进行重组:
• 具
原创力文档

文档评论(0)