IPv6是對IPv4的革新,盡管大多數IPv6的路由協(xié)議都需要重新設計或者開發(fā),但IPv6路由協(xié)議相對IPv4只有很小的變化。目前各種常用的單播路由協(xié)議(IGP、EGP)和組播協(xié)議都已經支持IPv6。
1 IPv6單播路由協(xié)議
IPv6單播路由協(xié)議實現和IPv4中類似,有些是在原有協(xié)議上做了簡單擴展(如,ISISv6、BGP4+),有些則完全是新的版本(如,RIPng、OSPFv3)。
1.1 RIPng
下一代RIP協(xié)議(簡稱RIPng)是對原來的IPv4網絡中RIP-2協(xié)議的擴展。大多數RIP的概念都可以用于RIPng。
為了在IPv6網絡中應用,RIPng對原有的RIP協(xié)議進行了修改:
UDP端口號:使用UDP的521端口發(fā)送和接收路由信息
組播地址:使用FF02::9作為鏈路本地范圍內的RIPng路由器組播地址
路由前綴:使用128比特的IPv6地址作為路由前綴
下一跳地址:使用128比特的IPv6地址
1.2 OSPFv3
OSPFv3是OSPF版本3的簡稱,主要提供對IPv6的支持,遵循的標準為 RFC2740(OSPF for IPv6)。與OSPFv2相比,OSPFv3除了提供對IPv6的支持外,還充分考慮了協(xié)議的網絡無關性以及可擴展性,進一步理順了拓撲與路由的關系,使得OSPF的協(xié)議邏輯更加簡單清晰,大大提高了OSPF的可擴展性。
OSPFv3和OSPFv2的不同主要有:
修改了LSA的種類和格式,使其支持發(fā)布IPv6路由信息
修改部分協(xié)議流程,使其獨立于網絡協(xié)議,大大提高了可擴展性
主要的修改包括用Router-ID來標識鄰居,使用鏈路本地(Link-local)地址來發(fā)現鄰居等,使得拓撲本身獨立于網絡協(xié)議,與便于未來擴展。
進一步理順了拓撲與路由的關系
OSPFv3在LSA中將拓撲與路由信息相分離,一、二類LSA中不再攜帶路由信息,而只是單純的描述拓撲信息,另外用新增的八、九類LSA結合原有的三、五、七類LSA來發(fā)布路由前綴信息。
提高了協(xié)議適應性
通過引入LSA擴散范圍的概念,進一步明確了對未知LSA的處理,使得協(xié)議可以在不識別LSA的情況下根據需要做出恰當處理,大大提高了協(xié)議對未來擴展的適應性。
1.3 IS-ISv6
IS-IS是由國際標準化組織ISO為其無連接網絡協(xié)議CLNP發(fā)布的動態(tài)路由協(xié)議。同BGP一樣,IS-IS可以同時承載IPv4和IPv6的路由信息。
為了使IS-IS支持IPv4,IETF在RFC1195中對IS-IS協(xié)議進行了擴展,命名為集成化IS-IS(Integrated IS-IS)或雙IS-IS(Dual IS-IS)。這個新的IS-IS協(xié)議可同時應用在TCP/IP和OSI環(huán)境中。在此基礎上,為了有效的支持IPv6,IETF在draft-ietf-isis-ipv6-05.txt中對IS-IS進一步進行了擴展,主要是新添加了支持IPv6路由信息的兩個TLV(Type-Length-Values)和一個新的NLP ID(Network Layer Protocol Identifier)。
TLV是在LSP(Link State PDUs)中的一個可變長結構,新增的兩個TLV分別是:
IPv6 Reachability(TLV type 236):
類型值為236(0xEC),通過定義路由信息前綴、度量值等信息來說明網絡的可達性。
IPv6 Interface Address(TLV type 232):
類型值為232(0xE8),它相當于IPv4中的“IP Interface Address”TLV,只不過把原來的32比特的IPv4地址改為128比特的IPv6地址。
NLP ID是標識IS-IS支持何種網絡層協(xié)議的一個8比特字段,IPv6對應的NLP ID值為142(0x8E)。如果IS-IS路由器支持IPv6,那么它必須在Hello報文中攜帶該值向鄰居通告它支持IPv6。
1.4 BGP4+
傳統(tǒng)的BGP-4只能管理IPv4的路由信息,對于使用其它網絡層協(xié)議(如IPv6等)的應用,在跨自治系統(tǒng)傳播時就受到一定限制。
為了提供對多種網絡層協(xié)議的支持,IETF對BGP-4進行了擴展,形成BGP4+,目前的BGP4+標準是RFC2858(Multiprotocol Extensions for BGP-4,BGP-4多協(xié)議擴展)。
為了實現對IPv6協(xié)議的支持,BGP-4+需要將IPv6網絡層協(xié)議的信息反映到NLRI(Network Layer Reachable Information)及Next_Hop屬性中。
BGP4+中引入的兩個NLRI屬性分別是:
MP_REACH_NLRI:Multiprotocol Reachable NLRI,多協(xié)議可達NLRI。用于發(fā)布可達路由及下一跳信息。
MP_UNREACH_NLRI:Multiprotocol Unreachable NLRI,多協(xié)議不可達NLRI。用于撤銷不可達路由。
BGP4+中的Next_Hop屬性用IPv6地址來表示,可以是IPv6全球單播地址或者下一跳的鏈路本地地址。
BGP4+利用BGP的多協(xié)議擴展屬性來達到在IPv6網絡中應用的目的,BGP協(xié)議原有的消息機制和路由機制并沒有改變。
2 IPv6組播路由協(xié)議
IPv6提供了豐富的組播協(xié)議支持,包括MLDv1、MLDv1 Snooping、PIM-SM、PIM-DM、PIM-SSM。
2.1 MLDv1
Multicast Listener Discovery for IPv6(簡稱MLD)為IPv6組播監(jiān)聽發(fā)現協(xié)議。MLD是一個非對稱的協(xié)議,IPv6組播成員(主機或路由器)和IPv6組播路由器的協(xié)議行為是不同的。它的目的是使IPv6路由器采用MLD來發(fā)現與其直連的IPv6組播監(jiān)聽者的出現,并進行組成員關系的收集和維護,將收集的信息提供給IPv6路由器,使組播包傳送到存在IPv6監(jiān)聽者的所有鏈路上。
MLDv1與IPv4的IGMPv2基本相同。區(qū)別有兩點:一、MLDv1的協(xié)議報文地址使用IPv6地址;二、離開報文的名稱不同。MLDv1的離開報文是Multicast Listener Done,IGMP的離開報文是IGMP Leave。
2.2 MLDv1 Snooping
MLDv1 Snooping與IPv4的IGMPv2 Snooping基本相同,唯一的區(qū)別在于協(xié)議報文地址使用IPv6地址。
2.3 PIM-SM
PIM-SM稱為基于稀疏模式的協(xié)議無關組播路由協(xié)議,它運用潛在的單播路由為組播樹的建立提供反向路徑信息,并不依賴與特定的單播路由協(xié)議。
IPv6的PIM-SM與IPv4的基本相同,唯一的區(qū)別在于協(xié)議報文地址及組播數據報文地址均使用IPv6地址。
2.4 PIM-DM
PIM-DM為密集模式的協(xié)議無關組播模式。
IPv6的PIM-DM與IPv4的基本相同,唯一的區(qū)別在于協(xié)議報文地址及組播數據報文地址均使用IPv6地址。
2.5 PIM-SSM
PIM-SSM采用PIM-SM中的一部分技術用來實現SSM模型。由于接收者已經通過其他渠道知道了組播源S的具體位置,因此SSM模型中無需RP節(jié)點,無需構建RPT樹,無需源注冊過程,同時也無需MSDP來發(fā)現其他PIM域內的組播源。
作者:阿古 來源:比特網論壇