一种报文传输方法及装置的制造方法

文档序号:10492082阅读:367来源:国知局
一种报文传输方法及装置的制造方法
【专利摘要】本发明公开了一种报文传输方法及装置,该方法中汇聚代理接收来自虚拟网络功能池VNF Pool中至少两个虚拟机VM中的每个VM的第一报文;所述汇聚代理根据所述第一报文获得第二报文,所述第二报文包括源互联网协议IP地址和目的IP地址,所述第二报文的源IP地址为所述汇聚代理的IP地址,所述第二报文的目的IP地址为服务器的IP地址;所述汇聚代理通过其与所述服务器之间建立的汇聚链路发送所述第二报文,其中,所述汇聚链路的数目小于所述子链路的数目,故可减少VNF Pool与服务器之间创建的通信链路数目,节约服务器的内存资源。
【专利说明】
-种报文传输方法及装置
技术领域
[0001 ]本发明设及通信技术领域,尤其设及一种报文传输方法及装置。
【背景技术】
[0002] NFV(Network Function Virtualization,网络功能虚拟化)技术通过基于行业标 准的x86服务器、存储设备和交换设备,来取代通信网络中的专用网元设备,能够为运营商 节省投资成本,并能帮助运营商获得更多、更灵活的网络能力,故NFV技术应用越来越广泛。
[0003] VNF(Virtualized化twork Function,虚拟网络功能)W软件的形式运行在NFV系 统上,VNF中设置有虚拟机(Virtual Machine,VM)。每个VM可W看作一个独立的网络功能实 体,可独立进行重启并拥有自己的root访问权限、用户、互联网协议(Internet Protocol, IP)地址、内存、过程、文件、应用程序、系统函数库W及配置文件等。
[0004] 为了提升网络性能,VNF中部署有多个VM。在网络功能虚拟化中,部署在VNF中的多 个VM组成一个VNF池(VNF化01 ),W实现负载分担,提高网络的可靠性。
[000引在VNF化01中,若启动多个VM,则多个VM中的每个VM与服务器之间建立一条通信 链路,例如传输控制协议(Transmission Control Protocol ,TCP)连接,并进行报文传输, 若VM数量较多,则会在VNF化01与服务器之间创建过多的通信链路,耗费服务器较多的内 存资源。

【发明内容】

[0006] 本发明实施例提供一种报文传输方法及装置,W减少VNF化Ol与服务器之间创建 的通信链路数目,节约服务器的内存资源。
[0007] 第一方面,提供一种报文传输方法,在该方法中,汇聚代理接收来自VNF化Ol中至 少两个VM中每个VM的第一报文,并对所述第一报文进行转换得到第二报文,所述第二报文 的源IP地址为所述汇聚代理的IP地址,所述第二报文的目的IP地址为服务器的IP地址,然 后汇聚代理将所述第二报文通过汇聚代理与服务器之间的汇聚链路向服务器发送,使得 VNF化〇1对外呈现汇聚链路,服务器将整个VNF化〇1作为整体并不感知VNF化〇1下存在多 个VM,实现将一个VNF化〇1中不同VM真正虚拟成一个Pool,并且所述汇聚链路的数目小于 所述子链路的数目,节省了服务器下的通信链路数目,W达到节省服务器内存资源的目的。 [000引本发明实施例中,汇聚代理可W是负载分担化oad Balance,LB),该LB可W是内置 或外置于VNF Pool。具体采用内置于VNF化01中的LB还是采用外置于VNF化01中的LB,可 依据与汇聚代理建立子链路的VM所属VNF化01来确定,若与汇聚代理建立子链路的VM属于 不同的VNF Pool,则可采用外置的LB进行汇聚,若与汇聚代理建立子链路的VM属于一个VNF Pool,则可采用内置的LB进行汇聚,当然并不引W为限。
[0009]本发明实施例中所述汇聚链路的数量可依据所述子链路的数量进行建立。若子链 路数量较少,通过一条汇聚链路即可完成传输,则可仅建立一条汇聚链路。若子链路数量庞 大,通过一条汇聚链路造成该条汇聚链路的负载过重,则可创建至少两条汇聚链路。
[0010] 本发明实施例中所述子链路是指VNF Pool中各VM与所述汇聚代理之间建立的链 路,所述至少两个VM通过至少两个子链路与所述汇聚代理连接,且所述至少两个VM与所述 至少两个子链路一一对应,所述子链路用于传输所述第一报文。所述第一报文的源IP地址 为VM的IP地址,第一报文的源端口为VM的端口,第一报文的目的IP地址为汇聚代理的IP地 址,第一报文的目的端口为汇聚代理的IP地址。
[0011] 本发明实施例中,所述汇聚链路是指所述汇聚代理与服务器之间的链路,所述汇 聚代理与服务器之间通过汇聚链路连接,所述汇聚链路用于传输第二报文,报文的传送方 向为从汇聚代理到服务器,故可利用汇聚代理的IP地址替换第一报文的源IP地址,得到第 二报文的源IP地址,利用服务器的IP地址替换第一报文的目的IP地址,得到第二报文的目 的IP地址。
[0012] 本发明实施例中,所述第二报文包括源IP地址和目的IP地址,第二报文还可包括 源端口和目的端口,其中,可利用汇聚代理的端口替换第一报文的源端口,得到第二报文的 源端口,即所述第二报文的源端口为所述汇聚代理的端口。利用服务器的端口替换第一报 文的目的端口,得到第二报文的目的端口,即所述第二报文的目的端口为所述服务器的端 P。
[0013] 本发明实施例中第二报文包括的内容具体可根据第二报文所采用的元组信息来 确定,所述元组信息是指例如五元组或屯元组等。通常通过IP五元组可标识出报文组成的 一个数据流,故本发明实施例中第二报文中优选包括IP五元组的信息,即包括源端口、源 IP、目的端口、目的IP和采用的协议。
[0014] 本发明实施例中第二报文可根据不同的传输协议,包含不同的内容。
[001引一种可能的设计中,所述子链路为子TCP连接,所述汇聚链路为汇聚TCP连接。所述 第二报文中还包括序列号,其中,所述第二报文的序列号是所述汇聚代理依据所述汇聚TCP 连接分配的序列号。本发明实施例中可利用汇聚链路分配的序列号,替换子链路分配的序 列号,得到第二报文的序列号。
[0016] 本发明实施例中汇聚代理可按照第二报文中包括的源IP地址、源端口、目的IP地 址、目的端口和第二报文的序列号,通过汇聚TCP连接向服务器发送所述第二报文,实现所 述子TCP连接中的报文汇聚到汇聚TCP连接中向服务器发送。
[0017] 本发明实施例中汇聚代理通过汇聚TCP连接向服务器发送第二报文后,还可通过 所述汇聚TCP连接,接收所述服务器响应所述第二报文的第二回应报文,所述第二回应报文 中包括第二报文的确认序列号,所述第二报文的确认序列号为所述第二报文的序列号和所 述第二报文的数据长度之和;所述汇聚代理依据所述第二回应报文中包括的第二报文的确 认序列号查找预先保存的关系列表,确定所述第二报文的序列号和所述第二报文的数据长 度,所述预先保存的关系列表中包括所述第二报文的序列号、第二报文的数据长度W及传 输第一报文的子TCP连接之间的对应关系;所述汇聚代理依据所述确定出的所述第二报文 的序列号和所述第二报文的数据长度,在所述关系列表中确定出传输所述第一报文的子 TCP连接;所述汇聚代理根据所述第二回应报文获得所述第一报文的第一回应报文,所述第 一回应报文的源IP地址为所述汇聚代理的IP地址,所述第一回应报文的目的IP地址为所述 确定出的子TCP连接所连接的VM的IP地址,所述第一回应报文中包括第一报文的确认序列 号,所述第一报文的确认序列号为所述第一报文的序列号和所述第一报文的数据长度之 和;所述汇聚代理通过所述确定出的子TCP连接,向所述确定出的子TCP连接所连接的VM转 发所述第一回应报文,实现回应报文的接收转发。
[0018] 可选的,所述汇聚TCP连接是所述汇聚代理接收到所述VNF化Ol中通过首个子TCP 连接传输的第一报文时新建的TCP连接,而在接收到后续子TCP连接传输的第一报文时,不 触发建立汇聚TCP连接。
[0019] 本发明实施例通过上述可能的实现方式,实现了通过汇聚代理将各VM的子TCP连 接中的报文汇聚到一个汇聚TCP连接中进行报文的发送和接收,能够节省服务器侧的TCP链 路数目,W达到节省服务器内存资源的目的。
[0020] 另一种可能的设计中,所述子链路为远程用户拨号认证系统RADIUS子会话,所述 汇聚链路为RADIUS汇聚会话;所述第二报文中还包括匹配标识符,其中,所述第二报文的匹 配标识符是所述汇聚代理依据所述RADIUS汇聚会话分配的匹配标识符。本发明实施例中可 利用RADIUS汇聚会话重新分配的匹配标识符替换RADIUS子会话分配的匹配标识符,得到第 二报文的匹配标识符,即第二报文的匹配标识符是依据RADIUS汇聚会话的IP地址、端口等 信息进行分配的,能够避免与RADIUS子会话分配的匹配标识符重复。
[0021] 本发明实施例中汇聚代理可按照第二报文中包括的源IP地址、源端口、目的IP地 址、目的端口和第二报文的匹配标识符,通过RADIUS汇聚会话向服务器发送所述第二报文, 实现所述RADIUS子会话中的报文汇聚到RADIUS汇聚会话中向服务器发送。
[0022] 本发明实施例中汇聚代理通过RADIUS汇聚会话向服务器发送第二报文后,还可通 过所述RADIUS汇聚会话,接收所述服务器响应所述第二报文的第二回应报文,所述第二回 应报文中包含有第二报文的匹配标识符;所述汇聚代理依据所述第二回应报文中包含的第 二报文的匹配标识符查找预先创建的代理表,确定RADIUS子会话分配的所述第一报文的匹 配标识符W及传输所述第一报文的RADIUS子会话,所述代理表中保存所述第二报文的匹配 标识符、所述第一报文的匹配标识符W及传输所述第一报文的RADIUS子会话之间的对应关 系;所述汇聚代理根据所述第二回应报文获得所述第一报文的第一回应报文,所述第一回 应报文的源IP地址为所述汇聚代理的IP地址,所述第一回应报文的目的IP地址为所述确定 出的RADIUS子会话所连接的VM的IP地址;所述汇聚代理依据所述确定出的第一报文的匹配 标识符W及传输所述第一报文的RADIUS子会话,向所述确定出的RADIUS子会话所连接的VM 转发所述第一回应报文。
[0023] 可选的,所述RADIUS汇聚会话为所述汇聚代理与服务器之间已建立的RADIUS会 话,即可通过直接修改已建立的RADIUS会话得到所述RADIUS汇聚会话。
[0024] 本发明实施例通过上述可能的实现方式,实现了通过汇聚代理将不同VM的RADIUS 子会话中的报文汇聚到RADIUS汇聚会话中进行报文的发送和接收,能够节省服务器侧的 RADIUS会话数目,W达到节省服务器内存资源的目的。
[0025] 再一种可能的设计中,所述汇聚代理在确认所述子链路被释放的情况下,释放所 述汇聚链路,W进一步节省资源。
[0026] 第二方面,提供一种报文传输装置,该实现报文传输的装置,具有实现上述第一方 面设及的实现报文传输方法的相应功能。所述功能可W通过硬件实现,也可W通过硬件执 行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。例如,所述 报文传输装置,包括接收单元和处理单元,所述接收单元,用于接收来自VNF化01中至少两 个VM中的每个VM的第一报文,所述至少两个VM通过至少两个子链路与所述报文传输装置连 接,且所述至少两个VM与所述至少两个子链路一一对应,所述子链路用于传输所述第一报 文。所述处理单元,用于根据所述第一报文获得第二报文,所述第二报文包括源IP地址和目 的IP地址,所述第二报文的源IP地址为所述报文传输装置的IP地址,所述第二报文的目的 IP地址为服务器的IP地址。所述发送单元,用于通过所述报文传输装置与所述服务器之间 建立的汇聚链路发送所述处理单元获得的所述第二报文,其中,所述汇聚链路的数目小于 所述子链路的数目,W节省服务器下的通信链路数目,达到节省服务器内存资源的目的。
[0027] 第=方面,提供一种汇聚代理,该汇聚代理包括处理器和存储器,其中,所述存储 器中存有计算机可读程序,所述处理器通过运行所述存储器中的程序,实现第一方面设及 的报文传输方法。
[0028] 第四方面,提供一种计算机存储介质,用于储存上述实现报文传输装置或汇聚代 理所用的计算机软件指令,其包含用于执行上述第一方面设及的报文传输方法所设及的程 序。
【附图说明】
[0029] 图1为本发明实施例提供的报文传输方法可应用的网络架构图;
[0030] 图2为本发明实施例提供的报文传输方法实现流程图;
[0031 ]图3为本发明实施例提供的报文传输的过程示意图;
[0032] 图4为本发明实施例内置于VNF化Ol中的LB进行报文传输的实现过程示意图;
[0033] 图5为本发明实施例外置于VNF化Ol中的LB进行报文传输的实现过程示意图;
[0034] 图6为本发明实施例中采用TCP协议进行报文传输的过程示意图;
[0035] 图7为本发明实施例中采用RADIUS汇聚会话进行报文传输的过程示意图;
[0036] 图8为本发明实施例提供的报文传输装置的结构示意图;
[0037] 图9为本发明实施例提供的汇聚代理的结构示意图。
【具体实施方式】
[0038] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细地描 述。
[0039] 本发明实施例提供的报文传输方法可应用于图1所示的网络架构。图1中,VNF 化Ol中部署的多个VM中的每个VM都与服务器之间建立有通信链路,并通过建立的通信链路 进行信息交互。例如VMl与服务器之间建立有通信链路1并通过通信链路1进行信息交互, VM2与服务器之间建立有通信链路2并通过通信链路2进行信息交互,VM3与服务器之间建立 有通信链路3并通过通信链路3进行信息交互。在网络功能虚拟化中,VNF Pool中部署的多 个VM(例如VMUVM2和VM3)可能会同时启动并与服务器之间进行交互,此时服务器需要对下 连的多条通信链路(例如通信链路1、通信链路2和通信链路3)进行处理,将会耗费较多的服 务器内存资源。
[0040] 需要说明的是,本发明实施例中图1所示的网络系统架构中还包括有负载分担 (Load Balance,LB),该LB主要根据负载分担策略做VM间的负载分担,对VMl、VM2和VM3与服 务器之间交互的报文进行透传。图1所示的网络架构中,是WLB内置于VNF化Ol为例进行示 意说明的,但并不引W为限,该LB可W是内置或外置于所述VNF化Ol中。
[0041] 进一步需要说明的是,图1所示中设及的各VM的结构仅是进行示意性说明,并不引 W为限,例如VM中可W包括具有控制功能的VM控制单元(sControl),也可W包括具有转发 功能的VM转发单元(S化rward),每个VM控制单元和转发单元的组合可W看作是一个独立的 网络功能实体,图1中并未进行示意。
[0042] 本发明实施例中为避免VM与服务器进行交互过程中建立过多的通信链路,耗费服 务器的内存资源,可将来自VNF化Ol中多个VM的报文汇聚后与服务器进行交互,W节省服 务器的内存资源。
[0043] 本发明实施例中为实现将VNF化Ol中多个VM的报文汇聚后与服务器进行交互,可 通过部署汇聚代理实现,VM与汇聚代理之间建立通信链路,VM与所述子链路一一对应。VM通 过其与汇聚代理之间建立的通信链路将发送给服务器的报文先发送给汇聚代理。汇聚代理 与服务器之间建立数量小于VM与汇聚代理之间建立通信链路的通信链路,汇聚代理对接收 到的报文进行汇聚处理后通过其与服务器之间建立的通信链路发送给服务器。使得VNF Pool对外呈现汇聚链路,服务器将整个VNF Pool作为整体并不感知VNF化〇1下存在多个 VM,实现将一个VNF化〇1中不同VM真正虚拟成一个化〇1,并且所述汇聚链路的数目小于所 述子链路的数目,节省了服务器下的通信链路数目,W达到节省服务器内存资源的目的。
[0044] 本发明实施例中,W下为描述方便可将VM与汇聚代理之间建立的链路称为子链 路,所述子链路传输的报文称为第一报文。将汇聚代理与服务器之间建立的链路称为汇聚 链路,所述汇聚链路传输的报文称为第二报文。
[0045] 图2所示为本发明实施例提供的报文传输方法的实现流程图,图3所示为本发明实 施例提供的报文传输过程示意图。
[0046] SlOl :VNF化〇1中的每个VM与汇聚代理建立子链路,如图3所示,VNF化〇1中包括 有VMl、VM2和VM3,VMl、VM2和VM3分别与汇聚代理建立子链路,建立的子链路分别为子链路 1、子链路2和子链路3。
[0047] S102:汇聚代理与服务器之间新建一个汇聚链路,如图3所示。
[0048] 本发明实施例中,汇聚代理可在接收到通过首个子链路传输的报文时,建立汇聚 链路,而在接收到通过后续子链路传输的报文时,不触发建立汇聚链路。例如,本发明实施 例中可在VMl请求与汇聚代理建立子链路1时,触发建立汇聚链路。
[0049] 本发明实施例中汇聚代理与服务器之间建立的汇聚链路的数目可依据VM与汇聚 代理之间建立的子链路的数目来确定,若子链路数量较少,通过一条汇聚链路即可完成传 输,则可仅建立一条汇聚链路。若子链路数量庞大,通过一条汇聚链路造成该条汇聚链路的 负载过重,则可创建至少两条汇聚链路。本发明实施例中W下W汇聚链路为一条进行举例 说明,但并不引W为限。图3中W包括一条汇聚链路为例进行说明。
[0化0] S103: VNF化〇1中多个VM中的每个VM分别通过子链路传输第一报文,汇聚代理接 收来自VNF化01中多个VM中每个VM的第一报文。例如图3中通过子链路1传输来自VMl的第 一报文,通过子链路2传输来自VM2的第一报文,通过子链路3传输来自VM3第一报文。
[0051] S104:汇聚代理依据所述第一报文得到第二报文。
[0052] 本发明实施例中所述第二报文是依据所述第一报文所得到的,通常是将所述第一 报文的报文头进行修改后得到,例如可采用如下方式:所述汇聚代理获取所述第一报文的 报文头信息,所述报文头信息中包括所述子链路中传输所述第一报文的元组信息,所述元 组信息可W是N元组信息,其中N大于等于3,例如,更具体的N元组信息是=元组信息或者五 元组信息或者屯元组信息等。通常通过IP五元组可标识出报文组成的一个数据流,故本发 明实施例中W下W第一报文中包括IP五元组的信息,即包括源端口、源IP、目的端口、目的 IP和采用的协议为例进行说明,但并不引W为限。所述汇聚代理依据第二报文的元组信息 替换所述第一报文的元组信息,得到所述第二报文的报文头信息,然后结合第一报文的载 荷得到第二报文。
[0化3] 本发明实施例中所述第二报文的元组信息中包括源IP地址和目的IP地址,还可包 括源端口和目的端口,其中,可利用汇聚代理的端口替换第一报文的源端口,得到第二报文 的源端口,即所述第二报文的源端口为所述汇聚代理的端口。利用服务器的端口替换第一 报文的目的端口,得到第二报文的目的端口,即所述第二报文的目的端口为所述服务器的 端口。
[0054] 本发明实施例中第二报文包括的具体内容可根据第二报文所采用的元组信息来 确定,所述元组信息可W是N元组信息,其中N大于等于3,例如,更具体的N元组信息是=元 组信息或者五元组信息或者屯元组信息等。通常通过IP五元组可标识出报文组成的一个数 据流,故本发明实施例中第二报文中优选包括IP五元组的信息,即包括源端口、源IP、目的 端口、目的IP和采用的协议。本发明实施例W下W第二报文的元组信息包括IP五元组为例 进行说明,但并不引W为限。
[0055] S105:汇聚代理通过其与服务器之间建立的汇聚链路发送所述第二报文。
[0056] 本发明实施例中汇聚代理可按照第一报文的接收顺序,将通过子链路1、子链路2 和子链路3传输的第一报文加入到汇聚链路中,实现外部服务器与VNF Pool之间维护数量 较少的通信链路,并使用较少的端口(socket)进行报文的传输。例如图3所示实现过程中, VMUVM2和VM3分别用socketl、socket2和SOCke 口向汇聚代理发送第一报文,汇聚代理接收 到第一报文后得到第二报文,通过socket4向服务器发送第二报文。
[0057] 本发明实施例W下将结合实际应用对上述实施例设及的报文传输方法进行说明。
[0058] 本发明实施例中,所述汇聚代理可W是部署在图1所示网络架构中独立存在的部 件,也可W是集成在所述LB内部的部件,本发明实施例不做限定。本发明实施例中若所述汇 聚代理为集成在所述LB内部的部件,即可W理解为是在现有具有负载分担功能的LB上新增 汇聚代理的功能,此种情况可无需新增设备。
[0059] 本发明实施例W下W所述汇聚代理为集成在所述LB内部的部件为例进行说明,即 所述汇聚代理为新增汇聚代理功能的LB。
[0060] 本发明实施例中新增汇聚代理功能的LB可W内置或外置于所述VNF化Ol中。具体 采用内置于VNF化〇1中的LB还是采用外置于VNF化〇1中的LB,可依据与汇聚代理建立子链 路的VM所属VNF Pool来确定。在一种可能的实现方式中,与汇聚代理建立子链路的VM属于 不同的VNF Pool,则可采用外置的LB进行汇聚。在另一种可能的实现方式中,与汇聚代理建 立子链路的VM属于一个VNF Pool,则可采用内置的LB进行汇聚。可W理解的是,与汇聚代理 建立子链路的VM属于同一个VNF Pool的情况下,也可采用外置的LB进行汇聚,本发明实施 例不做限定。
[0061 ] 图4所示为内置于VNF化〇1中的LB通过汇聚链路发送报文的实现过程示意图。图4 中,VMl、VM2和VM3形成一个VNF Pool, VMl与LB之间建立有子链路I,VM2与LB之间建立有子 链路2,VM3与LB之间建立有子链路3,LB与服务器之间建立有汇聚链路(图4中W汇聚链路的 数量为一条进行示意说明,但并不引W为限KVMl通过子链路1向LB发送第一报文,VM2通过 子链路2向LB发送第一报文,VM3通过子链路3向LB发送第一报文,其中,VMl、VM2和VM3发送 的第一报文的源IP地址不同,目的IP地址相同都为LB的IP地址。LB接收到VMl、VM2和VM3发 送的第一报文后,利用LB的IP地址替换第一报文的源IP地址,利用服务器的IP地址替换第 一报文的目的IP地址,从而获得第二报文,其中,所述第二报文的的源IP地址为所述汇聚代 理的IP地址,所述第二报文的目的IP地址为服务器的IP地址。LB通过其与服务器之间建立 的汇聚链路发送所述第二报文。
[0062] 图5所示为外置于VNF化〇1中的LB通过汇聚链路发送报文的实现过程示意图。图5 中,VMl和VM2形成一个VNF Pool,VM3和VM4形成一个VNF Pool。本发明实施例中不限定每个 VNF化〇1中的VM的形式,本发明实施例中WVMl和VM2互为主备,VM3和VM4互为主备为例进 行举例说明。VMl和VM2同一时间内中有一个与LB建立子链路1,VM3和VM4同一时间内中有一 个与LB建立子链路2,图5中WVMl与LB建立子链路1,VM3与LB建立子链路2为例进行说明。外 置于VNF化Ol的LB与服务器之间建立有汇聚链路。图5中通过子链路发送第一报文,LB对第 一报文进行处理得到第二报文,W及通过汇聚链路发送第二报文的过程与图4中的实现过 程相比,不同之处仅在于VM属于不同VNF Pool,具有汇聚功能的LB外置于VNF Pool,其它类 似,故在此不再寶述。
[0063] 通过图4和图5所示的报文发送过程实施示意图可知,本发明实施例中发送第一报 文的多个VM可属于同一个VNF Pool,也可属于不同的VNF Pool。
[0064] 本发明实施例中进行报文传输时根据采用的传输协议不同,第二报文所包含的内 容也会不同,例如若采用传输控制协议(Transmission Control ProtocoLTCP),则所述第 二报文中还可包括序列号。若采用用户数据包协议化ser化tagram Protocol,UDP),则所 述第二报文中还可包括匹配标识符、本发明实施例W下将分别针对上述两种协议进行举例 说明。
[0065] 首先,W采用TCP协议为例进行说明,采用TCP协议进行报文传输时,VM与LB之间建 立的子链路可称为子TCP连接,LB与服务器之间建立的汇聚链路可称为汇聚TCP连接。
[0066] 图6所示为本发明实施例中采用TCP协议进行报文传输的过程示意图。图6中,VNF 化〇1中的VMl、VM2和VM3分别与LB建立子TCP连接。VMl与LB建立的子TCP连接为TCPl ,TCPl用 于传输来自VMl的第一报文。VM2与LB建立的子TCP连接为TCP2,TCP2用于传输来自VM2的第 一报文。VM3与LB建立的子TCP连接为TCP3,TCP3用于传输来自VM3的第一报文。采用TCP协议 进行报文传输时,为保证传送报文的顺序W及保证所有传输的报文可按照正常顺序进行重 组,则每个子TCP连接都要为每次发送的报文分配一个序列号,换言之,所述第一报文中还 包括有序列号,且所述序列号与子TCP连接一一对应,例如通过TCPl传输的第一报文的序列 号为seqln,通过TCP2传输的第一报文的序列号为seq2n,通过TCP3传输的第一报文的序列 号为seq3n。
[0067] 本发明实施例中WVMl、VM2和VM3发送的第一报文中包括有IP五元组(源IP、源端 口、目的IP、目的端口和传输协议),还包括有序列号为例进行说明,则IP五元组、序列号W 及子TCP连接之间的对应关系如表1所示。
[0068] 表1
[0069]
[0070] 本发明实施例中LB接收VMUVM2和VM3发送的第一报文,依据该第一报文获得第二 报文。本发明实施例中所述第二报文包括的内容可依据第一报文包括的内容得到。例如第 一报文包括IP五元组和序列号,则所述第二报文中也包括有IP五元组和序列号,不同之处 在于,所述第二报文中包括的IP五元组和序列号是不同于第一报文中包括的IP五元组和序 列号的。第二报文的IP五元组是LB依据汇聚TCP连接替换第一报文的IP五元组得到,例如, 利用LB的IP地址替换通过TCPUTCP2和TCP3传输的第一报文的源IP地址,得到第二报文的 源IP地址,即第二报文的源IP地址为LB的IP地址。利用服务器的IP地址替换通过TCPl、TCP2 和TCP3传输的第一报文的目的IP地址,得到第二报文的目的IP地址,即第二报文的目的IP 地址为服务器的IP地址。利用LB的端口替换通过TCPl、TCP2和TCP3传输的第一报文的源端 口,得到第二报文的源端口,即第二报文的源端口为LB的端口。利用服务器的端口替换通过 TCPl、TCP2和TCP3传输的第一报文的目的端口,得到第二报文的目的端口,即第二报文的目 的端口为服务器的端口。TCP4与TCPl、TCP2和TCP3采用的传输协议相同,即第二报文的传输 协议为TCP。
[0071] 第二报文的序列号是LB依据汇聚TCP连接分配的序列号替换第一报文的序列号得 到的。本发明实施例中TCP4传输的第二报文可W理解为是顺序接收到TCPUTCP2和TCP3传 输的第一报文的报文头信息中包括的IP五元组被替换后得到的报文,故TCP4进行序列号分 配时为TCPl、TCP2和TCP3传输的第一报文分配的序列号分别为seq4n,seq4n+lengthl和 seq4n+lengthl+length2。其中,Iengthl为TCPl传输的第一报文的长度,lengths为TCP2传 输的第一报文的长度。利用TCP4分配的序列号替换第一报文的序列号后,可得到第二报文 的序列号,即依据TCPl传输的第一报文得到的第二报文的序列号为seq4n,依据TCP2传输的 第一报文得到的第二报文的序列号为seq4n+lengthl,依据TCP3传输的第一报文得到的第 二报文的序列号为 seq4n+lengthl+length2。
[0072] 第二报文的IP五元组W及序列号之间的对应关系如表2所示。
[0073] 表 2
[0074]
[0075] 本发明实施例中LB接收到来自VMUVM2和VM3发送的第一报文后,按照上述转换方 式对第一报文进行处理后可得到第二报文,然后即可通过汇聚TCP连接(即TCP4)向服务器 发送所述第二报文。
[0076] 本发明实施例中LB通过汇聚TCP连接向服务器发送第二报文后,还可接收服务器 响应所述第二报文的回应报文,并依据所述第二报文的回应报文得到第一报文的回应报 文,将所述第一报文的回应报文转发给VMUVM2和VM3。本发明实施例W下为描述方便,将第 二报文的回应报文称为第二回应报文,将第一报文的回应报文称为第一回应报文。
[0077] 具体的,采用TCP传输协议进行报文传输时,发送端发送的报文可W用序列号来确 认对端是否收到,发送端发送报文时,会把运个报文的序列号放入待确认队列中,同时启动 重传计时器,如果收到了该报文的回应报文确认序列号,通过该确认序列号来确定报文已 收到,若确定该报文已收到则将此包从待确认队列中删除,采用TCP传输协议进行报文传输 时,也可通过序列号来保证所有传输的报文可W按照正常的顺序进行重组。
[0078] 本发明实施例中LB将通过TCPUTCP2和TCP3传输的第一报文汇聚到TCP4发送给服 务器之后,可将TCP4分配的第二报文的序列号加入到TCP4的待确认队列中,并保存第二报 文的序列号、第二报文的数据长度W及传输第一报文的子TCP连接(TCPUTCP2和TCP3)之间 的对应关系。第二报文的第二回应报文中包括第二报文的确认序列号,该第二报文的确认 序列号通常为第二报文的序列号与第二报文的数据长度之和,故LB可通过第二报文的确认 序列号,确定出第二报文的序列号与第二报文的数据长度,进而确定出传输第一报文的子 TCP连接,并通过确定出的第一报文的子TCP连接将第一报文的回应报文转发给相应的VM。
[0079] 本发明实施例中LB可预先保存第二报文的序列号、第二报文的数据长度W及传输 第一报文的子TCP连接(TCPl、TCP2和TCP3)之间的对应关系,例如表3所示。
[0080] 表 3 「nnsi1
L0082」LB接收到第二回应报文后,依据第二回应报文中包括的第二报文的确认序列号, 查找预先保存的关系列表,确定出第二报文的序列号和第二报文的数据长度之和与所述第 二报文的确认序列号相等的第二报文的序列号和第二报文的数据长度,然后依据所述第二 报文的序列号和所述第二报文的数据长度,W及第二报文的序列号、第二报文的数据长度 W及传输第一报文的子TCP连接之间的对应关系,确定出传输第一报文的子TCP连接。
[0083] 本发明实施例中确定出传输的第一报文的子TCP连接之后,所述汇聚代理获得第 一报文的第一回应报文,所述第一回应报文的源IP地址为所述汇聚代理的IP地址,所述第 一回应报文的目的IP地址为确定出的子TCP连接所连接的VM的IP地址;所述第一回应报文 中包括第一报文的确认序列号,该第一报文的确认序列号通常为第一报文的序列号与第一 报文的数据长度之和。所述汇聚代理通过所述确定出的子TCP连接,向所述确定出的子TCP 连接所连接的VM转发所述第一回应报文。VM接收到所述第一回应报文后,依据所述第一回 应报文中包括的第一报文的确认序列号,可确定出所述第一回应报文所回应的第一报文。
[0084] 本发明实施例中汇聚代理可通过确定出的子TCP连接传输的第一报文的IP五元组 W及第一报文的确认序列号,替换第二回应报文的IP五元组W及第二报文的序列号,得到 第一报文的第一回应报文的IP五元组W及序列号。
[0085] 本发明实施例中第二回应报文的IP五元组W及第二报文的序列号可如下表4所 /J、- O
[00化]表4
[0087]
[0088] 本发明实施例中第一回应报文的IP五元组W及第一报文的序列号可如下表5所 /J、- O
[0089] 表5
[0090]
[0091] 需要说明的是,本发明实施例表5中Iengthl为VMl发送的第一报文的数据长度, lengths为VM2发送的第一报文的数据长度,lengths为VM3发送的第一报文的数据长度。
[0092] 本发明实施例通过上述实现方式,实现了通过LB将通过子TCP连接传输的报文汇 聚到一个汇聚TCP连接中进行报文的发送和接收,能够节省服务器侧的TCP连接数目,W达 到节省服务器内存资源的目的。
[0093] 可选的,本发明实施例中若VNF化Ol中的所有子TCP连接被释放,为进一步节省资 源,可将新建的汇聚TCP连接也释放。
[0094] 可选的,本发明实施例中LB通过到一个汇聚TCP连接进行报文的传输,故VNF化〇1 对外呈现一个汇聚连接,故若在该VNF化〇1内的VM数量增加或减少,都不会影响LB与服务 器之间的汇聚TCP连接的数目,即服务器将整个VNF化Ol作为整体并不感知到VNF化Ol中 的VM的数量,实现将VNF化〇1中不同VM真正虚拟成一个化〇1,形成云化的资源池,并可使VM 不受地域的限制。
[00巧]远程用户拨号认证系统(Remote Authentication Dial In User Service, RADIUS),是目前广泛应用的一种采用UDP传输数据的方式。故本发明实施例中对于采用UDP 协议进行报文传输的过程WRADIUS会话为例进行说明。本发明实施例W下WVM与LB之间建 立的子链路为RADIUS子会话,LB与服务器之间建立的汇聚链路为RADIUS汇聚会话为例进行 说明。
[0096] 采用RADIUS会话进行报文传输的实现过程与采用TCP传输协议进行报文传输的实 现过程类似,对于相同之处在此不再寶述,W下仅就不同之处进行说明。
[0097] 通过RADIUS会话进行报文传输时,可将RADIUS子会话传输的第一报文转换为第二 报文,然后通过RADIUS汇聚会话进行传输,例如图7中可将RADIUSURADIUS2和RADIUS3中传 输的第一报文转换为第二报文后,通过一个RADIUS4进行传输。不同于TCP传输协议,采用 RADIUS会话进行报文传输时,LB不用新增汇聚链路,可W通过在已建立的RADIUS会话中修 改报文实现。
[009引 RDIUS会话中的报文中通过匹配标识符(Identifier),来匹配请求报文和回应报 文,而匹配标识符一般是顺序递增的数字,故为了避免汇聚链路中的匹配标识符与各VM子 链路中的匹配标识符重复,本发明实施例中可在汇聚链路中为各VM子链路分配新的匹配标 识符。
[0099] 图7所示为本发明实施例中通过RADIUS会话进行报文传输的过程示意图。图7中, VNF化〇1中的VMl、VM2和VM3分别与LB建立RADIUS子会话。VMl与LB建立的RADIUS子会话为 RADIUS1,RADIUS1用于传输来自VMl的第一报文。VM2与LB建立的RADIUS子会话为RADIUS2, RADIUS2用于传输来自VM2的第一报文。VM3与LB建立的RADIUS子会话为RADIUS3,RADIUS3用 于传输来自VM3的第一报文。RADIUSURADIUS2和RADIUS3会分别为其所传输的第一报文分 配第一报文的匹配标识符。
[0100] 本发明实施例中仍WVMl、VM2和VM3发送的第一报文中包括有IP五元组为例进行 说明,则第一报文中包括的IP五元组、匹配标识符W及RADIUS子会话之间的对应关系如表6 所示。
[0101] 表6
[0102]
[0103] 所述LB使用RADIUS4传输的第二报文的IP五元组替换RADIUSURADIUS2和RADIUS3 传输的第一报文的IP五元组,使用RADIUS4为分配的第二报文的匹配标识符替换第一报文 的匹配标识符,可得到第二报文,第二报文的IP五元组、匹配标识符W及RADIUS子会话之间 的对应关系如表7所示:
[0104] 表7
[0105]
[0106] LB按照第二报文的IP五元组W及匹配标识符,通过LB与服务器之间建立的RADIUS 汇聚会话发送所述第二报文。
[0107] 本发明实施例中LB通过RADIUS汇聚会话向服务器发送第二报文后,还可接收服务 器响应所述第二报文的回应报文,并依据所述第二报文的回应报文得到第一报文的回应报 文,将所述第一报文的回应报文转发给VMl、VM2和VM3。
[0108] 本发明实施例中,所述LB可预先创建代理表,所述代理表中保存所述第二报文的 匹配标识符、第一报文的匹配标识符W及传输所述第一报文的RADIUS子会话之间的对应关 系。所述LB通过RADIUS汇聚会话接收到第二报文的第二回应报文后,由于该第二回应报文 中包括第二报文的匹配标识符,故所述LB可W依据所述第二回应报文中包含的第二报文的 匹配标识符查找预先创建的代理表,得到RADIUS子会话分配的第一报文的匹配标识符W及 传输所述第一报文的RADIUS子会话。所述汇聚代理获得第一报文的第一回应报文,所述第 一回应报文的源IP地址为所述汇聚代理的IP地址,所述第一回应报文的目的IP地址为确定 出的RADIUS子会话所连接的VM的IP地址;所述汇聚代理依据得到的第一报文的匹配标识符 W及传输所述第一报文的RADIUS子会话,向确定出的RADIUS子会话所连接的VM转发所述第 一回应报文。
[0109] 本发明实施例中第一回应报文可通过确定出的RADIUS子会话传输的第一报文的 IP五元组W及匹配标识符,替换第二回应报文的IP五元组W及匹配标识符而得到。
[0110] 本发明实施例中第二回应报文中的IP五元组W及匹配标识符的对应关系如下表8 所示:
[0111] 表8
[0112]
[0113] 本发明实施例中第一回应报文的IP五元组W及匹配标识符可如下表9所示:
[0114] 表9 [01151
[
[0117」可W理解的是,RADIUS中的匹配标识符的数量小于256,故在具体实施时,LB可通 过队列或缓存机制处理多个VM的RADIUS子会话,若VM的RADIUS子会话的数目超过256,则可 通过释放已完成的RADIUS子会话,或者还可W等待有多余的匹配标识符时再使用。
[011引本发明实施例通过上述可能的实现方式,实现了通过LB将VNF Pool中多个VM的 RADIUS子会话传输的报文汇聚到RADIUS汇聚会话中进行发送和接收,能够节省服务器侧的 RADIUS会话数目,W达到节省服务器内存资源的目的。
[0119] 基于上述实施例提供的报文传输方法,本发明实施例还提供一种报文传输装置 100。图8为本发明实施例提供的报文传输装置100的结构示意图,如图8所示,本发明实施例 提供的报文传输装置100包括接收单元101、处理单元102和发送单元103,其中,
[0120] 所述接收单元101,用于接收来自VNF化〇1中至少两个VM中的每个VM的第一报文, 所述至少两个VM通过至少两个子链路与所述报文传输装置连接,且所述至少两个VM与所述 至少两个子链路一一对应,所述子链路用于传输所述第一报文。
[0121] 所述处理单元102,用于根据所述第一报文获得第二报文,所述第二报文包括源互 联网协议IP地址和目的IP地址,所述第二报文的源IP地址为所述报文传输装置100的IP地 址,所述第二报文的目的IP地址为服务器的IP地址。
[0122] 所述发送单元103,用于通过所述报文传输装置100与所述服务器之间建立的汇聚 链路发送所述处理单元102获得的所述第二报文,其中,所述汇聚链路的数目小于所述子链 路的数目。
[0123] 可选的,所述第二报文中还包括源端口和目的端口;其中,所述第二报文的源端口 为所述报文传输装置100的端口,所述第二报文的目的端口为所述服务器的端口。
[0124] -种可能的实现方式中,所述子链路为子传输控制协议TCP连接,所述汇聚链路为 汇聚TCP连接;所述第二报文中还包括序列号;其中,所述第二报文的序列号是所述处理单 元102依据所述汇聚TCP连接分配的序列号。
[0125] 可选的,所述接收单元101,还用于:在所述发送单元103通过所述报文传输装置 100与所述服务器之间建立的汇聚TCP连接发送所述处理单元102获得的所述第二报文之 后,通过所述汇聚TCP连接接收所述服务器响应所述第二报文的第二回应报文,所述第二回 应报文中包括确认序列号,所述确认序列号为所述第二报文的序列号和所述第二报文的数 据长度之和。
[01%]所述处理单元102,还用于:依据所述第二回应报文中包括的确认序列号查找预先 保存的关系列表,确定所述第二报文的序列号和所述第二报文的数据长度,依据所述确定 出的所述第二报文的序列号和所述第二报文的数据长度,在所述关系列表中确定出传输第 一报文的子TCP连接,所述预先保存的关系列表中包括所述第二报文的序列号、所述第二报 文的数据长度W及传输所述第一报文的子TCP连接之间的对应关系。根据所述第二回应报 文获得所述第一报文的第一回应报文,所述第一回应报文的源IP地址为所述报文传输装置 100的IP地址,所述第一回应报文的目的IP地址为确定出的子TCP连接所连接的VM的IP地 址,所述第一回应报文中包括第一报文的确认序列号,所述第一报文的确认序列号为所述 第一报文的序列号和所述第一报文的数据长度之和。
[0127]所述发送单元103,还用于:通过所述处理单元102所述确定出的子TCP连接,向所 述确定出的子TCP连接所连接的VM转发所述第一回应报文。
[01%]可选的,所述汇聚链路是所述处理单元102在所述接收单元101接收到所述VNF 化〇1中首个VM子链路的报文时新建的TCP链路。
[0129]另一种可能的实现方式中,所述子链路为远程用户拨号认证系统RADIUS子会话, 所述汇聚链路为RADIUS汇聚会话;所述第二报文中还包括匹配标识符;其中,所述第二报文 的匹配标识符是所述处理单元102依据所述RADIUS汇聚会话分配的匹配标识符。
[0130] 另一种可能的实现方式中,在所述发送单元103通过所述报文传输装置100与所述 服务器之间建立的RADIUS汇聚会话发送所述处理单元102获得的所述第二报文之后,通过 所述RADIUS汇聚会话,接收所述服务器响应所述第二报文的第二回应报文,所述第二回应 报文中包含有第二报文的匹配标识符。
[0131] 所述处理单元102,还用于:依据所述第二回应报文中包含的第二报文的匹配标识 符查找预先创建的代理表,确定RADIUS子会话分配的第一报文的匹配标识符W及传输所述 第一报文的RADIUS子会话,所述代理表中保存所述第二报文的匹配标识符、所述第一报文 的匹配标识符W及传输所述第一报文的RADIUS子会话之间的对应关系。根据所述第二回应 报文获得第一报文的第一回应报文,所述第一回应报文的源IP地址为所述报文传输装置 100的IP地址,所述第一回应报文的目的IP地址为确定出的RADIUS子会话所连接的VM的IP 地址;
[0132] 所述发送单元103,还用于:依据所述确定出的所述第一报文的匹配标识符W及传 输所述第一报文的RADIUS子会话,向所述确定出的RADIUS子会话所连接的VM转发所述第一 回应报文。
[0133] 可选的,所述RADIUS汇聚会话为所述报文传输装置100与服务器之间已建立的 RADIUS 会话。
[0134] 可选的,所述汇聚链路的数量为所述处理单元102依据所述子链路的数量进行建 立的。
[0135] 可选的,所述报文传输装置100为内置或外置于所述VNF化Ol中的负载分担LB。
[0136] 可选的,所述处理单元102,还用于:在确认所述各VM子链路被释放的情况下,释放 所述汇聚链路。
[0137] 本发明实施例中,报文传输装置100将接收到的来自VNF化Ol中通过多个子链路 传输的报文汇聚到汇聚链路中进行传输,使得VNF Pool对外呈现汇聚链路,汇聚链路数量 少于子链路的数量,服务器将整个VNF Pool作为整体,服务器并不感知VNF Pool下存在多 个VM,实现将一个VNF化Ol中不同VM真正虚拟成一个化〇1,节省服务器下的通信链路数目, W达到节省资源的目的。
[0138] 在具体实施时,本发明实施例上述报文传输装置100可W为汇聚代理,图9所示为 本发明实施例提供的汇聚代理200的结构示意图,如图9所述汇聚代理200采用通用计算机 系统结构,包括总线,处理器201,存储器202和通信接口 203,执行本发明方案的程序代码保 存在存储器202中,并由处理器201来控制执行。
[0139] 总线可包括一通路,在计算机各个部件之间传送信息。
[0140] 处理器201可W是一个通用中央处理器(CPU),微处理器,特定应用集成电路 (application-specific integrated cir州it,ASIC),或一个或多个用于控制本发明方案 程序执行的集成电路。计算机系统中包括的一个或多个存储器,可W是只读存储器(readonly memory ,ROM) 或可存储静态信息和指令的其他类型的静态存储设备 ,随机存取存储器 (random access memory ,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可W 是磁盘存储器。运些存储器通过总线与处理器相连接。
[0141] 通信接口 203,可W使用任何收发器一类的装置,W便与其他设备或通信网络通 信,如W太网,无线接入网(RAN),无线局域网(WLAN)等。
[0142] 存储器202,如RAM,保存有操作系统和执行本发明方案的程序。操作系统是用于控 制其他程序运行,管理系统资源的程序。
[0143] 存储器202中存储的程序用于指令处理器201执行本发明上述实施例设及的报文 传输方法,包括:接收来自VNF化〇1中至少两个VM中的每个VM的第一报文,所述至少两个VM 通过至少两个子链路与所述汇聚代理连接,且所述至少两个VM与所述至少两个子链路一一 对应,所述子链路用于传输所述第一报文;根据所述第一报文获得第二报文,所述第二报文 包括源互联网协议IP地址和目的IP地址,所述第二报文的源IP地址为所述汇聚代理的IP地 址,所述第二报文的目的IP地址为服务器的IP地址;通过其与所述服务器之间建立的汇聚 链路发送所述第二报文,其中,所述汇聚链路的数目小于所述子链路的数目,达到节省服务 器内存资源的目的。
[0144] 可W理解的是,本实施例的汇聚代理200可用于实现上述方法实施例中设及的所 有功能,其具体实现过程可W参照上述方法实施例的相关描述,此处不再寶述。
[0145] 本发明实施例还提供了一种计算机存储介质,用于储存上述图8或图9所述的报文 传输装置所用的计算机软件指令,其包含用于执行上述方法实施例所设及的程序。通过执 行存储的程序,可W实现将接收到的VNF化Ol中各VM子链路中的报文汇聚到一个汇聚链路 中进行传输。
[0146] 需要说明的是,本发明实施例中,"多个"是指两个或两个W上。"和/或",描述关联 对象的关联关系,表不可W存在二种关系,例如,A和/或B,可W表不:单独存在A,同时存在A 和B,单独存在8运;种情况。字符7" -般表示前后关联对象是一种"或"的关系。
[0147] 显然,本领域的技术人员可W对本发明进行各种改动和变型而不脱离本发明的精 神和范围。运样,倘若本发明的运些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含运些改动和变型在内。
【主权项】
1. 一种报文传输方法,其特征在于,包括: 汇聚代理接收来自虚拟网络功能池 VNF Pool中至少两个虚拟机VM中的每个VM的第一 报文,所述至少两个VM通过至少两个子链路与所述汇聚代理连接,且所述至少两个VM与所 述至少两个子链路一一对应,所述子链路用于传输所述第一报文; 所述汇聚代理根据所述第一报文获得第二报文,所述第二报文包括源互联网协议IP地 址和目的IP地址,所述第二报文的源IP地址为所述汇聚代理的IP地址,所述第二报文的目 的IP地址为服务器的IP地址; 所述汇聚代理通过其与所述服务器之间建立的汇聚链路发送所述第二报文,其中,所 述汇聚链路的数目小于所述子链路的数目。2. 如权利要求1所述的方法,其特征在于,所述第二报文中还包括源端口和目的端口; 其中,所述第二报文的源端口为所述汇聚代理的端口,所述第二报文的目的端口为所 述服务器的端口。3. 如权利要求1或2所述的方法,其特征在于,所述子链路为子传输控制协议TCP连接, 所述汇聚链路为汇聚TCP连接; 所述第二报文中还包括序列号; 其中,所述第二报文的序列号是所述汇聚代理依据所述汇聚TCP连接分配的序列号。4. 如权利要求3所述的方法,其特征在于,所述汇聚代理通过其与所述服务器之间建立 的汇聚TCP连接发送所述第二报文之后,所述方法还包括: 所述汇聚代理通过所述汇聚TCP连接,接收所述服务器响应所述第二报文的第二回应 报文,所述第二回应报文中包括第二报文的确认序列号,所述第二报文的确认序列号为所 述第二报文的序列号和所述第二报文的数据长度之和; 所述汇聚代理依据所述第二回应报文中包括的第二报文的确认序列号查找预先保存 的关系列表,确定所述第二报文的序列号和所述第二报文的数据长度,所述预先保存的关 系列表中包括所述第二报文的序列号、所述第二报文的数据长度以及传输所述第一报文的 子TCP连接之间的对应关系; 所述汇聚代理依据所述确定出的所述第二报文的序列号和所述第二报文的数据长度, 在所述关系列表中确定出传输所述第一报文的子TCP连接; 所述汇聚代理根据所述第二回应报文获得所述第一报文的第一回应报文,所述第一回 应报文的源IP地址为所述汇聚代理的IP地址,所述第一回应报文的目的IP地址为所述确定 出的子TCP连接所连接的VM的IP地址,所述第一回应报文中包括第一报文的确认序列号,所 述第一报文的确认序列号为所述第一报文的序列号和所述第一报文的数据长度之和; 所述汇聚代理通过所述确定出的子TCP连接,向所述确定出的子TCP连接所连接的VM转 发所述第一回应报文。5. 如权利要求3或4所述的方法,其特征在于,所述汇聚TCP连接是所述汇聚代理接收到 所述VNF Pool中首个子TCP连接传输的第一报文时新建的TCP连接。6. 如权利要求1或2所述的方法,其特征在于,所述子链路为远程用户拨号认证系统 RADIUS子会话,所述汇聚链路为RADIUS汇聚会话; 所述第二报文中还包括匹配标识符; 其中,所述第二报文的匹配标识符是所述汇聚代理依据所述RADIUS汇聚会话分配的匹 配标识符。7. 如权利要求6所述的方法,其特征在于,所述汇聚代理通过其与所述服务器之间建立 的RADIUS汇聚会话发送所述第二报文之后,所述方法还包括: 所述汇聚代理通过所述RADIUS汇聚会话,接收所述服务器响应所述第二报文的第二回 应报文,所述第二回应报文中包含有第二报文的匹配标识符; 所述汇聚代理依据所述第二回应报文中包含的第二报文的匹配标识符查找预先创建 的代理表,确定RADIUS子会话分配的所述第一报文的匹配标识符以及传输所述第一报文的 RADIUS子会话,所述代理表中保存所述第二报文的匹配标识符、所述第一报文的匹配标识 符以及传输所述第一报文的RAD IUS子会话之间的对应关系; 所述汇聚代理根据所述第二回应报文获得所述第一报文的第一回应报文,所述第一回 应报文的源IP地址为所述汇聚代理的IP地址,所述第一回应报文的目的IP地址为所述确定 出的RADIUS子会话所连接的VM的IP地址; 所述汇聚代理依据所述确定出的第一报文的匹配标识符以及传输所述第一报文的 RADIUS子会话,向所述确定出的RADIUS子会话所连接的VM转发所述第一回应报文。8. 如权利要求6或7所述的方法,其特征在于,所述RADIUS汇聚会话为所述汇聚代理与 服务器之间已建立的RADIUS会话。9. 如权利要求1至8任一项所述的方法,其特征在于,所述汇聚链路的数量为依据所述 子链路的数量进行建立的。10. 如权利要求1至9任一项所述的方法,其特征在于,所述汇聚代理为内置或外置于所 述VNF Pool中的负载分担LB。11. 如权利要求1至10任一项所述的方法,其特征在于,所述方法还包括: 所述汇聚代理在确认所述各子链路被释放的情况下,释放所述汇聚链路。12. -种报文传输装置,其特征在于,包括: 接收单元,用于接收来自虚拟网络功能池 VNF Pool中至少两个虚拟机VM中的每个VM的 第一报文,所述至少两个VM通过至少两个子链路与所述报文传输装置连接,且所述至少两 个VM与所述至少两个子链路一一对应,所述子链路用于传输所述第一报文; 处理单元,用于根据所述第一报文获得第二报文,所述第二报文包括源互联网协议IP 地址和目的IP地址,所述第二报文的源IP地址为所述报文传输装置的IP地址,所述第二报 文的目的IP地址为服务器的IP地址; 发送单元,用于通过所述报文传输装置与所述服务器之间建立的汇聚链路发送所述处 理单元获得的所述第二报文,其中,所述汇聚链路的数目小于所述子链路的数目。13. 如权利要求12所述的装置,其特征在于,所述第二报文中还包括源端口和目的端 P; 其中,所述第二报文的源端口为所述报文传输装置的端口,所述第二报文的目的端口 为所述服务器的端口。14. 如权利要求12或13所述的装置,其特征在于,所述子链路为子传输控制协议TCP连 接,所述汇聚链路为汇聚TCP连接; 所述第二报文中还包括序列号; 其中,所述第二报文的序列号是所述处理单元依据所述汇聚TCP连接分配的序列号。15. 如权利要求14所述的装置,其特征在于,所述接收单元,还用于: 在所述发送单元通过所述报文传输装置与所述服务器之间建立的汇聚TCP连接发送所 述处理单元获得的所述第二报文之后,通过所述汇聚TCP连接接收所述服务器响应所述第 二报文的第二回应报文,所述第二回应报文中包括第二报文的确认序列号,所述第二报文 的确认序列号为所述第二报文的序列号和所述第二报文的数据长度之和; 所述处理单元,还用于: 依据所述第二回应报文中包括的第二报文的确认序列号查找预先保存的关系列表,确 定所述第二报文的序列号和所述第二报文的数据长度,依据所述确定出的所述第二报文的 序列号和所述第二报文的数据长度,在所述关系列表中确定出传输所述第一报文的子TCP 连接,所述预先保存的关系列表中包括所述第二报文的序列号、所述第二报文的数据长度 以及传输所述第一报文的子TCP连接之间的对应关系; 根据所述第二回应报文获得所述第一报文的第一回应报文,所述第一回应报文的源IP 地址为所述报文传输装置的IP地址,所述第一回应报文的目的IP地址为所述确定出的子 TCP连接所连接的VM的IP地址,所述第一回应报文中包括第一报文的确认序列号,所述第一 报文的确认序列号为所述第一报文的序列号和所述第一报文的数据长度之和; 所述发送单元,还用于: 通过所述处理单元确定出的子TCP连接,向所述确定出的子TCP连接所连接的VM转发所 述第一回应报文。16. 如权利要求14或15所述的装置,其特征在于,所述汇聚链路是所述处理单元在所述 接收单元接收到所述VNF Pool中首个VM子链路的报文时新建的TCP链路。17. 如权利要求12或13所述的装置,其特征在于,所述子链路为远程用户拨号认证系统 RADIUS子会话,所述汇聚链路为RADIUS汇聚会话; 所述第二报文中还包括匹配标识符; 其中,所述第二报文的匹配标识符是所述处理单元依据所述RADIUS汇聚会话分配的匹 配标识符。18. 如权利要求17所述的装置,其特征在于,所述接收单元,还用于: 在所述发送单元通过所述报文传输装置与所述服务器之间建立的RADIUS汇聚会话发 送所述处理单元获得的所述第二报文之后,通过所述RADIUS汇聚会话,接收所述服务器响 应所述第二报文的第二回应报文,所述第二回应报文中包含有第二报文的匹配标识符; 所述处理单元,还用于: 依据所述第二回应报文中包含的第二报文的匹配标识符查找预先创建的代理表,确定 RADIUS子会话分配的所述第一报文的匹配标识符以及传输所述第一报文的RADIUS子会话, 所述代理表中保存所述第二报文的匹配标识符、所述第一报文的匹配标识符以及传输所述 第一报文的RADIUS子会话之间的对应关系; 根据所述第二回应报文获得所述第一报文的第一回应报文,所述第一回应报文的源IP 地址为所述报文传输装置的IP地址,所述第一回应报文的目的IP地址为所述确定出的 RADIUS子会话所连接的VM的IP地址; 所述发送单元,还用于: 依据所述确定出的第一报文的匹配标识符以及传输所述第一报文的RADIUS子会话,向 所述确定出的RADIUS子会话所连接的VM转发所述第一回应报文。19. 如权利要求17或18所述的装置,其特征在于,所述RADIUS汇聚会话为所述报文传输 装置与服务器之间已建立的RADIUS会话。20. 如权利要求12至19任一项所述的装置,其特征在于,所述汇聚链路的数量为所述处 理单元依据所述子链路的数量进行建立的。21. 如权利要求12至20任一项所述的装置,其特征在于,所述报文传输装置为内置或外 置于所述VNF Pool中的负载分担LB。22. 如权利要求12至21任一项所述的装置,其特征在于,所述处理单元,还用于: 在确认所述各VM子链路被释放的情况下,释放所述汇聚链路。
【文档编号】H04L29/08GK105847142SQ201610165510
【公开日】2016年8月10日
【申请日】2016年3月22日
【发明人】周栋臣, 滕新东
【申请人】华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1