比較 IPv4 與 IPv6

您可能想知道 IPv6 與 IPv4 到底有何區別。您可以使用下表來快速查閱 IPv4 與 IPv6 在網際網路通訊協定之間的不同概念、IP 功能及 IP 位址的用法。

您可以從這個清單中選取屬性來連結至表格中的各項比較。

說明 IPv4 IPv6
Address(位址) 32 位元長(4 個位元組)。 位址由一個網路和一個主電腦部分組成(根據位址類別而定)。 根據起始幾個位元定義不同位址類別:A、B、C、D 或 E。 IPv4 位址總數為 4 294 967 296。

IPv4 位址的文字形式為 nnn.nnn.nnn.nnn,其中 0<=nnn<=255,每一個 n 是一個十進位數。可以省略前導零。最大列印字元數是 15,不計算遮罩。

128 位元長(16 個位元組)。 基本架構是以 64 位元代表網路號碼,以 64 位元代表主電腦號碼。 通常 IPv6 位址的主電腦部分(或它的一部分)將衍生自 MAC 位址或其他介面 ID。

根據子網路字首,IPv6 有比 IPv4 更複雜的架構。

IPv6 位址數目是 IPv4 位址數目的 1028 (79 228 162 514 264 337 593 543 950 336) 倍。IPv6 位址的文字形式為 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx,其中的每一個 x 是一個十六進位數字,代表 4 個位元。可以省略前導零。在文字形式的位址中可以使用雙冒號 (::) 一次,以指定任意個 0 位元。例如,::ffff:10.120.78.40 是 IPv4 對映的 IPv6 位址。

Address allocation(位址配置) 本來位址是根據網路類別配置。 因為位址空間用盡,所以產生使用「無類別內部網域遞送 (CIDR)」的較小配置。 在機構與國家之間配置情況並不平均。 配置是在最早階段。Internet Engineering Task Force (IETF) 和 Internet Architecture Board (IAB) 建議 其實每一個組織、住家或實體可以配置一個 /48 的子網路字首長度。 這會留下 16 個位元,供組織執行子網路切割。位址空間大到足夠讓全世界每一個人擁有自己的 /48 子網路字首長度。
Address lifetime(位址生命期限) 除了使用 DHCP 指派的位址以外,一般來說,此概念不適用於 IPv4 位址。 IPv6 位址有兩個生命週期:偏好的和有效的,偏好的生命週期一律 <= valid。

在偏好的生命週期到期之後,如果存在同樣有效的偏好位址,就不會使用此位址作為新連線的來源 IP 位址。在有效的生命週期到期之後,就不會使用(辨識)此位址作為進入封包的有效目的地 IP 位址,或作為來源 IP 位址。

依定義,部分 IPv6 位址有無限偏好的生命週期和有效的生命週期;例如鏈結本端(請參閱 address scope(位址範圍))。

Address mask(位址遮罩) 用來由主電腦部分指定網路。 不使用(請參閱 address prefix(位址字首))。
Address prefix(位址字首) 有時會用來指定主電腦部分當中的網路。 有時在位址的呈現格式上寫成 /nn 字尾。 用來指定位址的子網路字首。 在列印格式後面寫成 /nnn(最多 3 個十進位數,0 <= nnn <= 128)字尾。 例如 fe80::982:2a5c/10,其中前面 10 個位元構成子網路字首。
Address Resolution Protocol(位址解析通訊協定,ARP) IPv4 使用 ARP 來尋找與 IPv4 位址相關的實體位址,例如 MAC 或鏈結位址。 IPv6 使用「網際網路控制訊息通訊協定」版本 6 (ICMPv6), 將這些函數內含於 IP 本身作為無狀態自動配置和網路芳鄰偵測的部分演算法。 因此,沒有 ARP6 之類的通訊協定。
Address scope(位址範圍) 若為單點播送位址,此概念便不適用。有指定的專用位址範圍和迴圈。除此之外,已假設位址為廣域位址。

在 IPv6 中,位址範圍是架構的一部分。 單點傳播位址有兩個已定義的範圍,包含鏈結本端和廣域;多點傳播位址有 14 個範圍。來源和目的地的預設位址選擇將範圍列入考慮。

範圍區域為特定網路中的某個範圍案例。 因此,有時必須輸入 IPv6 位址或與區域 ID 相關。語法為 %zid,其中 zid 是數字(通常很小)或名稱。在位址之後及字首之前寫入區域 ID。 例如,2ba::1:2:14e:9a9b:c%3/48

Address types(位址類型) IPv4 位址分成三種基本類型:單點播送位址、多點播送位址及播送位址。 IPv6 位址分成三種基本類型:單點播送位址、多點播送位址及任一傳播位址。如需說明, 請參閱「IPv6 位址類型」。
Communications trace(通訊追蹤) 通訊追蹤是一種工具,它可收集進出系統的 TCP/IP(及其他)封包的詳細追蹤情況。 對 IPv6 的支援相同。
配置 必須先對新安裝的系統進行配置,它才能與其他系統通訊;亦即,必須指派 IP 位址和路徑。 配置是選用性,根據需要的功能而定。 IPv6 可與任何乙太網路配接卡搭配使用,且可透過迴圈介面執行。IPv6 介面可透過 IPv6 無狀態自動配置功能來自行配置。還可以手動配置 IPv6 介面。所以系統能夠與本端和遠端的其他 IPv6 系統通訊 (根據網路類型以及是否有 IPv6 路由器而定)。
Domain Name System(網域名稱系統,DNS) 應用程式接受主電腦名稱,然後使用 DNS 取得 IP 位址(使用 Socket API gethostbyname())。

應用程式也接受 IP 位址,然後藉由 gethostbyaddr() 使用 DNS 取得主電腦名稱。

就 IPv4 而言,反向查閱的網域是 in-addr.arpa

對 IPv6 的支援相同。使用 AAAA (4 A) 記錄類型和反向查閱 (IP-to-name) 支援 IPv6 存在。 應用程式可以選擇接受來自 DNS 的 IPv6 位址(或不接受), 然後使用 IPv6 來通訊(或不通訊)。

Socket API gethostbyname() 僅支援 IPv4。就 IPv6 而言,會使用新的 getaddrinfo() API,僅取得(由應用程式選擇)IPv6,或取得 IPv4 和 IPv6 位址。

對於 IPv6 來說,用於反向查閱的網域是 ip6.arpa,若找不到位址,則會使用 ip6.int。(如需詳細資料,請參閱 API getnameinfo()–取得 SOCKET 位址的名稱資訊)。

Dynamic Host Configuration Protocol(動態主電腦配置通訊協定,DHCP) DHCP 是用來動態取得 IP 位址和其他配置資訊。IBM® i 支援 IPv4 的 DHCP 伺服器。 變更開始DHCP 的 IBM i 實作方式不支援 IPv6。不過,可以使用 ISC DHCP 伺服器實作。變更結束
File Transfer Protocol(檔案轉送通訊協定,FTP) FTP 可讓您透過網路來收送檔案。 變更開始對 IPv6 的支援相同。變更結束
Fragments(分段) 當封包對於下一個透過其傳送的鏈結來說太大時, 傳送者(主電腦或路由器)可以將該封包分段。 就 IPv6 而言,只能在來源節點執行分段,而只能在目的地節點執行重組。 且會使用分段擴充標頭。
Host table(主電腦表) 可配置的表格,可讓網際網路位址與主電腦名稱產生關聯 (例如,迴圈位址為 127.0.0.1)。在 DNS 查閱之前或在 DNS 查閱失敗之後(根據主電腦名稱搜尋順序來決定), socket 名稱解析器會使用這個表格。 對 IPv6 的支援相同。
Interface(介面) 如果不是以 IPv4 位址來命名,TCP/IP 會使用概念或邏輯實體來傳送或接收封包, 而且一律與 IPv4 位址緊密相關。 有時稱為邏輯介面。

各個 IPv4 介面可以透過 STRTCPIFC 和 ENDTCPIFC 指令及使用 System i 領航員來啟動和停止, 它們彼此之間無關,也與 TCP/IP 無關。

對 IPv6 的支援相同。
Internet Control Message Protocol(網際網路控制訊息通訊協定,ICMP) 由 IPv4 用來傳送網路資訊。 同樣地由 IPv6 使用;不過,「網際網路控制訊息通訊協定」版本 6 (ICMPv6) 提供某些新的屬性。

基本錯誤類型維持不變,例如無法呼叫到目的地、回應要求和回答。 加入新的類型和程式碼,以支援網路芳鄰偵測和相關功能。

Internet Group Management Protocol(網際網路群組管理通訊協定,IGMP) IPv4 路由器會使用 IGMP 尋找那些要傳輸資料給特定多點傳播群組的主電腦, 而且 IPv4 會使用 IGMP 通知 IPv4 路由器,現有的多點傳播群組接聽器(在主電腦上)。 IGMP 已由 IPv6 的 MLD(多點播送接聽器探索)通訊協定取代。基本上,MLD 對於 IPv4 所做的事同於 IGMP 對 IPv4 所做的事, 但是會增加一些 MLD 特定的 ICMPv6 類型值來使用 ICMPv6。
IP header(IP 標頭) 20-60 個位元組的可變長度,取決於呈現的 IP 選項。 40 個位元組的固定長度。 沒有 IP 標頭選項。 通常,IPv6 標頭比 IPv4 標頭簡單。
IP header options(IP 標頭選項) IP 標頭可能附帶不同的選項(在任何傳輸標頭之前)。 IPv6 標頭沒有選項。 相反地,IPv6 會新增額外的(選用性)擴充標頭。 擴充標頭為 AH 和 ESP(與 IPv4 一樣)、 逐一跳躍、遞送、分段和目的地。 目前,IPv6 支援一些擴充標頭。
IP header protocol byte(IP 標頭通訊協定位元組) 傳輸層的通訊協定代碼或封包有效負載(例如 ICMP)。 此類型標頭會緊跟在 IPv6 標頭後面。 使用與 IPv4 通訊協定欄位相同的值。 但是架構效果是允許下一個標頭的目前定義範圍,而且易於擴充。 下一個標頭將是傳輸標頭、擴充標頭或 ICMPv6。
IP header Type of Service byte(IP 標頭「服務類型」位元組) 由 QoS 和分級服務用來指定傳輸類別。 使用不同代碼來指定 IPv6 傳輸類別。目前,IPv6 不支援 TOS。
LAN connection(LAN 連線) IP 介面使用 LAN 連線來連接實體網路。許多類型存在;例如,記號環和乙太網路。有時稱為實體介面、鏈結或線路。 IPv6 可與任何乙太網路配接卡搭配使用,且透過虛擬乙太網路,在邏輯分割區之間也受支援。
Layer Two Tunnel Protocol (L2TP) L2TP 可視為虛擬 PPP,而且可以在任何支援的線路類型上運作。 變更開始對 IPv6 的支援相同。變更結束
迴圈位址 迴圈位址是位址為 127.*.*.*(通常是 127.0.0.1)的介面, 只能供節點用來傳送封包給它自己。實體介面(線路說明)命名為 *LOOPBACK。 概念與 IPv4 相同。單一迴圈位址為 0000:0000:0000:0000:0000:0000:0000:0001::1(簡短版本)。虛擬實體介面命名為 *LOOPBACK
Maximum transmission unit(最大傳輸單位,MTU) 一個鏈結的最大傳輸單位是特定鏈結類型(例如乙太網路或數據機)支援的最大位元組數。 對於 IPv4 來說,576 是典型最小值。 IPv6 的 MTU 下限為 1280 個位元組。亦即,IPv6 不會分段出低於此限制的封包。若要透過 MTU 小於 1280 位元組的鏈結來傳送 IPv6,鏈結層必須明確地分段及重組 IPv6 封包。
Netstat Netstat 是一種工具,可用來查看 TCP/IP 連線、介面或路徑的狀態。可以在 System i 領航員和文字介面中使用。 對 IPv6 的支援相同。
Network address translation(網址轉換,NAT) 整合到 TCP/IP 內的基本防火牆功能,可使用 System i 領航員來配置。 目前,NAT 不支援 IPv6。 一般來說,IPv6 不需要 NAT。 IPv6 的擴充位址空間可解決位址短缺的問題,並且更容易重新編號。
Network table(網路表格) System i 領航員上可配置的表格, 可讓網路名稱與無遮罩的 IP 位址產生關聯。例如,主電腦網路 14 和 IP 位址 1.2.3.4。 目前,IPv6 的這個表格維持不變。
Node info query(節點資訊查詢) 不存在。 除了內容以外類似連通測試 (ping) 的簡便網路工具: IPv6 節點可以查詢另一個 IPv6 節點關於目標的 DNS 名稱、 IPv6 單點傳播位址或 IPv4 位址。 目前,不支援。
Open Shortest Path First(開放最短路徑優先,OSPF) OSPF 是許多自主系統網路內比 RIP 更常用的路由器通訊協定。 對 IPv6 的支援相同。
Packet filtering(封包過濾) 封包過濾是整合到 TCP/IP 內的基本防火牆功能。可使用 System i 領航員來配置它。 封包過濾不支援 IPv6。
Packet forwarding(封包轉遞)

IBM i TCP/IP 堆疊可配置為轉遞非本端 IP 位址的 IP 封包。通常,入埠介面和離埠介面連接至不同的 LAN。

封包轉遞對 IPv6 的支援是有限制的。i5/OS TCP/IP 堆疊不支援以鄰接項探索作為路由器。

PING(連通測試) PING 是用來測試可聯繫性的基本 TCP/IP 工具。可以在 System i 領航員和文字介面中使用。 對 IPv6 的支援相同。
Point-to-Point Protocol(點對點通訊協定,PPP) PPP 會透過不同數據機和線路類型支援撥號介面。 變更開始對 IPv6 的支援相同。變更結束
Port restrictions(埠限制) 這些 IBM i 視窗可讓客戶為 TCP 或「使用者資料封包通訊協定 (UDP)」配置所選取的埠號或埠號範圍,使它們僅供特定的設定檔使用。 IPv6 的埠限制與那些在 IPv4 中可用的限制類似。
Ports(埠) TCP 和 UDP 有個別埠空間,根據範圍 1-65535 中的埠號識別它們。 就 IPv6 而言,埠的運作情形與 IPv4 相同。 因為這些是屬於新的位址系列,所以現在有 4 個不同的埠空間。 例如,應用程式可以連結到兩個 TCP 埠 80 空間,一個在 AF_INET,一個在 AF_INET6。
Private and public addresses(專用與公用位址) 除了被 IETF RFC 1918 指定作為專用位址的三個位址範圍以外,所有 IPv4 位址都是公用位址: 10.*.*.* (10/8)172.16.0.0172.31.255.255 (172.16/12) 以及 192.168.*.* (192.168/16)。 通常在組織內使用專用位址網域。 無法透過「網際網路」遞送專用位址。 IPv6 有類似概念,但有重大差別。

位址是公用或暫時,先前稱為匿名。 請參閱 RFC 3041。不像 IPv4 專用位址,暫時位址可以全域遞送。 動機也不同;IPv6 暫時位址是用來防護用戶端起始通訊時的身份(隱私考量)。 暫時位址的生命週期有限,且不含鏈結 (MAC) 位址的介面 ID。 它們通常與公用位址無從區別。

IPv6 依其設計之初的範圍指定,具備有限位址範圍的概念 (請參閱 address scope(位址範圍))。

Protocol table(通訊協定表格) System i 領航員中, 通訊協定表格是一個可配置的表格,它可讓通訊協定名稱與其受指派的通訊協定號碼產生關聯;例如 UDP, 17。系統附帶一些登錄:IP、TCP、UDP、ICMP。 此表格可用於 IPv6,無需變更。
Quality of service(服務品質,QoS) 服務品質可讓您要求 TCP/IP 應用程式的封包優先順序和頻寬。 目前,QoS 的 IBM i 實作方式不支援 IPv6。
Renumbering(重新編號) 重新編號是經由手動重新配置來進行(DHCP 可能例外)。重新編號的過程通常很困難又麻煩,可能的話,站台或組織應該儘量避免重新編號。 重新編號是 IPv6 的重要架構元素,而且大部分是自動執行,在 /48 字首內更是如此。
Route(路徑) 在邏輯上,意指一組 IP 位址(可能只含有一個 IP 位址)至實體介面和單一下一個中繼站 IP 位址的對映。目的地位址已定義為此組 IP 位址之一部分的 IP 封包會使用此線路轉遞到下一個跳躍點。 IPv4 路徑與 IPv4 介面相關,因此是 IPv4 位址。

預設路徑為 *DFTROUTE。

概念上來說,與 IPv4 類似。一個重要差異:IPv6 路徑會關聯(連結)到實體介面(一個鏈結,例如 ETH03)而非介面。路徑會關聯實體介面的一個原因是 IPv6 的來源端位址選擇功能與 IPv4 不同。請參閱 Source address selection(來源端位址選擇)

Routing Information Protocol(路由資訊通訊協定,RIP) RIP 為遞送的常駐程式所支援的遞送通訊協定。 目前,RIP 不支援 IPv6。
Services table(服務表格)

IBM i 中可配置的表格,可讓服務名稱與埠和通訊協定產生關聯; 例如,服務名稱 FTP、埠 21、TCP 及「使用者資料封包通訊協定 (UDP)」。

在服務表格中列出眾多知名的服務。 許多應用程式使用這個表格來決定要使用哪一個埠。

IPv6 的這個表格維持不變。
Simple Network Management Protocol(簡易網路管理通訊協定,SNMP) SNMP 是系統管理的通訊協定。 變更開始對 IPv6 的支援相同。變更結束
Sockets API 這些 API 是應用程式使用 TCP/IP 的方法。 為了支援 IPv6 所做的 socket 變更並不影響不需要 IPv6 的應用程式。 IPv6 會增強 socket,讓應用程式現在能夠利用新位址系列 (AF_INET6) 來使用 IPv6。

加強功能的設計讓 IPv6 和 API 變更不會影響現有的 IPv4 應用程式。 要支援並行 IPv4 和 IPv6 傳輸的應用程式,或僅支援 IPv6 傳輸的應用程式,能輕易地適應 使用格式 ::ffff:a.b.c.d 的 IPv4 對映 IPv6 位址, 其中 a.b.c.d 是用戶端的 IPv4 位址。

新 API 也支援將 IPv6 位址從文字轉換成二進位以及從二進位轉換成文字。

如需 IPv6 Socket 加強功能的相關資訊,請參閱使用 AF_INET6 位址系列

Source address selection(來源端位址選擇) 應用程式可以指定來源 IP(通常使用 sockets bind())。 如果它連結到 INADDR_ANY,則會根據路徑選擇來源 IP。 就 IPv4 而言,應用程式可以使用 bind() 指定來源 IPv6 位址。類似 IPv4,它可以讓系統使用 in6addr_any 選擇 IPv6 來源位址。 但是因為 IPv6 線路有許多 IPv6 位址,所以選擇來源 IP 的內部方法不同。
Starting and stopping(啟動和停止) 使用 STRTCP 或 ENDTCP 指令來啟動或結束 IPv4。當您執行 STRTCP 指令來啟動 TCP/IP 時,一律會啟動 IPv4。 使用 STRTCP 或 ENDTCP 指令的 STRIP6 參數來啟動或結束 IPv6。當 TCP/IP 啟動時,IPv6 可能不會啟動。可在稍後另行啟動 IPv6。

如果 AUTOSTART 參數設為 *YES(預設值),就會自動啟動任何 IPv6 介面。沒有 IPv4 就無法使用或配置 IPv6。啟動 IPv6 時會自動定義並啟動 IPv6 迴圈介面 ::1

System i 領航員支援 System i 領航員為 TCP/IP 提供完整的配置解決方案。 對 IPv6 的支援相同。
Telnet Telnet 可讓您登入和使用遠端電腦,就好像您直接連接它一樣。 對 IPv6 的支援相同。
Trace route(追蹤路徑) 追蹤路徑是決定路徑的基本 TCP/IP 工具。可以在 System i 領航員和文字介面中使用。 對 IPv6 的支援相同。
Transport layers(傳輸層) TCP、UDP、RAW。 IPv6 中存在相同的傳輸。
未指定的位址 很顯然,就其本身而論並未定義。 Socket 程式設計使用 0.0.0.0 作為 INADDR_ANY。 定義成 ::/128(128 0 位元)。 在某些網路芳鄰偵測封包以及其他各種環境中(像 socket)使用它作為來源 IP。 Socket 程式設計使用 ::/128 作為 in6addr_any
Virtual private network(虛擬專用網路,VPN) 「虛擬專用網路」(使用 IPsec)可讓您在現有的公用網路上延伸安全專用的網路。

對 IPv6 的支援相同。如需詳細資料,請參閱虛擬專用網路