ip笔记(10)

BGp — 边界网关协议

As — 自治系统 — 由单—机构或组织管理的—些列IP网络及其设备的集 合。
1,网络范围太大,协议跑不过来,需要进行划分;
2,自治管理

为了方便区分和标定不同的As,我们给每个自治系统设计了—个编 号 — As号 — 16位二进制构成 — 0 - 65535;其中0和65535为保留 值,不用,所以,As号真正的取值范围为1 - 65534;我们将64512 - 65534As号称为私有As号。 — 因为传统的As号存在不够用的问题,所 以目前也存在拓展版的As号 — 32位构成 — 目前绝大多数设备已经支 持拓展版的As号

EGP协议在之前还存在—款协议 — EGP,但是由于其功能有限,后来 在其基础上进行优化和改进,生成了现在的BGP协议。目前As之间使用 最广泛的协议就是BGP协议。

在目前IPⅤ4环境下,使用最广泛发BGP版本是BGPⅤ4。目前市场上已 经存在BGPⅤ4+。 BGPⅤ4+又可以称为MP-BGP — 可以支持多种地址族 的应用。
在没有BGP协议的情况下,仅使用重发布技术,也可以实现As之间的 路由信息的共享。但是,之所以不采用这种方案,其原因如下:
1,重发布技术本省存在缺陷 — 在多点重发布中,因为种子度量值
问题,必然造成选路不佳
2 ,AsBR设备的归属问题

BGP之间传递路由信息的方式—定是和RIP类似,通过传递路由条目信 息来实现。 ---- 之所以不使用拓扑信息,主要因为:1,拓扑信息资源占 用量太大,而BGP需要传递的数量是巨大的。2,传递拓扑信息将暴露本 As内部的拓扑连接情况。

BGp — 无类别的路径矢量型协议
距离矢量 — 在距离矢量型协议中,距离是开销的体现,将跳数 作为开销值的评判标准。将—个路由器看作是—个单位计算距
离。
距离矢量是算法的概念,因为1Gp协议本身需要通过算法来计 算出未知网段的路由信息。
路径矢量 — 是将—个As看作—个整体
路径矢量不牵扯算法,因为BGp仅仅是将1Gp计算出来的路由 信息发送到其他As之中,相当于仅将现成的路由进行传递而 不需要计算。

1Gp — 选路佳,收敛快,占用资源少

BGp协议的关注点
1 ,可控性 — As之间需要传递大量的路由信息,所谓可控,就 是可以更方便的干涉选路,更容易做路由策略。
为了保证可控型,BGP舍弃了开销值。取而代之的是BGP给 每条路由信息附加了很多路径属性。之后,可以通过这些属性来 进行选路。因为多种属性的存在,将导致我们的选路变的更加的 灵活和方便。使得BGP协议具有强大的可操控型。
因为BGp协议需要传递大量的路由信息,所以,其本身不可能存 在周期更新机制。 BGp仅存在触发更新。

2 ,可靠性 — 需要保证数据传输的可靠。 BGP为了保证传输的 可靠性,其传输层协议直接选择使用TCP协议。使用TCP的179
号端口进行工作。
1Gp协议不选择使用Tcp的原因:
1 ,TCP传输效率较低
2 ,Tcp传输占用资源较大 3 ,Tcp协议只能实现单播,所以,无法通过组播或者广 播的形式发送,则将导致1Gp协议无法自动发现邻居关 系,只能手工指定。

因为BGp选择使用的是Tcp协议,所以,BGp需要手工建立邻 居关系。

BGp因为传输层使用的是Tcp协议,所以,只要在Tcp协议可

以正常建立会话的基础上就可以完成BGp的建邻工作。 ---- BGP支持非直连建邻(网络可达) — BGP的非直连建邻建 立在IGP (静态)之上

在BGp中,我们将邻居关系称为对等体关系。
EBGp对等体关系 — 如果建立对等体的两台路由器位于不同 的As中,则他们的关系被称为EBGP对等体关系。 1BGp对等体关系 — 如果建立对等体的两台路由器位于同— 个的As中,则他们的关系被称为IBGP对等体关系。

因为,EBGp对等体之间—般使用直连建邻,所以,EBGp对等 体之间发送的数据包中的TTL值我们将其设置为1。如果遇到 EBGp对等体之间需要进行非直连建邻,则需要手工修改TTL 值。 1BGp对等体关系在As内部—般都是非直连建邻,所以, TTL值设置为255。

3 ,As-BY-As — 在BGp当中,我们将—个As看作—个整体。
BGp协议是不支持负载均衡的。---- 在BGp当中,如果到达同 —个目标网段存在多条路径可以走时,BGp将会根据其中的 路径属性来选择—条最优的加载到路由表中,而不会进行负 载均衡。

1 ,BGp的数据包
BGp协议所有数据包的传输的可靠性均由Tcp协议来保证。所有 BGp数据包均基于Tcp建立的会话通道发送。
OsPF的HdIIo — 可以周期性的发现,建立和保活邻居关系。

在BGp中,发现邻居关系的过程变为由人手工指定。主要因为Tcp协议 需要建立会话通道,之后才会基于通道发送数据包。

open包 — 建立BGP对等体关系。 ---- 邻居关系的建立无非就是参数 协商的过程。 BGP建立邻居关系需要通过OPEN包来携带参数,进行
比对协商。
As号 — 在创建邻居关系时需要指定邻居所在的As号,这个参数 将被携带在OPEN报文中发送给对方,对方将比对这个As号和本 地所在的As号是否—致,如果—致,则可以正常建立邻居关系。 认证 — BGP建邻也可以做认证,做认证后将携带认证口令,认 证口令双方需要比对,—致则可以正常建立邻居关系。

RouTE-1D ---- 区分和标定路由器的。也是由32位二进制构成,按 照1p地址的格式来表示。 ---- 1 ,手工配置;2,自动获取(先看 设备是否存在环回接口,如果存在则将选择环回接口中IP地址最 大的地址作为RID,如果没有环回接口,则将在物理接口中选择 IP地址最大的作为RID)
这个R1D将在opEN包中携带,发送到对端之后,对端将检测这个 R1D,如果和本地的R1D不同,则将可以正常的建立邻居关系。

手工建立邻居关系时所指定的建邻的1p地址必须和收到的open 包中的源1p地址相同才能正常建立邻居关系。否则,邻居关系将 建立失败。
Holdtime — 保活时间 — 默认时间为180s,在保活时间内,如 果没有收到对方发送的iddpIevd包或者upcVtd包,则将断开BGP 邻居关系。这个参数在opdn报文中将被携带,但是,双方不— 致不会影响邻居关系的建立,但是在执行时,这个时间必须是— 致的,则将采用双方中较小的保活时间来使用。

路由器是否支持刷新功能也将成为opEN报文中所携带的—个协商 参数。
keeplive包 — 周期保活 — 周期发送时间等于保活时间的1/3。默认 保活时间180s,则默认的周期发送时间为60s。
除了保活之外,keeplive包还将在open报文协商参数时临时充当 确认包的作用。
Tcp协议进行确认的目的是为了保证数据传输的可靠性,而 keeplive报文确认的目的是为了确认认可对方发送的open报文中 的参数。

update包 — 更新包 — 携带需要传递的路由信息的数据包。表示— 条路由条目信息,需要携带的参数主要就是目标网络号和子网掩码信 息,以及路径属性。
在更新包中,存在—个撤销路由条目字段,在这个字段下的路由条
目将需要对端删除,而不再需要通过带毒传输的方式来表达。
notification包 — BGP中设计的—个告警机制。

Route-refresh包 — 用于改变路由策略变更后请求对等体重新发送路由

信息。(前提条件是双方均支持路由刷新功能才行。)

2 ,BGp的状态机
BGP的状态机描述的是BGP对等体建立过程中状态的变化。因为BGP
这个协议可以将邻居建立过程和路由收发过程分开进行。
BGp的状态机 — 6种

1DLE — 空闲状态 — 路由器启动BGP进程之后,将先处于ecId状态。
当你手工指定邻居关系后,BGP将进入到—个检查环节,检查指定的
IP地址在本地路由表中是否可达。如果可达,则将进入到下—个状
态 — aonndat。

connect — 连接状态,该状态完成TCP会话的建立。
如果Tcp会话建立成功,则将进入到opensent状态,发送open报
文。
如果Tcp会话建立失败,则将进入AcT1VE状态,尝试重新建立Tcp
会话。
在建立Tcp会话过程中,因为双方都会主动发起建立会话的过
程,而最终建立的都是—个双向的会话。所以,最终只需要保持
—个会话通道即可。选择方式是通过后续open报文中的R1D进行
比较,选择保留R1D大的设备发起的Tcp会话。

opensent — 发出本地的opdn报文。收到对端发送的opdn报文,查
看里面的参数,之后,如果确认参数无误。则将回复iddpIevd报文作
为确认。

openconfirm — opdn报文确认状态 — 对端也收到本地发送的opdn 报文,之后根据里面的参数进行确认。如果确认无误则将发送 iddpIevd报文。本段收到对方发送的iddpIevd报文之后将进入下—个 状态。

Established — 建立状态 — 标志着BGP对等体关系的建立。

3 ,BGp的工作过程
1,基于1Gp协议实现1p可达 2,指定邻居关系,通过三次握手,建立Tcp的会话通道。之后所有 BGp的数据报都将基于Tcp会话通道来进行传递。 3,使用open报文和keeolive报文进行邻居关系的建立。之后将邻居关 系收集到—张表中 — 邻居表。 4,通过update报文传递路由信息。传递的路由条目信息中主要包含 目标网络号,掩码信息,以及各种路径属性。之后,设备会将所有自 己发出的以及收到的路由信息记录在—张表中 — BGP表。 5,之后将BGp表中的最优路径加载到路由表中。 6 ,收敛完成后,BGp将周期使用keeplive报文进行保活。保活时间默 认为180s,周期发送时间默认为保活时间的1/3,即60s。 7,若出现错误信息,将使用notification报文进行告警。 8,若发生结构突变,则将使用update报文进行触发更行。
4 ,BGp的路由黑洞

由于BGP协议支持非直连建邻,故可能出现BGP协议跨越未运行BGP协 议的路由器。导致BGP路由传递后,控制层面可达,但是数据层面,在经 过未运行BGP协议的路由器时无法通过。形成路由黑洞。
1,在R3上将BGP协议的路由信息重发布到IGP当中。
2,直接在R4上运行BGp协议
3 ,MpLs
为了避免路由黑洞的情况产生,BGp提出了同步机制 — 即当—台路 由器从自己的IBGP对等体学习到—条BGP路由时,他将不能把他通告 给自己的EBGP对等体,除非他又从IGP协议当中学习到这条路由。
5 ,BGp的防环
BGp使用的防环机制 — 水平分割机制

EBGp的水平分割 — —种专门应用在EBGP对等体之间,用来解决
EBGP对等体之间可能出现的环路问题。
BGp协议将在路由条目中记录所经过的As编号 ---- As.pATH — 记 录As路径的—个属性。(这个属性除了可以完成EBGp的水平分割 外,还可以作为选路的依据。) — 接收到的BGP路由条目中, 其中的As PATH属性中,若存在本地的As号,则将拒绝接受。

1BGp的水平分割 — —种专门应用在IBGP对等体之间,用来解决
IBGP对等体之间可能出现的环路问题。

1BGp水平分割 — 当—个路由器从—个IBGP对等体处学习到某条
BGP路由时,他将不能在将这条路由信息通告给其他的IBGP对等
体关系。

因为1BGp水平分割的限制,导致1BGp对等体之间的路由信息只能传递
—跳,在这情况下,可能会造成通信障碍。解决方案:
1,构建全连的1BGp对等体关系 — 这样的方法弊端在于1,全连
建邻会导致资源消耗增加;2,可能会导致网络的可拓展性降
低。
2,路由反射器
3,联邦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值