IPv6
网际协议第6版（，縮寫：IPv6）是网际协议的最新版本，用作互联网的協議。用它来取代IPv4主要是为了解决IPv4地址枯竭问题，同时它也在其他方面对于IPv4有许多改进。
IPv6的设计目的是取代IPv4，然而长期以来IPv4在互联网流量中仍佔据主要地位，IPv6的使用增长缓慢。在2019年12月，通过IPv6使用Google服务的用户百分率首次超过30%。
现今的-{zh-hans:互联网络;zh-hk:互聯網絡;zh-sg:互联网络;zh-tw:網際網路;}-发展蓬勃，截至2018年1月，全球上網人數已達40.21億，IPv4僅能提供約42.9億個IP位置。雖然目前的网络地址转换及无类别域间路由等技術可延緩網路位置匱乏之現象，但為求解決根本問題，從1990年開始，互联网工程工作小组開始規劃IPv4的下一代協定，除要解決即將遇到的IP位址短缺問題外，還要發展更多的擴充功能，為此IETF小組創建IPng，以讓後續工作順利進行。1994年，各IPng領域的代表們於多倫多舉辦的IETF會議中，正式提議IPv6發展計劃，該提議直到同年的11月17日才被認可，並於1996年8月10日成為IETF的草案標準，最終IPv6在1998年12月由互联网工程工作小组以互聯網標準規範（RFC 2460）的方式正式公佈。
IPv6的計劃是建立未來網際網路擴充的基礎，其目標是取代IPv4，雖然IPv6在1994年就已被IETF指定作為IPv4的下一代標準，由於早期的路由器、防火牆、企業的企业资源计划系統及相關應用程式皆須改寫，所以在世界範圍內使用IPv6部署的公眾網與IPv4相比還非常的少，技術上仍以雙架構並存居多。預計在2025年以前IPv4仍會被支持，以便給新協議的修正留下足夠的時間。
在Internet上，数据以分组的形式传输。IPv6定义了一种新的分组格式，目的是为了最小化路由器处理的訊息標頭。由于IPv4訊息和IPv6訊息標頭有很大不同，因此这两种协议无法互操作。但是在大多数情况下，IPv6仅仅是对IPv4的一种保守擴展。除了嵌入了互联网地址的那些应用協議（如FTP和NTPv3，新地址格式可能会与当前协议的语法冲突）以外，大多数传输层和应用层协议几乎不怎么需要修改就可以在IPv6上運行。
当连接到IPv6网络上时，IPv6主机可以使用邻居发现协议对自身进行自动配置。当第一次连接到网络上时，主机发送一个链路本地路由器请求（solicitation）多播请求来获取配置参数。路由器使用包含Internet层配置参数的路由器宣告（advertisement）报文进行回应。
在不适合使用IPv6无状态地址自动配置的场景下，网络可以使用有状态配置（DHCPv6），或者使用静态方法手动配置。
IPv6具有比IPv4大得多的编码地址空間。這是因為IPv6採用128位元的地址，而IPv4使用的是32位元。因此新增的地址空間支持2（約3.4×10）個位址，具体数量为340,282,366,920,938,463,463,374,607,431,768,211,456 个，也可以說成16個，因為每4位地址（128位分为32段，每段4位）可以取2=16個不同的值。
網絡地址轉換是目前減緩IPv4地址耗盡最有效的方式，而IPv6的地址消除了對它的依賴，被認為足夠在可以預測的未來使用。就以地球人口70億人計算，每人平均可分得約4.86×10（486117667×10）個IPv6位址。
IPv6從IPv4到IPv6最顯著的變化就是網絡地址的長度。RFC 2373和RFC 2374定義的IPv6地址有128位長；IPv6地址的表達形式一般採用32個十六進制數。
在很多場合，IPv6地址由兩個邏輯部分組成：一個64位的網絡前綴和一個64位的主機地址，主機地址通常根據物理地址自動生成，叫做EUI-64（或者64-位擴展唯一標識）。
IPv6二進位制下為128位元長度，以16位元為一組，每組以冒號「:」隔開，可以分為8組，每組以4-{位}-十六進制方式表示。例如：codice_1 是一個合法的IPv6位址。类似于IPv4的点分十进制，同样也存在点分十六进制的写法，将8组4位十六进制地址的冒号去除后，每位以点号“.”分组，例如：codice_2则记为codice_3，其倒序写法用于ip6.arpa子域名记录IPv6地址与域名的映射。
同時IPv6在某些條件下可以省略：另外，::ffff:1.2.3.4 格式叫做IPv4映射位址。
IPv4位址可以很容易的轉化為IPv6格式。舉例來說，如果IPv4的一個位址為135.75.43.52（十六進位為0x874B2B34），它可以被轉化為0000:0000:0000:0000:0000:FFFF:874B:2B34 或者::FFFF:874B:2B34。同時，還可以使用混合符號（），則位址可以為::ffff:135.75.43.52。
由于同一非全局地址可能在同一范围的多个区域中使用（例如，在两条独立的物理链路中使用链路本地地址 fe80::1），而且一个节点可能连接到同一范围的不同区域的接口（例如，一个路由器通常有多个接口连接到不同的链路）。IPv6新增了区域ID（Zone ID）加以区分，或称作用域ID（Scope ID）。作用域ID仅用于本地链接，使用百分号追加在地址后面。其内容特定于操作系统，例如Windows使用数字 fe80::2%3 ，Linux使用网卡名字 fe80::2%eth0 。 在URI中使用时，百分号需要进行编码，例如 fe80::a%en1 应显示为 http://[fe80::a%25en1] 。
IPv6位址可分為三種：IANA維護官方的IPv6位址空間列表。全域的單播位址的分配可在各个区域互联网注册管理机构或 GRH DFP 頁面找到。
IPv6中有些位址是有特殊含义的：
IPv6封包由两个主要部分组成：头部和负载。
包头是包的前320比特，并且包含有源和目的地址，协议版本，通信类别（8位元，包优先级），流标记（20位元，QoS服务质量控制），分组长度（16位），下一个头部（用于入栈解码，类似IPv4中的协议号），和跳段数限制（8位元，生存时间，相当于IPv4中的TTL）。后面是负载。MTU至少1280字节长，在常见的以太网环境中为1500字节。负载在标准模式下最大可为65535字节，如果扩展报头设置了"jumbo payload"选项，则长度值被置为0。
IPv6曾有两个有着细微差别的版本；在 RFC 1883 中定义的原始版本（现在废弃）和 RFC 2460 中描述的现在提议的标准版本。两者主要在通信类别这个选项上有所不同，它的位数由4位变为了8位。其他的区别都是微不足道的。
由于分片（Fragmentation）只在IPv6的主机中处理，而IPv6也要求实现“MTU路径发现”来避免数据包需要被中间设备分片，所以IPv4头涉及分片的字段从IPv6基本头移出至专用的分片扩展报头中。
在IPv6中，可选项都被从标准头部中移出并在协议字段中指定，类似于IPv4的协议字段功能。
IPv6地址在域名系统中为执行正向解析表示为AAAA记录（所谓4A记录，类似地，IPv4表示为A记录(A record)）；反向解析在ip6."arpa"（原先是ip6.int）下进行，在这里地址空间为半字节16进制数字格式。这种模式在RFC 3596给与了定义。
AAAA模式是IPv6结构设计时的两种提议之一。另外一种正向解析为A6记录。也有一些其他的创新像二进制串标签和DNAME记录等。RFC 2874和它的一些引用中定义了这种模式。
AAAA模式只是IPv6域名系统的简单概括，A6模式使域名系统中检查更全面，也因此更复杂： 2002年8月的RFC 3363中对AAAA模式给予了有效的标准化（在RFC 3364有对于两种模式优缺点的更深入的讨论）。
2004年7月时ICANN声称網際網路的根域名服务器已经经过改进以同时支持IPv6和IPv4。
缺点：
工作：
部署進度： 网际网络安全协议（Internet Protocol Security，即IPsec）原本为IPv6开发，但是在IPv4中已经大量部署。IPsec最初是IPv6协议的强制要求，但后来改为可选项。
在IPv6完全取代IPv4前，需要一些轉換機制使得只支援IPv6的主機可以連絡IPv4服務，並且允許孤立的IPv6主機及網路可以藉由IPv4設施連絡IPv6網際網路。
在IPv6主機和路由器與IPv4系統共存的時期時，RFC2893和RFC2185定義了轉換機制。這些技術，有時一起稱作簡單網際網路轉換（SIT，Simple Internet Transition）。包含：许多转换机制使用隧道来把IPv6交通包封在IPv4网络中。这个解决方案并不完美，可能会增加延时以及引起路径最大传输单元发现（Path MTU Discovery）的问题，它并不总能运行，因为过时的网络设备可能不支持IPv6。有线电视基础上的Internet访问就是一个例子。在现代的有线电视网络中，光纤同轴混合网（HFC）的核心（比如大型核心路由器）是有可能支持IPv6的。然而，其他网络设备（比如一个线缆调制解调器终端系统（CMTS）)以及用户设备（如线缆调制解调器）会需要软件更新或硬件更新来支持IPv6。这意味着线缆网络运营商必须调整适应隧道直至主干设备支持内部雙堆疊。
雙堆疊（Dual IP stack implementation）是將IPv6視為一種IPv4的延伸，以共享程式碼的方式去實作網路堆疊，其可以同時支援IPv4和IPv6，如此是相對較為容易的。如此的實作稱為“雙堆疊”，並且，一個實作雙堆疊的主機稱為“雙堆疊主機”。這步驟描述於RFC 4213。
目前大部分IPv6的實現使用雙堆疊。一些早期實驗性實作使用獨立的IPv4和IPv6堆疊。
隧道（Tunneling）是另一個用來連結IPv4與IPv6的機制。為了連通IPv6網際網路，一個孤立主機或網路需要使用現存IPv4的基礎設施來攜帶IPv6封包。這可由將IPv6封包裝入IPv4封包的隧道協議來完成，實際上就是將IPv4當成IPv6的連結層。
IP協議號碼的41號用來標示將IPv6資料訊框直接裝入IPv4封包。IPv6亦能加入UDP封包，如為了跨過一些會阻擋協議41流量的路由器或NAT設備。其它流行的封裝機制則有AYIYA和GRE。
自動隧道（Automatic tunneling）指路由設施自動決定隧道端點的技術。RFC 3056建議使用6to4穿隧技術來自動隧道，其會使用41協議來封裝。 隧道端點是由遠端知名的IPv4任播位址所決定，並在本地端嵌入IPv4位址資訊到IPv6中。現今6to4是廣泛佈署的。
Teredo是使用UDP封裝的隧道技術，據稱可跨越多個NAT設備。Teredo並非廣泛用於佈署的，但一個實驗性版本的Teredo已安裝於Windows XP SP2 IPv6堆疊中。IPv6，包含6to4隧道和Teredo隧道，在Windows Vista中預設是啟動的。許多Unix系統只支援原生的6to4，但Teredo可由如Miredoo的第三方軟體來提供。
ISATAP藉由將IPv4位址對應到IPv6的链路本地位址，從而將IPv4網路視為一種虛擬的IPv6區域連線。不像6to4和Teredo是"站點間"的隧道機制，ISATAP是一種"站點內"機制，意味著它是用來設計提供在一個組織內節點之間的IPv6連接性。
在"組態隧道"中，如6in4隧道隧，隧道端點是要明確組態過的，可以是藉由管理員手動或作業系統的組態機制，或者藉由如tunnel broker等的自動服務。組態隧道通常比自動隧道更容易去除錯，故建議用於大型且良好管理的網路。
組態隧道在IPv4隧道上，使用網際協議中號碼的41號。
在區域網際網路註冊管理機構耗盡所有可使用的IPv4位址後，非常有可能使新加入網際網路的主機只具有IPv6連接能力。對這些須要向後相容以能存取IPv4資源的客戶端，須要佈署合適的轉換機制。
一種轉換技術是使用雙堆疊的應用層代理，如網頁代理伺服器。
一些對於應用程式無法得知但在其低層使用類NAT轉換技術也曾被提出。但因為一般應用層協議所要求的能力其應用太廣，其中大部分都被認定在實際上太不可靠，並且被認為應刪除。