BGP应用与优化(7)

IBGP水平分割,从IBGP邻居学到的路由不会再通告给其他的IBGP邻居;

在一个大型的AS当中收到IBGP水平分割的影响,出现了BGP路由无法通过IBGP邻居接收的问题,解决办法有三种:

1、全互连的IBGP邻居

2、路由反射器RR

3、BGP联盟

一、全互连的IBGP邻居

建立全互连的IBGP邻居将会需要更多的资源,每建立一个BGP邻居就需要一个TCP连接,这样会极大地消耗CPU资源,TCP连接数计算公式:n(n-1)/2;

在大型的BGP网络中,一般不采用全连接方式,通常会采用路由反射器RR和联盟来解决

二、路由反射器RR

多台路由器只与一台中心路由器建立邻居关系,不需要全互连的邻居,这台中心路由器允许从IBGP邻居学来的路由被反射出去,打破了IBGP水平分割限制的中心路由器就是路由反射器RR;

1、路由反射器RR的几种角色:

(1)路由反射器route reflector

允许把从IBGP邻居学到的路由反射给其他IBGP邻居的BGP设备;

(2)客户机client

与RR形成反射邻居关系的IBGP设备,由RR决定哪台设备作为客户机;

(3)非客户机non-client

既不是RR也不是客户机的IBGP设备;

在AS内部所有的非客户机与RR必须建立全互连的IBGP邻居;

(4)始发者Originator

在AS内部始发路由的设备,Originator-ID属性用于防止集群内产生路由环路;

(5)集群Cluster

路由反射器及其客户机集合,Cluster-List属性用于防止集群间产生路由环路;

2、路由反射原理

同一集群内的客户机只需要与该集群的RR交换路由信息,所以客户机只需要与RR之间建立IBGP连接,不需要与其他客户机建立IBGP连接,从而减少IBGP连接数量;

RR打破了IBGP水平分割的限制,并采用Originator-ID属性和Cluster-List属性防止路由环路;

RR向IBGP邻居发布路由规则:

(1)从非客户机学来的路由,反射给所有的客户机;

(2)从客户机学来的路由,反射给其他所有的客户机和非客户机;

(3)从EBGP学来的路由,反射给所有的客户机和非客户机;

3、Originator-ID属性和Cluster-List属性

当网络中只部署一台RR时,如果该RR设备发生故障,将会导致其他所有的路由器无法收到路由,因此部署多台RR可以提供更好的冗余;

在一个AS内部署了两台RR设备,都能够用于路由的反射,其他设备同时与两台RR建立IBGP邻居关系,及时一台出现故障,另外一台也可以工作;

但是部署过多的RR以及复杂的拓扑也可能带来环路的隐患,AS-Path无法检测到AS内的环路,因此在部署路由反射器时,BGP提供了两种属性,用于检测AS内的环路问题,分别是Originator-ID和Cluster-List属性,这两个属性仅存在当RR将从IBGP邻居收到的路由向另一个IBGP邻居通告时,用于防止环路而添加的仅在AS内起作用的属性,这两个属性不会出现在AS外;

(1)Originator-ID:可选非过渡属性,RR反射路由时,为该路由添加Originator-ID属性(内容是路由始发者客户机的RouterID),用于防止集群内路由环路;

集群内环路现象:

一个集群中部署两个RR(两个RR使用相同的Cluster-ID),每个RR和集群中每个客户机建立IBGP邻居关系,两个RR之间建立IBGP邻居关系(如果存在EBGP邻居的话需要建立IBGP邻居关系);

客户机Client1通告一条路由给RR1,RR1将该路由反射给RR2,RR2继续反射该路由给客户机Clent1,路由回到始发路由器,Client1如果使用该路由则环路产生;

在反射集群内使用Originator-ID属性解决环路过程如下:

客户机Client1通告一条路由给RR1;

RR1反射该路由时为该路由添加Originator-ID属性,内容是路由始发者客户机Client1的RouterID,然后反射给RR2;

RR2反射该路由时,发现路由已经携带Originator-ID属性,继续反射给客户机Client1;

客户机Client1收到该路由后,发现路由携带OriginatorID属性且与自身RouterID一致,丢弃该路由;

说明:此场景仅用于阐述Originator-ID原理,实际上RR1反射路由给RR2时,除了添加Originator-ID属性外,还添加了Cluster-List属性,RR2发现路由携带Cluster-List属性且包含自身Cluster-ID(两个RR属于同一集群,Cluster-ID相同),就会丢弃该路由;

(2)Cluster-List:可选非过渡属性,RR使用该属性记录路由经过每个集群的Cluster-ID,用来在集群间避免环路;

AS内的每个集群都由唯一的Cluster-ID来标识,默认为BGP的RouterID,可以使用命令Cluster-ID来修改;

当一条路由被RR反射的时候,RR会把本地Cluster-ID添加到Cluster-List的前面;

当RR接收到一条路由时,会检查Cluster-List,如果Cluster-List中已经有本地Cluster-ID,丢弃该路由,否则把本地Cluster-ID添加到Cluster-List的前面,然后反射出去;

集群间环路现象:

RR1、RR2、RR3是三个反射集群中的路由反射器,假设任意两个RR都是另一个RR的客户机,并部署全互连的IBGP邻居关系;

客户机Client1通告一条路由给RR1,RR1反射给RR2,RR2反射给RR3,RR3重新将该路由反射给RR1,一旦RR1接收并使用该路由则产生环路;

在反射集群之间使用Cluster-List属性解决花露过程如下:

客户机Client1将一条路由通告给RR1;

RR1收到该路由发现没携带Cluster-List属性,为路由添加Cluster-List属性并把自身集群Cluster-ID添加进去,然后反射出去;

RR2收到该路由发现携带Cluster-List属性,不包含自身集群Cluster-ID,把自身集群Cluster-ID添加进去,然后反射出去;

RR3收到该路由发现携带Cluster-List属性,不包含自身集群Cluster-ID,把自身集群Cluster-ID添加进去,然后反射出去;

RR1收到该路由发现携带Cluster-List属性,包含自身集群Cluster-ID,丢弃该路由;

4、路由反射器的设计部署

(1)备份路由反射器方案

为增加网络的可靠性,避免单点故障,需要在一个集群中配置一个以上的RR,同一集群中的所有RR必须使用相同的Cluster-ID;

路由反射器RR1和RR2在同一个集群内,配置了相同的Cluster-ID;

客户机Client和相同Cluster-ID的RR都建立IBGP邻居关系,RR之间建立IBGP邻居关系;

客户机Client学到EBGP路由后,同时向RR1和RR2通告这条路由;

RR1和RR2收到该路由后,将本地Cluster-ID添加到Cluster-List前面,然后向其他客户机反射,同时相互反射;

RR1和RR2收到该反射路由后,检查Cluster-List发现包含自身的Cluster-ID,丢弃该路由,能避免同集群内路由反射器间互相学习源自同一客户机的路由,节省内存空间;

由于集群内RR之间不互相学习Client的路由,所以如果RR上没有EBGP邻居关系,则RR间可以没有IBGP邻居关系;

(2)同级路由反射器方案

一个骨干网被分成多个集群,各集群的RR之间互为非客户机关系,建立IBGP全连接;

每个客户机只与所在集群的RR建立IBGP连接,所有RR和客户机都能收到全部路由信息;

(3)分层路由反射器方案

一个AS内可以存在多个集群,各个集群的RR之间建立IBGP邻居;

当RR所处的网络层不同时,可以将较低网络层次的RR配成客户机,形成分级RR;

每个路由反射器既可以作为该集群的反射器角色,也可作为其他集群的客户机角色;

三、BGP联盟

1、联盟概念

在一个AS中,受IBGP水平分割的影响,如果IBGP会话数量较多,管理起来将会显得麻烦,为了解决该问题,除了使用路由反射器外,还可以使用BGP联盟Confederation;

联盟的概念就是将一个AS划分为若干个子AS,每个子AS内部建立IBGP全连接关系(联盟IBGP邻居),子AS之间建立EBGP连接关系(联盟EBGP邻居),但联盟外部AS仍认为联盟是一个AS;

AS100被分成三个子AS(65001、65002、65003),使用AS100作为联盟ID,此时不需要采用IBGP全互连,连接数从10条减少到4条,如果没有配置联盟,AS100内部都是IBGP邻居,配置联盟以后形成了联盟EBGP邻居和联盟IBGP邻居,在联盟子AS内部可以使用全互连或RR,而在联盟子AS之间使用联盟AS-Path来避免环路;

2、联盟的特点

配置联盟后,原AS号将作为每个路由器的联盟ID;

通告给联盟内的路由,MED属性在整个联盟范围内保留;

Local Preference属性在整个联盟范围内保留,而不只是在通告的成员AS内;

在联盟内保留联盟外部的next-hop属性;

在联盟内将子AS号加入AS-Path中,但不会将联盟内子AS号通告到联盟之外;

联盟内的子AS号在AS-Path属性中用单独的两种类型AS-CONFED-SEQUENCE和AS-CONFED-SET表示,默认联盟将子AS号以AS-CONFED-SEQUENCE的形式在AS-Path中列出,如果在联盟内配置了聚合,AS号将以AS-CONFED-SET形式列出;

AS-Path中的联盟子AS号用于避免环路,不计算在AS-Path长度中;

联盟EBGP邻居和联盟IBGP邻居都被看作IBGP类型邻居,不存在联盟EBGP路由优于联盟IBGP路由,即在其他条件相同的情况下,同时从EBGP邻居学到、联盟EBGP或联盟IBGP学到同一条路由,从EBGP邻居学到的路由更优;

联盟内相关属性传出联盟时将会自动删除,不用配置策略过滤子AS号等信息;

3、联盟配置举例

R1为AS100,R2/R3/R4拥有联盟ID为200,R2和R3在联盟子AS65001中,R4属于联盟子AS65002,R5属于AS300;

通过命令confederation id配置BGP联盟,指定联盟ID;

通过命令confederation peer-as指定联盟内子AS号;

R2配置:

bgp 65001

confederation id 200

peer 12.1.1.1 as-number 100

peer 23.1.1.3 as-number 65001

R3配置:

bgp 65001

confederation id 200

peer 23.1.1.2 as-number 65001

confederation peer-as 65002

peer 34.1.1.4 as-number 65002

  • 娴呮瀽闈欐BGP鍜鍔ㄦ丅GP
    绛旓細涔熷氨鏄锛屽綋闈欐BGP涓殑缃戠粶缁撴瀯鍙戠敓鍙樺寲锛岃繍钀ュ晢鏄棤娉曞湪绗竴鏃堕棿鑷姩璋冩暣缃戠粶璁剧疆浠ヤ繚闅滅敤鎴风殑浣撻獙搴︺傝屽姩鎬丅GP鍙牴鎹瀹氱殑瀵昏矾鍗忚绗竴鏃堕棿鑷姩浼樺寲缃戠粶缁撴瀯锛屼互淇濇寔瀹㈡埛浣跨敤鐨勭綉缁滄寔缁ǔ瀹氥侀珮鏁堛傚皬楦熶簯璁$畻鎷ユ湁鍏ㄥ浗ISP鎺ュ叆璧勮川锛岃嚜鏈堿S鑷不鍩燂紝鍚屾椂鍏峰鍥藉唴鍜鍥介檯BGP鎺ュ叆鑳藉姏銆傚叾鍗庡崡BGP鏁版嵁涓績閲囩敤浜...
  • EBGP/IBGP
    绛旓細鍦ㄥ鏉傜殑缃戠粶鏋舵瀯涓紝璺敱鍗忚鎵紨鐫鑷冲叧閲嶈鐨勮鑹层備富瑕佸垎涓轰袱澶х被锛氬唴閮ㄧ綉鍏冲崗璁紙IGP</锛夊拰澶栭儴缃戝叧鍗忚锛圗GP</锛夛紝鍏朵腑IGP鍖呮嫭RIP銆両SIS鍜孫SPF锛岃孍GP鐨勪唬琛ㄥ垯鏄笟鐣屽箍娉搴旂敤鐨凚GP</銆侭GP Speaker</锛屽嵆杩愯BGP鍗忚鐨勮矾鐢卞櫒锛屽畠浠湪缁存姢缃戠粶杩為氭т腑鎵紨鐫杈圭晫缃戝叧鐨勮鑹层侭GP瀵圭瓑浣锛圔GP peer</...
  • bgp鐨勮捣婧愭槸浠涔堟剰鎬?
    绛旓細BGP鏄嚜娌荤郴缁燂紙AS锛変箣闂寸殑璺敱鍗忚锛屽畠涓昏璐熻矗绠$悊浜掕仈缃戠殑璺敱淇℃伅锛屼娇寰楁潵鑷笉鍚孉S鐨勬暟鎹寘鑳藉琚纭湴杞彂鍒扮洰鐨勫湴銆傚叾涓昏浣滅敤鏄淮鎶S涔嬮棿鐨勮矾鐢变俊鎭氦鎹紝淇濋殰浜掕仈缃戠綉缁滅殑鍙揪鎬у拰鍙潬鎬с傛澶栵紝BGP杩樺彲浠ユ帶鍒惰矾鐢变俊鎭殑娴佸悜锛屽府鍔〢S瀹炵幇娴侀噺鐨浼樺寲鍜瀹夊叏鎺у埗绛夊姛鑳姐傞殢鐫浜掕仈缃戠殑蹇熷彂灞曪紝BGP鐨...
  • 缃戠粶浼犺緭缁忚繃鐨勮矾鐢辫妭鐐浼樺寲鏄粈涔
    绛旓細4. 娴侀噺宸ョ▼锛氶氳繃瀵圭綉缁滄祦閲忕殑缁嗚嚧瑙傚療鍜鍒嗘瀽锛屾墜鍔ㄦ垨鑷姩鍦拌皟鏁磋矾鐢遍厤缃紝浠ュ疄鐜板缃戠粶璧勬簮鐨勬渶浼樺埄鐢ㄣ備緥濡傦紝鍙互灏嗗疄鏃惰棰戞祦鐨勪紶杈撹矾寰勮缃负楂樺甫瀹姐佷綆寤惰繜鐨勮矾寰勩傚湪瀹為檯搴旂敤涓紝璺敱鑺傜偣浼樺寲閫氬父渚濊禆浜庣綉缁滆澶囷紙濡傝矾鐢卞櫒銆佷氦鎹㈡満锛夌殑鍏堣繘鍔熻兘鍜屾櫤鑳界畻娉曘傜幇浠g綉缁滆澶囧線寰鏀寔澶氱璺敱鍗忚鍜岀畻娉曪紝...
  • 鍔ㄦ佽矾鐢卞崗璁鍐
    绛旓細EIGRP鍒欒繘涓姝浼樺寲浜嗚矾鐢遍夋嫨锛屽唴閮ㄨ矾鐢辩殑绠$悊璺濈涓90锛岃孍IGRP姹囨昏矾鐢鍜澶栭儴EIGRP鐨勭鐞嗚窛绂诲垎鍒负5鍜170锛岃繖鏈夊姪浜庝紭鍖栫綉缁滃唴閮ㄥ拰澶栭儴鐨勮矾鐢辨晥鐜囥侽SPF浠110鐨勭鐞嗚窛绂绘彁渚涘垎灞傛鐨勮矾鐢辫绠楋紝瀹冨湪澶у瀷缃戠粶涓〃鐜板嚭鑹诧紝鑳芥彁渚涢珮鏁堝拰鍙潬鐨勮矾鐢变俊鎭侭GP鐨勭鐞嗚窛绂诲悓鏍烽噸瑕侊紝鍐呴儴BGP锛IBGP锛変粠閭诲眳鎺ユ敹鍒扮殑...
  • 鍔ㄦBGP涓闈欐丅GP鐩告瘮鐨勪紭鍔挎湁鍝簺
    绛旓細3銆佸叿澶囧姛鑳芥с傚姩鎬BGP澶氱嚎缃戠粶锛岃矾鐢辫〃椤规槸閫氳繃鐩镐簰杩炴帴鐨勪氦鎹㈡満涔嬮棿浜ゆ崲褰兼淇℃伅锛岀劧鍚庢寜鐓т竴瀹氱殑绠楁硶浼樺寲鍑烘潵鐨勶紝鑰岃繖浜涜矾鐢变俊鎭槸鍦ㄤ竴瀹氭椂闂撮棿闅欓噷涓嶆柇鏇存柊锛屼互閫傚簲涓嶆柇鍙樺寲鐨勭綉缁滐紝浠ラ殢鏃惰幏寰楁渶浼樼殑瀵昏矾鏁堟灉銆備负浜嗗疄鐜癐P鍒嗙粍鐨勯珮鏁堝璺紝IETF鍒跺畾浜嗗绉嶅璺崗璁備篃灏辨槸璇达紝褰撻潤鎬丅GP涓殑缃戠粶缁撴瀯鍙戠敓...
  • 璺敱浼樺寲澶у笀缃戠粶宸ョ▼甯堝簲鎺屾彙鐨50涓矾鐢卞櫒鐭ヨ瘑瑕佺偣
    绛旓細how ip bgp paths杩欎釜鍛戒护鐨勮緭鍑哄彲鑳芥槸:Address Hash Ref** MetricPath0 x 2 9 7 A 9 C 0 2 0 i17銆佷粈涔堟槸姘村钩鍒嗗壊?姘村钩鍒嗗壊鏄竴绉嶉伩鍏嶈矾鐢辩幆鐨勫嚭鐜板拰鍔犲揩璺敱姹囪仛鐨勬妧鏈傜敱浜庤矾鐢卞櫒鍙兘鏀跺埌瀹冭嚜宸卞彂閫佺殑璺敱淇℃伅,鑰岃繖绉嶄俊鎭槸鏃犵敤鐨,姘村钩鍒嗗壊鎶鏈笉鍙嶅悜閫氬憡浠讳綍浠庣粓绔敹鍒扮殑璺敱鏇存柊淇℃伅,鑰屽彧閫氬憡閭d簺...
  • 涓轰粈涔堣BGP鏈嶅姟鍣?
    绛旓細楂橀槻鏈嶅姟鍣ㄦ寚鐨勬槸锛氶槻寰DoS娴侀噺鏀诲嚮鎴栨槸CC鏀诲嚮鑳藉姏鏄庢樉銆傝屼笖鍦ㄦ敾鍑婚噺澶х殑鎯呭喌涓嬭繕鑳戒繚闅滄湇鍔″櫒鐨勬甯歌繍杞殑鏈嶅姟鍣ㄣ備竴鑸湁瀹炲姏鐨処DC鏈嶅姟鍟嗭紝浣跨敤鐨BGP楂橀槻鏈嶅姟鍣ㄩ兘浼氶噰鐢ㄥ姩鎬丅GP銆傝繍钀ュ晢鍙互鍦ㄥ緢鐭椂闂村唴鑷姩璋冩暣缃戠粶锛屼繚闅滆闂綋楠岄熷害锛屽姩鎬丅GP浼氭牴鎹崗璁紝鍦ㄨ緝鐭椂闂撮噷闈㈣嚜鍔浼樺寲缃戠粶缁撴瀯锛屼繚璇佷娇鐢ㄧ綉缁滅殑...
  • 浠涔堟槸BGP,涓鑸満鎴跨殑BGP鏄粈涔堟剰鎬
    绛旓細鍥藉唴鐨勪富娴佹満鎴垮ぇ鑷村彲鍒嗕负锛氱數淇″崟绾挎満鎴裤佽仈閫氬崟绾挎満鎴裤佺Щ鍔ㄥ崟绾挎満鎴鍜孊GP澶氱嚎鏈烘埧杩欏嚑绫汇傚畾涔夛細绠鍗曠殑鏉ヨ鏈烘埧鍦ㄨ繘琛屽垵鏈熷缓璁句腑灏嗙數淇°佽仈閫氥佽仈閫氱瓑绾胯矾閮芥帴鍏ュ埌鏈烘埧涓紝鐒跺悗鍦ㄩ氳繃BGP浜掕仈鎶鏈皢涓嶅悓鐨勭嚎璺繘琛岃瀺鍚堬紝杩欏氨鏄疊GP鏈烘埧銆傚ソ澶勶細濡傛灉浣犵殑鏈嶅姟鍣ㄦ墭绠″湪BGP鏈烘埧涓紝浣犲皢鏈嶅姟鍣ㄦ斁鍦˙GP澶氱嚎鏈烘埧...
  • BGP绾胯矾鏄粈涔?
    绛旓細涓浗缃戦 銆佷腑鍥界數淇°佷腑鍥介搧閫鍜涓浜涘ぇ鐨勬皯钀DC杩愯惀鍟嗛兘鍏锋湁AS鍙凤紝鍏ㄥ浗鍚勫ぇ缃戠粶杩愯惀鍟嗗鏁伴兘鏄氳繃BGP鍗忚涓庤嚜韬殑AS鍙锋潵瀹炵幇澶氱嚎浜掕仈鐨勩備娇鐢ㄦ鏂规鏉ュ疄鐜板绾胯矾浜掕仈锛孖DC闇瑕佸湪CNNIC锛堜腑鍥戒簰鑱旂綉淇℃伅涓績锛夋垨APNIC锛堜簹澶綉缁滀俊鎭腑蹇冿級鐢宠鑷繁鐨処P鍦板潃娈靛拰AS鍙凤紙鐩墠鐫挎睙绉戞妧鍗砪nnic浼氬憳鍗曚綅锛夛紝鐒跺悗...
  • 扩展阅读:提高手机处理器的软件 ... 安卓游戏cpu优化神器 ... 安卓系统排行榜2024 ... 提升游戏流畅度的软件 ... 手机32位升64位处理器 ... cpu优化软件安卓版 ... 手机系统排名最新2024 ... 安卓流畅度优化神器 ... 手机gpu优化神器 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网