OSPFl連載1:OSPFv3與OSPFv2區(qū)別

字號(hào):

OSPF路由協(xié)議是鏈路狀態(tài)型路由協(xié)議,這里的鏈路即設(shè)備上的接口。鏈路狀態(tài)型路由協(xié)議基于連接源和目標(biāo)設(shè)備的鏈路狀態(tài)作出路由的決定。鏈路狀態(tài)是接口及其與鄰接網(wǎng)絡(luò)設(shè)備的的關(guān)系的描述,接口的信息即鏈路的信息,也就是鏈路的狀態(tài)(信息)。這些信息包括接口的IPv6前綴(prefix)、網(wǎng)絡(luò)掩碼、接口連接的網(wǎng)絡(luò)(鏈路)類(lèi)型、與該接口在同一網(wǎng)絡(luò)(鏈路)上的路由器等信息。這些鏈路狀態(tài)信息由不同類(lèi)型的LSA攜帶,在網(wǎng)絡(luò)上傳播。
    路由器把收集到的LSA存儲(chǔ)在鏈路狀態(tài)數(shù)據(jù)庫(kù)中,然后運(yùn)行SPF算法計(jì)算出路由表。鏈路狀態(tài)數(shù)據(jù)庫(kù)和路由表的本質(zhì)不同在于:數(shù)據(jù)庫(kù)中包含的是完整的鏈路狀態(tài)原始數(shù)據(jù),而路由表中列出的是到達(dá)所有已知目標(biāo)網(wǎng)絡(luò)的最短路徑的列表。
    OSPF協(xié)議是為IP協(xié)議提供路由功能的路由協(xié)議。OSPFv2(OSPF版本2)是支持IPv4的路由協(xié)議,為了讓OSPF協(xié)議支持IPv6,技術(shù)人員開(kāi)發(fā)了OSPFv3(OSPF版本3),OSPFv3由RFC2740定義。
    OSPFv3與OSPFv2
    數(shù)據(jù)包結(jié)構(gòu)
    IPv6 使用的LSA類(lèi)型
    配置OSPFv3
    NBMA配置示例
    配置OSPFv3認(rèn)證
    OSPFv3與OSPFv2
    無(wú)論是OSPFv2還是OSPFv3,OSPF協(xié)議的基本運(yùn)行原理是沒(méi)有區(qū)別的,然而,由于IPv4和IPv6協(xié)議意義的不同,地址空間大小的不同,它們之間的不同之處也是必然存在的。
    相似之處
    (1)路由器類(lèi)型相同。包括內(nèi)部路由器(internal router)、骨干路由器(backbone router)、區(qū)域邊界路由器(area border router)和自治系統(tǒng)邊界路由器(autonomous system boundary router)。
    (2)支持的區(qū)域類(lèi)型相同。包括骨干區(qū)域、標(biāo)準(zhǔn)區(qū)域、末節(jié)區(qū)域、NSSA和完全末節(jié)區(qū)域。
    (3)都使用SPF算法。
    (4)DR和BDR的選舉過(guò)程相同。
    (5)接口類(lèi)型相同。包括點(diǎn)到點(diǎn)鏈路、點(diǎn)到多點(diǎn)鏈路、BMA鏈路、NBMA鏈路和虛擬鏈路。
    (6)LSA的傳播和老化機(jī)制相同。
    (7)雖然OSPFv3的數(shù)據(jù)包攜帶地址空間更大的IPv6地址,但大多數(shù)數(shù)據(jù)包都兼容OSPFv2。
    (8)基本數(shù)據(jù)包類(lèi)型相同,都使用Hello、DBD、LSR、LSU和LSA。
    (9)鄰居的發(fā)現(xiàn)和鄰居關(guān)系的建立機(jī)制相同。
    (10)度量值的計(jì)算方法相同,都使用鏈路開(kāi)銷(xiāo)。
    不同之處
    (1)術(shù)語(yǔ)。大多數(shù)用在OSPFv2中的術(shù)語(yǔ)都可以用來(lái)描述OSPFv3中相同的概念。但其中有一個(gè)術(shù)語(yǔ)在OSPFv2中和在OSPFv3中具有不同的含義。在OSPFv3中,用"鏈路(link)"取代了OSPFv2中的"網(wǎng)絡(luò)(network)"或"子網(wǎng)(subnet)"的概念。"接口"與"鏈路"相連。一條"鏈路"可以有多個(gè)IP地址,如果兩個(gè)接點(diǎn)與同一個(gè)鏈路相連,即使它們不在同一個(gè)IP子網(wǎng)(IPv6前綴)上,也能夠通過(guò)該"鏈路"直接通話(huà)。
    (2)OSPFv3進(jìn)程運(yùn)行在鏈路上,而不象OSPFv2進(jìn)程那樣運(yùn)行在子網(wǎng)上。
    (3)一條鏈路上可以運(yùn)行多個(gè)OSPF實(shí)例(instance)。例如,可以使用兩個(gè)實(shí)例讓一條鏈路運(yùn)行在兩個(gè)區(qū)域內(nèi)。
    (4)IPv6地址信息僅在LSU的載荷(payload)中攜帶。
    (5) 路由器ID、區(qū)域ID和LSA鏈路狀態(tài)ID值仍然使用32比特表達(dá),因此不能使用IPv6地址表示。
    (6) OSPFv3總是使用路由器ID來(lái)確認(rèn)鄰接路由器的身份。而OSPFv2在NBMA和BMA網(wǎng)絡(luò)中,使用路由器IP地址確認(rèn)鄰接路由器的身份;在點(diǎn)到點(diǎn)網(wǎng)絡(luò)和虛鏈路上使用路由器ID確認(rèn)鄰接路由器身份。
    (7)LSA的傳播范圍(flooding scope)定義為如下3種:
    本鏈路范圍(link-local scope)-- LSA僅在本鏈路范圍內(nèi)傳播。
    區(qū)域范圍(area scope)-- LSA僅在一個(gè)區(qū)域內(nèi)傳播。
    AS范圍(AS scope)-- LSA在整個(gè)AS內(nèi)傳播。
    (8)使用本鏈路地址(link-local address)發(fā)現(xiàn)鄰居和完成自動(dòng)配置等工作。IPv6路由器并不轉(zhuǎn)發(fā)源地址是本鏈路地址的數(shù)據(jù)包。OSPFv3認(rèn)為每臺(tái)路由器已經(jīng)為它相接的每個(gè)物理網(wǎng)段(物理鏈路)分配了本鏈路地址。
    (9)認(rèn)證方式不同。運(yùn)行OSPFv3的路由器使用IPsec認(rèn)證。因此在OSPFv3的報(bào)文頭中不包含認(rèn)證信息(參見(jiàn)4.2小節(jié))。
    (10)數(shù)據(jù)包結(jié)構(gòu)不同(參見(jiàn)4.2小節(jié))。
    (11)LSA類(lèi)型不同(參見(jiàn)4.4小節(jié))。
    (12)LSA結(jié)構(gòu)不同(參見(jiàn)RFC2740)。
    (13)一個(gè)接口可以配置多個(gè)IPv6地址前綴,缺省地,這些前綴都被注入到OSPFv3中,不能人為地選擇哪些前綴被注入,哪些前綴不被注入。
    (14)如果路由器的接口上設(shè)置了IPv4地址,或者設(shè)置了環(huán)回接口,OSPFv3則自動(dòng)選擇IPv4地址作為路由器ID,否則需要為路由器設(shè)置ID號(hào)。
    數(shù)據(jù)包結(jié)構(gòu)
    OSPFv3協(xié)議直接運(yùn)行在IPv6上,因此,OSPFv3的數(shù)據(jù)由IPv6報(bào)文攜帶。在IPv6報(bào)文頭的’下一個(gè)報(bào)文頭’字段中,用協(xié)議號(hào)89代表該數(shù)據(jù)包中攜帶的是OSPFv3的數(shù)據(jù)。
    IPv6的報(bào)頭結(jié)構(gòu)如圖4-1所示,各字段的含義如下:
    Version(版本號(hào)):參數(shù)值為6,代表IPv6報(bào)頭,4比特長(zhǎng)。
    Priority(優(yōu)先級(jí)):4比特長(zhǎng)。發(fā)送方可以使用該值為其發(fā)出的數(shù)據(jù)賦予優(yōu)先級(jí)。
    Flow label(流標(biāo)簽):發(fā)送放可以用它標(biāo)志屬于同一個(gè)流的數(shù)據(jù)。
    Payload length(載荷長(zhǎng)度):表示報(bào)頭后面攜帶的有效數(shù)據(jù)長(zhǎng)度。
    Next header(下一個(gè)報(bào)頭):表示IPv6報(bào)頭后面的報(bào)頭類(lèi)型。89代表OSPF協(xié)議。
    Hops(跳數(shù)限制):表示報(bào)文所能經(jīng)由的路由器數(shù)。
    Source address(源地址):發(fā)送數(shù)據(jù)方地址。
    Destination address(目的地地址):接收數(shù)據(jù)方地址。
    圖 4-1 IPv6報(bào)頭格式
    緊跟著IPv6報(bào)文頭的后面是OSPFv3的報(bào)文頭,其格式如圖4-2所示?!?BR>    
    圖 4-2 OSPFv3報(bào)文頭