前言
上文介绍了IP数据报格式,其中IP数据报的首部固定部分有一个版本字段表示IP协议的版本,目前应用最广泛的是IPv4地址和IPv6地址。本文主要介绍IPv4地址。
本文内容
1 IP编址的历史阶段
(1) 分类的IP地址,这是最基本的编址方法。
(2) 子网的划分。
(3) 构成超网(无分类编址方法)
分类的IP地址是本文介绍的内容。
2 IP地址
IP地址是32个比特(IPv4)编号标识主机、路由器的接口。一个IP地址在互联网中范围内是唯一的,类比身份证号。
分类的IP地址就是将IP地址划分成若干个固定类,其中A类,B类和C类都是由两个固定长度的字段组成:
网络号(net-id):它标志主机(或路由器)所连接的到的网络。
主机号(host-id):它标志该主机,一台主机号在它所在的网络号的范围中是唯一的。
所以,IP地址可以表示为:{<网络号>,<主机号>}
在介绍分类之前,先介绍下IP地址的表示,在机器中存放的IP地址是连续的二进制代码,但是为了提高可读性,通常把32位对应的IP地址每8位插入一个空格,再为了便于书写,将二进制代码用十进制数字表示,并且在这些数字中间加上一个点,这叫做点分十进制记法。
3 分类的IP地址
分类的IP地址分为:A类、B类、C类、D类和E类。
其中A类、B类和C类IP地址是由网络号和主机号两个字段组成。
(1) A类地址网络号长度为1个字节,并且第1位固定为0。IP地址范围:0.0.0.0~127.255.255.255。
(2) B类地址网络号长度为2个字节,并且第1位固定为10。IP地址范围:128.0.0.0~191.255.255.255。
(3) C类地址网络号长度为3个字节,并且第1位固定为110。IP地址范围:192.0.0.0~223.255.255.255。
(4) D类地址前4位是1110,该类地址用于多播(一对多通信)。IP地址范围:224.0.0.0~239.255.255.255。多播后面再说。
(5) E类地址的前4位是1111,该类地址保留以后用。IP地址范围:240.0.0.0~255.255.255.255。
从IP地址的结构看,IP地址不仅仅指明一台主机,还指明了主机所连接的网络。网络地址即可以使用IP地址中网络号字段的值表示,也可以用主机号为全0的网络IP地址。如下图所示,对于IP地址为222.1.1.1的主机,其网络地址可以表示为222.2.1.1.0。
下图画出了三个局域网通过三个路由器互连构成的一个互联网。
子网:具有相同网络号的所有主机构成的集合。如上图中所有IP地址为222.1.1.1~222.1.1.3的所有主机构成了子网2。
(1) 在一个局域网中的主机或路由器的IP地址中的网络号必须是一样的。
(2) 路由器总是具有2个或2个以上的IP地址,这是因为一个路由器至少连接到两个网络,即路由器的每个接口都对应一个IP地址。这里可以将路由器理解为两条路的交叉口,路交叉口至少有两个路牌。
(3) 当两个路由器直接相连时,在连线两端既可以分配IP地址也可以分配,如果分配了IP地址,如下图这样的,那么这段线就构成了一种只包含一段线路的特殊网络。如果没有分配IP地址,对于这种仅由一段连线构成的特殊网络叫做无编号网络或无名网络。现在为了节省IP地址资源,常常不分配。
4 特殊的IP地址
上面介绍了IP地址的分类,但不是所有的IP地址都可以分配给主机使用,其中有一些IP地址一般是不使用,这些地址只能在特定的情况下使用。
(1) 网络号全是0,主机号也全是0,即0.0.0.0,网络号字段为全0的IP地址是保留地址,意思是“本网络”,即主机所在的局域网(子网),主机号全是0表示本主机,即在主机所在网路内表示主机自身。举个例子,如果一台主机的不明确自己的IP地址,但是还要利用IP协议发送分组时,其就用0.0.0.0表示自己的源IP地址,所以它也只能作为源地址不能作为目的地址。
(2) 网络号全是0,主机号是特定值,它表示的是本网络内某个特定主机,它只能作为目的地址,不能作为源地址,其网络号默认和发送的主机的网络号相同。
(3) 网络号全是1,主机号全是1,即255.255.255.255,表示本网的广播地址,只能在本网(发送广播分组的源主机所在的IP子网)中广播时作为目的地址使用,并且只能在本网络中传播。显然它可以作为目的地址而不能作为源地址。
(4) 网络号为特定值,主机号为0,网络地址,表示一个网络,既不能作为源地址也不能作为目的地址。
(5) 网络号为特定值,主机号全为1,表示直接广播地址,对特定网络上的所有主机进行广播。
它与255.255.255.255的区别就是:如果需要广播的网络就是发送广播的源主机所在的网络直接使用255.255.255.255即可,但是如果要发起广播的源主机所在网络和需要广播的网络不是同一个,那么就需要使用直接广播地址。
例如,对于一个网络中的一个主机,网络地址为222.1.1.0,网络中由一台主机,其IP地址为222.1.1.1,如果它想给本网络中所有主机广播一个分组,那么目的地址的IP地址可以直接使用255.255.255.255。如果该主机想给网络地址为222.1.2.0网络中所有的主机广播一个分组,那么就必须使用直接广播地址,即目的地址必须为222.1.2.0。
(6) 网络号为127,主机号为任意的非全为0或非为1的数,它称为环回地址,用于作为本地软件环回测试本主机进程之间的通信。若主机发送一个目的地址环回地址(如127.0.0.1)的IP数据报,则本机中的协议软件就处理数据报中的数据,而不会将据报发送到任何网络。另外如果要通信的地址就是本机的话也可以使用该地址。的它既可以作为源地址也可以作为目的地址。
5 私有(专用)IP地址
除了上面的特殊IP地址外,A、B、C三类地址里还保留了一部分地址空间作为私有地址,这些地址只用于内部网络(如学校的校园网、公司的内部网),在公共互联网上这部分地址是无效的。私有IP地址在公共互连网上直接通信是行不通,如果要实现在公共互连网上通信,就需要NAT技术,见下一篇。
私有IP地址在公共网络上是为什么是无效的:如果要将一个数据发送到一个私有地址,因为这些网络IP地址是私有的,在全世界可能有很多地方的私有网络都有这样的IP地址,所有公共互连网并不知道要把这个数据送到哪里去,所有互连网会将数据给丢失。
其中A类保留了1个网段、B类保留了16个网段、C类保留了256个网段,各网段的地址范围如下图所示
(1) A类:10网段
(2) B类:172.16~172.31网段
(3) C类:192.168.0~192.168.255网段
私有IP地址是非常有意义的,由于在所有的私有网络或内部网络都可以使用它们,因此它们可以被重用。正是因为这些私有地址再加上NAT技术,使得现在的IPv4网络即使它的地址空间已经被分配殆尽了,整个互连网还可以正常运行没有任何问题。
6 三类IP地址可以指派的范围
(1) A类网络的最大可指派网络数是27-2,A类网络号占8位,其中第1位固定,所以共有27个网络号,但是网络号全为0,是特殊IP地址,不能分配给主机,同时网络号为127的是环回地址,也不能分配给主机使用。主机号占24位,其中全为0的是特殊IP地址,表示本主机,全为1的是广播地址,也是特殊地址,不能分配给主机。
(2) B类网络最大可以指派的网络数是214-1,B类网络号占16位,其中前两位固定位为(1,0),所以不存在全为0或全为1的情况,但是实际上网络号为128.0是不指派的,即网络号位除了前2位固定位之外其余的14位都是0,所以需要减1。主机数减2与A类一样。
(3) C类网络最大指派的网络数是221-1,C类网络号占24位,其中前三位固定位为(1,1,0),所以也不存在全为0或全为1的情况,同样192.0.0也是不指派的,即网络号除了前3位固定位之外其余21位都是0,所以也需要减1。主机数减2与A类一样。