思科Cisco BGP 专题(一) BGP基本概念
BGP基本概念在正式介绍BGP之前我们先介绍一下基础知识1、IGP与EGP的区别?2、什么是AS?BGP中的AS编号是如何获取的?3、为什么要使用BGP?4、BGP的应用场景?**1、IGP与EGP的区别。IGP(interior Gateway Protocols)内部网关协议,RIP,OSPF和IS-IS都属于IGP。IGP的主要目的是发现和计算自治域内的路由信息。BGP(Border Gat
BGP基本概念
在正式介绍BGP之前我们先介绍一下基础知识
1、IGP与EGP的区别?
2、什么是AS?BGP中的AS编号是如何获取的?
3、为什么要使用BGP?
4、BGP的应用场景?**
1、IGP与EGP的区别。
IGP(interior Gateway Protocols)内部网关协议,RIP,OSPF和IS-IS都属于IGP。IGP的主要目的是发现和计算自治域内的路由信息。
BGP(Border Gateway Protocol,边界网关协议)是用来连接Internet上的独立系统的路由选择协议。它是Internet工程任务组制定的一个加强的、完善的、可伸缩的协议。EGP和 BGP(此BGP为具体的协议)属于BGP。BGP是一个增强型的距离矢量协议。BGP是为取代最初的外部网关协议EGP设计的。现在EGP已不再使用。
2、什么是AS编号?BGP中的AS编号是如何获取的?
AS(Autonomous System)译为自治系统,是指使用统一内部路由协议的一组网络。 如果成员单位的网络路由器准备采用 BGP(Border Gateway Protocol)协议,可以申请AS号码。如果网络规模较小,或者规模较为固定,而且只有一个出口, 可采用静态路由或其它路由协议,这样就不需要AS号码。
AS编号从哪申请?
1.运营商申请
2.其他机构申请 - 例如CNNIC 机构 - 申请AS编号 - 成为CNNIC会员会员 ,通过AS编号 进行路径选择
3、为什么要使用BGP协议?
IGP路由协议,如OSPF、EIGRP等,只能处理几万条以内的路由。实际上Internet上有大约70万条路由条目。
BGP有更强大的选路标准和属性。BGP可以宣告到达每个可达的AS的路径信息。可以使用路由策略来控制数据经过AS的走向。
4、BGP的应用场景
我们通过典型拓扑进行举例。
数据中心拓扑
当互联网上的用户发送一个HTTP请求给服务器之后,服务器需要上传大量数据回给互联网上的用户。当数据到达网关时,就需要选择最优的路径去往用户。来保证通讯的质量,给用户一个良好的体验。 其中的选路问题,我们就要用到BGP协议。
5、BGP的使用注意事项
1、 BGP适用于以下几种场合:
– 允许某个AS做为穿越AS,允许数据包穿越到别的AS(比如 服务提供商的网络).
– 一个AS有多条连接到达另一个AS.
– 需要对进入和离开某AS的流量进行路由策略。
2、 以下几种场合请不要使用BGP:
– 只有单个到达Internet或别的AS的连接(可以使用默认路 由而无需使用BGP).
– 路由器内存和CPU资源过低.
– 缺乏对BGP路由策略的理解.
– AS之间的链路带宽过低。
正式介绍BGP协议
1、定义
BGP是边界网关协议,是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。BGP是沟通Internet广域网的主用路由协议,例如不同省份、不同国家之间的路由大多要依靠BGP协议。 BGP 系统的主要功能是和其他的 BGP 系统交换网络可达信息。BGP的主要目标是为处于不同AS中的路由器之间进行路由信息通信提供保障。BGP既不是纯粹的矢量距离协议,也不是纯粹的链路状态协议,通常被称为通路向量路由协议。
2、IBGP与EBPG
同一个自治系统(AS)中的两个或多个对等实体之间运行的BGP 被称为 IBGP(Internal/Interior BGP)
归属不同的AS的对等实体之间运行的BGP称为EBGP (External/Exterior BGP)。
备注:在Cisco IOS中,IBGP通告的路由的管理距离为200,优先级比EBGP和任何内部网关协议(IGP)通告的路由都低。EBGP通告的路由管理距离为2。优先级顺序也是EBGP高于IGP,而IGP又高于IBGP。
3、 BGP的消息类型
1、 Open消息:Open消息是TCP连接建立后发送的第一个消息,用于建立BGP对等体之间的连接关系。包括holdtime和BGP的RID。
2、 Keepalive消息:BGP会周期性地向对等体发出Keepalive消息,用来保持连接的有效性。
3、 Update消息:Update消息用于在对等体之间交换路由信息。它既可以发布可达路由信息,也可以撤销不可达路由信息。
4、 Notification消息:当BGP检测到错误状态时,就向对等体发出Notification消息,之后BGP连接会立即中断。
4、 BGP的特性
1、可靠的路由更新机制:BGP运行于TCP,使用TCP端口号179操作。
2、触发式增量更新。
3、周期性的keepalive信息保证TCP的连接是否存活.。
4、更强大的metric标准,属性。
5、适用于大型网络,比如Internet。
5、BGP数据库
1、邻居表: • 列举BGP邻居信息
2、BGP转发表: • 列举从每个邻居学习来的网络信息• 可以包含到达目标网络的多条路径 • 每条路径都有相应的BGP属性
3、IP路由表: • 列举到达目标网络的最佳路由信息
6、BGP对等体
BGP对等体也叫BGP邻居,代表和本地BGP路由器建立了邻居关系的BGP路由器。
7、 BGP邻居状态机
1、 空闲(Idle):
为初始状态,当协议激活后开始初始化,复位计时器,并发起第一个TCP连接,并开始倾听远程对等体所发起的连接,同时转向Connect状态。
2、 连接(Connect):
开始TCP连接并等待TCP连接成功的消息。如果TCP连接成功,则进入OpenSent状态;如果TCP连接失败,进入Active状态。
3、 行动(Active):
BGP总是试图建立TCP连接,若连接计时器超时,则退回到Connect状态,TCP连接成功就转为Open sent状态。
4、 OPEN发送(Open sent):
TCP连接已建立,自己已发送第一个OPEN报文,等待接收对方的Open报文,并对报文进行检查,若发现错误则发送Notification消息报文并退回到Idle状态。若检查无误则发送Keepalive消息报文,Keepalive计时器开始计时,并转为Open confirm状态。
5、 OPEN证实(Open confirm):
BGP等待Keepalive报文,同时复位保持计时器。如果收到了Keepalive报文,就转为Established状态,邻居关系协商完成。如果系统收到一条更新或Keepalive消息,它将重新启动保持计时器;如果收到Notification消息,BGP就退回到空闲状态。
6、已建立(Established):
即建立了邻居(对等体)关系,路由器将和邻居交换Update报文,同时复位保持计时器。
8、 启用BGP
启用BGP的步骤如下:
1.启用BGP进程: Router (config) #router bgp {AS-number}
2.指定BGP邻居: Router (config-router )#neighbor {ip-address} remote-as {AS-number}
3.定义要宣告的网络: Router (config-router) #network {network-number} [mask mask]
配置实例
IBGP的配置
show run 配置
R1
R2
show BGP 邻居 (重要参数用箭头标出)
show BGP 路由表
show BGP转发表
EBGP配置(先配置ospf或其他协议保证底层互通)
EBGP配置时默认设备需要直连,默认最大跳数为1跳。当设备不是直连时,需要修改最大跳数。非直连设备BGP配置之前需要保证底层互通。同时还要解决路由黑洞的问题(后续专题中介绍)
在没有修改最大跳数的情况下,邻居状态显示 idle
我们修改最大跳数 R(config-router)#neighbor 20.1.1.2 ebgp-multihop 255
邻居状态为establish
最后我们show run 一下 每个设备的配置
R1
R2
R3
BGP专题后续会介绍路由黑洞问题,和各种特性及选路规则。 有想了解的可以关注交流。
更多推荐
所有评论(0)