CN102821032A - 一种快速转发数据包的方法及三层设备 - Google Patents

一种快速转发数据包的方法及三层设备 Download PDF

Info

Publication number
CN102821032A
CN102821032A CN201110155422.2A CN201110155422A CN102821032A CN 102821032 A CN102821032 A CN 102821032A CN 201110155422 A CN201110155422 A CN 201110155422A CN 102821032 A CN102821032 A CN 102821032A
Authority
CN
China
Prior art keywords
data packet
forwarding
module
forwarding table
quintuple
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.)
Granted
Application number
CN201110155422.2A
Other languages
English (en)
Other versions
CN102821032B (zh
Inventor
郭红燕
靳海燕
王日红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Global Innovation Polymerization LLC
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201110155422.2A priority Critical patent/CN102821032B/zh
Priority to PCT/CN2011/082301 priority patent/WO2012167559A1/zh
Publication of CN102821032A publication Critical patent/CN102821032A/zh
Application granted granted Critical
Publication of CN102821032B publication Critical patent/CN102821032B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种快速转发数据包的方法,包括:三层设备判断数据包是否可以快速转发,如果可以,则将数据包进行改写后直接转发;如果不可以,则将数据包交由自身协议栈处理后转发。本发明还同时公开了一种快速转发数据包的三层设备,采用本发明能减少三层设备转发数据包所做的重复工作,提高数据包转发的速度。

Description

一种快速转发数据包的方法及三层设备
技术领域
本发明涉及通信领域的路由技术,尤其涉及一种快速转发数据包的方法及三层设备。
背景技术
网络日益成为人们日常生活中必不可少的工具,几乎每个人都要使用网络查询数据、收发电子邮件和玩联机游戏,用户对数据传输速度的要求也越来越高。在网络中,数据传输速度取决于起到路由作用的设备,比如三层设备。
目前,三层设备转发数据包需要经过大量处理,其处理过程包括:三层设备接收数据包之后先进行数据包的类型识别、记录接收端口号,再交由协议栈进行寻路等一系列处理,处理完成后发送数据包。但是,通常由三层设备转发的任意一个连接的所有数据包都使用相同的路径。可见,三层设备在转发的过程中做了大量的重复工作,从而严重降低了数据包转发的速度。
发明内容
有鉴于此,本发明的目的在于提供一种快速转发数据包的方法及三层设备,能减少三层设备转发数据包所做的重复工作,提高数据包转发速度。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种快速转发数据包的方法,该方法包括以下步骤:
三层设备判断数据包是否可以快速转发,如果可以,则将数据包进行改写后转发;如果不可以,则将数据包交由自身协议栈处理后转发。
上述方案中,所述判断数据包是否可以快速转发包括:如果数据包中的互联网协议(IP)版本号为IPV4或IPV6,数据包中的分片标识为不分片,数据包中的IP协议为传输控制协议(TCP)或用户数据包协议(UDP),数据包中的五元组与三层设备中所保存的任意一个转发表中记录的五元组相同,则数据包可以快速转发,反之则不可以快速转发。
上述方案中,所述将数据包进行改写包括:三层设备利用数据包的五元组选择转发表,再利用转发表中的信息将数据包中的源介质访问控制(MAC)地址、目的MAC地址、网络地址转换(NAT)后的IP地址、NAT后的端口号和虚拟局域网(VLAN)值替换。
上述方案中,所述转发表为记录有一个连接中可以快速转发的数据包的相关信息、以及快速转发数据包时所需改写的具体内容;所述相关信息包括:五元组、NAT类型、NAT后的IP地址、NAT后的端口号、数据包发送时的源MAC地址、目的MAC地址和VLAN值等内容;所述三层设备中同时存在多个转发表,使用五元组作为区分各个转发表的标识。
上述方案中,所述转发之前,该方法还包括:三层设备判断即将被转发的数据包是否满足为其所在的连接建立转发表的条件,如果不满足,则不建立转发表,如果满足条件,则利用连接跟踪表中的信息以及即将发送的数据包中的相关信息建立转发表并保存。
上述方案中,所述建立转发表的条件包括:三层设备根据数据包中的五元组查到对应的连接跟踪表,连接跟踪表中的帮助函数的使用记录为未使用,IP协议为TCP或UDP,且连接状态为已建立的连接,转发标识为经过转发;三层设备查看数据包中的分片标识为未分片;三层设备提取数据包的五元组,利用五元组在三层设备中已有的转发表中查找,没有查找到记录的该五元组的转发表。
上述方案中,所述转发之后,该方法还包括:三层设备在任意一个连接跟踪表完成任何一个操作后开启连接跟踪表中的定时器,当定时器超时后,三层设备查询有相同五元组的转发表的使用情况,如果在本次查询和上次查询之间,转发表没有被访问过,则三层设备删除转发表,且删除该连接跟踪表;否则不做操作。
本发明还提供了一种快速转发数据包的三层设备,该三层设备包括:快速转发模块、协议处理模块和发送模块;其中,
快速转发模块,用于判断数据包是否可以快速转发,可以快速转发时,将数据包进行改写后发送给发送模块;不可以快速转发时,将数据包发送给协议处理模块;
协议处理模块,用于接收快速转发模块发送的数据包,经三层设备的协议栈处理后发送给发送模块;
发送模块,用于接收快速转发模块发送的改写后的数据包、协议处理模块发送的经过处理的数据包,并发送数据包。
上述方案中,所述快速转发模块判断数据包是否可以快速转发为:提取数据包中的IP版本号、分片标识和五元组,如果IP版本号为IPV4或IPV6,分片标识为不分片,五元组中的IP协议为TCP或UDP,且用五元组跟模块中所保存的所有转发表做比对,如果有相同的五元组出现在转发表中,则数据包可以快速转发,反之则不可以快速转发。
上述方案中,所述快速转发模块将数据包进行改写为:利用数据包的五元组选中转发表,再利用转发表中的信息将数据包中的源MAC地址、目的MAC地址、NAT后的IP地址、NAT后的端口号、VLAN值等信息替换。
上述方案中,所述发送模块,还用于在发送数据包之前判断数据包是否满足为其建立转发表的条件,不满足条件时不做操作,满足条件时则将数据包中建立转发表所需信息写成建立转发表的通知发给快速转发模块;
相应的,所述快速转发模块,还用于接收发送模块发送的建立转发表的通知后提取通知中的信息,从协议处理模块获取连接跟踪表中建立转发表所需的信息,建立转发表;
所述协议处理模块,还用于向快速转发模块发送连接跟踪表中建立转发表所需的信息。
上述方案中,所述发送模块,还用于提取数据包中的五元组和分片标识,利用五元组写成的获取请求从协议处理模块中获取相应的连接跟踪表,如果连接跟踪表中的帮助函数的使用记录为未使用,IP协议为TCP或UDP,且连接状态为已建立的连接,转发标识为经过转发,数据包的分片标识为未分片,再利用五元组写成比对指令,将比对指令发送给快速转发模块,之后接收快速转发模块返回的比对结果,比对结果为不存在该五元组的转发表,为该数据包所在连接建立转发表;
相应的,所述协议处理模块,还用于接收发送模块发送的获取请求,分析获取请求中的五元组后查找到该五元组对应的连接跟踪表,之后向发送模块发送连接跟踪表;
所述快速转发模块,还用于接收发送模块的比对指令,提取比对指令中的五元组后查找是否有记录该五元组的转发表,如果有,则向发送模块发送存在该五元组的转发表的比较结果,如果没有则向发送模块发送不存在该五元组的转发表的比较结果。
上述方案中,所述协议处理模块,进一步用于在任意一个连接跟踪表完成任何一个操作之后开启该连接跟踪表中的定时器,当定时器超时后,向快速转发模块发送有相同五元组的转发表的使用情况的询问信息,如果接收到的回复为转发表在本次查询和上次查询之间从没有被访问过,则删除该连接跟踪表,并向快速转发模块发送删除有相同五元组的转发表的指令,否则不做操作;
相应的,所述快速转发模块,还用于接收协议处理模块的询问信息,根据转发表的使用情况,发送在本次查询和上次查询之间从没有被访问过的回复信息或者是在本次查询和上次查询之间被访问过的回复信息,接收协议处理模块发送的删除有相同五元组的转发表的指令后删除该转发表。
上述方案中,该三层设备包括:报文接收模块,用于接收数据包,判断快速转发模块是否开启,如果已开启,则将数据包发送给快速转发模块,如果没有开启,则将数据包发送给协议处理模块;
相应的,所述快速转发模块,还用于为报文接收模块发送开启通知,接收报文接收模块发送的数据包;
所述协议处理模块,还用于接收报文接收模块发送的数据包。
本发明所提供的快速转发数据包的方法及三层设备,具有以下的优点和特点:三层设备可以利用数据包的五元组判断是否可以快速转发,这样三层设备接收到的同一个连接的数据包不需要每个数据包都进行转发寻路和上传到协议栈进行处理,从而能大大减少数据包的传送时间,减少三层设备转发同一个连接中的数据包所做的重复工作,进而提高三层设备的数据包转发速度。
附图说明
图1为本发明快速转发数据包的方法的实现流程示意图;
图2为本发明快速转发数据包的三层设备的组成结构示意图。
具体实施方式
本发明的基本思想是:三层设备判断数据包是否可以快速转发,如果可以,则将数据包进行改写后直接转发;如果不可以,则将数据包交由协议栈处理之后转发。
下面结合附图及具体实施例对本发明再做进一步详细的说明。
如图1所示,本发明快速转发数据包的方法,包括以下步骤:
步骤101:三层设备接收到数据包后,判断数据包是否可以快速转发,如果可以,则执行步骤102,如果不可以,则执行步骤103;
这里,所述数据包主要包括:五元组、虚拟局域网(VLAN)值、分片标识、互联网协议(IP)版本号、源介质访问控制(MAC)地址、目的MAC地址等;其中,所述五元组指:IP源地址、IP目的端地址、源端口、目的端口和IP协议。
本步骤中,所述判断数据包是否可以快速转发包括:如果数据包中的IP版本号为IPV4或IPV6,数据包中的分片标识为不分片,数据包中的IP协议为传输控制协议(TCP)、或用户数据包协议(UDP),数据包中的五元组与三层设备中所保存的任意一个转发表中记录的五元组相同,则数据包可以快速转发,反之则不可以快速转发;
其中,所述转发表记录有一个连接中可以快速转发的数据包的相关信息及快速转发数据包时所需改写的具体内容;所述转发表包括:五元组、网络地址转换(NAT)类型、NAT后的IP地址、NAT后的端口号,数据包发送时的源MAC地址、目的MAC地址和VLAN值等内容;三层设备中可以同时存在多个转发表,使用五元组来做区分各个转发表的标识。
步骤102:三层设备利用数据包的五元组选择转发表,利用转发表中的信息改写数据包,完成后执行步骤104;
这里,所述改写数据包指将数据包内相关字段中的内容根据转发表中的信息进行替换,替换的内容包括:源MAC地址、目的MAC地址、NAT后的IP地址和端口号和VLAN值。
步骤103:三层设备将数据包交由自身的协议栈进行处理;
步骤103中,协议栈的处理过程由三层设备中已有的处理函数决定,在协议栈的处理过程中,三层设备会对数据包做NAT,修改数据包的源MAC地址、目的MAC地址以及修改VLAN值等操作,最终为数据包选择发送端口;
三层设备还会使用连接跟踪技术记录不同阶段的数据包的相关信息,并利用这些信息建立该数据包所在连接的连接跟踪表,连接跟踪表中包括:五元组、NAT类型、NAT后的IP地址、NAT后的端口号,数据包发送时的源MAC地址、目的MAC地址,定时器、连接的状态、转发标识、帮助函数的使用记录等信息。
步骤104:将数据包加入到发送队列中,并判断该数据包是否满足建立转发表条件,如果满足条件,则为数据包所在连接建立转发表,如果不满足条件,则不建立转发表;
这里,所述发送队列为三层设备设置的先进先出(FIFO)队列。
所述建立转发表指:首先利用数据包中的五元组选择对应的连接跟踪表,再提取连接跟踪表中的NAT类型、NAT后的IP地址、NAT后的端口号等内容;并从数据包中提取数据包发送时的源MAC地址、目的MAC地址和VLAN值以及PPP头等内容;最后利用上述提取的内容建立转发表并保存。
所述建立转发表的条件包括:三层设备根据数据包中的五元组查到该数据包所在连接的连接跟踪表,连接跟踪表中的帮助函数的使用记录为未使用,IP协议为TCP或UDP,且连接状态为已建立的连接,转发标识为经过转发;三层设备查看数据包中的分片标识为未分片;三层设备提取数据包的五元组,利用五元组在三层设备中已有的转发表中查找,没有查找到记录该五元组的转发表。
步骤105:三层设备从发送队列中提取数据包进行发送。
经过上述步骤,可以完成一个连接中经由本地转发的数据包的转发工作,三层设备对于是否进行快速转发可以根据实际情况通过软件进行设置。
此外,步骤105完成后,三层设备还会删除转发表,该删除过程包括:三层设备在任意一个连接跟踪表完成任何一个操作之后,会开启连接跟踪表的定时器,当定时器超时后,三层设备会查询有相同五元组的转发表的使用情况,如果在本次查询和上次查询之间,转发表没有被访问过,则三层设备删除转发表,且删除该连接跟踪表;否则不做操作。
这里,所述任何一个操作指三层设备中所有关于该连接跟踪表的操作,比如:建立转发表时对连接跟踪表的信息查询或者提取操作、在三层设备的协议栈处理数据包时,连接跟踪表对数据包的信息提取以及状态记录的操作;
所述转发表被访问指上述步骤101和步骤102中,三层设备使用转发表与数据包做比对,以及使用转发表对数据包做改写。
为实现上述方法,如图2所示,本发明快速转发数据包的三层设备包括:快速转发模块21、协议处理模块22和发送模块23;其中,
快速转发模块21,用于判断数据包是否可以快速转发,可以快速转发时,将数据包进行改写后发送给发送模块;不可以快速转发时,将数据包发送给协议处理模块。
这里,所述数据包包括:IP源地址、IP目的端地址、源端口、目的端口、IP协议、VLAN值、分片标识、IP协议版本号、PPP封装标识源MAC地址、网关的MAC地址等;所述五元组指:IP源地址、IP目的端地址、源端口、目的端口和协议号。
协议处理模块22,用于接收快速转发模块发送的数据包,经三层设备的协议栈处理后发送给发送模块。
这里,所述协议处理模块处理数据包的具体过程由三层设备中已有的处理函数而决定。
发送模块23,用于接收快速转发模块发送的改写后的数据包、以及协议处理模块发送的经过处理的数据包,并发送数据包。
这里,所述发送数据包是指将数据包放入FIFO队列之后从队列中提取数据包发送。
所述快速转发模块21,具体用于提取数据包中的IP协议版本号、分片标识、IP协议和五元组,如果数据包中的IP协议版本号为IPV4或IPV6,数据包中的分片标识为不分片,数据包中的IP协议为TCP或UDP,且数据包中的五元组跟转发表中记录的五元组相同,则数据包可以快速转发,否则数据包不可以快速转发。
所述快速转发模块21,还用于利用数据包的五元组选中转发表,再利用转发表中的信息将数据包中的源介质访问控制MAC地址、目的MAC地址、NAT后的IP地址、NAT后的端口号、虚拟局域网VLAN值等信息替换;
所述转发表记录有可以快速转发的数据包的信息,所述信息包括:五元组、NAT类型、NAT后的IP地址、NAT后的端口号、源MAC地址、网关的MAC地址、VLAN值等内容;所述五元组指IP源地址、IP目的端地址、源端口、目的端口和协议号。
快速转发模块21,还用于保存转发表。
所述发送模块23,还用于在发送数据包之前判断数据包是否满足为其所在的连接建立转发表的条件,不满足条件时不做操作;满足条件时,将数据包中建立转发表所需信息写成建立转发表的通知发给快速转发模块21;相应的,所述快速转发模块21,还用于接收发送模块23发送的建立转发表的通知后提取通知中的信息,从协议处理模块22获取连接跟踪表中建立转发表所需的信息,最后建立转发表;所述协议处理模块22,还用于向快速转发模块21发送连接跟踪表中建立转发表所需的信息。
所述发送模块23,还用于提取数据包中的五元组和分片标识,利用五元组写成的获取请求从协议处理模块22中获取相应的连接跟踪表,如果连接跟踪表中的帮助函数的使用记录为未使用,IP协议为TCP或UDP,且连接状态为已建立的连接,转发标识为经过转发,数据包的分片标识为未分片,再利用五元组写成比对指令,将比对指令发送给快速转发模块21;之后接收快速转发模块发送的比对结果,比对结果为不存在该五元组的转发表时,为该数据包所在连接建立转发表;
相应的,所述协议处理模块22,还用于接收发送模块发送的获取请求,分析获取请求中的五元组后查找到该五元组对应的连接跟踪表,之后向发送模块23发送连接跟踪表;所述快速转发模块21,还用于接收发送模块23的比对指令,提取比对指令中的五元组后查找是否有记录了该五元组的转发表,如果有,则向发送模块23发送存在该五元组的转发表的比较结果,如果没有,则向发送模块23发送不存在该五元组的转发表的比较结果。
所述协议处理模块22,具体用于利用已有的处理函数处理数据包,在处理过程中,对数据包做NAT,修改数据包的源MAC地址、目的MAC地址以及修改VLAN值等操作,最终为数据包选择发送端口;还用于使用连接跟踪技术记录不同阶段的数据包的相关信息,并利用这些信息建立该数据包所在连接的连接跟踪表;
其中,所述连接跟踪表包括:五元组、NAT类型、NAT后的IP地址、NAT后的端口号,数据包发送时的源MAC地址、目的MAC地址,定时器、连接的状态、转发标识、帮助函数的使用记录等信息。
所述协议处理模块22,进一步用于在任意一个连接跟踪表完成任何一个操作之后开启该连接跟踪表中的定时器,当定时器超时后,向快速转发模块21发送有相同五元组的转发表的使用情况的询问信息,如果接收到的回复为转发表在本次查询和上次查询之间从没有被访问过,则删除该连接跟踪表,同时向快速转发模块21发送删除有相同五元组的转发表的指令,否则不做操作;
相应的,所述快速转发模块21,还用于接收协议处理模块22的询问信息,根据转发表的使用情况,发送在本次查询和上次查询之间从没有被访问过的回复信息或者是在本次查询和上次查询之间被访问过的回复信息,接收协议处理模块22发送的删除有相同五元组的转发表的指令后删除该转发表。
上述三层设备进一步包括:报文接收模块24,用于接收数据包,判断快速转发模块21是否开启,如果已开启,则将数据包发送给快速转发模块21,如果没有开启,则将数据包发送给协议处理模块22;
相应的,快速转发模块21,还用于为报文接收模块24发送开启通知,接收报文接收模块24发送的数据包;协议处理模块22,还用于接收报文接收模块24发送的数据包。
所述,快速转发模块21可以根据实际情况决定是否开启。
可见,使用上述模块即可完成经由本地转发的连接中的数据包转发工作,其中的快速转发模块可以根据实际情况开启。
应用上述方案,可以在处理一个转发连接的所有数据包的过程中,将符合转发表的条件的数据包进行提前转发,这样,能减少三层设备的协议栈的处理工作,达到提高三层设备的处理速度的目的。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (14)

1.一种快速转发数据包的方法,其特征在于,该方法包括:
三层设备判断数据包是否可以快速转发,如果可以,则将数据包进行改写后转发;如果不可以,则将数据包交由自身协议栈处理后转发。
2.根据权利要求1所述的方法,其特征在于,所述判断数据包是否可以快速转发包括:如果数据包中的互联网协议IP版本号为IPV4或IPV6,数据包中的分片标识为不分片,数据包中的IP协议为传输控制协议TCP或用户数据包协议UDP,数据包中的五元组与三层设备中所保存的任意一个转发表中记录的五元组相同,则数据包可以快速转发,反之则不可以快速转发。
3.根据权利要求1所述的方法,其特征在于,所述将数据包进行改写包括:三层设备利用数据包的五元组选择转发表,再利用转发表中的信息将数据包中的源介质访问控制MAC地址、目的MAC地址、网络地址转换NAT后的IP地址、NAT后的端口号和虚拟局域网VLAN值替换。
4.根据权利要求3所述的方法,其特征在于,所述转发表为记录有一个连接中可以快速转发的数据包的相关信息、以及快速转发数据包时所需改写的具体内容;所述相关信息包括:五元组、NAT类型、NAT后的IP地址、NAT后的端口号、数据包发送时的源MAC地址、目的MAC地址和VLAN值等内容;所述三层设备中同时存在多个转发表,使用五元组作为区分各个转发表的标识。
5.根据权利要求1所述的方法,其特征在于,所述转发之前,该方法还包括:三层设备判断即将被转发的数据包是否满足为其所在的连接建立转发表的条件,如果不满足,则不建立转发表,如果满足条件,则利用连接跟踪表中的信息以及即将发送的数据包中的相关信息建立转发表并保存。
6.根据权利要求5所述的方法,其特征在于,所述建立转发表的条件包括:三层设备根据数据包中的五元组查到对应的连接跟踪表,连接跟踪表中的帮助函数的使用记录为未使用,IP协议为TCP或UDP,且连接状态为已建立的连接,转发标识为经过转发;三层设备查看数据包中的分片标识为未分片;三层设备提取数据包的五元组,利用五元组在三层设备中已有的转发表中查找,没有查找到记录的该五元组的转发表。
7.根据权利要求1所述的方法,其特征在于,所述转发之后,该方法还包括:三层设备在任意一个连接跟踪表完成任何一个操作后开启连接跟踪表中的定时器,当定时器超时后,三层设备查询有相同五元组的转发表的使用情况,如果在本次查询和上次查询之间,转发表没有被访问过,则三层设备删除转发表,且删除该连接跟踪表;否则不做操作。
8.一种快速转发数据包的三层设备,其特征在于,该三层设备包括:快速转发模块、协议处理模块和发送模块;其中,
快速转发模块,用于判断数据包是否可以快速转发,可以快速转发时,将数据包进行改写后发送给发送模块;不可以快速转发时,将数据包发送给协议处理模块;
协议处理模块,用于接收快速转发模块发送的数据包,经三层设备的协议栈处理后发送给发送模块;
发送模块,用于接收快速转发模块发送的改写后的数据包、协议处理模块发送的经过处理的数据包,并发送数据包。
9.根据权利要求8所述的三层设备,其特征在于,所述快速转发模块判断数据包是否可以快速转发为:提取数据包中的IP版本号、分片标识和五元组,如果IP版本号为IPV4或IPV6,分片标识为不分片,五元组中的IP协议为TCP或UDP,且用五元组跟模块中所保存的所有转发表做比对,如果有相同的五元组出现在转发表中,则数据包可以快速转发,反之则不可以快速转发。
10.根据权利要求8所述的三层设备,其特征在于,所述快速转发模块将数据包进行改写为:利用数据包的五元组选中转发表,再利用转发表中的信息将数据包中的源MAC地址、目的MAC地址、NAT后的IP地址、NAT后的端口号、VLAN值等信息替换。
11.根据权利要求8所述的三层设备,其特征在于,
所述发送模块,还用于在发送数据包之前判断数据包是否满足为其建立转发表的条件,不满足条件时不做操作,满足条件时则将数据包中建立转发表所需信息写成建立转发表的通知发给快速转发模块;
相应的,所述快速转发模块,还用于接收发送模块发送的建立转发表的通知后提取通知中的信息,从协议处理模块获取连接跟踪表中建立转发表所需的信息,建立转发表;
所述协议处理模块,还用于向快速转发模块发送连接跟踪表中建立转发表所需的信息。
12.根据权利要求11所述的三层设备,其特征在于,所述发送模块,还用于提取数据包中的五元组和分片标识,利用五元组写成的获取请求从协议处理模块中获取相应的连接跟踪表,如果连接跟踪表中的帮助函数的使用记录为未使用,IP协议为TCP或UDP,且连接状态为已建立的连接,转发标识为经过转发,数据包的分片标识为未分片,再利用五元组写成比对指令,将比对指令发送给快速转发模块,之后接收快速转发模块返回的比对结果,比对结果为不存在该五元组的转发表,为该数据包所在连接建立转发表;
相应的,所述协议处理模块,还用于接收发送模块发送的获取请求,分析获取请求中的五元组后查找到该五元组对应的连接跟踪表,之后向发送模块发送连接跟踪表;
所述快速转发模块,还用于接收发送模块的比对指令,提取比对指令中的五元组后查找是否有记录该五元组的转发表,如果有,则向发送模块发送存在该五元组的转发表的比较结果,如果没有则向发送模块发送不存在该五元组的转发表的比较结果。
13.根据权利要求8所述的三层设备,其特征在于,
所述协议处理模块,进一步用于在任意一个连接跟踪表完成任何一个操作之后开启该连接跟踪表中的定时器,当定时器超时后,向快速转发模块发送有相同五元组的转发表的使用情况的询问信息,如果接收到的回复为转发表在本次查询和上次查询之间从没有被访问过,则删除该连接跟踪表,并向快速转发模块发送删除有相同五元组的转发表的指令,否则不做操作;
相应的,所述快速转发模块,还用于接收协议处理模块的询问信息,根据转发表的使用情况,发送在本次查询和上次查询之间从没有被访问过的回复信息或者是在本次查询和上次查询之间被访问过的回复信息,接收协议处理模块发送的删除有相同五元组的转发表的指令后删除该转发表。
14.根据权利要求8所述的三层设备,其特征在于,该三层设备包括:报文接收模块,用于接收数据包,判断快速转发模块是否开启,如果已开启,则将数据包发送给快速转发模块,如果没有开启,则将数据包发送给协议处理模块;
相应的,所述快速转发模块,还用于为报文接收模块发送开启通知,接收报文接收模块发送的数据包;
所述协议处理模块,还用于接收报文接收模块发送的数据包。
CN201110155422.2A 2011-06-10 2011-06-10 一种快速转发数据包的方法及三层设备 Expired - Fee Related CN102821032B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110155422.2A CN102821032B (zh) 2011-06-10 2011-06-10 一种快速转发数据包的方法及三层设备
PCT/CN2011/082301 WO2012167559A1 (zh) 2011-06-10 2011-11-16 一种快速转发数据包的方法及三层设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110155422.2A CN102821032B (zh) 2011-06-10 2011-06-10 一种快速转发数据包的方法及三层设备

Publications (2)

Publication Number Publication Date
CN102821032A true CN102821032A (zh) 2012-12-12
CN102821032B CN102821032B (zh) 2016-12-28

Family

ID=47295405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110155422.2A Expired - Fee Related CN102821032B (zh) 2011-06-10 2011-06-10 一种快速转发数据包的方法及三层设备

Country Status (2)

Country Link
CN (1) CN102821032B (zh)
WO (1) WO2012167559A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103647716A (zh) * 2013-11-22 2014-03-19 上海斐讯数据通信技术有限公司 一种数据包快速转发方法及装置
WO2014166190A1 (zh) * 2013-07-08 2014-10-16 中兴通讯股份有限公司 一种网络设备数据转发方法及装置
CN104168311A (zh) * 2014-07-31 2014-11-26 华为技术有限公司 一种业务处理方法、装置和系统
CN104243631A (zh) * 2014-10-13 2014-12-24 北京太一星晨信息技术有限公司 一种IPv4地址与IPv6地址有状态转换的方法及设备
CN106656815A (zh) * 2015-10-30 2017-05-10 阿里巴巴集团控股有限公司 用于处理虚拟网络报文的方法与设备
CN107493242A (zh) * 2016-06-12 2017-12-19 中兴通讯股份有限公司 一种数据报文转发方法、数据转发装置及通信系统
CN107872545A (zh) * 2017-09-26 2018-04-03 中兴通讯股份有限公司 一种报文传输方法及装置、计算机可读存储介质
CN108848202A (zh) * 2018-06-21 2018-11-20 Oppo(重庆)智能科技有限公司 电子装置、数据传输方法及相关产品
CN111510513A (zh) * 2020-01-03 2020-08-07 普联国际有限公司 一种map-e链路加速方法、装置、存储介质及网络设备
CN112615867A (zh) * 2020-12-22 2021-04-06 北京天融信网络安全技术有限公司 数据包检测方法和装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113132273B (zh) * 2019-12-30 2024-04-12 华为技术有限公司 一种数据转发方法及装置
CN113300873B (zh) * 2021-02-05 2024-05-24 阿里巴巴集团控股有限公司 基于五元组哈希路径的故障绕行方法以及装置
CN113360740B (zh) * 2021-06-04 2022-10-11 上海天旦网络科技发展有限公司 一种数据包标签方法及系统
CN114024887B (zh) * 2021-11-10 2024-06-14 北京天融信网络安全技术有限公司 转发表项的处理方法、装置、设备及存储介质
CN115065735B (zh) * 2022-03-08 2024-08-30 阿里巴巴(中国)有限公司 报文处理方法及电子设备
CN115225483B (zh) * 2022-06-29 2024-08-13 北京天融信网络安全技术有限公司 数据包转发方法及电子设备、存储介质
CN115549976B (zh) * 2022-10-25 2023-10-27 腾云创威信息科技(威海)有限公司 一种控制转发分离的网络连接跟踪实现方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6457061B1 (en) * 1998-11-24 2002-09-24 Pmc-Sierra Method and apparatus for performing internet network address translation
CN100484083C (zh) * 2003-08-20 2009-04-29 华为技术有限公司 一种地址转换方法及实现该方法的混合地址转换路由器
CN101068212B (zh) * 2007-06-11 2010-12-29 中兴通讯股份有限公司 一种网络地址转换转发的装置及方法
CN101834805A (zh) * 2010-05-31 2010-09-15 西南交通大学 一种流控制传输协议报文穿越网络地址转换设备的方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014166190A1 (zh) * 2013-07-08 2014-10-16 中兴通讯股份有限公司 一种网络设备数据转发方法及装置
CN104283923A (zh) * 2013-07-08 2015-01-14 中兴通讯股份有限公司 一种网络设备数据转发方法及装置
CN103647716A (zh) * 2013-11-22 2014-03-19 上海斐讯数据通信技术有限公司 一种数据包快速转发方法及装置
CN104168311A (zh) * 2014-07-31 2014-11-26 华为技术有限公司 一种业务处理方法、装置和系统
CN104243631A (zh) * 2014-10-13 2014-12-24 北京太一星晨信息技术有限公司 一种IPv4地址与IPv6地址有状态转换的方法及设备
CN106656815A (zh) * 2015-10-30 2017-05-10 阿里巴巴集团控股有限公司 用于处理虚拟网络报文的方法与设备
CN107493242A (zh) * 2016-06-12 2017-12-19 中兴通讯股份有限公司 一种数据报文转发方法、数据转发装置及通信系统
CN107872545A (zh) * 2017-09-26 2018-04-03 中兴通讯股份有限公司 一种报文传输方法及装置、计算机可读存储介质
CN107872545B (zh) * 2017-09-26 2022-12-06 中兴通讯股份有限公司 一种报文传输方法及装置、计算机可读存储介质
CN108848202A (zh) * 2018-06-21 2018-11-20 Oppo(重庆)智能科技有限公司 电子装置、数据传输方法及相关产品
CN108848202B (zh) * 2018-06-21 2021-05-04 Oppo(重庆)智能科技有限公司 电子装置、数据传输方法及相关产品
CN111510513A (zh) * 2020-01-03 2020-08-07 普联国际有限公司 一种map-e链路加速方法、装置、存储介质及网络设备
CN112615867A (zh) * 2020-12-22 2021-04-06 北京天融信网络安全技术有限公司 数据包检测方法和装置

Also Published As

Publication number Publication date
CN102821032B (zh) 2016-12-28
WO2012167559A1 (zh) 2012-12-13

Similar Documents

Publication Publication Date Title
CN102821032B (zh) 一种快速转发数据包的方法及三层设备
WO2017000878A1 (zh) 报文处理
CN101087296B (zh) 利用网络处理器实现IPv4/IPv6网络协议转换的方法
CN103379029B (zh) 一种内容网络的路由转发的方法、装置及系统
JP4281949B2 (ja) ルータとそのパケット伝送方法
CN106911724B (zh) 一种报文处理方法及装置
CN102255804B (zh) 报文处理方法、装置及网络设备
CN101094236A (zh) 地址解析协议报文处理方法及通讯系统及转发平面处理器
WO2017156908A1 (zh) 一种报文转发的方法和装置
CN101800690B (zh) 一种使用地址池实现源地址转换的方法和装置
CN103200281A (zh) 内网服务器访问方法、设备和系统
CN110505621B (zh) 一种终端迁移的处理方法及装置
CN104022973A (zh) 报文转发方法、交换模块、防火墙卡和交换机
CN103685588A (zh) 客户端模式下无线网络设备网桥转发报文的方法及装置
CN106031104A (zh) 数据报文的转达方法、装置及设备
CN111049947B (zh) 报文转发方法及装置、电子设备、存储介质
JP4111968B2 (ja) マルチキャスティングのためのトンネリング方法及びトンネリング装置
US20140211799A1 (en) Routing device and method for processing network packet thereof
CN107547690A (zh) Nat中的端口分配方法、装置、nat设备及存储介质
JP6783501B2 (ja) 情報伝送システム、情報通信装置、情報伝送装置、及びプログラム
US9749262B2 (en) Packet processing method and forwarding element
TW200409498A (en) NAPT gateway system and method to expand the number of connections
EP3944582A1 (en) Monitoring of abnormal host
CN103561026A (zh) 硬件访问控制列表的更新方法、更新装置和交换机
CN107872391B (zh) 一种表项更新方法及装置

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180428

Address after: California, USA

Patentee after: Global innovation polymerization LLC

Address before: 518057 Nanshan District high tech Industrial Park, Shenzhen, Guangdong, Ministry of justice, Zhongxing Road, South China road.

Patentee before: ZTE Corp.

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: 20161228