音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

OSPFv3d在NBMA鏈路上的設(shè)計(jì)與實(shí)現(xiàn)

出處:維庫(kù)電子市場(chǎng)網(wǎng) 發(fā)布于:2023-07-21 17:32:57

摘要:基于IPv6下標(biāo)準(zhǔn)RFC2740,提出了多種鏈路上OSPFv3的差異:不同的數(shù)據(jù)包發(fā)送方式、鄰居建立和維持機(jī)制、泛洪機(jī)制、鄰居狀態(tài)和接口狀態(tài)機(jī),提出了OSPFv3在NBMA鏈路上的解決方案,并在現(xiàn)有OSPFv2源泉代碼基礎(chǔ)上,成功地NBMA鏈路上實(shí)現(xiàn)了OSPFv3。

關(guān)鍵詞:OSPFv3 NBMA 路由 IPv6

開(kāi)放式是短路么優(yōu)先協(xié)議OSPF是目前應(yīng)用于大型網(wǎng)絡(luò)的主要內(nèi)部網(wǎng)關(guān)路由協(xié)議之一,目前版本是IPv4下的OSPFv2。而適用于IPv6下一代互聯(lián)網(wǎng)的OSPFv3目前尚不成熟,并且基本上都只支持廣播鏈路。然而當(dāng)前實(shí)際應(yīng)用網(wǎng)絡(luò)中存在大量的非廣播鏈路,因此多種鏈路上的OSPFv3的研究和實(shí)現(xiàn)具有重要意義。本文針對(duì)此目標(biāo)進(jìn)行了深入分析和研究。為了使程序?qū)崿F(xiàn)設(shè)計(jì)目標(biāo)并兼容現(xiàn)有的OSPFv3,筆者進(jìn)行了穩(wěn)定性、可維護(hù)性等性能的分析和研究,成功地在Linux平臺(tái)的路由器上實(shí)現(xiàn)了支持NBMA鏈路的OSPFv3,并通過(guò)了美國(guó)Spirent公司的AX4000的一致性測(cè)試。

1 多種鏈路簡(jiǎn)介

OSPF路由協(xié)議支持的鏈路類型有:點(diǎn)到點(diǎn)、廣播、NBMA(Non-Broadcast Multi-Access)和點(diǎn)到多點(diǎn)等。在OSPFv3中一些方案已 實(shí)現(xiàn)了對(duì)廣播鏈路的支持,但對(duì)點(diǎn)到點(diǎn)、NBMA和點(diǎn)到多點(diǎn)的支持幾乎沒(méi)有。本文以NBMA鏈路為重點(diǎn),深入分析、設(shè)計(jì)并實(shí)現(xiàn)了對(duì)OSPFv3的多鏈路支持。

首先簡(jiǎn)要介紹各種鏈路:

點(diǎn)到點(diǎn)鏈路(PPP):連接一對(duì)路由器的鏈路,例如56kbps串行線路。

廣播鏈路(Broadcast):它支持多個(gè)路由器,具備廣播能力。廣播鏈路上的每對(duì)路由器假定可以相互直接通信,例如以太網(wǎng)。

非廣播鏈路(Non-Broadcast):它也支持多個(gè)路由器,但不具備廣播能力,例如X.25公眾數(shù)據(jù)網(wǎng)(PDN)。在非廣播鏈路上OSPF有兩種運(yùn)轉(zhuǎn)模式:(1)Non-Broadcast Multi-Access(NBMA),非廣播多址接入,要求鏈路上兩兩種由器可以相互直接通信,模擬在廣播鏈路上的操作,如ATM網(wǎng);(2)Point-to-MultiPoint,點(diǎn)到多點(diǎn),把非廣播鏈路視為多個(gè)點(diǎn)到點(diǎn)鏈路的集合,如幀中繼網(wǎng)。

2 OSPFv3在各種鏈路上的差異

通過(guò)分析RFC2328和RFC2740,可以歸納總結(jié)出各種鏈路類型上的OSPFv3主要在如下幾方面有所不同:數(shù)據(jù)包的發(fā)送方式、鄰居建立和維持機(jī)制、泛洪機(jī)制、鄰居狀態(tài)機(jī)和接口狀態(tài)機(jī)。

2.1 數(shù)據(jù)包的發(fā)送方式

OSPFv3各種鏈路類型按照是否支持多播可以分為網(wǎng)組:(1)支持多播,包括廣播鏈路和點(diǎn)到點(diǎn)鏈路;(2)不支多播,包括NBMA鏈路和點(diǎn)到多點(diǎn)鏈路。在OSPFv3路由協(xié)議中,涉及多播的數(shù)據(jù)包有Hello包、LSU包(Link State Update,鏈路狀態(tài)更新包)和LSAck包(Link State Acknowledgment,,鏈路狀態(tài)確認(rèn)包)。由于NBAM、點(diǎn)到多點(diǎn)鏈路沒(méi)有多播能力,所以在廣播鏈路和點(diǎn)到點(diǎn)鏈路上以多播發(fā)送的數(shù)據(jù)包將以單播方式發(fā)送,即這些包的發(fā)送地址將根據(jù)鏈路類型而定。

2.2 領(lǐng)導(dǎo)建立和維持機(jī)制

OSPFv3建立鄰居關(guān)系機(jī)制可以分成兩種:(1)鄰居自動(dòng)發(fā)現(xiàn)。節(jié)點(diǎn)主動(dòng)向鄰居發(fā)送Hello包,當(dāng)鄰居在RouterDeadInterval內(nèi)給予正確回應(yīng),即認(rèn)為雙方建立了鄰居關(guān)系。(2)手工配置鄰居。首先手工配置接口的鄰居(包括Router-ID和Ipv6 link-local address),該接口啟動(dòng)后會(huì)間隔HelloInterval發(fā)送Hello包給手工配置的合格鄰居(路由器優(yōu)先級(jí)不為0),在RouterDeadInterval內(nèi)結(jié)果收到該鄰居的正確回應(yīng),則建立了鄰居關(guān)系。否則觸發(fā)事件Inactivity_timer,把鄰居轉(zhuǎn)為Down狀態(tài),同時(shí)開(kāi)啟查詢鄰居定時(shí)器(發(fā)Hello包),定時(shí)器間隔是PollInterval,如果收到了鄰居的回應(yīng)(如果鄰居激活,會(huì)開(kāi)啟reply_timer定時(shí)器,發(fā)送reply),則說(shuō)明該手工配置的鄰居真實(shí)存在,同時(shí)關(guān)閉poll_timer查詢鄰居定時(shí)器。在廣播鏈路和點(diǎn)到點(diǎn)鏈路,采用自動(dòng)發(fā)現(xiàn):周期性地發(fā)送Hello包到多播地址ALLSPFRouters,主動(dòng)建立和維持鄰居關(guān)系;在NBMA鏈路和點(diǎn)到多點(diǎn)鏈路上,采用手工配置。

2.3 泛洪機(jī)制

在廣播和NBMA鏈路上有DR(指定路由器)和BDR(備份指定路由器)選舉,而點(diǎn)到點(diǎn)鏈路和點(diǎn)到多點(diǎn)鏈路沒(méi)有DR和BDR選擇。

2.4 鄰居狀態(tài)機(jī)和接口狀態(tài)機(jī)

對(duì)NBMA網(wǎng)絡(luò)有專門的狀態(tài)Attempt:當(dāng)鄰居處于Down,由到InterfaceUp事件后,路由器將為鄰居到表中的(合格候選DR)每個(gè)鄰居產(chǎn)生Start事件,轉(zhuǎn)為Attempt狀態(tài)。對(duì)點(diǎn)到點(diǎn)、點(diǎn)到多點(diǎn)有接口狀態(tài)point-to-point。只有廣播類型的接口加入到多播組AllSPFRouters和AllDRouters,支持多播的點(diǎn)到點(diǎn)鏈路的接口加入到多播組AllSPFRouters。

3 NBMA鏈路上OSPFv3的設(shè)計(jì)與實(shí)現(xiàn)

3.1 單播、多播方式選擇

當(dāng)一個(gè)接口啟動(dòng)后,將根據(jù)鏈路類型選擇是否加入多播組。對(duì)于廣播鏈路和點(diǎn)到點(diǎn)鏈路的網(wǎng)絡(luò)接口必須加入多播組以支持多播。在運(yùn)行了OSPFv3協(xié)議后,接口就會(huì)周期性地向鏈路發(fā)送Hello報(bào)文,以便與同一鏈路上的其他路由器建立和維持鄰居關(guān)系。根據(jù)鏈路類型的不同,Hello包的發(fā)送地址所示。

LSU包和LSAck包發(fā)送方式按照鏈路類型的不同發(fā)送的目的地址有所不同。

3.2 NBMA鏈路上的鄰居建立和維持

由于NBMA網(wǎng)絡(luò)類型不能自動(dòng)建立鄰居關(guān)系,需要手工為其配置鄰居,包括鄰居的Ipv6鏈路本地地址以及鄰居的Router-ID。首先把路由器的接口設(shè)置為NBMA鏈路類型,并在此接口上配置鄰居。在OSPFv2中,鄰居配置在全局模式下進(jìn)行,通過(guò)識(shí)別鄰居的IPv4地址和路由器接口的IPv4地址是否有相同的子網(wǎng)掩碼確定配置哪個(gè)接口的鄰居;在OSPFv3中,配置的是鏈路本地地址,上述策略失效,選擇在接口模式下配置鄰居。在NBMA鏈路上建立OSPFv3鄰居關(guān)系,過(guò)程如下:

(1)如果路由器是合格的候選DR(Router Priority不是0),則向所有的合格候選DR的鄰居周期性發(fā)送Hello包。如果本身是DR或者BDR,則向所有的鄰居周期發(fā)送Hello包。為了減少Hello包的發(fā)送數(shù)量,合格候選DR路由器的數(shù)目應(yīng)該較少。

(2)如果路由器不是合格的候選DR,而且存在DR和BDR,則周期性地向DR和BDR發(fā)送Hello包。此外,如果它收到合格的候選DR(除了當(dāng)前DR和BDR)發(fā)出的Hello包,將發(fā)送回應(yīng)Hello包。

(3)周期性發(fā)送Hello包,Hello包間隔由鄰居狀態(tài)決定。如果鄰居在狀態(tài)Down,間隔為PollInterval秒,否則間隔為HelloInterval。

用戶配置的NBMA鄰居需要有一個(gè)數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ),為此要設(shè)計(jì)一個(gè)ospf6_nbr_nbma數(shù)據(jù)結(jié)構(gòu)反映用戶的配置。

Struct ospf6_nbr_nbma

{

/*存放鄰居的IPv6鏈路本地地址*/

struct in6_addr addr;

/*存放鄰居的ID*/

u_int32_t router_id;

/*對(duì)應(yīng)的接口*/

struct ospf6_interface *o6i;

/*對(duì)應(yīng)的鄰居*/

struct ospf6_neighbor *nbr;

/*存放鄰居的優(yōu)先級(jí)*/

u_char priority;

/*存儲(chǔ)配置的查詢時(shí)間*/

u_int32_t v_poll;

/*查詢線程*/

struct thread *t_poll;

};

4 測(cè)試與結(jié)果

基于上述實(shí)現(xiàn),在美國(guó)Spirent公司的AX/4000網(wǎng)絡(luò)測(cè)試儀上進(jìn)行了一致性測(cè)試。下面以其中一個(gè)測(cè)試為例介紹其配置、目的、測(cè)試步驟和預(yù)期結(jié)果。

測(cè)試目的:驗(yàn)證在廣播網(wǎng)和NBMA網(wǎng)上,如果有多個(gè)路由器宣稱自己是DR并且都是具有相同的路由器優(yōu)先級(jí),則具有較大路由器ID的被選為DR(此時(shí)IUT是DR)。

AX/4000配置;

OSPF Node Setup中節(jié)點(diǎn)的接口模式選為NBMA,NBMA poll multiplier設(shè)置為12,即設(shè)置PollInterval為120s,Router-ID為0.0.0.3,優(yōu)先級(jí)為1,area-id為0。

路由器A的配置:配置鏈路類型為NBMA,并在接口上配置鄰居。

ipv6 ospf6 link non-broadcast

neighbor fe80::20c:76ff:fe8a:9397 router-id 0.0.0.2

測(cè)試步驟:

1.配置RouterA的Router-Id為0.0.0.2:

# router-id 0.0.0.2

2.配置RouterA的優(yōu)先級(jí)為1:

#ipv6 ospf6 priority 1

3.配置RouterA的area-id為0:

#interface eth0 area 0

4.Router向IUT發(fā)送Hello包

預(yù)期結(jié)果:IUT應(yīng)當(dāng)給Tester-A發(fā)送一個(gè)帶有IUT是DR信息的Hello包。

此測(cè)試?yán)樌ㄟ^(guò)。

利用AX/4000,進(jìn)行了總共266個(gè)測(cè)試,通過(guò)率超過(guò)93%。目前支持多種鏈路的OSPFv3已經(jīng)順利通過(guò)國(guó)家863組鑒定。

關(guān)鍵詞:OSPFv3d在NBMA鏈路上的設(shè)計(jì)與實(shí)現(xiàn)FE8A9397

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!