BGP配置BFD链路检测feature

BGP路由技术和配置这边就不介绍了,本章主要介绍在BGP邻居建立成功的情况下启用BFD链路检测功能。

BFD概述

BFD(Bidirectional Forwarding Detection,双向转发检测)协议提供一种轻负载、快速检测两台邻接路由器之间转发路径连通状态的方法。协议邻居通过该方式可以快速检测到转发路径的连通故障,加快启用备份转发路径,提升现有网络性能。

BFD报文格式

BFD报文有两种类型分别是控制报文和回声报文。其中回声报文只有BFD会话本端系统关心远端不关心,因此协议没有规定其具体格式。协议只规定了控制报文的格式,目前控制报文格式有两个版本(版本0和版本1),BFD会话建立缺省采用版本1,但如果收到对端系统发送的是版本0的报文,将自动切换到版本0来建立会话,可以通过show bfd neighbors命令察看采用的版本。版本1的格式如图表1:


图1.BFD控制报文格式

Vers:BFD协议版本号,目前为1
 Diags:给出本地最后一次从UP状态转到其他状态的原因,包括:
0—没有诊断信息
1—控制超时检测
2—回声功能失效
3—邻居通告会话Down
4—转发面复位
5—通道失效
6—连接通道失效
7—管理Down
 Sta:BFD本地状态,取值为:0代表AdminDown,1代表Down,2代表Init,3代表Up;
 P:参数发生改变时,发送方在BFD报文中置该标志,接收方必须立即响应该报文
 F:响应P标志置位的回应报文中必须将F标志置位
 C:转发/控制分离标志,一旦置位,控制平面的变化不影响BFD检测,如:控制平面为OSPF,当OSPF重启/GR时,BFD可以继续检测链路状态
 A:认证标识,置位代表会话需要进行验证
 D:查询请求,置位代表发送方期望采用查询模式对链路进行检测
 M:用于将来应用点到多点时使用,目前必须设置0
 Detect Mult:检测超时倍数,用于检测方计算检测超时时间
 Length:报文长度
 My Discreaminator:BFD会话连接本端标识符
 Your Discreaminator:BFD会话连接远端标识符
 Desired Min Tx Interval:本地支持的最小BFD报文发送间隔
 Required Min RX Interval:本地支持的最小BFD报文接收间隔
 Required Min Echo RX Interval:本地支持的最小Echo报文接收间隔(如果本地不支持Echo功能,则设置0)
 Auth Type:认证类型(可选),目前协议提供有:
Simple Password
Keyed MD5
Meticulous Keyed MD5
Keyed SHA1
Meticulous Keyed SHA1
 Auth Length:认证数据长度
 Authentication Data:认证数据区

RGOS从10.3(4b3)版本开始,支持版本1和版本0的报文格式,缺省情况下会话发送报文采用版本1,如果收到对端发送的版本0的报文,将自动切换到版本0来建立会话

BFD会话建立模式

BFD会话建立包含如下几种模式
主动模式
在建立会话前不管是否收到对端发来的建立BFD会话的控制报文,都会主动发送建立BFD会话的控制报文。
被动模式
在建立对话前不会主动发送建立BFD会话的控制报文,直到收到对端发送来建立BFD会话的控制报文。

RGOS10.4(1),10.3(4b3)版本不支持被动模式,且不可配置 

BFD检测模式

BFD可以包含如下几种检测模式:
异步模式
在异步模式下,系统之间相互周期性地发送BFD控制报文,如果某个系统在检测时间内没有收到对端发来的BFD控制报文,就宣布会话为Down
查询模式
在查询模式下,假定每个系统都有一个独立的方法用来确认它连接到其他系统。这样一旦一个BFD会话建立起来以后,系统停止发送BFD控制报文,除非某个系统需要显式地验证连接性,在需要显式验证连接性的情况下,系统发送一个短序列的BFD控制包,如果在检测时间内没有收到返回的报文就宣布会话为Down,如果收到对端的回应报文,表示转发路径正常。
回声功能
本地系统周期性的发送BFD 回声报文,远端系统通过它的转发通道将它们环回回来。如果本地在检测周期内连续几个回声报文都没有接收到,会话就被宣布为Down。回声功能可以和上述两种检测模式一起使用。采用回声报文的检测功能,不需要远端系统的控制面参与,报文通过远端系统的转发面转回,减少了延迟,相对于发送控制报文可以更快的检测到故障。如果在异步模式下启用回声功能,可以大大减少了控制报文的发送,因为检测工作由回声功能完成;如果在查询模式下启用回声功能,在会话建立后可以完全取消发送控制报文。BFD会话两点必须同时启用回声功能,否则回声功能将不生效。

RGOS10.4(1)、RGOS10.3(4b3)版本不支持查询模式
配置回声功能时,必须先通过no ip redirects命令关闭IP报文的重定向功能,以及通过no ip deny land命令关闭防止Land-based DDOS攻击功能
BFD的回声功能只能在BFD会话工作在版本1时才能工作
交换机产品S5760系列不支持配置回声功能.

BFD会话参数

在BFD会话建立以后,可以修订BFD会话参数(如Desired Min Tx Interval,Required Min RX Interval,Detect Mult等),修订后BFD会话将重新协商并采用最新参数进行会话检测,修订过程会话可以继续保持UP状态。

BFD认证方式

BFD协议允许采用如下方式进行认证:
1. Simple Password
2. Keyed MD5
3. Meticulous Keyed MD5
4. Keyed SHA1
5. Meticulous Keyed SHA1

RGOS10.4(1)、RGOS10.3(4b3)版本不支持BFD认证

BFD支持与动态路由协议联动(BGP)

BGPv4应用场景绝大部分是企业边界设备互联采用运营商固定互联网ip进行建立邻居关系,另一种就是企业各分部通过运营商专线进行互联,其实际就是一条就可以抵达。
本章主要介绍后者,企业各分部通过运营商专线进行互联建立BGP邻居关系,优化主备线路切换原则。
BGP是触发式更新,主线中断切换至备线,默认情况下需要180s来识别并切换。或者当你发现中断告警可以通过手工去clear ip bgp *硬清或clear ip bgp * soft软清邻居关系来收敛路由条目。

简单的拓扑

AB部门互联拓扑.jpg

这种冗余架构应该都能看得懂吧,这边用GNS画了一张简单的拓扑图。
要实现A部门PC1和B部门PC2之间能够正常访问,当AB部门主路由之间的链路断开后能无感知切换到备线进行通讯。
首先A部门IBGP要通,B部门IBGP也要通。AB部门主备路由器EBGP邻居关系要建立。

A部门主路由
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
202.101.1.2     4        64513      75      71    24544    0    0 00:49:32       26

B部门主路由
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
202.101.1.1     4        64512      72      76    99480    0    0 00:50:33       66

备路由器的邻居状态就不show出来了。

A部门主路由器配置(Cisco3900)
interface FastEthernet0/0/1
 ip address 202.101.1.1 255.255.255.252
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 duplex full #双工
 speed 100 #百兆速率
 bfd interval 300 min_rx 300 multiplier 3

router bgp 64512
 neighbor 202.101.1.2 remote-as 64513 #建立ebgp邻居
 neighbor 202.101.1.2 ebgp-multihop 2 #ebgp参数
 neighbor 202.101.1.2 fall-over bfd single-hop
B部门备路由器配置(Cisco2900)
interface FastEthernet0/0/0
 ip address 202.101.1.2 255.255.255.252
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 duplex full
 speed 100
 bfd interval 300 min_rx 300 multiplier 3 #BFD具体参数,根据自己需求定义

router bgp 64513
 neighbor 202.101.1.1 remote-as 64512
 neighbor 202.101.1.1 ebgp-multihop 2
 neighbor 202.101.1.1 fall-over bfd single-hop #单跳,当然也有多跳选项。如果用于互联固定ip用多跳即可

show bfd neighbors details

IPv4 Sessions
NeighAddr                              LD/RD         RH/RS     State     Int
202.101.1.2                              5/1          Up        Up        Fa0/0/1
Session state is UP and using echo function with 300 ms interval.
Session Host: Software
OurAddr: 202.101.1.1     
Handle: 3
Local Diag: 0, Demand mode: 0, Poll bit: 0
MinTxInt: 1000000, MinRxInt: 1000000, Multiplier: 3
Received MinRxInt: 1000000, Received Multiplier: 3
Holddown (hits): 0(0), Hello (hits): 1000(132363)
Rx Count: 132462, Rx Interval (ms) min/max/avg: 4/1232/877 last: 736 ms ago
Tx Count: 132364, Tx Interval (ms) min/max/avg: 756/1012/881 last: 448 ms ago
Elapsed time watermarks: 0 0 (last: 0)
Registered protocols: BGP CEF 
Uptime: 1d08h
Last packet: Version: 1                  - Diagnostic: 0
             State bit: Up               - Demand bit: 0
             Poll bit: 0                 - Final bit: 0
             C bit: 0                                   
             Multiplier: 3               - Length: 24
             My Discr.: 1                - Your Discr.: 5
             Min tx interval: 1000000    - Min rx interval: 1000000
             Min Echo interval: 300000  

配置时候遇到的坑

我的实际环境是,各部门数据中心采用的是运营商主备线路冗余。逻辑上就是一跳。我们的边界设备都是cisco的,但是不是同一型号,有2900,2800,3900,4300系列的。所以在配置过程中出现了state bit状态是admin down。当时也是比较郁闷都是参照了配置手册进行的配置,为什么状态不是up而是admin down。
配置过程中要注意的是端口的协商,比如全双工,速率要匹配。运营商专线以前配置双工会断,现在电信联通已经修补相关bug。
这边还有就是cisco4300,接口下配置了neg auto,自动协商,no不掉的情况。需要在接口下配置media-type rj45,然后在no neg auto,在敲上duplex full,speed 100。
这个时候基本大功告成,这个时候就要将设备进行重启。
重启完后就可以看见bfd邻居建立。bfd具体参数根据自己企业的需求来定。我的配置参数基本可以达到无感知切换。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 143,048评论 1 300
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 61,330评论 1 256
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 94,541评论 0 213
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 41,042评论 0 176
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 48,821评论 1 255
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 38,795评论 1 176
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 30,413评论 2 271
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,173评论 0 167
  • 想象着我的养父在大火中拼命挣扎,窒息,最后皮肤化为焦炭。我心中就已经是抑制不住地欢快,这就叫做以其人之道,还治其人...
    爱写小说的胖达阅读 28,994评论 6 229
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 32,525评论 0 213
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,327评论 2 215
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 30,648评论 1 230
  • 白月光回国,霸总把我这个替身辞退。还一脸阴沉的警告我。[不要出现在思思面前, 不然我有一百种方法让你生不如死。]我...
    爱写小说的胖达阅读 24,248评论 0 31
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,142评论 2 214
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 31,521评论 3 204
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,622评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,025评论 0 166
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 33,543评论 2 230
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 33,636评论 2 231

推荐阅读更多精彩内容