BGP(Border Gateway Protocol,边界网关协议)是互联网的核心路由协议,用于自治系统(AS)之间进行路由信息交换,是目前广泛应用于大型网络中的一种外部网关协议
1、BGP路由协议介绍
BGP(Border Gateway Protocol,边界网关协议)是互联网的核心路由协议,用于自治系统(AS)之间进行路由信息交换,是目前广泛应用于大型网络中的一种外部网关协议。BGP协议的主要特点是可以在不同的网络(自治系统)之间交换路由信息,并根据路由属性来选择最优路径。以下是对BGP协议的详细介绍以及它的关键路由属性。
BGP是一种基于路径向量的路由协议,利用TCP(端口179)进行可靠的数据传输。BGP协议的主要目的是提供不同自治系统之间的连通性和路由选择,尤其是在跨网络的互联网服务提供商(ISP)之间。BGP不同于内部网关协议(如OSPF和RIP),它更适合处理大规模网络且不考虑速度和资源使用的最优,而更关注路由策略和路径选择的可控性。
2、运营商如何使用BGP路由策略
BGP 路由策略主要运用 BGP 路径属性,该属性是一组描述 BGP前缀特性的参数,通过有效的利用这些BGP路径属性可以更高效的设计和管理骨干互联网 BGP 路由。BGP 路径属性在网内主要使用以下属性:
1)AS-Path(自治系统路径)
AS-Path属性用于记录从源网络到达当前路由的自治系统列表。该属性包含一条路径中经过的所有AS编号,用于防止路由环路的发生。BGP路由器通常选择AS-Path路径较短的路由作为首选路径。
2)Next-Hop(下一跳)
Next-Hop属性用于标识该路由的下一跳地址。该地址指向该路径的下一个路由器的IP地址,便于路由器判断数据包的去向。BGP在接收路由信息时,会检查Next-Hop是否可达,如果不可达则不选择该路径。
3)Local Preference(本地优先级)
Local Preference属性用于在同一个AS内部的BGP路由选择。它是一个整数值,值越大表示优先级越高。在多个路由可达同一个目标时,本地路由器会优先选择Local Preference值较高的路由。通常用于设定出口路由偏好。
4)MED(Multi-Exit Discriminator,多出口鉴别符)
MED属性用于在多个出口点之间选择最佳路径,用于跨AS的路由选择。它通常由相邻的AS发送,用来建议对方AS通过某一出口进入。MED值越小,优先级越高,表示该路径更优。
5)Origin(源标记)
Origin属性用于标记路由的起源,表示路由是从哪里学到的。它有三种类型:
IGP(Interior Gateway Protocol): 路由来自内部网关协议,值最优。
EGP(Exterior Gateway Protocol): 路由来自外部网关协议。
Incomplete(不完整): 其他方式学习到的路由,优先级最低。
6)Community(社区)
Community属性是一种可选的标记,用于实现路由策略的灵活控制。BGP路由器可以根据Community标记实现分级路由选择、流量控制、路径控制等功能。Community属性不直接影响路由选择,但在高级路由策略中非常有用。
7)ORIGINATOR ID:由路由反射器(RR)使用,能够检测出路由是否有环路。
8)CLUSTER LIST:由路由反射器(RR)使用,被用作在 AS 内另一个路由环路防止机制。
1)Local Preference:计算外网路由优先级的属性,数值高的路由优先级高。
2)As Path: As 域间路由选择防止出现环路,As Path 路径长度最短的路径优先。
3)Next Hop:指定某条前缀路由到达下一跳的 地址。
4)Origin:路由前缀的起源,优先选择比较低 Origin 值前缀的路由。
5)Communtiy:团体属性,主要的作用是为前缀附加管理标记,以便更好的制定适合的 BGP 路由策略。
6)Multi Exit Disc(MED):MED 主要作用是影响流入 AS 的数据量,,优选具有较低 MED 值的路由。
3、运营商网络骨干拓扑
骨干互联网分为A类节点 - 核心骨干层、B 类节点 -汇聚层、C 类节点 -接入层三类节点
核心层包括北京、上海、广州、沈阳、西安、武汉、成都共7个A类节点,其中北京、上海、广州三地为 A1 类节点,主要提供国内骨干网路由汇聚和快速交换和国际 Internet 网络互联,以及本地 IP 业务接入;
汇聚层包括各省的省会城市以及省市的大型城市,主要提供省内一般接入接入节点的网络汇接和本地P业务接入;
接入层包括各个地市,主要提供本地IP业务及远程汇接。
各省(市)城域网采用扁平化的互联网网络络结构,全省(市)统AS 号,包括省(市)核心层(城域网A类节点)、省(市)汇聚层(城域网B 类节点)、城域网汇聚层(城域网C类节点)。
4、网间国际出口 BGP 路由策略:
运营商互联网采用 BGP-4 作为网间路由协议。BGP-4 是目前国际上通用的网关路由协议,支持各种灵活的策略控制和可扩展性。北京、上海、广州三个节点作为骨干网的国际出口节点,将与国际运营商 Intemmet 节点通过EBGP 互联,完全采用 IP 路由技术在IP层通过双方的路由器互通。三个国际出入口路由器将作为域边界路由器与国际对端路由器通过 BGP-4 交换路由信息,运营商骨干互联网作为一个独立完整的运营网络,处于一个独立的自治域(ASxxxx)内,为了同国际运营商及其他国内大型运营商交换路由信息,必须采用 BGP 路由协议作为域间路由协议。
国际路由流量根据目的地址自动选择,不进行人为的路径控制,当某国际网络路由出口发生故障时,该出口的负载将被均分在其他国际网络
BGP 路由策略部署:
国际出口路由器对外只广播运营商自己的地址,不将学习到的路由广播给其他出口运营商,为了合理利用北京、上海、广州三个国际出口,达到合理分配回国流量的负载和均摊,需要“AS-Path Prepend”和“广播详细路由”两种方式控制控制广播的路由。
5、国际运营商网间 BGP 配置举例:
Router bgp XXXX
neighbor X.x.x.X activate
neighbor X.X.X.Xremove-private-as
neighbor X.X.X.X soft-reconfiguration inbound
neighbor X,X,X.X route-map cttnet-map-in in
neighbor X,X,X.Xroute-map cttnet-map-out out
route-map cttnet-map-in permit 10
match as-path 4l
set local-preference 2500
set community xxxX.XXXX
route-map cttnet-map-out permit 10
match ip address prefix-list cttnet-block
match as-path 41
ip as-path access-list 41 permit ^S
ip as-path access-list 41 permit xxxx$
ip as-path access-list 41 permit _xxxx