购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.7 因特网地址

因特网地址又称IP地址。它能唯一确定因特网上每台计算机、每个终端用户的位置。IP地址的结构和电话号码的等级结构有相似之处,但并不完全一样。固定电话机的地区号和电话机号按该电话机的地理位置确定。IP地址与主机的地理位置没有这种对应关系。现行的IP地址是20世纪70年代末期设计的Internet协议第4版,故称为IPv4。

IPv4地址是一种32bit的分级地址结构,分为网络地址(NetID)和主机地址(HostID)两个分级。

IPv4地址管理方法:IP地址管理机构只分配网络地址(第一级),确定主机所在的网络位置,全球统一。主机地址(第二级)确定主机所在网络上的位置,由得到该网络地址的单位自行分配,不需全球统一。

路由器只根据目的主机连接的网络地址转发分组,而不考虑目的主机地址,这样可以减少路由表占用的存储空间。

3.7.1 IPv4地址的分类和结构

IP地址分成A、B、C、D、E共5类,如图3-52所示。

图3-52 IPv4地址的分类和结构

1.A类地址

在32bit(4B)的分级地址结构中,A类网络标识地址号占有1B(8bit),其中的1bit作A类地址的标识,其他7bit为网络号网络标识地址,可提供2 7 -2=126个网络地址。

32bit中的其余3个字节(24bit)是主机标识地址。每个A类地址网络上可设置2 24 -2=16777214个主机号。

A类地址的特点是:网络地址数不多(仅126个),主机号数多(1677万个主机地址)。用于分配给主机数量多、网络数量少的大规模国际互联网。现今A类地址的网络号资源已全部用完了。

2.B类地址

B类地址域在32bit中占有2B(16bit),其中2bit作为表示B类地址的标识。后面14bit可提供2 14 =16384个网络地址号数。

其余2B(16bit)是主机地址号。每个B类网络上可设置2 16 -2=65534个主机地址号。

B类地址的特点是:主机地址号数(6.55万)多于网络地址号数(1.63万)。用于网络数量和主机数量都很多的城域网络。

3.C类地址

C类地址域在32bit中,网络地址标识号占有3B(24bit)。其中前面的3bit表示是C类地址。后面21bit为C类的网络地址,可提供2 21 =2097152个网络地址号(210万个网络地址)。

其余1个字节(8bit)是主机地址号,因此在C类地址的每个网络上的最大主机数为(2 8 -2)=254个。

C类地址的特点是:网络地址号极多(210万个),主机地址号不多(254个)。用于网络数量大而规模小、主机少的局域网络。

4.D类地址

D类是多播地址,留给国际互联网体系结构委员会(IAB)使用。

5.E类地址

E类地址是保留使用地址。

表3-4是IPv4(32bit)地址分配表;图3-53是各类IPv4地址统计。

表3-4 IPv4(32bit)地址分配表

3.7.2 IPv4地址的点分十进制记法

IPv4的32bit的二进制分级地址代码非常冗长、难记,可读性差、容易写错,于是就产生了“点分十进制记法”。把32bit按每8bit为一组,组成4个8bit二进制数据组,然后再把二进制数据组变换为4个十进制数据组,用“·”分开,如图3-54所示。

图3-53 各类IPv4地址统计

图3-54 IPv4地址的点分十进制记法

显然点分十进制记法128.11.3.31比二进制分组记法10000000 00001011 00000011 00011111读起来要方便得多。

3.7.3 因特网的域名系统

因特网上各主机通信时,很难记忆和操作长达32位二进制的主机地址。即使是点分十进制的IP地址也不容易记忆。希望能直接使用容易记忆和便于操作的主机名字。于是就有了把域名翻译成IP地址的软件,并称为域名系统(Domain Name System,DNS)。

域名好比通讯录里的姓名和电话号码。打电话、发短信时,可以直接选择姓名,而不用输入对方的电话号码。但事实上,姓名只是电话号码的一个代号。有了域名,当用户要和互联网某台计算机交换信息时,只需使用域名,网络会自动转换成IP地址,找到该台计算机,从而保障数据通信方便顺利地执行。

1.域名的结构

域名是一个逻辑概念,不必与物理地址相一致,域名的结构包括顶级域名(国家)、二级域名(行政区域或部门)、三级域名(企事业单位名)、注册域名(通信主机名)。完整的域名最多不超过255个英文字母和数字。

各级域名之间用点隔开,每一级由英文字母和数字组成,级别最高的顶级域名写在最右边(最后面)。级别最低的域名写在最左边(排序与中文习惯相反)。

例如,中国清华大学计算机科学与技术系的域名为“cs.tsinghua.edu.cn”,其中cn代表中国,edu表示教育部门,tsinghua表示清华大学,cs表示计算机科学与技术系。域名中的最末部分通常都表示国家,最左部分代表该台计算机的名字。

(1)顶级域名:国家级域名。

例如:cn表示中国,us表示美国,uk表示英国……

(2)二级域名:各国自行确定。我国把二级域名划分为“类别域名”和“行政区域名”两类。

类别域名:ac表示科研机构,com表示工商和金融企业,edu表示教育机构,gov表示政府部门,net表示互联网络,NIC表示接入网络的信息中心和运行中心(NOC),org表示各种非营利性组织。

行政区域名:共34个,用于我国各省、自治区、直辖市。

例如:bj为北京市,sh为上海市,js为江苏省等。

(3)三级域名:企业名称。可向中国互联网网络中心CNNIC申请。

2.域名系统

域名系统是采用域名服务器把主机名字和IP地址对应起来的一个庞大数据库。图3-55是域名系统服务器的树形布局。

图3-55 域名系统服务器的树形布局

由美国建立的IPv4体系的根服务器全球共13台(1台主根+12台辅根服务器),唯一的1台主根服务器部署在美国,其余12台辅根服务器设在美国9台,欧洲2台,日本1台。

我国从30多年前就寻求向美国申请1台辅助根服务器,但美国以种种借口拒绝。最令人气愤的是,美国拿出的分配方案是:中国只拥有5%的网络地址,理论上如果有一天美国突然屏蔽中国互联网的域名和网络地址,那么中国网民将会无法访问,整个互联网会在瞬间瘫痪。

每一个域名服务器不但能够进行域名到IP地址的转换,还必须具有连向其他域名服务器的信息。当自己不能进行域名到IP地址的转换时,它能够知道到什么地方去找其他的域名服务器。

因特网上的域名服务器系统是按照域名的层次来安排的。每一个域名服务器都只对域名系统中的一部分进行管辖。共有三种不同类型的域名服务器。

(1)本地域名服务器(Local Name Server)。每个因特网接入服务商(Internet Service Provider,ISP)、一个大学或大学里一个系,都可拥有一个本地域名服务器,有时也称默认域名服务器。本地域名服务器离用户较近,一般不超过几个路由器的距离。如果需要查询的主机也属于同一个本地ISP时,则本地域名服务器立即就能将查询的主机名转换为它的IP地址,而不需要去询问其他的域名服务器。

(2)根域名服务器(Root Name Server)。当本地域名服务器不能立即回答某主机的查询时,本地域名服务器就以DNS域名系统客户的身份向某一个根域名服务器查询,如果根域名服务器具有被查询主机的信息,就把DNS回答的报文发送给本地域名服务器,然后本地域名服务器再回答发起查询的主机。如果根域名服务器没有被查询主机的信息,它就一定知道某个保存被查询主机映射的授权域名服务器的IP地址。

根域名服务器通常用来管辖顶级域的域名转换,而不直接对顶级域下面所属的域名进行转换,它能够找到下面所有的二级域名服务器。

(3)授权域名服务器(Authoritative Name Server)。每个主机都必须在授权域名服务器处注册登记。通常一个主机的授权域名服务器就是它的本地的接入服务商ISP的一个域名服务器。为了更加可靠地工作,一个主机最好至少有两个以上的授权服务器。

许多域名服务器同时充当本地域名服务器和授权域名服务器。

3.子网划分

IP4地址体系中32bit长度的IP地址分为网络标识地址(NetID)和主机或路由标识地址(HostID)两部分。在传送数据时,首先利用第一部分网络标识(NetID)找到互联网络中对应的网络,然后再根据第二部分主机标识地址(HostID)找到该网络上的目的主机。也就是说,A、B、C三类的地址结构都是两级层次结构。现在看来,IP地址的两级层次结构设计确实还有不够合理之处,例如:

(1)IP地址空间的利用率有时很低。每个A类地址网络可连接的主机数超过1000万。每个B类地址网络可连接的主机数也可超过6万。然而有些网络对连接在网络上的计算机数目有限制,不可能达到如此大的数量。如10BASE-T以太网规定其最大节点数只有1024个,使用B类地址时,就会浪费6万多个IP地址,地址空间的利用率还不到2%,造成IP地址的浪费,使IP地址资源更早地被用光。

(2)如果在同一个网络上安装大量主机,就有可能会发生网络拥塞,会影响网络的传输性能。

(3)每一个物理网络分配一个IP网络号会使路由表变得太大,使网络性能变坏。

(4)无法随时增加本单位的网络,因为本单位必须事先到因特网管理机构中去申请并获得批准后,才能连接到因特网上工作。

为此,从1985年起,把两级层次的IP地址网络变成为三级层次的IP(地址)网络。这种做法叫作子网划分(Subneting)或子网寻址、子网路由选择,并已成为因特网的标准协议。

子网划分是将一个网络进一步划分成若干个子网络(Subnet)。划分子网纯属单位内部的事情,与本单位以外的网络无关,对外仍然表现为一个大网络。

子网划分的方法是从网络的主机地址号中借用若干比特作为子网地址号(SubnetID),而主机地址号也就相应减少了若干比特。于是两级的IP地址在本单位内部的网络中变成三级IP地址,即网络地址号(NetID)、子网地址号(SubnetID)和主机地址号(HostID)。

凡从其他网络发送给本单位网络中某个主机的数据包,仍然是根据IP数据包的目的网络地址号找到连接在本单位网络上的路由器,此路由器在收到IP数据包后,再按目的网络地址号和子网地址号找到目的子网,将IP数据包交付给目的主机。

图3-56是将一个网络划分成3个子网的例子:IP数据包的目的主机地址是B类地址:144.14.2.21,因特网仍将该数据包送到路由器R 1 ,路由器R 1 将该目的地址进行解释,知道144.14这个网络在物理上已分成3个子网。根据IP地址中的后两个字节分别确定子网标识地址为2和主机标识地址为21。这样就将IP地址改变为3级层次结构,第1级是网路标识地址144.14,确定网络;第2级是子网标识地址2,确定子网;第3级是主机标识地址21,确定在该子网上的主机。

4.子网掩码

当没有划分子网时,IP地址是两级结构,网络地址字段是IP地址的“因特网部分”,主机地址字段是IP地址的“本地部分”,如图3-57a所示。

划分子网后就成了三级IP地址结构,子网只是将IP地址的本地部分进行再划分,而不改变IP地址的因特网部分,如图3-57b所示。

但是如何能让计算机知道有无子网划分呢?这就需要使用另一个长度也是32bit的子网掩码(Mask Code)来解决这个问题。子网掩码和IP地址一样长,都是32bit,它由一串“1”和跟随的一串“0”组成。

图3-56 具有3级层次结构的网络

子网掩码中的“1”表示与IP地址中的网络地址号和子网相对应的部分。子网掩码中的“0”表示与IP地址中的主机号相对应的部分,如图3-57c所示。

在IP地址划分子网的情况下,把子网掩码和划分子网的IP地址进行逐个比特相“与”(AND),便可得出主机号为全“0”的子网划分的网络地址,即<Netid>+<Subnetid>+全“0”的<Hosted>,如图3-57d所示。

如果IP数据包地址为不划分子网的地址,那么子网掩码和不划分子网的IP地址进行逐个比特相“与”(AND)的结果为图3-57e所示的网络地址<Netid>+全“0”的<Hosted>。

图3-57 IP地址的各字段和子网掩码

a)两级IP地址 b)三级IP地址 c)子网掩码 d)划分子网时的网络地址 e)不划分子网时的网络地址

这种不管有无子网都适用的子网掩码称为默认的子网掩码。显然:

A类地址的默认子网掩码是255.0.0.0,或0XFF000000。

B类地址的默认子网掩码是255.255.0.0,或0XFFFF0000。

C类地址的默认子网掩码是255.255.255.0,或0XFFFFFF00。

表3-5是B类地址的子网划分选择。可以看出,若适用较少比特数的子网地址号,则每个子网上可连接的主机数量较大。反之,使用较多比特数的子网地址号,则子网的数据可以较多,但每个子网上可连接的主机数量较少。可根据网络的具体情况来选择合适的子网掩码。

表3-5 B类地址的子网划分选择(使用固定长度子网)

5.IP多播的基本概念

IP多播(Multicast)又称组播,即一对多的通信,现已成为因特网的一个热门课题,广泛用于交互式会议、软件升级和信息交付(如新闻、股市等)。局域网的多播是用硬件实现的。

在因特网上向多个站发送同样的数据包可以有两种方法:一种是采用单播方式,每次向一个目的站发送数据包,然后连续向各目的站进行多次发送;另一种是采用图3-58中的路由器进行复制转发,主机X在进行多播时只要发送一个数据包,到了路由器R 2 才进行数据包复制,然后到了R 6 再复制一次。也就是说,多播数据包仅在传送路径分岔时才将数据包复制后继续转发。能够运行多播协议的路由器称为多播路由器(Multicast Router)。

图3-58 采用多播路由器的多播系统

在因特网上进行多播称为IP多播。最常用的IP多播方式为以下两种:

(1)使用组地址多播。IP使用D类地址支持多播。D类IP地址的前缀是1110,因此地址的范围是224.0.0.0到239.255.255.255。每个D类地址标识一组主机。D类地址可用来标识有28bit的各个主机组(Host Group),因此可标识2 28 个多播组(超过2亿5千万个多播组)。显然,多播地址只能用于目的地址,而不能用于源地址。

(2)使用硬件进行多播。因特网是由许多网络互联起来的,其中有些是以太网,这些以太网本身就具有硬件多播能力,因此当多播数据包传送到这些以太网时,以太网就利用硬件进行多播,交付给属于该组成员的主机。以太网硬件地址字段中的第一个字节为0X01时则为多播地址。

因特网号码指派管理局IANA拥有的以太网地址块的最高位为24bit(0X00005E),也就是说,整个以太网硬件的地址范围为0X00005E 000000~0X00005E FFFFFF。IANA用其中的一半作为多播地址,因此,以太网多播地址的范围是0X00005E 000000~0X00005E 7FFFFF。这样,以太网中只有23bit可用作多播地址。而D类IP地址可供分配的有28bit,可见在这28bit的前5个bit不能用来构成以太网硬件地址,如图3-59所示。

图3-59 D类IP地址与以太网地址的映射关系

3.7.4 因特网地址空间的扩展——IPv6

IPv4的核心技术属于美国,从理论上讲,五类地址中每种类型可能的IP地址有43亿个(2 32 =4294967296),其中北美占有3/4,约30亿个,而人口最多的亚洲只有不到4亿个,中国只有3千多万个,只相当于美国麻省理工学院的数量。地址不足,严重地制约了我国及其他国家互联网的应用和发展。

IPv4的设计比较完善,但随着因特网用户的飞速增加,32bit的IP地址空间已难以满足日益增加的需要。除了地址空间需要扩展外,还有增加的各种新的应用要求,例如实时话音和图像通信要求低的延时和安全通信保障等,要求新版因特网协议能为特定应用预留资源。人工智能、大数据、云计算、物联网这一切基础设施有了IPv6,才能构建我们的下一个新时代。IPv6在全球开始普及已成为必然。

为此,美国因特网工程特别工作组在1992年6月提出要制定下一代IP协议版本,即IPv6。1998年12月,美国因特网工程特别工作组发表了IPv6互联网协议第六版的草案标准,准备替代IPv4。

1.IPv6的特点

IPv6保持了IPv4许多成功的优点,并对IPv4协议的细节也作了许多修改:

(1)更大的地址空间:理论上,IPv4最多提供约43亿个IP地址,而IPv6则可以提供2 128 ≈340万亿个IP地址。如果整个地球表面(包括陆地和水面)都覆盖着计算机,那么IPv6可给予每平方米7×10 23 个IP地址。如果地址的分配速率为每微秒分配100万个,那么需要10 19 年的时间才能将这些IP地址分配完毕。因此,IPv6的IP地址是不可能用完的。

(2)灵活的包头格式:IPv6使用一种全新的、可任选的扩展包头格式,提高了路由器的处理效率。

(3)增加选项,提供新的应用功能:增加了任播(Any Cast)功能。

(4)支持资源分配:提供实时话音和图像传输要求的带宽和小延时。

(5)支持协议扩展,允许新增特性,满足未来发展。

2.采用十六进制数和冒号(:)分隔的128bit地址

IPv6采用128bit的地址,是IPv4地址长度的4倍。对于如此巨大的地址空间,显然,用二进制表示是不可取的,而十六进制可以比十进制用更少的数位来表达数据。

十进制数据:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

十六进制数据:0 1 2 3 4 5 6 7 8 9 A B C D E F

采用冒号(:)分隔的十六进制的表示方法。即把128bit分成8个16bit数据组,用十六进制来表示16bit数据最为方便。优点是:只需更少的数字和更少的分隔符。

8个16bit的十六进制数据组之间用冒号将其分隔,例如:68E6:8C64:FFFF:FFFF:0:1180:96A:FFFF。

3.如何从IPv4向IPv6过渡

要解决IPv4向IPv6的过渡不是一件容易的事情。因为现在整个因特网上使用的IPv4路由器的数量实在太大,要在短时间内全部改成IPv6路由器显然是不可能的,此外,各通信主机的Windows操作系统也要全部更换为IPv6操作系统。因此只能采用逐步演进的办法。我国计划在4~6年时间内,将原来的IPv4网络改造成IPv6网络。

中国下一代互联网工程中心抓住了全球实施IPv6这个历史机遇,在2013年,联合国际互联网母根(M根)运营者(WIDE机构)、互联网域名工程中心(ZDNS)等国际机构,领衔共同发起创立“雪人计划”,提出以IPv6为基础、面向新兴应用、自主可控的一整套根服务器解决方案和技术体系。“雪人计划”打破了根服务器困局,使全球互联网有望实现多边共治。

我国“下一代互联网工程中心”担任“雪人计划”首任执行主席,并面向全球招募25个根服务器运营志愿单位,在与现有IPv4根服务器体系架构兼容基础上,对IPv6根服务器的运营、域名系统、安全扩展、密钥签名和密钥轮转等方面进行测试验证。

2016年“雪人计划”在中国、美国、日本、印度、俄罗斯、德国、法国、英国等全球16个国家已完成了25台IPv6根服务器架设,其中1台主根服务器和3台辅根服务器部署在中国,全球形成了原有的13台IPv4根服务器加25台IPv6根服务器的新格局,为建立多边、民主、透明的国际互联网治理体系打下了坚实基础。

至此,即使在少数极端情况下(比如全球互联网出现大面积瘫痪,或者中国互联网国际出口堵塞),虽然国外的用户连接到我国的网络会出现问题,但至少还能保证国内的站点由国内的域名服务器来解析,保证国内网络正常使用。

在过渡时期,为了保证IPv4和IPv6能够共存、互通,发明了一些IPv4/IPv6的互通技术。从IPv4向IPv6过渡的策略有两种:

(1)双协议栈的通信主机。如果一台主机同时支持IPv6和IPv4两种协议,那么该主机既能与支持IPv4协议的主机通信,又能与支持IPv6协议的主机通信,

(2)隧道技术。通过IPv4协议的骨干网络(即隧道)将各个局部的IPv6网络连接起来,是IPv4向IPv6过渡的初期最易于采用的技术。

路由器将IPv6的数据分组封装入IPv4,IPv4分组的源地址和目的地址分别是隧道入口和出口的IPv4地址。在隧道的出口处,再将IPv6分组取出转发给目的站点。隧道技术只要求在隧道的入口和出口处进行修改,对其他部分没有要求,因而非常容易实现。但是隧道技术不能实现IPv4主机与IPv6主机的直接通信。

(3)网络地址/协议转换技术

网络地址/协议转换技术(Network Address Translation-Protocol Translation,NAT-PT)通过与SIIT协议转换和传统的IPv4下的动态地址翻译以及适当地与应用层网关相结合,可以实现IPv6的主机和IPv4主机的大部分应用都能互通。

上述技术很大程度上依赖于从支持IPv4的互联网到支持IPv6的互联网的转换,我们期待IPv4和IPv6可在这一转换过程中互相兼容。 O4qdqhb7uW4PfJ5ioWEEpTqjgIe/k56NyAKHaf1AvB28SmYouiToswFX0RTKZJam

点击中间区域
呼出菜单
上一章
目录
下一章
×