多路访问网络next-hop
实验:
r2:
int s0
ip add 12.1.1.2 255.255.255.0
no sh
int lo0
ip add 2.2.2.2 255.255.255.0
r1:
int s0
ip add 12.1.1.1 255.255.255.0
no sh
int e0
ip add 134.1.1.1 255.255.255.0no sh
int lo0
ip add 1.1.1.1 255.255.255.0
no sh
r3:
int e0
ip add 134.1.1.3 255.255.255.0
no sh
int lo0
ip add 3.3.3.3 255.255.255.0
no sh
r4:
int e0
ip add 134.1.1.4 255.255.255.0
no sh
r2:
router bgp 2
bgp router-id 2.2.2.2
no syn
no au
neighbor 12.1.1.1 remote-as 1
r1:
router bgp 1
bgp router-id 1.1.1.1
no syn
no au
neighbor 12.1.1.2 remote-as 2
router rip
v 2
no au
net 134.1.0.0
net 1.0.0.0
router bgp 1
neighbor 3.3.3.3 remote-as 1
neighbor 3.3.3.3 update-source lo0
r3:
router rip
v 2
no au
net 134.1.0.0
net 3.0.0.0
router bgp 1
bgp router-id 3.3.3.3
no syn
no au
neighbor 1.1.1.1 remote-as 1
neighbor 1.1.1.1 update-source lo0
neighbor 134.1.1.4 remote-as 4
r4:
router bgp 4
bgp router-id 4.4.4.4
no syn
no au
neigbor 134.1.1.3 remote-as 1
r2:
router bgp 2
network 2.2.2.0 maks 255.255.255.0
r1:
router bgp 1
neighbor 3.3.3.3 next-hop-self
icmp重定向,
r3:
debug ip bgp updates(查看更新报文)
clear ip bgp *soft
r4看到r2路由的下一跳是134.1.1.1 这个是r3判断出来的。
bgp状态:
1.idle空闲状态类似初始状态,正在查看路由表邻居是否在本地有路由。
2.connect本台路由器已经找到邻居路由,已经完成了3次握手
3.open sent发送open报文建立邻居,包括as号,密码,timout
4.open confirm
5.established
停在idle和active时候情况
idle:根本没有对方的路由,
established已经建立好邻居,是个数字表示。
active如果停在这里,有四种可能性。
1.一直在idle和acitve循环,igp路由,邻居没有我的路由表。
2.neighbor错了邻居地址
3.根本没有neighbor
4.as号配置错误
bgp 邻居认证
router(config-router)#
neighbor {ip-address | peer-group-name} password string
使用md5的认证方式
r3:
router bgp 1
neighbor 1.1.1.1 password smoke 密钥会携带在open报文中。
show ip bgp rib-failure(路由信息库)
r>当路由即从ibp学到又从bgp学到,igp的ad小于bgp的ad,不放进路由表,但是会传给其他的bgp邻居。
清除bgp邻居
clear ip bgp *硬清除,断开tcp连接,*清除所有邻居。
clear ip bgp [neighbor-address]针对某个邻居清除
clear ip bpg *soft
show ip bgp neighbor 12.1.1.1 advertised-routes(向某个邻居发送了哪些信息)
show ip bgp neighbor 12.1.1.2 received-routes(从某个邻居收到哪些路由)
neighbor 12.1.1.2 soft-reconfiguration inbound(通过自己内存保留邻居给我发哪些路由)
把任何协议重发布进bgp的时候,会自动汇总,需要使用no auto-summary
实验:
r1:
router bgp 1
redistribute rip
show ip bgp
cidr和聚合
auto summary
把一种协议重发布进入bgp,不携带原有的下一跳和metric值,会自动汇总
no auto summary
携带原有的下一跳和metric值,不自动汇总
实验:
r2:
1.手工写静态路由null0
network 汇总路由
int lo200
ip add 200.1.16.2 255.255.255.0
int lo201
ip add 200.1.17.2 255.255.255.0
int lo202
ip add 200.1.18.2 255.255.255.0
int lo203
ip add 200.1.19.2 255.255.255.0
ip route 200.1.16.0 255.255.252.0 null 0
router bgp 2
network 200.1.16.0 255.255.252.0
2.network明细路由,agg
router(config-router)#
aggregate-address ip-address mask [summary-only] [as-set]
r2:
router bgp 1
netwrok 200.1.16.2 mask 255.255.255.0
netwrok 200.1.17.2 mask 255.255.255.0
netwrok 200.1.18.2 mask 255.255.255.0
netwrok 200.1.19.2 mask 255.255.255.0
aggregate-address 200.1.16.0 255.255.252.0 summary-only(只发布聚合后的路由)
bgp做聚合会存在明细路由和汇总路由
s>被抑制掉的路由,不会给邻居传。summary-only起的效果。
aggregate-address 200.1.16.0 255.255.252.0 suppress-map sup(抑制列表,抓出来的路由被抑制掉)
ip prefix-list 1 permit 200.1.16.0/23 ge 24 le 24
ip prefix-list permit 200.1.16.0/x ge y le z
len<ge<=le
router map sup
match ip address prefix-list 1
如何聚合和明细路由不是在同一台路由器上,不让他回传回去。
r1:
router bgp 1
aggregate-address 200.1.16.0 255.255.252.0 summary-only as-set (还原聚合路由明细的属性)
bgp path属性
1.公认可选
2.强制遵守和自己决定
3.属性传播范围
4.添加
bgp属性(*为公认必尊)
1.as path *
2.next-hop
3.origin*
4.local preference
5.med
6.oters
origin(起源属性)igp(i)
network进bgp
ebp(e)
重发布egp
incomplete(?)
重发布igp或静态到bgp实验:ip prefix-list 2 permit 2.2.2.0/24
route-map 0
match ip address prefix-list 2
set origin egp 2 (as号)
route-map 0 20
router bgp 1
neighbor 12.1.1.2 route-map 0 in
选路原则:
首先确保关闭同步,下一跳都可达。路由都优化的情况下。
越大越好1-3
1.比最大的wight值
2.本地优先级
3.优先于起源本地的
越小越好4-9
4.经过的as-path越少越好
5.起源属性igp<egp<incomplete
6.med
7.ebgp优于ibgp
8.优先于最近的igp邻居
9.比bgp邻居最小的router id
bgp选路详解
1.优先选择具有最大WEIGHT值的路径。WEIGHT是Cisco的专用参数,只对配置了它的路由器局部有效
2.优先选择具有最大LOCAL_PREFERENCE值的路径
3.优先选择通过BGP命令network、aggregate在本地产生的路径,或者通过IGP重新发布的路径。本地network、redistribute命令产生的路径比aggregate-address命令产生的路径具有较高的优先级
4.优先选择具有AS_PATH的路径。AS_PATH是特定的更新分组为了到达本地自治系统而经过的自治系统列表。路径经过的AS越少,当选的可能性就越大。注意:
n 如果配置了bgp bestpath as-path ignore,这条规则将被跳过。
n 无论集合中包含多少AS,一个AS_SET按1算
n AS_CONFED_SEQUENCE不包含在AS_PATH长度内
5.优先选择具有最低产生类型的路径。各产生类型的顺序关系:IGP<EGP<INCOMPLETE
6.优先选择具有最低MED值的路径。注意:
n 只有两条路径来自于同一个AS时,才进行MED的比较。联盟子AS将被忽略。换句话说,就是多条路径的AS_SEQUENCE中的第一个AS相同时,才比较MED。任何AS_CONFED_SEQUENCE都将被忽略
n 如果bgp always-compare-med被激活,将对所有路径进行MED比较。这个选项需要在整个AS中激活,否则可能出现路由环路
n 如果bgp bestpath med-confed被激活,将在仅由AS_CONFED_SEQUENCE(由本地联盟产生的路径)组成的所有路径之间比较MED
n 从邻居收到的MED值为4294967295的路径在插入BGP表之前,要将值改为4294967294
n 对于收到的没有MED值的路径,除非bgp bestpath missing-as-worst命令被激活,否则都要分配一个MED值0.在激活该命令的情况下,路径将赋予MED
值4294947294
n bgp deterministic med也会影响这一步
7.优选eBGP而不是iBGP,包含AS_CONFED_SEQUENCE的路径是联盟的本地路径,因而按照内部处理。联盟内部和联盟外部没有区别
8.优选BGP下一条具有最低IGP度量的路径
9.如果maximum-paths 被激活,将有来自同一相邻AS或子AS的多条外部或联盟外部路径,BGP将最近收到的路径插入IP路由表中,最多插入n条。这将允许在多条
eBGP路径之间分担负载。目前n的最大值是6。该选项被禁止时的缺省值是1.最早接收的路径在show ip bgp longer-prefixes的输出中标记为最优路径,在向内部对等体转发该路径之前要运行next-hop-self的等价命令
10.如果两条路径都是外部的,则优选先接收的那一条。这一步能够最小化路由抖动,因为即使基于RID应该选择新路径,新路径依然不能代替老路径。仅对iBGP路径应用11、12、13中的额外决定步骤将是更好的方法,它们能够确保网络中最优路径决策的一致性,从而避免路由环路。如果下面的任何一项为真,这一步就会被跳过:
n bgp bestpath compare-routerid 命令被激活
n 由于多条路由来自于同一条路由器,他们的RID都一样
n 不存在最有路径。当提供最优路径的邻居失效时,就可能出现丢失当前最优路径的情况
11.优选具有最小RID的BGP路由器的路径。RID是路由器上的最大IP地址,倾向于赋给回环地址。也可以通过bgp router-id命令手工设置。如果一条路径包含RR属性,产生者ID将在最优路径选择过程中代替RID
12.如果多条路径的产生者或RID一样,则优选具有最小簇ID长度的路径。这只存在与运行BGP路由反射的环境中,这种环境中用户跟RR或其他簇的用户是对等的。在这种情况下,用户必须知道特定的RR的BGP的属性
13.优先选择来自最低邻居地址的路径。这是一个在BGP邻居配置中使用的IP地址,它对应于与本地路由器有TCP连接的远程对等体。
标签:bgp,ip,路径,BGP,255.255,路由,router,2.5 From: https://www.cnblogs.com/smoke520/p/18354112