打印本文 关闭窗口 | |
BGP路由协议中同步问题浅析 | |
作者:佚名 文章来源:不详 点击数1542 更新时间:2007-5-18 3:18:23 文章录入:啊祖 责任编辑:啊祖 | |
|
|
BGP协议规定:一个运行BGP协议的路由器不会把从内部对等体(IBGP邻居)得知的路由信息通告给外部对等体(EBGP邻居),除非该路由信息也能通过IGP得知。若BGP路由器能通过IGP得知该路由信息,则可认为路由能在AS之间传播,内部通达已有保证。 首先,RTB通过EBGP邻居关系,获得了去往AS100的路由信息,例如,去往AS100中的10.1.1.1/24,RTB会把这样的路由信息通告给RTE,RTE收到从RTB通告来的去往自治系统AS100的路由信息10.1.1.1/24。对于RTE来说,她在考虑是否把这样的路由信息通告给她的EBGP邻居RTF时,就需要考虑同步问题。这里的同步是指:RTE如果能通过IGP(内部网关协议,如OSPF协议)获得去往10.1.1.1/24的路由,我们就认为EGP(外部网关协议,如BGP协议)和IGP同步。在同步情况下,RTE可以将路由信息10.1.1.1/24通告给RTF。否则,不能通告。 依然用上面的例子来解释,如果RTE不考虑同步问题,直接将路由信息10.1.1.1/24 通告给RTF,那么RTF的路由表中就会记录一条去往10.1.1.1/24的路由信息,下一跳是指向RTE的。这样问题就会出现:RTF有一去往10.1.1.1/24的数据包,RTF通过查看路由表,把这一数据包转发给RTE。如果没有同步,RTE的路由表中也会有去往10.1.1.1/24的表项,但是这一表项的下一跳是直接指向RTA的S0接口的(这里的原因参见BGP的下一跳属性)。在不同步的情况下,RTE是无法直接去往此路由的下一跳的(因为路径中途的路由器RTD、RTC都没有去往10.1.1.1/24的路由)。这里有个概念叫下一跳不可达,就是指这种情况。 |
|
打印本文 关闭窗口 |