一,IP地址的概念和划分地址新技术的研究
(1)标准分类的IP地址
第一阶段是在IPv4协议制定的初期,时间大致在1981年左右。那时候网络的规模比较小,用户一般是通过终端,
经过大型计算机或中小型计算机接入ARPANET。
IP地址是由网络号与主机号组成的,长度是32bit,用点分十进制方法表示,这样就构成了标准分类的IP地址。常
用的A类、B类、C类IP地址采用包括“网络号-主机号”的两层结构层次(RFC1812)。A类地址的网络号长度是7bit,
实际允许分配A类地址的网络只能有126个。B类地址的网络号长度是14bit,因此允许被分配B类地址的只能有16384
个。
(2)划分子网的三级地址结构
第二阶段是在标准分类的IP地址基础上,增加子网号的三级地址机构。
人们认为A类与B类IP地址设计不合理,对IP地址的匮乏表示强烈的担忧。1991年研究人员提出了子网subnet和
掩码mask的概念。构成子网就是将一个大的网络划分成几个较小的子网络,将传统的“网络号-主机号”的两级结构,
变为“网络号-子网号-主机号”的三级结构。
(3)构成超网的无类域间路由(CIDR)技术
第三个阶段是1993年提出了无类域间路由(ClasslessInterDomainRouting,CIDR)技术(RFC1519)
无类域间路由的出现是希望解决Internet扩展中存在的两个问题:
a)32位IP地址空间可能在第40亿台主机接入Internet前就耗尽。
b)随着越来越多的网络地址出现,主干网的路由表增大,路由器负荷增加,服务质量下降。
无类域间路由CIDR技术也被称为超网技术。构成超网的目的是将现有的IP地址合并成较大的、具有更多主机地
址的路由域。例如,可以将一个组织所属的C类网络合并到一个更多的地址范围的大的路由域中。
(4)网络地址转换(NAT)技术
第四个阶段是1996年提出的网络地址转换(NAT)技术(RFC2993、RFC3022)。
网络地址转换设计的基本思路:为每一个公司分配一个或少量的IP地址,用于传输Internet的流量。在公司内部的
每一台主机分配一个不能够在Internet上使用的保留的专用IP地址(RFC1918)。
专用IP地址是Internet管理机构预留的,任何组织使用都不需要向Internet管理机构申请,所以网络管理人员都应
该知道这些地址是为专用网络内部使用的。这类地址在专用网络内部中是唯一的,但是在Internet中并不是唯一的。
专用IP地址用于内部网络的通信,如果需要访问外部Internet主机,必须由运行网络地址转换的主机或路由器将内
部的专用IP地址转换成全局IP地址。
二,标准分类的IP地址
IPv4的地址长度为32bit,用点分十进制(dotteddecimal)表示。通常采用x.x.x.x的方式来表示,每个x为8bit,每
个x的值为0~255,例如,202.113.29.119。
标准分类的IP地址:
(1)A类地址
A类地址网格号(netID)的第一位为0,其余的各位可以分配。因此A类地址共被分为大小相同的128块,每一块的
netID不同。
第一块覆盖的地址为:0.0.0.0~0.255.255.255(netID=0)
第二块覆盖的地址为:1.0.0.0~0.255.255.255(netID=1)
……
最后一块覆盖的地址为:127.0.0.0~0.255.255.255(netID=127)
但是,第一块和最后一块地址留作特殊用途,另外netID=10的10.0.0.0~10.255.255.255用于专用地址,其余的
125块可指派给一些机构。因此能够得到A类地址的机构只有125个。每一个A类网络可以分配的主机号hostID可以是2
的24方-2=16777214个,主机号为全0和全1的两个地址保留用于特殊目的。
(2)B类地址
B类地址的网络号长度为14位,网络号总数为16384。B类地址的主机号长度为为16位,因此每个B类网络可以有
2的16次方=65536个主机号。但是,主机号为全0和全1的两个地址保留用于特殊目的,因此实际上一个B类IP地址允
许分配的主机号位65534个。
(3)C类地址
C类IP地址网络号长度为21位,主机号长度为8位。因为网络号长度为21位,因此允许有2的21次方=2097152个
不同的C类网络。由于主机号长度为8位,因此每个C类网络的主机号数最多为2的8、次方=256个。同样,主机号为全
0和全1的两个地址保留用于特殊目的,因此实际上一个C类IP地址允许分配的主机号为254个。
(4)特殊地址形式
特殊的IP地址包括:直接广播(directedbroadcasting)地址、受限广播(limitedbroadcasting)地址、“这个网络
上的特定主机”地址和回送地址(loopbackaddress)。
a)直接广播地址
在A类、B类、C类IP地址中,如果主机号是全1(二进制),那么这个主机号为直接广播地址,它是用来使路由器将
一个分组以广播方式发送给特定网络上的所有主机。例如,主机要以广播方式发送一个分组给特定网络(网络地址为
201.161.20.0)上的所有主机,那么需要使用直接广播地址,这个直接广播地址为201.161.20.255。
b)受限广播地址
2位(网络位和主机位)全为1的广播地址(255.255.255.255)为受限广播地址,用来将一个分组以广播方式发送
给本网络中的所有主机。路由器则阻挡该分组通过,将其广播功能限制在本网内部。
c)“这个网络上的特定主机地址”
当一个主机或一个路由器向本网络的某个特定的主机发送一个分组,那么它就需要使用“这个网络上的特定主
机”地址。“这个网络上的特定主机”的网络号位全0(二进制),主机号为确定的值。这样的分组被限定在本网内部,由主
机号对应的主机接收。例如,主机要向本网络中的某个主机(IP地址为201.161.20.18)发送一个分组,那么需要使
用“这个网络上是特定主机地址”,这个地址为0.0.0.18。
d)回送地址
A类地址中的127.0.0.0是回送地址,它是一个保留地址。回送地址是用于网络软件测试和本地进程间通信。
TCP/IP协议规定:含网络号为127的分组不能出现在如何网络上;主机和路由器不能为该地址广播任何寻址信
息。“Ping”应用程序可以发送一个将回送地址作为目的地址的分组,以测试IP软件是否接收或发送一个分组。一个客
户进程可以使用回送地址来发送一个分组给本机的另一个进程,用来测试本地进程之间的通信情况。
三,划分子网的三级网络结构
(1)子网的基本概
标准分类的IP地址存在着两个主要的问题:IP地址的有效利用率问题和路由器的工作效率问题。为了解决这个问
题,人们提出了子网(subnet)的概念。RFC940对子网的概念和划分子网的标准做出了说明。
提出子网概念的基本思路是:允许将网络划分成多个部分供内部使用,但是对于外部网络,仍然像一个网络一样。
子网的划分有利于优化网络性能,改善网络管理。
(2)划分子网的地址结构
IP地址是层次型结构的,它的长度是32位。标准的A类、B类、C类IP地址是包括网络号(netID)与主机号
(hostID)的两层层次结构。划分子网技术的要点是:
a)三级层次是IP地址:netID——subnetID——hostID;
b)同一个子网中所有主机必须使用相同的子网号subnetID
c)子网的概念可以应用于A类、B类、C类中任意一类的IP地址中;
d)子网之间的距离必须很近;
e)分配子网是一个组织和单位内部的事,它既不要向ICANN申请,也不需要改变任何外部
的数据库;
f)在Internet的文献中,一个子网也称为一个IP网络或一个网络。
(3)子网掩码的概念
当三级层次的IP地址提出后,一个很现实的问题是:如何从一个IP地址中提取出子网号。
人们提出了子网掩码或掩码的概念。子网掩码有时叫做子网屏蔽码。掩码的概念同样适用于没有进行子网划分的
A类、B类、C类地址。
A类,B类和C类地址掩码:
如果路由器处理的是一个标准的IP地址,那么它只要判断IP地址的前两位值,如果是10,那它肯定是一个B类地
址。B类地址的网络号长度为16位,那么该IP地址的前16表示的是网络号,后16位表示的是主机号。如果路由器在处
理划分子网之后的三层结构IP地址时,需要给它IP地址和子网掩码。它需要通过标准地址的前三位判断该地址的A类、
B类或C类地址,同时根据子网掩码判断出子网号。标准的B类地址的16位的网络号是不变的,如果需要划分出64个子
网,那么就可以借用原16位主机号的6位,该子网的主机号就变成了10位。子网掩码用点分十进制表示为
255.255.252.0,另一种表示方法是用“/”加上网络号+子网号的长度,即“网络号/22”表示。
在某种情况下,在子网划分时子网号长度可以是不同的。IP地址协议允许使用变长子网的划分。子网号为7的子网掩码:
四,无类域间路由(CIDR)技术
(1)无类域间路由技术的基本概念
从无类域间路由的命名就可以看出,CIDR的研究思路是:将剩余的IP地址不是按照标准的地址分类规则分配,
而是以可变大型的块方法进行分配。ISP、大学、机关与公司在确定IP地址结构时,不是限制于标准分类的IP地址结
构,而是根据对IP地址管理和路由器的需要来灵活地决定。无类域间路由技术的特点主要有以下两点:
a)CIDR使用区别于传统标准分类的IP地址和划分子网概念的“网络前缀
(network-prefix)”,代替“网络号+主机号”,形成新的无分类的二级地址结构,即IP地址表示为<网络前缀>,<主机号>。
b)CIDR将网络前缀相同的连续的IP地址组成一个“CIDR地址块”。
一个CIDR地址块是由块起始地址和块地址数来表示的。地址块的起始地址是指地址块中地址数值最小的一个。
例如,当200.16.23.0/20表示的是一个地址块时,它的起始地址是200.16.23.0,地址块中的地址数是2的12次方。因
为在这个地址块中,网络前缀表示对应20位的网络号是确定的,可以由获得这个地址块的机构分配的主机数有2的12
次方个,也就是说这个机构可以分配的地址数有2的12次方个。
(2)在A类、B类和C类IP地址中,如果主机号为全1,那么这个地址为广播地址。在无类域间路由中,广播地址也
采用相同的原则。例如网络156.25.0.0/16中的广播地址应该是将16位的主机号置1,即156.25.255.255;网络
156.25.0.0/24的广播地址应该是将8位的主机号置1,即156.25.0.255;网络156.25.0.0/28的广播地址是将4位的主机
号置1,即156.25.0.15;网络195.1.22.64/27的广播地址具有考虑5位的主机号置1。由于64的二进制数为01000000,
后5位的主机号置1之后为01011111(为十进制位95),那么网络195.1.22.64/27的广播地址为195.1.22.95。
(3)网络前缀越短,其地址块所包含的地址数越多。
(4)CIDR地址规划方法示例:
五,专用IP地址和内部网络地址划分方法
(1)全局IP地址与专用IP地址
RFC1518对A类、B类、C类地址中全局IP地址和专用IP地址的范围做出了规定。全局IP地址与专用IP地址的区别
主要表现在以下几点:
a)使用IP地址的网络可以分为两种情况:一种是要将网络之间连到Internet;另一种是也需要运行TCP/IP协议,
但是它是内部网络,并不直接连接到Internet,但网络内部用户访问Internet是受到严格控制的。
b)使用全局IP地址是需要申请的,而专用IP地址是不需要申请的。预留地址如表3-2所示:
c)全局IP地址必须保证在Internet上是唯一的;专用IP地址在某一个网络内部是唯一的,但是在Internet中并不是
唯一的。IPv4为内部网络预留的专用IP地址有三组。第一组是A类地址的一个地址块,这个地址中的地址空间为
10.0.0.0~10.255.255.255;第二组是B类地址的16个地址块(172.16~172.31);第三组是C类地址的256个地址块
(192.168.0~192.168.255)
(2)NAT方法的局限性
a)NAT违反了IP地址结构模型的设计原则。IP地址结构模型的基础是每个IP地址均标识了一个网络的连接。
Internet的软件设计就是建立在这个前提之上的,而NAT使得有很多主机可能在使用相同的IP地址,如10.0.0.1。
b)NAT使得IP协议从面向无连接变成了面向连接。NAT必须维护专用IP地址与公用IP地址以及端口号的映射关
系。在TCP/IP协议体系中,如果一个路由器出现故障,不会影响TCP/IP协议的执行。因为只有几秒钟收不到应答,
发送进程就会进入超时重传处理。而当存在NAT时,最初设计的TCP/IP协议将发生变化,Internet可能变得非常脆
弱。
c)NAT违反了基本的网络分层结构模型的设计原则。因为在传统的网络分层结构模型中,第N层是不能够修改第
N+1层的报头内容的。NAT破坏了这个这种各层独立的原则。
d)有些应用是将IP地址插入到正文的内容中,例如标准的FTP协议与IPPhone协议H.323。如果NAT与这一类协议
一起工作,那么NAT协议一定需要做适当的修正。同时,网络的传输层也可能使用TCP与UDP协议之外的其他协议,
那么NAT协议必须知道并且做相应的修改。由于NAT的存在,使得P2P应用实现出现困难,因为P2P的文件共享与语
言共享都是建立在IP协议的基础上的。
e)NAT同时存在对高层协议和安全性的影响问题。RFC2993对NAT存在的问题进行了讨论。NAT的反对者认为这
种临时性的缓解IP地址短缺的方案推迟了IPv6的迁移的进程,而并没有解决深层次问题,他们认为是不可取的。