您的大部分困惑似乎与您的其他重复问题有关,与上面的 3. 相同...:
预先添加通常与路由映射一起运行的 AS 路径,以调整来自包含此选项的路由器的出站流量
对不起,你弄错了;将您的 ASN 放在前面会调整到您的 ASN 的入站流量。
prepend 是否与路由映射一起工作来调整入站流量?
是的,确实如此,但预先设置入站 bgp 路由会影响来自 BGP 路由器的出站流量。这是 BGP 策略中的一个示例,用于在 eBGP 邻居的接收 AS 路径中添加 5 个以上的 last-as...
!
route-map FOO_in permit 10
set as-path prepend last-as 5
!
让我们澄清一些事情......
neighbor x.x.x.x route-map FOO_out out
调整到您的 ASN 的入站流量。
neighbor x.x.x.x route-map FOO_in in
调整从您的 ASN出站的流量;使用本地偏好或其他一些标准来影响您的出站流量。
示例配置:
ip prefix-list MATCH_ALL permit 0.0.0.0/0
!
route-map AS100_out
match ip address prefix-list MATCH_ALL
! --> Prepend so other ASN don't prefer this path
! NOTE: don't do this... 20 prepends is absurd in the real world.
! Five or ten ASN prepends should be sufficient
set ip as-path prepend 65001 65001 65001 65001 65001 65001 65001 65001 65001 65001 65001 65001 65001 65001 65001 65001 65001 65001 65001 65001
!
route-map AS100_in
match ip address prefix-list MATCH_ALL
! --> Set local-pref lower than 100, so we don't prefer this peer
set local-preference 50
!
router bgp 777
! insert other "normal" bgp configuration here, network statement, etc..
!
neighbor 192.0.2.2 remote-as 100
! --> AS100_out adjusts *inbound* traffic
neighbor 192.0.2.2 route-map AS100_out out
! --> AS100_in adjusts *outbound* traffic
neighbor 192.0.2.2 route-map AS100_in in
注意:前置是骗人的;如果您在公告中预先设置了大量 ASN,则似乎没有人应该选择一条路径,但即使您这样做了,也不能保证下游路由器不会通过该预先设置的路径向您发送流量。现实情况是,互联网路由仍然是每跳/每 ASN 的决定,您仍然在某种程度上受制于其他人。请参阅下面的示例。
AS-prepend 流量工程的问题
严格来说,当您向多个提供商宣布您的前缀时,您会失去对入站路由路径的完全控制,因为下游会为返回流量做出独立的路由决策。此外,您的公告甚至可以在您发送后被下游提供商修改。
例子
这是可能发生的事情的一个例子。继续上面显示的示例配置...
- 假设您有 AS 777;您从 AS 100 获得了一个可移植地址块 (2.2.0.0/22)。
- 您是 AS 100 和 AS 200 双归属地
- 您拥有拥有路由器 A 的公司需要访问的服务。
- 假设 AS 100 与您没有良好的链接(可能由于您无法修复的物理层问题,它间歇性地破坏了流量)。因此,您对自己想,“我将在 AS100 之前添加大量 ASN 的所有公告,因此在我解决此问题之前,没有人会更喜欢 AS100 链接”。
问题是您只能完全控制出站路由决策。您无法完全控制入站...所以假设路由器 A 的管理员不知道您与 AS100 的链接是坏的。它们双宿主到 AS200 和 AS100,但 AS100 提供更便宜的传输,每 Mbps;所以Router A的工程师从AS100取全路由,只用AS200做备份(只取默认)。
AS 100 的工程团队决定为您发布的 2.2.2.0/22 公告设置高本地优先级。因此,路由器 A 上的完整路由和 AS 100 的本地首选项的组合意味着您已经失去了对通过 AS 100 到 AS 777 的入口流量的控制。
总而言之,作为 AS 777 的管理员,您可以强制 AS 777 的出口流量通过 AS 200 到达路由器 A,但从路由器 A 到 2.2.0.0/22 的流量仍将采用 AS 100(因为最佳路由是通过 AS 100,在路由器 A)。