思科BGP 地址簇介绍
BGP具有多协议能力:在一个会话中,它能够携带各种路由协议的信息(IPv4单播Unicast、IPv4组播Multicast、IPv6单播、IPv6组播、VPNv4、CLNP),用BGP的话说就是"address families"。然而,由于BGP是一个真正的多协议路由协议(multiprotocol routing protocol),你需要一些方法来告诉BGP哪些 "address families" 应该与一个特定的邻居交换。我们习惯了这样一个事实:如果我们定义一个IPv4邻居,我们就计划与这个邻居交换IPv4路由——但为什么这实际上应该成为一个规则呢?为什么仅仅因为邻居的地址来自于某个特定的family,我们就对 "address family"做出草率的假设呢?这就是不同 "address-family" commands命令背后的要点。在一个特定的 "address family" 下定义一个邻居意味着我们想要与这个邻居交换来自这个特定 "address family" 的路由。没有将邻居列在特定的 "address family" 下意味着我们不打算与该邻居交换来自该 "address family" 的信息。
"address-family ipv4" 命令声明了我们想与之交换普通“ipv4单播”路由的邻居。这可能令人惊讶,因为要与一个邻居交换IPv4路由,只需要简单地定义这个邻居的地址就足够了。事实上,为了向后兼容不支持多协议的旧BGP版本,BGP隐式地将所有定义的邻居分配给一个不可见的“地址族ipv4”节。换句话说,一旦你定义了一个邻居,它就会自动被添加到一个不可见的“address-family ipv4”部分,这样你就不必手动操作了。
你可以改变它。首先,如果你进入BGP配置并发出命令"bgp upgrade-cli" ,你会发现BGP配置已经完全转换为地址族风格的配置。在任何“地址族”节之外,只有基本的邻居设置被配置,比如它们的地址、AS号、更新源。但是,所有剩余的“per-address-family”命令将自动移动到“address-family”节中。这种新的配置方式不会改变BGP的行为或操作,只是改变了配置格式。
此外,如果在bgp配置中输入"no bgp default ipv4-unicast" 命令,将阻止bgp将每个新定义的邻居自动分配到"address-family ipv4" 区域。然后,你将被要求自动添加每个定义的邻居到每个预期的地址族-它将不再为你自动完成。
所以总结一下address-family ipv4"实际上在BGP配置中是一个无所不在的部分,但为了向后兼容的目的,默认情况下它是不可见的。但是,可以将配置转换为"strict per-address-family" 配置。建议所有新部署都采用这种配置。
一个例子:
router bgp 60001
bgp log-neighbor-changes
neighbor 100.100.100.100 remote-as 7018
neighbor 100.100.100.100 local-as 22222
neighbor 150.100.12.2 remote-as 109
!
address-family ipv4
neighbor 100.100.100.100 activate
neighbor 150.100.12.2 activate
neighbor 150.100.12.2 route-map TASK out
no auto-summary
no synchronization
network 92.1.80.0 mask 255.255.255.0
network 92.1.81.0 mask 255.255.255.0
network 92.1.82.0 mask 255.255.255.0
thank all your sharing! 感謝分享觀念~~{:6_299:} 謝謝分享
页:
[1]