序
工作需求必須從頭到尾了解 IPv6 這項技術
所以好像回到大學時期,重新看了 NTHU 黃能富教授經營的學聯網 ( 課程已關閉 )
但既然重看了,那就索性作筆記但不會太詳細 ( 因為沒人會考我XD )。
參考資料
Week 1
1. IPv6 之於 IPv4
(1) 提供大量 IP 位址,加速連線 ( 因為位址明確 , 無須 NAT...等技術 )
(2) 精簡 Header ( 因為各Layer功能漸強可以 Cover 或用其他方法表示 )
i. Header 長度固定 ( 40 bytes )
ii. 移除 checksum ( Layer2可以做檢查 )
iii. 移除切割封包功能 ( Source 端自己做 )
(3) 利用 Extension Header 來完成 IPv4 的 Option 功能 ( Ex.RoutingHeader、FragmentHeader ... )
2. IPv6 Addressing
(1) 3種位址 Unicast ( 傳給指定位址 )、Multicast ( 傳給指定某群位址 )、Antcast ( 誰都可轉送 )
(2) IPv6 表示法 (128 bits)
i. FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
ii. 1080:0:0:0:8:800:200C:417A
iii. 1080::8:800:200C:417A ( 用連續兩個冒號表示連續 16 bits的0 , 但若有2組以上則不行,因為不知道長度 )
(3) Addresses Formats
3. IPv6 功能
(1) ICMPv6 ( Internet Control Message Protocol ) 的功能
(2) Supports IGP (Interior Gateway Protocol) and EGP (Edge Gateway Protocol)
i. IGP -> RIPng(RFC 2080)、OSPFv3(RFC 2740)
ii. EGP -> MP-BGP4(RFC 2858 and RFC 2545) 、 BGP4+
(3) Plug-and-Play ( Auto Configuration )
i. 電腦會自動 註冊和產生所有連網必要之參數
ii. 可以隨時變更 ISP provider
iii. 可以擁有多個IPv6位址、 IPv6位址有有效期限
iv. 2種 modes : stateless 跟 stateful ( using DHCPv6 )
流程 : 自動產生 link-local address ( FE80:: + 48bits Ethernet address )
加入一個 All nodes 的 Group 已收到Group裡的訊息 ( FF02::1 )
發送 Solicitation Message 到 Router 的 Group ( FF02::2 )
Router 發送 Router Advertisement ( 裡面包含Router給的IPv6位址 )
4. Basic Algorithm
(1) 利用 ICMPv6 達到 ARP 的效果 ( Neighbor Solicitation... )
(2) HOST 擁有 4 個 cache
i. The desination's cache ( 紀錄 目的地的 IP 跟 經過的 IP )
ii. The neighbor's cache ( 紀錄 Neighbor's IP 跟 MAC )
iii. The prefix list ( 相連Routers 給的 prefix )
iv. The router list ( 相連Routers )
(3) 送封包流程
i. 先找 The desination's cache
ii. 再找 The prefix list ( 看是否在同個子網路下 )
iii. 透過 Router 發送並更新 cache
5. IPv6 Flows and Flow Label
(1) IPv6 Real-time Support ( 用不同 Flow 來達到 Priority 的效果 )
6. IPv6 Security Support
(1) 所有 IPv6 封包都需要支援 authentication 跟 encryption Headers