认识
为方便管理规模不断扩大的网络,网络被分成不同的 AS(Autonomous System,自治系统)。
但是 IGP 不适用于 AS 环境:
- 安全低:AS 间可能是不同的机构、公司,相互间无法完全信任,使用 IGP 可能存在暴露 AS 内部的网络信息的风险。
- 收敛慢:整个网络规模扩大,路由数量进一步增加,路由表规模变大,路由收敛变慢,设备性能消耗加大。
- 连接性:使用 IGP 需要 AS 间存在直连链路(或通过 VPN 构造逻辑直连,如 GRE Tunnel 等),以进行邻居建立。
早期,EGP(Exterior Gateway Protocol,外部网关协议)被用于实现在 Inter-AS 动态交换路由信息。但是 EGP 设计得比较简单,只发布网络可达的路由信息,而不对路由信息进行优选,同时也没有考虑环路避免等问题,很快就无法满足网络管理的要求。
BGP 是为取代最初的 EGP 而设计的另种外部网关协议。与最初的 EGP 不同,BGP 能够进行路由优选、避免路由环路、更高效率的传递路由、维护大量的路由信息。
1980 年,AS 概念提出:1980 年左右,随着网络规模变大,路由数量不断增加,为了解决该问题提出 AS 概念,Inter-AS 使用 EGP;
1989 年,BGP 首个 RFC 发布(RFC1105,BGP-1):EGP 只发布路由,不控制路由优选、无环路避免机制。
1990 年,发布的 RFC1163 提出路径属性概念,自此 BGP 可以基于路径属性进行路由优选、路径控制。
现在 BGP 是个应用非常广泛的边界网关路由协议,在全球范围内被大量部署。
在 Wikipedia 中,BGP 被认为是 Applicaiton Layer 协议。而在其他文章或讨论中,BGP 被划为 Layer 4 协议。
组成
通过建立 TCP 连接,来相互发送路由条目;
性质
当不同 AS 间需要进行通信时,在 AS 间使用 BGP 路由协议进行路由的传递:
1)BGP 基于 TCP,使用 TCP 作为其传输层协议(端口号为 179),只要能够建立 TCP 连接便可建立 BGP 连接;
2)能够承载大批量的路由信息,能够承载大规模网络;
3)BGP 定义多种路径属性,并且提供丰富的路由策略工具,这使得其在路由操控和路径决策上变得非常灵活,能够灵活的进行路由选路,并能指导对等体按策略发布路由。对 BGP 路由的各种属性的操作都可能影响路由的优选,从而对网络的流量产生影响,所以说 BGP 路由的优选规则十分重要。
4)只传递路由信息,不会暴露 Intra-AS 的拓扑信息;
5)触发式更新(BGP 更新的路由条目通常较多,所以需要快速更新机制),而非周期性更新(需要等待收敛);
6)BGP 能够支撑 MPLS/VPN 的应用,传递客户 VPN 路由。
7)BGP 提供路由聚合和路由衰减功能用于防止路由振荡,通过这两项功能有效地提高网络稳定性;
应用
运营商与运营商:同步路由信息,需要 ASBR 完成;两个 AS 之间同步路由,需要 ASBR 设备;⇒ 这些 ASBR 运行 BGP 协议,以互相传递路由;
企业与运营商间:可使用 BGP 进行路由交互,使得企业网络获得到达运营商网络的具体路由,运营商也可获得到达企业内部的路由。
企业内部互通:当总部与分支互联时,如果需要同步路由信息,依旧能够使用 BGP 来传递路由信息;
在数据中心里,也会使用 BGP 协议(其特点决定)
route-server.ip.att.net(全球 IP 路由)
# telnet route-server.ip.att.net Trying 12.0.1.28... Connected to route-server.cbbtier3.att.net. Escape character is '^]'. -------------- route-server.ip.att.net --------------- --------- AT&T IP Services Route Monitor ----------- The information available through route-server.ip.att.net is offered by AT&T's Internet engineering organization to the Internet community. This router maintains eBGP peerings with customer-facing routers throughout the AT&T IP Services Backbone: IPv4: IPv6: City: 12.122.124.12 2001:1890:ff:ffff:12:122:124:12 Atlanta, GA 12.122.124.67 2001:1890:ff:ffff:12:122:124:67 Cambridge, MA 12.122.127.66 2001:1890:ff:ffff:12:122:127:66 Chicago, IL 12.122.124.138 2001:1890:ff:ffff:12:122:124:138 Dallas, TX 12.122.83.238 2001:1890:ff:ffff:12:122:83:238 Denver, CO 12.122.120.7 2001:1890:ff:ffff:12:122:120:7 Fort Lauderdale, FL 12.122.125.6 2001:1890:ff:ffff:12:122:125:6 Los Angeles, CA 12.122.125.44 2001:1890:ff:ffff:12:122:125:44 New York, NY 12.122.125.106 2001:1890:ff:ffff:12:122:125:106 Philadelphia, PA 12.122.125.132 2001:1890:ff:ffff:12:122:125:132 Phoenix, AZ 12.122.125.165 2001:1890:ff:ffff:12:122:125:165 San Diego, CA 12.122.126.232 2001:1890:ff:ffff:12:122:126:232 San Francisco, CA 12.122.159.217 2001:1890:ff:ffff:12:122:159:217 San Juan, PR 12.122.125.224 2001:1890:ff:ffff:12:122:125:224 Seattle, WA 12.122.126.9 2001:1890:ff:ffff:12:122:126:9 St. Louis, MO 12.122.126.64 2001:1890:ff:ffff:12:122:126:64 Washington, DC *** Please Note: Ping and traceroute delay figures measured here are unreliable, due to the high CPU load experienced when complicated show commands are running. For questions about this route-server, send email to: jayb@att.com *** Log in with username 'rviews', password 'rviews' *** login: Login attempt timed out after 120 seconds Connection closed by foreign host.
参考
What is BGP and How Does Border Gateway Protocol Work?
Networking 101: Understanding BGP Routing | Enterprise Networking Planet