BGP

noteId: EF1D59C18D3E459DB67D1C8CD5DEE15B · 原始路径:/ALL/网络 - C模块/1-路由协议合集、路由控制、策略路由/BGP (TCP-179)/(旧)BGP边界网关协议/BGP.note

【康sir】BGP、mpls VPN

BGP边界网关协议配置

https://info.support.huawei.com/info-finder/encyclopedia/zh/BGP.html

BGP(Border Gateway Protocol)边界网关协议

使用BGP协议

自治系统号(AS) - 两个设备之间相同的编号叫 --- IBGP【内部边界网关协议】

- 两个设备之间不同的编号 叫---EBGP【外部边界网关协议】

·相互指定对端的地址 + 对端的编号(自治系统号【AS】)

·指定哪个接口(IP地址)和对端建立BGP

·宣告你希望对方收到的网段

为什么需要BGP:

IGP(Interior Gateway Protocol,内部网关协议):

被设计用于来在单一的路由选择域内提供可达信息并不适合提供域间路由选择功能,BGP(Border Gateway Protocol,域间路由协议)作为优秀的域间路由协议得以产生并发展

当今网络通常使用以下类型的IGP:

·距离矢量协议:

例如,路由信息协议(Routing Information Protocol,RIP)、内部网关协议EIGRP(Enhanced Interiior Gateway Routing Protocol,带有链路状态的距离矢量协议)

·链路状态协议:

例如,开放式最短路径优先(Open Shortest Path First,OSPF)协议

中间系统到中间系统(Intermediate System to Intermediate System,IS - IS)协议

这些协议是为不同目的设计的,并且具有不同的行为特征,但是它们的共同目标是解决在一个路由选择域内的路径最优化问题。IGP并不适合提供域间路由选择功能。

比如说,一种域间路由选择协议应该能够提供广泛的策略控制,因为不同的域通常需要不同的路由选择策略和管理策略

BGP一开始就被设计成一种域间路由选择协议,它的设计目标就是策略控制能力和可扩展性。但是BGP也不适合替代IGP,因为它们适用的场景不同

BGP报文角色:

·Speaker:发送BGP报文的路由设备称为BGP发言者(Speaker),它接收或产生新的路由信息,并发布(Advertise)给其他BGP Speaker。当BGP Speaker收到来自其他AS的新路由时,如果该路由比当前已知路由更优,或者当前还没有该路由,它就把这条路由发布给所有其他BGP

·Peer:相互交换报文的BGP Speaker之间互称对等体(Peer)

BGP报文:

BGP的运行是通过报文驱动的,公有Open、Update、Notification、Keepalive和Route-refresh五种报文类型:

·Open报文:

是TCP连接建立后发送的第一个报文,用于建立BGP对等体之间的连接关系。对等体在接收到Open报文并协商成功后,将发送Keepalive报文确认并保持连接的有效性。确认后,对等体之间可以进行Update、Notification、Keepalive和Route-refresh报文的交换

·Update报文:

用于在对等题之间交换路由信息。Update报文可以发布多条属性相同的可达路由哦信息,也可以撤销多条不可达路由信息。

·Notification报文:

当BGP检测到错误状态时,就向对等体发出Notification报文,之后BGP连接会立即中断

·Keepalive报文:

BGP会周期性地向对等体发出Keepalive报文,用来保持连接地有效性

·Route-refresh报文:

Route-refresh报文用来请求对等体重新发送所有地可达路由信息

BGP(Border Gateway Protocol)是一种用于自治系统AS(Autonomous System)之间的动态路由协议。

早期发布的三个版本分别是BGP-1、BGP-2和BGP-3,主要用于交换AS之间的可达路由信息,构建AS域间的传播路径,防止路由环路的产生,并在AS级别应用一些路由策略。

当前使用的版本是BGP-4。

BGP作为事实上地Internet外部路由协议标准,被广泛应用于ISP(Internet Service Provider)之间

BGP协议具有如下特点:

·BGP是一种外部网关协议(EGP),与OSPF、RIP等内部网关协议(IGP)不同,其着眼点不在于发现和计算路由,而在于在AS之间选择最佳路由和控制路由的传播。

·BGP使用TCP作为其传输层协议,提高了协议地可靠性。

·BGP进行域间的路由选择,对协议的稳定性要求非常高。因此用TCP协议的高可靠性来保证BGP协议的稳定性

·BGP的对等体之间必须在逻辑上连通,并进行TCP连接。目的端口号为179,本地端口号任意。

人话:【TCP协议端口号为179,进程号随意设置】

·BGP支持无类域间路由CIDR(Classless Inter-Domain Routing)

·路由更新时,BGP只发送更新的路由,大大减少了BGP传播路由所占用的带宽,适用于在Internet上传播大量的路由信息

·BGP是一种距离矢量(Distance-Vector)路由协议【不确定】

·BGP从设计上避免了环路的发生。

·AS之间:BGP通过携带AS路径信息来标记途径的AS,带有本地AS号的路由将被丢弃,从而避免了域间产生环路

·AS内部:BGP在AS内学到

·BGP提供了丰富的路由策略,能够对路由实现灵活的过滤和选择

·BGP提供了防止路由振荡的机制,有效提高了Internet网络的稳定性

·BGP易于扩展,能够适应网络新的发展。

BGP用于在AS之间传递路由信息,并不是所有情况都需要运行BGP

需要使用BGP协议的情况:

·用户需要同时与两个或者多个ISP相连,ISP需要向用户提供部分或完全的Internet路由。这时可以通过BGP路由携带的各种属性来决定到达目的地,走哪一个ISP的AS更为经济

BGP大概有四种应用场景,BGP最少需要两条线连接

运营商内部设备有多条线连接:

·数据能够负载

·当某一条链路出现故障时,能够切换链路

数据中心,机房也用BGP

华为的BGP(Border Gateway Protocol)协议不是距离矢量协议,而是一种路径矢量协议。BGP是一种基于路径矢量的协议,它使用AS路径来表示到达目的网络的路径。华为的BGP实现与标准的BGP协议类似,也是基于路径矢量的路由选择协议。BGP路由器维护一个BGP路由表,其中包含了所有已知的AS路径信息。当一个BGP路由器接收到一个新的路由更新时,它会将新的AS路径信息添加到BGP路由表中,并使用BGP的路由选择算法来选择最佳路径。华为的BGP协议支持多种路由选择算法,可以根据实际需求进行配置。因此,华为的BGP协议不是距离矢量协议,而是一种基于路径矢量的协议。

BGP第一种应用场景:运营商内部 部署专线使用

运营商与运营商之间使用

数据被转发是经过逐跳查询,逐跳转发

中间设备应不应该有两端的路由?

不应该

三台设备都是运营商的内部设备

PE -- P -- PE

政府网络,军工网络,公安网络,银行金融网络,医疗网络,证券金融网络

要求有更安全的私密性 --- 不和宽带走一条线 ---- 专线网络

运营商(电信联通等)目前常用的mpls专线,主流业务,运营商最挣钱的业务

跨地区的10M专线 --- 一个月 5-6千
跨国的10M专线 --- 一个月2-3万

专线网络不能上网,只支持从一个点只到某一个点

通过mpls技术,也叫MPLS VPN技术

mpls(多协议标签交换技术)--- 数据转发不再查路由,查标签

1、OSPF为了BGP打底,两端打通,让他可以建立BGP关系(这就是为什么很多情况下一台设备上起多协议的原因,很多协议彼此关联)

2、BGP为了MPLS打底

(为什么不全部使用mpls查标签,因为客户发来的数据是普通网络的,第一步需要查路由,且不能带着标签发送给普通网络,需要将标签去掉,再发送给普通网络,标签在中间设备起作用)

减少了中间设备的消耗,对于运营商来说减少了中间设备的成本