From: http://blog.sina.com.cn/s/blog_61bd83dc0100la2u.html
OSPFv3與OSPFv2協議的比較
OSPF是一種鏈路狀態路由協議。它具有標准開放、收斂迅速、無環路、便於層級化設計等眾多優點。IPv4網絡中廣泛使用的OSPFv2協議由於在報文內 容、運行機制等方面與IPv4地址聯系得過於緊密,大大制約了它的可擴展性和適應性。在IPv6環境中,為了使OSPF更好的應用,同時保留原有的眾多優 點,因此,在OSPFv2的基礎上作了多方面的修改后產生了OSPFv3協議。
OSPFv3相比OSPFv2作出的改進可以分為幾個方面來描述。
1. OSPFv3獨立於網絡協議
1) OSPFv3基於鏈路運行
OSPFv2協議是基於子網運行的,鄰居之間形成鄰接關系的必要條件之一就是兩端的IP地址屬於同一網段而且掩碼相同。而OSPFv3協議基於鏈路運行,與具體的IPv6地址、前綴分離開,即使同一鏈路上的不同節點具有不同網段的IPv6地址時,協議也可以正常運行。
能否直接在v2上修改,使其也不基於子網運行。
2) 編址性語義的取消
在OSPFv2中,協議分組和LSA中的許多字段都是來自於網絡上的某個IP地址、掩碼或某個IP子網號。報文的數據內容決定了OSPFv2的多種機制必須基於IPv4來進行,包括鄰居路由器標識、鄰居建立等等。
在OSPFv3中取消了這些編址性語義,而只保留協議運行必須的核心內容。比如,Router-LSA和Network-LSA中不再包含網絡地址,而只用於傳遞拓撲信息;LSA的Link State ID依然保留32位長度的IPv4地址格式,但只是一個編號,不再包含地址信息;鄰居路由器,包括DR和BDR,都是用Router ID來標識。這些保證了OSPFv3協議能夠獨立於網絡協議運行。
3) 鏈路本地地址的使用
OSPFv2協議要求,每一個運行OSPF的接口都必須有一個全局的IPv4地址,即使是在網絡中僅僅用於傳輸轉發的中間節點也必須如此,協議的運行和路 由的計算都依賴於這個地址。而在IPv6中,每個接口都會分配本地鏈路地址(link-local address),這個地址只在本地鏈路有效,並不會在整個網絡中傳播。OSPFv3使用這個本地鏈路地址作為協議分組發送的源地址(虛連接除外)和路由 的下一跳,在網絡規划時就不需要在大量的中間節點規划子網,同樣也不需要專門配置IPv6地址。這樣,一方面可以節省大量的全局地址,另一方面可以說協議 的運行獨立於IPv6,可以方便的對協議進行擴展,實現組播選路等其他的功能。