2012年9月第25期
科技视界
SCIENCE &TECHNOLOGY VISION 科技视界作者简介:魏晓川(1985.3—),男,汉族,河南泌阳人,本科毕业,就职于中国铁通河南分公司,任助理工程师,从事互联网建设与维护工作。
1BGP 协议概念
BGP 是一种外部网关协议(Exterior Gateway Protocol ,
EGP ),与OSPF 、RIP 等内部网关协议(Interior Gateway Proto -col ,IGP )不同,其着眼点不在于发现和计算路由,而在于控制
路由的传播和选择最佳路由;BGP 使用TCP 作为其传输层协议(端口号179),提高了协议的可靠性;BGP 支持CIDR (Classless Inter-Domain Routing ,无类别域间路由);路由更新时,BGP 只发送更新的路由,大大减少了BGP 传播路由所占用的带宽,适用于在Internet 上传播大量的路由信息;BGP 路由通过携带AS (自治系统,autonomous system )路径信息彻底解决路由环路问题;BGP 提供了丰富的路由策略,能够对路由实现灵活的过滤和选择;BGP 易于扩展,能够适应网络新的发展;发送BGP 消息的路由器称为BGP 发言者(BGP
Speaker ),它接收或产生新的路由信息,并发布(Advertise )给
其它BGP 发言者。当BGP 发言者收到来自其它自治系统的新路由时,如果该路由比当前已知路由更优、或者当前还没有该路由,它就把这条路由发布给自治系统内所有其它BGP 发言者。相互交换消息的BGP 发言者之间是互称对等体(Peer ),若干相关的对等体可以构成对等体组(Peer group )。
BGP 在路由器上以下列两种方式运行:
IBGP (Internal BGP ):当BGP 运行于同一自治系统内部
时,被称为IBGP 。
EBGP (External BGP ):当BGP 运行于不同自治系统之间
时,被称为EBGP 。
2
BGP 协议的工作机制
2.1
BGP 的基本原理
BGP 使用TCP (端口179)作为底层传送机制,在每个
BGP 对等体建立一条唯一的基于单播的连接;路由更新时,BGP 只发送更新的路由,大大减少了BGP 传播路由所占用的
带宽,适合在Internet 上传播大量的路由信息;BGP 支持
CIDR (无类域间路由);BGP 是一种距离矢量协议,依赖与下
游邻居从其路由表中传递路由;BGP 使用数据包到达特定目的地所要经过的一个AS 号列表来量化距离。
2.2BGP 的消息类型
在建立一个BGP 对等连接之前,两个邻居必须执行标准
的TCP 三次握手,并且打开到端口179的TCP 连接。TCP 提供可靠连接所需要的分段,重传,确认以及排序功能,从而把
BGP 从这些任务中解脱出来。所有的BGP 消息都通过TCP
连接单播给一个邻居。
BGP 使用以下4种消息类型:
Open (打开)消息:BGP 对等体通过发送Open 消息来交
换各自的版本,自治系统号、保持时间、BGP 标识符等信息,进行协商。Open 消息主要用于建立BGP 对等体关系。
Keepalive (保持激活)消息:改消息在BGP 对等体间周期
地发送,以确保连接保持有效。每60S 发送一次,或者以协商一致的保持时间的1/3为周期发送。
Update (更新)消息:改消息携带的是路由更新信息。其中
包括撤销路由信息和可达路由信息及其路径属性。
Notification (通知)消息:当BGP 检测到差错(连接中断、
协商出错、报文差错等)时,发送该消息报文,关闭同对等体的连接。
2.3BGP 的协议状态
Idle (空闲):Idle 是BGP 连接的第一个状态,在空闲状
态,BGP 在等待一个启动事件,启动事件出现以后,BGP 初始化资源,复位连接重试计时器,发起一条TCP 连接,同时转入
Connect 状态。
Connect (连接):在Connect 状态,BGP 发起第一个TCP
连接,如果TCP 连接成功,就转入OpenSent 状态,如果TCP 连接失败,就转入Active 状态。
Active (活跃):在Active 状态,BGP 总是试图建立TCP 连
接,如果连接重试计时器超时,就退回Connect 状态,如果
浅谈BGP 路由协议技术及应用
魏晓川
(中国铁通河南业务支撑中心
河南郑州450000)
【摘
要】BGP 协议在通信协议中举足轻重,BGP 的应用重点和优势在于其对路由信息的控制能力,从而达到对数据流量
的控制和分配。与互联伙伴共同协作,来满足各种不同的实际需要。本文针对BGP 协议的概念、BGP 的工作机制、BGP 在运营商城域网中的实际应用进行了简要介绍。
【关键词】BGP ;AS ;EBGP ;IBGP
IT 论坛
183
2012年9月第25期科技视界
TCP连接成功,就转入Opensent状态。
OpenSent(打开消息已发送):在OpenSent状态,TCP连接已建立,BGP也已经发送了第一个Open消息,剩下的工作,BGP就在等待其对等体发送的Open消息。当检测收到的Open消息没有错误,BGP就开始发送Keepalive消息,并复位Keepalive计时器,开始计时,同时转入OpenConfirm状态。
OpenConfirm(打开消息确认):在OpenConfirm状态,BGP 等待一个Keepalive消息,同时复位保持计时器,如果收到了一个Keepalive消息,就转入Established阶段,BGP对等体关系就建立起来了,如果TCP连接中断,就退回到Idle状态。
Established(连接已建立):在该状态,BGP对等体关系已经建立,这时,BGP将和它的对等体交换Update消息,同时复位保持计时器。
2.4BGP的三张表
(1)BGP邻居表
Neighbor table:列出了所用邻居,包括已经建立成功了和没有建立成功的邻居。
(2)BGP表
BGP forwarding table/database:列出了从邻居学到所有网络,能够包括多条到目标网络的路径,但默认情况下只能使用一条最佳路由。
(3)全局路由表
IP routing table:默认情况下从BGP表中根据路径优先选原则,选择一条道目标网段最优的路由放入全局路由表。
2.5BGP的邻居类型
(1)BGP peers
对等体:与之建立BGP关系的设备。与BGP建立对等关系的邻居既可以在不同的AS中,也可以在同一个AS中;通过TCP来建立邻居关系,任何两个路由器只要可以建立TCP 的连接就可以建立邻居,邻居可以是直连也可以是非直连。
(2)Internal BGP
IBGP:如果邻居位于同一AS中,则该邻居为内部对等体(Internal peer),此时的BGP被称IBGP(Internal BGP,内部BGP);邻居可以不是直连的,但是需要保证TCP179的连接时可以建立的。
(3)External BGP
EBGP:如果邻居位于不同的AS中,则该邻居为外部对等体(External peer)此时的BGP被称EBGP(External BGP,外部BGP);
默认EBGP邻居要求是直连的。
2.6BGP的路由发布
将全局路由表中其他协议的路由(包括直连/静态/IGP 等),通过network/redistribute命令发布至BGP表。
(1)静态注入(使用network发布静态汇总路由至BGP)
(2)纯动态注入(重发布IGP路由至BGP)
(3)半动态注入:把IGP发现的路由使用network精确发布BGP路由表
3BGP协议在运营商城域网中的实际应用一般情况下运营商城域网逻辑上分为核心层和汇聚层两层结构。扩容城市分三类情况进行建设。采用BGP作为路由承载协议与骨干网进行互连,在省内采用IS-IS路由协议来作数据转发的路径选择协议,省网和骨干网之间的路由学习完全由BGP承载。省干核心出口路由器与骨干汇接路由器运行EBGP,所有省干路由器上都全部运行BGP协议,省干路由器之间建立IBGP连接,这样可以方便地实现路由策略和路由通告控制,地市城域网和省网之间通过EBGP连接,地市城域网通过EBGP通告地市汇聚后的IP地址范围。
3.1EBGP部署
省干核心路由器与骨干路由器建立EBGP连接,省干核心路由器学到国内路由和默认路由,同时向骨干路由器通告省内路由。骨干在向各省网广播国内(或者全部)路由信息时,通过设置BGP MED值的方式,以使各省网的边界路由器了解骨干网内部的路由代价信息,从而进行出省路径选择,省网路由器通过接受骨干网设备发布的BGP MED属性来决定出省链路方向;在入省方向,地市的省干与各自的城域网核心直接建立EBGP连接,将从学到的国内路由和默认路由通告给城域网内。
3.2IBGP部署
地市省干节点选取两台路由器分别与省干核心节点的两个路由反射族建立IBGP,地市核心路由器与省干核心路由器建立IBGP连接。
例:某运营商IBGP路由配置实例
某运营商省干核心为两台华为NE80E,分别作为两台路由反射器,地市分公司核心路由器作为一级路由反射器的Client。
地市公司核心路由器仅从省NE80E接收默认路由,原则上不接收精确的电信、联通路由。
IBGP最大ECMP路径数设为16条。
配置入方向的soft-reconfiguration。
省网核心路由器NE80E配置:
bgp123456
undo synchronization
router-id192.168.1.1
group ibgp internal
peer ibgp description core-router
peer ibgp connect-interface Loopback0
peer ibgp log-change
peer ibgp next-hop-local
peer ibgp advertise-community
peer ibgp enable
group ibgpds internal(下转第401页)
IT论坛
184
SCIENCE&TECHNOLOGY VISION 科技视界