徐贵宝
摘要:本文从IPv6、Enum和网络互通三个方面对下一代网络地址问题进行了研究。在IPv6方面,讨论了IPv6的邻居发现、地址自动配置以及寻址与路由方法,同时介绍了IPv6试验床;在Enum方面,讨论了Enum的地址解析方法;在网络互通方面,主要讨论了软交换的网络互通功能及其寻址方法。
关键词:下一代网络,地址,IPv6,Enum,网络互通
下一代网络是电信网、计算机网和有线电视网的“三网融合”,它把电信与电视和数据业务结为一体,构成一种全新的网络,提供话音、数据、视频和各种业务。下一代网络的目标是“通过互联互通的电信网、计算机网和电视网等网路资源的无缝融合,构成一个具有统一接入和应用界面的高效率网路,使人类能在任何时间和地点,以一种可以接受的费用和质量,安全的享受多种方式的信息应用”。下一代网络(NGN)在以高带宽和大容量、足够的地址资源为重要特征。电信专家雷震洲指出,“下一代互联网应是一个具有后向兼容性、能与传统网络(PSTN等)互操作与互通、允许平滑演进的网络”。那么,下一代网络的地址问题是如何解决的呢?下面我们从IPv6、Enum和网络互通三个方面对下一代网络的地址问题加以探讨。
一、IPv6
1. IPv6地址概述
为了解决因为互联网迅速发展而带来的IPv4地址枯竭的问题,IPv6被提了出来。IPv6地址长度由IPv4的32位扩展到128位,意味着可以有2的128次方的地址,总数为340,282,366,920,463,374,607,431,768,211,456,这个地址数是足够每人拥有上千个IP地址。
IPv6地址分为四类。一是可聚集全球单点传送(单播)地址,这类地址和带有CIDR的IPv4地址类似。二是链路本地单点传送(单播)地址,这类地址用于每个地址自动配置的链路和邻居发现功能,适用于没有路由器的小型网络。三是站点本地单点传送(单播)地址,这类地址用来替换IPv4中的那些内部地址。四是多点传送(多播)地址,这类地址相当于IPv4中的224.0.0.0的D类地址,主要用于多媒体应用,从一个节点到多个节点进行传送。单点传送地址可以识别单一接口,发送到单点发送地址的数据包被传输到这个识别处的接口。多点传送地址包括任播地址和组播地址,它们都可以识别一系列接口,只是发送到任播地址的数据包被传输到这个地址识别出的最近接口,发送到组播地址的数据包被传输到这个地址识别出的所有接口。IPv4中的广播地址在IPv6中不复存在,而是代之以“所有节点”组播来实现。
对比IPv4,IPv6改进了许多功能,如:单播和组播地址空间扩大、任意广播地址、分层路由的集体寻址等。通过这些改进,IPv6扩大了地址空间,提高了网络的整体吞吐量,使服务质量得到了很大改善,使安全性有了更好的保证,支持即插即用和移动性,并且更好地实现了多播功能。
2. IPv6邻居发现
RFC1970中“IPv6协议邻居发现”给出了网络中节点或主机获知目的节点或目的主机地址的机制。邻居发现机制可用于发现附着在本地链路层上的目的节点的地址,也可以发现推进数据报的中间路由器的地址。这种机制也可确知邻节点是否可达并检测出链路层地址的变化。当传输路由中的传输链路或路由器因故无法工作时,主机可寻找其它替代路由。
IPv6的邻居发现使用路由器请求、路由器宣告、邻居请求、邻居宣告和重定向等5种ICMPv6消息类型来实现如下重要的功能:
·邻居路由器定位。
·发现前缀和与地址配置有关的配置参数。
·自动配置地址来在链路层地址和IPv6地址建立关系。
·确定邻居不再可达到。
·发现重复地址。
IPv6节点通过邻居请求和邻居宣告消息来完成IPv6地址解析为链路层地址的过程。IPv6地址解析过程如下:
·通过多点传送一个邻居请求信息包来请求目的节点返回其链路层地址。
·邻居请求消息多点传送给与目标地址相关的请求节点广播地址。
·从此多点传送地址开始,IPv6用算法计算一个多点传送的链路层地址。
邻居请求消息也在重复地址检测过程中使用,来确定相同的单点传送地址是否分配给了多个节点。此外,邻居请求在邻居不可达性检测过程中使用来检测此节点是否可到达。此过程需要肯定地确认信息包已被节点所接收。当确认信息不是由上层协议产生时,节点发送连接请求消息给目的节点,这必须通过邻居宣告消息来确认其可达性。
3. IPv6地址自动配置
众所周知,对于大型企业网络和ISP来讲,手工配置和管理主机IP地址是一件既费时又乏味的事情,而管理分配给主机的静态IP地址更是一项艰难的任务,尤其当主机IP地址需要经常改动的时候。IPv6协议提供自动配置网络设备的功能,也称为“即插即用”,可自动识别接入网络新的设备并可进行自动配置,即一个主机进行Internet网络登记连接后,位置或配置发生变化时只需进行很少的改动即可进行工作,这样可大幅度降低网络管理者的配置和地址映射管理工作,移动工作者也可方便地在任何地方任何时间内接入到Internet网络。
IPv6通过自动配置功能来完成地址发现、网络信息发现、自动地址修改、移动主机支持和寂灭邻节点发现等任务。在IPv4中,动态主机配置协议(DHCP)实现了主机IP地址及其相关配置的自动设置。一个DHCP服务器拥有一个IP地址池,主机从DHCP服务器租借IP地址并获得有关的配置信息(如缺省网关、DNS服务器等),由此达到自动设置主机IP地址的目的。IPv6继承了IPv4的这种自动配置服务,并称之为有状态自动配置。
除了有状态自动配置,IPv6还采用了一种被称为无状态自动配置的自动配置服务。无状态自动配置过程如下:
(1) 主机通过将它的网卡MAC地址附加在本地链接地址前缀1111111010之后,产生一个本地链接单点广播地址。
(2) 主机向该地址发出一个被称为邻居发现的请求,以验证地址的唯一性。如果请求没有得到响应,则表明主机自我设置的本地链接单点广播地址是唯一的。否则,主机将使用一个随机产生的接口ID组成一个新的链接本地单点广播地址。
(3) 以(2)中获得的地址为源地址,主机向本地链接中所有路由器多点广播一个路由器请求。
(4) 路由器以一个包含一个可聚合全局单点广播地址前缀和其它相关配置信息的路由器公告响应该请求。
(5) 主机用它从路由器得到的全局地址前缀加上自己的接口ID,自动配置全局地址后,就可以与Internet中的其它主机通信了。
使用无状态自动配置,无需手动干预就能够改变网络中所有主机的IP地址。例如,当企业更换了联入Internet的ISP时,将从新ISP处得到一个新的可聚合全局地址前缀,ISP把这个地址前缀从它的路由器上传送到企业路由器上。由于企业路由器将周期性地向本地链接中的所有主机多点广播路由器公告,因此企业网络中所有主机都将通过路由器公告收到新的地址前缀,它们就会自动产生新的IP地址并覆盖旧的IP地址。
4. IPv6寻址和路由
在IPv6中,默认的地址是基于分层网络拓扑结构的可聚类全球单播地址。分层网络拓扑结构的底层是互联网服务提供商,上层是客户网络和它的子网。IPv6主机在同外部互联网通信时可以使用定点地址,当需要在相邻的路由器之间安全地传送路由拓扑信息时,还可以使用局部连接地址。另外,这种地址结构还支持一些如优化的IP层移动或广播服务等的新的服务。IPv6的这种分层地址结构也使路由器可以使用多个可聚类的短路由表,每个路由表中存放适量数目的记录。IPv6及其结构能够在全球骨干网一级满足更大规模的网络结构需求,支持自动配置、移动计算、数据组播和更有效的网络路由聚类。
IPv6用来计算路由表的三种主要协议是RIPv6、OSPFv6和IDRPv2。RIP是一个距离矢量协议。路由表只存储到目的的最佳下一路程段。RIP的主要限制是它允许最大为15个路程段,超过15个路程段的目的地址被认为是不可达的。因此,RIP只能用在小型网络中。OSPFv6是IPv6推荐的IGP协议,允许传送128位地址和相关的前缀长度,是路由器的标准实现,适于大型网络。IDRPv2包括了所有的BGP-4的功能,每个路由器计算到达指定目的的首选路由,并且通过一个路径矢量将它传给IDRP邻接路由器。
IPv6协议采用层次化的路由选择策略.减低了网络路由表的规模.这样可提高骨干路由器的工作效率。IPv6协议包含加密和认证操作.可保证在Internet网络中用户通信的安全性。IPv6协议的最大的优点在于采用自动的IP地址分配的方法支持移动用户的接入,这和现有的IP协议的手工分配地址的方法是不同的。
5. IPv6试验床
为了对IPv6协议特性进行研究并积累IPv6组网经验,IETF于1996年建立了全球范围的试验床,称作6Bone。1999年7月,IANA授权APNIC、ARIN和RIPE分配商用IPv6地址。IPv6试验床的域名解析包括正向域名和反向域名解析两个部分。因此,提供IPv6地址-名字解析服务的域名服务器首先要能够解析IPv6地址的类型(即AAAA类型),同时为IPv6地址的逆向解析提供的反向域(即ip6.int)。
中国教育科研网CERNET于1998年6月加入6bone。1999年以后,很多高校相继组建区域IPv6示范网,并通过CERNETv6示范网与6bone实现相连。在CERNETv6中,对于正向域名来讲,正式使用站点可以向CERNET各级NIC申请域名并用后缀“6”同IPv4网络中使用的域名相区别,学生实验站点可以向所在学校申请域名,试验床指定6test.edu.cn为不能获得IPv6域名解析的学生实验站点提供IPv6域名授权。CERNETv6反向域名从属于ip6.int,由IPv6地址的16进制表示翻转并加后缀ip6.int构成,CERNET试验床已经申请注册了反向域 2.3.e.f.f.3.ip6.int,采用反向域名的体系结构和地址聚类的层次完全一致的原则。
二、 Enum
1. Enum概述
随着芯片技术、软件技术以及计算机通信等技术革命性地突破,Internet已经成为全球最大的、发展速度最快的网络,人们对通信的需求也由单纯的语音变为对数据、图像、语音的综合需求,PSTN网与IP网的融合也就成为必然之选。Enum的目的在于采用业已成熟的DNS技术和体系结构来提供基于电话号码的目录服务,也就是建立一个全球性的查号簿,利用因特网DNS来把E.164电话号码映射为因特网地址或URL清单,使电话号码不仅仅用于VoIP,而且还可以用于其它通信服务,可以说Enum是电话网与IP网走向融合的重要一步。
Enum有两个重要的应用。一是从PSTN上呼叫一个PC终端并确定与这一号码匹配的是哪种类型的终端。二是呼叫的动态路由选择。与Enum协议无缝接入的通信设备,可以用于各种不同的网络(如电路交换网、基于IP的分组交换网等)、不同的号码和不同的地址(这些地址可以通过因特网域名系统用单一的号码映射过来)。例如,包含国家区号的电话号码+86-10-12345678号码,在用于DNS时要将这一号码倒过来并加上尾标识,就会变换成一个后缀名为e164.cn的另一号码8.7.6.5.4.3.2.1.0.1.6.8.e164.cn。当使用Enum协议的时候,用户只须输入电话号码,至于数字的逆转和域名转换,则由相应的软件来完成。
2. Enum地址解析
Enum地址解析分成以下三个步骤:
(1)客户端电话号码Enum解析
就是当用户用特定设备或者程序输入电话号码后,客户端应用程序根据上述电话号码处理方法对其进行Enum解析处理。
Enum 的解析主要属于客户端(Client)端的问题为主,一般我们使用的一些 DNS (resolver)函数或 Socket 目前并没有直接可查询Enum的函数可用,但在resolver中可以使用相应函数查询NAPTR记录,如使用函数res_nmkquery()和res_send()的示例如下:
queryLen=res_mkquery(QUERY,Enum_str,C_IN,T_NAPTR, NULL,0, NULL, buf, sizeof(buf));
errno=0;
responseLen=res_send(buf,queryLen, response,sizeof(response));
if(errno == ECONNREFUSED)
fprintf(stderr,"There is no name server running on %s\n",name_server);
将上述代码稍加修改,就可以得到Enum的解析。需要注意的是,如果出现有递归情形(即转接操作形成了死循环),根据RFC 2916的标准,Resolver处就要定义一个转接次数的常数来跳出死循环。
(2)DNS解析
客户端程序在对电话号码的Enum解析完成后,将处理后产生的字符串发给DNS服务器,进行DNS解析,得到相应的服务资源记录。服务资源记录直接定义了既定电话号码可以提供的服务。服务可以有很多种,例如SIP、Mailto、Ldap等等。
Enum的DNS解析服务是一个全球性的三层体系结构。其顶层是维护E.164中分配的国家码形成的域名映射到相应的国家Enum顶级域名服务器地址的记录,中间层为每个国家内部的Enum顶级DNS服务器,负责管理电话号码域名映射到相应资源记录解析服务器,底层DNS服务器负责真正将电话号码解析到相应的服务记录。这样就保证了全球Enum的DNS解析服务的统一性和互通性,使得Enum真正成为一种全球访问的网络寻址资源。
(3)选择URI
在DNS解析完成后,应用程序根据它自身的要求选择相应的URI,继续执行相应的协议,完成预期的操作。应用程序根据电话号码可以得到所有种类的服务,而采取何种服务进行下一步的操作则是由应用程序自己决定的,比如应用程序支持SIP,它可以根据电话号码获得SIP和mailto两种URI,但是它可以只采用SIP继续它下一步的动作。
三、网络互通
由于下一代网络的建成不可能一蹴而就,因而原有的网络与新网络将在相当长的时间内并存,这就要求新网络必须能够和原有网络互通,所以就需要解决互通地址解析和路由选择的问题。软交换体系结构是面向网络融合的新一代多媒体业务整体解决方案,实现了对目前在各个业务网络(如PSTN/ISDN、PLMN、IN、CATV和Internet等)之间进行的互通,其中包括E.164地址到IP地址的转换、别名地址至IP地址的转换和地址的重定向等功能。
1. 软交换的网络互通功能
软交换在网络互通方面主要有以下功能:
·媒体网关接入功能。软交换可以连接各种媒体网关,如PSTN/ISDN IP中继媒体网关、ATM媒体网关、用户媒体网关、无线媒体网关、数据媒体网关等,完成H.248协议功能,同时它还可以直接与H.323终端和SIP客户端终端进行连接。软交换与媒体网关之间通过MGCP/H.248通信,提供电信级、7号信令端到端的大规模VoIP/ATM呼叫。由于媒体网关同时具备VoIP网关和RAS两种功能,在软交换的控制下,使得全网MG能被统一管理,并能提供电信级拨号接入,利用L2TP支持多ISP方案。
·业务提供功能。软交换能够提供PSTN/ISDN交换机提供的全部业务(包括基本业务和补充业务),同时还可以与现有智能网配合提供现有智能网提供的业务。软交换呼叫控制功能独立于底层承载协议,完成基本呼叫的建立、维持和释放提供控制功能,包括呼叫处理、连接控制、智能呼叫触发检出和资源控制等,可以说是整个网络的灵魂。软交换还可以提供可编程的、逻辑化控制的开放Parlay API协议,向用户提供第三方业务,同时还可以提供多媒体和移动业务以及传统电话网所不能提供的业务,这也是软交换网络的最大特色。
·互连互通功能。软交换网络可以面向其他网络提供SS7、INAP、H.323、SIP等多种协议,实现NGN和PSTN、IN、H.323、SIP等网络的通信。下一代本地交换系统可以提供数据终端与PSTN网电信级互联互通,支持对个人用户(IP Phone/PC)、企业用户(IP PBX)以及不同网络(H.323/SIP)的接入。
2. 软交换的寻址
在软交换网络体系结构中,其呼叫寻址可以通过以下几种方式达到本网以外用户:
·通过本软交换网络控制的TG、SG等设备上PSTN、PLMN网,依赖庞大的现有电路交换网络到达被叫(PSTN、PLMN)用户。
·直接在数据网上定位被叫用户所受控的软交换网络,向该软交换网络发起呼叫,完成呼叫,这种寻址方式能定位到被叫软交换网络内PSTN、PLMN用户同时也可到达被叫软交换网络控制的数据网智能语言终端、IAD等用户。
在软交换网络中,路由服务器在网络互通方面扮演着重要的角色。虽然路由服务器的功能和性能会由于厂家的不同而存在一定差异,但是它们都有如下的共同特征:
·支持一种或多种协议信令完成路由服务器本身之间的信息互换;
·支持一种或多种协议方式接受路由查询申请(目前一般采用LDAP协议);
·支持基于E.164、IP地址、URI等等的路由信息;
·支持类似电路交换网络中的交换局分层概念,基本可以划分片区路由服务器、主干路由服务器、国家级路由服务器等层次;
·接受按照规范的协议接口经过认证接受所服务的路由服务器发起的查询申请;
·对于收到的查询不属于本路由服务器范畴的请求,可以按照预先配置数据向其他路由服务器发起协查请求或者将请求发向上级路由服务器;各级路由服务器均可以具备汇接查询功能;
四、结论
下一代网络地址问题涉及到IPv6、Enum和网络互通等几个方面。IPv6是下一代网络的基础,它为下一代网络提供了充足的地址空间;Enum技术使网络资源最大的PSTN网络与IP网络之间的融合迈出了重要一步;软交换技术时下一代网络的核心,解决了域间互通和网间互通的地址解析和路由问题,软交换体系结构是面向网络融合的下一代网络整体解决方案,在继承的基础上实现了对目前在各个业务网络之间网络与业务的融合,是下一代网络发展的必然趋势。不论从哪一方面来讲,从IPv6、Enum和网络互通等方面,都还有很多的问题需要做进一步的研究。
摘自 泰尔网
|