IPv6 是將用來取代 IPv4 (也叫做 IP) 的ㄧ種新的第三層協定 (請參考 linuxports/howto/intro_to_networking/ISO - OSI Model) IPv4 是很早以前設計的 (1980 年一月,RFC 760 / 網路協定 (Internet Protocol)) , 自協定設計之初即不斷地有人要求 IP 網路協定應提供更多的位址和更高的性能. RFC 2460 / 網路協定第六版 (Internet Protocol Version 6 Specification) 是最新的 RFC 版本. IPv6 與 IP 最主要的不同點在於重新設計了封包標頭。包括將位址的長度從 32 bits 增加到 128 bits. 因為第三層主要負責使用基於位址的封包路由來達成端對端位址傳輸。因此與 IPv4 ㄧ樣,傳輸時必需包含新的 IPv6 位址 (來源和目標). 想知道更多關於 IPv6 歷史的資訊的話可以參考看看較舊版本的 IPv6 相關 RFC 列表 SWITCH IPv6 Pilot / References http://www.switch.ch/lan/ipv6/references.html
59 posts tagged with "IPv6"
View All Tags2.3. IPv6 的位址格式 ?
前文提到 IPv6 的位址為 128 位元。這麼高的位元數換算成一般十進位數字表示法的話,長度將達到 10 的 39 次方:
2^128-1: 340282366920938463463374607431768211455
這麼長的數字或位址將很難記得住。而且,IPv6 的位址是逐位定位的 (就像 IPv4, 但這個觀點不是公認的). 所以透過十六進制表示法能更好地表示這些數字。將每 4 位元 (也叫做 "nibble") 表示為數字 (0-9) 或字符 a-f (10-15). 這種表示法可以將 IPv6 的地址長度縮減到可用 32 個字符來表示.
2^128-1: 0xffffffffffffffffffffffffffffffff
這種表示法仍然不是很方便. (因為這樣一長串看下來很容易就會混淆或遺漏了單個十六進制數字), 所以 IPv6 的設計者將地址形式定為每 16 位元就用 "冒號" 區分開來. 此外,開頭的 "0x"(在程式設計當中用來表示十六進制數值) 也被省略了:
2^128-1: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
如此一來,一個可用的地址 (請參考之後提到的地址類型) 如下:
3ffe:ffff:0100:f101:0210:a4ff:fee3:9566
為了簡化,每個 16 位元區塊中高位元的 0 可以被省略:
3ffe:ffff:0100:f101:0210:a4ff:fee3:9566 -> ¬ 3ffe:ffff:100:f101:210:a4ff:fee3:9566
連續值為 0 的 16 位元位址區塊可以用 "::" 表示。但是在一個 IPv6 位址當中只能使用這種簡寫一次,否則就不再是唯一表示的位址了:
3ffe:ffff:100:f101:0:0:0:1 -> 3ffe:ffff:100:f101::1
簡化得最短的 IPv6 本地位址:
0000:0000:0000:0000:0000:0000:0000:0001 -> ::1
也有一種方法叫做簡潔 (compact, base85 coded) 表示法。定義於 RFC 1924 / IPv6 簡潔位址表示法 (定於 1996 年四月一日), 但從沒有被廣泛使用過,可能只是個愚人節笑話。但還是給個例子:
ipv6calc --addr_to_base85 3ffe:ffff:0100:f101:0210:a4ff:fee3:9566
Itu&-ZQ82s>J%s99FJXT
資訊: ipv6calc 是一個 IPv6 地址格式的計算和轉換的計劃,您可以在 ipv6calc 首頁中找到: http://www.deepspace6.net/projects/ipv6calc.html 鏡像站: http://mirrors.bieringer.de/www.deepspace6.net/projects/ipv6calc.html
大綱
//2/22/2005 //8/6/2004
1. 概述
1.1\. 版權,許可與其它
1.2\. 歸類
1.3\. 版本, 歷史和待辦事項
1.4\. 翻譯
1.5\. 技術
1.6\. 序
1.7\. 使用詞彙與縮寫
1.8\. 了解這個 HOWTO 的必需條件
2. 基礎
2.1\. 什麼是 IPv6?
2.2\. IPv6 在 Linux 作業系統上的歷史
2.3\. IPv6 的位址格式的形式 ?
2.4\. FAQ 問與答(基礎)
3. 位址格式
3.1\. 沒有特殊前綴的位址
3.2\. 位址前綴
3.3\. 位址格式 (主機部份)
3.4\. 用作路由的位址前綴長度
4. IPv6 - 支援 (ready) 系統確認
4.1\. IPv6-支援 kernel
4.2\. IPv6-支援 網路設定工具
4.3\. IPv6-支援 測試/調試 程式
4.4\. IPv6-支援 程式
4.5\. IPv6-支援 客戶端程式 (selection)
4.6\. IPv6-支援 伺服器端程式
4.7\. FAQ 問與答 (IPv6-支援 系統確認)
5. 設定界面
5.1\. 不同的網路設備
5.2\. 啟動與關閉界面
6. 設定 IPv6 位址
6.1\. 顯示目前的 IPv6 位址
6.2\. 新增 IPv6 位址
6.3\. 移除 IPv6 位址
7. 設定正常 IPv6 路由
7.1\. 顯示目前的 IPv6 路由
7.2\. 新增 IPv6 通過閘道器的路由
7.3\. 移除 IPv6 通過閘道器的路由
7.4\. 新增 IPv6 通過介面的路由
7.5\. 移除 IPv6 通過介面的路由
7.6\. IPv6 路由FAQ
8. 芳鄰搜尋
8.1\. 使用 "ip" 指令顯示芳鄰
8.2\. 使用 "ip" 指令處理芳鄰列表
9. 設定 IPv6-in-IPv4 通道
9.1\. 通道的類型
9.2\. 顯示目前通道
9.3\. 設定點對點的通道
9.4\. 設定 6to4 通道
10. 設定 IPv4-in-IPv6 通道 11. 在 /proc-filesystem 的內核設定
11.1\. 如何存取 /proc-filesystem
11.2\. /proc/sys/net/ipv6/ 中的數值類型.
11.3\. /proc/sys/net/ipv4/ 中 IPv6 相關的數值類型
11.4\. /proc/net/ 中 IPv6 相關的數值類型
12. Netlink-Interface to kernel 13. 網路調試
13.1\. 伺服器接口(socket) 繫結
13.2\. tcpdump 封包傾印範例
14. 在不同的發行版中設定 IPv6
14.1\. Red Hat Linux and "clones"
14.2\. SuSE Linux
14.3\. Debian Linux
15. 自動設定與移動性
15.1\. 無狀態自動設定
15.2\. 使用Router Advertisement Daemon (radvd)達成有狀態自動設定
15.3\. 動態主機設定協定 v6 (DHCPv6)
15.4\. 移動性
16. 防火牆
16.1\. 使用 netfilter6 防火牆
16.2\. 準備
16.3\. 使用方法
17. 安全性
17.1\. 節點安全性
17.2\. 存取限制
17.3\. IPv6 安全性驗證
18. 加密與認證 18.1. 使用加密與認證的模式 18.2. 核心支援 (ESP 與 AH) 18.3. 自動金鑰交換 (IKE) 18.4. 額外訊息
19. 服務品質 (QoS) 20. Hints for IPv6-enabled daemons
20.1\. Berkeley Internet Name Daemon BIND (named)
20.2\. Internet super daemon (xinetd)
20.3\. Webserver Apache2 (httpd2)
20.4\. Router Advertisement Daemon (radvd)
20.5\. tcp_wrapper
21. 程式設計 (使用 API) 22. Interoperability 23. 更多資訊與網址
23.1\. 書籍, 文章, 線上評論 (mixed)
23.2\. Conferences, Meetings, Summits
23.3\. 線上資訊
23.4\. IPv6 基礎架構
23.5\. Maillists
23.6\. 線上工具
23.7\. Trainings, Seminars
23.8\. 'The Online Discovery' ...
24. Revision history / Credits / The End
24.1\. Revision history
24.2\. Credits
24.3\. 結語
0. 大綱
//2/25/2005 //2/22/2005 //8/6/2004
1. 概述 1.1. 版權,許可與其它 1.2. 歸類 1.3. 版本,歷史和待辦事項 1.4. 翻譯 1.5. 技術 1.6. 序 1.7. 使用詞彙與縮寫 1.8. 了解這個 HOWTO 的必需條件 2. 基礎 2.1. 什麼是 IPv6? 2.2. IPv6 在 Linux 作業系統上的歷史 2.3. IPv6 的位址格式的形式? 2.4. FAQ 問與答 (基礎) 3. 位址格式 3.1. 沒有特殊前綴的位址 3.2. 位址前綴 3.3. 位址格式 (主機部份) 3.4. 用作路由的位址前綴長度 4. IPv6 - 支援 (ready) 系統確認 4.1. IPv6 - 支援 kernel 4.2. IPv6 - 支援 網路設定工具 4.3. IPv6 - 支援 測試 / 調試 程式 4.4. IPv6 - 支援 程式 4.5. IPv6 - 支援 客戶端程式 (selection) 4.6. IPv6 - 支援 伺服器端程式 4.7. FAQ 問與答 (IPv6 - 支援 系統確認) 5. 設定界面 5.1. 不同的網路設備 5.2. 啟動與關閉界面 6. 設定 IPv6 位址 6.1. 顯示目前的 IPv6 位址 6.2. 新增 IPv6 位址 6.3. 移除 IPv6 位址 7. 設定正常 IPv6 路由 7.1. 顯示目前的 IPv6 路由 7.2. 新增 IPv6 通過閘道器的路由 7.3. 移除 IPv6 通過閘道器的路由 7.4. 新增 IPv6 通過介面的路由 7.5. 移除 IPv6 通過介面的路由 7.6. IPv6 路由 FAQ 8. 芳鄰搜尋 8.1. 使用 "ip" 指令顯示芳鄰 8.2. 使用 "ip" 指令處理芳鄰列表 9. 設定 IPv6-in-IPv4 通道 9.1. 通道的類型 9.2. 顯示目前通道 9.3. 設定點對點的通道 9.4. 設定 6to4 通道 10. 設定 IPv4-in-IPv6 通道 11. 在 /proc-filesystem 的內核設定 11.1. 如何存取 /proc-filesystem 11.2. /proc/sys/net/ipv6/ 中的數值類型. 11.3. /proc/sys/net/ipv4/ 中 IPv6 相關的數值類型 11.4. /proc/net/ 中 IPv6 相關的數值類型 12. Netlink-Interface to kernel 13. 網路調試 13.1. 伺服器接口 (socket) 繫結 13.2. tcpdump 封包傾印範例 14. 在不同的發行版中設定 IPv6 14.1. Red Hat Linux and "clones" 14.2. SuSE Linux 14.3. Debian Linux 15. 自動設定與移動性 15.1. 無狀態自動設定 15.2. 使用 Router Advertisement Daemon (radvd) 達成有狀態自動設定 15.3. 動態主機設定協定 v6 (DHCPv6) 15.4. 移動性 16. 防火牆 16.1. 使用 netfilter6 作防火牆 16.2. 準備 16.3. 使用方法 17. 安全性 17.1. 節點安全性 17.2. 存取限制 17.3. IPv6 安全性驗證 18. 加密與認證 18.1. 使用加密與認證的模式 18.2. 核心支援 (ESP 與 AH) 18.3. 自動金鑰交換 (IKE) 18.4. 額外訊息 19. 服務品質 (QoS) 20. Hints for IPv6-enabled daemons 20.1. Berkeley Internet Name Daemon BIND (named) 20.2. Internet super daemon (xinetd) 20.3. Webserver Apache2 (httpd2) 20.4. Router Advertisement Daemon (radvd) 20.5. tcp_wrapper 21. 程式設計 (使用 API) 22. 互聯性 23. 更多資訊與網址 23.1. 書籍,文章,線上評論 (mixed) 23.2. Conferences, Meetings, Summits 23.3. 線上資訊 23.4. IPv6 基礎架構 23.5. 郵件列表 23.6. 線上工具 23.7. Trainings, Seminars 23.8. 'The Online Discovery' ...
24. Revision history / Credits / The End
24.1. Revision history 24.2. Credits 24.3. 結語