一种IPv4网络接入层次式交换网络的方法

文档序号:7906545阅读:666来源:国知局
专利名称:一种IPv4网络接入层次式交换网络的方法
技术领域
本发明涉及中国专利申请03120998.X层次式交换网络(Hierarchically SwitchedNetwork,以下简称HSNet)的数据包封装方法,特别的是一种IPv4网络接入HSNet时数据包的处理方法。
随着Internet的成功,其上承载的业务种类越来越多,要求的服务质量(Quality ofService,简称QoS)也变得多种多样。Internet的一些基本原则与用户的服务质量要求产生了较大的矛盾。为了解决Internet面临的问题,已经有些方案被提了出来。如针对保证服务质量提出的集成服务/资源预留(Integrated Services/Resource ReservationProtocol,简称IntServ/RSVP)、区分服务(Differentiated Services,简称DiffServ)、多协议标记交换(Multi-Protocol Label Switching,简称MPLS)等。但这些方案的引入使得Internet越来越复杂,而且不一定能够保证服务质量,其根本原因在于网络拓扑结构与IP地址的分离。因此,Internet的体系结构需要改变以适应应用环境的变化和新的要求。HSNet(见图1)利用树型拓扑结构与地址层次结构严格匹配的方法取消传统的路由操作,即层次式交换网络的地址不仅具有命名功能,还有定位功能。层次式交换网络地址的命名功能用来标识网络中的主机,定位功能用来指明主机在网络中的位置。
图1为层次式交换网络拓扑结构示意图。图1中的HSNet被划分成四个层次(关于层次的划分、节点域、逻辑链路、边缘端口、交换字段的概念、层次式交换网络主机等的编址方式等内容可以参见中国专利申请03120998.X。其中(A)是运行IPv4的网络(如Internet);(B)是隧道配制服务器,在本例中与HSNet的根节点域相连,隧道配置服务器也可以设置在其它节点域相连;(D1)是节点域,是HSNet的根域;(D11)、(D12)、(D111)、(D112)、(D121)、(D111)、(D1121)、(D1122)、(D1211)都是节点域;(ANi)是接入网i(i=1,2,3,4,5,6),接入网可以是运行IPv4的网络,也可以是运行IPv6的网络;(L11)是节点域(D1)的下行逻辑链路1;(L128)是节点域(D1)的下行逻辑链路28;(L12)是节点域(D1)的下行逻辑链路2;(L111)是节点域(D11)的下行逻辑链路1;(L121)是节点域(D12)的下行逻辑链路1;(L111)是节点域(D111)的下行逻辑链路1;(L1211)是节点域(D121)的下行逻辑链路1;(L11111)是节点域(D1111)的下行逻辑链路1;(L11211)是节点域(D1121)的下行逻辑链路1;(L11221)是节点域(D1122)的下行逻辑链路1;(L12111)是节点域(D1211)的下行逻辑链路1;(L12112)是节点域(D1211)的下行逻辑链路2。
图2是节点域的结构与组成示意图,所示节点域为图1中的(D1211)。其中(Lup)是节点域的上行逻辑链路,对于非根节点域的上行逻辑链路,即是其父域的某一下行逻辑链路,(Lup)就是图1中的逻辑链路(L1211);(L12111)是节点域(D1211)的下行逻辑链路1;(L12112)是节点域(D1211)的下行逻辑链路2;(S1)、(S2)、(S3)、(S4)分别为节点域中的交换机1、2、3、4。
HSNet的部署与当前IPv4网络向IPv6网络的过渡有相同点。IPv6的提出在基本消除了IPv4地址日益耗尽问题的同时,也带来了如何以合理的代价将现有IPv4网络向IPv6迁移、过渡的问题。IPv4到IPv6的过渡是一个非常复杂的过程,它影响了网络从链路层到应用层多个层面的操作。虽然HSNet采用的体系结构与IPv6不同,但也面临如何兼容现有大量IPv4网络的问题。
IPv4向IPv6的过渡过程大致可分为两个阶段。第一阶段即过渡的初期,此时IPv4节点、服务和路由设施等占网络资源的绝大部分,在这个阶段两者之间的兼容主要是指要保证少量的IPv6节点可以使用大量现存的IPv4网络资源,包括通过IPv4路由设施实现IPv6孤岛之间的通信联系和IPv6主机访问基于IPv4的服务等;第二个阶段是IPv6的节点、服务和路由设施占网络资源的大部分,这个阶段则主要需要保证少量的IPv4节点之间可以使用IPv6路由设施实现互连和IPv4节点访问基于IPv6的服务。
R.Gilligan、E.Nordmark的“Transition Mechanisms for IPv6 Hosts and Routers”(RFC2398,2000年8月)揭示了运行IPv6的节点利用现有IPv4网络来实现相互通信的基本机制和方法,其中包括双协议栈(Dual IP Layer)、配置隧道(ConfiguredTunneling of IPv6-over-IPv4)、和自动隧道(Automatic Tunneling of IPv6-over-IPv4)。其中双协议栈方法通过在节点同时实现IPv4和IPv6两种协议来达到两种协议的完全兼容;配置隧道和自动隧道通过将IPv6数据包封装进IPv4数据包中(称为隧道技术)来穿越IPv4网络,实现IPv6节点之间的通信连接。B.Carpenter、K.Moore在“Connection of IPv6 Domain via IPv4 Clouds”(RFC3056,2001年2月)中提出了一种无需显式建立隧道而通过IPv4网络实现IPv6站点之间互连的方法,称为6to4机制。
以上方法中,双协议栈是两种网络协议兼容最直接、有效的方法,其最大问题是需要使用两种全局地址(IPv6和IPv4地址)。随着IPv4地址的日渐紧缺,为网络节点配置两个全局地址的方案很难实现。隧道技术是目前IPv4向IPv6过渡过程初期中的常用方法。如6Bone(http//www.6bone.net)就采用了这种技术,把运行IPv6的网络设备和主机通过IPv4网络设施连接起来。实现隧道的方法很多,如手工配置隧道、自动配置隧道等。但在IPv4网络上为IPv6配置和管理隧道都是比较繁琐的过程,特别是在隧道数目增加到一定程度时。自动隧道和6to4有些类似,都可以自动地建立隧道,但它们实现隧道的自动建立需要有一个前提条件,即需要具有特殊格式的地址如自动隧道方法要求隧道末端的IPv6地址是兼容IPv4地址格式的(IPv4-Compatible-IPv6 Address);6to4方法中则要求6to4节点具有以2002∷/16为前缀的地址格式。同时,6to4方法所需的中继路由器(Relay Router)存在一定的安全问题,无法在灵活地实现隧道的同时消除IP地址欺骗现象。
HSNet的部署也需分阶段逐步进行。与IPv6网络的部署不同,HSNet在初期只是个骨干网,功能是透明地把从一个用户接入网进入HSNet的数据包(IPv4或IPv6格式)原封不动地送到另一个用户接入网。因此,在HSNet部署的初期无须IPv4-IPv6转换的功能。如果接入网运行的是IPv4,则进入HSNet边缘端口(边缘端口的定义见中国专利申请03120998.X)的IPv4数据包的4字节目的地址无法被HSNet交换机按层次地址解释,可以通过采用透明隧道的方法对IPv4数据进行封装;如果用户接入网运行的是IPv6,由于HSNet内部传输的数据包为IPv6格式,因此无需作任何特殊处理便可将数据包送到目的主机所在的网络。HSNet中的隧道方法与目前的IPv6 Over IPv4或IPv4 Over IPv6的隧道不同第一,HSNet的隧道不是固定地在预先知道的两点或多点之间开通,因而不可能事先配置好所有的隧道参数,这是因为一个IPv4接入网主机的通信对象可能是HSNet任意一个IPv4接入网的主机,也可能是世界上的任意一个IPv4网络;第二,HSNet的隧道只存在于HSNet内部,因此不需要IPv4接入网的用户或管理员参与任何工作。这两个特点同时决定了HSNet传输IPv4包时建立隧道的过程不可能由人工完成,而只能由HSNet自动地完成。
综上两种情况,HSNet的初期部署只涉及用户网络的接入,只是透明地将用户接入网进入的数据包通过HSNet转发到另一个用户接入网,即可以将HSNet看作是一个隧道。同时,HSNet的部署与IPv6网络的部署不同,它不涉及IPv4-IPv6地址的转换。
本发明的具体技术方案如下本发明通过在HSNet的边缘端口对用户数据包进行封装,使其透明地通过HSNet到达目的用户网络,进而到达目的主机。另外为了透明地传输用户数据包,本发明在HSNet中引入隧道配置服务器来实现隧道末端地址的自动获取,从而支持隧道的自动建立和管理。下面对HSNet封装用IPv6报头格式、IPv4数据包的封装过程、隧道配置服务器和边缘端口本地缓存的情况、以及如何自动建立隧道并且对IPv4数据包进行封装或拆装的技术方案分别进行说明。HSNet封装用IPv6报头格式HSNet赖以交换的地址是IPv6格式的地址,因此HSNet在传输IPv4包时,需用IPv6报头对数据包进行封装。HSNet对IPv4包进行封装,只是利用封装报头将数据包送到目的边缘端口并且提供必要的优先级和安全支持,所以封装所用的IPv6报头格式与IPv6报头并不严格相同。只需要源地址、目的地址、表明本数据包是封装包还是真正IPv6包的标志、以及可用于QoS控制、流量工程、虚拟专用网(Virtual PrivateNetwork,简称VPN)、网络安全等有关的字段外,其余部分可以省略。另外,HSNet的各级交换机只对IPv6包进行交换和转发,只用到其基本报头,并不处理扩展报头,因此封装的部分只涉及基本报头。IPv6基本包头格式见图3,到达HSNet的IPv4数据包在到达边缘端口时,边缘端口负责使用这种报头格式对其进行封装。其中(301)Version是4位的版本号,可以为4或6。通过这个字段的不同取值使得HSNet交换机可以将纯IPv6数据包和封装了IPv4数据包的IPv6数据包区别开来;(302)Traffic Class是8位的通信流类型,用于区分服务的QoS控制;(303)Flow Label是20位的流标号,用于标记交换;(304)Payload Length是16位的有效载荷长度。最大可以表示65535,单位为字节。
有效载荷表示除40字节的定长基本报头之外数据的长度;(305)Next Header是8位的下一报头地址。由于HSNet中传输的是只有基本报头的IPv6格式数据包,所以此字段一般不用,被置为0;(306)Hop Limit是16位的跳数限制字段。由于HSNet采用树型结构,在HSNet中不会产生回路,因此不必用跳数限制来丢弃长期游荡在网络中的无用包,所以这个字段置为0;(307)Source Address是128位的源地址;(308)Destination Address是128位的目的地址。IPv4数据包的封装进入HSNet的IPv4数据包需要在边缘端口进行封装,封装时以图3所示的IPv6格式作为封装报头。图3中用括号扩起来的字段可以不用,即设置为全0。利用基本报头封装IPv4数据包时,头部各字段按下述方式进行填充。
Version此字段填写4,表示这是一个封装了IPv4包的封装报头,目的是将封装的IPv4包与标准的IPv6数据包加以区别。因为凡在HSNet骨干网络中传输的数据包或控制包,只有纯IPv6格式和封装为IPv6的IPv4格式两种类型。
Traffic Class将IPv4数据包中服务类型TOS(Type of Service)字段的信息复制过来,作QoS控制用。如果此值不为0,由于IPv4的TOS与IPv6的通信流类型一样,并且都是8位,HSNet交换机可以按照IPv4中TOS字段各位的含义来控制数据包在层次交换式网络中的传输质量。
Flow Label本字段不用,置为0。在HSNet中,由于用交换代替了路由,因此没有必要再采用任何形式的标记交换。
Payload Length填入整个IPv4数据包的总长度。总长度的值采用IPv4报头中的“总长度(Total Length)”字段的值,单位为字节。在IPv4数据包中,有两个长度字段一个是“互联网报头长度(Internet Header Length,简称IHL)”,它以4字节(32位)为单位来表示IPv4报头的长度;另一个就是“总长度(Total Length)”,这个总长度是包含报头和用户数据的数据包总长度,因而代表了整个IPv4数据包的长度。应该指出的是,如果IPv4数据包传输路径上所有链路最大传输单元(Maximum TransferUnit,简称MTU)的大小都能包容整个IPv4数据包,数据包传输就不必分片,这个总长度也就是原始IPv4数据包的长度;如果IPv4数据包的长度大于其传输路径上某链路的MTU,则要对IPv4包进行分片。此时,IPv4报头中的这个总长度并不是原始IPv4数据包的总长度,而是分片后的IPv4报文片段的总长度。对HSNet而言,不管是原始IPv4包还是分片后的IPv4报文片,都可以看作是一个普通的IPv4包。由于HSNet交换机交换的是IP包而不是帧中继FR(Frame Relay)、以太网(Ethernet)或高级数据链路控制HDLC(High level Data Link Control)等数据链路层的帧,所以它收到的IP包不管是否已经被分片,其长度均不会超过以太网的MTU(1500字节)。HSNet的交换机是特定设计的,其MTU可以设计成能包含以太网的最大载荷长度(1500字节)及IPv6封装报头(40字节)的总长度(1540字节)。这样,在HSNet交换机中就避免了数据包分拆和组装的过程,有利于提高HSNet的效率和速度。
Next Header不用,置为0。如前面所述,HSNet中封装IPv4数据包使用的只是IPv6基本报头,不使用扩展报头。但如果此字段被置成某特定值,则可用作封装IPv4数据包的封装标识。
Hop Limit不用,置为0。
Source Address16字节,填充数据包进入HSNet时使用的边缘端口地址。
Destination Address16字节,填充将数据包送出HSNet的目的边缘端口地址,目的边缘端口地址的获取方法参见下述“隧道的自动建立与IPv4数据包的封装、拆装”一节。隧道配置服务器和边缘端口本地缓存在HSNet内部设置隧道配置服务器,隧道配置服务器一般设在HSNet的根节点域,也可以同时在其它节点域中设置一些副本。隧道配置服务器中设地址映射表,用来存储运行IPv4的用户网络或主机的IPv4地址与接入HSNet时所使用边缘端口地址的映射关系。隧道配置服务器对用户网络透明,HSNet的边缘端口需要配置隧道配置服务器的地址,以便能够访问到隧道配置服务器。隧道配置服务器的地址为节点域内部地址(见中国专利申请03120998.X),只要知道它所在的节点域域号和服务器类型,就可以访问到它。
隧道配置服务器的配置工作主要包括地址映射表的生成和管理。如果接入的用户网络是一个IPv6网络,则地址映射表中不记录此用户网络的有关信息;如果接入的用户网络是IPv4网络时,地址映射表中需要保存格式如图4所示的地址映射关系记录。图4是地址映射表中记录的格式,其中(401)AnAddress接入网网络/主机地址,IPv4格式;(402)PreLen接入网网络/主机地址前缀长度,单位为位(bit)。对于IPv4主机,PreLen为32;(403)BPAddress边缘端口地址,IPv6格式。
(404)IdleTime表示记录自上一次被访问以来逝去的时间,单位为小时。
一个用户接入网在地址映射表中可以存在多条记录,即连接到一个边缘端口的接入网可以包含多个IPv4网络或主机。在地址映射表中,用户IPv4网络/主机地址的表示采用与无类域间路由(Classless Inter-Domain Routing,简称CIDR)相似的方式,即采用“网络号/掩码长度”的形式。
地址映射表必须事先生成,生成的方法有人工和自动两种(1)手工生成映射表即由HSNet网络管理人员手工向地址映射表中添加边缘端口与所接用户IPv4网络/主机地址的对应关系,边缘端口应禁止使用自动侦听模式(见(2)自动生成映射表);(2)自动生成映射表即由边缘端口和隧道配置服务器协作完成,此时边缘端口工作于自动侦听模式。边缘端口通过侦听用户网络来发现用户网络的IPv4地址并向隧道配置服务器报告,然后隧道服务器将边缘端口报告的映射关系添加到其地址映射表中。边缘端口自动侦听模式的工作原理与以太网交换机侦听网上主机的MAC地址类似。具体地,当边缘端口工作于自动侦听模式时,每接收到一个IPv4数据包,便记录数据包头中的IPv4源地址;如果此IPv4源地址是新的,则将IPv4地址与边缘端口的IPv6地址建立地址映射关系,并将此映射关系发送到隧道配置服务器。
地址映射表的管理工作主要由插入、修改、删除。当某一用户接入网接入HSNet时,可以根据所接入边缘端口的工作模式的不同,手工或自动地添加相应的地址映射信息。当用户接入网与HSNet的连接取消后,必须手工地删除地址映射表中相应的条目,考虑到这种拆除发生的频率不会很高,因此手工操作的复杂度不会太高;当边缘端口工作于自动侦听模式并且用户接入网的IPv4地址发生变化时,边缘端口会将用户接入网新的IPv4地址与端口的映射关系自动向隧道配置服务器报告,此时用户接入网原来使用的IPv4地址与边缘端口的映射关系应予以删除。删除的方法,既可以人工删除,也可以将长期(例如,TTL(图4中(404)域)值长达数月)未被访问的记录自动删除。
在HSNet的边缘端口设置缓存器(cache),暂时保存此边缘端口已知的用户IPv4地址与其接入HSNet所使用的边缘端口IPv6地址的映射关系。边缘端口中设置缓存器的目的主要是为提高效率,这样边缘端口不必为每一个进入HSNet的IPv4数据包都向隧道服务器查询其目的边缘端口的IPv6地址。
缓存器的管理主要包括数据的装入和替换。缓存器数据装入有两个途径一个途径是装入从隧道服务器返回的IPv4地址和边缘端口IPv6地址的映射关系;另一个途径是在对数据包进行拆装时进行,即对HSNet到达目的边缘端口的进行了封装的数据包,将其IPv6封装头中源地址与其封装的IPv4数据包的IPv4源地址建立映射关系,并且把这个映射关系装入边缘端口本地缓存。另外由于缓存器容量有限,因此需要一定的替换策略来保证它具有较高的命中率缓存器中的每一地址映射关系条目都设置一个生存期(Time-to-Live,TTL)数值,设置TTL的目的是为了能适应接入网的动态变化;TTL数值随时间递减,TTL字段等于0的记录可以首先被替换掉;另外缓存器中的地址映射条目还应进行适当的汇集,以便减少记录数目。边缘端口本地缓存器中地址映射记录的具体格式,见图5。其中(501)AnAddress接入网网络/主机地址,IPv4格式;(502)PreLen接入网网络/主机地址前缀长度,对于IPv4主机时为32;(503)BPAddress边缘端口地址,IPv6格式;(504)TTL记录的生存期,单位为秒;隧道的自动建立与IPv4数据包的封装、拆装HSNet的边缘端口负责自动建立隧道以便透明地传输用户数据包。
(1)当从用户接入网到达边缘端口(以下简称源边缘端口)的数据包是IPv6格式时,源边缘端口不对IPv6数据包作任何改变,直接将其放入转发队列。
(2)如果到达的数据包是IPv4格式,源边缘端口首先在本地缓存中查找是否存在与数据包目的IPv4地址相对应的记录。如果缓存中有相应的记录,则从记录中获得目的地边缘端口的IPv6地址;如果本地缓存中无相应的记录,则源边缘端口以IPv4数据包的目的地址为关键字向隧道配置服务器查询目的边缘端口的IPv6地址。如果隧道配置服务器的地址映射表中有相应的记录,则返回目的边缘端口的IPv6地址;否则返回一个缺省隧道末端边缘端口的IPv6地址,此地址为HSNet连接IPv4外网(图1中A所示网络)的边缘端口(图1中节点域D1连接A时使用的交换机端口)的IPv6地址。然后源边缘端口便用返回的IPv6地址作为目的地址,用自己的IPv6地址作为源地址,以十进制数4作为“Version”字段(图3中(301)域)的值,并适当填写IPv6封装报头的其它字段(见2),将IPv4数据包作为有效载荷封装进IPv6数据包并将其放入转发队列。
具体地,获取隧道末端边缘端口地址的步骤如下(1)源边缘端口取出进入HSNet的IPv4数据包的目的地址;(2)查询本地缓存器,检查是否有与此IPv4地址对应的记录。若有,取得目的边缘端口IPv6地址,转(4);(3)执行地址查询协议,用IPv4数据包的目的地址构造一个请求包,发送到隧道配置服务器,隧道配置服务器利用此IPv4地址查询其地址映射表中是否有相应的记录。若有,则返回相应目的边缘端口的IPv6地址;若没有,则返回一个缺省的隧道末端边缘端口的IPv6地址,该地址是HSNet连接外部IPv4网络时使用的边缘端口的IPv6地址。源边缘端口将此返回的目的边缘端口IPv6地址或缺省的边缘端口IPv6地址与数据包IPv4目的地址建立映射关系,添加到本地缓存器;(4)以源边缘端口的IPv6地址为源地址,以得到的目的边缘端口或缺省边缘端口的IPv6地址作为目的地址(隧道末端)封装IPv4数据包。
当数据包经过HSNet到达目的边缘端口时,需要根据数据头部“Version”字段(图3中(301)域)的值进行不同的处理。如果值为4,表示此数据包进行了封装,此数据包的有效载荷是一个完整的IPv4数据包;此时目的边缘端口则将IPv6数据包的报头移去,即得到IPv4数据包,将其转发到边缘端口所接入的用户网络;并且将此IPv6数据包的源地址与其有效载荷IPv4数据包报头中的源地址建立地址映射关系,添加到目的边缘端口本地缓存器中。如果“Version”字段的值等于6,表示数据包是没有经过封装的纯IPv6包,边缘端口将此数据包直接转发到所连接的用户接入网。
本发明的有益效果是可以使现有的IPv4网络透明、灵活地接入层次式交换网络,而无需用户网络作任何配置操作。本发明克服了现有IPv4-IPv6隧道方法配置和管理的复杂性以及特殊格式地址限制等问题,通过在HSNet的边缘端口对用户数据包进行封装,使其透明地通过HSNet到达目的用户网络,进而到达目的主机。为了透明地传输用户数据包,本发明在HSNet中引入隧道配置服务器来实现隧道末端地址的自动获取,从而支持隧道的自动建立和管理。另外,HSNet中隧道的建立和操作方法与6to4隧道机制不同,由于HSNet边缘端口知晓它所连接用户网络的信息,所以可以实现灵活的包过滤策略以消除地址欺骗的可能。


图1.层次式交换网络拓扑结构示意2.节点域的结构与组成示意3.HSNet用IPv6基本报头格式图4.隧道配置服务器中地址映射表记录格式图5边缘端口本地缓存器记录格式实施例下面结合实施例进一步说明设图1所示HSNet申请了TLA=(1000000000000)2的可汇集全局单播地址空间,则Fp=(001)2,我们在由整个NLA和SLA的前8位组成的32位空间中创建4个层次。即每一层次的交换字段定长,为8位(可以用变长字段,这里为举例时更简便,用定长字段)。图中各节点域名字中的下标从左向右表示域的继承关系,如节点域(D1211)为节点域(D121)的子域、(D121)是(D12)的子域、(D12)是(D1)的子域、通过(D121)的逻辑链路(L1211)连接(D1211)、(D12)的逻辑链路(L121)连接(D121)、(D1)的逻辑链路(L12)连接节点域(D12)等。其中,TLA为顶级汇聚Top-Level Aggregation,NLA为下一级汇聚Next-Level Aggregation,SLA为站点级汇聚Site-Level Aggregation的缩写。
图1中各节点域的地址前缀以及交换字段的具体配置,见表1

表1图1所示HSNet中各节点域地址前缀以及交换字段根据层次式交换网络的编址规则(见中国专利申请03120998.X),图1中(B)表示的隧道配置服务器的地址由所接入节点域的地址前缀、所接入节点域全1的交换字段、地址类型4表示服务器、服务器类型2表示隧道配置服务器,其它字段填0。则图1中(B)表示的隧道配置服务器的地址(128位)为0x300000FF000000000000000004000002。
根据层次式交换网络关于边缘端口地址的编址规则,边缘端口地址由所处节点域的地址前缀、全为1的所属节点域交换字段、地址类型3表示指向交换机及其端口、地址字段值为0的SLA、端口所属交换机的编号(SID)以及端口编号(PID)组成,其余为0(关于交换机编号SID,端口编号PID,参见中国专利申请03120998.X)。
假设(AN1)和(AN2)接到域(D1111),分别与节点域中的1号交换机的1、2号端口相连;(AN3)与节点域(D1121)相连,接到其1号交换机的1号端口;(AN4)与(D1122)的1号交换机的端口1相连;(AN5)和(AN6v接入节点域(D1211),分别与其1、2号交换机的1号端口相连。则图1所示HSNet中与接入网存在连接的各边缘端口的地址如表2所示

表2图1所示HSNet各边缘端口地址图1所示的HSNet通过与节点域D1的交换机1的1号端口连接IPv4外网,假设D1中连接外网的边缘端口地址为0x300000FF∷03010001。
假设主机H1、H2、H3、H4、H5和H6分别位于接入网(AN1)、(AN2)、(AN3)、(AN4)、(AN5)、(AN6)中,表示接入HSNet中的不同类型主机;H7位于IPv4外网中,表示Internet-IPv4主机。再假设,图1所示HSNet所连接的接入网地址前缀以及各主机地址分别如表3和表4所示。

表3图1所示接入网有关数据

表4各主机地址假设HSNet与接入网相连的边缘端口工作于手工模式,即网络管理人员手工向隧道服务器地址映射表中添加有关的地址映射关系。假设初始状态时各边缘端口本地缓存器中没有任何地址映射关系条目,则接入网与HSNet连接后隧道配置服务器中地址映射表的内容如表5所示。

表5隧道配置服务器中地址映射表内容如前所述,HSNet在部署初期只是一个骨干网,其功能是将来自接入网的数据包透明地通过HSNet传输到其目的地所属网络;同时,本发明通过隧道方法实现接入HSNet的IPv4主机之间和IPv4主机与传统的Internet中主机之间的通信。所以本应用例设计时只考虑两个IPv4主机通过HSNet进行通信的情况。以主机H1和H3之间的通信为例,以H1向H3发送一个数据包加以说明,通信过程包括下述8个步骤(1)主机H1生成并向边缘端口发送去往H3的IPv4数据包。数据包从地址为0x300000010101FF00∷03010001的边缘端口进入HSNet,此端口位于节点域(D1111)中。为了方便起见,以下以BP_AN1表示此边缘端口,指连接接入网AN1使用的边缘端口。
(2)BP_AN1收到数据包,根据数据包报头“Version”字段值判断出是IPv4数据包,并且提取其IPv4目的地址。
(3)BP_AN1查询本地缓存器,检查是否有与数据包目的地址192.168.2.1相应的边缘端口地址,若有则转(5)。本例中,本地缓存器中没有相应的边缘端口地址,因此随后执行(4)。
(4)以数据包目的地址为关键字向隧道配置服务器查询是否有相应的边缘端口地址。隧道配置服务器此时总会返回一个边缘端口地址,要么是IPv4数据包目的边缘端口IPv6地址,要么是连接IPv4外网的缺省边缘端口IPv6地址。本例中隧道配置服务器返回目的边缘端口地址0x300000010201FF00∷03010001。所对应的边缘端口为连接接入网(AN3)的位于节点域(D1121)的边缘端口,以BP_AN3表不。
(5)边缘端口BP_AN1用图3所示报头封装收到的IPv4数据包。其中,Version值为4,表示为封装了IPv4数据包的IPv6数据包;Traffic Class值为0,或将IPv4数据包报头的TOS字段直接拷贝过来;Flow Label值为0;Payload Length将IPv4数据包报头中“总长度”字段的值直接拷贝过来;Next Header值为0;Hop Limit值为0;
Source Address值为0x300000010101FF00∷03010001;Destination Address值为0x300000010201FF00∷03010001;数据为整个IPv4数据包。
(6)HSNet按其交换控制处理方法将数据包沿路路径(D1111)→(D111)→(D11)→(D112)→(D1121)送到边缘端口BP_AN3。
(7)边缘端口BP_AN3处理进入的数据包。根据数据包报头“Version”字段的值为4判断出进入的数据包中封装了一个IPv4数据包;记录此IPv6数据包的源地址0x300000010101FF00∷03010001,拆除封装用IPv6基本报头,得到IPv4数据包;记录IPv4数据包的IPv4源地址192.168.1.1,将IPv4源地址与IPv6源地址建立映射关系,存入BP_AN3的本地缓存器;然后将IPv4数据包发送到用户接入网,即(AN3)。
(8)接入网(AN3)将进入的IPv4数据包送到主机H3。
对于反方向的数据包(从H3送给H1),与上述过程几乎一样,只是本地缓冲器中已经有了目的主机H1的地址192.168.1.1与目的边缘端口0x300000010101FF00∷03010001的记录项,不必查询隧道配置服务器了。
权利要求
1.一种IPv4网络接入层次式交换网络的方法,当IPv4网络接入层次式交换网络时,采用自动配置隧道的方法对数据包进行处理和传送,其特征在于在层次式交换网络内部设置隧道配置服务器;隧道配置服务器中设有地址映射表,存储外部接入网络主机的IPv4地址与接入层次式交换网络时所使用边缘端口地址的映射关系;边缘端口自动建立隧道透明地传输用户数据包,即当数据包从IPv4网络到达层次式交换网络的边缘端口时,边缘端口根据相应映射关系指示的目的边缘端口地址对IPv4数据包进行封装,封装后的数据包通过层次式交换网络进行传输,到达目的边缘端口时由目的边缘端口对封装了IPv4数据包的IPv6数据包进行拆封。
2.根据权利要求1所述的IPv4网络接入层次式交换网络的方法,其特征在于隧道配置服务器的地址映射表事先生成,保存接入网中IPv4主机与层次式交换网络边缘端口之间的映射关系;如果接入的用户网络是一个IPv6网络,则地址映射表中不记录此用户网络的有关信息;当边缘端口连接的是一个IPv4网络时,地址映射表中需要保存地址映射关系记录。
3.根据权利要求2所述的IPv4网络接入层次式交换网络的方法,其特征在于层次式交换网络的边缘端口通过配置而知晓隧道配置服务器的地址,以便能够访问到隧道配置服务器,而且边缘端口可以将侦听到的地址映射关系向隧道配置服务器传送。
4.根据权利要求2所述的IPv4网络接入层次式交换网络的方法,其特征在于在层次式交换网络的边缘端口设置缓存器,保存此边缘端口已知的外部接入网IPv4地址与其接入层次式交换网络所使用边缘端口IPv6地址的映射关系。
5.根据权利要求4所述的IPv4网络接入层次式交换网络的方法,其特征在于当数据包从外部IPv4网接入网到达层次式交换网络的边缘端口时,该源边缘端口自动建立隧道以便透明地传输用户数据包,即当从外部IPv4网到达边缘端口的数据包是IPv6格式时,该边缘端口不对IPv6数据包作任何改变,直接将其放入转发队列;如果到达的数据包是IPv4格式,则该边缘端口以到达IPv4数据包的目的地址查询本地缓存器或者隧道配置服务器,获取目的网络接入层次网络所使用边缘端口的IPv6地址,然后根据获得的目的边缘端口地址对IPv4数据包进行封装,并且将封装后的数据包在层次式交换网络里传输。
6.根据权利要求5所述的IPv4网络接入层次式交换网络的方法,其特征在于如果到达的数据包是IPv4格式,源边缘端口首先在本地缓存中查找是否存在与数据包的目的IPv4地址相对应的边缘端口的IPv6地址;如果本地缓存中没有相应的记录,则通过隧道配置服务器自动获取隧道末端地址,即源边缘端口以IPv4数据包的目的地址为关键字向隧道配置服务器查询数据包目的边缘端口的IPv6地址;如果隧道配置服务器中地址映射表有相应的记录,则返回目的边缘端口的IPv6地址,否则隧道服务器返回一个缺省的层次式交换网络连接IPv4外网的边缘端口;源边缘端口用返回的IPv6格式地址作为目的地址,用自己的IPv6地址作为源地址,将IPv4数据包作为有效载荷封装进IPv6数据包并将其放入转发队列。
7.根据权利要求6所述的IPv4网络接入层次式交换网络的方法,其特征在于边缘端口对IPv4数据包进行报头封装采用IPv6报头格式,报头包括版本号、业务类别、有效载荷长度、源地址、目的地址字段;其中版本号字段区别封装的IPv4包和标准的IPv6数据包;业务类别字段用作服务质量的控制;有效载荷长度字段填入整个IPv4数据包的总长度;源地址字段填充数据包进入层次式交换网络时使用的边缘端口地址;目的地址字段填充将数据包送出层次式交换网络的目的边缘端口地址。
8.根据权利要求1所述的IPv4网络接入层次式交换网络的方法,其特征在于目的边缘端口对封装了IPv4数据包的IPv6数据包进行拆封;当数据包经过层次式交换网络到达目的边缘端口时,根据数据包头部进行不同的处理;如果该数据包被进行了封装,则此数据包的有效载荷是IPv4数据包,此时目的边缘端口则将IPv6数据包的报头移去,得到IPv4数据包,将其转发到边缘端口所接入的用户网络,并且将此IPv6数据包的源地址与其有效载荷IPv4数据包报头中的源地址建立地址映射关系,添加到目的边缘端口本地缓存器中;否则表示数据包是没有封装IPv4数据包的纯IPv6包,边缘端口将此数据包直接转发到所连接的用户接入网。
9.根据权利要求4或6所述的IPv4网络接入层次式交换网络的方法,其特征在于边缘端口缓存器装入从隧道服务器返回的IPv4地址和边缘端口IPv6地址映射关系的数据。
10.根据权利要求8所述的IPv4网络接入层次式交换网络的方法,其特征在于当边缘端口拆封IPv6数据包时,将IPv6数据包头部源地址与其封装的IPv4数据包头部源地址建立映射关系,把这个映射关系的数据装入边缘端口本地缓存,并据此更新本地缓存器。
全文摘要
本发明涉及IPv4网络接入层次式交换网络时数据包的处理方法,以便IPv4网络透明地接入层次式交换网络。本发明采用自动配置隧道的方法对数据包进行处理和传输。层次式交换网络内部设置隧道配置服务器,内设地址映射表,存储外部IPv4接入网主机IPv4地址与其接入层次式交换网络时所使用边缘端口地址的映射关系。当数据包从IPv4网络到达层次式交换网络的边缘端口时,边缘端口根据相应映射关系指示的目的边缘端口地址对IPv4数据包进行封装,封装后的数据包通过层次式交换网络传输,到达目的边缘端口时进行拆封。
文档编号H04L29/06GK1440168SQ0312152
公开日2003年9月3日 申请日期2003年3月31日 优先权日2003年3月31日
发明者李俊, 钱华林, 马宏伟, 葛敬国, 方蕾, 牛广锋, 代长城 申请人:中国科学院计算机网络信息中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1