CN101136851A - 一种流转发方法及设备 - Google Patents
一种流转发方法及设备 Download PDFInfo
- Publication number
- CN101136851A CN101136851A CNA2007100306290A CN200710030629A CN101136851A CN 101136851 A CN101136851 A CN 101136851A CN A2007100306290 A CNA2007100306290 A CN A2007100306290A CN 200710030629 A CN200710030629 A CN 200710030629A CN 101136851 A CN101136851 A CN 101136851A
- Authority
- CN
- China
- Prior art keywords
- ipv6
- message
- list
- index value
- conversational list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/04—Network layer protocols, e.g. mobile IP [Internet Protocol]
- H04W80/045—Network layer protocols, e.g. mobile IP [Internet Protocol] involving different protocol versions, e.g. MIPv4 and MIPv6
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种流转发方法,包括:当待转发IPv6报文到来时,用所述待转发的IPv6报文在会话表的IPv6索引表中查找与其匹配的V6索引值;若查找成功,则根据所述V6索引值构造会话表的Key值;将所述待转发的报文按照所述会话表的Key值在会话表中查找对应的报文转发信息,进行后续的报文转发;若查找失败,则在所述IPv6索引表中创建与所述待转发报文相匹配的V6索引值。本发明还公开了一种流转发装置。采用本发明,在不改变原有的IPv4报文流转发模式的情况下,将IPv6网络流转发与IPv4网络流转发统一起来,解决了IPv4和IPv6网络兼容性的问题。
Description
技术领域
本发明涉及通信技术,尤其涉及一种流转发方法及设备。
背景技术
随着通信技术的发展,下一代网络(NGN,Next Generation Network)和网络安全方面的技术已经得到广泛的应用,人们对针孔式防火墙、媒体代理设备及网络地址转换设备(NAT,Network Address Translation)等基于流转发的设备性能要求也越来越高。与传统的包转发设备相比,流转发设备具有速度快、安全性好等优点。在目前的IPv4网络中,大量的流转发设备对于解决网络地址转换、网络安全、拓扑隐藏有着举足轻重的作用。
面临的日益增长的Internet发展和日益减少的地址空间,IPv6已经成为IP技术中的主要发展方向,与IPv4相比,IPv6在基于网络的应用中有着巨大的短期的和长期的价值。但问题是如何快速的实现IPv4向IPv6的过渡。如果进行移植,将影响大量的网络设备,所以IPv4和IPv6将在很长一段时间内共存。
参见图1,为IPv6报文的源IP地址和目的IP地址的组成示意图,IPv6将地址空间从IPv432bits增加到了128bits,如图所示的SIP1为源IP地址的第一个32bits,SIP2为源IP地址的第二个32bits,依次类推,DIP1为目的IP地址的第一个32bits,DIP4为目的IP地址的最后一个32bits。
如何保证IPv4和IPv6网络的互通,IPv4和IPv6网络的兼容,以及IPv6网络地址转换、网络安全、拓扑隐藏等特性成为了需要解决的问题。
流转发设备最大的一个特点就是对于转发的报文要求来回路径的唯一性。主要是通过对会话(session)表的查找,来转发报文。Session表的查找Key值为五元组:源IP地址(SIP,Source IP Address)、目的IP地址(DIP,Destination IPAddress)、源端口(Source Port)、目的端口(Destination Port)和协议(Protocol),通过查找这五元组来转发报文。
在进入到IPv6领域中,IP地址由原来的32bits变为128bits。现有流转发技术一般是增加Key值的长度,即将原来的32bits的IPv4地址长度变为128bits的IPv6地址长度作为key值查找session。
现有技术方案模型工作方式如下:
当有报丈到达流转发设备时,可能有这样四种可能:
1)IPv4->IPv4;
2)IPv4->IPv6;
3)IPv6->IPv4;
4)IPv6->IPv6。
根据以上四种组合分别组装Key值,按四种不同情况查找session表。
本发明的发明人在实施现有技术的过程中,发现现有技术存在如下缺点:
1、地址长度增加,同原有的版本无法兼容,致使流转发设备不能正常工作;
2、很多的流转发设备都使用硬件查找session表。当IPv4地址从32bits变为IPv6地址128bits后,session表的Key值增加了总共192bits,这个长度大于目前许多硬件查找器的最大长度,而使得该查找器无法工作。
发明内容
本发明实施例提供了一种流转发方法和设备,可解决IPv4和IPv6网络兼容性的问题。
本发明实施例提供的流转发方法,包括:
当待转发IPv6报文到来时,用所述待转发的IPv6报文在会话表的IPv6索引表中查找与其匹配的V6索引值;
若查找成功,则根据所述V6索引值构造会话表的Key值;将所述待转发的报文按照所述会话表的Key值在会话表中查找对应的报文转发信息,进行后续的报文转发;
若查找失败,则在所述IPv6索引表中创建与所述待转发报文相匹配的V6索引值。
相应地,本发明实施例还提供了一种流转发设备,包括:
存储单元,用于存储会话表,所述会话表中还包含IPv6索引表;
查找单元,根据待转发的IPv6报文,在所述存储单元存储的会话表中的IPv6索引表中查找与其匹配的V6索引值;
处理单元,在所述查找单元在IPv6索引表中查找到与所述待转发报文匹配的V6索引值时,则根据所述V6索引值构造会话表的Key值;在所述查找单元查找V6索引值失败时,创建与所述待转发报文的会话表以及相应的IPv6索引表;
转发单元,用于将所述待转发的IPv6报文按照所述会话表的Key值在会话表查找报文转发信息,进行后续的报文转发。
实施本发明,具有如下有益效果:
本发明实施例提供的流转发方法和设备,不改变原有的IPv4报文的流转发模式,通过增加IPv6索引表的方法,使得流转发设备对IPv6网络流转发与IPv4网络流转发统一起来,可以很好地实现IPv4和IPv6网络的兼容。
附图说明
图1是IPv6报文的源IP地址和目的IP地址的组成示意图;
图2是将报文的源、目的IP地址生成V6索引值的示意图;
图3是将图2中所示的V6索引值加入原五元组构成新的Key值的示意图;
图4是本发明实施例提供的流转发方法的流程示意图;
图5是本发明实施例提供的流转发设备的组成示意图。
具体实施方式
本发明实施例提供了一种流转发方法和设备,可在不改变IPv4报文流转发模式的情况下转发IPv6报文,解决了IPv4和IPv6网络兼容性的问题。
在本发明实施例中,采用增加IPv6索引表的形式代替IPv6地址新增部分,使用比IPv6索引长度小很多的索引值作为Key值进行Session表的查找。
参见图2,是将报文的源IP地址和目的IP地址的前面96bits,共192bits组成V6索引值的示意图。
具体实现如下:当报文地址中包含有IPv6地址时,取出IPv6地址后32bits值放入原IPv4地址中,作为原来IPv4 session查找中的Key值。将新增的源、目的IPv6地址的前96bits总共192bits(对于IPv4的地址,前96bits的缺省值为0)创建出一个新的IPv6索引值,即V6索引值,将该IPv6索引值作为Key值进行会话查找。
参见图3,是将所述V6索引值加入原五元组构成新的Key值的示意图;
需要说明的是,而对于V6索引值的范围可以根据流转发设备中的Session表项的个数来定。假设流转发设备中有1M Session表,那么我们假设所有Session的V6索引值都不相同,那么IPv6索引表项的个数也需要有1M,即V6索引值的范围至少为0~0xFFFFF。
参见图4,为本发明实施例提供的流转发方法的流程示意图。
在步骤S101,构造IPv6索引表的V6索引值;具体实现是,当待转发的报文到来时,如果报文中含有IPv6地址,则取出IPv6地址,并将新增的源、目的IPv6地址的前96bits总共192bits(对于IPv4的地址,前96bits的缺省值为0)创建出一个新的V6索引值,所述V6索引值由IPv6索引表存放;
在步骤S102,当IPv6报文到达后,首先取出报文源、目的IP地址的前96bits(IPv4报文的前96bits设定为0),将这总共192bits作为Key值,在所述IPv6索引表中查找与之相应的V6索引值;并判断是否查找成功,若是,则转入步骤S103,若查找失败,则转入步骤S106;
在步骤S103,在IPv6索引表中成功查找到与所述待转发的IPv6报文相应的V6索引值时,将IPv6索引表中与所述IPv6报文对应的V6索引值填入Session表中的查找Key值中的V6索引值位置;然后再将报文源、目的IP地址的后32bits(IPv4报文的后32bits即为v4地址本身)填入Session表中的查找Key值中的源、目的IP位置,与所述源、目的端口、协议号以及V6索引值构成Session表的新的Key值;
在步骤S104,根据所述Session表中的Key值在所述Session表中查找对应的报文转发信息;若在Session表中成功查找到对所述IPv6报文进行报文转发的信息,则转入步骤S110,按照原来的IPv4流转发流程进行报文的转发;若查找失败,则转入步骤S105,重新创建与所述IPv6报文相应的Session表;
在步骤S106,使用待转发报文的源、目的IP地址的前96bits作为Key值在IPv6索引表中未能查找到与所述待转发的IPv6报文相应的V6索引值时,则需要创建IPv6索引表,具体为使用源、目的IP地址的前96bits按照一定的算法生成一定长度的V6索引值;
在步骤S107,使用五元组(源IP、目的IP、源端口Sport、目的端口Dport和协议号Protocol)再加上V6索引值构成新的Key值;
在步骤S108,根据所述Key值,创建Session表;
在步骤S109,在所述Session表创建成功后,再使用源、目的IP地址的前96bits创建IPv6索引表;
在步骤S110,在IPv6索引表创建完成后,将所述待转发的IPv6报文按照原来的IPv4流转发模式进行报文转发。
参见图5,是本发明实施例提供的流转发设备的组成示意图;
所述流转发设备包括:
存储单元1,用于存储会话表,所述会话表中还包含IPv6索引表;需要说明的是,所述会话(Session)表的创建是通过使用待转发报文的源、目的IP地址的前96bits按照一定的算法生成一定长度的V6索引值;使用五元组(源IP、目的IP、源端口、目的端口和协议号)再加上V6索引值构成Session表新的Key值;之后根据所述Key值,创建Session表;在所述Session表创建成功后,再使用源、目的IP地址的前96bits创建IPv6索引表;
查找单元2,根据待转发IPv6报文,在所述存储单元1存储的会话表中的IPv6索引表中查找相应的V6索引值;
处理单元3,在所述查找单元2在IPv6索引表中查找到与所述待转发报文匹配的V6索引值时,则根据所述IPv6索引表构造会话表的Key值;在所述查找单元查找V6索引值失败时,创建与所述待转发报文相应的Session表以及IPv6索引表;
转发单元4,用于将所述待转发的IPv6报文按照所述会话表的Key值查找会话表中相应的报文转发信息,按照原来IPv4流转发模式,进行后续的报丈转发。
所述流转发设备还包括:
定时器5,用于设定会话表以及IPv6索引表的老化时间,定时触发所述会话表以及IPv6索引表进行更新。
需要说明的是,所有的Session表项都有一定的老化时间,而这个时间是固定的。同时还有一个时间戳,而这个时间戳是不停上涨的。当Session表项的时间戳大于老化时间的时候,这个Session表项就应当被删除。但每当有报文命中流转发设备的Session表时,Session表中的时间戳就会刷新一次(时间戳清零)。增加了IPv6索引表后,每当Session表中的时间戳被刷新一次,IPv6索引表中的时间戳也被刷新一次。
在流转发设备中,通常有对Session表主动删除的操作。增加了IPv6索引表后,如果再有对Session的删除操作,同时也需要对IPv6索引表进行删除操作。
由于IPv6索引表与Session表并非简单的一对一的关系,有可能时一对多(即两报文的源和目的IP地址的前96bits都相等),故对IPv6索引表不能进行简单的删除。可以采取的方法是加速老化。即修改IPv6索引表的时间戳,可以通过调节定时器5让IPv6索引表在十秒钟之后老化(这个时间可以根据实际情况定)。如果在十秒钟之内有报文能够命中Session,那么IPv6索引表自然会被刷新,否则就老化。
实施本发明提供的流转发方法和设备,可以在不改变原有的IPv4报文流转发模式的情况下,通过增加IPv6索引表的方法,使得流转发设备对IPv6网络流转发与IPv4网络流转发统一起来,解决了IPv4和IPv6网络兼容性的问题。
以上所揭露的仅为本发明一种较佳实施例而已,不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (9)
1.一种流转发方法,其特征在于,包括:
当待转发IPv6报文到来时,用所述待转发的IPv6报文在会话表的IPv6索引表中查找与其匹配的V6索引值;
若查找成功,则根据所述V6索引值构造会话表的Key值;将所述待转发的报文按照所述会话表的Key值在会话表中查找对应的报文转发信息,进行后续的报文转发;
若查找失败,则在所述IPv6索引表中创建与所述待转发报文相匹配的V6索引值。
2.如权利要求1所述的流转发方法,其特征在于,所述创建IPv6索引表的步骤包括:
将IPv6报文的源、目的IP地址中各自的前96bits部分生成V6索引值;
在将所述V6索引值加入会话表原五元组Key值构成新的Key值以及新会话表;
将V6索引值作为IPv6索引表项加入IPv6索引表。
3.如权利要求2所述的流转发方法,其特征在于,用所述待转发的IPv6报文在会话表的IPv6索引表中查找与其匹配的V6索引值的步骤包括:
当待转发的IPv6报文到达后,取出所述报文的源、目的IP地址中前96bits部分共192bits作为Key值查找IPv6索引表。
4.如权利要求3所述的流转发方法,其特征在于,根据所述V6索引值构造会话表的Key值的步骤包括:
将所述V6索引值填入会话表的Key值部分的V6索引值位置;
将待转发的IPv6报文的源、目的IP地址的32bits地址填入会话表Key值的源、目的IP位置,连同源、目的端口,协议号以及所述V6索引值构成新的会话表的Key值。
5.如权利要求1至4中任一项所述的流转发方法,其特征在于,将所述待转发的报文按照所述会话表的Key值在会话表中查找对应的报文转发信息,进行后续的报文转发的步骤包括:
若在所述会话表中查找到对应的报文转发信息,则按照原来的IPv4流程转发所述报文;
若在所述会话表中没有查找到对应的报文转发信息,则创建与所述报文对应的会话表以及IPv6索引表。
6.如权利要求5所述的流转发方法,其特征在于,所述IPv6索引表的老化时间与会话表一致。
7.如权利要求6所述的流转发方法,其特征在于,所述IPv6索引表的时间戳可被修改,以延长其老化时间。
8.一种流转发设备,其特征在于,所述设备包括:
存储单元,用于存储会话表,所述会话表中还包含IPv6索引表;
查找单元,根据待转发的IPv6报文,在所述存储单元存储的会话表中的IPv6索引表中查找与其匹配的V6索引值;
处理单元,在所述查找单元在IPv6索引表中查找到与所述待转发报文匹配的V6索引值时,则根据所述V6索引值构造会话表的Key值;在所述查找单元查找V6索引值失败时,创建与所述待转发报文的会话表以及相应的IPv6索引表;
转发单元,用于将所述待转发的IPv6报文按照所述会话表的Key值在会话表查找报文转发信息,进行后续的报文转发。
9.如权利要求8所述的流转发设备,其特征在于,所述设备还包括:
定时器,用于设定会话表以及IPv6索引表的老化时间,定时触发所述会话表进行更新。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100306290A CN101136851A (zh) | 2007-09-29 | 2007-09-29 | 一种流转发方法及设备 |
PCT/CN2008/071279 WO2009043239A1 (fr) | 2007-09-29 | 2008-06-12 | Procédé et dispositif de relais de flux vers l'avant |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100306290A CN101136851A (zh) | 2007-09-29 | 2007-09-29 | 一种流转发方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101136851A true CN101136851A (zh) | 2008-03-05 |
Family
ID=39160694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100306290A Pending CN101136851A (zh) | 2007-09-29 | 2007-09-29 | 一种流转发方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101136851A (zh) |
WO (1) | WO2009043239A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009043239A1 (fr) * | 2007-09-29 | 2009-04-09 | Huawei Technologies Co., Ltd. | Procédé et dispositif de relais de flux vers l'avant |
CN102255932A (zh) * | 2010-05-20 | 2011-11-23 | 百度在线网络技术(北京)有限公司 | 负载均衡方法和负载均衡器 |
CN101304389B (zh) * | 2008-06-20 | 2011-12-07 | 成都市华为赛门铁克科技有限公司 | 报文处理方法、装置和系统 |
CN102970386A (zh) * | 2012-11-15 | 2013-03-13 | 杭州迪普科技有限公司 | 一种实现IPv6报文穿越IPv4网络的方法和设备 |
US8761178B2 (en) | 2010-04-22 | 2014-06-24 | Huawei Technologies Co., Ltd. | Method for creating stream forwarding entry, and data communication device |
CN104539537A (zh) * | 2014-12-25 | 2015-04-22 | 北京华为数字技术有限公司 | 一种路由查找方法和装置 |
CN106657436A (zh) * | 2016-11-29 | 2017-05-10 | 杭州迪普科技股份有限公司 | 报文处理方法和装置 |
CN113114574A (zh) * | 2021-03-30 | 2021-07-13 | 杭州迪普科技股份有限公司 | 一种报文转发方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951380B (zh) * | 2010-09-28 | 2013-08-28 | 杭州华三通信技术有限公司 | 轻量级双栈组网中的访问控制方法及其装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7245622B2 (en) * | 2003-03-27 | 2007-07-17 | Microsoft Corporation | Allowing IPv4 clients to communicate over an IPv6 network when behind a network address translator with reduced server workload |
CN100409646C (zh) * | 2003-10-28 | 2008-08-06 | 武汉烽火网络有限责任公司 | 用策略流实现不同因特网协议数据包转发的方法和设备 |
CN100403726C (zh) * | 2003-12-01 | 2008-07-16 | 华为技术有限公司 | 一种实现IPv6报文流分类的方法 |
CN101136851A (zh) * | 2007-09-29 | 2008-03-05 | 华为技术有限公司 | 一种流转发方法及设备 |
-
2007
- 2007-09-29 CN CNA2007100306290A patent/CN101136851A/zh active Pending
-
2008
- 2008-06-12 WO PCT/CN2008/071279 patent/WO2009043239A1/zh active Application Filing
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009043239A1 (fr) * | 2007-09-29 | 2009-04-09 | Huawei Technologies Co., Ltd. | Procédé et dispositif de relais de flux vers l'avant |
CN101304389B (zh) * | 2008-06-20 | 2011-12-07 | 成都市华为赛门铁克科技有限公司 | 报文处理方法、装置和系统 |
US8761178B2 (en) | 2010-04-22 | 2014-06-24 | Huawei Technologies Co., Ltd. | Method for creating stream forwarding entry, and data communication device |
CN102255932B (zh) * | 2010-05-20 | 2015-09-09 | 百度在线网络技术(北京)有限公司 | 负载均衡方法和负载均衡器 |
CN102255932A (zh) * | 2010-05-20 | 2011-11-23 | 百度在线网络技术(北京)有限公司 | 负载均衡方法和负载均衡器 |
CN102970386A (zh) * | 2012-11-15 | 2013-03-13 | 杭州迪普科技有限公司 | 一种实现IPv6报文穿越IPv4网络的方法和设备 |
CN102970386B (zh) * | 2012-11-15 | 2016-01-13 | 杭州迪普科技有限公司 | 一种实现IPv6报文穿越IPv4网络的方法和设备 |
CN104539537A (zh) * | 2014-12-25 | 2015-04-22 | 北京华为数字技术有限公司 | 一种路由查找方法和装置 |
CN104539537B (zh) * | 2014-12-25 | 2018-04-20 | 北京华为数字技术有限公司 | 一种路由查找方法和装置 |
CN106657436A (zh) * | 2016-11-29 | 2017-05-10 | 杭州迪普科技股份有限公司 | 报文处理方法和装置 |
CN106657436B (zh) * | 2016-11-29 | 2019-07-09 | 杭州迪普科技股份有限公司 | 报文处理方法和装置 |
CN113114574A (zh) * | 2021-03-30 | 2021-07-13 | 杭州迪普科技股份有限公司 | 一种报文转发方法及装置 |
CN113114574B (zh) * | 2021-03-30 | 2023-04-25 | 杭州迪普科技股份有限公司 | 一种报文转发方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2009043239A1 (fr) | 2009-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101136851A (zh) | 一种流转发方法及设备 | |
US11134012B2 (en) | Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow | |
US9281955B2 (en) | Interoperability of data plane based overlays and control plane based overlays in a network environment | |
WO2019057199A1 (zh) | 一种报文转发的方法及网络设备 | |
EP2572473B1 (en) | Methods and apparatus for use in an openflow network | |
CN104734963B (zh) | 一种基于SDN的IPv4和IPv6网络互连方法 | |
US20170228251A1 (en) | Learning A MAC Address in VXLAN | |
CN107395532B (zh) | 一种基于sdn的多租户虚拟网络隔离方法 | |
WO2016198016A2 (zh) | 一种bier控制信息的传输方法、装置和系统 | |
CN106603407B (zh) | 组播地址的传输方法和装置 | |
WO2019184752A1 (zh) | 网络设备的管理方法、装置及系统 | |
US20160277239A1 (en) | Method and device for configuring and managing network element equipment, and network element equipment | |
US9143437B1 (en) | Apparatus and method for multicast data packet forwarding | |
CN108632145B (zh) | 一种报文转发方法和叶子节点设备 | |
CN104821890A (zh) | 一种基于普通交换芯片的OpenFlow多级流表的实现方法 | |
WO2012141998A1 (en) | Mapping private and public addresses | |
EP3917097A1 (en) | Bier-based bidirectional forwarding detection session creation method, bfir, bfer, system, and storage medium | |
CN103220215B (zh) | TRILL网络中FCoE报文的转发方法和装置 | |
JP2018527813A (ja) | クラウドプラットフォームのセキュリティの実現 | |
US10904202B2 (en) | Packet routing using a network device | |
WO2020182085A1 (zh) | 报文的传输方法和设备 | |
CN105264841A (zh) | 报文转发系统、设备和方法 | |
CN102158395B (zh) | 一种路由器邻居发现条目处理的装置及方法 | |
JP2017229027A (ja) | スイッチ装置および中継システム | |
CN105681223A (zh) | 一种sdn的数据包转发方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20080305 |