今天和海翎光電的小編咱們一起聊聊IPv6的報頭。下圖是IPV4和IPV6的對比圖,個人感覺還是比較直觀的,我們就以這張圖來梳理IPv6的報頭內容。
首先,我們先重新回顧一下IPv4的報頭內容,對于這個內容比較熟悉的朋友可以直擊跳過: 1.Version(4位)用來表明IP協議版本,如果是IPv4協議,為0100(也就是十進制的4) 2.IHL(Internet Header Length)來記錄頭部的總長度。 3.Type of Service 服務類型。Type of Service最初是用來給IP包分優先級,比如語音通話需要實時性,所以它的IP包應該比Web服務的IP包有更高的優先級。后來,Type of Service被實際分為兩部分:Differentiated Service Field (DS, 前6位)和Explicit Congestion Notification (ECN, 后2位),前者依然用來區分服務類型,而后者用于表明IP包途徑路由的交通狀況。 4.total length 總長度,包括報頭的長度和數據的長度。 5.Identification標識,用于區分不同的數據報。 7.fragment offset,分段偏移量,在分組太大的時候,提供分段和重組功能。 8.Time to Live最初是表示一個IP包的最大存活時間:如果IP包在傳輸過程中超過Time to Live,那么IP包就作廢。后來,IPv4的這個區域記錄一個整數(比如30),表示在IP包接力過程中最多經過30個路由接力,如果超過30個路由接力,那么這個IP包就作廢。IP包每經過一個路由器,路由器就給Time to Live減一。當一個路由器發現Time to Live為0時,就不再發送該IP包。 9.Protocol,用來說明上層協議的端口,也就是IP包之上的協議是什么(tcp為6,udp為17)。 10.Header Checksum區域。這個checksum用于校驗IP包的頭部信息。 11.Source Adrresss表示源IP地址。 12.Destination Address表示目的地的IP地址。 下圖是通過ensp模擬器抓包時的ip報頭,大家可以對照的再次回顧一下各報頭的含義和作用。保留的內容:IPv6的報頭保留了IPv4報頭中的version,Source Adrresss,Destination Address。1.Payload Length用來表示IPv6的數據部分的長度。整個IP包為40 bytes + Payload Length。2.Hop Limit區域,IPv6用于記錄的也是最大路由接力數,與IPv4的Time to Live功能相同。Hop Limit避免了IP包在互聯網中無限接力。3.Next Header,與IPv4的Protocol功能一致,用來說明上層協議的端口。4.Traffic Class在IPv6中也被如此分成兩部分。通過IP包提供不同服務的想法,并針對服務進行不同的優化的想法已經產生很久了,但具體做法并沒有形成公認的協議。Flow Label是IPv6中新增的區域。它被用來提醒路由器來重復使用之前的接力路徑。這樣IP包可以自動保持出發時的順序。這對于流媒體之類的應用有幫助。1.IHL(Internet Header Length)來記錄頭部的總長度。因為IPv6的報頭總長度是固定的40字節。2Header Checksum區域。IPv6的校驗依賴高層的協議來完成,而且我們都知道,不僅高層協議有校驗,在二層的封裝上,也有FCS進行校驗。因此,IPv6刪除了這個區域。3.options。因為IPv6沒有options,它的頭部是固定的長度40 bytes,所以IPv6中并不需要IHL區域。4.Identification標識,用于區分不同的數據報。6.fragment offset,分段偏移量,在分組太大的時候,提供分段和重組功能。 首先,我們在設備上進行IPv6地址的配置。需要注意的是,在配置IPv6地址的時候,首先要在全局開啟IPv6,然后進入接口后,還需要再次開啟IPv6的服務。為了讓大家全面的了解IPv6地址的表示,在配置地址的時候是使用的完全表示,當我們使用dis this命令進行查看的時候,顯示的地址是壓縮表示的方法。
從IPv6的完全表示方式來看,IPv6的地址是由8組4個16進制數來表示的,共128位(ipv4是點分十進制,由4組4個十進制數來表示,共32位)從IPv6的完全表示方式來看,IPv6的地址是由8組4個16進制數來表示的,共128位(ipv4是點分十進制,由4組4個十進制數來表示,共32位)1.每個組前導的0可以省略,比如0101可以省略成101,2.如果該組所有都為0,則可以寫成一個"0",比如0000可以省略為03. 若連續2個或者多個組都為0,則可以使用"::”代替, EUI-64是一個產生IPV6接口ID的方式。主要實現將接口mac轉為接口ipv6的ip,命令為
A.具體轉換方式如下:
1.先獲取到接口的硬件地址,可以在全局模式下輸入dis int g0/0/0
通過查看,該接口的硬件地址為:5489-9828-2a5a
2.將FFFE從硬件地址的正中間插入,變成:5498-98FF-FE28-2A5A
3.將第7位進行置位,
B.需要注意的是:
1.如果給定的前綴不滿足64bit,在接口ID部分往前補0.
2.如果前綴超過64bit,華為會報錯,思科是進行截取。
C. eui-64的優缺點:
優勢:能夠盡可能的避免地址的沖突。
缺點:可由鏈路地址反推網絡地址,存在一定的安全隱患
五、鏈路本地地址(Link-local-address,LLA)1.地址空間:FE80:: ~FEBF:FFFF(之后各組都為FFFF) a.自動產生,由FE80:: /10作為前綴和EUI-64產生接口ID部分,比如下圖
::為保留地址,類似有ipv4中的 0.0.0.0 :: 1是回環地址 類似于ipv4中的127.0.0.1
六、OSPFv3 的基礎配置命令 (1)
1.啟動 OSPFv3
[Huawei] ospfv3 [ process-id ] [ vpn-instance vpn-instance-name ]創建并運行 OSPFv3 進程,并將創建的 OSPFv3 進程與 VPN 實例進行綁定(可選)。[Huawei-ospfv3-1] router-id router-id配置設備在該 OSPFv3 進程中所使用的 Router ID。
注意:如果用戶沒有指定 Router ID,則 OSPFv3 進程無法運行。
2.在接口上使能 OSPFv3
[Huawei-GigabitEthernet0/0/1]
ospfv3 process-id area area-id [ instance instance-id ]
在接口上使能 OSPFv3 的進程,并指定所屬區域,也可以指定接口所屬的實例 ID。
注意:配置此命令前,必須先創建 OSPFv3 進程和使能 IPv6 功能。
OSPFv3 的配置命令與配置方式與 OSPFv2 類似,其他配置命令不再贅述,詳細內容請參考《HCIP-Datacom-Core Technology》課程。[Huawei-GigabitEthernet0/0/1]ospfv3 network-type { broadcast | nbma | p2mp [ non-broadcast ] | p2p } 缺省情況下,接口的 OSPFv3 網絡類型根據物理接口的數據鏈路層封裝而定。以太網接口的缺省網絡類型為 Broadcast,串口(封裝 PPP 協議或 HDLC 協議時)的缺省網絡類型為 P2P。[Huawei-ospfv3-1] area area-id區域 ID 可以采用十進制整數或 IPv4 地址形式輸入,但顯示時是 IPv4 地址形式。[Huawei] display ospfv3 [ process-id ] lsdb [ area area-id ][ originate-router advertising-router-id | self-originate ][ { router | network | inter-router [ asbr-router asbr-router-id ] |{ inter-prefix | nssa } [ ipv6-address prefix-length ] | link | intra-prefix | grace }
[ link-state-id ] ]
-
process-id:OSPFv3 進程號。整數形式,取值范圍是 1~65535。
-
area area-id:區域的標識。可以是十進制整數或 IPv4 地址格式。如果是十進制
-
整數,取值范圍是 0~4294967295。如果是 IPv4 地址格式,取值是點分十進制。
-
external:顯示數據庫中 AS-external LSA 的信息。inter-prefix:顯示數據庫中Inter-Area-Prefix LSA 的信息。
-
inter-router:顯示數據庫中 Inter-Area-Router LSA 的信息。
-
intra-prefix:顯示數據庫中 Intra-Area-Prefix LSA 的信息。
-
nssa:顯示數據庫中 NSSA LSA 的信息。
-
link:顯示數據庫中 Link-LSA 的信息。
-
network:顯示數據庫中 Network-LSA 的信息。
-
router:顯示數據庫中 Router-LSA 的信息。
-
link-state-id:鏈路狀態 ID。點分十進制格式。
-
originate-router advertising-router-id:指定發布 LSA 的路由器的 Router ID。點分十進制格式。
-
asbr-router asbr-router-id:指定 ASBR 路由器的 Router ID。點分十進制格式。
-
selforiginate:顯示數據庫中由本路由器發布的 LSA 信息。
-
ipv6-address prefix-length:指定 IPv6 目的地址及前綴長度。
[Huawei] display
ospfv3 [ process-id ] routing [ ipv6-address prefix-length | abr-routes | asbr-r
outes | intra-routes | inter-routes | ase-routes | nssa-routes | [ statistics ] ]
-
process-id:OSPFv3 進程號。整數形式,取值范圍是 1~65535。
-
ipv6-address:指定 IPv6 地址。32 位 16 進制數,格式為 X:X:X:X:X:X:X:X。
-
prefix-length:指定前綴長度。整數形式,取值范圍是 0~128。
-
abr-routes:顯示 OSPFv3 中所有 ABR 的路由信息。
-
asbr-routes:顯示 OSPFv3 中所有 ASBR 的路由信息。
-
intra-routes:顯示 OSPFv3 中區域內路由的統計信息。
-
inter-routes:顯示 OSPFv3 中區域間路由的統計信息。
-
ase-routes:顯示 OSPFv3 中 AS 外部路由的統計信息。
-
nssa-routes:顯示 OSPFv3 中 NSSA 區域路由的統計信息。
-
statistics:顯示 OSPFv3 中所有路由表的統計信息。
某公司通過部署 OSPFv2 實現 IPv4 網絡的互聯互通。該公司為了保證未來的業務發展,同時部署了 IPv6 網絡進行業務測試,在該網絡中運行 OSPFv3 實現了 IPv6 網絡的互聯互通。 所有路由器運行 OSPFv2 和 OSPFv3 協議,整個自治系統分為 3 個區域。配置完成后,每臺路由器都應學到 AS 內的所有網段的 IPv4 路由和 IPv6 路由。 1、全局及接口下使能 IPv6 功能,配置各路由器接口的 IPv6 地址。(略)
可以通過 display ospf peer 查看 OSPFv2 的鄰居信息。對比 OSPFv2 和 OSPFv3 的鄰居信息,發現選出的 DR 和 BDR 是一致的,說明 DR選舉方式相同。
查看 OSPFv3 網絡的路由信息
可以通過 display ospf routing 查看 OSPFv2 的路由信息。對比 OSPFv2 和 OSPFv3 的路由信息,發現到“同一”網段的路徑一致,說明路由計算方式相同 可以通過 display ospf lsdb 查看 OSPFv2 的 LSDB 信息,可以看到有 Type1、Type2和 Type3 三種 LSA