远距离矢量多播选路协议( 五 )


道是过渡性的手段 。
隧道是用弱封装的常规多播数据报来实现的 。弱封装使用一个非凡的两元素IP松散源
路由[5] 。(这种封装形式比“强”封装(预先考虑一个完全新的IP头部)要好 , 因为它不
要求隧道终端知道彼此的最大重装缓冲器大小 。它也有始发者的生存时间值和任何出现的其
它的IP选项的正当的特性所带来的好处 。)
隧道有一个本地终端和远程终端 , 度量和与它相关的阈值 。在隧道每一端的路由器仅需
在本地和远程终端上达成一致就行 。要了解有关隧道是如何配置的信息 , 参看第八部分 。因
为不知道一个隧道终端之间的中间网关的数目 , 所以需要进一步研究来确定合适的度量和阈
值 。
要在隧道上发送数据报 , 会出现如下事件:
—一个空IP选项被插进数据报中 。这为松散源路由IP选项提供了优先选取的对齐方式 。
—一个两元素松散源路由IP选项被插进数据报中 。
—设置源路由指针指向在源路由中的第二个元素 。
—在源路由中的第一个元素被起始主机(起始IP源地址)的地址所替换 。
—在源路由中的第二个元素被起始主机所提供的多播目的地址(起始的IP目的地址)
所替换 。
—IP源地址被路由器的合适的外出物理接口(本地隧道终端)的地址所替换 。
—IP目的地址被远程路由器(远程隧道的终端)的地址所代替 。
—使用非多播路由算法传送数据报到远程路由器 。
中间的非多播网关将为隧道化的数据报选择到远程隧道终端的路由 。因为数据报的IP
源地址已经被本地隧道终端地址所替换 , ICMP出错信息将到达起始多播路由器 。这种特性
是所需的 , 因为发送多播数据报(多播路由器决定将该数据报放进隧道中)的主机并不知道使
用了隧道 。假如当封装这个数据报时 , 数据报的IP源地址没有改变 , 任何ICMP错误被送
到起始主机 。
当远程隧道终端收到隧道化的数据报时 , 发生下列事件:
IP源地址被松散源路由中的第一个元素所替换 。
IP目的地址被松散源路由的第二个元素所替换 。
空选项和松散源路由选项被从数据报中移出 。这种处理是必须的 , 因为主机并不知道它
接收的数据报是从隧道发送来的 。
因为没有特定的网络与一个隧道相联系 , 所以不用为一个隧道跟踪本地组成员 。隧道的
唯一的邻居是一个远程终端 。路由信息通过隧道交换 , 但并不为一个隧道生成一个路由 。路
由信息应该以一个单播数据报发送 , 直接到达远程隧道终端;它们不能用IP松散源路由 。
为隧道使用源路由和记录选项的原因是:
我们考虑定义我们自己的IP选项来处理隧道 , 但我们担心中间网关不能透明的传递它
们不知道的IP选项 。使用新选项的数据报不会穿越因特网 。假如我们能生成一个新的IP选
项 , 这样就比较好 , 但这目前还不能做到 。记住这是一个过渡设计 , 答应我们在当前环境中
进行实验 。
包含LSRR选项的隧道化分组有一下特征:
字段值
—————————————
源地址=源网关地址
目的地址=目的网关地址
LSRR指针=指向LSRR地址2
LSRR地址1=源主机
LSRR地址2=多播目的地址
由于为隧道使用LSRR选项而引起的两个问题是“中间网关能忽略这个选项?”和“目
的网关能恰当的检测出LSRR被用于一个隧道吗?”
当中间网关收到一个数据报 , 它检查目的地址 。对于一个隧道化的数据报 , 目的地址并

推荐阅读