Transit-FIB

来源:互联网 发布:程序员电脑壁纸 编辑:程序博客网 时间:2024/06/08 14:07

1.       MAC MOVE

SMAC 相同的报文从VPN 不同PORT 进来,如果一定周期内重复次数过于频繁,就认为产生了MAC MOVE ,也就是VSI ID+Session ID+SMAC 表中的Result 结果中出口信息不停的变化,要采取相应措施

2.        静态 Unicast Multicast

 

mc 

static_fib

3.       FIB Quota

VSIINTERFACE 表:

KEY VSIID+VSI Interface

RESULT Quota 数目,BSC 抑制,FIB 最后一次FLUSHSession ,动态MAC Counter 的寄存器号(永远储存学习到的FIB 数目)

FIB 表:

KEY VSI ID+Session ID+SMAC

RESULT PORT ,出口VSIINTERFACE (组播的时候=GROUPID ),Static

 

VSIINTERFACE 表是查FIB 表之前确定KEY 的必查表,FIB quota 数目是最后一次FLUSHVSI ID+Session ID 的值为索引,最多FIB 条目数,也就是说VSI ID+Session ID+SMAC 最多有Quota 的数目

4.        FIB BSC

对于所有的广播和未知单播报文在广播时需要对其转发速率进行限制

5.       FIB 查表流程

FIB 表的KEYSession0-0xF 来循环的,最后一次FLUSHSession 为最终FIB

组播时候是通过GROUPID 找到PORTNUM 表和PORTLIST 表找到PORTVSI Interface

广播报文---- 根据DMAC 判断是广播,走PORTNUM 表和PORTLIST 表,找到出口信息

UNKOWN 单播---- 根据DMACFIB ,命中SMAC ,找到出口信息

UNKOWN 单播---- 根据DMACFIB 表,无法命中,直接广播

如果没有配置静态组播---- 那么组播报文发生的端口和广播报文发生的端口相同

如果配置静态组播---- 根据DMACFIB 表,组播根据SMAC 获得GROUPID,查PORTNUM表+PORTLIST表,得到出口信息

6.       FIB FLUSH

FLUSH 就是强制老化,首先VSIINTERFACE 表中的MAC Counter 的寄存器和Session 更换为新的,不管是静态还是动态MAC ,同一个VPNSession 是一样的

也就是说FLUSH 的过程是静态(自动加1)和动态FIB 表(如果FLUSH 过后马上又学到的话)的Session 值都要+1(如果没学到得当然不会+1) , 之前Session 的表现不关心,老化时间到了后NP 会清除的

7.       FIB Aging Time

老化时间到了后,首先VSIINTERFACE 表中的MAC Counter 的寄存器和Session 更换为新的,不管静态还是动态MACMAC Counter 的寄存器中是学习到数目,减去老化的数目(一个VPN 专门分配MAC Counter 的寄存器记录老化掉的数目),就是剩下的FIB 数目,也就是FIB Counter

8.       MAC LEARNING

VSIINTERFACE RESULTMAC 学习的使能标识,报文查VSIINTERFACE 表后,根据此标识决定学习

学习到MAC 后,FIB 表增加一项,并将MAC Counter 的寄存器+1

9.       FIB  Aging&FLUSH实例

存在这种情况,VPN 两个入口报文(DA+SA 双向)一直在发,FIB 学习到了后就一直在命中FIB 表,FLUSH 两次后的现象是

Key[ VsiID VsiSesn MAC

0    46      A    210100000000

1    46      B    210100000000

2    46      C    210100000000

VSIINTERFACE 表中Session 值改为了C ,为什么ABFIB 表还在呢?因为他们已经不需要关心了,C 存在的原因是最新学习到的

如果这个时候入口报文停止发,不命中了,再FLUSH

Key[ VsiID VsiSesn MAC

0    46      A    210100000000

1    46      B    210100000000

2    46      C    210100000000

VSIINTERFACE 表中Session 值改为了DABC 表等到老化时间到了后NP 会清除的

 

10.       FIB LEARNING 实例

  --------

|        |

|        |P1<-0x00000000000A 0x00000000000B(learn B,direct to down port)

|        |

|        |P2<-0x00000000000B 0x00000000000A

|        |

|        |P3<-0x00000000000B 0x00000000000A

|        |

 --------

P1和P2对发

0x0B P1

0x0A P2


P2 down 

0x0B P1

0x0A P2

P2 发0x00000000000B 0x00000000000C

0x0B P1

0x0A P2

0x0C P2

0x0A FIB不马上更新(数据依然知道从P2出),等到老化时间到了FLUSH以下,就为空了

( 

MSTP&ERPS PORT down会flush FIB,担心FIB表还在 


P2 down

P3 发0x00000000000B 0x00000000000A

0x0B P1

0x0A P3

0x0A FIB马上更新了,知道从P3出了

 

原创粉丝点击