经常在网上开心冲浪的您,想必对于IP这个词并不感到陌生,但是除了IP以外,当您打开某个app的时候,您可曾留意过app图标右上角丝毫不起眼的IPv6字样呢?
图为支持IPv6访问的和家亲app图标
当您留意到的时候,小小的脑袋是否也充满了大大的疑惑:我只听说过“IPv4”,这突然冒出来的“IPv6”又是什么个“东东”呢?为了揭开“IPv6”的神秘面纱,以及搞清楚它和“IPv4”的区别,我们的故事就必须要从IP的”前世今生“说起……
什么是IP?
IP全称Internet Protocol,又叫做网际互连协议,是在因特网出现之初,为了实现不同计算机之间相互通信而设计出来的一种通信协议。它通过一套既定的方法将不同计算机发送的、不同格式的基本单元转换成相同格式,使得接入因特网的计算机都能够识别来自其他计算发送的数据,从而实现相互通信。IP地址(Internet Protocol Address)则是IP协议中一个极其重要的内容,如果把互联网上的每台计算机比作是现实中的一户人家,把计算机间的相互通信比作是家与家之间相互写信的话,那么IP地址的作用就相当于某个家的地址。首先它是“独一无二“的;其次,有了IP地址的存在,不同“家”之间相互写信时就会根据对方的IP地址在整个地图上寻找路线(又称路由)进而准确地送达对方。因此,IP地址可以理解为用来唯一标识互联网上一台联网设备的一串有规律的数字,它通常是由ISP(Internet Service Provider)所提供。IP地址根据分类又有IPv4和IPv6之分、公有IP和私有IP之分、静态IP和动态IP之分。本文重点考虑IPv4和IPv6的区别。
什么是IPv4地址?
我们常说的IPv4指的通常是IPv4协议,它是IP协议族中的主要内容,而IPv4地址则是IPv4协议的主要内容。IPv4地址由32位(4个字节)的二进制数值所组成,但为了便于记忆和使用,通常采用”点十进制表示法“来表示。将4个字节的数值表示位4个点十进制整数,每个整数的范围在0-255之间,例如用二进制表示的IPv4地址00001010|00001010|00000001|00000010采用点十进制即可表示为10.10.1.2。因此原则上IPv4一共可以表示232,即42,9496,7296台联网设备。但是随着互联网的蓬勃发展,全球网民总数已突破40亿,联网设备也越来越多,早在2019年 IPv4 地址就已全部用完(全球五大区域互联网注册管理机构之一的欧洲网络协调中心)。为此,甚至还专门提出了NAT(Network Address Translation)网络地址转换,它通常被安装在路由器中,目的是在公有IP和内网私有IP之间建立一对多的映射,在内网设备访问互联网时,将其私有IP转换为对应的公有IP才能联网,这种方法可以缓解IPv4地址不足的尴尬处境,同时还可以隐藏内网设备,避免网络攻击。但是NAT方法却是背离了IP地址的初衷,于是2012年基于下一代协议的–IPv6协议的IPv6地址正式启用。
图为解析百度的域名,可以看见返回的是ipv4地址:220.181.38.148
什么是IPv6地址?
IPv6地址由128位(16个字节)的二进制数值所组成,但为了便于记忆和使用,通常采用冒分十六进制法来表示,将16个字节的数值表示为8个十六进制的整数。因此原则上IPv6一共可以提供2128个IP地址,号称可以为世界上的每一粒沙子作一个标记。相较于IPv4,IPv6具有更大的地址空间以及更高的安全性等诸多优势。目前的最主要难题是如何从IPv4协议平稳地切换到IPv6协议,但是随着越来越多的互联网巨头率先使用IPv6协议,笔者相信IPv6的全面推广已是一种必然。