tunyk avatar

IPv6與IPv4的區別

🕡 by tunyk

在當今的技術時代,我們見證了互聯網和網路設備使用的巨大飛躍。 每個家庭都有一台筆記型電腦、智慧手機、數位手錶、物聯網設備、家庭自動化元件和其他連接到家庭網路或互聯網的設備。 設備之間通過各種網路協議進行通信,其中 TCP 和 IP 是最常用的協定。 每個連接到網路的設備都必須有一個IP位址,用於標識網路上的設備。

本文解釋了 Internet 協定以及 IPv6 與 IPv4 的區別。

什麼是IP(互聯網協定)?

作為人類,我們使用我們的名字來識別和交流。 同樣,在計算世界中,設備使用IP位址來識別彼此並進行交互。 所有計算設備用於相互通信的通用語言稱為協定。 類似於人類語言,該協定也有一套規則來格式化和處理數據。

IPv6與IPv4的區別

Internet 協定 (IP) 是一組規則,用於指定電腦之間的資料尋址和路由。 它主要與網路傳輸協定一起使用,例如 TCP 和 UDP。

由於這種獨特的尋址模式,今天的 Internet 得以存在。 IANA 管理連接到 Internet 的網路/網站的 IP 位址範圍。 但是,如果我們運行一個隔離的本地網路基礎設施,我們可以根據自己的喜好分配IP 位址。 現在,讓我們深入瞭解這兩種架構及其比較分析的本質。

IPv4

Internet 協定 (IP) 的第一個主要版本是版本 4 (IPv4)。 它使用32位網路尋址架構,該架構進一步拆分為四個稱為八位位元組的8位數位。 例如,google.com 的IP位址為141.251.36.46。 該格式稱為點分四元表示法。 這些IP位址可以手動配置,也可以通過 DHCP 伺服器自動獲取。

要檢查遠端裝置的即時狀態,我們可以使用以下 命令對該 IP 進行 ICMP 探測:ping

1
2
3
4
5
ping -c 1 google.com
PING google.com (142.251.36.46) 56(84) bytes of data.
64 bytes from ams17s12-in-f14.1e100.net (142.251.36.46): icmp_seq=1 ttl=116 time=247 ms

...

Copy

IP 位址分為網路位址和主機位址兩部分,用於創建子網。 子網號有助於決定IP的網路和主機部分。 此外,可用IP空間分為五個不同的類別,如下表所示。

位址類 IP 範圍 子網遮罩 網路數量 每個網路的主機數
A級 1.0.0.0 到 126.0.0.0 255.0.0.0 126 16,777,214
B級 128.0.0.0 到 191.255.0.0 255.255.0.0 16,282 65,534
C級 192.0.0.0 到 223.255.255.0 255.255.255.0 2,097,150 254
D級 224.0.0.0 到 239.255.255.255 組播
E級 240.0.0.0 到 255.255.255.255 研究/保留/實驗

子網的計算涉及背後的一些數學量規。 為了減輕我們的計算,我們可以使用類似的工具或針對IPv4子網。 下面的片段展示了如何使用這些工具:ipcalc``subnetcalc

1
2
3
4
5
6
7
8
9
10
ipcalc 110.0.20.18/24
Address: 110.0.20.18 01101110.00000000.00010100. 00010010
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Network: 110.0.20.0/24 01101110.00000000.00010100. 00000000
HostMin: 110.0.20.1 01101110.00000000.00010100. 00000001
HostMax: 110.0.20.254 01101110.00000000.00010100. 11111110
Broadcast: 110.0.20.255 01101110.00000000.00010100. 11111111
Hosts/Net: 254 Class A

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
subnetcalc 192.168.10.15/24
Address = 192.168.10.15
11000000 . 10101000 . 00001010 . 00001111
Network = 192.168.10.0 / 24
Netmask = 255.255.255.0
Broadcast = 192.168.10.255
Wildcard Mask = 0.0.0.255
Hosts Bits = 8
Max. Hosts = 254 (2^8 - 2)
Host Range = { 192.168.10.1 - 192.168.10.254 }
Properties =
- 192.168.10.15 is a HOST address in 192.168.10.0/24
- Class C
- Private
GeoIP Country = Unknown (??)
DNS Hostname = (Name or service not known)

通常,IP 位址分配給終端主機和路由器網關介面,如下圖所示。

IPv6與IPv4的區別

在這裡,來自機器 A (10.235.64.58) 的流量到達互聯網雲左側的路由器網關介面 (10.235.64.57)。 它通過 Internet 路由到達 Google Server 閘道,最後到達目標伺服器。

要識別網路介面 IP,您可以使用諸如 ,或 之類的命令 。ifconfig``hostname``ip

1
2
3
4
5
6
7
8
9
ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.235.64.58 netmask 255.255.255.252 broadcast 10.235.64.59
inet6 fe80::fc7f:d8da:a969:1c1d prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:23:6f:30 txqueuelen 1000 (Ethernet)
RX packets 35607241 bytes 34540488400 (34.5 GB)
RX errors 0 dropped 12 overruns 0 frame 0
TX packets 24701952 bytes 15008379564 (15.0 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Copy

1
2
hostname -I
10.235.64.58

Copy

有特殊用途的網路IP位址,例如或。 前者為預設路由或四零路由,後者稱為環回位址0.0.0.0``127.0.0.1

在下面的片段中,我們將看到內核IP路由表以及該網路的預設路由。 標誌'U'表示網路路由是UP,而G表示網路路由是網路網關。

1
2
3
4
5
netstat -rn | grep ens160
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.235.64.57 0.0.0.0 UG 0 0 0 ens160
10.235.64.56 0.0.0.0 255.255.255.252 U 0 0 0 ens160

Copy

通常,IPv4 數據報由一個 20 位元組的報頭欄位、選項欄位和長度可變的數據欄位組成。 示例數據包格式如下所示。

IPv6與IPv4的區別

下面,Wireshark 捕獲有助於從即時流量中破譯數據包頭資訊。

IPv6

Internet 協定版本 6 是 Internet 協定 (IP) 的更新版本。 互聯網協定的第 6 版旨在取代舊版本 (IPv4),截至 2018 年,該版本承載了 75% 的互聯網總流量(來源:Google IPv6 Stats)。

IPv6 位址為 128 位(16 位元組),使用 32 個十六進位數位,同時這些數位被進一步分為八組,每組四位數位,以便於管理。 下面顯示了一個簡要說明。

IPv6與IPv4的區別

IPv6 命名約定中涉及的基本步驟很少。

規則 1:所有字母不區分大小寫。 例如,'ab41' 等於 'AB41' 規則 2:帶有 '0' 的連續字段可以可視化為"::",但在尋址規則中只能出現一次 規則 3:在欄位中表示前導零是可選的。 例如,'001a' 等於 '1a'

以IPv6位址為例,45ab:0000:a179:0000:0000:c1c0:abcd:0876

應用規則 1 => 45ab:0000:a179:0000:0000:c1c0:abcd:0876 應用規則 2 => 45ab:0:a179:0:0:c1c0:abcd:876 應用規則 3 => 45ab:0:a179 ::c1c0:abcd:876

IPv6 位址分為三種類型:單播、多播和任播。 單播位址是單個網路介面和傳送到該特定介面的數據包。 此外,單播位址具有本地(鏈路本地)和全域範圍級別。 多播位址是數據包被傳送到的組介面。 任播位址是組介面和傳送到最近介面的數據包。

下面列出了幾個眾所周知的位址。

]::1/128 環回位址
ff00::/8 組播位址
fe80::/10 鏈路本地位址
2001::/16 一般 IPv6 單播位址
2002::/16 6to4 單播位址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
subnetcalc 2001:4860:4860::8888/64
Address = 2001:4860:4860::8888
2001 = 00100000 00000001
4860 = 01001000 01100000
4860 = 01001000 01100000
0000 = 00000000 00000000
0000 = 00000000 00000000
0000 = 00000000 00000000
0000 = 00000000 00000000
8888 = 10001000 10001000
Network = 2001:4860:4860:: / 64
Netmask = ffff:ffff:ffff:ffff::
Wildcard Mask = ::ffff:ffff:ffff:ffff
Hosts Bits = 64
Max. Hosts = 18446744073709551616 (2^64 - 1)
Host Range = { 2001:4860:4860::1 - 2001:4860:4860:0:ffff:ffff:ffff:ffff }
Properties =
- 2001:4860:4860::8888 is a HOST address in 2001:4860:4860::/64
- Global Unicast Properties:
+ Interface ID = 0000:0000:0000:8888
+ Sol. Node MC = ff02::1:ff00:8888
GeoIP Country = United States (US)
DNS Hostname = dns.google

同樣,IPv6 數據包同時具有標頭和有效載荷。 頭部大小固定為 40 位元組,源地址和目標位址佔用 32 位元組。 示例數據包格式如下所示。

IPv6與IPv4的區別

IPv6雖然有很多優點,但它無法取代IPv4。 兩個協定版本必須共存一段時間才能無縫遷移。 因此,服務提供者正在提供雙棧支持系統,該系統擁有可以理解 IPv4 和 IPv6 數據包的網路介面。

智慧過渡機制很少,即IPv6隧道、IPv4映射的IPv6位址等。 前者將IPv6數據包封裝在IPv4中,而後者在雙棧實現中將IPv6映射到IPv4位址。

IPv4 與 IPv6 - 快速比較分析

特徵 INTERNET 協定 - 版本 4 [IPV4] 互聯網協定 - 版本 6 [IPV6]
部署與分配 1981 年 1999年
長度 32 位 128 位
位址空間 4.29 x 10^9 3.4 x 10^38
格式 點分十進位 / [10.235.64.56] 十六進位 / [2400::4]
八位位元組數 4 16
標題大小 20 - 60 位元組不等 40 位元組
班級 五類:A類、B類、C類、D類、E類 沒有任何
安全功能/身份驗證和加密 無法使用 可用的
支票金額 可用的 無法使用
IPSec 外部與選擇 內建功能
跳數 由 TTL 欄位指示 由 Hoplimit 欄位指示
碎片化 由發送與轉寄路由器執行 只由寄件者完成
選項欄位 在 IPv4 標頭中提供 沒有選擇欄位,但可以使用 IPv6 延伸標頭
組播 IGMP 管理組播組成員 MLD 替代 IGMP
廣播訊息 可用的 無法使用。 使用多播
IP 到 MAC 映射 位址解析協定 鄰居發現協定

結論

我們探索了互聯網協定及其版本的基礎知識。 在此過程中,本文通過比較分析闡明瞭 IPv4 和 IPv6 的尋址模式、數據包格式、功能。 儘管今天 IPv4 承載了大部分 Internet 流量,但 IPv6 是網路世界的未來。

💘 相关文章

写一条评论

Based on Golang + fastHTTP + sdb | go1.16.4 Processed in 1ms