BGP为什么全网状连接下就可以关闭同步

先说2个概念:

 

1.什么是IBGP? IBGP的本质是BGP,所以它牵涉的路由表必然是BGP的路由表,一个AS中哪些路由器可以看作是IBGP路由器,取决于你定义了哪些路由器之间的BGP对等体关系,如果你没定义,那么即使是在一个BGP的AS中,那它也不过是一个普通的IGP路由器。

 

2.什么是全网状互联?这是一个IBGP的概念,即你把一个AS里的所有路由器都定义了彼此的对等关系,即它们是平等的,它们都运行了BGP协议。全网状未必是真的物理上的全互联,只要通过TCP可以到达对等体则可 ,所以是一个逻辑概念的。

 

再说两个规定:

 

这两个规定均是BGP的本身的规定。

 

1.在全网状结构下,一个IBGP路由器(不是AS边缘路由器,即没有和外部AS相连的路由器)不能将自己学习到的路由再发送给其他的IBGP对等体。这是一个规定,一个不可更改的规定。在全网状结构下,任何一个IBGP路由器都可以从边缘路由器那里学习到外部AS的BGP路由。此时IGP路由的作用只是为了构建IBGP全互联关系而已。

 

2.同步,同步是BGP路由向IGP路由的同步,为了让IGP里出现BGP的路由。同步开启的情况下,运行了BGP的路由器在得到一条BGP路由条目后,是否将将该路由装入BGP路由表中,取决于BGP与IGP是否同步了,即必须IGP路由表也要知道通过IGP路由协议是否能到达那个目的地;只有IGP也知道,才会装入。同步是为了防止路由黑洞。

 

从上可以看出:

 

全网状下,一个AS里的所有路由器均通过IBGP知道了如何到达目的地,此时如果不关闭同步的话则必须将BGP重发布到IGP中,而在实际环境下,将所有的BGP路由发布到IGP中不是一个好办法,它很可能导致一个路由器崩溃。所以一般在全互联情况下我们可以安全关闭同步。

 

如果不是全互联结构,则必须将BGP发布到IGP中以实现同步。
 

你可能感兴趣的:(unix高级环境编程,路由器)