网工必须要了解BGP外部网关路由选择协议

首先它是边界网关协议 BORDER GATEWAY PROTOCOL
TCP/IP中唯一的一款AS之间使用的协议 ,但我们使用静态默认也可以去往外网,并且你使用bgp要接收外网的明系路由,15w条外网明系还会占用极大的内存空间,转发数据负担更大,查表延时也更加高。为啥要使用BGP?
bgp作为一个比较高级的协议不是所以厂商所有设备都能跑,

那么可以提出一概念单宿主和多宿主。
1. 单:只有一个外线连接
2. 多:多个出口,可以保证冗余,高可用性。
静态默认只能让你去往外网,当你外线足够多,当你有选路空间,有选路需求的时候靠bgp是不够的。
bgp让as的路由器获得外网明系路由,并且这些属性可以修改供我们来选择 调整。解决多宿主环境下的选路问题 不但能够影响内网访问外网从哪个接口出,还能影响外网访问内网都哪个接口进。

* 用法:1.纯粹bgp让路由器能获得外网的完整明系路由,通过操作属性来,完成选路。2.静态默认结合bgp明系。

icmp重定向:当路由器收到数据包,发现该数据包需要从接收接口在转发出去,所以在转发第一个包文的同时,会给信源返还一个icmp重定向的包,告诉它我是一个次优路径。
bgp的自动汇总:当通过network 和destribulist 来引入路由时 不继承下一跳 和度量值

最大的特点:

通过bgp来传递路由,可以包含各种各样的属性。通过route-map来对他做一个修改,可以实现修路的特性。从内到外访问外网从哪个边界出,外到内通过哪条链路进。路径矢量协议,可以知道接收到时的数据包始发哪个as,经过哪些as。因为有AS-path特性。

bgp的更新里包含路由。 是一个dv协议,即使是一个dv协议对路由器的消耗也非常大。 如果是ls我感觉 会直接瘫掉。无类。

五种报文,交互报文需要tcp连接,因为bgp报文都是通过tcp来封装的。tcp是一个点到点协议,只支持单播报文。bgp 179端口 建立bgp邻居 会跟你完成tcp的三次握手 会发送目的端口为179目的端口为随机的一股流量 。两端都会发送,只会建立一条,谁先指对方为neighbor谁就会保留,后指的会被断掉,响应对方的三次握手 会完成3次握手建立会话。

想要成为AS必须向IANA购买as号没有只能是一个园区 0-65535, 0不能用。
公有:1-64511
私有:64512-65535
4134中国电信第一个
后期扩展32位的空间。

路由逻辑也跟igp不同,它关注的不是路由器本身。是AS .

对于bgp而言,as就是一台逻辑的路由器。如果在一个as内下一跳是不变的。
只有当你把数据传递给其它as的时候,下一跳才会变更为这个路由器针对邻居的更新源地址。

bgp没有度量值的概念而是通过属性修改一定是使用route map 。
希望成为穿越as可以运行BGP。

bgp支持的路由条目数量是最大的。isis才4万条。这是算法的差距。2.运行bgp可以修改路由策略,通过修改策略可以完成选路,在igp中使用路由策略只能控制从哪个出口出。可以花式选路3.可扩展性比甚至isis还要强。通过多款AFI和SAFI。

可以基于ipv4的AFI来传递ipv4路由,可以基于ipv6的AFI来传递ipv6路由,可以基于vpn v4的AFI来传递vpn v4路由。AFI 策略只有本地意义。两台路由器建好邻居,其实正常情况下,你告诉对方来激活哪一个AFI邻居。

BGP允许不同的人来做策略,并不影响整体连通性。bgp特性:可靠的协议运行了tcp,tcp通过面向连接的机制,可靠 在路由器之间传递,不用担心丢包,太快拥塞。总而言之tcp会通过一系列的可靠传输机制,来保证路由器之间正常交互报文。

bgp建邻居和传路由是两码事,igp邻居建立的同时路由也就传递了,bgp不同。运行bgp的同时必须要先运行igp或者静态,通过igp 学习到的路由导入到bgp里去。以bgp的形式在把路由发送走 ,bgp默认不会产生任何路由。 路由搬运工。要么通过重分发和宣告来实现 。

邻居通过你学习到路由。它就能发送给他的邻居。也能通过aggregatee来做汇总和聚合进而发送 。路由只传一次,下一次v2的触发更新。发完之后针对 路由修改属性,修改完这条路由不会重新发送,也就是说修改的属性他不会生效,需要清一下进程在重新给邻居发送走。clear ip bgp * //软重置 后加soft .
硬重置完三次握手会被断除,要重新建立。但代价太大了,要断网三分钟。
软重置邻居还在,只会把某些/所以路由在向邻居发送一次。

*号是正则表达式的术语代表全部。

华为:修改完调用了route policy之后 这个策略就生效 了。原因是因为bgp会自动的去做软重置。只要策略起到了效果,华为路由器会瞬间的自动软重置。

igp建立邻居交互hello。bgp通过open的报文来建立邻居,只交互一个,里面信息同步完成后。会通过60s的keepalive来保活。3倍down。

BGP的路径属性:
MED多出口 鉴别器 在cisco中会拿metric来替代它。把其它协议重分发进bgp的时候会做一个度量值继承,把igp的度量值继承到bgp的med属性中去,各国各大运营商之间都是通过bgp来建立邻居。

默认不支持等价负载均衡的协议、

假如一台路由器又运行bgp和ospf ,当都通过他俩学到了相同路由,比管理距离小的加
IBGP 200 EBGP20 ibgp负责在as之间的边界路由器建邻居。 运行bgp的路由器就叫speak
三张表:

  1. 邻居表: 放置邻居关系
  2. BGP 表:包含属性的路由表在bgp表里
  3. 路由表:最优路由。

5种报文

  1. 路由刷新 要求邻居给我在重新发送路由,这时候在经过策略生效了
  2. open 3次握手在交互open邻居就能建立。open里面也会有很多参数,router id (其它一样)
  3. keepalive要维持邻居关系
  4. update bgp发路由前提是你要产生路由或者是你要收到路由。
  5. notification 报警 指邻居指错了。当你运行bgp时出现问题要么基于配置要么基于协议运作,发现问题的路由器就会产生这类报文。

ibgp 内部 邻居关系: 两台路由器属于同一个AS 传递的是ibgp路由

ebgp 外部 邻居关系:不同as ,传递ebgp路由

ebgp邻居只能使用直连接口地址来建立,ebgp报文的 ttl值为1,意味只能1跳。 因为没办法跟其它接口建立邻居,建邻居需要路由,又不能igp写静态多麻烦 。

bgp的邻居叫对等体运用bgp的路由器叫speak.

下一跳逻辑:通过network产生路由,始发路由器的本地Bgp路由表就会先产生该BGP 路由,在给邻居路由器发送走,本地路由表关于该下一跳有两种可能 。

  1. :0.0.0.0
  2. 继承该路由本身下一跳的地址

取决于被通告的路由原本在路由表中是否包含下一跳。

ibgp可以跨越路由器,在非直连的两台路由器之间来建立邻居的

ibgp防环机制

对于始发路由器

通告给ibgp邻居

  1. 如果该路由在本地BGP表下一跳0.0.0.0通告给igbp邻居,会理性路由的下一跳。改变成该路由器针对该邻居的更新源地址。
  2. 如果该路由在本地BGP表包含下一跳通告给igbp邻居,下一跳不变。

通告给ebgp邻居
下一跳一定会变更为本地针对邻居的更新源地址

通过ibgp邻居收到
  1. 通过ibgp邻居收到一条路由,只能传递给ebgp邻居(ibgp的水平分割),通过ibgp学到一条路由只能发送给ebgp.下一跳变更自身针对该邻居的更新源地址。
  2. 通过ebgp邻居收到一条路由,可以发送给ibgp邻居也可以发送给ebgp邻居,向ibgp邻居发送下一跳不变。 向ebgp发送下一跳变更自身针对该邻居的更新源地址。

路由下一跳的强行修改

在思科中 next-hop-shlf
华为:nest-hop-local

通过ebgp收到路由在传递给ibgp邻居,要针对ibgp邻居修改下一跳

Ebgp防环机制: AS-path:属性,用来描述使发了哪个as,经过了哪了as最终到达本地
始发默认为空,发送ibgp邻居的时候,as-path也为空,只有传给ebp邻居的时候,传之前会把as号放在as-path里面发送走,每传一条增加as信息。

一台路由器如果收到ebgp路由,会检查as-path 字段的。看是否包含自身的as号在里面。如果没有包含代表这条路由从来没有来过,这种路由可以接收并且转发。as-path包含自身,会丢弃。

neighbor xxxx shutdown 暂停

特殊环境下bgp的修整:-台路由器去往上游邻居的下一-跳地址如何与其去往下-游跳邻居的更新源地址的下一-跳在同- 一个IP子网段内
该路由器通过上游邻居收到路由转发给下游邻居的时候会将路由的下一-跳设置为其去往上游邻居更新源地址的下一-跳地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乾坤道

给点吧我是学HCIE的

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值