6.2 IP地址
6.2 IP地址
Internet是由网络互联形成的互联网。 互联在一起的网络要进行通信,会遇到许多问题需要解决,比如不同的网络可能采用了不同的寻址方案。 因此我们可以采用虚拟互联网络来屏蔽本来客观存在的各种物理网络的异构性。 当互联网上的主机进行通信时,主机将看不见互联的各具体的网络异构细节,从而可以就像在一个网络上通信一样。 在计算机的网络层,可把整个因特网看成为一个单一的、抽象的网络。 为了能够让Internet中的计算机之间相互通信,必须采取某种方式唯一地标识每一台计算机,使计算机之间能够识别彼此的身份,IP地址就实现了这一功能。
6.2.1 IP地址的概念
IP地址就是给每个连接在因特网上的主机(或路由器)分配的一个在全世界范围内是唯一的32位的标识符,也就是实际中采用的计算机身份识别的标志。 利用这一地址可与该计算机进行通信,采用32位的IP地址标识符可使Internet容纳约40亿台计算机。
在Internet上,IP地址的编址方法采用分层结构,将32位的IP地址分为由网络地址和主机地址组成的两个部分,用以标识特定主机的位置信息。 表6.1所示为IP地址的划分情况。
表6.1 IP地址划分

在实际应用中,IP地址将32位二进制的数据分为4组,每组8个二进制位,然后将其转换为十进制的形式,每组数字均在0~255范围内,数字间用“.”分隔,这种方法称为“点分十进制记法”。 例如:192.168.1.5,这就是采用点分十进制记法的IP地址。
为了能够让IP地址分配给大小不同的单位,让同一个单位拥有相同的网络号,IP地址通常分为以下5类:
(1)A类
A类地址用于较大规模的网络,其中,IP地址的前8位用来表示网络号,后24位表示网络中的主机号,因此A类网络可容纳计算机的数量达到了16000000台。 我们规定,A类地址最高二进制位的取值一定是0,因此A类地址的网络号为1~126,最多可以有126个A类网络。
(2)B类
B类地址通常用于中等规模的网络,其中IP地址的前16位表示网络号,后16位表示主机号,因此每个B类网络可容纳60000多台计算机。 B类地址前两位的取值一定是10,因此B类地址的网络号为128~191,最多可以有16384个B类网络。
(3)C类
C类地址通常用于规模较小的网络,其IP地址的前24位表示网络号,后8位表示主机号,每个C类网络可容纳254台计算机(主机号全为0和主机号全为1的地址不能使用,有特殊含义)。 C类地址前3位的取值一定是110,因此C类地址的网络号为192~223,最多可以有2097151个网络。
(4)D类
D类IP地址多用于组播,其前4位的取值是1110。
(5)E类
E类地址是保留地址,用于试验,前5位的取值是11110。
表6.2所示为IP地址的5个类别。
表6.2 IP地址的分类

6.2.2 子网掩码
由于Internet规模的扩大,IP地址已经越来越不能满足全球日益增多的网民的需求,迫切需要解决这个问题,子网掩码技术、无分类编址技术和网络地址转换技术等网络技术应运而生。 在此介绍主机中也必须配置的子网掩码和子网掩码技术。
在最早期,IP地址的设计确实不够合理。 首先,将IP地址分为五类,导致分类IP地址的空间利用率有时很低。例如A类网络能够容纳的主机数量达到了16000000台,但是很少有一个单位的主机数量能够达到这个数目,因此将一个A类网络号分配给一个单位将造成这个网络号中IP地址的浪费。 其次,给每一个物理网络分配一个网络号会使路由表变得太大而使网络整体性能变差。 网络中的路由器主要完成存储转发和路由选择功能,因此必须保存每个网络的网络号和下一个要转发的地址,而给每一个物理网络分配一个网络号将使得路由器保存信息的数量庞大,降低其效率。 此外,两级的IP地址在应用中不够灵活,当获得网络号的一个单位想将网络再次细分为更小网络的时候,此时只能再申请一个网络号,而不能有效地利用已有的网络号。
从1985年起,IP地址中又增加了一个“子网号字段”,使两级的IP地址变成为三级的IP地址。 这种做法称为划分子网(subnetting)。 划分子网已成为因特网的正式标准协议。 这样,可以利用划分子网的技术将很大的网络如A类网络划分为若干个小的子网分配给不同的单位,提高IP地址空间的利用率。 同时一个单位在申请了一个网络号后,可以在单位内部进行子网划分,而这种划分不需外界了解。 子网划分中,将原主机地址再次分为子网地址和主机地址。 这样IP地址就由原来的二级结构变为了三级结构,见表6.3。
表6.3 子网划分

在进行了子网划分后,路由器转发分组的时候必须能够将分组转发给目的子网,而不是子网所在的网络。 为了能够完成这一点,在TCP/IP中采用了子网掩码。 子网掩码是用来识别网络上的主机是否在同一个网段或属于哪一个网络的。 在不划分子网的两级IP地址下,数据根据IP地址传递是比较简单的事情,但是把IP地址分为3层,从IP地址得出网络地址就比较麻烦了。 因为在划分子网的情况下,从IP地址不能唯一地得出网络地址,这是因为网络地址取决于该网络所采用的子网掩码。 因此,路由器在转发数据时需要进行IP地址和网络地址的转换,才能够完成数据的传递。
如果已经知道一台计算机的IP地址和其子网掩码,则可以使用这两个数据进行“按位与”运算,此时得到的数据就是主机的网络地址。 例如某台主机的IP地址为192.168.1.5,它的子网掩码为255.255.255.192。 将这两个数据进行“与”运算后,所得出的值中的非0字节部分即为网络地址。 运算步骤如下:
①192.168.1.5的二进制值为11000000.10101000.00000001.00000101。
②255.255.255.192的二进制值为11111111.11111111.11111111.11000000。
③“与”运算后的结果为11000000.10101000.00000001.00000000,转为十进制后即为192.168.1.0。
这就是主机所在的网络地址。 这样当有另一台主机的网络地址也是192.168.1.0时,可以判断这两台主机都在192.168.1.0这一网段内。 此时,当这两台主机传递信息时,路由器会将信息直接发回网内而不经过外网。
在计算机网络中,每一类网络都有默认的子网掩码,其中:
①A类地址的默认子网掩码为255.0.0.0。
②B类地址的默认子网掩码为255.255.0.0。
③C类地址的默认子网掩码为255.255.255.0。
子网掩码技术的使用成功地将一个较大的网络划分为若干个小网络,从而提高了IPv4地址的利用率,在一定程度上解决了IPv4地址紧张的问题。
6.2.3 网关
网关(Gateway)又称网间连接器、协议转换器。 网关在传输层上以实现网络互联,是最复杂的网络互联设备,仅用于两个高层协议不同的网络互联。 网关既可以用于广域网互联,也可以用于局域网互联。网关是一种充当转换重任的计算机系统或设备。 在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。 与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。 同时,网关也可以提供过滤和安全功能。 大多数网关运行在OSi7层协议的顶层——应用层。
6.2.4 域名系统
IP地址能够唯一地标识网络上的计算机,但要让用户记忆这些数字型的IP地址却十分不方便。 为了克服这个缺点,人们用一种能代表一些实际意义的字符型标识,即所谓的域名地址(domain name)来代替IP地址供人们使用。 原则上,IP地址和域名是一一对应的,这份域名地址的信息存放在一个名为域名服务器的主机内,使用者只需了解易记的域名地址,其对应IP地址的转换工作就交给了域名服务器去完成。
域名的表示方式是由标号序列和点组成,各标号之间用点隔开:
….三级域名.二级域名.顶级域名
其中,各标号分别代表不同级别的域名,最右边的部分为顶级域名,最左边的则是这台主机的机器名称。 一般情况下,域名地址可表示为:
主机名.单位名.网络名.顶级域名
顶级域名常用的有两大类:一种是以机构性质命名的顶级域名,另外一种是以国家地区代码命名的顶级域名。 最早的以机构性质命名的顶级域名有:
①.com:公司和企业;
②.net:网络服务机构;
③.org:非营利性组织;
④.edu:美国专用的教育机构;
⑤.gov:美国专用的政府部门;
⑥.mil:美国专用的军事部门;
⑦.int:国际组织。
随着Internet迅速渗透到人们生活的各个方面,越来越多的组织机构希望拥有自己的顶级域名,因此以机构性质命名的顶级域名还在增加中,越来越多的域名被注册,部分新增的顶级域名见表6.4。
表6.4 新增的顶级域名

续表

以国家或地区代码命名的域名,是为世界上每个国家和一些特殊的地区设置的,如中国为cn、中国香港为hk、日本为jp、美国为us等。 表6.5介绍了一些常见的国家或地区的域名。
表6.5 国家级域名
