BGP对等路由器,主要包含了那些功能对等

工作和学习
华为路由器BGP路由配置实例
session 1 BGP
bgp边界网关协议,用于AS与AS之间的路由协议,bgp本身只负责控制路由,数据转发依然靠静态和IGP路由。
bgp分为同一个AS内的ibgp和不同AS之间的ebp。
bgp对等体和igp对等体不同,bgp对等体是指使用tcp建立连接的两端,而非与igp同概念的直连邻居,只要有tcp可以建立连接并不需要直连。
bgp地址族,最初bgp-4标准协议仅支持ipv4网络,为了解决bgp多多种网络层协议的支持,对bgp进行了地址族功能的扩展,形成了支持多协议的MP-BGP。所谓的“地址族”就是一种网络层协议的配置模块,就是把不同类型的网络分块进行配置,目的就是把针对运行不同网络网络层协议的网络分别进行功能配置,这样配置起来就更加有条理。为了进一步区分一类网络中不同的网络应用,又可以再地址族下划分子地址族,地址族使用AFI地址标识符进行标识,对应的子地址族标识为SAFI,目前在ip网络中,MP-BGP主要包括4个地址族:iPv4、ipv6、L2VPN、VPLS等,而在ipv4地址族下有ipv4单播、ipv4组播、ipv4-mpls和ipv4-mdt等子地址族,ipv6地址族下有ipv6单播和ipv6组播等子地址族,在哪个(子)地址族模式下配置的就只能影响该地址族,而在BGP全局下配置的影响所有地址族。
igp路由选择使用metric,而bgp中使用路由属性来做路由选择。
IBGP中的ebgp叫做联邦,目的是为了解决ibgp内路由只传一跳的特性,与路由反射器RR功能一样。
EBGP邻居默认情况下限制了建立邻居的最大跳数为1,如果不是直连接口收发bgp报文需要修改最大跳数。
bgp对等体建立的三个阶段:Idle(查找到达对等体路由)、Active(主动建立tcp连接)、Established(对等体建立完成)
bgp对等体建立的必要条件:ibgp中需要tcp连接可达,ebgp中需要tcp可达+允许的最大条数可达(默认是1直连),ebgp中如果需要使用loopback等接口来(收发bgp报文)建立对等体,那么就必须修改允许的最大条数。
在BGP中,向IBGP和EBGP邻居发送路由时,下一跳的处理是不同的。向EBGP邻居(即在AS间传播)发送路由时,next-hop均改为该路由器的出口IP地址(当下一跳修改前后的地址符合第三方下一跳时,不做修改);向IBGP邻居(即在AS内传播)发送路由时,next-hop是不变的。由于BGP向其他IBGP邻居转发来自EBGP路由时不修改下一跳,这样的话若IBGP邻居所处的设备没有到该下一跳地址的路由,会导致该IBGP收到这条转发自IBGP邻居的EBGP邻居的路由后下一跳不可达,导致路由失效。
session 2 BGP实例配置
一、bgp的基本配置
拓扑中AR1与AR3形成ibgp邻居,区域13,AR2与AR4形成ibgp邻居,区域24,AR1与AR2形成ebgp对等体(邻居)。为了让AR3与AR4互通,需要通过AR1和AR2相互传递路由给对端的bgp区域,让区域13和区域24通过bgp协议相互学习到对方的路由。因为bgp只负责控制路由,而底层依然是靠igp来完成寻址建立tcp连接。所以需要使用igp路由使得bgp对等体可以建立tcp连接相互形成bgp对等体,对等体形成后AR1与AR2需要分别将自己从igbp邻居学到的路由宣告给ebgp邻居,从ebgp邻居学到的路由宣告给ibgp邻居,达到as13与as24相互通信的目的。
具体配置如下:
&AR1&display current-configuration
interface GigabitEthernet0/0/0
ip address 12.1.1.1 255.255.255.0
interface GigabitEthernet0/0/1
ip address 13.1.1.1 255.255.255.0
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
router-id 1.1.1.1
peer 2.2.2.2 as-number 24
与AR2建立ebgp邻居
peer 2.2.2.2 ebgp-max-hop 2
ebgp邻居允许的最大跳数修改为2(因为不是直连而是用loopback0接口)
peer 2.2.2.2 connect-interface LoopBack0
更新发送bgp报文的接口为loopback0接口
peer 3.3.3.3 as-number 13
与AR3建立ibgp对等体
peer 3.3.3.3 connect-interface LoopBack0
ipv4-family unicast
undo synchronization
network 3.0.0.0
宣告从AR3这个ibgp邻居学到的路由(给AR2这个ebgp邻居)
network 13.1.1.0 255.255.255.0
宣告自己的直连路由给ebgp邻居
peer 2.2.2.2 enable
指定与邻居2.2.2.2开启MP-BGP功能,iPv4地址族默认开启
peer 3.3.3.3 enable
peer 3.3.3.3 next-hop-local
从ebgp邻居学习到的路由传递给ibgp邻居时,路由的下一跳修改为自己
使用igp路由搭建底层寻址
undo summary
network 1.0.0.0
network 13.0.0.0
ip route-static 2.2.2.2 255.255.255.255 12.1.1.2
AR1与AR2建立ebgp对等体需要建立tcp连接,这里用静态做底层的寻址
&AR3&display current-configuration
interface GigabitEthernet0/0/0
ip address 13.1.1.3 255.255.255.0
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
router-id 3.3.3.3
peer 1.1.1.1 as-number 13
peer 1.1.1.1 connect-interface LoopBack0
ipv4-family unicast
undo synchronization
peer 1.1.1.1 enable
undo summary
network 3.0.0.0
network 13.0.0.0
&AR2&display current-configuration
interface GigabitEthernet0/0/0
ip address 12.1.1.2 255.255.255.0
interface GigabitEthernet0/0/1
ip address 24.1.1.2 255.255.255.0
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
router-id 2.2.2.2
peer 1.1.1.1 as-number 13
与AR1建立ebgp对等体
peer 1.1.1.1 ebgp-max-hop 2
peer 1.1.1.1 connect-interface LoopBack0
peer 4.4.4.4 as-number 24
与AR4建立ibgp对等体
peer 4.4.4.4 connect-interface LoopBack0
ipv4-family unicast
undo synchronization
network 4.4.4.4 255.255.255.255
network 24.1.1.0 255.255.255.0
peer 1.1.1.1 enable
peer 4.4.4.4 enable
peer 4.4.4.4 next-hop-local
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 24.1.1.2 0.0.0.0
ip route-static 1.1.1.1 255.255.255.255 12.1.1.1
&AR4&display current-configuration
interface GigabitEthernet0/0/0
ip address 24.1.1.4 255.255.255.0
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
router-id 4.4.4.4
peer 2.2.2.2 as-number 24
peer 2.2.2.2 connect-interface LoopBack0
ipv4-family unicast
undo synchronization
peer 2.2.2.2 enable
area 0.0.0.0
network 4.4.4.4 0.0.0.0
network 24.1.1.4 0.0.0.0
没有更多推荐了,BGP协议在运营商网络中的配置建议_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
BGP协议在运营商网络中的配置建议
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩5页未读,
定制HR最喜欢的简历
你可能喜欢边界网关协议_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
边界网关协议
边界网关协议(BGP)是运行于 TCP 上的一种的。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关间的多路连接的协议。 BGP 构建在 EGP 的经验之上。 BGP 系统的主要功能是和其他的 BGP 系统交换网络可达信息。网络可达信息包括列出的(AS)的信息。这些信息有效地构造了 AS 互联的拓朴图并由此清除了,同时在 AS 级别上可实施策略决策。
边界网关协议释义
(BGP/BGP4:Border Gateway Protocol,边界网关协议)
BGP-4 提供了一套新的机制以支持。这些机制包括支持的通告、取消 BGP 网络中 “ 类 ” 的概念。 BGP-4 也引入机制支持,包括
路径的集合。这些改变为提议的方案提供了支持。BGP-4 采用了路由向量路由协议,在配置BGP时,每一个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP发言人”。
1989年发布了主要的外部网关协议:边界路由协议(BGP),新版本BGP-4 是在1995年发布的。
BGP路由选择协议执行中使用4种分组:打开分组(open)、更新分组(update)、存活分组(keepalive)、通告分组(notification)。
边界网关协议简介
边界网关协议BGP的结构和功能
BGP用于在不同的自治系统(AS)之间交换路由信息。当两个AS需要交换路由信息时,每个AS都必须指定一个运行BGP的节点,来代表AS与其他的AS交换路由信息。这个节点可以是一个主机。但通常是路由器来执行BGP。两个AS中利用BGP交换信息的路由器也被称为边界网关(Border Gateway)或边界路由器(Border Router)
由于可能与不同的AS相连,在一个AS内部可能存在多个运行BGP的边界路由器。同一个自治系统(AS)中的两个或多个对等实体之间运行的BGP 被称为 IBGP(Internal/Interior BGP)。归属不同的AS的对等实体之间运行的BGP称为EBGP (External/Exterior BGP)。在AS边界上与其他AS交换信息的路由器被称作边界路由器(border/edge router)。在互联网操作系统(Cisco IOS)中,IBGP通告的路由的距离为200,优先级比EBGP和任何内部网关协议(IGP)通告的路由都低。其他的路由器实现中,优先级顺序也是EBGP高于IGP,而IGP又高于IBGP。
BGP属于外部网关路由协议,可以实现自治系统间无环路的域间路由。BGP是沟通Internet广域网的主用路由协议,例如不同省份、不同国家之间的路由大多要依靠BGP协议。BGP可分为IBGP(Internal BGP)和EBGP(External BGP)。BGP的邻居关系(或称通信对端/对等实体)是通过人工配置实现的,对等实体之间通过TCP(端口179)会话交互数据。BGP路由器会周期地发送19字节的保持存活keep-alive消息来维护连接(默认周期为30秒)。在路由协议中,只有BGP使用TCP作为传输层协议。
IETF先后为BGP制定了多个建议,分别为:
RFC 4271:当前正使用的BGP协议版本,称之为BGP4。
RFC 1654:BGP4协议的第一个规范。
RFC 1105、RFC 1163、RFC 1267、RFC1771:BGP4之前的BGP版本。
边界网关协议特点
BGP属于外部或域间路由协议。BGP的主要目标是为处于不同AS中的路由器之间进行路由信息通信提供保障。BGP既不是纯粹的矢量距离协议,也不是纯粹的链路状态协议,通常被称为通路向量路由协议。这是因为BGP在发布到一个目的网络的可达性的同时,包含了在IP分组到达目的网络过程中所必须经过的AS的列表。通路向量信息时十分有用的,因为只要简单地查找一下BGP路由更新的AS编号就能有效地避免环路的出现。BGP对网络拓扑结构没有限制,其特点包括:
(1)实现自治系统间通信,传播网络的可达信息。BGP 是一个外部网关协议,允许一个AS与另一个AS进行通信。BGP允许一个AS向其他AS通告其内部的网络的可达性信息,或者是通过该AS可达的其他网络的路由信息。同时,AS也能够从另一个AS中了解这些信息。与距离向量选路协议类似,BGP为每个目的网络提供的是下一跳(next-hop)结点的信息。
(2)多个BGP路由器之间的协调。如果在一个自治系统内部有多个路由器分别使用BGP与其他自治系统中对等路由器进行通信,BGP可以协调者一系列路由器,使这些路由器保持路由信息的一致性。
(3)BGP支持基于策略的选路(policy-base routing)。一般的距离向量选路协议确切通告本地选路中的路由。而BGP则可以实现由本地管理员选择的策略。BGP路由器可以为域内和域间的网络可达性配置不同的策略。
(4)可靠的传输。BGP路由信息的传输采用了可靠地TCP协议。
(5)路径信息。在BGP通告目的网络的可达性信息时,处理指定目的网络的下一跳信息之外,通告中还包括了通路向量(path vector),即去往该目的网络时需要经过的AS的列表,使接受者能够了解去往目的网络的通路信息。
(6)增量更新。BGP不需要再所有路由更新报文中传送完整的路由数据库信息,只需要在启动时交换一次完整信息。后续的路由更新报文只通告网络的变化信息。这种网络变化的信息称为增量(delta)。
(7)BGP支持无类型编制(CIDR)及VLSM方式。通告的所有网络都以网络前缀加子网掩码的方式表示。
(8)路由聚集。BGP允许发送方把路由信息聚集在一起,用一个条目来表示多个相关的目的网络,以节约网络带宽。
(9)BGP还允许接收方对报文进行鉴别和认证,以验证发送方的身份。
边界网关协议BGP消息类型及状态转换
BGP使用如下四种消息类型:
Open消息:Open消息是TCP连接建立后发送的第一个消息,用于建立BGP对等体之间的连接关系。
Keepalive消息:BGP会周期性地向对等体发出Keepalive消息,用来保持连接的有效性。
Update消息:Update消息用于在对等体之间交换路由信息。它既可以发布可达路由信息,也可以撤销不可达路由信息。
Notification消息:当BGP检测到错误状态时,就向对等体发出Notification消息,之后BGP连接会立即中断。
BGP邻居建立中的状态和过程如下:
空闲(Idle):为初始状态,当协议激活后开始初始化,复位计时器,并发起第一个TCP连接,并开始倾听远程对等体所发起的连接,同时转向Connect状态。。
连接(Connect):开始TCP连接并等待TCP连接成功的消息。如果TCP连接成功,则进入OpenSent状态;如果TCP连接失败,进入Active状态。
行动(Active):BGP总是试图建立TCP连接,若连接计时器超时,则退回到Connect状态,TCP连接成功就转为Open sent状态。
OPEN发送(Open sent):TCP连接已建立,自己已发送第一个OPEN报文,等待接收对方的Open报文,并对报文进行检查,若发现错误则发送Notification消息报文并退回到Idle状态。若检查无误则发送Keepalive消息报文,Keepalive计时器开始计时,并转为Open confirm状态。
OPEN证实(Open confirm):BGP等待Keepalive报文,同时复位保持计时器。如果收到了Keepalive报文,就转为Established状态,邻居关系协商完成。如果系统收到一条更新或Keepalive消息,它将重新启动保持计时器;如果收到Notification消息,BGP就退回到空闲状态。
已建立(Established):即建立了邻居(对等体)关系,路由器将和邻居交换Update报文,同时复位保持计时器。
边界网关协议BGP路由通告原则
BGP在进行路由通告的时候,需要遵循以下原则:
多条路径时,BGP Speaker只选最优的给自己使用(负载均衡和FRR除外)。
BGP Speaker只把自己使用的路由(最优路由)通告给相邻体。
BGP Speaker从EBGP获得的路由会向自己所有BGP相邻体通告(包括EBGP和IBGP)。
BGP Speaker从IBGP获得的路由不向自己的IBGP相邻体通告(反射器除外)。
BGP Speaker从IBGP获得的路由是否通告给自己的EBGP相邻体要根据IGP和BGP同步的情况来决定。
当收到对端的refresh报文并且本端邻居支持refresh能力,BGP Speaker将把自己所 有BGP路由通告给对等体。
GR过程中,主备倒换方在GR结束时BGP Speaker会把自己所有BGP路由通告给对等体。
边界网关协议BGP属性
路由器发送关于目标网络的BGP更新消息,更新的度量值被称为路径属性。属性可以是公认的或可选的、强制的或自由决定的、传递的或非传递的。属性也可以是部分的。并非组织的和有组合的都是合法的,路径属性分为4类:公认必遵、公认自决、可选过渡、可选非过渡。
公认属性:
是公认所有BGP实现都必须识别的属性,这些属性被传递给BGP邻居。
公认强制属性必须出现在路由描述中,公认自由决定属性可以不出现在路由描述中。
可选属性:
非公认属性被称为可选的,可选属性可以是传递的或非传递的。
可选属性不要求所有的BGP实现都支持。
对于不支持的可选传递属性,路由器将其原封不动的传递给其他BGP路由器,在这种情况下,属性被标记为部分的。
对于可选非传递属性,路由器必须将其删除,而不将其传递给其他BGP路由器。
(1)公认必遵(Well-Known Mandatory)
ORIGIN(起源):这个属性说明了源路由是怎样放到BGP表中的。有三个可能的源IGP,EGP,以及INCOMPLETE.路由器在多个路由选择的处理中使用这个信息。路由器选择具有最低ORIGIN类型的路径。
AS_PATH(AS路径):指出包含在UPDATE报文中的路由信息所经过的自治系统的序列。
Next_HOP(下一跳)声明路由器所获得的BGP路由的下一跳,对EBGP会话来说,下一跳就是通告该路由的邻居路由器的源地址。
(2)公认自决(Well-Known Discretionary)
LOCAL_PREF(本地优先级):本地优先级属性是用于告诉自治系统内的路由器在有多条路径的时候,怎样离开自治系统。本地优先级越高,路由优先级越高。
ATOMIC_AGGREGATE(原子聚合):原子聚合属性指出已被丢失了的信息。
(3)可选过渡(Optional Transitive)
AGGREGATOR(聚合者):此属性标明了实施路由聚合的BGP路由器ID和聚合路由的路由器的AS号。
COMMUNITY(团体):此属性指共享一个公共属性的一组路由器。
(4)可选非过渡(Optional Nontransitive)
MED(多出口区分):该属性通知AS以外的路由器采用哪一条路径到达AS,它也被认为是路由的外部度量,低MED值表示高的优先级。
ORIGINATOR_ID(起源ID):路由反射器会附加到这个属性上,它携带本AS路由器的路由器ID,用以防止环路。
CLUSTER_LIST(簇列表):此属性显示了采用的反射路径。
边界网关协议协议结构
Marker (16 bytes) Length (2 bytes) Type (1 byte)
Marker – 信息包含信息接收端可预测值。
Length – 包含协议头的信息长度。
Type –信息类型。信息可能是:Open、Update、Notification、Keepalive。
打开(Open)分组,用来与相邻的另一个BGP发言人建立联系
更新(Update)分组,用来发送某一路由的信息,以及列出多条要撤销的路由
保活(Keepalive)分组,用来确认打开分组和周期性地证实邻站关系
通知(Notification)分组,用来发送检测到的差错
在连接建立之后,各端发送的第一个信息是 OPEN 信息。如果 OPEN 信息可以接收,会返回发送确认 OPEN 信息的 KEEPALIVE 信息。一旦 OPEN 信息获得确认,UPDATE、KEEPALIVE 和 NOTIFICATION 信息进行相互交换。
边界网关协议报文结构
BGP的报文结构如下所示
报文数据(变长)
16字节 2字节 1字节
BGP的报文分成报文与报文数据两部分,其中,BGP报文数据根据不同的报文类型有所不同,报文头由以下3个字段构成:
(1)标记(Marker)字段。标记字段由16个字节构成。标记字段的值是一个通信双方(对等路由器) 都可认可的字节串,双方都统一使用改制来标识一个合法的BGP报文的开始。通常,标记字段用于承载鉴别信息。对于通信双方,在任何情况下标记的值都必须保持一致。标记字段用于报文接收的同步。由于BGP报文用过TCP来简化,而TCP 协议是一个无结构的流(stream)传输协议。在TCP协议上部位高层提供数据流的结构识别,因此也无法为BGP标识两个报文之间的边界。由于传输协议不指定报文边界,因此,为了确保发送方和接收方的报文边界准确保持同步,BGO要求在每个报文的开头放置了一个双方已知的序列,接收方通过该序列来检验报文头的正确性。
(2)报文长度,16比特,制定了以字节为单位计算的报文总长度。最小的报文为19i节,最大允许报文长度为4096字节。
(3)报文类型,1字节,指出报文所属的类型。
边界网关协议报文类型
BGP的路由更新消息一BGP报文形式在路由器间交换,BGP为了实现其功能定义了4种报文类型。
初始化对等路由器间的通信
更新:通告或撤销路由
NOTIFICATION
对不正确BGP报文的通知
测试与对等路由器的连接性
(1)打开(OPEN)报文
当两个BGP对等路由器之间建立以一个TCP连接以后,就分别发送一个打开报文,声明各自的自治系统号,并确定其他操作参数。
路由器接受到来自对等路由器的OPEN 报文时,BGP将发送一个KEEPALIVE报文。在路由器之间交换选路信息之前,通信双方都必须发送一个OPEN报文,并接受一个KEEPALIVE报文。KEEPALIVE报文可以用作对OPEN报文的确认。
(2)更新(UPDATE)报文
对等的BGP路由器之间创建了TCP连接,并成功接收到对OPEN报文的KEEPALIVE确定报文,对等路由器之间就可以使用路由更新消息报文来通告网络的可达性信息。通告的的内容可以是新的可达的目的网络,也可以是通告撤销原来的某些目的网络的可达性。
(3)保持激活(KEEPALIVE)报文
保持激活报文用于在两个BGP对等路由器之间定期测试网络连接性,并证实对等路由器的正常工作。由于TCP协议本身没有提供自动的连接状态的通知机制,对等路由器之间定制交换KEEPALIVE报文可以使BGP实体能够检测TCP连接是否工作正常。保持激活报文仅包含标准的BGP报文头(类型4),报文长度为19字节。
(4)通知(NOTIFICATION)报文
BGP在发现错误时(或需要进行控制时),可以利用通知报文来通知对等路由器。一旦通知报文,路由器检测来检查到了出现的错误,BGP就会向对等路由器发送一个通知报文,然后关闭TCP连接终止通信。
边界网关协议BGP MCE
边界网关协议MCE概述
MCE 功能是Multi-CE 的简称,具有MCE 功能的网络设备可以在BGP/MPLS VPN 组网应用中承担多个VPN 实例的CE 功能,减少用户网络设备的投入。
边界网关协议工作原理
BGP/MPLS VPN以隧道的方式解决了在公网中传送私网数据的问题,但传统的BGP/MPLS VPN架构要求每个VPN实例单独使用一个CE与PE相连,如图 所示。
随着用户业务的不断细化和安全需求的提高,很多情况下一个私有网络内的用户需要划分成多个VPN,不同VPN 用户间的业务需要完全隔离。此时,为每个VPN 单独配置一台CE 将加大用户的设备开支和维护成本;而多个VPN 共用一台CE,使用同一个路由表项,又无法保证数据的安全性。使用MCE 功能,可以有效解决多VPN 网络带来的用户数据安全与网络成本之间的矛盾,它使用CE 设备本身的VLAN 接口编号与网络内的VPN 进行绑定,并为每个VPN 创建和维护独立的路由转发表(Multi-VRF)。这样不但能够隔离私网内不同VPN 的报文转发路径,而且通过与PE 间的配合,也能够将每个VPN 的路由正确发布至对端PE,保证VPN报文在公网内的传输。
下面举例介绍MCE对多个VPN的路由表项进行维护,并与PE交互VPN路由的过程:
如右图所示,左侧私网内有两个VPN站点:VPN1 和VPN2,分别通过MCE设备接入MPLS骨干网,其中VPN1 和VPN2 的用户,需要分别与远端VPN1用户和VPN2 用户建立VPN隧道。通过配置MCE 功能,可以在MCE 设备上为VPN1 和VPN2 创建各自的路由转发表,并使用VLAN 2 接口与VPN1 进行绑定、VLAN 3 与VPN2 进行绑定。在接收路由信息时,MCE 设备根据接收接口的编号,即可判断该路由信息的来源,并将其维护到对应VPN 的路由转发表中。同时,在PE1 上也需要将连接MCE 的接口与VPN 进行绑定,绑定的方式与MCE 设备一致。MCE与PE1 之间通过Trunk 链路连接,并允许VLAN 2 和VLAN 3 的报文携带VLAN Tag 传输,从而使PE1 在接收时可以根据报文所属VLAN 判别该报文属于哪一个VPN,将报文在指定的隧道内传输。
MCE 设备是如何将多个VPN 实例的私网路由信息准确传播到PE 设备?这包括两部分:MCE与VPN站点的路由信息交换,MCE与PE之间的路由信息交换。这些路由信息的交换都有很多种方法,如静态路由、RIP、OSPF、ISIS、BGP路由协议。如果使用BGP路由协议来实现路由信息交换,则就是使用BGP MCE功能,因此BGP MCE功能就是BGP协议支持VRF,能够实现VRF下BGP路由信息的交换。需要在MCE 上为每个VRF 实例配置BGP 对等体,并引入相应VPN 内的IGP 路由信息。由于各个VPN 间正常情况下是处在不同的AS 内,因此使用EBGP 进行路由的传播。
龚向阳等.宽带通信网原理:北京邮电大学出版社,2006年
全国计算机等级考试命题研究组.四级网络工程师第2版.北京邮电大学:北京邮电大学出版社,2012:42
.维基百科[引用日期]
中国电子学会(Chinese Instit...
提供资源类型:内容
清除历史记录关闭华为BGP路由理论知识详解(一)
一、BGP简介
边界网关协议BGP(Border
Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的距离矢量路由协议。
早期发布的三个版本分别是BGP-1(RFC1105)、BGP-2(RFC1163)和BGP-3(RFC1267),1994年开始使用BGP-4(RFC1771),2006年之后单播IPv4网络使用的版本是BGP-4(RFC4271),其他网络(如IPv6等)使用的版本是MP-BGP(RFC4760)。
MP-BGP是对BGP-4进行了扩展,来达到在不同网络中应用的目的,BGP-4原有的消息机制和路由机制并没有改变。MP-BGP在IPv6单播网络上的应用称为BGP4+,在IPv4组播网络上的应用称为MBGP(Multicast BGP)。
为方便管理规模不断扩大的网络,网络被分成了不同的自治系统。1982年,外部网关协议EGP(Exterior Gateway Protocol)被用于实现在AS之间动态交换路由信息。
但是EGP设计得比较简单,只发布网络可达的路由信息,而不对路由信息进行优选,同时也没有考虑环路避免等问题,很快就无法满足网络管理的要求。
BGP是为取代最初的EGP而设计的另一种外部网关协议。不同于最初的EGP,BGP能够进行路由优选、避免路由环路、更高效率的传递路由和维护大量的路由信息。
虽然BGP用于在AS之间传递路由信息,但并不是所有AS之间传递路由信息都需要运行BGP。比如在数据中心上行的连入Internet的出口上,为了避免Internet海量路由对数据中心内部网络的影响,设备采用静态路由代替BGP与外部网络通信。
BGP从多方面保证了网络的安全性、灵活性、稳定性、可靠性和高效性:
1、BGP采用认证和GTSM的方式,保证了网络的安全性。
2、BGP提供了丰富的路由策略,能够灵活的进行路由选路。
3、BGP提供了路由聚合和路由衰减功能用于防止路由振荡,有效提高了网络的稳定性。
4、BGP使用TCP作为其传输层协议(端口号为179),并支持BGP与BFD联动、BGP Tracking和BGP GR,提高了网络的可靠性。
二、BGP原理
一、BGP的基本概念
1、自治系统AS(Autonomous System)
AS是指在一个实体管辖下的拥有相同选路策略的IP网络。BGP网络中的每个AS都被分配一个唯一的AS号,用于区分不同的AS。
AS号分为2字节AS号和4字节AS号,其中2字节AS号的范围为1至65535,4字节AS号的范围为1至。支持4字节AS号的设备能够与支持2字节AS号的设备兼容。
2、BGP分类
图1 BGP的运行方式
如上图1所示,BGP按照运行方式分为EBGP(External/Exterior
BGP)和IBGP(Internal/Interior BGP)。
运行于不同AS之间的BGP称为EBGP。为了防止AS间产生环路,当BGP设备接收EBGP对等体发送的路由时,会将带有本地AS号的路由丢弃。
运行于同一AS内部的BGP称为IBGP。为了防止AS内产生环路,BGP设备不将从IBGP对等体学到的路由通告给其他IBGP对等体,并与所有IBGP对等体建立全连接。为了解决IBGP对等体的连接数量太多的问题,BGP设计了路由反射器和BGP联盟(详情见后面)。
如果在AS内一台BGP设备收到EBGP邻居发送的路由后,需要通过另一台BGP设备将该路由传输给其他AS,此时推荐使用IBGP。
3、BGP报文交互中的角色
BGP报文交互中分为Speaker和Peer两种角色。
1、Speaker:
发送BGP报文的设备称为BGP发言者(Speaker),它接收或产生新的报文信息,并发布(Advertise)给其它BGP Speaker。
相互交换报文的Speaker之间互称对等体(Peer)。若干相关的对等体可以构成对等体组(Peer Group)。
4、BGP的路由器号(Router
BGP的Router ID是一个用于标识BGP设备的32位值,通常是IPv4地址的形式,在BGP会话建立时发送的Open报文中携带。
对等体之间建立BGP会话时,每个BGP设备都必须有唯一的Router
ID,否则对等体之间不能建立BGP连接。
BGP的Router ID在BGP网络中必须是唯一的,可以采用手工配置,也可以让设备自动选取。
缺省情况下,BGP选择设备上的Loopback接口的IPv4地址作为BGP的Router ID。如果设备上没有配置Loopback接口,系统会选择接口中最大的IPv4地址作为BGP的Router ID。一旦选出Router ID,除非发生接口地址删除等事件,否则即使配置了更大的地址,也保持原来的Router ID。
二、BGP工作原理
BGP对等体的建立、更新和删除等交互过程主要有5种报文、6种状态机和5个原则。
1、BGP报文
BGP对等体间通过以下5种报文进行交互,其中Keepalive报文为周期性发送,其余报文为触发式发送:
1、Open报文:
用于建立BGP对等体连接。
2、Update报文:
用于在对等体之间交换路由信息。
3、Notification(通告)报文:
用于中断BGP连接。
4、Keepalive报文:
用于保持BGP连接。
5、Route-refresh(刷新)报文:
用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文。
2、BGP状态机
图1 BGP对等体交互过程
如上图1所示,BGP对等体的交互过程中存在6种状态机:空闲(Idle)、连接(Connect)、活跃(Active)、Open报文已发送(OpenSent)、Open报文已确认(OpenConfirm)和连接已建立(Established)。在BGP对等体建立的过程中,通常可见的3个状态是:Idle、Active和Established。
1、Idle状态是BGP初始状态。
在Idle状态下,BGP拒绝邻居发送的连接请求。只有在收到本设备的Start事件后,BGP才开始尝试和其它BGP对等体进行TCP连接,并转至Connect(连接)状态。
Start事件是由一个操作者配置一个BGP过程,或者重置一个已经存在的过程或者路由器软件重置BGP过程引起的。
任何状态中收到Notification(通告)报文或TCP拆链通知等Error事件后,BGP都会转至Idle状态。
2、在Connect(连接)状态下,BGP启动连接重传定时器(Connect Retry),等待TCP完成连接。
如果TCP连接成功,那么BGP向对等体发送Open报文,并转至OpenSent状态。
如果TCP连接失败,那么BGP转至Active(活跃)状态。
如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP继续尝试和其它BGP对等体进行TCP连接,停留在Connect状态。
3、在Active状态下,BGP总是在试图建立TCP连接。
如果TCP连接成功,那么BGP向对等体发送Open报文,关闭连接重传定时器,并转至OpenSent状态。
如果TCP连接失败,那么BGP停留在Active状态。
如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP转至Connect状态。
4、在OpenSent状态下,BGP等待对等体的Open报文,并对收到的Open报文中的AS号、版本号、认证码等进行检查。
如果收到的Open报文正确,那么BGP发送Keepalive报文,并转至OpenConfirm状态。
如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体,并转至Idle状态。
5、在OpenConfirm状态下,BGP等待Keepalive或Notification报文。如果收到Keepalive报文,则转至Established状态,如果收到Notification报文,则转至Idle状态。
6、在Established状态下,BGP可以和对等体交换Update、Keepalive、Route-refresh报文和Notification报文。
如果收到正确的Update或Keepalive报文,那么BGP就认为对端处于正常运行状态,将保持BGP连接。
如果收到错误的Update或Keepalive报文,那么BGP发送Notification报文通知对端,并转至Idle状态。
Route-refresh报文不会改变BGP状态。
如果收到Notification报文,那么BGP转至Idle状态。
如果收到TCP拆链通知,那么BGP断开连接,转至Idle状态。
3、BGP对等体之间的交互原则
BGP设备将最优路由加入BGP路由表,形成BGP路由。BGP设备与对等体建立邻居关系后,采取以下交互原则:
1、从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体。
2、从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体。
3、当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体。
4、路由更新时,BGP设备只发送更新的BGP路由。
5、所有对等体发送的路由,BGP设备都会接收。
4、BGP引入IGP路由
BGP与IGP在设备中使用不同的路由表,为了实现不同AS间相互通讯,BGP需要与IGP进行交互,即BGP路由表和IGP路由表相互引入。
BGP协议本身不发现路由,因此需要将其他路由引入到BGP路由表,实现AS间的路由互通。
当一个AS需要将路由发布给其他AS时,AS边缘路由器会在BGP路由表中引入IGP的路由。为了更好的规划网络,BGP在引入IGP的路由时,可以使用进行路由过滤和路由属性设置,也可以设置MED值指导EBGP对等体判断流量进入AS时选路。
BGP引入路由时支持Import和Network两种方式:
1、Import方式是按协议类型,将RIP、OSPF、ISIS等协议的路由引入到BGP路由表中。为了保证引入的IGP路由的有效性,Import方式还可以引入静态路由和直连路由。
2、Network方式是逐条将IP路由表中已经存在的路由引入到BGP路由表中,比Import方式更精确。
&您阅读这篇文章共花了:&
技术交流:欢迎在本文下方留言或加入QQ群: 互相学习。 &&&&
本文地址:
版权声明:若无注明,本文皆为“杭州清默网络”原创,转载请保留文章出处。}

我要回帖

更多关于 功能对等翻译理论 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信