在使用TCP/IP通信的时候,IP地址是一块基石。
IP地址(IPv4)
这里所说的IP地址是IPv4地址,IP地址由32位正整数来表示。他在计算机内部被以二进制方式处理,因此最多有2^32个IP地址,即:43亿个总IPv4地址(目前人类总数有60亿左右,在现在看来这个地址池是远远不够用了)。32位的IP地址被分为4组,每组8位。每组以“.”来进行分割。然后在将每组数转换为相应的十进制数字。例如:192.168.0.231,我们称之为点分十进制形式。将每组数组转换为二进制为:11000000.10101000.00000000.11100111
早期的IP地址被分组处理为A,B,C,D,E五组,其中实际被使用的是A,B,C,D四类,E类是实验保留用的。每一类IP地址所能容纳的主机数量的差异是巨大的。
IP地址是由两个部分组成的,网络标识+主机标识构成一个完整的IP地址。以A类IP地址为例,它的主机标识达到了24位之多,一个网段内能容纳的主机数量高达16777214台主机。(2^24 == 16777216)其中地址全为0表示对应的IP地址不可获知;其中地址全为1的表示广播地址。因此,容纳的主机数量最多可达16777214台。D类IP地址没有主机标识,只有网络标识。通常被用作广播地址。
广播可以分为两类:本地广播和直接广播。
本地广播是在同一个数据链路上。例如:192.168.0.255/24他会将广播到192.168.0.0/24。
直接广播是在不同网络之间的广播。但是这个缺点是路由器将会转发包,这样将不安全。因此,通常使用的是IP多播。
多播能将包发送给指定组内的所有主机,它使用IP协议,所以能够穿透路由器。因此IP多播成为了只给那些必要的组发送数据包的必选之路。多播使用D类IP地址。因此IP地址开头如果是“1110”,则可以认为是多播地址。剩下的28位成为多播组标号。即:从224.0.0.0到239.255.255.255都是多播地址。其中从224.0.0.0到224.0.0.255的范围是不需要路由控制的,也就是说能在同一个数据链路内实现多播。
现在的IP地址不在局限于上述的类别,更多的则是通过一个叫做子网掩码的识别码来进行网络的识别。自从有了“子网掩码”,一个IP地址的网络标识和主机标识就是由“子网掩码”来确定的。子网掩码也是一个32位的数字。它用连续的1来表示网络标识的长度,即:有多少位网络标识,子网掩码就有多少个1,剩下的用0表示的部分就是主机标识。例如:
IP地址:192.168.0.231
子网掩码:255.255.255.0
这就标识IP地址的网络标识有24位,主机标识只有8位。此时该IP段的广播地址应该如下:
IP地址:192.168.0.255
子网掩码:255.255.255.0
子网掩码就是在A,B,C,D四类基础上改进而来的,需要多少就用多少。因此,子网掩码可以灵活的指定网络标识长度。
IP地址的分类处理导致了早期在架构大型网络的时候一般会分配一个A类IP地址,但是这个A类IP地址最多只能分128个(0,10,127等开头的A类IP地址是保留的IP地址)。而C类IP地址最大只能容纳254台计算机。随着计算机网络的日益发展,能分到的A类IP地址几乎没有了,B类IP地址也严重缺乏。于是,人们摒弃了IP地址分类的做法,采用任意长度分割IP地址的网络标识和主机标识。这种方式叫做CIDR。另外还是用来VLSM技术(可变长子网掩码),他可以随机修改子网掩码的长度。有了CIDR和VLSM在一定程度上缓解了全局IP地址不够用的局面。
全局地址(公网IP)
随着互联网的迅速发展,IP地址不足的问题越来越明显。于是,出现了一种新的技术,他不在要求为每一台主机或者路由器分配一个IP地址,而是在必要的时候,才给相应数量的设备分配唯一的IP地址。对于一个局域网内的设备而言,只要IP地址是不冲突的即可。于是,私有IP地址便出现了。
10.0.0.0——10.255.255.255(10/8),这是A类私有IP地址
172.16.0.0——172.31.255.255(172.16/12),B类
192.168.0.0——192.168.255.255(192,168/16),C类
包含在上述IP内的所有地址都是私有地址。在此之外的IP地址都是公有IP地址。
最初配有私有IP地址的主机本来是不打算连接到互联网的,但是随着NAT技术的出现,它能够互换私有IP和全局IP。使得私有地址的主机也能够连接互联网。现在在学校和家里一般都是在每个终端设置私有IP,但是在路由器上设置一个全局IP。这相当于在IP地址中又进行了一次地址层次的划分。私有IP地址的主机则通过NAT与互联网相连接。
由此IPv4地址池枯竭的问题基本可以得到解决。私有IP地址和NAT技术已经成为现在解决全局IP地址枯竭的主流方案。但是在使用的时候就有一些限制。为此,IPv6出现了,它长达128位的地址,足足有3.4028236692093846346337460743177e+38这么多的IP地址。相信随着互联网的发展,IPv6的普及,人人都可以拥有一个公网IP。
在全世界范围内,全局IP地址是由ICANN进行管理。我国的全局IP地址是由CNNIC来进行管理的。对于一般用户而言,并不需要向CNNIC发出申请全局IP地址的请求,而是向本地ISP发出接入互联网的请求,同时本地ISP会给用户分配一个全局IP地址。现阶段普遍采用的方式是私有IP地址+NAT技术来给用户提供上网服务。