组将被删除 。
6转发算法
这一部分讲述多播转发算法和必须为这个算法保存的状态 。
转发算法用于确定到达一个物理接口或隧道的多播数据报应假如被处理 。假如多播数据
报是被沉没的 , 则在一个虚拟接口上接收到的数据报应该从所有其它的虚拟接口上转发出
去 。因为在互联网上的冗余路径 , 所有数据报应该被复制 。路由算法提供的孩子和叶子信息
用于修剪到所有可能的目的地的树的分支 。
在路由实体中 , 每个虚拟接口都有一个占支配性的路由器地址 。这个地址是在那个虚拟
接口上 , 具有到目的地较低度量的路由(它的度量不等于无穷大)的路由器的地址 。这个占
支配性的路由器地址不是为下一跳的虚拟接口预备的 。
在路由器实体中 , 每个虚拟接口中还有一个从属路由器地址 。这个地址是认为自己是这
个虚拟网络的父亲的路由器的地址 。因此 , 从属路由器地址不是为到一个叶子网络的虚拟接
口预备的 。
治理在路由实体中孩子和叶子的算法如下:
当路由器启动时:
为每个虚拟接口生成一个路由实体 , 它带有:
—在它的孩子列表中所有其它的虚拟接口 ,
—一个空的叶子列表 ,
—没有占支配性的路由器地址 ,
—没有从属路由器地址 。
为每个虚拟接口开始一个保持定时器 , 值为LEAF_TIMEOUT 。
当接收到一个新的路由:
生成这个路由实体 , 它带有:
—在它的孩子列表中 , 包含除了接收到新路由的虚拟接口以外的所有虚拟接口 ,
—空叶子列表 ,
—没有占支配性的路由器地址 ,
—没有从属路由器地址 。
为除了接收到新路由的那个虚拟接口以外的所有虚拟接口开始保持定时器 , 值为
LEAF_TIMEOUT 。
当在一个虚拟接口V上接收到一个邻居N送来的路由 , 它有一个比在路由表中那一个
低的度量(或相同的度量 , 假如N的地址小于V的地址) , 对于这条路由:
IfN是V的占支配性的路由器 , 不让N再当占支配性的路由器 , 并且在孩子列表中
加入V 。
当在虚拟接口V上接收到邻居N送来的路由 , 它的度量等于无穷大(分裂水平标志应
该被被设置) , 对这条路由:
IfV在叶子列表中 , 从叶子列表删除V 。
IfV没有占支配性的路由器 , 把N记录为占支配性的路由器 。
当在虚拟接口V上接收到一个邻居N送来的路由 , 它的度量不同于无穷大(没有分裂
水平标志) , 对这条路由:
IfN是V的占支配性的路由器 , 不让N再当占支配性的路由器 , 并且为V开始保持
定时器 。
当一个虚拟接口V的定时器超时 , 对每条路由:
IfV没有占支配性的路由器 , 在叶子列表中加入V 。
当虚拟接口V的邻居N失败 , 对每一条路由:
IfN是V的占支配性的路由器 , 不让N再当占支配性的路由器 , 并为V开始保持定
时器 。
转发算法是:
IFIP的TTL字段小于2:
THENCONTINUE下一个数据报 。
寻找到IP数据报的源端的路由 。
IF没有路由存在:
THENCONTINUE下一个数据报 。
IF没有为这个路由在下一跳虚拟接口上收到数据报
THENCONTINUE下一个数据报 。
IF数据报被隧道化:
THEN用在IP松散源路由中的第一个地址代替数据报的源地址 。
用在IP松散源路由中的第二个地址代替数据报的目的地址 。
删除数据报的松散源路由和空(null)选项 , 并相应调整IP头部的长度字段 。
IF数据报的目的地址是组224.0.0.0或组224.0.0.1:
推荐阅读
- 三星note10+电池容量多大
- vivoy91的电池容量多大
- 如何评价榊游矢
- ai设计眼球扫描矢量图标具体操作方法
- 酒精量多少属于酒驾
- 荣耀9x电池容量多大
- 努比亚z20电池容量多大
- 高梁米含糖量多少
- 使用ai设计出矢量电线塔图标具体操作方法
- 矢志的读音 矢志怎么读