概述
- 在TCP/IP体系中,IP地址是一个最基本的概念,我们必须把它弄清楚。
- IPv4地址就是给因特网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内唯一的32比特的标识符。
- IP地址由因特网名字和数字分配机构ICANN进行分配。
- 我国用户可向亚太信息网络中心APNIC申请IP地址,需要缴费。
- 2011年2月3日,互联网号码分配管理局IANA宣布,IPv4地址已经分配完毕
- 我国在2014至2015年也逐步停止了向新用户和应用分配IPv4地址。同时全面开展商用部署IPv6。
- IPv4地址的编址方法经历了如下三个历史阶段:
- 32比特的IPv4地址不方便阅读、记录以及输入等,因此IPv4地址采用点分十进制表示方法以方便用户使用。
- 将32比特的地址,分为8个一组,共4组
- 写出每组8比特所对应的十进制数
- 每个十进制数中间加“.”
分类编址的IPv4地址
注意事项:
- 只有A类、B类和C类地址可分配给网络中的主机或路由器各接口
- 主机号为“全0”的地址是网络地址,不能分配给主机或路由器的各接口
- 主机号“全1”的地址是广播地址,不能分配给主机或路由器的各接口
A类
可指派的网络地址数量为2(8-1)-2 =126 ,减2是因为出去最大网络号和最小网络号
每个网络可分配的IP地址数量为224-2 = 16777214 (减2是减去了主机号全0的网络地址和全1的广播地址)
B类
可指派的网络数量为2(16-2) = 16384
每个网络中可分配的IP地址数量为 216 -2 = 65534 个 出去网络地址和广播地址
C类
特殊的Ipv4地址:
地址0.0.0.0是一个特殊的IPv4地址,只能作为源地址使用,表示“在本网络上的本主机”。封装有DHCP Disconvery报文的IP分组的源地址使用0.0.0.0;
以127开头且后面三个字节非全0或全1的IP地址是一类特殊的IPv4地址,既可以作为源地址使用,也可以作为目的地址使用,用于本地软件换回测试
地址255.255.255.255是一个特殊的IPv4地址,只能作为目的地址使用,表示“只在本网络上进行广播,(个路由器均不转发)”。
例题:
- 先找出图中有哪些网络:
- 左边两个,右边主机和交换机组组成一个交换式以太网,两个路由器之间通过一段链路直连,它们的直连接口也属于同一个网络。
- 根据各网络中主机和路由器接口总数量来决定给各网络分配哪各类别的网络号;
- 黄色网络主机数量为65534,加上路由器接口为65535,只能分配一个A类网络号
- 蓝色网络主机数量254,加上路由器接口共255个,可分配A类或B类,本着节约IP地址的原则,分配B类
- 绿色网络主机和路由器接口加起来要41个,A,B,C类都可以,本着节约IP地址的原则, 分配C类
- 两个路由器之间的粉色网络,分配C类
- 依据所确定的网络类型,为每个网络挑选一个网络号
- 为各主机和路由器接口分配IP地址,主机号部分不能出现全0,也不能出现全1
划分子网的IPv4地址
为什么要有这个东西:
比如一个网络,用A类,IP地址不够,用B类,又剩了很多没用到的IP地址。如果再增加一些主机,把一个网络分成三个网络,一个网络用原来的网络号,另两个还要再申请网络号,又会浪费IP地址。
在下图例中,使用B类地址,三个子网,借用16位主机号中的8位作为子网号。之后就可以给子网中的主机和路由器接口分配IP地址了。
- 32比特的子网掩码可以表明分类IP地址的主机号部分借用了几个比特作为子网号
- 子网掩码使用连续的比特1来对应网络号和子网号
- 子网掩码用连续的比特0来对应主机号
- 将划分子网的IPv4地址与其相应的子网掩码进行逻辑与运算就可得到IPv4地址所在子网的网络地址
举例:
默认的子网掩码是指在未划分子网的情况下使用的子网掩码
无分类编址的IPv4地址
- 划分子网在一定程度上缓解了因特网在发展中遇到的困难,但是数量巨大的C类网因为其地址空间大小并没有得到充分使用,而因特网的IP地址仍在加速消耗整个IPv4地址空间面临全部耗尽的威胁。
- 为此,因特网工程任务组IETF又提出了采用无分类编址的方法来解决IP地址紧张的问题,同时还专门成立IPv6工作组负责研究新版本IP以彻底解决IP地址耗尽问题。
- 1993年IETF发布了无分类域间路由选择CIDR(Classless Inter-Domain Routing)的RFC文档
- CIDR消除了传统的A类,B类,C类地址和划分子网的概念。
- CIRD可以更加有效地分配IPv4地地址地址空间并且可以在新的IPv6使用之前允许因特网的规模继续增长。
- CIRD使用斜线记法,或称CIDR记法。即在IPv4地址后面加上斜线”/“,在斜线后面写上网络前缀所占的比特数量。
- CIDR实际上是将网络前缀都相同的连续的IP地址组成一个”CIDR地址块”。
- 我们只要知道CIDR地址块中的任何一个地址,就可以知道该地址块的全部细节:
- 地址块的最小地址
- 地址块的最大地址
- 地址块中的地址数量
- 地址块聚合某类网络(A,B,C类)的数量
- 地址掩码(也可继续称为子网掩码)
路由聚合(构造超网)
下图中,路由器R1连接5个网络,R1和R2要周期性地通告路由信息,而这5个网络的信息都通告给R2,可以把这5条信息聚合起来。方法是找共同前缀。
一共22位共同前缀,保持前22个比特不变,剩余的10个比特全取0。
写成这个样子:
- 网络前缀越长,地址块越小,路由越具体;
- 若路由器查表转发分组时发现有多条路由可选,则选择网络前缀最长的那条,称为最长前缀匹配,因为这样的路由更具体。