世界就是一个家,连接靠“你”靠“我”靠“大家”--BGP

BGP–边界网关路由协议

世界那么大还是遇见你?,不是所有东西都可以这么幸运能够遇见。

网络中如果想要访问世界的某个人,我们知道,需要有路由,就像有地图你才能知道如何去往洱海,但是今天我想去巴黎,明天我想去纽约,真要写这么多路由,我小小一个路由器也承受不起呀,
那么该肿么办?
只好在一个区域范围内,找上这么几个人,专门将路由告诉给其他区域的人,区域之间传汇总的路由,全球都分成许多许多的区域,每个区域都有许多的负责人。

就像下图中一样,你想给她写封信,告诉她你还爱着她,知道她住哪儿,信写好了,你把信交给区域负责人,区域负责人将你的信交给她所在区域的负责人,那个区域负责人再将信交给了那个她,那个她看了信十分感动,回了你信,再又信去的方向返回,你拆开信一看:我都结婚了,你才想着找我?

在这里插入图片描述
本文包含以下内容:各位小伙伴按需阅读哦!

1.BGP设计特性
2.BGP特点
3.BGP数据包
4.BGP的工作过程
5.BGP的防环
6.简单的BGP配置

1.BGP设计特性

学习BGP协议,我们需要牢记以下几个特性!:在BGP的设计当中有不明白的地方,都还可以仔细揣摩一下它的设计特性

可靠性
	大量的路由共享,取消周期更新      
	TCP 179端口工作TCP 仅基于单播通信     
	BGP协议需要单播建立邻居关系(手工指定邻居的ip地址)BGP可以非直连建邻(peer),BGP承载于IGP之上;大量的路由共享,取消周期更新      
可控性 --- 建邻、路由宣告、选路控制(干涉选路)--非常容易进行选路控制
AS-BY-AS    以一个AS为一跳

2.BGP特点

无类别路径矢量 -----距离矢量的升级版---AS--BY--AS
使用单播更新来发送所有信息;
基于TCP 179端口工作增量更新--仅触发无周期
具有丰富的属性来取代IGP中度量进行选路----多个参数控制协议
可以在进项和出项对流量实施强大的策略--可控性
默认不被用于负载均衡-----通过各种选路规则仅仅产生一条最佳路径BGP
支持认证和聚合(汇总)

3.BGP数据包

BGP基于TCP的179端口工作;故BGP协议中所有的数据包均需要在tcp179端口会话建立后,基于TCP的会话来进行传输及可靠性的保障;首先通过TCP的三次握手来寻找到邻居。

Open       仅负责邻居关系的建立,正常进收发一次即可;携带route-id,hold time 默认3min
Keeplive    保活    周期1min查询邻居关系是否存在;实际保活TCP会话;
Update     携带路由条目     目标网络号+各种属性
Notification   出现错误数据时收发;

4.BGP的工作过程

工作过程便是配置过程,也是检查配置是否出错的过程,下面分为三张表:邻居表,bgp表,路由表来看bgp的工作过程,和后期检查bgp的配置情况!

1.管理员定义邻居的ip地址,前提要求对邻居ip可达; --- IGP可达,启动BGP协议后,先目标端口为179进行TCP的三次握手来建立TCP的会话;会话建立后,收发open报文来建立邻居关系,生成邻居表;

2.邻居关系建立后,邻居间使用update 共享路由条目,在收发了路由信息后,本地生成BGP表;Bgp表中装载本地发出及接收到的所有路由条目;

3.随后路由器将BGP表中的最优路径(不一定是最佳选路,仅为BGP参数最佳)加载于路由表中;收敛完成!仅keeplive周期保活即可;

对于结构突变:

 新增网段 – BGP更新源设备将使用update来告知本地所有的邻居 
 断开网段 – BGP更新源设备将使用update来告知本地所有的邻居
 无法沟通 – 3min hold time到时时断开邻居关系和TCP会话,之后删除从该邻居处学习到的所有信息;
 BGP更新源设备并不一定直连断开或新增网段的设备,而是第一台将该路由发布到BGP协议中的路由器;

5.BGP的防环–水平分割防环

作为一个需要传递大量路由的协议来说,防环是必须的!!

1、EBGP水平分割—防止EBGP环路利用BGP条目中的as-path 属性,该属性将记录所有经过的AS编号;接收到的路由条目中若as-path中存在本地的AS号,将拒绝接收;
2、IBGP水平分割—防止、IBGP环路
	基于AS-BY-AS特性,BGP的路由条目默认在一个AS内部传递时,其属性不变化;	
	IBGP水平分割--- 从一个IBGP邻居处学习到的路由条目不得传递给本地其他IBGP邻居;
	因为BGP协议具有非直连建立邻居的能力,故在一个AS内部只要设备运行BGP协议,那么其必然存在EBGP邻居关系(一定连接了其他的AS);IBGP水平分割规则将导致在一个AS内部所有运行了BGP协议的路由器间,均需要建立IBGP邻居关系,才能正常传递路由条目---建立邻居关系的配置成指数增长;可以使用联邦和路由反射器来解决该问题;

本文中没有介绍路由黑洞和如何利用联邦和反射器来解决路由黑洞,将再下一篇文章中进行阐述。有兴趣的小伙伴可以关注我哦。

6.简单的BGP配置

实验需求如下图:
在这里插入图片描述配置思路:

1.全网拥有有效ip地址,配置igp,先在as2里起ospf
2.起bgp建立bgp邻居关系
3.bgp网段宣告。

1.全网拥有合法IP地址,并在AS2内起ospf。
在这里插入图片描述
学到了相互的路由。
在这里插入图片描述
2.起bgp
在as2网段,只有r1的环回和r5的环回不知道。所以起bgp协议来传递r1和环回网段和r5的环回网段。

这里没有使用防止路由黑洞的方法,所以AS内所有路由器都起bgp协议。

需要建邻如下:
在这里插入图片描述
R1和R2之间直连建邻,两者都需要建邻。
在这里插入图片描述
R2和R3之间采用环回建邻居,

其实环回存在的目的就是为了建邻

在这里插入图片描述
在这里插入图片描述
R4需要和R3建邻,同时需要和R5建立,

如果采用直连建邻,必须选择一条路径来建立邻居关系,无法实现负载均衡,应该采用环回建立邻居,需要建立邻居,得先有对方的路由!。

可以看到,其没有R5环回的路由,故需要先写一条静态;路由,拥有了路由,可以访问才能建立bgp邻居

在这里插入图片描述

故需要写静态路由。在这里插入图片描述
去往5的环回有是负载均衡的
在这里插入图片描述
同理在R5上配置静态到R4的环回。二者之间可以通信后,便可以建立邻居关系。
在这里插入图片描述
R4:
在这里插入图片描述
R5建邻如下:
在这里插入图片描述
2.2起bgp后查看邻居表!
通过查看邻居的状态观察建邻情况
在这里插入图片描述
在这里插入图片描述
发现45之间无法建邻居

在这里插入图片描述
因为需要修改ebgp之间的ttl值,这里默认为1.
在这里插入图片描述
修改后,邻居关系建立完成。
在这里插入图片描述
3bgp路由宣告
Bgp不负责计算路由,只负责转发路由。只需要将需要转发的网络进行宣告就ok了 在R1上宣告1的环回,随后可以在R2上看到他的路由。
在这里插入图片描述
R2会将学到的bgp路由传递给自己的bgp邻居。
在这里插入图片描述
但是,此时在R4上看不到这条路由,是由于bgp 的水平分割。从一台igp邻居处学到的路由不会传给下一个igp邻居。这里可以使R2和R4之间也建立邻居,便可实现路由的传递。
在这里插入图片描述
这时R4上便学到了R1的环回路由。更改路由下一跳为自己,便可以将路由传递到AS3去。

宣告了R5环回的路由。但是由于R4上有到达R5的静态路由,故,无法进行将R5的环回进行传递。
在这里插入图片描述
静态路由优于R5bgp传来的路由,这里可以通过修改静态路由的办法

按道理是只需要修改是静态路由和bgp宣告路由不同便可以,这里使用了没有改变,便采用修改环问为/24掩码,静态为/32位掩码的办法。
R4:
Undo ip route-static 5.5.5.5 255.255.255.0 45.1.1.2
Undo ip route-static 5.5.5.5 255.255.255.0 54.1.1.2
ip route-static 5.5.5.5 255.255.255.255 45.1.1.2
ip route-static 5.5.5.5 255.255.255.255 54.1.1.2
R5:
Undo ip route-static 4.4.4.4 255.255.255.0 45.1.1.1
Undo ip route-static 4.4.4.4 255.255.255.0 54.1.1.1
ip route-static 4.4.4.4 255.255.255.255 45.1.1.1
ip route-static 4.4.4.4 255.255.255.255 54.1.1.1

此时再查看bgp路由表
在这里插入图片描述
修改到达邻居的下一跳,可以使得其他邻居加表为优秀。

查看R1路由表:
在这里插入图片描述
拥有了网段的全部环回路由,进行ping测试。
在这里插入图片描述

而为什么直接ping5.5.5.5不能通的原因是,流量会从12网段发出,而R5上并没有12网段的路由,控制层面不可达。所以无法ping通。

在这里插入图片描述
实验到这里就结束了。

给博主点个赞吧,给生活加个油。!奥里给!干了兄弟们。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42707739/article/details/104822373