目录
1 BGP(Border Gateway Protocol)
1.1 协议 BGP 的主要特点
1.2 BGP 发言者 (BGP speaker)
1.3 eBGP 连接和 iBGP 连接
1.4 eBGP 和 iBGP
1.5 IGP、iBGP 和 eBGP 的关系
1.6 BGP 路由信息
1.7 自治系统 AS
1.8 BGP 的路由选择
1.9 BGP-4 的四种报文
1.10 BGP 报文具有通用首部
·BGP 是不同自治系统的路由器之间交换路由信息的协议。
·BGP 较新版本是 2006 年 1 月发表的 BGP-4(BGP 第 4 个版本),即 RFC 4271 ~ 4278。
·可以将 BGP-4 简写为 BGP。
·用于自治系统 AS 之间的路由选择。
·只能是力求选择出一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要计算出一条最佳路由。
1.互联网的规模太大,使得自治系统AS之间路由选择非常困难。
2.自治系统AS之间的路由选择必须考虑有关策略。
·采用了路径向量 (path vector) 路由选择协议。
·在 AS 之间, BGP 发言者在半永久性 TCP 连接(端口号为179)上建立 BGP 会话(session)。这种连接又称为 eBGP 连接。
·在 AS 内部,任何相互通信的两个路由器之间必须有一个逻辑连接(也使用 TCP 连接)。AS 内部所有的路由器之间的通信是全连通的。这种连接常称为 iBGP 连接。
eBGP (external BGP) 连接:运行 eBGP 协议,在不同 AS 之间交换路由信息。 iBGP (internal BGP) 连接:运行 iBGP 协议, 在 AS 内部的路由器之间交换 BGP 路由信息。
·同一个协议 BGP(使用的报文类型、使用的属性、使用的状态机等都完全一样)。
·但它们在通报前缀时采用的规则不同:
·在 eBGP 连接的对等端得知的前缀信息,可以通报给一个 iBGP 连接的对等端。反过来也是可以的。
·但从 iBGP 连接的对等端得知的前缀信息,则不能够通报给另一个 iBGP 连接的对等端。
例如:
·R3 从 eBGP 连接的对等端 R4 得到的前缀信息可以通报给 iBGP 连接的对等端 R1 或 R2。
·R3 从 iBGP 连接的对等端 R1 和 R2 得到的前缀信息可以通报给 eBGP 连接的对等端 R4。
·但 R3 从 iBGP 连接的对等端 R1 得到的前缀信息不允许再通报给另一个 iBGP 连接的对等端 R2。
在 AS 内部运行:
·内部网关协议 IGP(可以是协议 OSPF 或 RIP)。
·协议 iBGP。
在 AS 之间运行:
·协议 eBGP。
BGP 路由 = [ 前缀, BGP属性 ] = [ 前缀, AS-PATH, NEXT-HOP ]
·前缀:指明到哪一个子网(用 CIDR 记法表示)。
·BGP 属性:最重要的两个属性是:自治系统路径 AS-PATH、下一跳 NEXT-HOP。
·AS2 可经 IP3a 到前缀 X 的路由 = [前缀, AS-PATH, NEXT-HOP] = [X, AS3, IP3a]。
·路由 1:AS1 可经 IP2a 到前缀 X 的路由 = [前缀, AS-PATH, NEXT-HOP] = [X, AS2 AS3, IP2a]。
·路由2:AS1 可经 IP3c 到前缀 X 的路由 = [前缀, AS-PATH, NEXT-HOP] = [X, AS3, IP3c]。
·路由器 R1a 的转发表中,沿 BGP 路由 1 到达前缀 X 的项目是:
(匹配前缀X,下一跳路由器 R1b)或(匹配前缀X,转发接口 0)。
·AS(自治系统),由单一的机构或组织所管理的一系列IP网络及设备所构成集合。
末梢 AS:不会把来自其他 AS 的分组再转发到另一个 AS。必须向所连接的 AS 付费。
多归属 AS (multihomed AS):同时连接到两个或两个以上的 AS。增加连接的可靠性。
穿越 AS:为其他 AS 有偿转发分组。
对等 AS:经过事先协商的两个 AS,彼此之间的发送或接收分组都不收费。
BGP 路由如何避免兜圈子?
在属性 AS-PATH 中,不允许出现相同的 AS 号.
1.本地偏好 (local preference) 值最高的路由 (默认值=100)。
2.AS 跳数最小的路由。
3.使用热土豆路由选择算法(分组在 AS 内的转发次数最少)。
4.路由器 BGP ID 数值最小的路由。具有多个接口的路由器有多个 IP 地址,BGP ID 就使用该路由器的 IP 地址中数值最大的一个。
欢迎一起学习~