CN107172120B - 信息处理方法、处理节点及网络节点 - Google Patents

信息处理方法、处理节点及网络节点 Download PDF

Info

Publication number
CN107172120B
CN107172120B CN201710187466.0A CN201710187466A CN107172120B CN 107172120 B CN107172120 B CN 107172120B CN 201710187466 A CN201710187466 A CN 201710187466A CN 107172120 B CN107172120 B CN 107172120B
Authority
CN
China
Prior art keywords
public network
virtual machine
address
network
port number
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.)
Active
Application number
CN201710187466.0A
Other languages
English (en)
Other versions
CN107172120A (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201710187466.0A priority Critical patent/CN107172120B/zh
Publication of CN107172120A publication Critical patent/CN107172120A/zh
Application granted granted Critical
Publication of CN107172120B publication Critical patent/CN107172120B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

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

本发明实施例公开了一种信息处理方法及处理节点及网络节点,所述方法包括:计算节点接收待转发的数据包;获取所述数据包对应的会话信息,其中,所述会话信息至少包括:虚拟机的虚机网络协议IP地址、虚机端口号、公网IP地址和公网端口号;根据所述会话信息,进行数据包从虚拟机所在私网与公网之间所述数据包传输的地址转换;在完成所述地址转换之后,转发所述数据包。

Description

信息处理方法、处理节点及网络节点
技术领域
本发明涉及网络技术领域,尤其涉及一种信息处理方法、处理节点及网络节点。
背景技术
在云平台中等网络平台,虚拟机发送的数据局包,需要通过网络节点上的虚拟路由器进行源地址转换(Source Network Address Translation,SNAT)之后,转发到外网。这样虽然实现了将平台内虚拟机发送的数据包顺利的通过源地址转换到外网,但是SNAT由网络节点进行,这样就会导致网络节点的超载的现象,并导致数据传输的效率低。与此同时,在进行SNAT时,需要为每一个虚拟机分配为一个将数据包转发到外网的公网网络协议(Internet Protocol,IP)地址,需要使用的IP地址多,导致外网IP地址紧张。
发明内容
有鉴于此,本发明实施例期望提供的信息处理方法、处理节点及网络节点,可至少部分解决上述问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例第一方面提供一种信息处理方法,包括:
计算节点接收待转发的数据包;
获取所述数据包对应的会话信息,其中,所述会话信息至少包括:虚拟机的虚机网络协议IP地址、虚机端口号、公网IP地址和公网端口号;
根据所述会话信息,进行数据包从虚拟机所在私网与公网之间所述数据包传输的地址转换;
在完成所述地址转换之后,转发所述数据包。
基于上述方案,所述获取所述数据包对应的会话信息,包括:
当所述计算节点接收到所述虚拟机向外转发的数据包时,向网络节点发送会话申请;
接收所述网络节点响应所述会话申请为所述虚拟机分配的所述公网IP地址和公网端口号;
记录所述虚机IP地址、所述虚机端口号、所述公网IP地址和所述公网端口号,以形成所述会话信息。
基于上述方案,所述根据所述会话信息,进行数据包从虚拟机所在内网与外网之间数据包传输的地址转换,包括:
将所述虚拟机发送给所述公网的数据包中携带的所述虚机IP地址及所述虚机端口号,替换为所述公网IP地址和所述公网端口号;
和/或,
将所述公网发送的数据包中携带的所述公网IP地址和所述公网端口号,替换成所述虚机IP地址及所述虚机端口号。
基于上述方案,所述会话信息中还包括:所述虚拟机所在的虚拟局域网的虚拟局域网标识;其中,在所述私网内,所述虚拟局域网标识、所述虚拟机的虚机IP地址及所述虚机端口号,能够唯一标识所述虚拟机;在所述私网内,所述公网IP地址和所述公网端口号,能够唯一标识所述虚拟机。
基于上述方案,所述方法还包括:
当所述计算节点接收到所述外网发送给虚拟机的数据包时,根据所述数据包中携带的所述公网IP地址及端口号查询所述会话信息,确定待接收数据包的虚拟机;
将所述外网发送给虚拟机的数据包转发给确定的所述虚拟机。
本发明实施例第二方面提供一种信息处理方法,包括:
网络节点为虚拟机分配公网IP地址及公网端口号,其中,所述公网IP地址及所述公网端口号在所述虚拟机所在的私网内,能够唯一标识所述虚拟机;
将所述公网IP地址和公网端口号,发送给所述虚拟机所在的计算节点;其中,所述公网IP地址及所述公网端口号,所述虚拟机的虚机IP地址及虚机端口号,共同形成用于地址转换的会话信息。
基于上述方案,所述方法还包括:
接收所述计算机节点在所述虚拟机需要向公网发送数据包时,发送的会话申请;
所述为虚拟机分配公网IP地址及公网端口号,包括:
根据所述会话申请,为所述虚拟机分配为所述公网IP地址及所述公网端口号。
基于上述方案,所述方法还包括:
对应记录所述公网IP地址、所述公网端口号及所述虚拟机所在计算节点的地址,形成流表;
将所述流表下发给所述私网与公网之间进行数据转换的交换机。
本发明实施例第三方面提供一种计算节点,包括:
第一接收单元,用于接收待转发的数据包;
获取单元,用于获取所述数据包对应的会话信息,其中,所述会话信息至少包括:虚拟机的虚机IP地址、虚机端口号、公网IP地址和公网端口号;
转换单元,用于根据所述会话信息,进行数据包从虚拟机所在私网与公网之间所述数据包传输的地址转换;
第一发送单元,用于在完成所述地址转换之后,转发所述数据包。
基于上述方案,所述获取单元,用于当所述计算节点接收到所述虚拟机向外转发的数据包时,向网络节点发送会话申请;
所述第一接收单元,还用于接收网络节点响应所述会话申请为所述虚拟机分配的所述公网IP地址和公网端口号;
所述计算节点还包括:
第一记录单元,用于记录所述虚机IP地址、所述虚机端口号、所述公网IP地址和所述公网端口号,以形成所述会话信息。
基于上述方案,所述转换单元,具体用于将所述虚拟机发送给所述公网的数据包中携带的所述虚机IP地址及所述虚机端口号,替换为所述公网IP地址和所述公网端口号;
和/或,
将所述公网发送的数据包中携带的所述公网IP地址和所述公网端口号,替换成所述虚机IP地址及所述虚机端口号。
基于上述方案,所述会话信息中还包括:所述虚拟机所在的虚拟局域网的虚拟局域网标识;其中,在所述私网内,所述虚拟局域网标识、所述虚拟机的虚机IP地址及所述虚机端口号,能够唯一标识所述虚拟机;在所述私网内,所述公网IP地址和所述公网端口号,能够唯一标识所述虚拟机。
基于上述方案,所述计算节点还包括:
确定单元,用于当所述计算节点接收到所述外网发送给虚拟机的数据包时,根据所述数据包中携带的所述公网IP地址及端口号查询所述会话信息,确定待接收数据包的虚拟机;
所述第一发送单元,用于将所述外网发送给虚拟机的数据包转发给确定的所述虚拟机。
本发明实施例第四方面提供一种网络节点,包括:
分配单元,用于为虚拟机分配公网IP地址及公网端口号,其中,所述公网IP地址及所述公网端口号在所述虚拟机所在的私网内,能够唯一标识所述虚拟机;
第二发送单元,用于将所述公网IP地址和公网端口号,发送给所述虚拟机所在的计算节点;其中,所述公网IP地址及所述公网端口号,所述虚拟机的虚机IP地址及虚机端口号,共同形成用于地址转换的会话信息。
基于上述方案,所述网络节点还包括:
第二接收单元,用于接收所述计算机节点在所述虚拟机需要向公网发送数据包时,发送的会话申请;
所述分配单元,具体用于根据所述会话申请,为所述虚拟机分配为所述公网IP地址及所述公网端口号。
基于上述方案,所述网络节点还包括:
第二记录单元,用于对应记录所述公网IP地址、所述公网端口号及所述虚拟机所在计算节点的地址,形成流表;
所述第二发送单元,还用于将所述流表下发给所述私网与公网之间进行数据转换的交换机。
本发明实施例提供的信息处理方法、处理节点及网络节点,在进行地址转换时,还引入了虚机端口号和公网端口号。一个公网IP地址最多可对应65536个端口号,一个公网IP地址和一个公网端口号分配给一台虚拟机,相当于将一个公网IP地址分配给一个虚拟机,显然可以大大减少私网和公网数据包交互过程中所需的IP地址,提升了IP地址的有效使用率,在不增加IP地址的情况下,实现了对私网内虚拟机的数量的增加,从而实现了私网的扩容。于此同时,地址转换转而由每一个设置有虚拟机的计算节点进行,不在由数量相对较少的网络节点进行,从而实现了地址转换的分散式处理,减少了网络节点拥堵导致的地址转换慢及数据转发效率低的问题;具有地址转换效率高及数据包转发效率高的特点。
附图说明
图1为本发明实施例提供的第一种信息处理方法的流程示意图;
图2为本发明实施例提供的第二种信息处理方法的流程示意图;
图3为本发明实施例提供的第三种信息处理方法的流程示意图;
图4为本发明实施例提供的一种计算节点的结构示意图;
图5为本发明实施例提供的一种网络节点的结构示意图;
图6为本发明实施例提供的第四种信息处理方法的流程示意图;
图7为本发明实施例提供的第五种信息处理方法的流程示意图。
具体实施方式
以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。
如图1所示,本实施例提供一种信息处理方法,应用于计算节点中,包括:
步骤S110:接收待转发的数据包;
步骤S120:获取所述数据包对应的会话信息,其中,所述会话信息至少包括:虚拟机的虚机IP地址、虚机端口号、公网IP地址和公网端口号;
步骤S130:根据所述会话信息,进行数据包从虚拟机所在私网与公网之间所述数据包传输的地址转换;
步骤S140:在完成所述地址转换之后,转发所述数据包。
本实施例所述的计算节点可为设置有所述虚拟机的处理节点。该计算节点可为提供计算资源及存储资源的服务器或电子设备。
在本实施例中所述计算节点上可以设置一台或多台虚拟机,通常情况下,一个计算节点都会设置两台或两台以上的虚拟机。在本实施例中由计算节点来进行公网地址和私网地址的转换,而非网络节点进行地址转换,相当于将由整个计算平台中的一个或少数几个网络节点的地址转换负荷转移到各个计算节点身上。通常情况下,一个计算平台中所述计算节点的个数会多于所述网络节点的个数。这样的话,显然减轻了网络节点的负荷,减少了所有地址转换都集中在网络节点上导致的地址转换时延大,进而导致的数据包转发时延大的问题。
在本实施例中所述计算机节点可能会接收到外网转发给虚拟机的数据包,也可能会接收到虚拟机转换给数据包。总之,不管是数据包需要转发给虚拟机还是虚拟机的数据包转发给外网,都会经过计算节点。
在本实施例步骤S110中接收的待转发的数据包可能来自外网,也可以能来自私网。在本实施例中所述外网和私网可能会通过路由器或交换机进行隔离。由于外网和私网的隔离,在私网内数据包基于私网的IP地址进行转发,在公网内数据包基于公网IP地址进行转发。一个私网可能仅设置一个或少量的公网地址。这里的私网IP地址即为前述的虚机IP地址。
在步骤S120中会获取该数据包的会话信息,该会话信息中除了该数据包的虚机IP地址和私网IP地址以外,还包括虚拟机端口号及公网端口。通常不同的端口号可以共用一个IP地址。一个虚拟机通常连接到一个虚拟机端口号上。多个公网端口也可能共用一个公网IP地址,不同的虚拟机可能会通过不同的公网端口对外发数据包或接收数据包。
这里的获取会话信息,可包括:从网络节点接收该数据包的会话信息,或该数据包对应的虚拟机的会话信息;若计算节点事先存储了会话信息,则可以在本地查询该会话信息。
例如,在计算节点中专门设置了一个命名空间,该命名空间包括一个或多个存储区域。该命名空间内存储有各种绘画信息,可用于SNAT。在本实施例中的地址转换即为所述源地址转换,即将数据包中的源地址进行替换。例如,虚拟机发送到外网的数据包的源地址,由虚拟机在私网的地址转换成外网地址。在本实施例中所述SNAT时,不仅涉及IP地址转换,还包括源端口转换。例如,将虚拟机端口号转换为虚拟机的外网端口号。由于一个端口号会对应于多个IP地址,一个IP地址也可能会对应于多个端口号;但是一个IP地址和一个端口号的组合,可以唯一标识一台所述虚拟机。这样的话,在进行SANT时,不仅进行IP地址的转换,而且进行端口号的转换,这样的话,在IP地址有限的情况下,多台虚拟机可以共用一个公网IP地址和一个虚机IP地址,仅需连接在不同的公网端口号及虚拟机端口号即可,显然可以在不增加IP地址的情况下,增加私网内的虚拟机太熟,从而达到虚拟机扩容的效果。
在本实施例中在获取到会话信息之后,会根据会话信息进行地址转换。在本实施例中所述地址转换可为公网到私网的地址转换,也可以是私网到公网的地址转换。
在完成地址转换之后,计算节点会将待转发的数据包转发到对应的节点上。例如,将需要转发到外网的数据包,转发给交换机,由交换机将已经完成源地址替换的数据包转发到外网。再例如,所述计算节点也可以将需要转发给虚拟机的数据包完成地址转换之后,转发数据包,由于进行了源地址转换,该数据包自动会根据虚机IP地址及虚拟机端口号,通过对应的虚拟机端口号寻址到对应的虚拟机,完成数据包的转发。
总之,在本实施例中首先由计算节点进行数据包SNAT,使得SANT的负荷分散到各个计算节点,而非集中在网络节点,从而减少了网络节点的拥塞,从而减少了因网络节点拥塞导致的转发时延大的问题;与此同时,由于进行SNAT时,引入了端口号,这样的话,使得计算平台内多台虚拟机可以共用一个虚机IP地址和一个公网IP地址,从而实现了私网内虚拟机的扩容,减少了IP地址的使用。
在一些实施例中,所述公网IP地址及公网端口号可以是静态分配的,一旦分配除非虚拟机取消等异常情况,所述虚机IP地址、虚拟机端口号、公网IP地址及公网端口号一般不会发生变化。在本实施例中一方面为了再次提升IP地址和端口号的有效利用率,会采用动态分配的方式分配公网IP地址及公网端口号。以下提供一种公网IP地址和公网端口号的分配方式,如图2所示,所述步骤S120可包括:
步骤S121:当所述计算节点接收到所述虚拟机向外转发的数据包时,向网络节点发送会话申请;
步骤S122:接收所述网络节点响应所述会话申请为所述虚拟机分配的所述公网IP地址和公网端口号;
步骤S123:记录所述虚机IP地址、所述虚机端口号、所述公网IP地址和所述公网端口号,以形成所述会话信息。
在本实施例中所述计算机节点接收到一个虚拟机向外转发的数据包(即向外网转发数据包)时,向网络节点发送会话申请。通常该会话申请中会携带虚机IP地址和虚机端口号;这样方便网络节点记录,将公网IP地址和公网端口号分配给了哪些一个虚拟机及该虚拟机对应的虚机端口号。
网络节点接收到该会话申请之后,会根据当前公网IP地址和公网端口号的分配情况,将当前可用的公网IP地址和公网端口号分配给对应的虚拟机。网络节点完成分配之后,会将分配的公网IP地址和公网端口号返回给计算节点,这样的话,计算节点就会接收到会话申请返回的公网IP地址及公网端口号。在本实施例中计算机节点可能在一个时刻点会向网络节点发送不同虚拟机的多个会话申请,为了方便计算节点的区分,所述网络节点返回的信息中,不仅可以携带所述公网IP地址和公网端口号,还会携带对应的虚机IP地址和虚机端口号。
在步骤S123中计算节点会对应记录所述虚机IP地址、所述虚机端口号、所述公网IP地址和所述公网端口号,形成所述会话信息。在本实施例中所述计算节点可存储在前述命名空间内。
在虚拟机向外发送数据包时,计算节点存储了有所述会话信息,虚拟机的数据包发送出去之后,可能会接收到外网返回的数据包,由于虚拟机在向外发送数据包时,已经形成了会话信息,故计算节点在向虚拟机发送数据包时,可以在本地进行查询即可,不需要再次向网络节点进行查询。外网的数据包接入计算平台(如云平台)的转发节点(如交换机)之后,所述交换机会根据数据包中目的地址中的公网IP地址及公网端口号转发给对应的计算节点,这样计算节点就会接收到基于公网IP地址和公网端口号为目的地址转发的数据包,再基于其内部存储的会话信息或从网络平台查询的会话信息,确定出该带转发的数据包对应的虚拟机,并将数据包直接转发给对应的虚拟机。具体如,所述方法还包括:当所述计算节点接收到所述外网发送给虚拟机的数据包时,根据所述数据包中携带的所述公网IP地址及端口号查询所述会话信息,确定待接收数据包的虚拟机;将所述外网发送给虚拟机的数据包转发给确定的所述虚拟机。
当然,在本实施例中所述公网IP地址和公网端口号是有一定的时效的,若超过时效,则该公网IP地址和公网端口号被网络节点失效,对应的虚拟机不再使用该公网IP地址和公网端口号的权限,若需要再次使用则需要再次申请分配。
当然上述方法可以用于静态分配方式的首次公网IP地址和公网端口号的分配,也可以用于动态分配方式中的每一次公网IP地址及公网端口号的分配。
当虚拟机向外网发送包时,所述步骤S130可包括:
将所述虚拟机发送给所述公网的数据包中携带的所述虚机IP地址及所述虚机端口号,替换为所述公网IP地址和所述公网端口号;
当外网向虚拟机发送数据包时,所述步骤S130可包括:
将所述公网发送的数据包中携带的所述公网IP地址和所述公网端口号,替换成所述虚机IP地址及所述虚机端口号。
在有些实施例中,当接收到外网发送的数据包时,计算节点不做SNAT,直接通过查询所述会话消息,转发给对应的虚拟机即可。
在一些实施例中,所述会话信息中还包括:所述虚拟机所在的虚拟局域网的虚拟局域网标识;其中,在所述私网内,所述虚拟局域网标识、所述虚拟机的虚机IP地址及所述虚机端口号,能够唯一标识所述虚拟机;在所述私网内,所述公网IP地址和所述公网端口号,能够唯一标识所述虚拟机。
在本实施例中为了进一步提升私网IP地址的有效使用率,在本实施例中还引入了虚拟局域网标识(VXLAN ID),这样的话,在私网内还可以通过VXLANID进一步区分虚拟机,两台虚拟机的虚机IP地址、虚机端口号及VXLAN ID这三个信息只要一个不同,就可以用于区分虚拟机,显然,再次提升了一个虚机IP地址对应的虚拟机的台数,再次提升了虚机IP地址的有效使用率,实现了在保持私网内虚机IP地址不变的情况下,增加了私网内可设置的虚拟机的台数。
在一些情况下,所述方法还包括:
判断所述计算节点当前的负载率;
若所述负载率大于预设阈值时,则将待转发的数据包转发给网络节点,这样的话,可以由网络节点进行基于虚拟机的虚机IP地址、虚机端口号、公网IP地址和公网端口号或虚拟机的虚机IP地址、虚拟局域网标识、虚机端口号、公网IP地址和公网端口号,进行SNAT,以避免计算节点负载过大时导致的拥堵问题,导致的数据包转发延时。这样的话,网络节点和计算节点之间可以相互转移负载,尽可能提升数据包的转发效率。
在一些实施例中,若所述网络节点当前负载率比较低,则所述网络节点可向计算节点发送对应的通知;则在上述实施例中,所述若所述负载率大于预设阈值时,则将待转发的数据包转发给网络节点,可包括:
当接收到指示网络节点负载率低于指定值时发送的通知,且当前计算节点的负载率高于预定阈值时,将待转发的数据包发送给网络节点。
如图3所示,本实施例提供一种信息处理方法,应用于网络节点中,包括:
步骤S210:为虚拟机分配公网IP地址及公网端口号,其中,所述公网IP地址及所述公网端口号在所述虚拟机所在的私网内,能够唯一标识所述虚拟机;
步骤S220:将所述公网IP地址和公网端口号,发送给所述虚拟机所在的计算节点;其中,所述公网IP地址及所述公网端口号,所述虚拟机的虚机IP地址及虚机端口号,共同形成用于地址转换的会话信息。
在本实施例中所述网络节点,不仅会为虚拟机分配公网IP地址和公网端口号,还会将对应的分配的公网IP地址和公网端口号返回给计算节点,由计算节点保存,用于进行SNAT。在一些情况下,所述步骤S220中可以仅向计算节点返回公网IP地址及公网端口号,由计算节点基于本次会话的会话标识,自动形成至少包括虚拟IP地址、虚机端口号、公网IP地址和公网端口号的会话信息。在一些实施例中,所述网络节点也可以直接形成所述会话信息返回给计算节点,这样计算节点直接存储即可。
在本实施例中所述网络节点会向计算节点发送公网IP地址和公网端口号,可方便计算节点自身进行SNAT,一方面减少网络节点的负荷,一方面进行SNAT时还基于虚机端口号和公网端口号进行,则可以在不进行虚机IP地址和公网IP地址增加的情况下,实现虚机的扩容。
在一些实施例中,
所述方法还包括:
接收所述计算机节点在所述虚拟机需要向公网发送数据包时,发送的会话申请;
所述步骤S210,包括:
根据所述会话申请,为所述虚拟机分配为所述公网IP地址及所述公网端口号。
在本实施例中计算节点会在接收到虚拟机转发给外网的数据包时发送的会话申请,在接收到会话申请之后分配所述公网IP地址及公网端口号。
在一些实施例中,如图3所示,所述方法还包括:
步骤S230.:对应记录所述公网IP地址、所述公网端口号及所述虚拟机所在计算节点的地址,形成流表;
步骤S240:将所述流表下发给所述私网与公网之间进行数据转换的交换机。
在本实施例中所述网络节点还会形成流表,该流表至少包括公网IP地址、公网端口号及计算节点的地址。通过将流表转发给交换机,这样交换机在接收到外网转发的数据包时,就可以根据目的地址转发到对应的计算节点上。所述计算节点的地址可为所述计算节点的媒体访问控制(MAC)地址,也可以是所述计算节点的私网IP地址。
在本实施中用于交换机转换的流表至少包括:公网IP地址、公网端口号及计算节点的IP地址,引入了公网端口号。
在一些实施例中,所述方法还包括:
当网络节点的负载率低于指定值时,可以向计算节点发送通知,以便计算节点在负载很高时,向网络节点转移进行SNAT的负载,从而确保数据包的转发效率。
如图4所示,本实施例提供一种计算节点,包括:
第一接收单元110,用于接收待转发的数据包;
获取单元120,用于获取所述数据包对应的会话信息,其中,所述会话信息至少包括:虚拟机的虚机IP地址、虚机端口号、公网IP地址和公网端口号;
转换单元130,用于根据所述会话信息,进行数据包从虚拟机所在私网与公网之间所述数据包传输的地址转换;
第一发送单元140,用于在完成所述地址转换之后,转发所述数据包。
在本实施例中所述第一接收单元110,可对应于网络接口,可用于接收到外网转发的数据包,也可以对应于内网的数据总线,接收来自虚拟机的数据包。
所述获取单元120及转换单元130,可对应于计算节点内的处理器或处理电路。所述处理器可包括中央处理器、微处理器、数字信号处理器、应用处理器或可编程阵列。所述处理电路可为专用集成电路。
所述处理器或处理电路,可用于通过执行预定指令,可在本地查询获得会话信息,或从网络节点获得会话信息。
所述第一发送单元140,同样可对应于网络接口或内部数据总线,可以用于数据包的转发。
可选地,所述获取单元120,用于当所述计算节点接收到所述虚拟机向外转发的数据包时,向网络节点发送会话申请;
所述第一接收单元110,还用于接收网络节点响应所述会话申请为所述虚拟机分配的所述公网IP地址和公网端口号;
所述计算节点还包括:
第一记录单元,用于记录所述虚机IP地址、所述虚机端口号、所述公网IP地址和所述公网端口号,以形成所述会话信息。
本实施例中还设置有第一记录单元,第一记录单元可对应于计算机存储介质,可用于记录所述会话信息。
可选地,所述转换单元130,具体用于将所述虚拟机发送给所述公网的数据包中携带的所述虚机IP地址及所述虚机端口号,替换为所述公网IP地址和所述公网端口号。
可选地,所述转换单元130,还可用于将所述公网发送的数据包中携带的所述公网IP地址和所述公网端口号,替换成所述虚机IP地址及所述虚机端口号。
所述转换单元130既可以进行外网数据包到虚拟机的SNAT,也可以进行虚拟机数据包到外网数据的SNAT。
可选地,所述会话信息中还包括:所述虚拟机所在的虚拟局域网的虚拟局域网标识;其中,在所述私网内,所述虚拟局域网标识、所述虚拟机的虚机IP地址及所述虚机端口号,能够唯一标识所述虚拟机;在所述私网内,所述公网IP地址和所述公网端口号,能够唯一标识所述虚拟机。
在本实施例中所述会话信息,会话信息中还可包括虚拟局域网标识,通过虚拟局域网标识,可对私网内的虚机进行进一步扩容。
可选地,所述计算节点还包括:确定单元,用于当所述计算节点接收到所述外网发送给虚拟机的数据包时,根据所述数据包中携带的所述公网IP地址及端口号查询所述会话信息,确定待接收数据包的虚拟机;所述第一发送单元140,还用于将所述外网发送给虚拟机的数据包转发给确定的所述虚拟机。
在本实施例中计算节点转发外网来的数据包时,不做地址转换,直接通过查询会话信息进行转发,可以再次提升数据包的转发效率。
如图5所示,本实施例提供一种网络节点,包括:
分配单元210,用于为虚拟机分配公网IP地址及公网端口号,其中,所述公网IP地址及所述公网端口号在所述虚拟机所在的私网内,能够唯一标识所述虚拟机;
第二发送单元220,用于将所述公网IP地址和公网端口号,发送给所述虚拟机所在的计算节点;其中,所述公网IP地址及所述公网端口号,所述虚拟机的虚机IP地址及虚机端口号,共同形成用于地址转换的会话信息。
本实施例提供一种网络节点,可用于为虚拟机分配公网IP地址和公网号,并会将公网IP地址及公网端口号返回给计算节点,由计算节点进行SNAT。
所述分配单元210可对应于处理器或处理电路,这里的处理器或处理电路的描述可以参见前述实施例,在此就不重复了。
所述第二发送单元220可对应于网络节点与计算节点的连接接口。该连接接口可为有线接口,也可以为无线接口。
可选地,所述网络节点还包括:
第二接收单元,用于接收所述计算机节点在所述虚拟机需要向公网发送数据包时,发送的会话申请;
所述分配单元210,具体用于根据所述会话申请,为所述虚拟机分配为所述公网IP地址及所述公网端口号。
在本实施例中所述第二接收单元同样可定于与计算节点的连接接口,从而可以接收会话申请。
分配单元210具体在接收到会话申请之后,为虚拟机分配公网IP地址及公网端口号。
可选地,所述网络节点还包括:
第二记录单元,用于对应记录所述公网IP地址、所述公网端口号及所述虚拟机所在计算节点的地址,形成流表;
所述第二发送单元220,还用于将所述流表下发给所述私网与公网之间进行数据转换的交换机。
在本实施例中所述网络节点还包括第二记录单元,该第二记录单元可包括存储介质,可用于存储所述流表。
第二发送单元220还与交换机相连,用于将所述流表转发给交换机,方便交换机在接收到外网数据包时,向对应的计算节点转发数据包。
以下结合上述实施例提供几个具体示例:
示例一:
本示例提供一种应用于云平台的信息处理方法,该云平台内所有计算节点共用一个公网IP地址。在不同的虚拟机与外网交互数据包时,共用一个公网IP地址(简称SNATIP),采用不同的端口号区分不同的虚拟机。SNAT的操作分布在每一台计算节点上,虚拟机发向外网的流量根据虚机IP,虚机端口号,VXLAN ID,分得该SNAT IP的一个公网端口,做SNAT.该会话信息在整个云平台环境中具有唯一性。从外部网络返回的流量,在交换机上根据公网IP和公网端口号进行转发计算节点上,再由计算节点进行SNAT后转发到对应的虚拟机上。一个公网IP可以建立65536个端口的链接,若环境中第一个公网IP的端口用尽,则再分配一个公网IP。
每个计算节点上建立一个SNAT的命名空间,并记录该计算节点上的所有会话信息,记录格式如下:
计算节点192.168.1.1(11:11:11:11:11:11)上记录的会话信息可如表1:
Figure BDA0001255182020000151
Figure BDA0001255182020000161
表1
计算节点192.168.1.2(22:22:22:22:22:22)上记录的会话信息可如表2:
Figure BDA0001255182020000162
表2
云平台的网络节点上记录公网IP分配请求,形成的流表可如表3:
公网IP 公网端口号 计算节点MAC地址
15.15.15.100 1 11:11:11:11:11:11
15.15.15.100 2 11:11:11:11:11:11
15.15.15.100 3 11:11:11:11:11:11
15.15.15.100 4 22:22:22:22:22:22
15.15.15.100 5 22:22:22:22:22:22
15.15.15.200 1 11:11:11:11:11:11
15.15.15.200 2 22:22:22:22:22:22
表3
计算节点SNAT操作流程如下描述。
虚拟机发起对外发送数据包时,虚拟机对外流量到达该虚拟机所在计算节点的SNAT命名空间;
计算节点新增的SNAT代理组件向网络节点发起SNAT的会话申请;
网络节点将当前使用的公网IP的一个未使用端口返回给计算节点,并记录该计算节点IP,公网IP及公网端口号,并下发对应的流表至计算机点连接公网的交换机上,流表指示目的IP及端口对应的转发MAC;
计算节点将虚机IP,虚机端口号,虚假所在网络的VXLAN ID,公网IP,公网端口号记录在本机的会话信息表中,并根据公网IP与端口号对该报文做SNAT;
外网返回的数据包到达时,交换机根据数据包中目的IP,目的端口号查询流表得到对应MAC,并将报文转发到对应的计算节点;
计算节点收到报文后,根据公网IP及公网端口号查询对应的会话信息,也就得到了对应的虚机IP地址及虚机端口号等信息,可以将报文转发至正确的虚机。
示例二:
如图6所示,本示例提供一种信息处理方法,包括:
步骤1:虚拟机发送的数据包达到计算节点的SNAT命名空间;
步骤2:SNAT命名空间向SNAT代理组件请求SNAT信息;
步骤3:SANT代理组件向网络节点请求SANT IP地址及公网端口号;
步骤4:网络节点向计算节点返回SNAT IP地址及公网端口号;
步骤5:网络节点向交换机下发流表;
步骤6:SNAT命名空间记录会话信息,并进行SNAT,具体地,SNAT命名空间基于SNAT代理组件向SANT命名空间返回SNAT IP地址及公网端口号,形成并记录会话信息;
步骤7:将数据包转发给交换机。
示例三:
如图7所示,本示例提供一种信息处理方法,包括:
步骤11:交换机接收到外网发送的数据包;
步骤12:交换机根据流表转发到对应的计算节点;
步骤13:计算节点的SNAT命名空间根据会话信息,转发至对应的虚拟机
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种信息处理方法,其特征在于,包括:
计算节点接收虚拟机向外网转发的数据包;
向网络节点发送会话申请;
接收所述网络节点响应所述会话申请为所述虚拟机分配的公网网络协议IP地址和公网端口号;所述公网端口号为所述公网IP地址的一个未使用端口;所述公网IP地址及所述公网端口号在所述虚拟机所在的私网内,能够唯一标识所述虚拟机;
记录所述虚拟机的虚机网络协议IP地址、虚机端口号、所述公网IP地址和所述公网端口号,以形成会话信息;其中,所述公网IP地址和所述公网端口号超过时效,所述公网IP地址和所述公网端口号被网络节点失效,所述虚拟机不具有使用所述公网IP地址和所述公网端口号的权限;
根据所述会话信息,进行数据包从虚拟机所在私网与公网之间所述数据包传输的地址转换;
在完成所述地址转换之后,转发所述数据包。
2.根据权利要求1所述的方法,其特征在于,
所述根据所述会话信息,进行数据包从虚拟机所在内网与外网之间数据包传输的地址转换,包括:
将所述虚拟机发送给所述公网的数据包中携带的所述虚机网络协议IP地址及所述虚机端口号,替换为所述公网IP地址和所述公网端口号;
和/或,
将所述公网发送的数据包中携带的所述公网IP地址和所述公网端口号,替换成所述虚机网络协议IP地址及所述虚机端口号。
3.根据权利要求1所述的方法,其特征在于,
所述会话信息中还包括:所述虚拟机所在的虚拟局域网的虚拟局域网标识;其中,在所述私网内,所述虚拟局域网标识、所述虚拟机的虚机网络协议IP地址及所述虚机端口号,能够唯一标识所述虚拟机;在所述私网内,所述公网IP地址和所述公网端口号,能够唯一标识所述虚拟机。
4.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
当所述计算节点接收到所述外网发送给虚拟机的数据包时,根据所述数据包中携带的所述公网IP地址及端口号查询所述会话信息,确定待接收数据包的虚拟机;
将所述外网发送给虚拟机的数据包转发给确定的所述虚拟机。
5.一种信息处理方法,其特征在于,包括:
网络节点接收计算机节点在虚拟机需要向公网发送数据包时,发送的会话申请;
所述网络节点根据所述会话申请,确定公网网络协议IP地址及公网端口号,其中,所述公网端口号为所述公网IP地址的一个未使用端口;所述公网IP地址及所述公网端口号在所述虚拟机所在的私网内,能够唯一标识所述虚拟机;
将所述公网IP地址和公网端口号,发送给所述虚拟机所在的计算节点;其中,所述公网IP地址及所述公网端口号,所述虚拟机的虚机网络协议IP地址及虚机端口号,共同形成用于地址转换的会话信息;其中,所述公网IP地址和所述公网端口号超过时效,所述公网IP地址和所述公网端口号被网络节点失效,所述虚拟机不具有使用所述公网IP地址和所述公网端口号的权限。
6.根据权利要求5所述的方法,其特征在于,
所述方法还包括:
对应记录所述公网IP地址、所述公网端口号及所述虚拟机所在计算节点的地址,形成流表;
将所述流表下发给所述私网与公网之间进行数据转换的交换机。
7.一种计算节点,其特征在于,包括:
第一接收单元,用于接收虚拟机向外网转发的数据包;
获取单元,用于向网络节点发送会话申请,
所述第一接收单元,还用于接收所述网络节点响应所述会话申请为所述虚拟机分配的公网网络协议IP地址和公网端口号;所述公网端口号为所述公网IP地址的一个未使用端口;所述公网IP地址及所述公网端口号在所述虚拟机所在的私网内,能够唯一标识所述虚拟机;
第一记录单元,用于记录所述虚拟机的IP地址、虚机端口号、所述公网IP地址和所述公网端口号,以形成会话信息;其中,所述公网IP地址和所述公网端口号超过时效,所述公网IP地址和所述公网端口号被网络节点失效,所述虚拟机不具有使用所述公网IP地址和所述公网端口号的权限;
转换单元,用于根据所述会话信息,进行数据包从虚拟机所在私网与公网之间所述数据包传输的地址转换;
第一发送单元,用于在完成所述地址转换之后,转发所述数据包。
8.根据权利要求7所述的计算节点,其特征在于,
所述转换单元,具体用于将所述虚拟机发送给所述公网的数据包中携带的所述虚机网络协议IP地址及所述虚机端口号,替换为所述公网IP地址和所述公网端口号;
和/或,
将所述公网发送的数据包中携带的所述公网IP地址和所述公网端口号,替换成所述虚机网络协议IP地址及所述虚机端口号。
9.根据权利要求7所述的计算节点,其特征在于,
所述会话信息中还包括:所述虚拟机所在的虚拟局域网的虚拟局域网标识;其中,在所述私网内,所述虚拟局域网标识、所述虚拟机的虚机网络协议IP地址及所述虚机端口号,能够唯一标识所述虚拟机;在所述私网内,所述公网IP地址和所述公网端口号,能够唯一标识所述虚拟机。
10.根据权利要求7所述的计算节点,其特征在于,
所述计算节点还包括:
确定单元,用于当所述计算节点接收到所述外网发送给虚拟机的数据包时,根据所述数据包中携带的所述公网IP地址及端口号查询所述会话信息,确定待接收数据包的虚拟机;
所述第一发送单元,用于将所述外网发送给虚拟机的数据包转发给确定的所述虚拟机。
11.一种网络节点,其特征在于,包括:
第二接收单元,用于接收计算机节点在虚拟机需要向公网发送数据包时,发送的会话申请;
分配单元,用于根据所述会话申请,确定公网网络协议IP地址及公网端口号,其中,所述公网端口号为所述公网IP地址的一个未使用端口;所述公网IP地址及所述公网端口号在所述虚拟机所在的私网内,能够唯一标识所述虚拟机;
第二发送单元,用于将所述公网IP地址和公网端口号,发送给所述虚拟机所在的计算节点;其中,所述公网IP地址及所述公网端口号,所述虚拟机的虚机网络协议IP地址及虚机端口号,共同形成用于地址转换的会话信息;其中,所述公网IP地址和所述公网端口号超过时效,所述公网IP地址和所述公网端口号被网络节点失效,所述虚拟机不具有使用所述公网IP地址和所述公网端口号的权限。
12.根据权利要求11所述的网络节点,其特征在于,
所述网络节点还包括:
第二记录单元,用于对应记录所述公网IP地址、所述公网端口号及所述虚拟机所在计算节点的地址,形成流表;
所述第二发送单元,还用于将所述流表下发给所述私网与公网之间进行数据转换的交换机。
CN201710187466.0A 2017-03-27 2017-03-27 信息处理方法、处理节点及网络节点 Active CN107172120B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710187466.0A CN107172120B (zh) 2017-03-27 2017-03-27 信息处理方法、处理节点及网络节点

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710187466.0A CN107172120B (zh) 2017-03-27 2017-03-27 信息处理方法、处理节点及网络节点

Publications (2)

Publication Number Publication Date
CN107172120A CN107172120A (zh) 2017-09-15
CN107172120B true CN107172120B (zh) 2022-06-28

Family

ID=59849835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710187466.0A Active CN107172120B (zh) 2017-03-27 2017-03-27 信息处理方法、处理节点及网络节点

Country Status (1)

Country Link
CN (1) CN107172120B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108650182B (zh) 2018-04-20 2020-09-25 腾讯科技(深圳)有限公司 网络通信方法、系统、装置、设备及存储介质
CN109981463B (zh) * 2019-02-25 2021-07-27 网易(杭州)网络有限公司 信息处理方法、装置、网关及存储介质
CN110012118B (zh) * 2019-03-08 2022-07-22 平安科技(深圳)有限公司 一种提供网络地址转换nat服务的方法及控制器
CN110932940B (zh) * 2019-12-10 2021-08-06 北京奇艺世纪科技有限公司 一种源地址转换服务监控方法及装置
CN111262784B (zh) * 2020-01-13 2022-05-17 杭州朗和科技有限公司 报文转发方法、报文转发装置、存储介质及电子设备
CN113709200B (zh) * 2020-05-21 2023-11-28 阿里巴巴集团控股有限公司 一种建立通信连接的方法及装置
CN112491794A (zh) * 2020-10-27 2021-03-12 苏州浪潮智能科技有限公司 一种端口转发方法、装置及相关设备
CN115767661A (zh) * 2021-09-03 2023-03-07 展讯半导体(南京)有限公司 通信方法及装置、接入网设备、计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102480530A (zh) * 2010-11-25 2012-05-30 华为技术有限公司 一种报文发送方法及装置
CN104168338A (zh) * 2013-05-16 2014-11-26 杭州迪普科技有限公司 一种网络地址转换装置和方法
CN104184842A (zh) * 2013-05-24 2014-12-03 中兴通讯股份有限公司 一种转发报文的方法及装置
CN104378298A (zh) * 2013-08-16 2015-02-25 中兴通讯股份有限公司 一种流表条目生成方法及相应设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376125B1 (en) * 2002-06-04 2008-05-20 Fortinet, Inc. Service processing switch
US8725898B1 (en) * 2011-03-17 2014-05-13 Amazon Technologies, Inc. Scalable port address translations
CN103581324B (zh) * 2013-11-11 2016-09-07 中国联合网络通信集团有限公司 一种云计算资源池系统及其实现方法
CN104468775B (zh) * 2014-12-05 2017-10-10 国云科技股份有限公司 一种适用于云计算的分布式路由器实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102480530A (zh) * 2010-11-25 2012-05-30 华为技术有限公司 一种报文发送方法及装置
CN104168338A (zh) * 2013-05-16 2014-11-26 杭州迪普科技有限公司 一种网络地址转换装置和方法
CN104184842A (zh) * 2013-05-24 2014-12-03 中兴通讯股份有限公司 一种转发报文的方法及装置
CN104378298A (zh) * 2013-08-16 2015-02-25 中兴通讯股份有限公司 一种流表条目生成方法及相应设备

Also Published As

Publication number Publication date
CN107172120A (zh) 2017-09-15

Similar Documents

Publication Publication Date Title
CN107172120B (zh) 信息处理方法、处理节点及网络节点
US9319378B2 (en) Methods, systems, and computer readable media for using a diameter routing agent (DRA) to obtain mappings between mobile subscriber identification information and dynamically assigned internet protocol (IP) addresses and for making the mappings accessible to applications
CN101442493B (zh) Ip报文分发方法、集群系统和负载均衡器
CN102025630A (zh) 负载均衡方法及负载均衡系统
CN106161272B (zh) 实现vrrp负载均衡的方法和路由设备
WO2018090677A1 (zh) 一种nf组件异常的处理方法、设备及系统
CN111212134A (zh) 一种请求报文处理方法、装置、边缘计算系统和电子设备
US11403009B2 (en) Storage system, and method and apparatus for allocating storage resources
CN103458013A (zh) 一种流媒体服务器集群负载均衡系统及均衡方法
US20230208760A1 (en) Entry generation method, packet sending method, device, and system
CN112583655B (zh) 数据传输方法、装置、电子设备及可读存储介质
CN109639589B (zh) 一种负载均衡方法及装置
WO2019233203A1 (zh) 一种基于多可用分区az的域名解析方法及装置
CN104426816B (zh) 一种虚拟机通信方法及装置
CN108667957B (zh) Ip地址分配方法、第一电子设备以及第一服务器
CN106375210A (zh) 实现vrrp下行负载均衡的方法和路由设备
CN104571934A (zh) 一种内存访问的方法、设备和系统
CN117221110A (zh) 容器网络创建方法、装置、设备及存储介质
CN114257545B (zh) 一种报文转发方法及装置
US11271897B2 (en) Electronic apparatus for providing fast packet forwarding with reference to additional network address translation table
CN110958182B (zh) 一种通信方法及相关设备
WO2023024956A1 (zh) 网络设备管理方法、装置、系统及存储介质
JP2011130194A (ja) Ipアドレス割当装置、補助装置、ipアドレス割当システム、ipアドレス割当方法、及びプログラム
US20240195778A1 (en) L2 domain hierarchical address communication system
CN112910942A (zh) 一种服务处理方法及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TG01 Patent term adjustment
TG01 Patent term adjustment