CN102946354B - 一种报文转发的方法、装置及网络设备 - Google Patents

一种报文转发的方法、装置及网络设备 Download PDF

Info

Publication number
CN102946354B
CN102946354B CN201210460525.4A CN201210460525A CN102946354B CN 102946354 B CN102946354 B CN 102946354B CN 201210460525 A CN201210460525 A CN 201210460525A CN 102946354 B CN102946354 B CN 102946354B
Authority
CN
China
Prior art keywords
message
port
forwarding
unit
virtual unit
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
Application number
CN201210460525.4A
Other languages
English (en)
Other versions
CN102946354A (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.)
Guangdong Gaohang Intellectual Property Operation Co ltd
Pinghu Xinna Communication Technology Co ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210460525.4A priority Critical patent/CN102946354B/zh
Publication of CN102946354A publication Critical patent/CN102946354A/zh
Application granted granted Critical
Publication of CN102946354B publication Critical patent/CN102946354B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例提供一种报文转发的方法、装置及网络设备,所述方法应用于虚拟化场景中,包括:接收入端口发送的报文;查找端口映射表,得到所述入端口所属的虚拟设备;在转发组件上按照所述虚拟设备的处理操作对所述报文进行处理,得到处理后的报文;查找所述虚拟设备的转发表,得到所述报文的转发路径信息,所述转发路径信息包括:所述入端口、与所述入端口对应的出端口及下一跳,所述下一跳对应的虚拟设备与所述入端口所属的虚拟设备共用所述转发组件;将所述处理后的所述报文通过所述出端口发送给所述下一跳。本发明实施例解决了现有技术中各个虚拟交换机的转发组件之间进行报文转发时导致系统资源浪费的技术问题,提高了转发效率。

Description

一种报文转发的方法、装置及网络设备
技术领域
本发明涉及网络技术,特别涉及一种报文转发的方法、装置及网络设备。
背景技术
随着组网技术的发展,特别是在企业组网中,为了提升设备的资源利用率或者应对多租户的需求,可以在一台物理网络设备上利用虚拟化技术虚拟出多台虚拟网络设备(如虚拟防火墙,虚拟路由器、虚拟交换机等设备)。每一个虚拟出来的网络设备(简称虚拟设备),都采用了一个控制组件加一个转发组件的架构。每个虚拟设备都可以从物理设备上分配到一个或多个中央处理器CPU作为自己私有的转发组件,还可以从物理设备上分配到若干转发端口作为自己的私有转发端口来转发报文,并且每个虚拟设备工作时互不干扰。也就是说,其虚拟设备的功能和其真实的物理设备的功能一样,同时,该物理设备中的虚拟设备也感觉不到其他虚拟设备的存在。
现有的这种虚拟划分方式,逻辑实现上虽然简单,也方便报文的转发,但是,其性能比较低。假设,一台物理网络设备被分成逻辑上的5台虚拟设备,比如一台虚拟防火墙、一台虚拟路由器和3台虚拟交换机(虚拟交换机1、虚拟交换机2和虚拟交换机3),如果虚拟交换机1所在的子网通信不是很频繁,需要处理的报文很少,其基本处于停滞状态,它所拥有的资源就会闲置,而此时虚拟交换机2所在的子网却有大量的报文需要处理,迫切需要增加性能,却没有足够的资源分配可用,这样显然降低了系统的整体性能。另外,由于分配给一个虚拟交换机的端口只能转发通过该虚拟交换机的报文,不能根据实际需要进行动态调整,从而也降低了报文的转发效率。
因此,在对现有技术的研究和实践过程中,发明人发现,由于各个虚拟设备之间具有独立的转发组件,报文在各个转发组件之间转发时,需要耗费大量的系统资源。
发明内容
本发明实施例中提供了一种报文转发的方法、装置及网络设备,以解决现有技术中各个虚拟交换机的转发组件之间进行报文转发时导致系统资源浪费的技术问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面提供了一种报文转发的方法,所述方法应用于虚拟化场景中,包括:
接收入端口发送的报文;
查找端口映射表,得到所述入端口所属的虚拟设备;
在转发组件上按照所述虚拟设备的处理操作对所述报文进行处理,得到处理后的报文;
查找所述虚拟设备的转发表,得到所述报文的转发路径信息,所述转发路径信息包括:所述入端口、与所述入端口对应的出端口及下一跳,所述下一跳对应的虚拟设备与所述入端口所属的虚拟设备共用所述转发组件;
将所述处理后的所述报文通过所述出端口发送给所述下一跳。
在第一方面的第一种可能的实现方式中,在接收到所述报文后,查找端口映射表之前,所述方法还包括:
按照所述报文的识别信息查找快速转发表,如果没有查找到对应所述识别信息的快速转发表项,则建立与所述识别信息对应的快速转发表项;在所述对报文进行处理后,所述方法还包括:
将对所述报文的处理操作顺序记录在所述快速转发表项中,以及
在得到所述报文的转发路径信息时,将所述入端口记录在所述快速转发表项中,作为所述快速转发表项的入端口。
结合第一方面或第一方面第一种可能的实现方式,在第二种可能的实现方式中,当所述转发路径信息中的下一跳的入端口不属于共用所述转发组件的任何一个虚拟设备时,所述方法还包括,
将所述出端口和下一跳的入端口记录在对应所述识别信息的快速转发表项中,作为所述快速转发表项的出端口和下一跳的入端口。
在第一方面的第三种可能的实现方式,在接收到所述报文后,所述方法还包括:按照所述报文的识别信息查找快速转发表,如果查找到所述识别信息对应的完整快速转发表项,则按照所述完整快速转发表项中记录的处理操作和转发路径信息对所述报文进行处理和转发。
结合第一方面或第一方面第一种、第二种或第三种可能的实现方式,在第四种可能的实现方式中,在所述接收到所述报文之前,所述方法还包括:
与环境资源管理设备之间建立第一通道;
通过所述第一通道向环境资源管理设备获取所述虚拟设备的控制组件的配置信息;
根据所述配置信息,建立与所述虚拟设备之间的第二通道。
结合第一方面或第一方面第一种、第二种、第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述第一通道和第二通道分别为不同的IRC通道。
结合第一方面或第一方面第一种、第二种、第三种、第四种或第五种可能的实现方式,在第六种可能的实现方式中,还包括:预先设定端口映射表,具体包括:
获取一个物理设备上的资源,所述资源包括多个端口;
在所述物理设备上创建至少两个虚拟设备,所述至少两个虚拟设备分别具有独立的控制组件;且所有虚拟设备共用一个转发组件;
为每个虚拟设备分配对应的端口,并将分配的所述端口分别通知给对应的虚拟设备;
建立每个虚拟设备与对应端口之间的对应关系,所述建立的各个对应关系称为端口映射表。
结合第一方面或第一方面第一种、第二种、第三种、第四种、第五种或第六种可能的实现方式,在第七种可能的实现方式中,所述方法还包括:
在所述物理设备上创建新的虚拟设备;
为所述新的虚拟设备分配新的端口,并更新所述端口映射表。
结合第一方面或第一方面第一种、第二种、第三种、第四种、第五种、第六种或第七种可能的实现方式,在第八种可能的实现方式中,所述方法还包括:
在所述物理设备上撤销虚拟设备;
释放为撤销的所述虚拟设备分配的端口,并更新所述端口映射表。
第二方面提供了一种报文转发装置,应用于虚拟化场景中,包括:
入端口,用于接收报文;
转发组件,用于查找端口映射表,得到所述入端口所属的虚拟设备;按照所述虚拟设备的处理操作对所述报文进行处理,得到处理后的报文;查找所述虚拟设备的转发表,得到所述报文的转发路径信息,所述转发路径信息包括:所述入端口、与所述入端口对应的出端口及下一跳;所述下一跳对应的虚拟设备与所述入端口所属的虚拟设备共用所述转发组件;将处理后的所述报文发送给所述出端口;
出端口,用于将所述转发组件发送的所述报文发送给所述下一跳的入端口。
在第二方面的第一种可能的实现方式中,所述转发组件包括:
接收单元,用于接收所述入端口发送的所述报文;
第一查找单元,用于按照接收所述报文的入端口查找端口映射表,得到所述入端口所属的虚拟设备;
处理单元,用于按照所述虚拟设备的处理操作对所述报文进行处理,得到处理后的报文;
第二查找单元,用于查找所述虚拟设备的转发表,得到所述报文的转发路径信息,所述转发路径信息包括:所述入端口、与所述入端口对应的出端口及下一跳,所述下一跳对应的虚拟设备与所述入端口所属的虚拟设备共用一个转发组件;
第一发送单元,用于将所述处理单元处理后所述报文发送给所述出端口。
结合第二方面或第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述转发组件还包括:
第三查找单元,用于在所述接收单元接收所述入端口发送的报文时,按照所述报文的识别信息查找快速转发表;
建立单元,用于在所述第三查找单元没有查找到对应所述识别信息的快速转发表项时,建立所述识别信息的快速转发表项;
添加单元,用于将所述处理单元对报文进行处理的处理操作记录在所述快速转发表项中;及在第二查找单元查找到转发路径信息后,将所述报文对应的入端口记录在所述快速转发表项中,作为所述快速转发表项的入端口。
结合第二方面或第二方面第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述添加单元,还用于在所述转发路径信息中的下一跳的入端口不属于共用所述转发组件的任何一个虚拟设备时,将所述出端口和下一跳的入端口记录在所述报文对应的快速转发表项中,作为所述快速转发表项的出端口和下一跳的入端口。
结合第二方面或第二方面第一种可能的实现方式,在第四种可能的实现方式中,所述转发组件还包括:
第二发送单元,用于在所述第三查找单元查找到所述报文对应的快速转发表项时,按照所述快速转发表项中记录的处理操作和转发路径信息对所述报文进行处理和转发。
结合第二方面或第二方面第一种或第二种或第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述转发组件还包括:
第一建立单元,用于在所述接收单元接收到所述入端口发送的报文之前,建立所述装置与环境资源管理设备之间的第一通道;
第一获取单元,用于通过所述第一通道向环境资源管理设备获取所述虚拟设备的控制组件的配置信息;
第二建立单元,用于根据所述配置信息,建立所述装置与所述虚拟设备的控制组件之间的第二通道。
结合第二方面或第二方面第一种或第二种或第三种或第四种可能的实现方式,在第六种可能的实现方式中,所述转发组件还包括:设定单元,用于预先设定端口映射表。
结合第二方面或第二方面第一种或第二种或第三种或第四种或第六种可能的实现方式,在第七种可能的实现方式中,所述设定单元包括:
获取一个物理设备上的资源,所述资源包括多个端口;
在所述物理设备上创建至少两个虚拟设备,每个虚拟交换机具有独立的控制组件;且所有虚拟设备共用一个转发组件;
为所述虚拟设备分配所述端口;
将所述第一分配单元分配的所述端口通知对应的虚拟设备;
建立每个虚拟设备与对应端口之间的对应关系,所述建立的各个对应关系称为端口映射表。
结合第二方面或第二方面第一种或第二种或第三种或第四种或第六种或第七种可能的实现方式,在第八种可能的实现方式中,所述转发组件还包括
第二创建单元,用于在所述物理设备上创建新的虚拟设备;
第二分配单元,还用于为所述新的虚拟设备分配新的端口信息,并更新所述端口映射表;
第二通知单元,用于将所述第二分配单元分配的所述新的端口信息通知新的虚拟设备。
结合第二方面或第二方面第一种或第二种或第三种或第四种或第六种或第七种可能的实现方式,在第九种可能的实现方式中,所述转发组件还包括:
撤销单元,用于在所述物理设备上撤销所述虚拟设备;
释放单元,用于释放为撤销的所述虚拟设备分配的端口信息,并更新所述端口映射表。
第三方面提供了一种网络设备,应用于虚拟化场景中,包括:
收发器,用于通过入端口接收报文;
处理器,用于查找端口映射表,得到所述入端口所属的虚拟设备;按照所述虚拟设备的处理操作对所述报文进行处理,得到处理后的报文;查找所述虚拟设备的转发表,得到所述报文的转发路径信息,所述转发路径信息包括:所述入端口、与所述入端口对应的出端口及下一跳;所述下一跳对应的虚拟设备与所述入端口所属的虚拟设备共用一个转发组件;将处理后的所述报文发送给出端口;所述收发器;还用用于将所述报文通过出端口发送给所述下一跳。
由上述技术方案可知,本发明中多个虚拟设备共用一个转发组件,对于报文的处理和转发,都在该共用的转发组件上处理,减少现有的虚拟场景中,报文在各个虚拟设备对应的转发组件之间转发时的中间处理开销,节省了转发组件之间的系统资源。另外,由于减少了转发组件之间的转发,还提高了报文的转发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种报文转发的方法的流程图;
图2为本发明实施例提供的另一种报文转发的方法的流程图;
图3为本发明实施例提供的一种角色间通信的结构示意图;
图4为本发明实施例提供的一种IRC报文格式的示意图;
图5为本发明实施例提供的一种报文转发装置的结构示意图;
图6为本发明实施例提供的一种报文转发装置的第二种结构示意图;
图7为本发明实施例提供的一种报文转发装置的第三种结构示意图;
图8为本发明实施例提供的一种报文转发装置的第四种结构示意图;
图9为本发明实施例提供的一种网络设备的结构示意图;
图10为本发明实施例提供的一种应用实例图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例提供的一种报文转发的方法的流程图;该方法应用于多个虚拟设备共用一个转发组件,且各个虚拟设备分别具有独立的控制组件的场景中,所述方法包括:
步骤101:接收入端口发送的报文。
在该实施例中,如果终端A想将报文发送给终端B(即目的终端),终端A发送报文,如果该报文进入端口1(即入端口),该端口1将该文件转发给转发组件,即转发组件接收到发送给终端B的报文。
步骤102:查找端口映射表,得到所述入端口所属的虚拟设备。
其中,端口映射表包括各个端口与所属的虚拟设备之间的对应关系,比如,端口1、端口2、端口3和端口5对应虚拟设备1;端口4、端口6对应虚拟设备2,端口N和端口N+1对应虚拟设备N等。
在该步骤中,通过查找端口映射表,可以得到与所述入端口对应的虚拟设备,即所述端口所属的虚拟设备,也就是说,通过查找端口映射表,可以获知该报文要转发给哪个虚拟设备。其中所述虚拟设备可以是虚拟交换机、虚拟路由器或者虚拟防火墙等等,本实施例不作限制。
步骤103:在转发组件上按照所述虚拟设备的处理操作对所述报文进行处理,得到处理后的报文。
在该步骤中,转发组件按照所述虚拟设备(比如虚拟交换机)所具有的功能对该报文做一些功能性的处理,比如,网络地址转换(NAT,network address translation),代理(proxy)等,但并不限于此。
步骤104:查找所述虚拟设备的转发表,得到所述报文的转发路径信息,所述转发路径信息包括:所述入端口、与所述入端口对应的出端口及下一跳,所述下一跳对应的虚拟设备与所述入端口所属的虚拟设备共用所述转发组件。
其中,所述转发表的表项为转发路径信息,每一条转发路径信息包括:入端口,出端口,以及下一跳。
步骤105:将所述处理后的所述报文通过所述出端口发送给所述下一跳。
在该步骤中,如果下一跳为目的终端,则转发组件不需要对该报文再进行处理。如果下一跳不是目的终端,而是共用所述转发组件的另一个虚拟设备,则所述转发组件对处理后的所述报文重复上述步骤,直至将处理后的所述报文发送给目的终端或者不使用所述转发组件的其他设备。
也就是说,在该步骤中,下一跳的入端口在接收到处理后的所述报文时,将报文转发给所述转发组件,所述转发组件重新执行上述步骤101至步骤106,即所述转发组件通过下一跳入端口接收到处理后的所述报文;查找所述端口映射表,得到所述下一跳入端口所属的虚拟设备(如果上述入端口所属的虚拟设备为虚拟设备1,而下一跳入端口所属的虚拟设备为虚拟设备2,所述虚拟设备1和虚拟设备2共用一个转发组件);按照所述虚拟设备2的处理操作对处理后的所述报文进行再次处理,得到再次处理后的报文;然后,查找所述虚拟设备2的转发表,得到所述报文的转发路径信息,所述转发路径信息包括:所述下一跳入端口、与所述下一跳入端口对应的下一跳出端口及下下一跳;将再次处理后的所述报文通过所述下一跳出端口发送给所述下下一跳。
需要说明的,如果下下一跳对应的是目的终端,则将处理后的所述报文发送给所述目的终端,否则,继续重复上述步骤,直至将处理后的所述报文发送给目的终端。
本发明实施例中,由于多个虚拟设备共用一个转发组件,对于报文的处理和转发,都在该共用的转发组件上处理,减少现有的虚拟化场景中,报文在各个虚拟设备对应的转发组件之间转发时的中间处理开销,节省了转发组件之间的系统资源。另外,由于减少了转发组件之间的转发,还提高了报文的转发效率。
请参阅图2,图2为本发明实施例提供的另一种报文转发的方法的流程图,所述方法包括:
步骤201:转发组件通过入端口接收报文。
步骤202:转发组件查找快速转发表,如果没有查找到对应所述报文的识别信息的快速转发表项,则执行步骤203;如果查找到对应所述识别信息的快速转发表项,则执行步骤209。
对于一个报文在某一个物理设备(其上虚拟出了多个虚拟设备)中所要进行的各种处理操作,我们称为动作,比如,动作F1,动作F2,动作F3和动作Fn等。将所有处理操作的集合称为动作集,比如,虚拟设备1上的动作集A{F1,F2,F3};虚拟设备2上的动作集B{F4,F5,F6}。
对于每条数据流来说,当处理该数据流的首个报文的时候,接收到该报文的物理设备中的转发组件对物理设备中的每个虚拟设备的动作集进行记录,即,当一个报文从进入该物理设备到离开该物理设备,其所经历的所有虚拟设备都会有一个动作集被记录,我们把这些动作集进行汇总,形成一个动作总集T{A{F1,F2,F3},B{F4,F5,F6}};其中,A{F1,F2,F3},B{F4,F5,F6}为不同虚拟设备的动作集;并且将动作总集T添加到快速转发表中,以便于对该数据流的后续报文进行快速处理和转发,即当收到此数据流的后续报文时,只需查找快速转发表,如果查看到其所对应的T;就可以逐个完成T中各个动作F,从而完成快速转发过程。节约了中间不必要的报文处理,不但节省了系统资源,还提高了报文的转发效率。
在该步骤中,可以按照所述报文的识别信息查找所述快速转发表,如果所述报文的识别信息与快速转发表中记录的识别信息相同,则说明所述快速转发表的快速转发表项中记录了所述报文所属的数据流的转发行为,所述转发行为包括相同的转发路径和相同的业务处理。如果没有查找到对应的快速转发表项,则说明所述报文为其所属的数据流的首个报文,需要建立对应所述数据流的快速转发表项,以及在所述快速转发表项中记录所述报文的转发路径信息和业务处理信息。所述识别信息用于识别该报文所属的数据流,具体可以是该报文的识别信息,或者是报文中携带的流标识。
步骤203;转发组件建立与所述识别信息对应的快速转发表项;
其中,建立的过程就是在所述快速转发表中增加所述报文所属的数据流的快速转发表项。初始的时候,该快速转发表项中仅包括从所述报文中提取的识别信息以及所述接收报文的入端口,其动作集是空的。在所述转发组件对该报文进行处理的过程中,记录所述报文所经历的所有虚拟设备的动作集,形成所述报文的动作总集,并且将所述动作总集添加到所述快速转发表项。快速转发表中不存在所述标识信息对应的快速转发表项,说明所述报文为首次进入所述转发组件,且具有所述识别信息的报文,因此,所述入端口即为所述识别信息对应的快速转发表项的入端口。
步骤204:转发组件查找端口映射表,得到所述入端口所属的虚拟设备。
其中,所述端口映射表的内容主要包括物理设备上的各个端口与所属的虚拟设备之间的对应关系,比如,虚拟设备1包括端口1、端口2和端口5和端口6等,虚拟设备2包括的端口3、端口4、端口8等,虚拟交换机N包括端口N和端口N+1等。
其中,所述端口映射表是预先设置的,具体设置过程包括:获取一个物理设备上的资源,所述资源包括多个端口;在所述物理设备上创建至少两个虚拟设备,比如创建一个虚拟防火墙、一个虚拟路由器、第一虚拟交换机和第二虚拟交换机,每个虚拟设备具有独立的控制组件;且所述至少两个虚拟设备共用一个转发组件;为每个虚拟设备分配端口,并将端口分配信息分别通知给对应的虚拟设备;建立每个虚拟设备与其端口之间的对应关系,形成端口映射表。
在该实施例,也可以在物理设备上创建一个虚拟设备,该虚拟设备有独立的控制组件和转发组件,其它与划分有多个虚拟设备同,具体详见上述,在此不再赘述。
步骤205:转发组件按照所述虚拟设备的处理操作对所述报文进行处理,得到处理后的报文;并在处理后,将对所述报文的处理操作顺序记录在所述快速转发表项中。
在该步骤中,转发组件按照虚拟设备的所具有的功能对该报文做一些功能性的处理,比如网络地址转换(NAT),proxy等。
步骤206:转发组件查找所述虚拟设备的转发表,得到所述报文的转发路径信息,所述转发路径信息包括:所述入端口、与所述入端口对应的出端口及下一跳。
在步骤205中对所述报文进行处理后,转发组件通过查找该虚拟设备的转发表,得到与接收所述报文的入端口对应的出端口,以及下一跳的入端口,然后,通过所述出端口将所述报文转发给下一跳的入端口,即执行步骤207。
当所述转发路径信息中的下一跳的入端口不属于共用所述转发组件的任何一个虚拟设备时,所述方法还包括,将所述出端口和下一跳的入端口记录在所述快速转发表项中,作为所述快速转发表项的出端口和下一跳端口。
步骤207:转发组件将处理后的所述报文通过所述出端口发送给所述下一跳。
步骤208:转发组件对处理后的报文重复上述步骤,即重复上述步骤201至步骤207,直至将所述处理后的报文发送给目的终端或不使用所述转发组件的其他设备。
在该步骤中,下一跳的入端口接收到所述报文后,将所述报文转发给所述转发组件,所述转发组件在接收到所述报文后,按照步骤202至步骤208进行类似的处理,直到将所述报文转发给目的终端或不使用所述转发组件的其他设备。此外,所述转发组件还在建立的所述快速转发表项中顺序记录各条虚拟设备对于所述报文的动作。
步骤209:确定所述快速转发表项是否为完整的快速转发表项,如果是,执行步骤210;如果不是,执行步骤204。
步骤210;按照所述快速转发表项中记录的处理操作和转发路径信息对所述报文进行处理和转发。
所述完整的快速转发表项,是指入端口、出端口及下一跳均不为空的快速转发表项。
该步骤中,如果快速转发组件通过快速转发表查找到对应的快速转发表项,也就是说,快速转发表中记录了该报文所属的数据流的转发行为,即记录了转发所述报文的转发路径及在转发过程中对所述报文的处理操作;此时,可以按照所述快速转发表项中的内容对所述报文进行相应的路径转发和业务处理,节省了查找对应的端口映射表和各个虚拟设备的转发表的系统资源。
本实施例中,转发组件在接收到报文时,先查找快速转发表,如果能查找到对应的完整的快速转发表项,则直接按照所述快速转发表项中的转发路径信息和业务处理操作对所述报文进行处理和转发;如果没有查找对应的快速转发表项,则在所述快速转发表中建立对应所述报文所属的数据流的快速转发表项,以便于在接收到所述报文所属的数据流的后续报文时,直接按照所述快速转发表项中记录的转发路径和业务处理过程进行相应的处理,不但节省了系统资源,还提高了转发效率。
可选的,在所述接收到发送给目的终端的报文之前,所述方法还可以包括:
转发组件与环境资源管理设备之间建立第一通道;通过所述第一通道向环境资源管理设备获取所述虚拟设备的控制组件的配置信息;然后,根据所述配置信息,建立与所述虚拟设备之间的第二通道。其中,所述第一通道和第二通道分别为不同的IRC(In TheRole Communication)通道。
也就是说,本发明实施例中,建立通道的过程是基于IRC协议来实现的。通常情况下,IRC在功能上分为两种类型的角色(本实施例中的角度定义为完成某一特定功能的子系统称为角色),一为环境资源管理设备(EVM)、一为转发组件(LCTL)和控制组件(CAP),具体如图3所示,图3为本发明实施例提供的一种角色间通信的结构示意图;其中,EVM是IRC通信的中枢管理者,其余角色之间的通信在EVM的帮助下建立和管理,但角色间通信过程无需经由IRC中转;每个角色由唯一的ID标识,比如定义,EVM的标识ID为RoleID1,CAP的标识ID为RoleID2,LCTL的标识ID为RoleID3等,但并不限于此。同一角色与不同角色的多条通道以IRC端口号来区分;在功能层面,角色之间的通道都是双工的。在该实施例中,每一个控制组件,转发组件,EVM等都可以称为角色,角色间的通信统一通过IRC协议来建立。
在该实施例中,EVM总是最先启动的一个角色,之后其他角色才能相继启动,比如先启动转发组件角色,也可以先启动控制面角色等。下面分别以先启动转发组件为例来说明,其过程具体包括:
1、在转发组件启动后,所述转发组件向EVM申请创建一个和EVM之间的IRC通信通道,此后,转发组件和EVM的通信都通过此IRC通信通道进行;然后,转发组件通过该IRC通信通道向EVM发送获取控制组件的配置文件,以及接收EVM反馈的所述配置文件,之后,转发组件根据所述配置信息可知,还需要向控制组件创建与控制组件之间的IRC通信通道;需要说明的,此时,如果控制组件还未启动,则IRC通信通道不会使能,直到控制组件启动后,IRC通信通道才能通信。
2、在控制组件启动以后,控制组件也向EVM创建一个IRC通信通道,此后,控制组件和EVM的通信都通过IRC通信通道进行,然后,控制组件通过该IRC通信通道向EVM获取转发组件的配置文件,以及根据所述配置文件得知,还需要创建一条和转发组件之间的IRC通信通道。
3、EVM使能控制组件和转发组件之间的IRC通信通道;
也就是说,在该实施例中,EVM能控制控制面面组件与转发组件之间的IRC通信通道,需要说明的是,上述所有IRC通信通道只传输控制和管理信息,比如,传输包括转发表的IRC报文等,但并不限于此。
4、当控制组件第一次向转发组件下发转发表信息,需要和转发组件通信时,控制组件通过已建立的通信通道向EVM发起建立IRC通道请求,希望能建立一条控制组件和转发组件之间的IRC通信通道;
5、EVM收到建立IRC通道请求后,建立控制组件和转发组件之间的IRC通信通道,并把通道ID返回给控制组件;
6、控制组件得到通道ID后,就知道了,与转发组件之间的IRC通信通道已建立,自己只需根据通道ID通过调用IRC接口,就可以把包括转发表信息的IRC报文下发给转发组件;
7、转发组件收到IRC报文,发现是转发组件下发的转发表信息,就建立此控制组件的转发表;
8、此后,当转发组件接收到属于此控制组件的报文时,就通过此转发表来进行转发;
9、控制组件和转发组件之间的IRC通信通道建立完毕后,此通道就一直存在了,下次通信直接利用此通道,无需再次申请创建该通到。从而提高了控制组件和转发组件信息的交互效率。
其中,在该实施例中,通过上述所有IRC通信通道进行IRC报文格式如图4所示,图4为本发明实施例中提供的一种IRC报文格式的示意图。
如图4所示,所述IRC报文中需要包括下述参数:目的角色ID(DstRoleId),目的角色端口号(DstPortNUM);所述源角色ID(SrcRoleId);所述源角色端口号(SrcPortNUM),这四个参数用来唯一标识一个角色间的IRC通信通道,这些在通道建立时,由EVM分配。
在图4中,AppNum表示通信报文中聚合了多少个应用传输参数app(ApplicationTransport Parameter)消息,所述TotalLength表示所有app消息的总长度,所述Reserv表示备用字段。
所述AppLength表示app消息长度;所述AppData表示app消息数据,所述AppType表示app消息类型,其中,所述消息类型可以包括:新建转发表、更新转发表、删除转发表等,通常情况下,还可以按需要增加其他类型,本实施例不作限制。
可选的,在上述所有实施例中,所述方法还可以包括:在所述物理设备上创建新的虚拟设备;为所述新的虚拟设备分配新的端口信息,并更新所述端口映射表。
可选的,在上述所有实施例中,在所述物理设备上撤销虚拟设备;释放为撤销的所述虚拟设备分配的端口信息,并更新所述端口映射表。
本实施例中,采用本实施例所述的技术方案,还可以在虚拟组网中任意的创建和撤销虚拟设备,以及为所创建的虚拟设备动态分配端口信息,以及在撤销虚拟设备后,释放撤销所述虚拟设备对应的端口。提高了控制组件和端口之间的动态调整。
基于上述方法的实现过程,本发明实施例还提供一种报文转发装置,其结构示意图如图5所示,包括入端口51,转发组件52和出端口52;其中,所述入端口51,用于接收报文;所述转发组件52,用于查找端口映射表,得到所述入端口所属的虚拟设备;按照所述虚拟设备的处理操作对所述报文进行处理,得到处理后的报文;查找所述虚拟设备的转发表,得到所述报文的转发路径信息,所述转发路径信息包括:所述入端口、与所述入端口对应的出端口及下一跳;所述下一跳对应的虚拟设备与所述入端口所属的虚拟设备共用一个转发组件;将处理后的所述报文发送给出端口;所述出端口53,用于将所述转发组件发送的所述报文发送给所述下一跳的入端口。
可选的,所述转发组件包括:包括:接收单元521,第一查找单元522,处理单元523,第二查找单元524和第一发送单元525,其结构示意图如图6所示,图6为本发明实施例提供的一种报文转发装置的第二种结构示意图;其中,所述接收单元521,用于接收所述入端口发送的所述报文;所述第一查找单元522,用于按照接收所述报文的入端口查找端口映射表,得到所述入端口所属的虚拟设备;所述处理单元523,用于按照所述虚拟设备的处理操作对所述报文进行处理,得到处理后的报文;所述第二查找单元524,用于查找所述虚拟设备的转发表,得到所述报文的转发路径信息,所述转发路径信息包括:所述入端口、与所述入端口对应的出端口及下一跳,所述下一跳对应的虚拟设备与所述入端口所属的虚拟设备共用一个转发组件;所述第一发送单元525,用于将所述处理单元处理后所述报文发送给所述出端口。
本发明实施例中,虚拟组网技术中,对于报文的处理和转发,全部在该共用的转发组件上处理,减少虚拟组网中报文在各个转发组件的中间处理开销,节省了转发组件之间的系统资源,同时还提高了转发效率。
在上述图6实施例的基础上,所述装置还可以包括:第三查找单元71,建立单元72和添加单元73,其结构示意图如图7所示,图7为本发明实施例提供的一种转发组件的第三结构示意图;其中,所述第三查找单元71,用于在所述接收单元521接收所述入端口发送的报文时,按照所述报文的识别信息查找快速转发表;所述建立单元72,用于在所述第三查找单元71没有查找到对应所述识别信息的快速转发表项时,建立对应所述识别信息的快速转发表项;所述添加单元73,用于将接入所述报文的入端口以及所述处理单元523对报文进行处理的处理操作记录在所述标识信息对应的快速转发表项中。
可选的,所述添加单元,还用于在所述转发路径信息中的下一跳的入端口不属于共用所述转发组件的任何一个虚拟设备时,将所述出端口和下一跳的入端口记录在所述报文对应的快速转发表项中,作为所述快速转发表项的出端口和下一跳端口。
可选的,所述转发组件还可以包括:第二发送单元81,其结构示意图如图8所示,图8为本发明实施例提供的一种转发组件的第四种结构示意图;第二发送单元81,用于在所述第三查找单元71查找到所述报文对应的快速转发表项时,按照所述快速转发表项中记录的处理操作和转发路径信息对所述报文依次进行处理和转发。
可选的,所述转发组件还可以包括:第一建立单元,第一获取单元和第二建立单元,其中,所述第一建立单元,用于在所述接收单元所述入端口发送的的报文之前,建立所述装置与环境资源管理设备之间的第一通道;所述第一获取单元,用于通过所述第一通道向环境资源管理设备获取所述虚拟设备的控制组件的配置信息;所述第二建立单元,用于根据所述配置信息,建立所述装置与所述虚拟设备的控制组件之间的第二通道。
可选的,所述转发组件还可以包括:设定单元,用于预先设定端口映射表;其中,所述设定单元,具体用于获取一个物理设备上的资源,所述资源包括多个端口;在所述物理设备上创建至少两个虚拟设备,每个虚拟交换机具有独立的控制组件;且所有虚拟设备共用一个转发组件;为所述虚拟设备分配所述端口;将所述分配的所述端口通知对应的虚拟设备;建立每个虚拟设备与对应端口之间的对应关系,所述建立的各个对应关系称为端口映射表。
其中,所述设定单元具体包括:第二获取单元,第一创建单元,第一分配单元,第一通知单元和第三建立单元,其中,所述第二获取单元,用于获取一个物理设备上的资源,所述资源包括多个端口信息;所述第一创建单元,用于在所述物理设备上创建至少两个虚拟设备,每个虚拟交换机具有独立的控制组件;且所有虚拟设备共用一个转发组件;所述第一分配单元,用于为所述虚拟设备分配所述端口信息;所述第一通知单元,用于将所述第一分配单元分配的所述端口信息通知对应的虚拟设备;所述第三建立单元,用于建立所述虚拟设备与端口信息之间的对应关系,所述对应关系称为端口映射表。
可选的,所述转发组件还可以包括:第二创建单元,第二分配单元和第二通知单元,其中,所述第二创建单元,用于在所述物理设备上创建新的虚拟设备;所述第二分配单元,还用于为所述新的虚拟设备分配新的端口信息,并更新所述端口映射表;所述第二通知单元,用于将所述第二分配单元分配的所述新的端口信息通知新的虚拟设备。
所述转发组件还可以包括:撤销单元和释放单元,其中,所述撤销单元,用于在所述物理设备上撤销所述虚拟设备;所述释放单元,用于在所述撤销单元撤销所述虚拟设备时,释放为撤销的所述虚拟设备分配的端口信息,并更新所述端口映射表。
所述装置中各个单元的功能和作用的实现过程详见上述方法中对应的实现过程,具体详见上述,在此不再赘述。
本发明实施例还提供一种网络设备,所述网络设备应用于虚拟化场景中,网络设备包括:收发器91和处理器92,其结构示意图如图9所示,其中,所述收发器91,用于通过入端口接收报文;所述处理器92,用于查找端口映射表,得到所述入端口所属的虚拟设备;按照所述虚拟设备的处理操作对所述报文进行处理,得到处理后的报文;查找所述虚拟设备的转发表,得到所述报文的转发路径信息,所述转发路径信息包括:所述入端口、与所述入端口对应的出端口及下一跳;所述下一跳对应的虚拟设备与所述入端口所属的虚拟设备共用一个转发组件;将处理后的所述报文发送给出端口;所述收发器91;还用用于将所述报文通过出端口发送给所述下一跳。
其中,所述处理器包括上述的转发组件。
所述网络设备的功能和作用的实现过程详见上述方法中对应的实现过程,具体详见上述,在此不再赘述。
为了便于本领域技术人员的理解,下面以具体的应用实例来说明。
还请参阅图10,图10为本发明实施例提供的一种应用实例图,在该实施例中,将一个物理设备从逻辑上划分为5台虚拟设备,比如,包括一台虚拟防火墙、一台虚拟路由器和3台虚拟交换机(即虚拟交换机1、虚拟交换机2和虚拟交换机3),每个虚拟交换中存储对应的转发表,所述3台虚拟交换机共用一个转发组件,且每台虚拟交换机具有独立的控制组件,每台虚拟交换机已分配对应的端口以及中央处理器CPU,终端PC可以向对应的端口发送报文并与目的终端通信,具体如图所示。本实施例中,假设各个虚拟交换机的控制组件和转发组件以及EVM两两之间已建立对应的IRC通信通道。
在此基础上,本实施例以终端pc1想发送报文给终端pc9,且PC9为非子网的终端为例,但并不限于此,其他通信过程与该过程类似。具体包括:
1、pc1发送报文,如果所述报文为首包;
2、如果物理设备的端口port8收到了该报文,并将所述报文并交给转发组件;
3、转发组件按照报文的识别信息查找快速转发表,如果没有查找到对应的快速转发表项(即没发现关于此类报文的记录),则认为所述报文为首包;
其中,转发组件在接收到所述报文后,对所述报文进行去头处理,该处理需要消耗一定的系统资源;以及在转发组件转发所述报文时,在所述报文中添加对应的信息的操作。
4、转发组件新建一个快速转发表项,用于记录所述报文(首包)的整个转发处理操作;
5、转发组件查找端口映射表,获知所述port8属于虚拟交换机1,也就知道此报文是发送给虚拟交换机1的;
6、转发组件根据虚拟交换机1的所具有的功能对此报文做一些功能性的处理,比如nat,proxy等,以及将对所述报文所做的处理(动作)全部记录在新建的快速转发表项中;
7、转发组件查找虚拟交换机1的转发表,得知从port8进来的此类报文应该从port6转发出去,下一跳为port5,于是,转发组件将所述报文通过port6发送给port5,需要说明的,该步骤中的发送这个动作就涉及到报文头的添加,需要消耗资源的,此时,所述报文就离开了转发组件;
对于虚拟交换机1来说,其就完成了他对于报文的处理和转发过程,本实施例中,所述转发,就是一个端口进来,做些动作后,通过另一个端口出去,并发送给下一跳的端口。
8、此时,所述报文进入port5,所述port5将所述报文转交给所述转发组件;
9、所述转发组件通过所述报文的识别信息查找所述快速转发表,没有查找到对应的快速转发表项,却发现已有一个未完成的关于此类报文的快速转发表项,于是,会在此快速转发表项的基础上继续完善信息;即在所述快速转发表项中记录10、11和12中的处理和路径转发信息;
10、所述转发组件查找端口映射表,获知所述port5属于虚拟路由器,也就知道此报文是发送给虚拟路由器的;
11、转发组件根据虚拟路由器的所具有的功能对此报文做一些功能性的处理;
12、转发组件查找虚拟路由器的转发表,得知从port5进来的此类报文应该从port2转发出去,下一跳为port1,于是,转发组件将所述报文从port2发送给port1,所述报文就离开了转发组件;
13、所述报文进入port1,所述port1将所述报文转交给所述转发组件;
14、所述转发组件通过所述报文的识别信息查找所述快速转发表,没有查找到对应的快速转发表项,却发现已有一个未完成的关于此类报文的快速转发表项,于是,会在该快速转发表项的基础上继续完善信息;即在所述快速转发表项中记录15、16和17中的处理和路径转发信息;
15、所述转发组件查找端口映射表,获知所述port1属于虚拟防火墙,也就知道此报文是发送给虚拟防火墙的;
16、转发组件根据虚拟防火墙的所具有的功能对此报文做一些功能性的处理;
17、转发组件查找虚拟防火墙的转发表,得知从port1进来的此类报文应该从port0转发出去,下一跳为互联网,于是,转发组件将所述报文从port1发送给port0,所述报文就离开了转发组件,同时也离开了该物理设备,进入了互联网,之后,最终会将该报文转发给终端PC9。
也就是说,直到发现下一跳不在该物理设备中,即该报文要被转发到其他的网络中去,而不在公司内部的这个虚拟组网中了,如发送到互联网等,该应用实例中,最终出端口为port0,下一条为互联网,最后会见该报文转发给PC9。
18.当所述报文转发给所述互联网时,此时,所述报文对应的所述快速转发表项也已完善完毕,然后,将所述完善完毕的快速转发表项添加进快速转发表中,所述快速转发表项里面就记录了,从port8进来的此类报文,要在这个物理设备的虚拟组网内部所有虚拟设备所有动作,最终的出端口为port0,下一跳为互联网。
也就是说,此时首包处理完成,快速转发表项建立添加完毕;
19、此后,转发组件再接收到此类报文时,如果从快速转发表中查找对应的快速转发表项,转发组件根据快速转发表项,对所述报文做一系列的功能性处理(这样就省略了接收报文,发送报文等在各个虚拟设备间的传递所带来的资源消耗),最后,把报文从port0发送出去,下一条为互联网。
需要说明的是,本实施例中,用线将各个端口连接起来,只是为了说明两个端口直接是在机器内部被虚拟的链接起来,并不代表物理的网线连接。
此外,还如图8中的虚线所示,如果PC1想与PC3通信,其通信过程为:
1、pc1发送报文,如果所述报文为首包;
2、如果物理设备的端口port8收到了该报文,并将所述报文并交给转发组件;
3、转发组件按照报文的识别信息查找快速转发表,如果没有查找到对应的快速转发表项(即没发现关于此类报文的记录),则认为所述报文为首包;
其中,转发组件在接收到所述报文后,先对所述报文进行去头处理,该处理需要消耗一定的系统资源;之后,在进行查找快速转发表及其后续操作。
4、转发组件新建一个快速转发表项,用于记录所述报文(首包)的整个转发处理操作;
5、转发组件查找端口映射表,获知所述port8属于虚拟交换机1,也就知道此报文是发送给虚拟交换机1的;
6、转发组件根据虚拟交换机1的所具有的功能对此报文做一些功能性的处理,比如nat,proxy等,以及将对所述报文所做的处理(动作)全部记录在新建的快速转发表项中;
7、转发组件查找虚拟交换机1的转发表,得知从port8进来的此类报文应该从port6转发出去,下一跳为port12,于是,转发组件将所述报文通过port6发送给port12。需要说明的,该步骤中的发送这个动作就涉及到报文头的添加,需要消耗资源的,此时,所述报文就离开了转发组件;
8、所述转发组件通过所述报文的识别信息查找所述快速转发表,没有查找到对应的快速转发表项,却发现已有一个未完成的关于此类报文的快速转发表项,于是,会在此快速转发表项的基础上继续完善信息;即在所述快速转发表项中记录10、11和12中的处理和路径转发信息;
其中,所述转发组件收到所述报文后,先对所述报文进行去头处理后,以及在发送给下一跳之前,进行添加处理。
9、所述转发组件查找端口映射表,获知所述port12属于虚拟交换机2,也就知道此报文是发送给虚拟交换机2的;
10、转发组件根据虚拟交换机2的所具有的功能对此报文做一些功能性的处理;
11、转发组件查找虚拟交换机2的转发表,得知从port12进来的此类报文应该从port11转发出去,下一跳为pc3,于是,转发组件将所述报文通过port11发送给pc3,所述报文就离开了转发组件;
12.当所述报文转发给所述PC3时,此时,所述报文对应的所述快速转发表项也已完善完毕,然后,将所述完善完毕的快速转发表项添加进快速转发表中,所述快速转发表项里面就记录了,从port8进来的此类报文,要在这个物理设备的虚拟组网内部所有虚拟设备所有动作,最终的出端口为port11,下一跳为PC3。
13、此后,转发组件再接收到此类报文时,如果从快速转发表中查找对应的快速转发表项,转发组件根据快速转发表项,对所述报文做一系列的功能性处理(这样就省略了接收报文,发送报文等在各个虚拟设备间的传递所带来的资源消耗),最后,把报文从port11发送出去,下一条为PC3。
在本发明实施例中,终端可以为以下任意一种,可以是静态的,也可以是移动的,静止的终端具体可以包括为PC、移动台(mobile station)、用户单元(subscriber unit)或站台(station)等,移动的UE具体可以包括蜂窝电话(cellular phone)、个人数字助理(PDA,personal digital assistant)、无线调制解调器(modem),无线通信设备、手持设备(handheld)、膝上型电脑(laptop computer)、无绳电话(cordless phone)或无线本地环路(WLL,wireless local loop)台等,上述终端可以分布于整个无线网络中。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (19)

1.一种报文转发的方法,其特征在于,所述方法应用于虚拟化场景中,包括:
接收入端口发送的报文;
查找端口映射表,得到所述入端口所属的虚拟设备;
在转发组件上按照所述虚拟设备的处理操作对所述报文进行处理,得到处理后的报文;
查找所述虚拟设备的转发表,得到所述报文的转发路径信息,所述转发路径信息包括:所述入端口、与所述入端口对应的出端口及下一跳,所述下一跳对应的虚拟设备与所述入端口所属的虚拟设备共用所述转发组件;
将所述处理后的所述报文通过所述出端口发送给所述下一跳,如果所述下一跳对应的虚拟设备为目的终端,则转发组件不需要对所述报文再进行处理,如果所述下一跳对应的虚拟设备不是目的终端,则所述转发组件对处理后的所述报文重复上述步骤,直至将处理后的所述报文发送给目的终端或者不使用所述转发组件的其他设备。
2.根据权利要求1所述的方法,其特征在于,
在接收到所述报文后,查找端口映射表之前,所述方法还包括:
按照所述报文的识别信息查找快速转发表,如果没有查找到对应所述识别信息的快速转发表项,则建立与所述识别信息对应的快速转发表项;在所述对报文进行处理后,所述方法还包括:
将对所述报文的处理操作顺序记录在所述快速转发表项中,以及
在得到所述报文的转发路径信息时,将所述入端口记录在所述快速转发表项中,作为所述快速转发表项的入端口。
3.根据权利要求2所述的方法,其特征在于,当所述转发路径信息中的下一跳的入端口不属于共用所述转发组件的任何一个虚拟设备时,所述方法还包括,
将所述出端口和下一跳的入端口记录在对应所述识别信息的快速转发表项中,作为所述快速转发表项的出端口和下一跳的入端口。
4.根据权利要求1所述的方法,其特征在于,在接收到所述报文后,所述方法还包括:
按照所述报文的识别信息查找快速转发表,如果查找到所述识别信息对应的完整快速转发表项,则按照所述完整快速转发表项中记录的处理操作和转发路径信息对所述报文进行处理和转发。
5.根据权利要求1至4任一项所述的方法,其特征在于,在所述接收到所述报文之前,所述方法还包括:
与环境资源管理设备之间建立第一通道;
通过所述第一通道向环境资源管理设备获取所述虚拟设备的控制组件的配置信息;
根据所述配置信息,建立与所述虚拟设备之间的第二通道。
6.根据权利要求5所述的方法,其特征在于,所述第一通道和第二通道分别为不同的IRC通道。
7.根据权利要求1至4任一项所述的方法,其特征在于,还包括:预先设定端口映射表,具体包括:
获取一个物理设备上的资源,所述资源包括多个端口;
在所述物理设备上创建至少两个虚拟设备,所述至少两个虚拟设备分别具有独立的控制组件;且所有虚拟设备共用一个转发组件;
为每个虚拟设备分配对应的端口,并将分配的所述端口分别通知给对应的虚拟设备;
建立每个虚拟设备与对应端口之间的对应关系,所述建立的各个对应关系称为端口映射表。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述物理设备上创建新的虚拟设备;
为所述新的虚拟设备分配新的端口,并更新所述端口映射表;或
在所述物理设备上撤销虚拟设备;
释放为撤销的所述虚拟设备分配的端口,并更新所述端口映射表。
9.一种报文转发装置,其特征在于,应用于虚拟化场景中,包括:
入端口,用于接收报文;
转发组件,用于查找端口映射表,得到所述入端口所属的虚拟设备;按照所述虚拟设备的处理操作对所述报文进行处理,得到处理后的报文;查找所述虚拟设备的转发表,得到所述报文的转发路径信息,所述转发路径信息包括:所述入端口、与所述入端口对应的出端口及下一跳;所述下一跳对应的虚拟设备与所述入端口所属的虚拟设备共用所述转发组件;将处理后的所述报文发送给所述出端口;
出端口,用于将所述转发组件发送的所述报文发送给所述下一跳的入端口,如果所述下一跳对应的虚拟设备为目的终端,则转发组件不需要对所述报文再进行处理,如果所述下一跳对应的虚拟设备不是目的终端,则所述转发组件对处理后的所述报文重复上述步骤,直至将处理后的所述报文发送给目的终端或者不使用所述转发组件的其他设备。
10.根据权利要求9所述的装置,其特征在于,所述转发组件包括:
接收单元,用于接收所述入端口发送的所述报文;
第一查找单元,用于按照接收所述报文的入端口查找端口映射表,得到所述入端口所属的虚拟设备;
处理单元,用于按照所述虚拟设备的处理操作对所述报文进行处理,得到处理后的报文;
第二查找单元,用于查找所述虚拟设备的转发表,得到所述报文的转发路径信息,所述转发路径信息包括:所述入端口、与所述入端口对应的出端口及下一跳,所述下一跳对应的虚拟设备与所述入端口所属的虚拟设备共用一个转发组件;
第一发送单元,用于将所述处理单元处理后所述报文发送给所述出端口。
11.根据权利要求10所述的装置,其特征在于,所述转发组件还包括:
第三查找单元,用于在所述接收单元接收所述入端口发送的报文时,按照所述报文的识别信息查找快速转发表;
建立单元,用于在所述第三查找单元没有查找到对应所述识别信息的快速转发表项时,建立所述识别信息的快速转发表项;
添加单元,用于将所述处理单元对报文进行处理的处理操作记录在所述快速转发表项中;及在第二查找单元查找到转发路径信息后,将所述报文对应的入端口记录在所述快速转发表项中,作为所述快速转发表项的入端口。
12.根据权利要求11所述的装置,其特征在于,所述添加单元,还用于在所述转发路径信息中的下一跳的入端口不属于共用所述转发组件的任何一个虚拟设备时,将所述出端口和下一跳的入端口记录在所述报文对应的快速转发表项中,作为所述快速转发表项的出端口和下一跳的入端口。
13.根据权利要求11所述的装置,其特征在于,所述转发组件还包括:
第二发送单元,用于在所述第三查找单元查找到所述报文对应的快速转发表项时,按照所述快速转发表项中记录的处理操作和转发路径信息对所述报文进行处理和转发。
14.根据权利要求10至13任一项所述的装置,其特征在于,所述转发组件还包括:
第一建立单元,用于在所述接收单元接收到所述入端口发送的报文之前,建立所述装置与环境资源管理设备之间的第一通道;
第一获取单元,用于通过所述第一通道向环境资源管理设备获取所述虚拟设备的控制组件的配置信息;
第二建立单元,用于根据所述配置信息,建立所述装置与所述虚拟设备的控制组件之间的第二通道。
15.根据权利要求10至13任一项所述的装置,其特征在于,所述转发组件还包括:设定单元,用于预先设定端口映射表。
16.根据权利要求15所述的装置,其特征在于,所述设定单元具体用于:
获取一个物理设备上的资源,所述资源包括多个端口;
在所述物理设备上创建至少两个虚拟设备,每个虚拟设备具有独立的控制组件;且所有虚拟设备共用一个转发组件;
为所述虚拟设备分配所述端口;
将所述分配的所述端口通知对应的虚拟设备;
建立每个虚拟设备与对应端口之间的对应关系,所述建立的各个对应关系称为端口映射表。
17.根据权利要求16所述的装置,其特征在于,所述转发组件还包括
第二创建单元,用于在所述物理设备上创建新的虚拟设备;
第二分配单元,还用于为所述新的虚拟设备分配新的端口信息,并更新所述端口映射表;
第二通知单元,用于将所述第二分配单元分配的所述新的端口信息通知新的虚拟设备。
18.根据权利要求16所述的装置,其特征在于,所述转发组件还包括:
撤销单元,用于在所述物理设备上撤销所述虚拟设备;
释放单元,用于释放为撤销的所述虚拟设备分配的端口信息,并更新所述端口映射表。
19.一种网络设备,其特征在于,应用于虚拟化场景中,包括:
收发器,用于通过入端口接收报文;
处理器,用于查找端口映射表,得到所述入端口所属的虚拟设备;按照所述虚拟设备的处理操作对所述报文进行处理,得到处理后的报文;查找所述虚拟设备的转发表,得到所述报文的转发路径信息,所述转发路径信息包括:所述入端口、与所述入端口对应的出端口及下一跳;所述下一跳对应的虚拟设备与所述入端口所属的虚拟设备共用一个转发组件;将处理后的所述报文发送给出端口;
所述收发器;还用于将所述报文通过出端口发送给所述下一跳,如果下一跳为目的终端,则转发组件不需要对该报文再进行处理,如果下一跳不是目的终端,而是共用所述转发组件的另一个虚拟设备,则所述转发组件对处理后的所述报文重复上述步骤,直至将处理后的所述报文发送给目的终端或者不使用所述转发组件的其他设备。
CN201210460525.4A 2012-11-15 2012-11-15 一种报文转发的方法、装置及网络设备 Expired - Fee Related CN102946354B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210460525.4A CN102946354B (zh) 2012-11-15 2012-11-15 一种报文转发的方法、装置及网络设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210460525.4A CN102946354B (zh) 2012-11-15 2012-11-15 一种报文转发的方法、装置及网络设备

Publications (2)

Publication Number Publication Date
CN102946354A CN102946354A (zh) 2013-02-27
CN102946354B true CN102946354B (zh) 2016-11-23

Family

ID=47729262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210460525.4A Expired - Fee Related CN102946354B (zh) 2012-11-15 2012-11-15 一种报文转发的方法、装置及网络设备

Country Status (1)

Country Link
CN (1) CN102946354B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9143582B2 (en) 2013-03-08 2015-09-22 International Business Machines Corporation Interoperability for distributed overlay virtual environments
US9432287B2 (en) 2013-03-12 2016-08-30 International Business Machines Corporation Virtual gateways and implicit routing in distributed overlay virtual environments
US9374241B2 (en) 2013-03-14 2016-06-21 International Business Machines Corporation Tagging virtual overlay packets in a virtual networking system
US9112801B2 (en) 2013-03-15 2015-08-18 International Business Machines Corporation Quantized congestion notification in a virtual networking system
CN103795622B (zh) * 2014-01-22 2017-02-15 杭州华三通信技术有限公司 一种报文转发方法及其装置
EP3099026B1 (en) * 2014-04-04 2018-10-24 Huawei Technologies Co., Ltd. In-network message processing method, in-network message forwarding equipment and in-network message processing system
CN105530179B (zh) * 2014-09-29 2019-01-22 新华三技术有限公司 数据报文处理方法以及网络设备
CN106330704B (zh) * 2015-06-26 2019-12-06 新华三技术有限公司 一种报文转发方法和装置
CN105610632B (zh) * 2016-02-14 2019-12-24 华为技术有限公司 一种虚拟网络设备及相关方法
CN105939242B (zh) * 2016-03-21 2019-07-09 杭州迪普科技股份有限公司 实现虚拟系统的方法及装置
CN107404439B (zh) * 2016-05-18 2020-02-21 华为技术有限公司 用于重定向数据流的方法和系统、网络设备和控制设备
CN106533882B (zh) * 2016-11-18 2019-12-06 杭州迪普科技股份有限公司 报文的处理方法及装置
CN107688331A (zh) * 2017-08-30 2018-02-13 深圳增强现实技术有限公司 机器操作监督系统及其通信方法
CN107948072B (zh) * 2017-10-31 2021-04-27 新华三技术有限公司 报文转发方法和装置
CN109873768B (zh) * 2017-12-01 2021-06-22 华为技术有限公司 更新转发表的方法、硬件加速器、ovs和服务器
JP7142106B2 (ja) * 2018-05-28 2022-09-26 中国科学院声学研究所 Icnメッセージの転送方法
CN111953576B (zh) * 2019-05-17 2021-07-09 华为技术有限公司 虚拟网络通信方法、设备及系统
CN111064671B (zh) * 2019-12-09 2022-05-06 南京中孚信息技术有限公司 数据包转发方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1601996A (zh) * 2003-09-26 2005-03-30 华为技术有限公司 一种虚拟交换机系统接入ip公网的方法
WO2007023467A2 (en) * 2005-08-23 2007-03-01 Netronome Systems Inc Flow control based on flow policies in a communication network
CN102215152A (zh) * 2010-04-01 2011-10-12 杭州华三通信技术有限公司 一种在虚拟设备之间实现流量间隔的方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010115060A2 (en) * 2009-04-01 2010-10-07 Nicira Networks Method and apparatus for implementing and managing virtual switches

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1601996A (zh) * 2003-09-26 2005-03-30 华为技术有限公司 一种虚拟交换机系统接入ip公网的方法
WO2007023467A2 (en) * 2005-08-23 2007-03-01 Netronome Systems Inc Flow control based on flow policies in a communication network
CN102215152A (zh) * 2010-04-01 2011-10-12 杭州华三通信技术有限公司 一种在虚拟设备之间实现流量间隔的方法和系统

Also Published As

Publication number Publication date
CN102946354A (zh) 2013-02-27

Similar Documents

Publication Publication Date Title
CN102946354B (zh) 一种报文转发的方法、装置及网络设备
CN102647355B (zh) Lacp协商处理方法、中继节点及系统
CN110611924A (zh) 实现时间敏感网络的数据传输的方法、相关设备及介质
CN109699013A (zh) 一种通信系统、通信方法及其装置
CN106063298A (zh) 用于自定义的第五代网络的系统与方法
CN104427476B (zh) 位置信息上报方法、集群服务处理方法及系统
CN102158812B (zh) AC-AP架构无线Mesh网组播通信方法
CN104811371B (zh) 一种全新的即时通信系统
CN101567831B (zh) 局域网之间发送、接收信息的方法和装置以及通信的系统
CN102821358A (zh) 一种组呼业务的实现方法
CN105814922A (zh) 地址标识分配方法和相关设备及系统
CN102857873A (zh) 基于td-lte的宽带数字集群系统及其数据传输方法
CN104683956A (zh) QoS控制方法和系统
CN104469703B (zh) 一种集群呼叫系统的信道动态分配方法
CN101682629A (zh) 对等广域通信系统
CN105163062B (zh) 一种将社会资源接入到公共平台的系统及方法
Izumikawa et al. RoCNet: Spatial mobile data offload with user-behavior prediction through delay tolerant networks
EP3068117B1 (en) Relay device, voice-communication system, program, and relay method
CN104219727A (zh) 多出口异构无线网络及路由方法
CN105874756A (zh) 控制信令的传输方法及设备
CN102014039A (zh) 数据传输方法和接入点
CN103731817B (zh) 一种数据传输的方法和设备
CN103974219B (zh) 一种组计费标识的分配及下发方法、组计费标识处理实体
CN100479371C (zh) 一种广播发送报文的方法及一种交换设备
CN106304238A (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: 20191212

Address after: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

Effective date of registration: 20191212

Address after: 314200 floor 5, neinan building, No.8, Chuangxin Road, Xindai Town, Pinghu City, Jiaxing City, Zhejiang Province

Patentee after: Pinghu Xinna Communication Technology Co.,Ltd.

Address before: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

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

Termination date: 20211115