CN106383736B - 端口扩展方法和装置 - Google Patents

端口扩展方法和装置 Download PDF

Info

Publication number
CN106383736B
CN106383736B CN201610837792.7A CN201610837792A CN106383736B CN 106383736 B CN106383736 B CN 106383736B CN 201610837792 A CN201610837792 A CN 201610837792A CN 106383736 B CN106383736 B CN 106383736B
Authority
CN
China
Prior art keywords
port
ovs
equipment
message
group
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
CN201610837792.7A
Other languages
English (en)
Other versions
CN106383736A (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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C 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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201610837792.7A priority Critical patent/CN106383736B/zh
Publication of CN106383736A publication Critical patent/CN106383736A/zh
Application granted granted Critical
Publication of CN106383736B publication Critical patent/CN106383736B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Abstract

本申请提供了端口扩展方法和装置。本申请中,伴随着虚拟化领域中VM的状态变化比如上线、下线、迁移等,能够灵活有效地对作为PEX设备的vSwitch上扩展出的用于接入VM的OVS端口、以及CB设备上与OVS端口绑定的逻辑端口进行配置和管理,满足了VM在各种条件下的网络需求。

Description

端口扩展方法和装置
技术领域
本申请涉及网络通信技术,特别涉及端口扩展方法和装置。
背景技术
端口扩展技术是一种能够提高网络接入能力和网络管理效率的纵向网络整合虚拟化技术,采用IEEE 802.1BR标准协议实现,其核心思想是:将端口扩展(PEX:Bridge PortExtender)设备加入控制桥(CB:Controlling Bridge)设备作为CB设备的远程业务板,由CB设备统一管理。
对于PEX设备是物理设备的情况,PEX设备上的用户侧端口已固定好,在PEX设备加入CB后,CB就可以像配置普通交换机端口那样为PEX设备上的用户侧端口进行相应配置,当有主机通过PEX设备上的用户侧端口接入PEX设备后,按照预先的配置对经过该用户侧端口的报文进行转发和处理。
在虚拟化领域,虚拟交换机(vSwitch)充当了PEX设备,vSwitch作为PEX设备加入至CB设备由CB设备统一管理。图1示出了虚拟化场景中的端口扩展组网示意图。
但是,当vSwitch作为PEX设备加入到CB设备时,CB设备并不能对vSwitch上的用户侧端口(也称OVS端口,在本申请均称为OVS端口)进行有效管理,原因是:vSwitch上的OVS端口并不像物理设备那样已预先固定,vSwitch上的OVS端口只有当接入的虚拟机(VM)上线时才会创建,而当接入的VM下线或者迁移时,则会删除,如此动态变化导致CB设备不能对vSwitch上的OVS端口进行管理。
发明内容
本申请提供了端口扩展方法和装置,以实现虚拟化场景的端口扩展。
本申请提供的技术方案包括:
一种端口扩展方法,该方法应用于作为PEX设备的vSwitch,包括:
在本地有虚拟机VM接入时,获取所述VM的虚拟网卡所属的组Group实例的Group实例标识,将Group实例标识和OVS端口标识携带在端口创建请求中发送给控制桥CB设备,OVS端口标识为本PEX设备上接入VM的OVS端口的标识;
接收CB设备针对所述端口创建请求返回的逻辑端口标识E-CID和用于配置所述OVS端口的端口配置信息,利用所述端口配置信息配置所述OVS端口,并将所述E-CID绑定至所述OVS端口,E-CID为CB设备本地逻辑端口的标识;
在所述VM迁出或下线时,向CB设备发送端口删除请求并删除所述OVS端口。
一种端口扩展方法,该方法应用于CB设备,包括:
接收PEX设备发送的端口创建请求;
在本地创建逻辑端口,获取与所述端口创建请求携带的Group实例标识对应的端口配置信息,依据端口配置信息配置所述逻辑端口,将端口创建请求携带的OVS端口标识绑定至所述逻辑端口,并将逻辑端口的标识E-CID和端口配置信息发送给所述PEX设备;
接收所述PEX设备发送的端口删除请求,端口删除请求携带所述OVS端口标识,删除本地所述逻辑端口。
一种端口扩展装置,其特征在于,该装置应用于作为端口扩展PEX设备的虚拟交换机vSwitch,包括:
接入处理单元,用于在本地有虚拟机VM接入时,获取所述VM的虚拟网 卡所属的组Group实例的Group实例标识,将Group实例标识和OVS端口标识携带在端口创建请求中发送给控制桥CB设备,OVS端口标识为本PEX设备上接入VM的OVS端口的标识;以及,
接收CB设备针对所述端口创建请求返回的逻辑端口标识E-CID和用于配置所述OVS端口的端口配置信息,利用所述端口配置信息配置所述OVS端口,并将所述E-CID绑定至所述OVS端口,E-CID为CB设备本地逻辑端口的标识;
端口删除单元,用于在所述VM迁出或下线时,向CB设备发送端口删除请求并删除所述OVS端口。
一种端口扩展装置,该装置应用于控制桥CB设备,包括:
配置管理单元,用于接收端口扩展PEX设备发送的端口创建请求,在本地创建逻辑端口,获取与所述端口创建请求携带的Group实例标识对应的端口配置信息,依据端口配置信息配置所述逻辑端口,将端口创建请求携带的OVS端口标识绑定至所述逻辑端口,并将逻辑端口的标识E-CID和端口配置信息发送给所述PEX设备;
删除管理单元,用于接收所述PEX设备发送的端口删除请求,端口删除请求携带所述OVS端口标识,删除本地所述逻辑端口。
由以上技术方案可以看出,本发明中,伴随着虚拟化领域中VM的状态变化比如上线、下线、迁移等,能够灵活有效地对作为PEX设备的vSwitch上扩展出的用于接入VM的OVS端口、以及CB设备上OVS端口绑定的逻辑端口进行配置和管理,同时,还能保证PEX设备接入VM的OVS端口以及CB设备与OVS端口绑定的逻辑端口随VM状态变化而变化,满足了VM在各种条件下的网络需求。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开 的实施例,并与说明书一起用于解释本公开的原理。
图1为虚拟化场景中的端口扩展组网示意图;
图2为本发明提供的方法流程图;
图3为本发明提供的实施例组网示意图;
图4为本发明提供的Command TLV格式示意图;
图5为本发明提供的Group实例ID字段的结构格式示意图;
图6为本发明提供的E-tag头的结构格式示意图;
图7为本发明提供的报文转发实施例1示意图;
图8为本发明提供的报文转发实施例2示意图;
图9为本发明提供的装置结构图;
图10为本发明提供的另一装置结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供的方法能够在虚拟化领域中,伴随着VM的上线、下线、迁移,灵活有效地对作为PEX设备的vSwitch上扩展出的OVS端口进行配置和管理,以满足VM在各种条件下的网络需求。
下面对本发明提供的方法进行描述:
参见图2,图2为本发明提供的方法流程图。如图1所示,该流程可包括以下步骤:
步骤201,PEX设备在本地有VM接入时,获取VM的虚拟网卡所属的组(Group)实例的Group实例标识(ID),将Group实例标识和OVS端口标识携带在端口创建请求中发送给CB设备,OVS端口标识为PEX设备上接入VM的OVS端口的标识。
这里的PEX设备是指虚拟交换机(vSwitch)比如应用于开放流(OpenFlow)网络的vSwitch(OVS:Open vSwitch)。
在本发明中,当PEX设备本地有VM接入时,PEX设备上会相应创建一个OVS端口,用于接入VM。但是,该用户侧端口当前只有一个标识,没有任何端口配置信息,其依赖于CB设备后续返回给PEX设备的端口配置信息进行配置,具体见下文描述。
作为一个实施例,PEX设备本地有VM接入是由虚拟管理设备(VMM:VM Manager)通知给PEX设备的,其目的是触发PEX设备发起端口创建请求。优选地,在本发明中,PEX设备本地有VM接入是指:PEX设备本地接入了一个新创建的VM,或者PEX设备迁入了新的VM(该VM是从其他PEX设备迁出的)。
作为一个实施例,步骤201中,获取VM的虚拟网卡所属的Group实例的Group实例标识可包括:接收VMM发送的通知报文,通知报文中携带VM的虚拟网卡所属的Group实例的Group实例标识。通知报文的格式遵守端口扩展控制协议(PE CSP:Port Extender Controland Status Protocol)。
作为一个实施例,在本发明中,会预先在CB设备配置至少一个Group实例,每个Group实例以Group实例标识进行区分,每个Group实例对应一组端口配置信息如vlan等;基于此,上述VM的虚拟网卡所属的Group实例的标识是由VMM从CB设备本地配置的所有Group实例中选择出的。
步骤202,CB设备接收PEX设备发送的端口创建请求,在本地创建逻辑端口,并获取与端口创建请求携带的Group实例标识对应的端口配置信息,依据端口配置信息配置逻辑端口,将端口创建请求携带的OVS端口标识绑定至逻辑端口,并将逻辑端口的标识(E-CID)和端口配置信息发送给PEX设备。
在本发明中,作为一个实施例,会预先在CB设备本地配置各个Group实例标识配置对应的端口配置信息,基于此,上述步骤202中获取与所述端口创建请求携带的Group实例标识对应的端口配置信息可包括:在CB设备本地配置的所有端口配置信息中找到与端口创建请求携带的Group实例标识对应的端口配置信息。
需要说明的是,在步骤202中,E-CID和端口配置信息发送的时机在本发明并不具体限定,比如E-CID和端口配置信息可同时发送给PEX设备,或者,E-CID和端口配置信息在不同时间点发送给PEX设备。
步骤203,PEX设备接收CB设备针对端口创建请求返回的E-CID和用于配置OVS端口的端口配置信息,利用端口配置信息配置OVS端口,并将接收的E-CID绑定至该OVS端口。
在本发明中,CB设备发送的端口配置信息指示了该端口配置信息是用于配置哪一个OVS端口的。因此,当PEX设备接收到CB设备发送的端口配置信息时,很容易明确出该端口配置信息是用于配置本地哪一个OVS端口的。
通过上述步骤201至步骤203实现了在PEX设备有VM接入时如何对PEX设备接入VM的OVS端口、以及CB设备本地与OVS端口绑定的逻辑端口进行配置,实现了CB设备对PEX设备上的OVS端口进行有效管理。
步骤204,PEX设备在上述VM迁出或下线时,向CB设备发送端口删除请求并删除接入该VM的OVS端口。
在本发明中,端口删除请求携带了要删除的OVS端口的标识。
步骤205,CB设备接收PEX设备发送的端口删除请求,端口删除请求携带OVS端口标识,删除本地与该OVS端口标识绑定的逻辑端口。
作为一个实施例,在本发明中,当CB设备删除逻辑端口后,会向PEX设备返回一个端口删除应答。CB设备发送的端口删除应答指示了端口删除应答是针对哪一个OVS端口的。当PEX设备接收到CB设备发送的端口删除应答时,可以检查是否已删除了该端口删除应答针对的OVS端口,如果否,则及时删除该端口删除应答针对的OVS端口。
通过步骤204至步骤206,能够实现VM状态变化比如迁移、下线等时,CB设备如何对PEX设备接入VM的OVS端口进行及时管理,实现VM接入至PEX设备的OVS端口以及该OVS端口绑定的逻辑端口随VM状态变化而变化。
至此,完成图2所示流程。
通过图2所示流程可以看出,在虚拟化领域中,伴随着VM的状态变化比如上线、下线、迁移等,CB设备能够灵活有效地对作为PEX设备的vSwitch上扩展出的用于接入VM的OVS端口进行配置和管理,同时,还能保证PEX设备接入VM的OVS端口以及CB设备本地与该OVS端口绑定的逻辑端口随VM状态变化而变化,满足了VM在各种条件下的网络需求。
下面通过一个实施例对图2所示流程进行描述:
参见图3,图3为本发明提供的实施例组网示意图。在图3中,CB设备本地配置至少一个Group实例,每个Group实例以Group实例标识进行区分。并且,CB设备本地配置每个Group实例对应的端口配置信息,这里的端口配置信息是端口的基本配置,比如vlan等。
在图3中,根据网络规划和业务需求确定需要创建VM,该需要创建的VM记为VM1。PEX设备1上创建了接入VM1的OVS端口,该OVS端口目前还未被配置任何端口配置信息,只有一个端口标识,记为Port1_1。
在图3中,从CB设备已配置的所有Group实例中选择出应用至VM1的虚拟网卡(记为虚拟网卡1)的一个Group实例,在虚拟网卡1的虚拟网卡配置中配置选择出的Group实例的Group实例标识(记为Group实例ID1)。
在图3中,VMM在创建VM1时,发送通知报文给PEX设备1。通知报文中携带Group实例ID1。
PEX设备1接收通知报文,从通知报文获取Group实例ID1。
PEX设备1向CB设备发送端口创建请求。端口创建请求携带Port1_1和Group实例ID1。
CB设备接收端口创建请求,依据端口创建请求携带的Group实例ID1在本地找到对应的端口配置信息,并在本地创建逻辑端口,将端口配置信息下发到上述逻辑端口进行配置,该逻辑端口的E-CID为E-CID1,与端口创建请求携带的Port1_1绑定。
CB设备发送E-CID1和端口配置信息给PEX设备1。
PEX设备1接收到CB设备发送的E-CID1和端口配置信息,利用接收的端口配置信息配置端口标识为Port1_1的OVS端口,并将E-CID1绑定至该OVS端口。至此,PEX设备1接入VM1的Port1_1才有效。
当VM1从PEX设备1迁移至PEX设备2时,
VMM发送删除通知给PEX设备1,删除通知用于指示删除端口标识为Port1_1的OVS端口。
PEX设备1接收删除通知。
PEX设备1删除端口标识为Port1_1的OVS端口,并发送端口删除请求给CB设备。端口删除请求携带了Port1_1。CB设备接收到端口删除请求,依据端口删除请求携带的Port1_1在本地找到Port1_1绑定的逻辑端口并删除,发送用于端口删除应答给PEX设备1。端口删除应答用于指示删除端口标识为Port1_1的OVS端口。PEX设备1接收CB设备发送的端口删除应答,发现本地已删除端口标识为Port1_1的OVS端口,则不执行任何处理。作为一个实施例,PEX设备1先不执行上述删除端口标识为Port1_1的OVS端口的步骤,而是直接发送端口删除请求给CB设备。之后,当PEX设备1接收CB设备发送的端口删除应答,发现本地还未删除端口标识为Port1_1的OVS端口,则删除端口标识为Port1_1的OVS端口。
VMM决定在PEX设备2上启动VM1时,则发送通知报文给PEX设备2。通知报文中携带VM1的虚拟网卡所属的Group实例的Group实例标识即Group实例ID1。
PEX设备2接收通知报文,从通知报文获取Group实例ID1。
PEX设备2向CB设备发送端口创建请求。端口创建请求携带Port2_1和Group实例ID1。Port2_1为PEX设备2上接入VM1的OVS端口的端口标识。
CB设备接收来自VMM的端口创建请求,依据端口创建请求携带的Group实例ID1在本地找到对应的端口配置信息,并在本地创建逻辑端口,将端口配 置信息下发到该逻辑端口进行配置,该逻辑端口的E-CID为E-CID2,与端口创建请求携带的Port2_1绑定。
CB设备发送E-CID2和端口配置信息给PEX设备2。
PEX设备2接收CB设备发送的E-CID2和端口配置信息,利用接收的端口配置信息配置端口标识为Port2_1的OVS端口,并将E-CID2绑定至该OVS端口。至此,PEX设备2接入VM1的Port2_1才有效,VM1才达到成功迁移的目的。
VM1迁移至PEX设备2后,若VMM将VM1从PEX设备2下线,则VMM发送删除通知给PEX设备2,删除通知用于指示删除端口标识为Port2_1的OVS端口。PEX设备2接收删除通知。PEX设备2删除端口标识为Port2_1的OVS端口,并发送端口删除请求给CB设备。端口删除请求携带了Port2_1。CB设备接收到端口删除请求,在本地找到与端口删除请求携带的Port2_1绑定的逻辑端口并删除,并发送用于删除Port2_1的端口删除应答给PEX设备2。PEX设备2接收CB设备发送的端口删除应答,发现本地已删除端口标识为Port2_1的OVS端口,则不执行任何处理。作为一个实施例,PEX设备2先不执行上述删除端口标识为Port2_1的OVS端口的步骤,而是直接发送端口删除请求给CB设备。之后,当PEX设备2接收CB设备发送的端口删除应答,发现本地还未删除端口标识为Port2_1的OVS端口,则删除端口标识为Port2_1的OVS端口。至此,VM1从PEX设备2正式下线。
至此,完成上述实施例的描述。
在上面描述的端口创建请求具体为满足端口扩展控制协议(PE CSP)的协议报文。该协议报文使用了标准的命令(Command)TLV格式,图4示出了Command TLV格式。基于图4所示的Command TLV格式,在本发明中,可将Command TLV格式中的索引(Index)字段携带OVS端口标识。进一步地,为使上述协议报文携带Group实例的ID,需要对该协议报文进行改进,在协议报文中增加用于携带Group实例ID的字段(该字段记为Group实例ID字段)。图 5示出了Group实例ID字段的结构格式,基于图5所示的Group实例ID字段结构格式,则Group id字段携带Group实例ID。
基于上面描述的伴随着VM的状态变化比如上线、下线、迁移等,CB设备能够灵活有效地对作为PEX设备的vSwitch上扩展出的OVS端口进行配置和管理,基于此,作为PEX设备的vSwitch上扩展出的各OVS端口接入的VM可相互转发报文进行访问。
在本发明中,按照报文的源端和目的端的位置细分,报文的转发可以为PEX设备内转发和跨PEX设备转发。而PEX设备内的转发又根据PEX设备的支持能力不同分为PEX设备本地转发和PEX设备集中式转发两种,其中PEX设备集中式转发是802.1BR支持的基本转发方式。
对于PEX设备本地转发,其是指PEX设备接入的两个VM直接在PEX设备内转发,不再经过CB设备,具体转发流程与普通交换机转发类似,在本发明中不进行详述。
对于PEX设备集中式转发、跨PEX设备转发,转发需要经过CB设备。其中,当PEX设备向CB设备的报文时,PEX设备会为报文封装标签E-tag头并向CB设备转发。E-tag头中携带PEX设备收到报文的OVS端口绑定的E-CID;而当CB设备向PEX设备发送报文时,CB设备会修改报文封装的标签E-tag头携带的E-CID为目的OVS端口绑定的E-CID并向目的OVS端口发送,目的OVS端口为目的VM接入的OVS端口,目的VM是指IP地址为报文的目的IP地址的VM。图6简单示出了E-tag头的结构格式。如图6所示,在本发明中,E-CID是携带在E-tag头的E-CID_base字段中。至于其他字段,其都在802.1BR协议中定义,这里不再赘述。
下面通过具体实施例分别描述跨PEX设备转发、PEX设备集中式转发、PEX设备本地转发:
实施例1:
参见图7,图7为本发明提供的报文转发实施例1示意图。在图7中,基于 图2或图3所示,PEX设备7_1上创建了接入VM7_1的OVS端口Port7_1、接入VM7_2的OVS端口Port7_2,PEX设备7_2上创建了接入VM7_3的OVS端口Port7_3、接入VM7_4的OVS端口Port7_4。
CB设备上E-CID为0x3000的逻辑端口Port0_1与PEX设备1上的Port7_1绑定,CB设备上E-CID为0x3001的逻辑端口Port0_2与PEX设备1上的Port7_2绑定,CB设备上E-CID为0x4000的逻辑端口Port0_3与PEX设备2上的Port7_3绑定,CB设备上E-CID为0x4001的逻辑端口Port0_4与PEX设备2上的Port7_4绑定。
PEX设备7_1上的网络侧端口Port1_0与CB设备建立了上行连接(Uplink),PEX设备7_2上的网络侧端口Port2_0与CB设备建立了Uplink。
以图7所示的VM7_1通过跨PEX设备发送报文访问VM7_3为例,VM7_1的接口IP地址为192.168.1.1,MAC地址为00-00-00-00-00-01,VM7_3的接口IP地址为192.168.1.3,MAC地址为00-00-00-00-00-03。则,
VM7_1发送访问VM3的报文。为便于描述,报文记为报文7_1。报文7_1的源IP地址为192.168.1.1,源MAC地址为00-00-00-00-00-01,目的IP地址为192.168.1.3,目的MAC地址为00-00-00-00-00-03。
PEX设备7_1通过Port7_1接收到报文7_1。
PEX设备7_1以收到报文7_1的端口Port7_1、报文7_1携带的报文特征参数为关键字在本地转发表项中找到匹配(Match)项为该关键字的转发表项。报文特征参数具体可为报文7_1的源IP地址192.168.1.1,源MAC地址00-00-00-00-00-01,目的IP地址192.168.1.3,目的MAC地址00-00-00-00-00-03。
PEX设备7_1发现找到的转发表项中的动作(Action)项除了包含出端口Port1_0外,还包含set-field域,set-field域指示了需要在报文封装的e-tag头中携带的E-CID即0x3000,表1示出了找到的转发表项:
表1
PEX设备7_1对报文7_1封装e-tag头,e-tag头中携带的E-CID为0x3000。为便于描述,这里将封装了e-tag头的报文7_1简称报文7_2。
PEX设备7_1通过转发表项中动作(Action)项包含的出端口Port1_0发送报文7_2。
CB设备收到报文7_2。
CB设备依据报文7_2的目的IP地址确定目的OVS端口为PEX设备2上的Port7_3,则,
CB设备将报文7_2封装的e-tag头中的E-CID即0x3000修改为与Port7_3绑定的E-CID即0x4000。为便于描述,这里E-CID修改的报文7_2记为报文7_3。
CB设备向PEX设备7_2发送报文7_3。
PEX设备7_2通过连接CB设备的网络侧端口Port2_0接收报文7_3。
PEX设备7_2根据报文7_3的e-tag头中携带的E-CID即0x4000、以及报文7_3携带的报文特征参数为关键字在本地转发表项中找到Match项为该关键字的转发表项。
PEX设备7_2发现找到的转发表项中的Action项包含出端口为Port7_3。表2示出了找到的转发表项:
表2
PEX设备7_2剥掉报文7_3封装的e-tag头,即恢复了上述的报文7_1。
PEX设备7_2通过Port7_3发送报文7_1。最终VM3收到VM1访问的报文。
至此,完成实施例1的描述。
实施例2:
参见图8,图8为本发明提供的实施例1示意图。在图8中,基于图2或图3所示,PEX设备8_1上OVS端口Port8_1接入VM8_1、OVS端口Port8_2接入VM8_2。
CB设备上E-CID为0x3000的逻辑端口Port0_8_1与PEX设备8_1上的Port8_1绑定,CB设备上E-CID为0x3001的逻辑端口Port0_8_2与PEX设备8_1上的Port8_2绑定。
PEX设备8_1通过Port1与CB设备建立了上行连接(Uplink)。
以图8所示的VM8_1发送报文访问VM8_2为例,VM8_1的接口IP地址为192.168.1.5,MAC地址为00-00-00-00-00-05,VM8_2的接口IP地址为192.168.1.6,MAC地址为00-00-00-00-00-06。则,
VM8_1发送访问VM8_2的报文。为便于描述,报文记为报文8_1。报文8_1的源IP地址为192.168.1.5,源MAC地址为00-00-00-00-00-05,目的IP地址为192.168.1.6,目的MAC地址为00-00-00-00-00-06。
PEX设备8_1通过Port8_1接收到报文8_1。
PEX设备8_1以收到报文8_1的端口Port8_1、报文8_1携带的报文特征参数为关键字在本地转发表项中找到匹配(Match)项为该关键字的转发表项。报文特征参数具体可为报文8_1的源IP地址192.168.1.5,源MAC地址00-00-00-00-00-05,目的IP地址192.168.1.6,目的MAC地址00-00-00-00-00-06。
PEX设备8_1发现找到的转发表项中的动作(Action)项除了包含出端口Port1外,还包含set-field域,set-field域指示了需要在报文封装的e-tag头中携带的E-CID即0x3000,表3示出了找到的转发表项:
表3
PEX设备8_1对报文8_1封装e-tag头,e-tag头中携带的E-CID为0x3000。 为便于描述,这里将封装了e-tag头的报文8_1简称报文8_2。
PEX设备8_1通过转发表项中动作(Action)项包含的出端口Port1发送报文8_2。
CB设备收到报文8_2。
CB设备依据报文8_2的目的IP地址确定目的OVS端口为PEX设备1上的OVS端口Port8_2,则,
CB设备将报文8_2封装的e-tag头中的E-CID即0x3000修改为与Port8_2绑定的E-CID即0x3001。为便于描述,这里E-CID修改的报文8_2记为报文8_3。
CB设备向PEX设备8_1发送报文8_3。
PEX设备8_1通过连接CB设备的网络侧端口Port1接收报文8_3。
PEX设备8_1根据报文8_3的e-tag头中携带的E-CID即0x3001、以及报文8_3携带的报文特征参数为关键字在本地转发表项中找到Match项为该关键字的转发表项。
PEX设备8_1发现找到的转发表项中的Action项包含出端口为Port8_2。表4示出了找到的转发表项:
表4
PEX设备8_1剥掉报文8_3封装的e-tag头,即恢复了上述的报文8_1。
PEX设备8_1通过Port8_2发送报文8_1。最终VM2收到VM1访问的报文。
至此,完成实施例2的描述。
需要说明的是,上述的表1至表4可通过预设方式预设,也可动态学习,具体动态学习方式类似现有表项学习,这里不再详述。
以上对本发明提供的方法进行了描述,下面对本发明提供的装置进行描述:
参见图9,图9为本发明提供的装置结构图。该装置应用于作为PEX设备 的vSwitch,包括:
接入处理单元,用于在本地有虚拟机VM接入时,获取所述VM的虚拟网卡所属的组Group实例的Group实例标识,将Group实例标识和OVS端口标识携带在端口创建请求中发送给控制桥CB设备,OVS端口标识为本PEX设备上接入VM的OVS端口的标识;以及,
接收CB设备针对所述端口创建请求返回的逻辑端口标识E-CID和用于配置所述OVS端口的端口配置信息,利用所述端口配置信息配置所述OVS端口,并将所述E-CID绑定至所述OVS端口,E-CID为CB设备本地逻辑端口的标识;
端口删除单元,用于在所述VM迁出或下线时,向CB设备发送端口删除请求并删除所述OVS端口。
优选地,所述接入处理单元获取VM的虚拟网卡所属的组Group实例的Group实例标识包括:
接收虚拟机管理设备VMM发送的通知报文,所述通知报文中携带所述VM的虚拟网卡所属的组Group实例的Group实例标识,所述Group实例是由VMM从CB设备本地配置的所有Group实例中选择出的。
优选地,如图9所示,该装置进一步包括:
报文处理单元,用于通过所述OVS端口接收所述VM发送的报文,若确定在本PEX设备本地转发所述报文,则通过本地另一OVS端口转发所述报文,否则,在报文上封装标签e-tag头并向CB设备转发,e-tag头中携带E-CID,该E-CID为接收到报文的OVS端口绑定的E-CID;以及,
通过本地连接CB设备的网络侧端口接收报文,确定本地与报文封装的标签e-tag头中的E-CID绑定的OVS端口,剥掉报文封装的标签e-tag头,并通过确定出的OVS端口转发。
至此,完成图9所示的装置结构描述。
参见图10,图10为本发明提供的另一装置结构图。该装置应用于控制桥CB设备,包括:
配置管理单元,用于接收端口扩展PEX设备发送的端口创建请求,在本地 创建逻辑端口,获取与所述端口创建请求携带的Group实例标识对应的端口配置信息,依据端口配置信息配置所述逻辑端口,将端口创建请求携带的OVS端口标识绑定至所述逻辑端口,并将逻辑端口的标识E-CID和端口配置信息发送给所述PEX设备;
删除管理单元,用于接收所述PEX设备发送的端口删除请求,端口删除请求携带所述OVS端口标识,删除本地所述逻辑端口。
优选地,该装置进一步包括:
报文处理单元,用于接收报文,将所述报文封装的标签e-tag头中携带的E-CID修改为目的OVS端口绑定的E-CID并向目的OVS端口发送,目的OVS端口为目的VM接入的OVS端口,目的VM是指IP地址为报文的目的IP地址的VM。
至此,完成图10所示的装置结构描述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (12)

1.一种端口扩展方法,其特征在于,该方法应用于作为端口扩展PEX设备的虚拟交换机vSwitch,包括:
在本地有虚拟机VM接入时,获取所述VM的虚拟网卡所属的组Group实例的Group实例标识,将Group实例标识和OVS端口标识携带在端口创建请求中发送给控制桥CB设备,OVS端口标识为本PEX设备上接入VM的OVS端口的标识;
接收CB设备针对所述端口创建请求返回的逻辑端口标识E-CID和用于配置所述OVS端口的端口配置信息,所述端口配置信息与所述Group实例标识对应,利用所述端口配置信息配置所述OVS端口,并将所述E-CID绑定至所述OVS端口,E-CID为CB设备本地逻辑端口的标识;
在所述VM迁出或下线时,向CB设备发送端口删除请求并删除所述OVS端口。
2.根据权利要求1所述的方法,其特征在于,所述获取VM的虚拟网卡所属的组Group实例的Group实例标识包括:
接收虚拟机管理设备VMM发送的通知报文,所述通知报文中携带所述VM的虚拟网卡所属的组Group实例的Group实例标识,所述Group实例是由VMM从CB设备本地配置的所有Group实例中选择出的。
3.根据权利要求1所述的方法,其特征在于,所述端口创建请求为满足端口扩展控制协议PE CSP的协议报文,所述协议报文的索引Index字段用于携带OVS端口标识,所述协议报文增加了Group ID TLV字段,用于携带Group实例标识。
4.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
通过所述OVS端口接收所述VM发送的报文,
若确定在本PEX设备本地转发所述报文,则通过本地另一OVS端口转发所述报文,否则,
在报文上封装标签e-tag头并向CB设备转发,e-tag头中携带E-CID,该E-CID为接收到报文的OVS端口绑定的E-CID。
5.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
通过本地连接CB设备的网络侧端口接收报文;
确定本地与报文封装的标签e-tag头中的E-CID绑定的OVS端口;
剥掉报文封装的标签e-tag头,并通过确定出的OVS端口转发。
6.一种端口扩展方法,其特征在于,该方法应用于控制桥CB设备,包括:
接收端口扩展PEX设备发送的端口创建请求;
在本地创建逻辑端口,获取与所述端口创建请求携带的Group实例标识对应的端口配置信息,依据端口配置信息配置所述逻辑端口,将端口创建请求携带的OVS端口标识绑定至所述逻辑端口,并将逻辑端口的标识E-CID和端口配置信息发送给所述PEX设备;
接收所述PEX设备发送的端口删除请求,端口删除请求携带所述OVS端口标识,删除本地所述逻辑端口。
7.根据权利要求6所述的方法,其特征在于,该方法进一步包括:
接收报文;
将所述报文封装的标签e-tag头中携带的E-CID修改为目的OVS端口绑定的E-CID并向目的OVS端口发送,目的OVS端口为目的VM接入的OVS端口,目的VM是指IP地址为报文的目的IP地址的VM。
8.一种端口扩展装置,其特征在于,该装置应用于作为端口扩展PEX设备的虚拟交换机vSwitch,包括:
接入处理单元,用于在本地有虚拟机VM接入时,获取所述VM的虚拟网卡所属的组Group实例的Group实例标识,将Group实例标识和OVS端口标识携带在端口创建请求中发送给控制桥CB设备,OVS端口标识为本PEX设备上接入VM的OVS端口的标识;以及,
接收CB设备针对所述端口创建请求返回的逻辑端口标识E-CID和用于配置所述OVS端口的端口配置信息,所述端口配置信息与所述Group实例标识对应,利用所述端口配置信息配置所述OVS端口,并将所述E-CID绑定至所述OVS端口,E-CID为CB设备本地逻辑端口的标识;
端口删除单元,用于在所述VM迁出或下线时,向CB设备发送端口删除请求并删除所述OVS端口。
9.根据权利要求8所述的装置,其特征在于,所述接入处理单元获取VM的虚拟网卡所属的组Group实例的Group实例标识包括:
接收虚拟机管理设备VMM发送的通知报文,所述通知报文中携带所述VM的虚拟网卡所属的组Group实例的Group实例标识,所述Group实例是由VMM从CB设备本地配置的所有Group实例中选择出的。
10.根据权利要求8所述的装置,其特征在于,该装置进一步包括:
报文处理单元,用于通过所述OVS端口接收所述VM发送的报文,若确定在本PEX设备本地转发所述报文,则通过本地另一OVS端口转发所述报文,否则,在报文上封装标签e-tag头并向CB设备转发,e-tag头中携带E-CID,该E-CID为接收到报文的OVS端口绑定的E-CID;以及,
通过本地连接CB设备的网络侧端口接收报文,确定本地与报文封装的标签e-tag头中的E-CID绑定的OVS端口,剥掉报文封装的标签e-tag头,并通过确定出的OVS端口转发。
11.一种端口扩展装置,其特征在于,该装置应用于控制桥CB设备,包括:
配置管理单元,用于接收端口扩展PEX设备发送的端口创建请求,在本地创建逻辑端口,获取与所述端口创建请求携带的Group实例标识对应的端口配置信息,依据端口配置信息配置所述逻辑端口,将端口创建请求携带的OVS端口标识绑定至所述逻辑端口,并将逻辑端口的标识E-CID和端口配置信息发送给所述PEX设备;
删除管理单元,用于接收所述PEX设备发送的端口删除请求,端口删除请求携带所述OVS端口标识,删除本地所述逻辑端口。
12.根据权利要求11所述的装置,其特征在于,该装置进一步包括:
报文处理单元,用于接收报文,将所述报文封装的标签e-tag头中携带的E-CID修改为目的OVS端口绑定的E-CID并向目的OVS端口发送,目的OVS端口为目的VM接入的OVS端口,目的VM是指IP地址为报文的目的IP地址的VM。
CN201610837792.7A 2016-09-21 2016-09-21 端口扩展方法和装置 Active CN106383736B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610837792.7A CN106383736B (zh) 2016-09-21 2016-09-21 端口扩展方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610837792.7A CN106383736B (zh) 2016-09-21 2016-09-21 端口扩展方法和装置

Publications (2)

Publication Number Publication Date
CN106383736A CN106383736A (zh) 2017-02-08
CN106383736B true CN106383736B (zh) 2019-10-11

Family

ID=57935893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610837792.7A Active CN106383736B (zh) 2016-09-21 2016-09-21 端口扩展方法和装置

Country Status (1)

Country Link
CN (1) CN106383736B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108259297B (zh) * 2017-04-28 2020-12-04 新华三技术有限公司 一种报文处理方法及装置
CN107547410B (zh) * 2017-06-29 2020-05-12 新华三技术有限公司 一种多级pe自动级联的方法及装置
CN109245983B (zh) * 2017-07-11 2021-11-16 阿里巴巴集团控股有限公司 一种虚拟网络设备、路由设备及虚拟网络的连接方法
CN109428743B (zh) * 2017-08-23 2021-03-16 中国移动通信集团公司 QoS配置随虚拟机迁移的方法、服务器、交换机及系统
CN107911313A (zh) * 2017-11-15 2018-04-13 北京易讯通信息技术股份有限公司 一种在私有云中虚拟机端口流量外迁的方法
CN108965169B (zh) * 2018-07-12 2020-09-25 联想(北京)有限公司 一种报文传输方法、网卡控制器、网卡及电子设备
CN111158905A (zh) * 2019-12-16 2020-05-15 华为技术有限公司 调整资源的方法和装置
CN117768292A (zh) * 2022-09-24 2024-03-26 华为技术有限公司 逻辑绑定口的管理方法、装置、系统及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102148749A (zh) * 2010-11-05 2011-08-10 华为技术有限公司 一种交换机端口扩展的方法及装置
CN102769558A (zh) * 2011-05-06 2012-11-07 中兴通讯股份有限公司 获知端口扩展拓扑信息的方法、系统和控制桥
CN102821022A (zh) * 2011-06-06 2012-12-12 美国博通公司 在分布式以太网桥中利用链路聚合转发帧的方法和系统
CN103873374A (zh) * 2014-03-27 2014-06-18 杭州华三通信技术有限公司 虚拟化系统中的报文处理方法及装置
CN104283756A (zh) * 2013-07-02 2015-01-14 杭州华三通信技术有限公司 一种实现分布式多租户虚拟网络的方法和装置
CN105162732A (zh) * 2015-06-30 2015-12-16 杭州华三通信技术有限公司 创建扩展端口的方法、装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102148749A (zh) * 2010-11-05 2011-08-10 华为技术有限公司 一种交换机端口扩展的方法及装置
CN102769558A (zh) * 2011-05-06 2012-11-07 中兴通讯股份有限公司 获知端口扩展拓扑信息的方法、系统和控制桥
CN102821022A (zh) * 2011-06-06 2012-12-12 美国博通公司 在分布式以太网桥中利用链路聚合转发帧的方法和系统
CN104283756A (zh) * 2013-07-02 2015-01-14 杭州华三通信技术有限公司 一种实现分布式多租户虚拟网络的方法和装置
CN103873374A (zh) * 2014-03-27 2014-06-18 杭州华三通信技术有限公司 虚拟化系统中的报文处理方法及装置
CN105162732A (zh) * 2015-06-30 2015-12-16 杭州华三通信技术有限公司 创建扩展端口的方法、装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
VCF纵向虚拟化技术架构(4);lkajdf 中关村在线;《http://network.51cto.com/art/201303/386082_3.htm》;20130322;第1-2页 *

Also Published As

Publication number Publication date
CN106383736A (zh) 2017-02-08

Similar Documents

Publication Publication Date Title
CN106383736B (zh) 端口扩展方法和装置
CN104350467B (zh) 用于使用sdn的云安全性的弹性实行层
US10454708B2 (en) Network system, inter-site network cooperation control apparatus, network control method, and program
CN104823405B (zh) 对于基于mpls的虚拟私有云联网的ip组播服务离开过程
US10205657B2 (en) Packet forwarding in data center network
CN103997414B (zh) 生成配置信息的方法和网络控制单元
CN104468368B (zh) 配置bgp邻居的方法及装置
CN105262685B (zh) 一种报文处理方法和装置
CN104813288B (zh) 用于在启用openflow的云计算中使用mpls时分离租户特定数据的装置和方法
CN104468219B (zh) 虚拟组网网络拓扑发现方法和设备
CN108243106A (zh) 控制网络切片的方法、转发设备、控制设备和通信系统
JP6417942B2 (ja) 制御装置、通信システム、トンネルエンドポイントの制御方法及びプログラム
JP6248938B2 (ja) 通信システム、仮想ネットワーク管理装置、仮想ネットワークの管理方法及びプログラム
CN107547242B (zh) Vm配置信息的获取方法及装置
CN106712988B (zh) 一种虚拟网络管理方法及装置
CN104852840B (zh) 一种控制虚拟机之间互访的方法及装置
CN104871483A (zh) 对于基于mpls的虚拟私有云联网的ip组播服务加入过程
CN103036703A (zh) 虚拟网络的逻辑拓扑的结构管理方法以及管理服务器
CN103026660A (zh) 网络策略配置方法、管理设备以及网络管理中心设备
CN105991387A (zh) 虚拟扩展局域网的报文传输方法和装置
CN106878136A (zh) 一种报文转发方法及装置
CN109729012A (zh) 一种单播报文传输方法和装置
WO2014094420A1 (zh) 一种报文的处理方法和装置
CN106878204A (zh) 一种虚拟机的创建方法和装置
CN108494607A (zh) 基于容器的大二层网络架构的设计方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant before: Huasan Communication Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant