1,BGP 知识点
a)AS 号: 私有 (64512-65535), 公有 (0-64511)
b) 什么时候使用 BGP: 有数据穿越本 AS 前往其他 AS; 本 AS 有多条到其他 AS 的连接; 必须要做策略
c)BGP 路径矢量特征: BGP 自治系统路径是无环路的 BGP 路由器不接受路径列表中包含其自治系统号的路由更新
d)BGP 基于 TCP(Port179),TCP 是单播, 使用滑动窗口确认, 无需逐个确认后发更新分组, 比 OSPF,EIGRP 效率高 (它们使用 1-to-1 窗口)
e) 自治系统可能使用多种 IGP, 并采用多种度量值
f)OSPF 理论上支持 1 万条路由条目, ISIS 理论上支持 2 万条
g)IGP 以路由器为单位确定下一跳 (hop by hop),BGP 以 AS 为单位确定下一跳 (AS by AS)
h)BGP 的 network 宣告语句前缀必须完全和掩码一致, 例如 9.9.9.9/24 不会接受, 9.9.9.0/24 会接受
i)EBGP 学来的 20,IBGP 学来的 200,BGP 希望 AS 内部由 IGP 自己搞定, AS 之间的由 BGP 搞定
j)EBGP 邻居一般是直连, 因为会查找直连路由 IBGP 邻居无需直连, 只要求 TCP 连通性
k) AS 内部, 如果转发的是 AS 外部路由, 都会先递归查找到达 PE 的路由, 即实际上在 AS 内部, 报文的转发路劲是根据目的 PE 设备来确定的, 途径每一跳都这样, 到了 MPLS 则直接打上标签了, 中间黑洞路由器甚至无需知道该路由
l) 关于 BGP 路由黑洞, trace 的时候黑洞路由器应该是打 **** 号的, 甚至 PE 也会呈现 * 号, 因为 PE 设备其实无需知道路由, 因此完全可能没有 ping 发起者的路由 (E 传 E 时会自动改下一跳, I 传 I 时一般手工指定 next-hop-self, 所以理论上 BGP 只需要有下一跳的路由即可), 如果收到了 TTL=1/0 的报文, 因为没路由不知道怎么回包, 所以就打 *** 号了, 但后面其实又会有项目, 并能 ping 通另外, 反过来, 如果 PE 设备知道回包的路由, 就会把 EBGP 之间的互联链路暴露出来, 本来可能 ping 包发起者不知道该地址这条可能理解有误, 如果是黑洞路由器可能会根据标签转发至 PE,PE 再回包, 会不会暴露 P 路由器地址呢?
2, 协议比较
协议 | 内部 / 外部 | 类型 | 是否要层次化 | 度量值 |
ospf | 内部 | 链路状态 | 是 | 开销(思科上是开销即带宽) |
isis | 内部 | 链路状态 | 是 | 带宽(思科接口默认为 10) |
eigrp | 内部 | 高级距离矢量 | 否 | 复合带宽 + 延迟 |
bgp | 外部 | 距离(路径)矢量 | 否 | 路径矢量,属性 |
rip | 内部 | 距离矢量 | 否 | 跳数 |
3, 协议更新机制
触发更新: EIGRP,BGP
可以周期更新, 也可以改为触发更新: RIP
周期更新和触发更新相结合: OSPF,ISIS
4, 企业连到 ISP 方式, 连接方案
连接方式 | 单宿 | 单链 |
双宿 | 双链路(客户路由器可以是一台,可以是两台) | |
多宿 | 单链路,双上联 2 个 ISP | |
双多宿 | 双链路,双上联 2 个 ISP | |
连接方案 | 每家 ISP 提供默认路由给企业(出自治系统的流量由 IGP 度量值决定,例如 RIP 选择离通过缺省路由跳数最少的路由器出,入由外部 ISP 决定) | |
每家 ISP 提供默认路由 + 部分路由给企业(对部分路由进行重发布,可以选择重发布的度量值避免次优路径) | ||
每家 ISP 提供全部路由给企业(需要建立全互联邻居关系,或者开启同步) |
5, 基本概念
peer = neighbor : BGP 邻居
bgp speaker : 运行 BGP 的路由器
EBGP: 不同 AS
IBGP: 同一 AS
BGP 邻居不一定是直连, 路由可达即可
BGP 通过 TCP 建邻居, 点到点协议, 所以 BGP 都是单播更新, BGP 只有单播地址没有组播地址
来源: http://www.bubuko.com/infodetail-2498869.html