ipv6下一代網絡技術(IPv6關鍵技術之IPv6路由技術)
2023-11-30 10:42:33 1
在IPv6網絡環境下,儘管大多數的IPv4的路由協議都需要重新設計,或者開發以支持IPv6,但IPv6路由協議相對IPv4隻有很小的變化。
目前各種常用的單播路由協議(IGP、EGP)和組播協議都已經支持IPv6。
1、RIPng
RIP(Routing Information Protocol)路由協議是一種採用距離向量算法的距離向量協議。
下一代RIP協議(簡稱RIPng)是對原來的IPv4網絡中RIP-2協議的擴展。大多數RIP的概念都可以用於RIPng。
為了在IPv6網絡中應用,RIPng對原有的RIP協議進行了修改:
UDP埠號:使用UDP的521埠發送和接收路由信息;
組播地址:使用FF02:9作為鏈路本地範圍內的RIPng路由器組播地址;
路由前綴:使用128比特的IPv6地址作為路由前綴;
下一跳地址:使用128比特的IPv6地址。
2、OSPFv3
OSPF作為一個內部網關協議(Interior Gateway Protocol,IGP),運行在同一個自治域(AS)中的三層設備之間。
不同於距離向量協議,OSPF是一種鏈路狀態協議。通過設備之間交換用以記錄鏈路狀態信息的各類型的Link-State Advertisements(LSAs),實現設備之間鏈路狀態信息的同步,隨後通過Dijkstra Algorithm計算出OSPF路由表項。
OSPFv3是OSPF版本3的簡稱,主要提供對IPv6的支持,遵循的標準為RFC2740(OSPF for IPv6)。
與OSPFv2相比,OSPFv3除了提供對IPv6的支持外,還充分考慮了協議的網絡無關性和可擴展性,進一步理順了拓撲與路由的關係,使得OSPF的協議邏輯更加簡單清晰,大大提高了OSPF的可擴展性。
OSPFv3和OSPFv2主要存在如下不同之處。
修改部分協議流程,使其獨立於網絡協議,大大提高了可擴展性。主要的修改包括Router-ID來標記鄰居,使用鏈路本地(Link-local)地址來發現鄰居等,使得拓撲本身獨立於網絡協議,以便於未來擴展。
進一步理順了拓撲與路由的關係。OSPFv3在LSA中將拓撲與路由信息相分離,一、二類LSA中不再攜帶路由信息,而只是單純地描述拓撲信息,另外用新增的八、九類LSA結合原有的三、五、七類LSA來發布路由前綴信息。
提高了協議的適應性。通過引入LSA擴散範圍的概念,進一步明確了對未知LSA的處理,使得協議可以在不識別LSA的前提下根據需要做出恰當的處理,大大提高了協議對未來擴展的適應性。
3、IS-ISv6
IS-IS是由國際標準化組織為其無連接網絡協議CLNP發布的動態路由協議。同BGP一樣,IS-IS可以同時承載IPv4和IPv6的路由信息。
為了使IS-IS支持IPv4,IETF在RFC1195中對IS-IS協議進行了擴展,命名為集成化IS-IS(Integrated IS-IS)或雙IS-IS(Dual IS-IS)。
這個新的IS-IS協議可以同時應用在TCP/IP和OSI環境中。
在此基礎上,為了有效的支持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,通過定義路由信息前綴、度量值等信息來說明網絡的可達性。
IPv6 Interface Address(TLV type 132)。類型值為232(0xE8),它相當於IPv4中的「IP Interface Address」 TLV,只不過把原來的32比特的IPv4地址改為128比特的IPv6地址。
NLP ID是標記IS-IS支持何種網絡層協議的一個8比特欄位,IPv6對應的NLP ID值為142(0x8E)。如果IS-IS路由器支持IPv6,那麼它必須在Hello報文中攜帶該值向鄰居通告它支持IPv6。
4、BGP4
BGP(Border Gateway Protocol)是一種不同自治系統的路由器之間進行通信的外部網關協議,其主要功能是在不同的自治系統(Autonomous Systems,AS)之間交換網絡可達信息,並通過協議自身機制來消除路由環路。
傳統的BGP4隻能管理IPv4的路由信息,對於使用其他網絡層協議(如IPv6等)的應用,在跨自治系統傳播時就受到一定限制。
為了提供對多種網絡層協議的支持,IETF對BGP4進行了擴展,形成BGP4 ,目前BGP4 標準是RFC2858(Multiprotocol Extensions for BGP4,BGP4多協議擴展)。
為了實現對IPv6協議的支持,BGP4 需要將IPv6網絡層協議的信息反映到NLRI(Network Layer Reachable Information)及Next-Hop屬性中。
BGP4 中引入的兩個NLRI屬性分別是:
MP-REACH-NLRI:Multiprotocol reachable NLRI,多協議可達NLRI。用於發布可達路由及下一跳信息。
MP-UNREACH-NLRI:Multiprotocol Unreachable NLRI,多協議不可達NLRI。用於撤銷不可達路由。
BGP4 中的Next-Hop屬性用IPv6地址來表示,可以是IPv6全球單播地址或者下一跳的鏈路本地地址。
BGP4 利用BGP的多協議擴展屬性來達到在IPv6網絡中應用的目的,BGP協議原有的消息機制和路由機制並沒有改變。