IP地址详解
一个IP地址在整个互联网内时唯一的,关于IP地址的作用,将会在网络层介绍。这里只介绍IP地址的两个版本IPv4和IPv6。
1、IPv4经历的三个阶段
IP地址长度占4个字节(共32位)长,常用点分十进制表示。
1.1、IPv4分类的IP地址
1.1.1、分类的IP地址的表示
分类的IP地址将一个IP地址划分为网络号和主机号。
- 网络号:标志主机(路由器)所连接都的网络,唯一表示一个网络,由IP地址管理机构分配。
- 主机号:标志该主机或路由器,唯一表示一个主机,由申请到网络号的单位自行分配。
根据网络号和主机号所占字节数的不同进行分类。
网络类别 | 网络号 | 特殊网络号 | 可分配网络数 | 主机号 | 特殊主机号 | 可分配主机数 |
---|---|---|---|---|---|---|
A类地址 | 占1个字节,第一位固定为0 | 全0时表示本网络,01111111即127表示环回地址 | 2^7-2 | 占3个字节 | 全0表示本主机所在的网络地址,全1表示本网络上的所有主机 | 2^24-2 |
B类地址 | 占2字节,第一二位固定为10 | 128.0.0.0不使用 | 2^14-1 | 占2个字节 | 同上 | 2^16-2 |
C类地址 | 占3字节,第一二三位固定为110 | 192.0.0.0不使用 | 2^21-1 | 占1个字节 | 同上 | 2^8-2 |
1.1.2、分类IP地址中一般不使用的特殊IP地址
关于A类网络号为01111111即127时,作为本地软件环回测试本主机的进程之间的通信之用,如主机发送一个目的地址为环回地址(如127.0.0.1)的分组,则本机中的协议软件会接收此分组做处理,而不会把分组发送到任何网络,因为127根本不是一个网络地址。
关于主机号全为0表示主机所在的网络地址(如一台主机的IP为5.6.7.8,则该主机所在的网络地址为5.0.0.0)
关于网络号和主机号同时全为0(0.0.0.0)时表示本地址。
1.1.3、分类IP地址设计的存在不合理的地方
- IP地址空间的利用率低,如有的单位申请了B类网络,但实际连接的主机数并不多。
- 给每一个物理网络分配一个网络号会使路由器的路由表变得太大,使网络性能变差。
- 两级IP地址不够灵活,如存在异地办公点的公司,需要在异地申请开通一个新的网络,必须重新申请网络号,而不能使用原来的网络号。
为了解决上述问题,划分子网应运而生,而原来分类的ABC类IP地址的区分已经成为历史。
1.2、IPv4子网的划分
1.2.1、划分思路
1.2.2、子网掩码
路由器如何知道是否进行了子网划分,并且划分的网络号是多少位?路由器时通过子网掩码来得出这些信息的。
1.2.3、划分子网的取舍
显然,划分子网增加了灵活性,但却减少了能够连接在网络上的主机总数。
1.3、IPv4无分类编址CIDR(构成超网)
传统的ABC类网络的划分子网虽然在一定程度上缓解了IP地址发展中遇到的困难,但随着时间推移仍然遇到一些必须解决的问题。
- 1,B类地址在1992年已经分配了将近一半,很快就要全部分配完毕。
- 2,如互联网主干网上的路由表中的项目急剧增长
- 3,整个IPv4的地址将耗尽,2011年已经宣布全部耗尽
上述第三个问题,由后续要讲的IPv6解决。而前两个则使用无分类域间路由选择CIDR来解决。
1.3.1、CIDR的设计
CIDR把32位的IP地址划分为网络前缀和主机号,使用斜线记法(CIDR记法:在IP地址后面加上斜线“/”,并写上网络前缀所占的位数)。而对应32的子网掩码前面n(n等于网络前缀的长度)位为1,剩余的位都是0。例如:下图地址的子网掩码为11111111 11111111 11110000 00000000
1.3.2、构成超网
1.3.3、最长前缀匹配
1.3.4、使用二叉搜索时查找路由表
2、IPv6
由于IPv4地址空间耗尽,IPv6应运而生,IPv6地址扩展到 16字节(128位),地址空间增大了2^96倍,因此在可预见的未来时不可能用完的。