著录项信息
专利名称 | 一种IPv4网络接入层次式交换网络的方法 |
申请号 | CN03121526.2 | 申请日期 | 2003-03-31 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2003-09-03 | 公开/公告号 | CN1440168 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 中国科学院计算机网络信息中心 | 申请人地址 | 北京市海淀区中关村南四街4号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国科学院计算机网络信息中心 | 当前权利人 | 中国科学院计算机网络信息中心 |
发明人 | 李俊;钱华林;马宏伟;葛敬国;方蕾;牛广锋;代长城 |
代理机构 | 北京君尚知识产权代理事务所 | 代理人 | 余长江 |
摘要
本发明涉及IPv4网络接入层次式交换网络时数据包的处理方法,以便IPv4网络透明地接入层次式交换网络。本发明采用自动配置隧道的方法对数据包进行处理和传输。层次式交换网络内部设置隧道配置服务器,内设地址映射表,存储外部IPv4接入网主机IPv4地址与其接入层次式交换网络时所使用边缘端口地址的映射关系。当数据包从IPv4网络到达层次式交换网络的边缘端口时,边缘端口根据相应映射关系指示的目的边缘端口地址对IPv4数据包进行封装,封装后的数据包通过层次式交换网络传输,到达目的边缘端口时进行拆封。
1.一种IPv4网络接入层次式交换网络的方法,当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数 据包头部源地址建立映射关系,把这个映射关系的数据装入边缘端口本地缓 存,并据此更新本地缓存器。
技术领域:\n本发明涉及中国专利申请03120998.X层次式交换网络(Hierarchically Switched Network,以下简称HSNet)的数据包封装方法,特别的是一种IPv4网络接入HSNet 时数据包的处理方法。\n背景技术:\nInternet日益成为承载多种业务的统一平台,但是其结构和一些基本原则并不能 保证它可以满足不同业务对服务质量的不同要求。为了连接不同结构的网络并保证 其健壮性,Internet采用了动态路由、无连接的、尽力而为(best-effort)服务等原则, 这些技术和原则是Internet取得巨大成功的保证。\n随着Internet的成功,其上承载的业务种类越来越多,要求的服务质量(Quality of Service,简称QoS)也变得多种多样。Internet的一些基本原则与用户的服务质量要求 产生了较大的矛盾。为了解决Internet面临的问题,已经有些方案被提了出来。如针 对保证服务质量提出的集成服务/资源预留(Integrated Services/Resource Reservation Protocol,简称IntServ/RSVP)、区分服务(Differentiated Services,简称DiffServ)、多 协议标记交换(Multi-Protocol Label Switching,简称MPLS)等。但这些方案的引入使 得Internet越来越复杂,而且不一定能够保证服务质量,其根本原因在于网络拓扑结 构与IP地址的分离。因此,Internet的体系结构需要改变以适应应用环境的变化和新 的要求。HSNet(见图1)利用树型拓扑结构与地址层次结构严格匹配的方法取消传统 的路由操作,即层次式交换网络的地址不仅具有命名功能,还有定位功能。层次式 交换网络地址的命名功能用来标识网络中的主机,定位功能用来指明主机在网络中 的位置。\n图1为层次式交换网络拓扑结构示意图。图1中的HSNet被划分成四个层次(关 于层次的划分、节点域、逻辑链路、边缘端口、交换字段的概念、层次式交换网络 主机等的编址方式等内容可以参见中国专利申请03120998.X。其中:\n(A)是运行IPv4的网络(如Internet);\n(B)是隧道配制服务器,在本例中与HSNet的根节点域相连,隧道配置服务器也 可以设置在其它节点域相连;\n(D1)是节点域,是HSNet的根域;\n(D11)、(D12)、(D111)、(D112)、(D121)、(D1111)、(D1121)、(D1122)、(D1211)都是节点域;\n(ANi)是接入网i(i=1,2,3,4,5,6),接入网可以是运行IPv4的网络,也可以是运行IPv6 的网络;\n(L11)是节点域(D1)的下行逻辑链路1;\n(L128)是节点域(D1)的下行逻辑链路28;\n(L12)是节点域(D1)的下行逻辑链路2;\n(L111)是节点域(D11)的下行逻辑链路1;\n(L121)是节点域(D12)的下行逻辑链路1;\n(L1111)是节点域(D111)的下行逻辑链路1;\n(L1211)是节点域(D121)的下行逻辑链路1;\n(L11111)是节点域(D1111)的下行逻辑链路1;\n(L11211)是节点域(D1121)的下行逻辑链路1;\n(L11221)是节点域(D1122)的下行逻辑链路1;\n(L12111)是节点域(D1211)的下行逻辑链路1;\n(L12112)是节点域(D1211)的下行逻辑链路2。\n图2是节点域的结构与组成示意图,所示节点域为图1中的(D1211)。其中:\n(Lup)是节点域的上行逻辑链路,对于非根节点域的上行逻辑链路,即是其父域 的某一下行逻辑链路,(Lup)就是图1中的逻辑链路(L1211);\n(L12111)是节点域(D1211)的下行逻辑链路1;\n(L12112)是节点域(D1211)的下行逻辑链路2;\n(S1)、(S2)、(S3)、(S4)分别为节点域中的交换机1、2、3、4。\nHSNet的部署与当前IPv4网络向IPv6网络的过渡有相同点。IPv6的提出在基 本消除了IPv4地址日益耗尽问题的同时,也带来了如何以合理的代价将现有IPv4 网络向IPv6迁移、过渡的问题。IPv4到IPv6的过渡是一个非常复杂的过程,它影 响了网络从链路层到应用层多个层面的操作。虽然HSNet采用的体系结构与IPv6不 同,但也面临如何兼容现有大量IPv4网络的问题。\nIPv4向IPv6的过渡过程大致可分为两个阶段。第一阶段即过渡的初期,此时IPv4 节点、服务和路由设施等占网络资源的绝大部分,在这个阶段两者之间的兼容主要 是指要保证少量的IPv6节点可以使用大量现存的IPv4网络资源,包括通过IPv4路 由设施实现IPv6孤岛之间的通信联系和IPv6主机访问基于IPv4的服务等;第二个 阶段是IPv6的节点、服务和路由设施占网络资源的大部分,这个阶段则主要需要保 证少量的IPv4节点之间可以使用IPv6路由设施实现互连和IPv4节点访问基于IPv6 的服务。\nR.Gilligan、E.Nordmark的“Transition Mechanisms for IPv6 Hosts and Routers” (RFC2398,2000年8月)揭示了运行IPv6的节点利用现有IPv4网络来实现相互通信 的基本机制和方法,其中包括:双协议栈(Dual IP Layer)、配置隧道(Configured Tunneling 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机制。\n以上方法中,双协议栈是两种网络协议兼容最直接、有效的方法,其最大问题 是需要使用两种全局地址(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地址欺骗现象。\nHSNet的部署也需分阶段逐步进行。与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自动地完成。\n综上两种情况,HSNet的初期部署只涉及用户网络的接入,只是透明地将用户 接入网进入的数据包通过HSNet转发到另一个用户接入网,即可以将HSNet看作是 一个隧道。同时,HSNet的部署与IPv6网络的部署不同,它不涉及IPv4-IPv6地址 的转换。\n发明内容:\n本发明的目的是在层次式交换网络(HSNet)上为现有IPv4网络提供交换能力。\n本发明的具体技术方案如下:本发明通过在HSNet的边缘端口对用户数据包进 行封装,使其透明地通过HSNet到达目的用户网络,进而到达目的主机。另外为了 透明地传输用户数据包,本发明在HSNet中引入隧道配置服务器来实现隧道末端地 址的自动获取,从而支持隧道的自动建立和管理。下面对HSNet封装用IPv6报头格 式、IPv4数据包的封装过程、隧道配置服务器和边缘端口本地缓存的情况、以及如 何自动建立隧道并且对IPv4数据包进行封装或拆装的技术方案分别进行说明。 HSNet封装用IPv6报头格式\nHSNet赖以交换的地址是IPv6格式的地址,因此HSNet在传输IPv4包时,需用IPv6 报头对数据包进行封装。HSNet对IPv4包进行封装,只是利用封装报头将数据包送到 目的边缘端口并且提供必要的优先级和安全支持,所以封装所用的IPv6报头格式与 IPv6报头并不严格相同。只需要源地址、目的地址、表明本数据包是封装包还是真 正IPv6包的标志、以及可用于QoS控制、流量工程、虚拟专用网(Virtual Private Network,简称VPN)、网络安全等有关的字段外,其余部分可以省略。另外,HSNet 的各级交换机只对IPv6包进行交换和转发,只用到其基本报头,并不处理扩展报头, 因此封装的部分只涉及基本报头。IPv6基本包头格式见图3,到达HSNet的IPv4数据 包在到达边缘端口时,边缘端口负责使用这种报头格式对其进行封装。其中:\n(301)Version是4位的版本号,可以为4或6。通过这个字段的不同取值使得HSNet\n 交换机可以将纯IPv6数据包和封装了IPv4数据包的IPv6数据包区别开\n 来;\n(302)Traffic Class是8位的通信流类型,用于区分服务的QoS控制;\n(303)Flow Label是20位的流标号,用于标记交换;\n(304)Payload Length是16位的有效载荷长度。最大可以表示65535,单位为字节。\n 有效载荷表示除40字节的定长基本报头之外数据的长度;\n(305)Next Header是8位的下一报头地址。由于HSNet中传输的是只有基本报头的\n IPv6格式数据包,所以此字段一般不用,被置为0;\n(306)Hop Limit是16位的跳数限制字段。由于HSNet采用树型结构,在HSNet中\n 不会产生回路,因此不必用跳数限制来丢弃长期游荡在网络中的无用\n 包,所以这个字段置为0;\n(307)Source Address是128位的源地址;\n(308)Destination Address是128位的目的地址。\nIPv4数据包的封装\n进入HSNet的IPv4数据包需要在边缘端口进行封装,封装时以图3所示的IPv6格 式作为封装报头。图3中用括号扩起来的字段可以不用,即设置为全0。利用基本报 头封装IPv4数据包时,头部各字段按下述方式进行填充。\nVersion:此字段填写4,表示这是一个封装了IPv4包的封装报头,目的是将封装 的IPv4包与标准的IPv6数据包加以区别。因为凡在HSNet骨干网络中传输的数据包或 控制包,只有纯IPv6格式和封装为IPv6的IPv4格式两种类型。\nTraffic Class:将IPv4数据包中服务类型TOS(Type of Service)字段的信息复制过 来,作QoS控制用。如果此值不为0,由于IPv4的TOS与IPv6的通信流类型一样,并 且都是8位,HSNet交换机可以按照IPv4中TOS字段各位的含义来控制数据包在层次 交换式网络中的传输质量。\nFlow Label:本字段不用,置为0。在HSNet中,由于用交换代替了路由,因此没 有必要再采用任何形式的标记交换。\nPayload Length:填入整个IPv4数据包的总长度。总长度的值采用IPv4报头中的 “总长度(Total Length)”字段的值,单位为字节。在IPv4数据包中,有两个长度字 段:一个是“互联网报头长度(Internet Header Length,简称IHL)”,它以4字节(32 位)为单位来表示IPv4报头的长度;另一个就是“总长度(Total Length)”,这个总长 度是包含报头和用户数据的数据包总长度,因而代表了整个IPv4数据包的长度。应 该指出的是,如果IPv4数据包传输路径上所有链路最大传输单元(Maximum Transfer Unit,简称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的效率和速度。\nNext Header:不用,置为0。如前面所述,HSNet中封装IPv4数据包使用的只是IPv6 基本报头,不使用扩展报头。但如果此字段被置成某特定值,则可用作封装IPv4数 据包的封装标识。\nHop Limit:不用,置为0。\nSource Address:16字节,填充数据包进入HSNet时使用的边缘端口地址。\nDestination Address:16字节,填充将数据包送出HSNet的目的边缘端口地址, 目的边缘端口地址的获取方法参见下述“隧道的自动建立与IPv4数据包的封装、拆 装”一节。\n隧道配置服务器和边缘端口本地缓存\n在HSNet内部设置隧道配置服务器,隧道配置服务器一般设在HSNet的根节点 域,也可以同时在其它节点域中设置一些副本。隧道配置服务器中设地址映射表, 用来存储运行IPv4的用户网络或主机的IPv4地址与接入HSNet时所使用边缘端口地址 的映射关系。隧道配置服务器对用户网络透明,HSNet的边缘端口需要配置隧道配 置服务器的地址,以便能够访问到隧道配置服务器。隧道配置服务器的地址为节点 域内部地址(见中国专利申请03120998.X),只要知道它所在的节点域域号和服务器 类型,就可以访问到它。\n隧道配置服务器的配置工作主要包括地址映射表的生成和管理。如果接入的用 户网络是一个IPv6网络,则地址映射表中不记录此用户网络的有关信息;如果接入 的用户网络是IPv4网络时,地址映射表中需要保存格式如图4所示的地址映射关系 记录。图4是地址映射表中记录的格式,其中:\n(401)AnAddress:接入网网络/主机地址,IPv4格式;\n(402)PreLen:接入网网络/主机地址前缀长度,单位为位(bit)。对于IPv4主机,\n PreLen为32;\n(403)BPAddress:边缘端口地址,IPv6格式。\n(404)IdleTime:表示记录自上一次被访问以来逝去的时间,单位为小时。\n一个用户接入网在地址映射表中可以存在多条记录,即连接到一个边缘端口的 接入网可以包含多个IPv4网络或主机。在地址映射表中,用户IPv4网络/主机地址的 表示采用与无类域间路由(Classless Inter-Domain Routing,简称CIDR)相似的方式, 即采用“网络号/掩码长度”的形式。\n地址映射表必须事先生成,生成的方法有人工和自动两种:\n(1)手工生成映射表:即由HSNet网络管理人员手工向地址映射表中添加边缘端口与\n 所接用户IPv4网络/主机地址的对应关系,边缘端口应禁止使用自动侦听模式(见(2)\n 自动生成映射表);\n(2)自动生成映射表:即由边缘端口和隧道配置服务器协作完成,此时边缘端口工\n 作于自动侦听模式。边缘端口通过侦听用户网络来发现用户网络的IPv4地址并\n 向隧道配置服务器报告,然后隧道服务器将边缘端口报告的映射关系添加到其\n 地址映射表中。边缘端口自动侦听模式的工作原理与以太网交换机侦听网上主\n 机的MAC地址类似。具体地,当边缘端口工作于自动侦听模式时,每接收到一\n 个IPv4数据包,便记录数据包头中的IPv4源地址;如果此IPv4源地址是新的,则\n 将IPv4地址与边缘端口的IPv6地址建立地址映射关系,并将此映射关系发送到隧\n 道配置服务器。\n地址映射表的管理工作主要由插入、修改、删除。当某一用户接入网接入HSNet 时,可以根据所接入边缘端口的工作模式的不同,手工或自动地添加相应的地址映 射信息。当用户接入网与HSNet的连接取消后,必须手工地删除地址映射表中相应 的条目,考虑到这种拆除发生的频率不会很高,因此手工操作的复杂度不会太高; 当边缘端口工作于自动侦听模式并且用户接入网的IPv4地址发生变化时,边缘端口 会将用户接入网新的IPv4地址与端口的映射关系自动向隧道配置服务器报告,此时 用户接入网原来使用的IPv4地址与边缘端口的映射关系应予以删除。删除的方法, 既可以人工删除,也可以将长期(例如,TTL(图4中(404)域)值长达数月)未被访问 的记录自动删除。\n在HSNet的边缘端口设置缓存器(cache),暂时保存此边缘端口已知的用户IPv4 地址与其接入HSNet所使用的边缘端口IPv6地址的映射关系。边缘端口中设置缓存 器的目的主要是为提高效率,这样边缘端口不必为每一个进入HSNet的IPv4数据包 都向隧道服务器查询其目的边缘端口的IPv6地址。\n缓存器的管理主要包括数据的装入和替换。缓存器数据装入有两个途径:一个途 径是装入从隧道服务器返回的IPv4地址和边缘端口IPv6地址的映射关系;另一个 途径是在对数据包进行拆装时进行,即对HSNet到达目的边缘端口的进行了封装的 数据包,将其IPv6封装头中源地址与其封装的IPv4数据包的IPv4源地址建立映射 关系,并且把这个映射关系装入边缘端口本地缓存。另外由于缓存器容量有限,因 此需要一定的替换策略来保证它具有较高的命中率:缓存器中的每一地址映射关系 条目都设置一个生存期(Time-to-Live,TTL)数值,设置TTL的目的是为了能适应接 入网的动态变化;TTL数值随时间递减,TTL字段等于0的记录可以首先被替换掉; 另外缓存器中的地址映射条目还应进行适当的汇集,以便减少记录数目。边缘端口 本地缓存器中地址映射记录的具体格式,见图5。其中:\n(501)AnAddress:接入网网络/主机地址,IPv4格式;\n(502)PreLen:接入网网络/主机地址前缀长度,对于IPv4主机时为32;\n(503)BPAddress:边缘端口地址,IPv6格式;\n(504)TTL:记录的生存期,单位为秒;\n隧道的自动建立与IPv4数据包的封装、拆装\nHSNet的边缘端口负责自动建立隧道以便透明地传输用户数据包。\n(1)当从用户接入网到达边缘端口(以下简称源边缘端口)的数据包是IPv6格式时,源\n 边缘端口不对IPv6数据包作任何改变,直接将其放入转发队列。\n(2)如果到达的数据包是IPv4格式,源边缘端口首先在本地缓存中查找是否存在与\n 数据包目的IPv4地址相对应的记录。如果缓存中有相应的记录,则从记录中获\n 得目的地边缘端口的IPv6地址;如果本地缓存中无相应的记录,则源边缘端口\n 以IPv4数据包的目的地址为关键字向隧道配置服务器查询目的边缘端口的IPv6地\n 址。如果隧道配置服务器的地址映射表中有相应的记录,则返回目的边缘端口\n 的IPv6地址;否则返回一个缺省隧道末端边缘端口的IPv6地址,此地址为HSNet\n 连接IPv4外网(图1中A所示网络)的边缘端口(图1中节点域D1连接A时使用的交\n 换机端口)的IPv6地址。然后源边缘端口便用返回的IPv6地址作为目的地址,用\n 自己的IPv6地址作为源地址,以十进制数4作为“Version”字段(图3中(301)域)的\n 值,并适当填写IPv6封装报头的其它字段(见2),将IPv4数据包作为有效载荷封\n 装进IPv6数据包并将其放入转发队列。\n具体地,获取隧道末端边缘端口地址的步骤如下:\n(1)源边缘端口取出进入HSNet的IPv4数据包的目的地址;\n(2)查询本地缓存器,检查是否有与此IPv4地址对应的记录。若有,取得目的边缘\n 端口IPv6地址,转(4);\n(3)执行地址查询协议,用IPv4数据包的目的地址构造一个请求包,发送到隧道配\n 置服务器,隧道配置服务器利用此IPv4地址查询其地址映射表中是否有相应的\n 记录。若有,则返回相应目的边缘端口的IPv6地址;若没有,则返回一个缺省\n 的隧道末端边缘端口的IPv6地址,该地址是HSNet连接外部IPv4网络时使用的边\n 缘端口的IPv6地址。源边缘端口将此返回的目的边缘端口IPv6地址或缺省的边缘\n 端口IPv6地址与数据包IPv4目的地址建立映射关系,添加到本地缓存器;\n(4)以源边缘端口的IPv6地址为源地址,以得到的目的边缘端口或缺省边缘端口的\n IPv6地址作为目的地址(隧道末端)封装IPv4数据包。\n当数据包经过HSNet到达目的边缘端口时,需要根据数据头部“Version”字段(图3 中(301)域)的值进行不同的处理。如果值为4,表示此数据包进行了封装,此数据包 的有效载荷是一个完整的IPv4数据包;此时目的边缘端口则将IPv6数据包的报头移 去,即得到IPv4数掘包,将其转发到边缘端口所接入的用户网络;并且将此IPv6数 据包的源地址与其有效载荷IPv4数据包报头中的源地址建立地址映射关系,添加到 目的边缘端口本地缓存器中。如果“Version”字段的值等于6,表示数据包是没有经过 封装的纯IPv6包,边缘端口将此数据包直接转发到所连接的用户接入网。\n本发明的有益效果是可以使现有的IPv4网络透明、灵活地接入层次式交换网络, 而无需用户网络作任何配置操作。本发明克服了现有IPv4-IPv6隧道方法配置和管理 的复杂性以及特殊格式地址限制等问题,通过在HSNet的边缘端口对用户数据包进 行封装,使其透明地通过HSNet到达目的用户网络,进而到达目的主机。为了透明 地传输用户数据包,本发明在HSNet中引入隧道配置服务器来实现隧道末端地址的 自动获取,从而支持隧道的自动建立和管理。另外,HSNet中隧道的建立和操作方 法与6to4隧道机制不同,由于HSNet边缘端口知晓它所连接用户网络的信息,所以可 以实现灵活的包过滤策略以消除地址欺骗的可能。\n附图说明:\n图1.层次式交换网络拓扑结构示意图\n图2.节点域的结构与组成示意图\n图3.HSNet用IPv6基本报头格式\n图4.隧道配置服务器中地址映射表记录格式\n图5边缘端口本地缓存器记录格式\n实施例:下面结合实施例进一步说明\n设图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的缩写。\n图1中各节点域的地址前缀以及交换字段的具体配置,见表1: 节点域 地址前缀 交换字段 (起始位/长度) D1 0x3000:00∷/24 24/8 D11 0x3000:0001∷/32 32/8 D12 0x3000:0002∷/32 32/8 D111 0x3000:0001:01∷/40 40/8 D112 0x3000:0001:02∷/40 40/8 D121 0x3000:0002:01∷/40 40/8 D1111 0x3000:0001:0101∷/48 48/8 D1121 0x3000:0001:0201∷/48 48/8 D1122 0x3000:0001:0202∷/48 48/8 D1211 0x3000:0002:0101∷/48 48/8\n表1:图1所示HSNet中各节点域地址前缀以及交换字段\n根据层次式交换网络的编址规则(见中国专利申请03120998.X),图1中(B)表 示的隧道配置服务器的地址由所接入节点域的地址前缀、所接入节点域全1的交换 字段、地址类型4表示服务器、服务器类型2表示隧道配置服务器,其它字段填0。 则图1中(B)表示的隧道配置服务器的地址(128位)为:\n0x3000:00FF:0000:0000:0000:0000:0400:0002。\n根据层次式交换网络关于边缘端口地址的编址规则,边缘端口地址由所处节点 域的地址前缀、全为1的所属节点域交换字段、地址类型3表示指向交换机及其端 口、地址字段值为0的SLA、端口所属交换机的编号(SID)以及端口编号(PID) 组成,其余为0(关于交换机编号SID,端口编号PID,参见中国专利申请 03120998.X)。\n假设(AN1)和(AN2)接到域(D1111),分别与节点域中的1号交换机的1、2号端口 相连;(AN3)与节点域(D1121)相连,接到其1号交换机的1号端口:(AN4)与(D1122)的 1号交换机的端口1相连;(AN5)和(AN6v接入节点域(D1211),分别与其1、2号交换 机的1号端口相连。则图1所示HSNet中与接入网存在连接的各边缘端口的地址如 表2所示: 接 入 网 节点 域 逻辑 链路 地址 类型 交换机 编号 端口 号 边缘端口地址 AN1 D1111 L11111 3 1 1 0x3000:0001:0101:FF00∷0301:0001 AN2 D1111 L11111 3 1 2 0x3000:0001:0101:FF00∷0301:0002 AN3 D1121 L11211 3 1 1 0x3000:0001:0201:FF00∷0301:0001 AN4 D1122 L11221 3 1 1 0x3000:0001:0202:FF00∷0301:0001 AN5 D1211 L12112 3 1 1 Ox3000:0002:0101:FF00∷0301:0001 AN6 D1211 L12111 3 2 1 Ox3000:0002:0101:FF00∷0302:0001\n 表2:图1所示HSNet各边缘端口地址\n图1所示的HSNet通过与节点域D1的交换机1的1号端口连接IPv4外网,假 设D1中连接外网的边缘端口地址为:0x3000:00FF∷0301:0001。\n假设主机H1、H2、H3、H4、H5和H6分别位于接入网(AN1)、(AN2)、(AN3)、 (AN4)、(AN5)、(AN6)中,表示接入HSNet中的不同类型主机:H7位于IPv4外网中, 表示Internet-IPv4主机。再假设,图1所示HSNet所连接的接入网地址前缀以及 各主机地址分别如表3和表4所示。 接入网 类型 地址前缀/前缀长度 AN1 IPv4 192.168.1/24 AN2 IPv6 0x3000:0001:0101:0100∷/64 AN3 IPv4 192.168.2/24 AN4 IPv6 0x3000:0001:0202:0100∷/64 AN5 IPv4 192.168.3/24 AN6 IPv6 0x3000:0002:0101:0200∷/64\n 表3:图1所示接入网有关数据 主机 所属(接入)网 主机地址 H1 AN1 192.168.1.1 H2 AN2 0x3000:0001:0101:0100:H1(EUI-64) H3 AN3 192.168.2.1 H4 AN4 0x3000:0001:0202:0100:H4(EUI-64) H5 AN5 192.168.3.1 H6 AN6 0x3000:0002:0101:0200:H6(EUI-64) H7 IPv4外网 10.1.1.1\n 表4:各主机地址\n假设HSNet与接入网相连的边缘端口工作于手工模式,即网络管理人员手工 向隧道服务器地址映射表中添加有关的地址映射关系。假设初始状态时各边缘端口 本地缓存器中没有任何地址映射关系条目,则接入网与HSNet连接后隧道配置服务 器中地址映射表的内容如表5所示。 AnAddress PreLen BPAddress 192.168.1.0 24 0x3000:0001:0101:FF00∷0301:0001 192.168.2.0 24 0x3000:0001:0201:FF00∷0301:0001 192.168.3.0 24 0x3000:0002:0101:FF00∷0301:0001\n 表5:隧道配置服务器中地址映射表内容\n如前所述,HSNet在部署初期只是一个骨干网,其功能是将来自接入网的数据 包透明地通过HSNet传输到其目的地所属网络;同时,本发明通过隧道方法实现接 入HSNet的IPv4主机之间和IPv4主机与传统的Internet中主机之间的通信。所以本 应用例设计时只考虑两个IPv4主机通过HSNet进行通信的情况。以主机H1和H3 之间的通信为例,以H1向H3发送一个数据包加以说明,通信过程包括下述8个步 骤:\n(1)主机H1生成并向边缘端口发送去往H3的IPv4数据包。数据包从地址为 0x3000:0001:0101:FF00∷0301:0001的边缘端口进入HSNet,此端口位于节点域 (D1111)中。为了方便起见,以下以BP_AN1表示此边缘端口,指连接接入网AN1 使用的边缘端口。\n(2)BP_AN1收到数据包,根掘数据包报头“Version”字段值判断出是IPv4数据包, 并且提取其IPv4目的地址。\n(3)BP_AN1查询本地缓存器,检查是否有与数据包目的地址192.168.2.1相应的边缘 端口地址,若有则转(5)。本例中,本地缓存器中没有相应的边缘端口地址,因 此随后执行(4)。\n(4)以数据包目的地址为关键字向隧道配置服务器查询是否有相应的边缘端口地 址。隧道配置服务器此时总会返回一个边缘端口地址,要么是IPv4数据包目的 边缘端口IPv6地址,要么是连接IPv4外网的缺省边缘端口IPv6地址。本例中隧道 配置服务器返回目的边缘端口地址:0x3000:0001:0201:FF00∷0301:0001。所对应 的边缘端口为连接接入网(AN3)的位于节点域(D1121)的边缘端口,以BP_AN3表 示。\n(5)边缘端口BP_AN1用图3所示报头封装收到的IPv4数据包。其中,\nVersion:值为4,表示为封装了IPv4数据包的IPv6数据包;\nTraffic Class:值为0,或将IPv4数据包报头的TOS字段直接拷贝过来;\nFlow Label:值为0;\nPayload Length:将IPv4数据包报头中“总长度”字段的值直接拷贝过来;\nNext Header:值为0;\nHop Limit:值为0;\nSource Address:值为0x3000:0001:0101:FF00∷0301:0001;\nDestination Address:值为0x3000:0001:0201:FF00∷0301:0001;\n数据为整个IPv4数据包。\n(6)HSNet按其交换控制处理方法将数据包沿路路径(D1111)→(D111)→(D11)→(D112) →(D1121)送到边缘端口BP_AN3。\n(7)边缘端口BP_AN3处理进入的数据包。根据数据包报头“Version”字段的值为4 判断出进入的数据包中封装了一个IPv4数据包;记录此IPv6数据包的源地址 0x3000:0001:0101:FF00∷0301:0001,拆除封装用IPv6基本报头,得到IPv4数据包; 记录IPv4数据包的IPv4源地址192.168.1.1,将IPv4源地址与IPv6源地址建立映射 关系,存入BP_AN3的本地缓存器;然后将IPv4数据包发送到用户接入网,即 (AN3)。\n(8)接入网(AN3)将进入的IPv4数据包送到主机H3。\n对于反方向的数据包(从H3送给H1),与上述过程几乎一样,只是本地缓冲器中 已经有了目的主机H1的地址192.168.1.1与目的边缘端口 0x3000:0001:0101:FF00∷0301:0001的记录项,不必查询隧道配置服务器了。
法律信息
- 2017-05-24
未缴年费专利权终止
IPC(主分类): H04L 12/56
专利号: ZL 03121526.2
申请日: 2003.03.31
授权公告日: 2004.10.06
- 2004-10-06
- 2003-09-03
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2006-03-17 | 2006-03-17 | | |