詞語解釋
邊界網(wǎng)關(guān)協(xié)議(Border Gateway Protocol,BGP)是一種路由協(xié)議,它主要用于在Internet中的路由管理,它是一種外部路由協(xié)議,可以在不同的自治系統(tǒng)(Autonomous System,AS)之間傳遞路由信息。BGP是一種基于路由的路由協(xié)議,用于在Internet上傳輸路由信息,它是一種外部路由協(xié)議,可以在不同的自治系統(tǒng)(Autonomous System,AS)之間傳遞路由信息。 BGP的主要功能是在Internet上傳輸路由信息,它可以在不同的自治系統(tǒng)之間傳遞路由信息,從而實(shí)現(xiàn)路由的可靠傳輸。BGP可以在不同的自治系統(tǒng)之間傳遞路由信息,從而實(shí)現(xiàn)路由的可靠傳輸。BGP可以支持不同的路由協(xié)議,如OSPF、RIP等,可以在不同的自治系統(tǒng)之間傳遞路由信息,從而實(shí)現(xiàn)路由的可靠傳輸。 BGP可以實(shí)現(xiàn)路由的可靠傳輸,可以在不同的自治系統(tǒng)之間傳遞路由信息,實(shí)現(xiàn)路由的可靠傳輸,并可以支持多種路由協(xié)議,如OSPF、RIP等。BGP的應(yīng)用非常廣泛,它可以用于實(shí)現(xiàn)路由的可靠傳輸,并可以支持多種路由協(xié)議,如OSPF、RIP等,它可以用于實(shí)現(xiàn)Internet的路由管理,從而實(shí)現(xiàn)Internet的可靠傳輸。 BGP的應(yīng)用非常廣泛,它可以用于實(shí)現(xiàn)Internet的路由管理,從而實(shí)現(xiàn)Internet的可靠傳輸,也可以用于實(shí)現(xiàn)網(wǎng)絡(luò)的負(fù)載均衡,從而提高網(wǎng)絡(luò)的效率。此外,BGP還可以用于實(shí)現(xiàn)網(wǎng)絡(luò)安全,從而保護(hù)網(wǎng)絡(luò)的安全。 總之,邊界網(wǎng)關(guān)協(xié)議(BGP)是一種重要的路由協(xié)議,它主要用于在Internet中的路由管理,它可以在不同的自治系統(tǒng)之間傳遞路由信息,從而實(shí)現(xiàn)路由的可靠傳輸,它的應(yīng)用非常廣泛,可以用于實(shí)現(xiàn)Internet的路由管理,從而實(shí)現(xiàn)Internet的可靠傳輸,也可以用于實(shí)現(xiàn)網(wǎng)絡(luò)的負(fù)載均衡,從而提高網(wǎng)絡(luò)的效率,還可以用于實(shí)現(xiàn)網(wǎng)絡(luò)安全,從而保護(hù)網(wǎng)絡(luò)的安全。 Border Gateway Protocol -- 邊界網(wǎng)關(guān)協(xié)議 BGP(Border Gateway Protocol,邊界網(wǎng)關(guān)協(xié)議)是用來連接Internet上的獨(dú)立系統(tǒng)的路由選擇協(xié)議。它是Internet工程任務(wù)組制定的一個(gè)加強(qiáng)的、完善的、可伸縮的協(xié)議。BGP4支持CIDR尋址方案,該方案增加了Internet上的可用IP地址數(shù)量。BGP是為取代最初的外部網(wǎng)關(guān)協(xié)議EGP設(shè)計(jì)的。它也被認(rèn)為是一個(gè)路徑矢量協(xié)議。 BGP(Border GatewayProtocol)是一種在自治系統(tǒng)之間動(dòng)態(tài)交換路由信息的路由協(xié)議。一個(gè)自治系統(tǒng)的經(jīng)典定義是在一個(gè)管理機(jī)構(gòu)控制之下的一組路由器,它使用IGP和普通度量值向其他自治系統(tǒng)轉(zhuǎn)發(fā)報(bào)文。 在BGP中使用自治系統(tǒng)這個(gè)術(shù)語是為了強(qiáng)調(diào)這樣一個(gè)事實(shí):一個(gè)自治系統(tǒng)的管理對(duì)于其他自治系統(tǒng)而言是提供一個(gè)統(tǒng)一的內(nèi)部選路計(jì)劃,它為那些通過它可以到達(dá)的網(wǎng)絡(luò)提供了一個(gè)一致的描述。 BGP,邊界網(wǎng)關(guān)協(xié)議,是自主網(wǎng)絡(luò)系統(tǒng)中網(wǎng)關(guān)之間交換器路由信息的協(xié)議。邊界網(wǎng)關(guān)協(xié)議常常應(yīng)用于互聯(lián)網(wǎng)的網(wǎng)關(guān)之間。路由表包含已知路由器的列表、路由器能夠達(dá)到的地址以及到達(dá)每個(gè)路由器的路徑的跳數(shù)。 使用邊界網(wǎng)關(guān)協(xié)議的主機(jī)一般也使用傳輸控制協(xié)議(TCP)。當(dāng)網(wǎng)絡(luò)檢測到某臺(tái)主機(jī)發(fā)出變化時(shí),就會(huì)發(fā)送新的路由表。BGP-4,邊界網(wǎng)關(guān)協(xié)議的最新版本,允許網(wǎng)絡(luò)管理員在策略描述下配置跳數(shù)的規(guī)格。 BGP是目前應(yīng)用在因特網(wǎng)上的IP網(wǎng)絡(luò)互聯(lián)協(xié)議,為運(yùn)營商之間的互聯(lián)提供了穩(wěn)定而安全的路由協(xié)議,具有豐富的路由控制機(jī)制。為了更好地控制路由策略,當(dāng)前大部分的運(yùn)營商均將BGP部署到骨干路由器。隨著網(wǎng)絡(luò)的不斷擴(kuò)展、路由器數(shù)目的增多以及路由信息條目的激增,解決BGP的擴(kuò)展性問題變得越來越重要。 目前BGP的擴(kuò)展性面臨如下幾個(gè)問題。 (1)I-BGP的Full-Mesh問題> BGP路由協(xié)議分為I-BGP和E-BGP兩個(gè)部分。I-BGP用于自治域內(nèi)的路由器之間,E-BGP用于自治域間的路由器之間。為了防止產(chǎn)生環(huán)回路由,BGP協(xié)議要求一個(gè)路由器通過I-BGP學(xué)到的路由,不再向其他I-BGP鄰居廣播,所以一個(gè)自治域內(nèi)所有參加I-BGP協(xié)議的路由器都要與其他路由器建立會(huì)話,從而保證路由信息能夠正確地廣播到每一個(gè)路由器。依照這個(gè)原則,一個(gè)自治域內(nèi)總的I-BGP會(huì)話數(shù)為N×(N-1)/2 (N為運(yùn)行I-BGP的路由器數(shù)),當(dāng)N不斷增大時(shí),這個(gè)數(shù)字會(huì)大得驚人:如100臺(tái)路由器,則會(huì)話數(shù)為4950.這對(duì)網(wǎng)絡(luò)設(shè)備而言是個(gè)非常大的負(fù)擔(dān),而且還將使網(wǎng)絡(luò)的管理與配置變得異常復(fù)雜。而骨干網(wǎng)通常由大量的運(yùn)行I-BGP的路由器組成,因此,這個(gè)問題是否能夠解決,直接影響到網(wǎng)絡(luò)規(guī)模的大小。 (2)更改路由策略時(shí)路由振蕩的問題 BGP屬于增量更新的路由協(xié)議,當(dāng)有新的路由要發(fā)布時(shí),路由器會(huì)向鄰居發(fā)送Update信息,而如果要?jiǎng)h除某條路由時(shí),就會(huì)發(fā)送Withdraw信息。BGP路由的Flap的定義是:當(dāng)一條路由在被收回(Withdraw)后,又被廣播(Update)出來,視為一次Flap.由于任何一條路由的收回和更新都會(huì)導(dǎo)致一臺(tái)路由器整個(gè)路由表重新計(jì)算,因此當(dāng)Flap的情況比較多時(shí),對(duì)路由器設(shè)備的負(fù)載將產(chǎn)生巨大的壓力。根據(jù)筆者在實(shí)際工作中的經(jīng)驗(yàn),一般情況下,一臺(tái)高端路由器在計(jì)算BGP路由的時(shí)候,CPU的負(fù)載基本上在80%~90%左右,有時(shí)甚至達(dá)到100%,占用了幾乎所有的CPU資源。雖然目前大部分的高端路由器都將路由計(jì)算的模塊與轉(zhuǎn)發(fā)模塊分布在不同的硬件上,來減少主CPU忙導(dǎo)致的路由器性能下降的問題,但是路由表的頻繁變化和更新,對(duì)整個(gè)設(shè)備的運(yùn)行還是有一定的影響的,而且這樣的計(jì)算會(huì)隨著路由的收回或廣播,繼續(xù)向自治域內(nèi)部擴(kuò)展,使內(nèi)部的路由器產(chǎn)生同樣的問題。 (3)其他需要考慮的問題 除了上面的兩個(gè)問題會(huì)導(dǎo)致對(duì)路由器資源過量消耗之外,還有其他的一些因素,如路由的數(shù)目、BGP路由表的大小和路由計(jì)算的方式等,同樣也會(huì)影響路由器的性能。 另外,網(wǎng)絡(luò)越大,路由條目越多,配置和管理的工作也就越復(fù)雜,這就需要在網(wǎng)絡(luò)設(shè)計(jì)的時(shí)候盡量簡化配置,降低管理人員的工作強(qiáng)度,避免人為原因造成故障。 2 如何解決制約BGP擴(kuò)展性的問題 針對(duì)以上問題,介紹一些相關(guān)的解決方法。 (1)解決I-BGP會(huì)話數(shù)瓶頸的方法 上面提到的I-BGP的會(huì)話數(shù)過多的問題,可以采取兩種辦法來解決: 1)聯(lián)盟的方法(Confederations) 聯(lián)盟的工作原理是:將原來一個(gè)自治域的網(wǎng)絡(luò)分成多個(gè)子自治域,通過Confederations id將原AS號(hào)配置到每個(gè)路由器上。這樣有兩個(gè)好處:一是可以保留原有的I-BGP屬性,包括Local Preference、MED和NEXT_HOP;二是能在Confederations的功能中自動(dòng)實(shí)現(xiàn),無需管理員在網(wǎng)絡(luò)的出口處配置過濾內(nèi)部AS號(hào)信息的操作。 2)路由反射器(Route-Reflector) 采用路由反射器是目前應(yīng)用最廣泛的方法,較之前面聯(lián)盟的方法,具有更好的擴(kuò)展性。路由反射器的工作原理是:將一個(gè)自治域內(nèi)的路由器分成幾個(gè) Cluster,每個(gè)Cluster由Reflector和Client組成。Reflector之間形成Full Mesh,運(yùn)行常規(guī)的I-BGP;Client只與Reflector運(yùn)行I-BGP,對(duì)于Client來說,Reflector只是普通的鄰居而已, Reflector則扮演了路由集散地的角色,將從其他Reflector學(xué)到的I-BGP路由轉(zhuǎn)發(fā)給Client,同時(shí),將從Client學(xué)到的I- BGP路由轉(zhuǎn)發(fā)給Cluster內(nèi)的其他Clients和Cluster外的其他Reflector,再借由Reflectors廣播到其所在的 Cluster.在實(shí)際的網(wǎng)絡(luò)中,為了提高冗余度,通常一個(gè)Client與多個(gè)Reflector建立鄰居關(guān)系,而且不局限于Client所在 Cluster的Reflector. 由此可見,Client上的I-BGP會(huì)話數(shù)一般為1~2個(gè),與聯(lián)盟的方法相比,只要Reflector的性能足夠高,Cluster就可以做得很大,而Client的負(fù)載不會(huì)隨Cluster的變化有太大的變化。對(duì)于前一種方法,由于一個(gè)子自治域的所有路由器還是要做到Full Mesh,所以最低性能的路由器決定了一個(gè)子自治域的大。欢酚煞瓷淦鞣▌t通常是一個(gè)或多個(gè)最高性能的路由器決定Cluster的大小,因此,具有更好的網(wǎng)絡(luò)擴(kuò)展性能。 另外,一個(gè)Reflector也可以成為另外一個(gè)Reflector的Client,形成層級(jí)結(jié)構(gòu),這特別適用于按照分層結(jié)構(gòu)建設(shè)的網(wǎng)絡(luò),可以很容易地把平面的網(wǎng)絡(luò)管理演變?yōu)榉謱庸芾怼?BR> 當(dāng)然,在使用路由反射器的時(shí)候,也有一些需要注意的地方,比如:Reflector并不是純粹的轉(zhuǎn)發(fā)路由,所有收到的路由在Reflector上同樣要經(jīng)過最優(yōu)計(jì)算,然后將優(yōu)選路由向外廣播,所以Reflector的選擇要依據(jù)網(wǎng)絡(luò)結(jié)構(gòu)而定,盡量使I-BGP鄰居關(guān)系與實(shí)際的電路連接關(guān)系相對(duì)應(yīng)。 (2)控制路由振蕩 目前,控制Route Flap主要采取Damping的方法:一個(gè)BGP路由器對(duì)收到的E-BGP路由設(shè)定Penalty值,每一次路由Flap都會(huì)使該路由的Penalty 值增大,而路由穩(wěn)定時(shí),Penalty值會(huì)隨時(shí)間而減。划(dāng)Penalty值超過預(yù)設(shè)的抑制限制時(shí),該路由就不再被廣播,而當(dāng)Penalty減小至低于重用限制時(shí),該路由才會(huì)被重新向外廣播。這種方法主要是針對(duì)E-BGP鄰居而言的。這樣,當(dāng)一個(gè)網(wǎng)絡(luò)內(nèi)部發(fā)生路由振蕩時(shí),與之相連的其他網(wǎng)絡(luò)通過 Damping可以有效地防御對(duì)各自網(wǎng)絡(luò)的影響。 在網(wǎng)絡(luò)維護(hù)中,經(jīng)常會(huì)遇到這樣的情況:寧愿一條電路中斷一段時(shí)間,也不希望它在不停地震蕩。因?yàn)橹袛嘁欢螘r(shí)間后,只要電路恢復(fù),網(wǎng)絡(luò)流量也會(huì)隨之恢復(fù);與此相反,振蕩的電路恢復(fù)后,需要等待一段時(shí)間才能恢復(fù)正常的流量(其他網(wǎng)絡(luò)都在抑制振蕩的路由)。Damping則可以有效地保證因特網(wǎng)的穩(wěn)定,但同時(shí)也會(huì)導(dǎo)致一些故障的延時(shí)恢復(fù)。 當(dāng)前的設(shè)備基本都支持Damping的功能,而且提供可以配置的參數(shù)來精細(xì)控制Damping.一般情況下,設(shè)備提供的缺省配置能夠滿足大多數(shù)網(wǎng)絡(luò)的需求,如果確有特殊需要,則一定要經(jīng)過仔細(xì)計(jì)算,否則,不是沒有效果,就是把別人的路由抑制后很長時(shí)間不能恢復(fù)。 (3)Peer Group的應(yīng)用 在實(shí)際的網(wǎng)絡(luò)中,有一種非常普遍的現(xiàn)象,即一個(gè)路由器會(huì)有多個(gè)屬于一類的BGP Peer.這里的“屬于一類”是指BGP的策略相同或類似,當(dāng)Peer比較多時(shí),BGP的配置會(huì)變得臃腫,同時(shí),路由器的負(fù)載也會(huì)加重,因?yàn)橐坏┯新酚傻母拢酚善餍枰槍?duì)每個(gè)Peer做一次策略計(jì)算(雖然策略都相同)。另外,應(yīng)用Peer Group還有一個(gè)好處,就是降低了對(duì)路由器設(shè)備的資源消耗,因?yàn)槁酚善鲗?duì)同一Group更新路由時(shí),由于使用相同策略,因此只進(jìn)行一次路由計(jì)算,從而大大減少了占用CPU的時(shí)間。 在實(shí)際的網(wǎng)絡(luò)維護(hù)中,即使當(dāng)同一類的Peer很少時(shí),一般也建議采用Peer Group的方式,因?yàn)檫@樣具有很好的擴(kuò)展性。Peer Group不但適用于I-BGP的Peer,也適用于E-BGP的Peer. (4)關(guān)于route refresh的措施 骨干網(wǎng)絡(luò)維護(hù)中,經(jīng)常會(huì)遇到修改BGP策略的情況,如更新某個(gè)Peer的as-path限制列表,在配置修改后需要使其生效,以前的做法是中斷當(dāng)前的BGP會(huì)話,然后重新建立,命令如下: clear ip bgp x.x.x.x 這么做主要是因?yàn)槁酚善髟谑盏綄?duì)方的BGP路由表后,先進(jìn)行策略運(yùn)算,然后將最優(yōu)路由存儲(chǔ)在本機(jī)的BGP路由表中,而不是把原始的路由統(tǒng)統(tǒng)保存。當(dāng)策略改變時(shí),必須重新建立連接來獲得對(duì)方的全部路由,然后利用新策略再次計(jì)算。這種方式的弊端顯而易見,如網(wǎng)絡(luò)阻斷、大量消耗路由器的CPU資源等。 解決這個(gè)問題目前通常采用兩種方法:一種方法是設(shè)法保存原始的BGP路由,這樣,重新計(jì)算時(shí)就不需要重傳了;另外一種方法是在啟用新策略的時(shí)候,在不中斷BGP會(huì)話的前提下,向?qū)Ψ秸?qǐng)求重發(fā)全部BGP路由表。 第一種方法是利用軟件配置實(shí)現(xiàn)的,配置的命令如下: neighbor 1.1.1.1 soft-reconfiguration inbound 在啟用新策略的時(shí)候輸入命令: clear ip bgp 1.1.1.1 soft [in|out] 這樣,所有的原始BGP路由就會(huì)被存儲(chǔ)在另外一張路由表里面,在修改策略的時(shí)候,通過對(duì)這張路由表進(jìn)行運(yùn)算,就可以得到最優(yōu)的BGP路由表,這樣對(duì)路由產(chǎn)生的資源消耗較;而且有這樣一張?jiān)嫉穆酚杀恚梢栽谛薷牟呗院、正式啟用之前使用命令來檢查策略修改后的效果。但這種方法需要額外的內(nèi)存資源來存儲(chǔ)路由表。 第二種方法是由路由器設(shè)備的BGP 能力(BGP Capabilities)決定的,也就是系統(tǒng)軟件本身內(nèi)置的功能模塊。在建立BGP會(huì)話的時(shí)候,這個(gè)參數(shù)通過BGP OPEN在兩個(gè)路由器間進(jìn)行交換。一個(gè)設(shè)備是否支持BGP Refresh Capabilites,可以用命令下列來檢查: show ip bgp n x.x.x.x 如果參與BGP的兩個(gè)路由器都具備這個(gè)功能,那么不需要任何配置,當(dāng)執(zhí)行clear ip bgp n x.x.x.x in 時(shí),本端BGP進(jìn)程不會(huì)中斷BGP會(huì)話,而是向?qū)Χ苏?qǐng)求重發(fā)全部的BGP路由表。相對(duì)于第一種方法,這種方法的好處是可以節(jié)省內(nèi)存資源,缺點(diǎn)是網(wǎng)絡(luò)管理員無法了解對(duì)方發(fā)過來的原始路由,而且重發(fā)了全部路由表,效率上也沒有第一種方法高。目前骨干網(wǎng)內(nèi)的設(shè)備基本上都支持這個(gè)功能。 3 總結(jié) 以上對(duì)BGP擴(kuò)展性相關(guān)的幾個(gè)問題和相關(guān)的措施進(jìn)行了論述,在實(shí)際的應(yīng)用中還需要根據(jù)具體情況來部署。但是總的思路和原則都是一樣的,即一方面要降低設(shè)備的資源消耗,另外一方面要簡化維護(hù)管理,從硬件、軟件兩方面來提高網(wǎng)絡(luò)的擴(kuò)展性。
Border Gateway Protocol -- 邊界網(wǎng)關(guān)協(xié)議 BGP(Border Gateway Protocol,邊界網(wǎng)關(guān)協(xié)議)是用來連接Internet上的獨(dú)立系統(tǒng)的路由選擇協(xié)議。它是Internet工程任務(wù)組制定的一個(gè)加強(qiáng)的、完善的、可伸縮的協(xié)議。BGP4支持CIDR尋址方案,該方案增加了Internet上的可用IP地址數(shù)量。BGP是為取代最初的外部網(wǎng)關(guān)協(xié)議EGP設(shè)計(jì)的。它也被認(rèn)為是一個(gè)路徑矢量協(xié)議。 BGP(Border GatewayProtocol)是一種在自治系統(tǒng)之間動(dòng)態(tài)交換路由信息的路由協(xié)議。一個(gè)自治系統(tǒng)的經(jīng)典定義是在一個(gè)管理機(jī)構(gòu)控制之下的一組路由器,它使用IGP和普通度量值向其他自治系統(tǒng)轉(zhuǎn)發(fā)報(bào)文。 在BGP中使用自治系統(tǒng)這個(gè)術(shù)語是為了強(qiáng)調(diào)這樣一個(gè)事實(shí):一個(gè)自治系統(tǒng)的管理對(duì)于其他自治系統(tǒng)而言是提供一個(gè)統(tǒng)一的內(nèi)部選路計(jì)劃,它為那些通過它可以到達(dá)的網(wǎng)絡(luò)提供了一個(gè)一致的描述。 BGP,邊界網(wǎng)關(guān)協(xié)議,是自主網(wǎng)絡(luò)系統(tǒng)中網(wǎng)關(guān)之間交換器路由信息的協(xié)議。邊界網(wǎng)關(guān)協(xié)議常常應(yīng)用于互聯(lián)網(wǎng)的網(wǎng)關(guān)之間。路由表包含已知路由器的列表、路由器能夠達(dá)到的地址以及到達(dá)每個(gè)路由器的路徑的跳數(shù)。 使用邊界網(wǎng)關(guān)協(xié)議的主機(jī)一般也使用傳輸控制協(xié)議(TCP)。當(dāng)網(wǎng)絡(luò)檢測到某臺(tái)主機(jī)發(fā)出變化時(shí),就會(huì)發(fā)送新的路由表。BGP-4,邊界網(wǎng)關(guān)協(xié)議的最新版本,允許網(wǎng)絡(luò)管理員在策略描述下配置跳數(shù)的規(guī)格。 BGP是目前應(yīng)用在因特網(wǎng)上的IP網(wǎng)絡(luò)互聯(lián)協(xié)議,為運(yùn)營商之間的互聯(lián)提供了穩(wěn)定而安全的路由協(xié)議,具有豐富的路由控制機(jī)制。為了更好地控制路由策略,當(dāng)前大部分的運(yùn)營商均將BGP部署到骨干路由器。隨著網(wǎng)絡(luò)的不斷擴(kuò)展、路由器數(shù)目的增多以及路由信息條目的激增,解決BGP的擴(kuò)展性問題變得越來越重要。 目前BGP的擴(kuò)展性面臨如下幾個(gè)問題。 (1)I-BGP的Full-Mesh問題> BGP路由協(xié)議分為I-BGP和E-BGP兩個(gè)部分。I-BGP用于自治域內(nèi)的路由器之間,E-BGP用于自治域間的路由器之間。為了防止產(chǎn)生環(huán)回路由,BGP協(xié)議要求一個(gè)路由器通過I-BGP學(xué)到的路由,不再向其他I-BGP鄰居廣播,所以一個(gè)自治域內(nèi)所有參加I-BGP協(xié)議的路由器都要與其他路由器建立會(huì)話,從而保證路由信息能夠正確地廣播到每一個(gè)路由器。依照這個(gè)原則,一個(gè)自治域內(nèi)總的I-BGP會(huì)話數(shù)為N×(N-1)/2 (N為運(yùn)行I-BGP的路由器數(shù)),當(dāng)N不斷增大時(shí),這個(gè)數(shù)字會(huì)大得驚人:如100臺(tái)路由器,則會(huì)話數(shù)為4950.這對(duì)網(wǎng)絡(luò)設(shè)備而言是個(gè)非常大的負(fù)擔(dān),而且還將使網(wǎng)絡(luò)的管理與配置變得異常復(fù)雜。而骨干網(wǎng)通常由大量的運(yùn)行I-BGP的路由器組成,因此,這個(gè)問題是否能夠解決,直接影響到網(wǎng)絡(luò)規(guī)模的大小。 (2)更改路由策略時(shí)路由振蕩的問題 BGP屬于增量更新的路由協(xié)議,當(dāng)有新的路由要發(fā)布時(shí),路由器會(huì)向鄰居發(fā)送Update信息,而如果要?jiǎng)h除某條路由時(shí),就會(huì)發(fā)送Withdraw信息。BGP路由的Flap的定義是:當(dāng)一條路由在被收回(Withdraw)后,又被廣播(Update)出來,視為一次Flap.由于任何一條路由的收回和更新都會(huì)導(dǎo)致一臺(tái)路由器整個(gè)路由表重新計(jì)算,因此當(dāng)Flap的情況比較多時(shí),對(duì)路由器設(shè)備的負(fù)載將產(chǎn)生巨大的壓力。根據(jù)筆者在實(shí)際工作中的經(jīng)驗(yàn),一般情況下,一臺(tái)高端路由器在計(jì)算BGP路由的時(shí)候,CPU的負(fù)載基本上在80%~90%左右,有時(shí)甚至達(dá)到100%,占用了幾乎所有的CPU資源。雖然目前大部分的高端路由器都將路由計(jì)算的模塊與轉(zhuǎn)發(fā)模塊分布在不同的硬件上,來減少主CPU忙導(dǎo)致的路由器性能下降的問題,但是路由表的頻繁變化和更新,對(duì)整個(gè)設(shè)備的運(yùn)行還是有一定的影響的,而且這樣的計(jì)算會(huì)隨著路由的收回或廣播,繼續(xù)向自治域內(nèi)部擴(kuò)展,使內(nèi)部的路由器產(chǎn)生同樣的問題。 (3)其他需要考慮的問題 除了上面的兩個(gè)問題會(huì)導(dǎo)致對(duì)路由器資源過量消耗之外,還有其他的一些因素,如路由的數(shù)目、BGP路由表的大小和路由計(jì)算的方式等,同樣也會(huì)影響路由器的性能。 另外,網(wǎng)絡(luò)越大,路由條目越多,配置和管理的工作也就越復(fù)雜,這就需要在網(wǎng)絡(luò)設(shè)計(jì)的時(shí)候盡量簡化配置,降低管理人員的工作強(qiáng)度,避免人為原因造成故障。 2 如何解決制約BGP擴(kuò)展性的問題 針對(duì)以上問題,介紹一些相關(guān)的解決方法。 (1)解決I-BGP會(huì)話數(shù)瓶頸的方法 上面提到的I-BGP的會(huì)話數(shù)過多的問題,可以采取兩種辦法來解決: 1)聯(lián)盟的方法(Confederations) 聯(lián)盟的工作原理是:將原來一個(gè)自治域的網(wǎng)絡(luò)分成多個(gè)子自治域,通過Confederations id將原AS號(hào)配置到每個(gè)路由器上。這樣有兩個(gè)好處:一是可以保留原有的I-BGP屬性,包括Local Preference、MED和NEXT_HOP;二是能在Confederations的功能中自動(dòng)實(shí)現(xiàn),無需管理員在網(wǎng)絡(luò)的出口處配置過濾內(nèi)部AS號(hào)信息的操作。 2)路由反射器(Route-Reflector) 采用路由反射器是目前應(yīng)用最廣泛的方法,較之前面聯(lián)盟的方法,具有更好的擴(kuò)展性。路由反射器的工作原理是:將一個(gè)自治域內(nèi)的路由器分成幾個(gè) Cluster,每個(gè)Cluster由Reflector和Client組成。Reflector之間形成Full Mesh,運(yùn)行常規(guī)的I-BGP;Client只與Reflector運(yùn)行I-BGP,對(duì)于Client來說,Reflector只是普通的鄰居而已, Reflector則扮演了路由集散地的角色,將從其他Reflector學(xué)到的I-BGP路由轉(zhuǎn)發(fā)給Client,同時(shí),將從Client學(xué)到的I- BGP路由轉(zhuǎn)發(fā)給Cluster內(nèi)的其他Clients和Cluster外的其他Reflector,再借由Reflectors廣播到其所在的 Cluster.在實(shí)際的網(wǎng)絡(luò)中,為了提高冗余度,通常一個(gè)Client與多個(gè)Reflector建立鄰居關(guān)系,而且不局限于Client所在 Cluster的Reflector. 由此可見,Client上的I-BGP會(huì)話數(shù)一般為1~2個(gè),與聯(lián)盟的方法相比,只要Reflector的性能足夠高,Cluster就可以做得很大,而Client的負(fù)載不會(huì)隨Cluster的變化有太大的變化。對(duì)于前一種方法,由于一個(gè)子自治域的所有路由器還是要做到Full Mesh,所以最低性能的路由器決定了一個(gè)子自治域的大。欢酚煞瓷淦鞣▌t通常是一個(gè)或多個(gè)最高性能的路由器決定Cluster的大小,因此,具有更好的網(wǎng)絡(luò)擴(kuò)展性能。 另外,一個(gè)Reflector也可以成為另外一個(gè)Reflector的Client,形成層級(jí)結(jié)構(gòu),這特別適用于按照分層結(jié)構(gòu)建設(shè)的網(wǎng)絡(luò),可以很容易地把平面的網(wǎng)絡(luò)管理演變?yōu)榉謱庸芾怼?BR> 當(dāng)然,在使用路由反射器的時(shí)候,也有一些需要注意的地方,比如:Reflector并不是純粹的轉(zhuǎn)發(fā)路由,所有收到的路由在Reflector上同樣要經(jīng)過最優(yōu)計(jì)算,然后將優(yōu)選路由向外廣播,所以Reflector的選擇要依據(jù)網(wǎng)絡(luò)結(jié)構(gòu)而定,盡量使I-BGP鄰居關(guān)系與實(shí)際的電路連接關(guān)系相對(duì)應(yīng)。 (2)控制路由振蕩 目前,控制Route Flap主要采取Damping的方法:一個(gè)BGP路由器對(duì)收到的E-BGP路由設(shè)定Penalty值,每一次路由Flap都會(huì)使該路由的Penalty 值增大,而路由穩(wěn)定時(shí),Penalty值會(huì)隨時(shí)間而減。划(dāng)Penalty值超過預(yù)設(shè)的抑制限制時(shí),該路由就不再被廣播,而當(dāng)Penalty減小至低于重用限制時(shí),該路由才會(huì)被重新向外廣播。這種方法主要是針對(duì)E-BGP鄰居而言的。這樣,當(dāng)一個(gè)網(wǎng)絡(luò)內(nèi)部發(fā)生路由振蕩時(shí),與之相連的其他網(wǎng)絡(luò)通過 Damping可以有效地防御對(duì)各自網(wǎng)絡(luò)的影響。 在網(wǎng)絡(luò)維護(hù)中,經(jīng)常會(huì)遇到這樣的情況:寧愿一條電路中斷一段時(shí)間,也不希望它在不停地震蕩。因?yàn)橹袛嘁欢螘r(shí)間后,只要電路恢復(fù),網(wǎng)絡(luò)流量也會(huì)隨之恢復(fù);與此相反,振蕩的電路恢復(fù)后,需要等待一段時(shí)間才能恢復(fù)正常的流量(其他網(wǎng)絡(luò)都在抑制振蕩的路由)。Damping則可以有效地保證因特網(wǎng)的穩(wěn)定,但同時(shí)也會(huì)導(dǎo)致一些故障的延時(shí)恢復(fù)。 當(dāng)前的設(shè)備基本都支持Damping的功能,而且提供可以配置的參數(shù)來精細(xì)控制Damping.一般情況下,設(shè)備提供的缺省配置能夠滿足大多數(shù)網(wǎng)絡(luò)的需求,如果確有特殊需要,則一定要經(jīng)過仔細(xì)計(jì)算,否則,不是沒有效果,就是把別人的路由抑制后很長時(shí)間不能恢復(fù)。 (3)Peer Group的應(yīng)用 在實(shí)際的網(wǎng)絡(luò)中,有一種非常普遍的現(xiàn)象,即一個(gè)路由器會(huì)有多個(gè)屬于一類的BGP Peer.這里的“屬于一類”是指BGP的策略相同或類似,當(dāng)Peer比較多時(shí),BGP的配置會(huì)變得臃腫,同時(shí),路由器的負(fù)載也會(huì)加重,因?yàn)橐坏┯新酚傻母拢酚善餍枰槍?duì)每個(gè)Peer做一次策略計(jì)算(雖然策略都相同)。另外,應(yīng)用Peer Group還有一個(gè)好處,就是降低了對(duì)路由器設(shè)備的資源消耗,因?yàn)槁酚善鲗?duì)同一Group更新路由時(shí),由于使用相同策略,因此只進(jìn)行一次路由計(jì)算,從而大大減少了占用CPU的時(shí)間。 在實(shí)際的網(wǎng)絡(luò)維護(hù)中,即使當(dāng)同一類的Peer很少時(shí),一般也建議采用Peer Group的方式,因?yàn)檫@樣具有很好的擴(kuò)展性。Peer Group不但適用于I-BGP的Peer,也適用于E-BGP的Peer. (4)關(guān)于route refresh的措施 骨干網(wǎng)絡(luò)維護(hù)中,經(jīng)常會(huì)遇到修改BGP策略的情況,如更新某個(gè)Peer的as-path限制列表,在配置修改后需要使其生效,以前的做法是中斷當(dāng)前的BGP會(huì)話,然后重新建立,命令如下: clear ip bgp x.x.x.x 這么做主要是因?yàn)槁酚善髟谑盏綄?duì)方的BGP路由表后,先進(jìn)行策略運(yùn)算,然后將最優(yōu)路由存儲(chǔ)在本機(jī)的BGP路由表中,而不是把原始的路由統(tǒng)統(tǒng)保存。當(dāng)策略改變時(shí),必須重新建立連接來獲得對(duì)方的全部路由,然后利用新策略再次計(jì)算。這種方式的弊端顯而易見,如網(wǎng)絡(luò)阻斷、大量消耗路由器的CPU資源等。 解決這個(gè)問題目前通常采用兩種方法:一種方法是設(shè)法保存原始的BGP路由,這樣,重新計(jì)算時(shí)就不需要重傳了;另外一種方法是在啟用新策略的時(shí)候,在不中斷BGP會(huì)話的前提下,向?qū)Ψ秸?qǐng)求重發(fā)全部BGP路由表。 第一種方法是利用軟件配置實(shí)現(xiàn)的,配置的命令如下: neighbor 1.1.1.1 soft-reconfiguration inbound 在啟用新策略的時(shí)候輸入命令: clear ip bgp 1.1.1.1 soft [in|out] 這樣,所有的原始BGP路由就會(huì)被存儲(chǔ)在另外一張路由表里面,在修改策略的時(shí)候,通過對(duì)這張路由表進(jìn)行運(yùn)算,就可以得到最優(yōu)的BGP路由表,這樣對(duì)路由產(chǎn)生的資源消耗較;而且有這樣一張?jiān)嫉穆酚杀恚梢栽谛薷牟呗院、正式啟用之前使用命令來檢查策略修改后的效果。但這種方法需要額外的內(nèi)存資源來存儲(chǔ)路由表。 第二種方法是由路由器設(shè)備的BGP 能力(BGP Capabilities)決定的,也就是系統(tǒng)軟件本身內(nèi)置的功能模塊。在建立BGP會(huì)話的時(shí)候,這個(gè)參數(shù)通過BGP OPEN在兩個(gè)路由器間進(jìn)行交換。一個(gè)設(shè)備是否支持BGP Refresh Capabilites,可以用命令下列來檢查: show ip bgp n x.x.x.x 如果參與BGP的兩個(gè)路由器都具備這個(gè)功能,那么不需要任何配置,當(dāng)執(zhí)行clear ip bgp n x.x.x.x in 時(shí),本端BGP進(jìn)程不會(huì)中斷BGP會(huì)話,而是向?qū)Χ苏?qǐng)求重發(fā)全部的BGP路由表。相對(duì)于第一種方法,這種方法的好處是可以節(jié)省內(nèi)存資源,缺點(diǎn)是網(wǎng)絡(luò)管理員無法了解對(duì)方發(fā)過來的原始路由,而且重發(fā)了全部路由表,效率上也沒有第一種方法高。目前骨干網(wǎng)內(nèi)的設(shè)備基本上都支持這個(gè)功能。 3 總結(jié) 以上對(duì)BGP擴(kuò)展性相關(guān)的幾個(gè)問題和相關(guān)的措施進(jìn)行了論述,在實(shí)際的應(yīng)用中還需要根據(jù)具體情況來部署。但是總的思路和原則都是一樣的,即一方面要降低設(shè)備的資源消耗,另外一方面要簡化維護(hù)管理,從硬件、軟件兩方面來提高網(wǎng)絡(luò)的擴(kuò)展性。
抱歉,此頁面的內(nèi)容受版權(quán)保護(hù),復(fù)制需扣除次數(shù),次數(shù)不足時(shí)需付費(fèi)購買。
如需下載請(qǐng)點(diǎn)擊:點(diǎn)擊此處下載
掃碼付費(fèi)即可復(fù)制
VDSL2 | Wi-Fi Zone | Wi-Fi Alliance | Zombie | WECA | PMIP | PKCS 8 | PKCS 7 | PKCS 15 | PKCS 12 | PKCS 11 | PKCS 10 |
移動(dòng)通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊(duì)博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助