十一 网络编程懒人入门:一文读懂什么是IPv6

1、引言现在IPv6的技术应用已经越来越普及了,很多应用都开始支持IPv6 。

十一 网络编程懒人入门:一文读懂什么是IPv6

文章插图
 
▲ 去年开始,支付宝的官网上就已出现“支持IPv6”标识
对于即时通讯技术(尤其是IM应用)的开发者来说,新产品上架苹果的App Store因IPv6问题被拒的情况,很常见 。每次也都能根据网上的资料一一解决,并顺利通过审核 。
然而几次下来,到底什么是IPv6,还是有点云里雾里 。
那么,IP协议在TCP/IP体系中到底有多重要?看看下图便知(原因清晰版:从此处进入下载) 。
十一 网络编程懒人入门:一文读懂什么是IPv6

文章插图
 
▲ 红圈处就是IP协议,它几乎是整个TCP/IP协议簇的支撑(图引用自《计算机网络通讯协议关系图》)
总之,IP协议在TCP/IP体系中,是非常重要的一环(可以认为,没它,也就没有了互联网),作为IPv4的下一代协议,了解IPv6非常有必要 。而作为即时通讯开发者来说,了解IPv6就显的尤为迫切,说不定某天你的IM就会因为IPv6问题而导致无法通信的局面出现 。
本文将用浅显易懂的文字,带你了解到底什么是IPv6 。
本文同时发布于“即时通讯技术圈”公众号 。
(本文同步发布于:http://www.52im.net/thread-2979-1-1.html)
2、系列文章本文是系列文章中的第11篇,本系列文章的大纲如下:
《网络编程懒人入门(一):快速理解网络通信协议(上篇)》
《网络编程懒人入门(二):快速理解网络通信协议(下篇)》
【十一 网络编程懒人入门:一文读懂什么是IPv6】《网络编程懒人入门(三):快速理解TCP协议一篇就够》
《网络编程懒人入门(四):快速理解TCP和UDP的差异》
《网络编程懒人入门(五):快速理解为什么说UDP有时比TCP更有优势》
《网络编程懒人入门(六):史上最通俗的集线器、交换机、路由器功能原理入门》
《网络编程懒人入门(七):深入浅出,全面理解HTTP协议》
《网络编程懒人入门(八):手把手教你写基于TCP的Socket长连接》
《网络编程懒人入门(九):通俗讲解,有了IP地址,为何还要用mac地址?》
《网络编程懒人入门(十):一泡尿的时间,快速读懂QUIC协议》
《网络编程懒人入门(十一):一文读懂什么是IPv6》(本文)
3、复习一下什么是IPv4?IPv4是Internet Protocol version 4的缩写,中文翻译为互联网通信协议第四版,通常简称为网际协议版本4 。
IPv4使用32位(4字节)地址,因此地址空间中只有 4,294,967,296(即2^32) 个地址 。
IPv4地址可被写作任何表示一个32位整数值的形式,但为了方便人类阅读和分析,它通常被写作点分十进制的形式,即四个字节被分开用十进制写出,中间用点分隔 。
通常IPv4地址的地址格式为 nnn.nnn.nnn.nnn,就像下面这样:
172.16.254.1
下图看起来更清晰一些:
十一 网络编程懒人入门:一文读懂什么是IPv6

文章插图
 
4、IPv6又是什么?IPv6是Internet Protocol version 6的缩写,中文翻译为互联网通信协议(TCP/IP协议)第6版,通常简称为网际协议版6 。IPv6具有比IPv4大得多的编码地址空间,用它来取代IPv4主要是为了解决IPv4地址枯竭问题,同时它也在其他方面对于IPv4有许多改进 。
其实,IPv6并不是新技术,从IPv6最早的工作组成立1992年到现在,已过去27年 。在互联网技术的发展历程中,IPv6年龄甚至有些太大了 。
IPv6的“6”表示的是TCP/IP协议的第六个版本,IPv4的“4”表示的是TCP/IP协议的第四个版本 。其实除了这两个版本,当然还有其它版本,TCP/IP协议其实从IPv1开始,到现在IPv10都已经出现了,这些不同版本之间并没有关联,也不是简单IP地址长度的长短 。
IPv6地址由八组、每组四位16进制数字组成,每组之间由":"来分隔 。
看个简单的例子:
2610:00f8:0c34:67f9:0200:83ff:fe94:4c36,每个“:”前后都是4位16进制的数字,共分隔成8组 。
如下图所示:
十一 网络编程懒人入门:一文读懂什么是IPv6

文章插图
 
小知识:如何查看手机或者电脑的网络是否支持IPv6呢?
可以在你手机或者电脑上的浏览器中打开:Ipv6-test.com,就像下图这样:
十一 网络编程懒人入门:一文读懂什么是IPv6


推荐阅读