BGP

BGP
BGP建立邻居的状态过程
BGP使用的是TCP来建立邻居关系
RIP使用的是UDP建立
OSPF和EIGRP什么也不使用
BGP建立邻居的过程:
Idle:
connect:
准备跟对方发送TCP邻居建立请求,尝试着开启TCP,一旦开启成功就会尝试着跟对方建立TCP三次握手,如果握手成功了就会进入open-sent状态跟对方发送open消息,如果握手失败就会进入Active状态进行重试。
open-sent:
发送open消息,open消息会携带着bgp当前的一些参数和属性跟你能不能匹配,匹配的上就建立邻居,匹配不上就不建立邻居,如果一旦确定跟你是可以建立邻居关系的就会进入到open-confirm,确认是可以建立邻居的
open-confirm:
之后就进入到Established状态,建立成功
Established:
邻居建立成功
open-sent open-confirm Established这三个状态一旦出现错误就会直接回到Idle状态
MED:
以度量值的方式建议路由走的方向。
BGP路径属性
公认属性Well-Known
公认必遵:BGP必须都能识别,且在更新下溪必须包含:Origin、AS-Path、Next hop
公认自决:BGP必须都能识别,更新消息可以不包含:Local-Perference、ATOMIC_Aggregate
可选属性Optional
可选传递:可以不支持该属性,但是应当接受包含该属性的路由并传递给其他邻居:Community、
Aggregator
可选非传递:可以不支持该属性,不识别的BGP进程沪铝包含这个属性的更新消息,并且不传递
Weight权重
在R7上修改权重值
router bgp 400
neighbor 6.6.6.6 weight 10 #所有6给我的路由变成10
weight权重值越大越优
但是这样所有6.6.6.6给我的路由的权重值都会被修改,那怎么办呢?
access-list 1 permit 1.1.1.0 #我们可以先写一个acl,把1.1.1.0匹配出来
router-map R6 permit
match ip address 1
set weight 10 #修改权重值
exit
route-map R6 permit 20
router bgp 400
neighbor 6.6.6.6 route-map R6 in #在in方向套用route-map
注意权重只能影响自己(别人给自己的路由),不能影响他人,所以在in/out需要注意
本地优先级LocalPreference
BGP默认情况下是没有负载均衡的,所以一定会选择一条好坏来
BGP表中去往7.7.7.7分明有两条路径,但是R3选择从2走,没有选择5
然后我们会发现这个局域网内,4也从2走,如果我们希望能够影响着个局域网,让R3优选从5走,我们可以修改本地优先级,但是本地优先级指挥影响AS内部,此时我们可以在两个地方对5.5.5.5路由的优先级作出更改,一个是5给三的时候在3的入口,还有一个是3在学习5的时候出口处做出更改
注意:本地优先级越大越优,默认为100
此时我们在R5出口上做出更改
access-list 1 permit 7.7.7.0
route-map R3 permit
match ip address 1
set local-preference 110
route-map R3 permit 20
router bgp 200
neighbor 3.3.3.3 route-map R3 out
end
AS_Path(越短越好)
如图,两个AS_Path长度相同,分辨不出来优先走哪个,这个时候我们可以同把2.2.2.2的AS_Path加长一些,让他可以优先走5.5.5.5
加长是有说法的,如果在1给2的时候加长时,加入了200,这时候2是不会接受的,因为,防环机制不会学习与自身AS值相同的,所以长度会影响路径的选择,而添加的内容是可以影响到哪个区域学,哪个区域不学的。
此时我们想让所有人学到,我们可以选择加100 100,这样只会影响到长度。
access-list 1 permit 7.7.7.0
route-map R2 permit
match ip address 1
set as-path prepend 100 100
route-map R2 permit 20
router bgp 100
neighbor 2.2.2.2 route-map R2 out
这是我们看见7.7.7.0从5.5.5.5这边学习了
如果我这边修改AS_Path的时候我们添加的是200
route-map R2 permit
match ip address 1
set as-path prepend 200
现在我们看见,彻底的不从1.1.1.1这边学习了,就是因为防环机制的影响,不学习与自身AS一样的路径
注意:修改as_path在AS内部是不变的,所以对于IBGP而言,修改无效
Origin起源
EGP这个协议已经不存在了,
?表示丢失掉了起源的信息,什么样的路由会丢失掉起源的信息呢,答案是被重发布过的路由
但是,被重发布过的路由可能会把额外的路由重发布进来,比如说:直连的路由
所以我们重发布的时候需要给他限制一下,使用acl或者前缀列表prefix-list都可以
ip prefix-list R1lo0 seq 5 permit 1.1.1.0/24
route-map c-b permit
match ip address prefix R1lo0
router bgp 100
redistribute connect route-map c-b
我们会发现,起源从i变成了?
第二种修改方法:直接对R2套用route-map
ip prefix-list R1lo0 seq 5 permit 1.1.1.0/24
match ip address prefix-list R1lo0
set origin incomplete #这里我们可以直接对他的起源进行设定
router bgp 100
net 1.1.1.0 msak 255.255.255.0 #需要把1.1.1.0宣告进网络,不然2学不到
neighbor 2.2.2.2 route-map R2 out #套用一下route-map
会发现起源直接被改了
MED
我们会发现2345区域内4.4.4.4是优选从6进去7的
我们现在不允许去动1,6,7,我们怎么诉别人,让他们优选从从1走
MED起到建议的作用,建议别人从哪边走,MED实现的方式是度量值,他会通过度量值给别人看,让别人决定从哪边走好一点
现在我们看4.4.4.0的度量值是没有
度量值越大越垃圾,越小越优
所以我们现在到5上面,给他加个度量值
access-list 1 permit 4.4.4.0
route-map R6 permit
match ip address 1
set metric 123
route-map R6 permit 20
router bgp 200
neighbor 6.6.6.6 route-map R6 out
注意:度量值只能两个AS之间相互传,不能跨一台设备传给下一个AS
NEXT_HOP
neighbor 5.5.5.5 next- hop-self #对5.5.5.5邻居修改下一跳自己
因为不同的AS之间,下一跳不可达
也可以使用route-map修改next_hop
直接是set next-hop
COMMUNITY团体属性
这个属性是一种标记,之前学的tag标签只是一种数字而已,这个数字只是在路由的下游被识别抓出来进行一些操作
而community也带有这种功能也可以在路由里面加一个标记,这是他最基本的功能,第二个功能是他里面的标记有一些是由特殊功能的标记,就是说他的标记绝大部分也可能是数字,你想定什么定什么,但是有几个标签是比较特殊的,你路由器看到了,你哪怕不写route-map,不去设置他,不去更改他,只要他夹带了这几个标签,被路由器看到了,路由器就会默认的执行某些动作
这些特殊的标签格式为 100:233,前面一般是AS号,后面是你自己定的
我们现在把打上community属性的给抓取出来
route-map R1 permit
match community 后面居然不是要我们输入一个数字,而是一个community-list,随意我们现在需要一个community-list
ip community-list 1 pemit 100:123 #标准的团体属性列表
route-map R1 permit
match community 1
set weight 10
route-map R1 per 20
router bgp 200
neighbor 1.1.1.1 route-map R1 in
这边我们就看见,通过识别community抓取出来的路由,更改了权重值,这里我们看见了效果
ip community-list 100 permit ^100:.* #拓展的团体属性列表,可以使用正则表达式
团体属性里面有几个众所周知的值,
比如local-AS不要让发送离开本地AS,意思就是不要让他离开我这个AS,这个路由你不要告诉其他AS,我们内部想用就行了
比如说我们现在这个4.4.4.4在发送之前,我祝福了一件事情,你不要离开我们这个AS200,这里我们应该跟路由反射器讲,因为路由反射器告诉所有的人
access-list 1 permit 4.4.4.0
route-map R3 per
match ip add 1
set community local-AS
route-map R3 per 20
router bgp 200
neighbor 3.3.3.3 route-map R3 out
local-AS是不要告诉其他AS
no-advertise是不要告诉给其他人
BGP的路由汇总Atomic Aggregate及aggregator

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值