CN101841457B - 路由器及其处理IPv6数据包的方法 - Google Patents
路由器及其处理IPv6数据包的方法 Download PDFInfo
- Publication number
- CN101841457B CN101841457B CN200910300950.5A CN200910300950A CN101841457B CN 101841457 B CN101841457 B CN 101841457B CN 200910300950 A CN200910300950 A CN 200910300950A CN 101841457 B CN101841457 B CN 101841457B
- Authority
- CN
- China
- Prior art keywords
- packet
- ipv6 packet
- control information
- ipv6
- area network
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
Abstract
一种路由器处理IPv6数据包的方法,包括以下步骤:接收数据包,并判断数据包是否为IPv6数据包;如果数据包是IPv6数据包,则根据IPv6数据包的控制信息判断IPv6数据包的来源;根据IPv6数据包的来源,修改IPv6数据包的控制信息;以及根据修改后的IPv6数据包的控制信息,直接转发IPv6数据包至局域网或者广域网。本发明还提供了一种处理IPv6数据包的路由器。本发明所提供的路由器及其处理IPv6数据包的方法可以在原有网络架构基本不改变的情况下同时处理IPv4和IPv6数据包。
Description
技术领域
本发明涉及一种网络装置,尤其涉及一种路由器及其处理IPv6数据包的方法。
背景技术
在传统的IP网络中,主要采用的是IPv4网络通信协议。随着Internet的不断发展,IPv4网络通信协议逐渐暴露出许多不足,其中最严重、最迫切需要解决的就是IP地址空间耗尽和骨干路由器中路由表过于庞大的问题,这两个问题直接导致了下一代因特网协议即IPv6网络通信协议的诞生。
但是,由于IPv4网络的基础架构已经相当完善,目前Internet网络中IPv4的用户和设备数量庞大,通信网络运营商也不可能一下抛弃现有的IPv4网络而改建IPv6网络,因此从IPv4协议直接过渡到IPv6协议不太现实。因此,如何利用现有的网络实现IPv4协议与IPv6协议的同网共存是目前最值得关注的问题。
发明内容
有鉴于此,有必要提供一种路由器,可同时处理IPv4数据包与IPv6数据包,实现IPv4协议与IPv6协议的同网共存。
此外,还需提供一种路由器处理IPv6数据包方法,可在不改变原有网络架构情况下,实现IPv4协议与IPv6协议的同网共存。
本发明提供的路由器,与局域网及广域网连接,可同时处理IPv4数据包与IPv6数据包。所述路由器包括局域网端口、广域网端口、封包判断模块、网络判断模块、修改模块、封包转发模块及处理模块。封包判断模块用于接收数据包,并判断数据包是否为IPv6数据包。网络判断模块用于在数据包为IPv6数据包时根据IPv6数据包的控制信息判断IPv6数据包的来源,该来源包括局域网或广域网。修改模块用于根据网络判断模块判断的IPv6数据包的来源修改IPv6数据包的控制信息。封包转发模块用于根据修改后的IPv6数据包的控制信息经局域网端口或广域网端口直接转发IPv6数据包至局域网或者广域网。以及处理模块用于执行封包判断模块、网络判断模块、修改模块及封包转发模块。
本发明提供的路由器处理IPv6数据包的方法包括以下步骤:接收数据包,并判断数据包是否为IPv6数据包;如果数据包是IPv6数据包,则根据IPv6数据包的控制信息判断IPv6数据包的来源;根据IPv6数据包的来源,修改IPv6数据包的控制信息;以及根据修改后的IPv6数据包的控制信息,调用转发函数直接转发IPv6数据包至局域网或者广域网。
所述路由器及其处理IPv6数据包的方法,通过处理IPv6数据包以同时支持IPv4网络和IPv6网络,使得在原有网络架构基本不改变的情况下利用现有的网络实现IPv4协议与IPv6协议的同网共存。
附图说明
图1为本发明路由器一实施方式的应用环境及结构图。
图2为本发明处理IPv6数据包的方法一实施方式的流程图。
具体实施方式
请参阅图1,所示为本发明实施方式中路由器10的应用环境及结构图。在本实施方式中,路由器10处理局域网与广域网之间的IPv4与IPv6通信,如果是局域网内的IPv4与IPv6通信,则可以通过硬件的网关和软件的桥接器来完成数据包的传送。路由器10包括局域网端口110与广域网端口120。路由器10分别通过局域网端口110及广域网端口120与局域网20及广域网30相连,用于接收并处理来自局域网20及广域网30数据包。
在本实施方式中,路由器10包括封包判断模块130、网络判断模块140、修改模块150、封包转发模块160及处理模块170。封包判断模块130用于通过局域网端口110或广域网端口120从局域网20或广域网30接收数据包,并判断数据包是否为IPv6数据包。数据包中的信息包括数据包的类型字段(Ether Type)。在本实施方式中,封包判断模块130根据所接收到的数据包内的类型字段来判断该数据包的类型。在本实施方式中,若封包判断模块130判断出所接收的的数据包不是IPv6数据包,而是路由器10原本就可以路由处理的数据包,如IPv4数据包、ARP(Address Resolution Protocol)数据包等,则路由器10就按照其原有的处理方法来对数据包进行转发。例如,若所接收的数据包为IPv4数据包,则封包判断模块130先对IPv4数据包进行地址转换,再开启IPv4协议栈转发IPv4数据包。
网络判断模块140用于在数据包为IPv6数据包时判断IPv6数据包的来源,即判断IPv6数据包是来自局域网20还是来自广域网30。在本实施方式中,网络判断模块140通过判断IPv6数据包的控制信息来确定IPv6数据包的是来自局域网20还是来自广域网30。在本实施方式中,该IPv6数据包的控制信息为数据结构skb->dev,当IPv6数据包被接收到时,该控制信息为接收所述IPv6数据包的设备的设备信息。当IPv6数据包的控制信息是局域网端口110的设备信息时,网络判断模块140判断IPv6数据包来自局域网20;当IPv6数据包的控制信息是广域网端口120的设备信息时,网络判断模块140判断IPv6数据包是来自广域网30。
修改模块150用于根据所述网络判断模块判断的Pv6数据包的来源修改IPv6数据包的控制信息。在本实施方式中当网络判断模块140判断IPv6数据包来自局域网20时,修改模块150将IPv6数据包的控制信息,即数据结构skb->dev的内容修改为广域网端口120的设备信息;当网络判断模块140判断IPv6数据包来自广域网30时,修改模块150将IPv6数据包的控制信息,即数据结构skb->dev的内容修改为局域网端口110的设备信息。
封包转发模块160用于根据修改后的IPv6数据包的控制信息经局域网端口110或广域网端口120直接转发IPv6数据包至局域网20或者广域网30,而不再对IPv6数据包进行路由处理。在本实施方式中,修改后的IPv6数据包的控制信息为局域网端口110时,封包转发模块160调用转发函数经局域网端口110直接转发IPv6数据包至局域网20;修改后的IPv6数据包的控制信息为广域网端口120时,封包转发模块160调用转发函数经广域网端口120直接转发IPv6数据包至广域网30。在本实施方式中,转发函数为dev_queue_xmit()函数。
处理模块170用于执行封包判断模块130、网络判断模块140、修改模块150及封包转发模块160。
因路由器10通过修改数据包的控制信息并调用转发函数就能处理并转发其接收的所有IPv6数据包,使得路由器10不但可以处理IPv4数据包,也能简单处理IPv6数据包,非常简单的实现了IPv4到IPv6的过渡。
请参阅图2,所示为本发明路由器处理IPv6的数据包的方法一实施方式的流程图。所述处理IPv6的数据包的方法通过图1所示的功能模块来执行。
在步骤S200,封包判断模块130接收数据包。在本实施方式中,数据包是来自局域网10或者广域网20。
在步骤S202,封包判断模块130判断接收到的数据包是否为IPv6数据包。在本实施方式中,封包判断模块130判断数据包是否为IPv6数据包的步骤是根据数据包的类型字段来判断。当数据包的类型字段为IPv6时,数据包为IPv6数据包。否则,数据包的类型不为IPv6数据包。
如果封包判断模块130判定数据包为IPv6数据包,则在步骤S204,网络判断模块140判断该IPv6数据包的来源。在本实施方式中,网络判断模块140根据接收的IPv6数据包的控制信息确定IPv6数据包的来源。在本实施方式中,当IPv6数据包的控制信息是局域网端口110的设备信息时,则判断模块130判断IPv6数据包来自局域网20;当IPv6数据包的控制信息是广域网端口120的设备信息时,则判断模块130判断IPv6数据包来自广域网30。
若IPv6数据包来自局域网20,则在步骤S206,修改模块150修改该IPv6数据包的控制信息,即数据结构skb->dev为广域网端口120的设备信息。在本实施方式中,处理模块170通过查询法将广域网端口120的设备信息找出来,然后修改模块150把IPv6数据包的控制信息,即数据结构skb->dev修改为广域网端口120的设备信息。在本实施方式中,查询法可以为通信领域内常用的指针查询法、查表法等。
在步骤S208中,封包转发模块160根据修改后的IPv6数据包的控制信息直接转发IPv6数据包至广域网30,而不需要对IPv6数据包进行路由处理。在本实施方式中,封包转发模块160调用了转发函数经广域网端口120直接转发IPv6数据包至广域网30。在本实施方式中,转发函数为dev_queue_xmit()函数。
若IPv6数据包来自广域网30,在步骤S210,修改模块150修改IPv6数据包的控制信息为局域网端口110的设备信息。
在步骤S212中,封包转发模块160调用转发函数根据修改后的IPv6数据包的控制信息经局域网端口110直接转发IPv6数据包至局域网20,而不需要对IPv6数据包进行路由处理。
如果数据包不是IPv6数据包时,则在步骤S214,路由器10按照原有的路由处理方法处理数据包。如,若所接收的数据包为IPv4数据包,则路由器10先对IPv4数据包进行地址转换,再开启IPv4协议栈转发IPv4数据包。
本发明的路由器10及其处理IPv6数据包的方法通过封包判断模块130、网络判断模块140以及封包转发模块150来实现路由器10同时处理IPv4数据包与IPv6数据包,使得在原有网络架构基本不改变的情况下利用现有的网络实现IPv4协议与IPv6协议的同网共存。
Claims (6)
1.一种路由器,可同时处理IPv4与IPv6数据包,其包括局域网端口与广域网端口,其特征在于,所述路由器包括:
封包判断模块,用于接收数据包,并判断所述数据包是否为IPv6数据包;
网络判断模块,用于在所述数据包为IPv6数据包时根据所述IPv6数据包的控制信息判断所述IPv6数据包的来源,所述来源包括局域网或广域网;
修改模块,用于根据所述网络判断模块判断的IPv6数据包的来源修改所述IPv6数据包的控制信息,其中所述修改模块修改的所述IPv6数据包的控制信息为数据结构skb->dev,所述修改模块在所述IPv6数据包的来源是局域网时将所述IPv6数据包的控制信息修改为所述广域网端口的设备信息,所述修改模块在所述IPv6数据包的来源是广域网时将所述IPv6数据包的控制信息修改为所述局域网端口的设备信息;
封包转发模块,用于根据所述修改后的IPv6数据包的控制信息经所述局域网端口或所述广域网端口直接转发所述IPv6数据包至局域网或者广域网;以及
处理模块,用于执行所述封包判断模块、所述网络判断模块、所述修改模块及所述封包转发模块。
2.如权利要求1所述的路由器,其特征在于,所述数据包包括类型字段。
3.如权利要求2所述的路由器,其特征在于,所述封包判断模块根据所述数据包的类型字段判断所述数据包是否为IPv6数据包。
4.一种路由器处理IPv6数据包的方法,其特征在于,包括以下步骤:
接收数据包,并判断所述数据包是否为IPv6数据包;
如果所述数据包是IPv6数据包,则根据所述IPv6数据包的控制信息判断所述IPv6数据包的来源;
根据所述IPv6数据包的来源,修改所述IPv6数据包的控制信息,所述修改所述IPv6数据包的控制信息的步骤包括:当所述IPv6数据包的控制信息为所述局域网端口的设备信息时,则判断所述IPv6数据包来自局域网,并修改所述IPv6数据包的控制信息为所述广域网端口的设备信息;及当所述IPv6数据包的控制信息为所述广域网端口的设备信息时,则判断所述IPv6数据包来自广域网,并修改所述IPv6数据包的控制信息为所述局域网端口的设备信息;以及
根据所述修改后的IPv6数据包的控制信息,直接转发所述IPv6数据包至局域网或者广域网。
5.如权利要求4所述的路由器处理IPv6数据包的方法,其特征在于,所述数据包包括类型字段。
6.如权利要求5所述的路由器处理IPv6数据包的方法,其特征在于,所述判断所述数据包是否为IPv6数据包的步骤是根据所述数据包的类型字段来判断。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910300950.5A CN101841457B (zh) | 2009-03-19 | 2009-03-19 | 路由器及其处理IPv6数据包的方法 |
US12/479,826 US20100238930A1 (en) | 2009-03-19 | 2009-06-07 | Router and method of forwarding ipv6 packets |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910300950.5A CN101841457B (zh) | 2009-03-19 | 2009-03-19 | 路由器及其处理IPv6数据包的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101841457A CN101841457A (zh) | 2010-09-22 |
CN101841457B true CN101841457B (zh) | 2013-01-09 |
Family
ID=42737571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910300950.5A Expired - Fee Related CN101841457B (zh) | 2009-03-19 | 2009-03-19 | 路由器及其处理IPv6数据包的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100238930A1 (zh) |
CN (1) | CN101841457B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103299581A (zh) | 2011-01-12 | 2013-09-11 | 适应性频谱和信号校正股份有限公司 | 用于联合优化wan和lan网络通信的系统及方法 |
CN103812746B (zh) * | 2012-11-14 | 2018-08-28 | 深圳市共进电子股份有限公司 | 基于linux操作系统的桥接设备及其通信方法 |
CN106559348A (zh) * | 2015-09-25 | 2017-04-05 | 中国电力科学研究院 | 一种智能6LoWPAN边界路由实现方法及边界路由器 |
CN109818982B (zh) * | 2019-03-27 | 2021-08-17 | 深圳市吉祥腾达科技有限公司 | 一种提升网络通信设备新建性能的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060120382A1 (en) * | 2003-03-10 | 2006-06-08 | Pascal Thubert | Arrangement for traversing an IPv4 network by IPv6 mobile routers |
US20060126613A1 (en) * | 2004-12-09 | 2006-06-15 | Nortel Networks Limited | Multi-homed broadband router |
Family Cites Families (3)
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 |
JP4597706B2 (ja) * | 2005-02-25 | 2010-12-15 | パナソニック株式会社 | 情報処理システム、情報処理装置、サーバ装置、及び情報処理方法 |
JP5242301B2 (ja) * | 2008-09-01 | 2013-07-24 | 株式会社東芝 | メッセージを転送する装置、出力方法および出力プログラム |
-
2009
- 2009-03-19 CN CN200910300950.5A patent/CN101841457B/zh not_active Expired - Fee Related
- 2009-06-07 US US12/479,826 patent/US20100238930A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060120382A1 (en) * | 2003-03-10 | 2006-06-08 | Pascal Thubert | Arrangement for traversing an IPv4 network by IPv6 mobile routers |
US20060126613A1 (en) * | 2004-12-09 | 2006-06-15 | Nortel Networks Limited | Multi-homed broadband router |
Also Published As
Publication number | Publication date |
---|---|
US20100238930A1 (en) | 2010-09-23 |
CN101841457A (zh) | 2010-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101695047B (zh) | 一种实现动态隧道报文转发的方法及交换机 | |
CN101573913B (zh) | 用于多播路由选择的方法和设备 | |
US9154993B1 (en) | Mobile-IPv6 encapsulation for wireless networks | |
CN101421998B (zh) | 无线通信的上行链路和双向话务分类 | |
EP2479935A1 (en) | Method, system and communication terminal for implementing inter-communication between new network and internet | |
CN101841457B (zh) | 路由器及其处理IPv6数据包的方法 | |
CN102100036A (zh) | 用于分段的包在基于包的通信网络上的传输的方法和系统 | |
CN102932461A (zh) | 网络加速传输方法及装置 | |
CN101635676B (zh) | 一种报文处理方法和一种网络设备 | |
CN100377550C (zh) | 一种路由表下一跳ip地址到mac地址解析方法 | |
CN102624619B (zh) | 基于源地址的多默认网关下实现报文转发路由选择的方法 | |
CN1741502B (zh) | 基于4over6的IPv6和IPv4网间互通的方法 | |
CN111788812B (zh) | 用于分组数据转换的技术 | |
CN107733930A (zh) | 用于在多个wan网络网关处转发互联网协议(ip)数据包的方法和系统 | |
CN105515995B (zh) | 报文处理方法及装置 | |
CN102387221B (zh) | 一种数据转发方法及系统 | |
CN100539551C (zh) | 静态网络地址转换-协议转换的实现方法及网关设备 | |
CN102377654B (zh) | 路由器及在IPv4路由器上实现IPv6报文穿越的方法 | |
CN103166855A (zh) | 识别和转换网络报文中的地址信息的方法和系统 | |
CN109088953B (zh) | 一种Linux网关代理转换IP的方法及装置 | |
RU2005119194A (ru) | Способ обработки пакетов данных в сети передачи данных с функцией мобильности | |
CN101656655B (zh) | 处理mpls分组的方法、媒体网关和系统 | |
CN100450276C (zh) | 移动ip网络中外地代理向移动节点转发报文的方法 | |
CN100596120C (zh) | 移动ip网络中实现信令穿越网络地址转换设备的方法 | |
US20080159197A1 (en) | Network device and packet transmitting method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130109 Termination date: 20170319 |