HCIP第十天笔记

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协议。

在目前IPV4环境下,使用最广泛发BGP版本是BGPV4。目前市场上已经存在BGPV4+。BGPV4+ 又可以称为MP- BGP ---可以支持多种地址族的应用。

在没有BGP协议的情况下,仅使用重发布技术,也可以实现AS之间的路由信息的共享。但是,之所以不采用这种方案

其原因如下:

1,重发布技术本省存在缺陷---在多点重发布中,因为种子度量值问题,必然造成选路不佳

2,ASBR设备的归属问题

BGP之间传递路由信息的方式-定是和RIP类似, 通过传递路由条目信息来实现。--- 之所以不使用拓扑信息

主要因为:

1,拓扑信息资源占用量太大,而BGP需要传递的数量是巨大的。

2, 传递拓扑信息将暴露本AS内部的拓扑连接情况。

IGP ---选路佳,收敛快,占用资源少

BGP协议的关注点

1,可控性--- AS之间需要传递大量的路由信息,所谓可控,就是可以更方便的干涉选路,更容易    做路由策略。

为了保证可控型,BGP舍弃了开销值。取而代之的是BGP给每条路由信息附加了很多路径属性。之后,可以通过这些属性来进行选路。因为多种属性的存在,将导致我们的选路变的更加的灵活和方便。使得BGP协议具有强大的可操控型。

因为BGP协议需要传递大量的路由信息,所以,其本身不可能存在周期更新机制。BGP仅存在触发更新。

2,可靠性---需要保证数据传输的可靠。BGP为了保证传输的可靠性,其传输层协议直接选择使用TCP协议。使用TCP的179号端口进行工作。

IGP协议不选择使用TCP的原因:

1,TCP传输效率较低

2,TCP传输占用资源较大

3,TCP协议只能实现单播,所以,无法通过组播或者广播的形式发送,则将导致IGP协议无法自动发现邻居关系,只能手工指定。

 

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

BGP因为传输层使用的是TCP协议,所以,只要在TCP协议可以正常建立会话的基础上就可以完成BGP的建邻工作。BGP支持非直连建邻(网络可达) --- BGP的非直连建邻建立在IGP (静态)之上.

3, AS-BY-AS --在BGP当中,我们将一个AS看作一 个整体。

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

BGP的数据包

BGP协议所有数据包的传输的可靠性均由TCP协议来保证。所有BGP数据包均基于TCP建立的会话通道发送。

OSPF的Hello ---可以周期性的发现,建立和保活邻居关系。

 

手工建立邻居关系时所指定的建邻的IP地址必须和收到的open包中的源IP地址相同才能正常建立邻居关系。否则,邻居关系将建立失败。 

 

 

 

BGP的状态机 

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

BGP的状态机--- 6种

Idle
BGP协议初始时是处于Idle状态。在这个状态时,系统不分配任何资源,也拒绝所有进入的BGP连接。只有收到Start Event时,才分配BGP资源,启动ConnectRetry计时器,启动对其它BGP对等体的传输层连接,同时也侦听是否有来自其它对等体的连接请求。Connect Retry 计时器会呈现级数级的增加

Connect
这个状态下BGP等待TCP完成连接,再决定后续动作:

1,若连接成功,本地清空ConnectRetry计时器,并向对等体发送OPEN报文,然后状态改变为           OpenSent状态;
2,连接失败,BGP会继续侦听邻居发出的连接,重置 Connect Retry 计时器并将自己状态转移到       Active 状态
3,Connect Retry时间超时,重置ConnectRetry计时器,再次试图与邻居建立TCP连接,BGP 保持     Connect 状态,出现其他事件转 入 Idle 状态。


Active

置于Active 状态时 BGP 试图与邻居建立一个 TCP 的连接;

1,如果 TCP 连接成功,BGP 将 Connect Retry 计时器清零,完成初始化,给邻居发送Open 消息     并将状态置为 Open,hold 时间置为4mins 。
2,如果在 Active 状态,Connect Retry计时器超时回 Connect 状态并重置 Connect Retry 计时器。
3,如果试图与一个未知 IP 建立 TCP 会话,同时 Connect Retry 计时器重置,拒绝连接并保持           Active 状态。
4,任何一个事件都会导致重回 Idle

OpenSent
在此状态,已经发送了 open 消息,BGP 需要等待邻居发送的 open 消息包;

1,收到open消息,如果发现有差错,将给邻居发送一个 notification 消息并将状态置为 Idle 。
2,如果收到 open 包消息没错,将发送 keeplive 包给邻居,并建立IBGP或者EBGP状态置为 Open     confire state 。
3,如果收到TCP断开消息则断开BGP连接重置 Connect Retry 计时器,状态置为 Active 。
 

OpenConfirm
这个状态下,BGP等待KEEPALIVE或NOTIFICATION报文。如果收到KEEPALIVE报文,则进入Established状态,如果收到NOTIFICATION报文,则变为Idle状态。

1,如果收到一个 keeplive 消息包,会将状态置为 Establish 。
2,如果收到 notification 消息包,会将状态置为 Idle 并断开 TCP 连接。
3,如果 hold 计时器超时,检测到一个差错或者有 stop 事件发生,BGP 将给邻居发送一个                 notification 并断开连接,之后状态置为 Idle 。


Established

建立状态----标志着BGP对等关系的建立

这个状态下, BGP可以和其他对等体交换UPDATE,NOTIFICATION,KEEPALIVE报文。如果收到了正确的UPDATE或KEEPALIVE报文,就认为对端处于正常运行状态,本地重置Hold Timer。如果收到NOTIFICATION报文,本地转到Idle状态。如果收到错误的UPDATE报文,本地发送NOTIFICATION报文通知对端,并改变本地状态为Idle。如果收到了TCP拆链通知,本地关闭BGP连接,并回到Idle状态。

 

 

 


 


 


 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值