-
2021-12-12 14:05:01
BGP路由协议
边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择优选路由的距离矢量路由协议。
AS(Autonomous System,自治系统)是指由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。
AS的内部使用IGP来计算和发现路由,同一个AS内部的路由器之间是相互信任的,因此IGP的路由计算和信息泛洪完全处于开放状态,人工干预很少。
不同AS之间的连接需求推动了外部网关协议的发展,BGP作为一种外部网关协议,用于在AS之间进行路由控制和优选。
IGP 是运行在AS 内部的路由协议,主要有RIP、OSPF 及IS-IS,IGP 着重于发现和计算路由。
EGP 是运行于AS 之间的路由协议,现通常都是指BGP,BGP 是实现路由控制和选择最好的路由协议。
BGP 特点
BGP是外部路由协议,用来在AS之间传递路由信息
是一种增强的距离矢量路由协议
可靠的路由更新机制(路由的获取,优选和通告)(传输协议:TCP,端口号179;无需周期性更新;路由更新只发送增量路由;周期性发送keepAlive报文检测TCP的连通性)
丰富的Metric度量方法
从设计上避免了环路的发生,提供路由环路避免机制,并能够高效传递路由,维护大量的路由信息;
在不完全信任的AS之间提供丰富的路由控制能力。
为路由附带属性信息
支持CIDR(无类别域间选路)
丰富的路由过滤和路由策略,能够灵活的进行路由选路
BGP邻居类型
运行在不同AS之间的BGP路由器建立的邻居关系为EBGP(External BGP)邻居关系。
运行在相同AS内的BGP路由器建立的邻居关系为IBGP(Internal BGP)邻居关系。
BGP报文种类
BGP报文有五种类型:
(其中Keepalive报文为周期性发送,其余报文为触发式发送)Open:负责和对等体建立邻居关系。
KeepAlive:该消息在对等体之间周期性地发送,用于保持BGP连接。
Update:该消息被用来在BGP对等体之间传递路由信息。
Notification:当BGP Speaker检测到错误的时候,就发送该消息给对等体。
Route-refresh:用来通知对等体自己支持路由刷新能力;用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文。
路由注入
第一种方法是通过Network 命令:路由器将通过Network 将IP 路由表里的路由信息注入到BGP 的路由表中,并通过BGP 传递给其他对等体。通过Network 命令注入到BGP 路由表里的路由信息必须存在于IP 路由表中。
第二种方法是通过Import 命令把其他协议的路由信息注入到BGP 路由表中,通过Import 注入的路由信息通过组合策略共同使用。
BGP通告原则
BGP通告原则之一 : 仅将自己最优且有效(valid,即路由条目前有*标识)(best,即路由条目前有>标识)的路由发布给邻居。
BGP通告原则之二 : 通过EBGP获得的最优路由发布给除路由获取端以外的所有BGP邻居(包括EBGP邻居和IBGP邻居)
BGP通告原则之三 : 通过IBGP获得的最优路由不会发布给其他的IBGP邻居(水平分割)
BGP通告原则之四 : BGP与IGP同步(从IBGP邻居学来的路由是否发布给BGP邻居,取决于该路由是否也能通过IGP得知,即BGP和IGP同步)
本地始发的路由都是最优且有效路由(通过network和import注入的路由等),都是会被通告给邻居路由器的,包括IBGP邻居与EBGP邻居。
BGP的路径属性
BGP路径属性是一组描述BGP前缀特性的参数
BGP路径属性可以被分为四大类:
公认必遵 (Well-known mandatory)
公认任意 (Well-known discretionary)
可选过渡 (Optional transitive)
可选非过渡 (Optional non-transitive)
常见BGP路由属性
Origin:起点属性。定义路由信息的来源,标记一条路由是怎样成为BGP路由的。
As_PATH:AS路径属性。是路由经过的AS的序列,即列出此路由在传递过程中经过了哪些AS。它可以防止路由循环,并用于路由的过滤和选择。
Next hop:下一跳属性。包含到达更新消息所列网络的下一跳边界路由器的IP地址。
MED属性:当某个AS有多个入口时,可以用MED属性来帮助其外部的AS选择一个较好的入口路径。一条路由的MED值越小,其优先级越高。
Local-Preference:本地优先级属性。用于在AS内优选到达某一目的地的路由。反映了BGP Speaker对每条BGP路由的偏好程度。属性值越大越优。
Community:团体属性。团体属性标识了一组具有相同特征的路由信息,与它所在的IP子网或自治系统无关。
BGP路由选路原则
BGP路由器将路由通告给邻居后,每个BGP邻居都会进行路由优选,路由选择有三种情况:
- 该路由是到达目的地的唯一路由,直接优选。
- 对到达同一目的地的多条路由,优选优先级最高的。
- 对到达同一目的地且具有相同优先级的多条路由,必须用更细的原则去选择一条最优的。
一般来说,BGP计算路由优先级的规则如下:
- 丢弃下一跳不可达的路由。
- 优选Preference_Value值最高的路由(私有属性,仅本地有效)。
- 优选本地优先级(Local_Preference)最高的路由。
- 优选手动聚合>自动聚合>network>import>从对等体学到的。
- 优选AS_Path短的路由。
- 起源类型IGP>EGP>Incomplete。
- 对于来自同一AS的路由,优选MED值小的。
- 优选从EBGP学来的路由(EBGP>IBGP)。
- 优选AS内部IGP的Metric最小的路由。
- 优选Cluster_List最短的路由。
- 优选Orginator_ID最小的路由。
- 优选Router_ID最小的路由器发布的路由。
- 优选具有较小IP地址的邻居学来的路由。
故障案列分析
当BGP的邻居关系无法建立时,可以从以下几点进行检查
(1)TCP 179 端口被禁用(ACL过滤了)
(2)没有IP 连通性。
(3)OPEN 消息参数不正常。
(4)EBGP/IBGP 配置有误。
(5)物理层以及其他故障。
相关问题
-
BGP路径属性的作用?BGP发展到现在为止总共有多少种属性?
BGP是一个路由选择策略工具,区别于IGP,BGP目的是传递路由而不是发现路由。而BGP的路径属性就是一组描述BGP前缀特性的参数,让BGP可以很好的控制路由信息的传递。而BGP4发展到现在为止,总共有16种路径属性。 -
AS_PATH属性是怎样防止路由环路?
AS_PATH属性列表以相反的顺序列出了一条前缀先后经过的AS,每经过的一个AS,该AS号会被放入AS_PATH列表的最前面(开始处)。如果在路由更新消息中发现自己所在的AS号已经被包含在AS_PATH属性中,则表明该路由之前曾经通过该AS或者是源自于该AS,为避免路由环路,将此路由信息丢弃。 -
MED与LOCAL_PREF属性的区别是什么?
MED主要作用在EBGP对等体上,而LOCAL_PREF则主要作用在IBGP对等体上。换过另外一种说法就是,MED通常通过EBGP对等体向外发送,从而实现对对端AS入流量的控制;而LOCAP_PREF通常向IBGP对等体发送,从而实现对本地AS出流量的控制。
**本文中的部分内容来自网络或相关书籍**更多相关内容 -
BGP路由协议详解(完整篇).pdf
2019-08-20 15:15:25BGP路由协议详解(完整篇)。进阶网络工程师的必选教程。。 -
BGP路由协议实验.doc
2020-06-29 16:25:40BGP虽然是一种动态路由协议,但它实际上本身并不产生路由、不发现路由、不计算路由,其主要功能是完成最佳路由的选择并在BGP邻居之间进行最佳路由的传递。BGP选择了TCP作为其传输协议,端口号是179。 BGP的邻居关系... -
BGP路由协议详解
2018-06-24 15:38:29对BGP路由协议进行非常完善的讲解,高清pdf资源。 网络路由协议 -
BGP路由协议原理、配置与排错实验(中文版1.1)宣贯.pdf
2022-03-15 10:53:10BGP路由协议原理、配置与排错实验(中文版1.1)宣贯.pdf -
BGP路由协议详解(完整篇)
2017-04-21 09:33:53BGP路由协议详解(完整篇).pdf -
BGP路由协议详解(完整版)
2020-07-28 21:41:23(免责声明:来源于网络,版权原作者所有,转载仅为了传播、学习交流使用,如需删除请私信联系,严禁其他用途。) (转载与:开源Linux) ...(免责声明:来源于网络,版权原作者所有,转载仅为了传播、学习交流使用,如需删除请私信联系,严禁其他用途。)
(转载与:开源Linux)
-
BGP路由协议③
2022-01-24 16:17:32IBGP的水平分割:当一个路由器从一个IBGP对等体学习到某一条BGP路由时,他将不再把这条路由信息通告给其他的IBGP对等体。 1.路由反射器: 原理: 将一台IBGP配置为路由反射器(RR),而被配置为路由反射器的...IBGP水平分割的解决方法:
IBGP的水平分割:当一个路由器从一个IBGP对等体学习到某一条BGP路由时,他将不再把这条路由信息通告给其他的IBGP对等体。
1.路由反射器:
原理:
将一台IBGP配置为路由反射器(RR),而被配置为路由反射器的设备在一定条件下将反射学习到的路由信息。
当指定一台设备为路由反射器(RR)时,必须指定一个或多个邻居成为他的客户。路由反射器和客户之间构成的系统我们称为反射簇(看成一个整体),每一个簇设置一个簇ID(簇ID为这个反射簇中RR的RID),而其他没有被定义的邻居被称为非客户(一个区域内可以有多个RR)
反射规则:
①如果RR从客户处学来一条IBGP路由,则它将反射给自己所有的客户和非客户(还有EBGP)
②如果RR从非客户处学来一条IBGP路由,则它将反射给自己所有的客户(还有EBGP),但是不反射给其他的非客户
③当路由器在进行路由反射时,只反射自己BGP路由中最优的路由(和BGP路由的传递规则相同,反射器传递的路由是优选路由">")
反射器存在的问题:
因为IBGP水平分割主要是为了环路产生,而路由反射器反射后相当于打破了IBGP的水平分割规则,将有可能出现路由环路。
而为了避免路由环路产生,路由反射器在设计的时候,专门引入了两个属性来避免环路的产生(Originator_id和Cluster_list :起源者ID和簇列表),而这两个属性只是在IBGP内部进行防环而使用的(RR在进行路由反射时,除了会在路由信息中添加以上两个属性外,其他属性不变)。
起源者ID:起源者ID就是这条路由信息始发者的RID,当某一条路由经过RR反射后,反射出来的路由信息将增加这个属性。如果RR收到一条路由信息存在起源者ID,则不去修改这个属性。
当一台设备收到路由信息后,发现里面的起源者ID是自己本地的RID,则将不会接受这条路由信息以避免路由回传
簇列表:如果一个AS内部存在多次反射的话,那么一定存在多个反射簇,则每个RR在反射路由信息的时候会在路由信息中的簇列表属性中加入本地的簇ID。
配置:
如图,此时AS2区域内有三个IBGP, 我们除了可以让他们互相之间建邻之外,还可以让他们建立一个路由反射器,此时可以选择在R11上建立路由反射器,使得AS1区域内的路由信息通过EBGP对等体,转发给AS2区域内的其他客户。(此时要注意RR的客户和非客户的转发规则)
[r11-bgp]peer 2.2.2.2 reflect-client [r11-bgp]peer 4.4.4.4 reflect-client #此时设置R10和R11为路由反射器的客户,R11做为RR //要注意的是,路由反射器是基于IBGP对等体下建立的,所以需要先建立AS内IBGP对等体
2.联邦:
联邦EBGP关系之间仅继承EBGP之间路由传递的规则,但是不能像EBGP对等体一样修改路由属性,还需要遵守AS-BY-AS规则,是一种特殊的存在。
而联邦EBGP之间的防环是直接采用EBGP水平分割的机制来进行防环,直接在AS_PATH属性中增加成员AS号来进行防环,只不过联邦的AS号会使用括号括起来,来进行区分。这个属性主要是用来进行AS内部防环使用,所以,也不会传递给EBGP对等体。
注意:
①联邦EBGP是不需要建立在IBGP对等体关系上的!!!
②联邦之间采用的联邦EBGP进行建邻的,而联邦EBGP不是真正意义上的EBGP对等体,所以需要在建立联邦EBGP时将TTL设置为1(>1)
③联邦EBGP是在一个公有的AS区域内划分私有的AS区域进行建立的,所以建立联邦EBGP需要声明其的公有区域
④联邦EBGP建邻(EBGP,IBGP)都需要声明需要建立的区域
⑤联邦只是做到了联邦之间的IBGP水平分割,而联邦内部还是需要建立路由反射器或者互相建邻来完成联邦区域内部的水平分割破坏
配置:
//联邦的IBGP和EBGP对等体关系建立 [r2]bgp 64512 #联邦成员启动BGP进程时,指定联邦的私有号启动 [r2-bgp]router-id 2.2.2.2 #声明本地的RID [r2-bgp]confederation id 2 #联邦成员进程中一定要声明自己所在的真实AS号 [r2-bgp]peer 12.0.0.1 as-number 1 #和EBGP对等体建立关系 //联邦内IBGP对等体的建立 [r2]bgp 64512 #联邦成员启动BGP进程时,指定联邦的私有号启动 [r2-bgp]router-id 2.2.2.2 #声明本地的RID [r2-bgp]confederation id 2 #联邦成员进程中一定要声明自己所在的真实AS号 [r2-bgp]peer 3.3.3.3 as-number 64512 #和联邦成员建立IBGP邻居关系时,指定对等体IBGP的联邦私有号 [r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0 #使用环回建立BGP对等体 //联邦间EBGP对等体的建立 [r3]bgp 64512 [r3-bgp]router-id 3.3.3.3 [r3-bgp]confederation id 2 [r3-bgp]confederation peer-as 64513 #需要建立联邦的EBGP对等体关系前,指定对方的联邦号为直接的邻居联邦 [r3-bgp]peer 4.4.4.4 as-number 64513 [r3-bgp]peer 4.4.4.4 connect-interface LoopBack 0 [r3-bgp]peer 4.4.4.4 ebgp-max-hop 2 #因为联邦EBGP之间是在IBGP对等体下建立的,所以需要修改TTL
BGP的选路原则:
前提条件:
选择状态码为"*"的,比较选择使用状态码为">"的路由信息
例图:
此时AS2内的R4能收到R1的BGP环回路由信息
<r4>display bgp routing-table BGP Local router ID is 4.4.4.4 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 2 Network NextHop MED LocPrf PrefVal Path/Ogn *>i 192.168.1.0 192.168.2.1 0 100 0 1i * i 192.168.3.1 0 100 0 1i
选路原则:
自上到下匹配
1.优先Preferred-value属性值最大的路由
Preferred-value是华为私有属性,意为权重。Pv属性是本设备选路优先级最高的属性,越大越优。这个属性是不会进行传递的,只能在本设备上进行修改,传递出去的路由条目将不携带这个值(不传递)。即在对端收到这个路由后,这个属性依旧是本地的默认值。
如果只是修改一条路由信息的Pv值,则会递归修改这一条线路的所有路由的优先级(这条线路上所有的线路都会被优选)。而如果只是修改单一的路由信息的PV值,则需要做负载分担(使不同的流量走不同的路线,用来分担单一线路的路由压力),使用路由策略进行流量操作。
- 直接修改本地的PV值
[r4-bgp]peer 192.168.3.1 preferred-value 100 #修改对应邻居发送的路由信息的PV值,IBGP的邻居为对应的环回路由 //此时对比前后相同路由的优选方案 //修改PV之前 [r4-bgp]display bgp routing-table BGP Local router ID is 4.4.4.4 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 2 Network NextHop MED LocPrf PrefVal Path/Ogn *>i 192.168.1.0 192.168.2.1 0 100 0 1i * i 192.168.3.1 0 100 0 1i //修改PV之后 [r4-bgp]display bgp routing-table BGP Local router ID is 4.4.4.4 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 2 Network NextHop MED LocPrf PrefVal Path/Ogn *>i 192.168.1.0 192.168.3.1 0 100 100 1i * i 192.168.2.1 0 100 0 1i
- 通过过滤列表进行范围流量控制
//使用前缀列表抓取范围流量(192.169.1.0/24) [r4]ip ip-prefix lxb permit 192.169.1.0 24 [r4]route-policy lxb permit node 10 Info: New Sequence of this List. [r4-route-policy]if-match ip-prefix lxb [r4-route-policy]apply preferred-value 100 //如果匹配前缀列表lxb则执行pv+100的操作 [r4-route-policy]q //前缀列表需要默认配置放行操作 [r4]route-policy lxb permit node 20 Info: New Sequence of this List. [r4-route-policy]q //在BGP进程中调用过滤列表(因为PV是修改本地值,所以需要在本地的入方向修改) [r4]bgp 2 [r4-bgp]peer 192.168.3.1 route-policy lxb import //此时再次查看BGP的路由列表 [r4-bgp]display bgp routing-table BGP Local router ID is 4.4.4.4 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 4 Network NextHop MED LocPrf PrefVal Path/Ogn *>i 192.168.1.0 192.168.2.1 0 100 0 1i * i 192.168.3.1 0 100 0 1i *>i 192.169.1.0 192.168.3.1 0 100 100 1i * i 192.168.2.1 0 100 0 1i
2.优先Local-Preference属性值最大的路由
Local-Preference是本地优先级属性,默认为100(越大越优)。
LP值是IBGP内部使用的属性,可以在IBGP邻居之间传递。而传递给EBGP邻居时将不携带该属性(IBGP内部最常用的属性),可以使用路由策略进行流量修改。
- 直接修改IBGP的LP值
//在其他的路由器上进行LP值的修改 [r3-bgp]default local-preference 200 //此时查看bgp路由表上的路由优先级 [r4-bgp]display bgp routing-table BGP Local router ID is 4.4.4.4 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 4 Network NextHop MED LocPrf PrefVal Path/Ogn *>i 192.168.1.0 192.168.3.1 0 200 0 1i * i 192.168.2.1 0 100 0 1i *>i 192.169.1.0 192.168.3.1 0 200 0 1i * i 192.168.2.1 0 100 0 1i
- 使用路由策略进行操作
//在R3上进行前缀列表抓取 [r3]ip ip-prefix lxb permit 192.168.1.0 24 //使用策略进行修改 [r3]route-policy lxb permit node 10 Info: New Sequence of this List. [r3-route-policy]if-match ip-prefix lxb [r3-route-policy]apply local-preference 200 [r3-route-policy]q //放行其他流量 [r3]route-policy lxb permit node 20 Info: New Sequence of this List. [r3-route-policy]q //在BGP进程中进行调用策略 [r3]bgp 2 [r3-bgp]peer 192.168.4.1 route-policy lxb export //此时再次查看R4上的路由选择 [r4-bgp]display bgp routing-table BGP Local router ID is 4.4.4.4 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 4 Network NextHop MED LocPrf PrefVal Path/Ogn *>i 192.168.1.0 192.168.3.1 0 200 0 1i * i 192.168.2.1 0 100 0 1i *>i 192.169.1.0 192.168.2.1 0 100 0 1i * i 192.168.3.1 0 100 0 1i
3.本地始发的BGP路由优于从其他对等体学到的路由
本地始发的路由信息始终大于从别人那学的
本地始发路由的优先级:手动聚合>自动聚合>network>重发布
可以使用路由策略进行流量修改
4.优先AS_PATH属性最短的路由
AS_PATH选路的基本原则:记录AS号越少越优
①在聚合路由时开启AS_SET后,将不同的AS明细路由用AS号用大括号括起来放入AS_PATHS属性中。但在比较选路时,不管大括号中包含多少个AS号,都会被当做一个来看待
②在联邦时,联邦内部也需要使用AS来进行防环,会使用小括号表示。这比较选路时,将不考虑小括号中的内容。
#通过修改AS_PATH来改变路由选路时,由于添加的AS_PATH号可能会在真实网络中存在。AS_PATH属性还可以进行防环,可能会导致添加的AS_PATH无法接受路由信息。(所以自主添加的AS_PATH最好为本地的AS号,如: 2 2 2 )
可以使用路由策略进行流量修改
//使用前缀列表抓取流量 [r2]ip ip-prefix lxb permit 192.168.1.0 24 //使用路由策略进行修改 [r2]route-policy lxb permit node 10 Info: New Sequence of this List. [r2-route-policy]if-match ip-prefix lxb [r2-route-policy]apply as-path 2 23 2 24 additive #增加AS_PATH additive是指在原有的AS号基础上增加AS号 #增加AS_PATH overwrite是指在清楚原有的AS号之后添加AS号 [r2-route-policy]q //默认放空 [r2]route-policy lxb permit node 20 Info: New Sequence of this List. [r2-route-policy]q //在R2的出方向导入策略 [r2]bgp 2 [r2-bgp]peer 192.168.4.1 route-policy lxb export //此时查看R4的BGP路由表 <r4>display bgp routing-table BGP Local router ID is 4.4.4.4 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 4 Network NextHop MED LocPrf PrefVal Path/Ogn *>i 192.168.1.0 192.168.3.1 0 100 0 1i * i 192.168.2.1 0 100 0 2 23 2 24 1i *>i 192.169.1.0 192.168.2.1 0 100 0 1i * i 192.168.3.1 0 100 0 1i
5.优先Origin属性最优的路由
IGP(network)>EGP>其他(重发布)
#可以使用路由策略进行流量修改
//使用前缀列表抓取流量 [r2]ip ip-prefix lxb permit 192.168.1.0 24 //使用过滤列表进行小操作 [r2]route-policy lxb permit node 10 Info: New Sequence of this List. [r2-route-policy]if-match ip-prefix lxb #修改ori为? [r2-route-policy]apply origin incomplete [r2-route-policy]q //应用前缀列表 [r2]bgp 2 [r2-bgp]peer 192.168.4.1 route-policy lxb export //此时再去R4上查看路由选路 <r4>display bgp routing-table BGP Local router ID is 4.4.4.4 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 3 Network NextHop MED LocPrf PrefVal Path/Ogn *>i 192.168.1.0 192.168.3.1 0 100 0 1i * i 192.168.2.1 0 100 0 1? *>i 192.169.1.0 192.168.3.1 0 100 0 1i
6.优先MED值最小的路由
MED多出口鉴别属性:初始值是继承了IGP协议/静态路由/直连路由在路由表中的开销值,该属性可以影响其他AS的流量如何流入自己的AS中
BGP协议在进行宣告时,可以宣告路由表中任意的路由条目,默认将这些路由的开销值继承到BGP路由的MED属性中。
若本地宣告的BGP路由传递给EBGP邻居,将携带MED值,便于EBGP邻居所在AS内部的设备进行选路;若本地通过IBGP邻居学到的BGP路由,也将传递给自己的EBGP邻居,但是会将MED值归0传递(因为这个度量值并不是本地产生)即:存在EBGP邻居关系的所有设备都建议宣告内部AS的路由。
注意:在进行MED比较时,多条相同的路由信息必须来自同一个AS才可以,且AS_PATH中的AS号的最新值必须相同,否则没有可比性(需要来自最新的同一个区域)
此时如果R12没有开启MED值,而R13开启MED值,此时,R11得知到达R14的cost为5,然后通过AS内部传递给R10,此时R10由于与R12直连,将发送信息给R12到达R14的cost为5,但是这明显是错误的,所以在使用MED度量值时候,需要全部开启MED度量值或者!!!
7.优先从EBGP对等体学到的路由(EBGP>IBGP)
边界路由器优先选择从EBGP对等体学到的路由信息,而不是从IBGP对等体学来的信息
//同时在R1和R4上宣告192.169.1.0/24这个路由信息 [r1-bgp]network 192.169.1.1 [r4-bgp]network 192.169.1.1 //此时来到R2上查看BGP路由信息 #此时优先选择从 <r2>display bgp routing-table BGP Local router ID is 2.2.2.2 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 3 Network NextHop MED LocPrf PrefVal Path/Ogn *> 192.168.1.0 12.0.0.1 0 0 1i *>i 192.169.1.0 192.168.4.1 0 100 0 i * 12.0.0.1 0 0 1i
8.优先到NEXT_Hop的IGP度量值最小的路由
到达下一条的本地路由开销值进行比较,与其他参数无关(本地到达的的cost)
//修改R2的ospf值 [r2-LoopBack0]ospf cost 10 //此时再去查看BGP路由选路 [r4-bgp]display bgp routing-table BGP Local router ID is 4.4.4.4 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 4 Network NextHop MED LocPrf PrefVal Path/Ogn *>i 192.168.1.0 192.168.3.1 0 100 0 1i * i 192.168.2.1 0 100 0 1i *>i 192.169.1.0 192.168.3.1 0 100 0 1i * i 192.168.2.1 0 100 0 1i
9.优先Cluster_list短的路由
此时AS3的会优先选择AS联邦内路由器少的哪一条路由(如图,此时会选择AS64513)
10.通过起源者ID最小的路由(Originator_id)
由于联邦内部的IBGP仍然有水平分割机制,此时需要使用到RR(路由反射器),而RR中有携带这起源者ID,此时会去选择起源者ID小的那一天路由信息 (如图为AS64512)
11.优先具有最小ip地址的对等体宣告的路由
如果联邦内的路由器数量一致,且RR为同一个路由器,则R4会去选择他的IBGP对等体的最小的那个(此时则是比较R3和R6的建邻时,谁的IP地址最小)
BGP的社团属性:
BGP的社团属性可以类似的理解为路由标记。可以给不同的BGP路由当中打入不同社团属性, 之后, 对携带社团属性进行通告。便可以根据路由中的社团属性抓取流量, 制定策略。
社团属性本身其实就是个标号, 用来区分路由的 --- 由32位二进制
构成 --- 两种写法: 1,直接十进制表示; 2,十六位: 十六位 --- 前16位设定为该路由所在AS的AS号, 后16位为自定义编号。
注意, 一条路由中可以打入多个社团属性
BGP中有几个定义的公认社团属性
① 0X0000 00000 --- internet
所有BGP路由默认属于这个名词为“internet”社团中。如果使用路由过滤器匹配社团属性为internet的路由时,将匹配任意一条BGP路由
② 0XFFF FFF02 --- advertise
带上这个社团属性的路由将不被通告给其对等体
③ 0XFFF FFF01 --- no-export
带上这个社团属性的路由间无法通告给自己的EBGP邻居(不包括联邦的EBGP邻居)
④ 0XFFF FFF03 --- no-export-subconfed
带上这个社团属性的路由间无法通告给自己的EBGP邻居(包括联邦的EBGP邻居)
-
BGP路由协议实验配置命令
2022-04-27 18:51:00拓扑中,配置BGP,CR1、CR2、AR属于AS65004,并且内部运行OSPF,BR属于AS65003,BR与CR1、CR2建立EBGP关系,其中AR所接用户网络使用loopback1,loopback2,loopback3模拟。 配置IP地址 interface Ethernet0/0/0//...实验拓扑
拓扑中,配置BGP,CR1、CR2、AR属于AS65004,并且内部运行OSPF,BR属于AS65003,BR与CR1、CR2建立EBGP关系,其中AR所接用户网络使用loopback1,loopback2,loopback3模拟。
配置IP地址
interface Ethernet0/0/0 //配置接口IP地址和Loopback地址,配置每台路由器同样方法
ip address 30.1.1.2 255.255.255.252
interface Ethernet0/0/1
ip address 40.1.1.2 255.255.255.252interface LoopBack0
ip address 1.1.1.1 255.255.255.255
interface LoopBack1
ip address 200.1.1.1 255.255.255.255
interface LoopBack2
ip address 200.1.1.2 255.255.255.255
interface LoopBack3
ip address 200.1.1.3 255.255.255.255 //配置IP地址和Loopback地址查询指令:display ip interface brief
配置IGP功能OSPF
配置CR1、CR2、AR 都属于65004区域
ospf 1 router-id 4.4.4.4 //以AR为例 所有路由器配置方法一样
area 0.0.0.0 //OSPF单区域使用区域0
network 4.4.4.4 0.0.0.0 //宣告本地loopback地址
network 10.1.1.0 0.0.0.3 //宣告两个接口地址
network 20.1.1.0 0.0.0.3查询指令: display ospf peer display ip routing-table //查询OSPF邻居 state为full说明建立成功
配置BGP功能
CR1:
bgp 65004 // 运行BGP协议AS号65004
peer 3.3.3.3 as-number 65004 // 遵循内部IGP用loopback,EGP用物理接口,配置对等体
peer 3.3.3.3 connect-interface LoopBack0 //指明用loopback创建内部邻居
peer 4.4.4.4 as-number 65004
peer 4.4.4.4 connect-interface LoopBack0 //强制用loopback创建内部邻居关系
peer 30.1.1.2 as-number 65003 //指明用物理接口创建外部邻居 默认用物理接口
#
ipv4-family unicast //普通的BGP邻居关系
peer 3.3.3.3 enable
peer 3.3.3.3 next-hop-local //内部传递路由强制修改下一跳
peer 4.4.4.4 enable
peer 4.4.4.4 next-hop-local
peer 30.1.1.2 enable //外部邻居默认修改下一跳查询命令:display bgp peer //状态显示established说明邻居正常运行
路由引入
BR //把三条外部路由手动注入到65003 同样把3条外部路由也注入到65004
bgp 65003
ipv4-family unicast //把三条外部路由注入到65003
network 200.1.1.1 255.255.255.255
network 200.1.1.2 255.255.255.255
network 200.1.1.3 255.255.255.255
查询指令:display ip routing-table protocol bgp display ip routing-table路由聚合
BR
bgp 65003 //65003和65004引入外部路由都要聚合,简化路由条目
ipv4-family unicast
aggregate 200.1.1.0 255.255.255.0 detail-suppressed查询指令: display ip routing-table
路由策略
AR
bgp 65004
ipv4-family unicast
peer 3.3.3.3 preferred-value 300 //首选值设置成300,默认为0 越大越优。此命令可实现AS65004流量出口方向路径为 AR-CR2-BRCR1
route-policy MED permit node 10
apply cost 100 //使用apply修改COST值 越小越优。AS65004流入方向路径为BR-CR2-ARbgp 65004
ipv4-family unicast
peer 30.1.1.2 route-policy MED export //MED越小越优,默认为0 发送路由修改MED值查询指令:display bgp routing-table
BR上查看控制路由策略,根据修改属性控制流量走向
故障处理排查
1 底层端口 TCP连接 ping //ping -a 源地址 目的地址 对等体就是邻居
2 TCP端口179正常开放 ACL查看策略 //display acl all
3 connect-interface 创建内部邻居关系用loopback ,默认物理接口。 //display this
4 AS自制系统编号 // peer IP AS-numeber 邻居自治系统编号要对应
5 router-id (router-id 1.1.1.1 全局配置 同时配置OSPF和BGP的ID)一般不手动配置,OSPF和ISIS必须明确配置。默认随机抽取一个接口IP作为ID。
6 EBGP邻居 多跳,默认创建直连EBGP用物理接口,默认不支持用Loopback创建远程邻居关系,手动创建远程max-hop修改允许创建多跳邻居关系。
7 抓包 -
BGP路由协议及其相关配置
2020-11-09 15:09:42BGP路由协议及其相关配置一、AS的概念二、BGP的概述2.1 BGP概述2.2 BGP的特点2.3 BGP分类2.4 IBGP的水平分割规则2.5 BGP的路由器号(Router-ID)三、BGP的工作原理3.1 BGP的报文3.2 BGP的状态机3.3 BGP对等体之间的... -
通信与网络中的Zebra与BGP路由监测的实现
2020-11-11 03:18:36通过路由软件Zebra实现一个具有部分路由器功能的监测代理,并将其连接到网络中一台BGP边界路由器,通过它们之间的BGP协议交互,监测代理可捕获到整个网络的路由信息,并籍此进行BGP路由监测。 1 引言 随着... -
BGP路由协议全解.ppt
2021-04-04 21:38:15BGP路由协议全解 -
计算机网络:BGP路由协议
2021-05-22 11:00:24BGP路由协议的概述 首先,再当前的互联网中,BGP是目前唯一支持的外部网关协议EGP的协议,用于自治系统AS之间传递路由信息,目前的版本为4。 从图中可以看出,BGP协议是连接自治系统AS的“桥梁”。 为什么需要BGP... -
【网络干货】最全BGP路由协议技术详解
2020-10-25 13:26:29一、BGP 的基本概念 自治系统AS(Autonomous System) AS 是指在一个实体管辖下的拥有相同选路策略的 IP 网络。BGP 网络中的每个 AS 都被分配一个唯一的 AS 号,用于区分不同的 AS。AS 号分为 2 字节 AS 号和 ... -
最常用路由协议RIP-1/2 OSPF IS-IS BGP的特点对比
2020-10-01 12:50:10RIP协议是最早的路由协议,OSPF是目前应用最广泛的IGP协议,IS-IS是另外一种链路状态型的路由协议,BGP协议是唯一的EGP协议,那么这几种路由协议有什么特点和不同呢?下面就一起来看看了解下 -
BGP路由协议原理PPT教案.pptx
2021-10-02 08:26:44BGP路由协议原理PPT教案.pptx -
BGP路由协议原理学习课程.pptx
2021-09-30 19:50:49BGP路由协议原理学习课程.pptx -
BGP路由协议原理学习教案.pptx
2021-09-29 23:37:09BGP路由协议原理学习教案.pptx -
Linux下加强BGP路由协议.docx
2021-09-26 23:33:41Linux下加强BGP路由协议.docx -
BGP路由协议②
2022-01-19 21:23:51BGP的基础配置: BGP的路由发布: BGP的路由聚合: BGP的路由黑洞: BGP的防环机制: BGP防环机制使用的是水平... BGP协议在路由条目中记录所经过的AS编号:AS_PATH BGP传输本地数据时带上本地的AS_PATH信息(A... -
Ad Hoc网络中按需路由协议AODV分析报告x_BGP路由协议
2020-05-09 06:00:211 AODV协议概述 AODV协议是在DSDV协议基础上综合类似DSR中的按需路由机制进行改进后提出的不同之处在于AODV采用...点就是加入了组播路由协议扩展并支持QoS但是AODV是基于双信道的假设工作路由应答报文沿路由请求报文的 -
D BGP路由协议设计PPT课件.pptx
2021-10-06 23:29:53D BGP路由协议设计PPT课件.pptx -
BGP路由协议原理PPT学习教案.pptx
2021-10-01 17:17:17BGP路由协议原理PPT学习教案.pptx -
IP骨干网 BGP路由协议扩展性详细介绍
2020-03-04 11:27:03BGP是目前应用在因特网上的IP网络互联协议,为运营商之间的互联提供了稳定而安全的路由协议,具有丰富的路由控制机制。为了更好地控制路由策略,当前大部分的运营商均将BGP部署到骨干路由器。随着网络的不断扩展、... -
BGP(Border Gatreway Protcol)边界网关路由协议
2022-04-07 15:37:13BGP是什么? AS知识点说明 ...BGP被称为基于策略的路径矢量路由协议,它的任务是在自治系统之间交换路由信息同时确保没有路由环路,其特征如下: BGP数据库 BGP消息类型 BGP报文类型总结: BGP工作流程