分布式虚拟交换机系统的IGMPSnooping实现方法及装置的制造方法

文档序号:8265494阅读:770来源:国知局
分布式虚拟交换机系统的IGMP Snooping实现方法及装置的制造方法
【技术领域】
[0001] 本申请涉及虚拟化技术领域,特别涉及一种分布式虚拟交换机系统的IGMP Snooping (Internet Group Management Protocol Snooping,互联网组管理协议窥探)实 现方法及装置。
【背景技术】
[0002] OpenFlow (0F,开放流)是一种新型的网络交换技术,它使传统的二层和三层交换 机具备了细粒度流转发能力,即传统的基于MAC (Media Access Control,媒体访问控制) 的网包转发以及基于IP (Internet Protocol,因特网协议)的路由转发,被拓展到了基于 多域网包包头描述的流转发。同时,传统的控制层面从转发设备中剥离出来,所有转发行 为的决策从交换机自身"迁移"到了某个外部的控制器上,该控制器支持OpenFlow,又称为 OpenFlow控制器。
[0003] 每一个OF交换机(Switch)都有一张流表(Flow Table),用于进行包查找和转发。 OpenFlow交换机可以通过OpenFlow协议经一个安全通道(Secure Channel)连接到外部的 OpenFlow控制器(Controller),对流表进行查找和管理,如图1所示。
[0004] 流表中包括:包头域(header fields),活动计数器(counters), 0个或多个执行 行动(actions)。在接收到一个数据包之后,根据该数据包的包头中的多个域的值,在流表 中查找匹配表项,如果查找到了匹配表项,则按照该匹配表项中的执行行动对该数据包进 行相应处理,否则,通过安全通道将该数据包转发到控制器,由控制器来决策该数据包的执 行行动。按照执行行动可以将数据包转发到一个或者多个接口。
[0005] 包头中包括12个域,具体为:进入接口,Ethernet(以太网)源地址、Ethernet目标 地址、类型、VLAN (Virtual Local Area Network,虚拟局域网)ID (标识)、VLAN优先级、IP 源地址、IP 目标地址、协议、IP ToS (Type of Service,服务类型)位、TCP (Transmission Control Protocol,传输控制协议)/UDP (User Datagram Protocol,用户数据报协议)目 标端口、TCP/UDP源端口。每一个域的值可以是一个确定值或者所有值(any),更准确的匹 配可以通过掩码实现。
[0006] 计数器可以针对每张表、每个流、每个端口、每个队列来维护。计数器用来统计流 量的一些信息,例如活动表项、查找次数、发送包数等。
[0007] 流表中的每一个表项对应于0个或者多个执行行动,如果一个表项中没有执行行 动,则默认为丢弃。多个执行行动的执行需要依照优先级顺序依次进行。另外,OF交换机 可以对不支持的执行行动返回错误(unspported flow error)。

【发明内容】

[0008] 本申请提供了一种分布式虚拟交换机系统的IGMP Snooping实现方法及装置,以 实现基于 OpenFlow 的 IGMP Snooping。
[0009] 本申请的技术方案如下:
[0010] -方面,提供了一种分布式虚拟交换机系统的IGMP Snooping实现方法,分布式虚 拟交换机系统中包括:控制器和至少一个服务器,服务器上设置有虚拟交换机和VM,虚拟 交换机通过uplink 口连接至外部的物理交换机,以及通过dvport 口连接至VM,该方法应用 于控制器,该方法包括:
[0011] 接收虚拟交换机发来的IGMP query报文,其中,IGMP query报文是虚拟交换机通 过连接物理交换机的一 uplink 口接收到的;
[0012] 若IGMP query报文是普遍查询报文,则生成用于指导普遍查询报文转发的下行流 表表项并保存到本地流表中,其中,生成的下行流表表项的执行动作中包括:通过第一出端 口转发普遍查询报文,第一出端口是普遍查询报文中携带的VLAN ID所指示的VLAN内的所 有 dvport 口;
[0013] 将生成的下行流表表项发送给虚拟交换机。
[0014] 另一方面,还提供了一种分布式虚拟交换机系统的IGMP Snooping实现装置,分布 式虚拟交换机系统中包括:控制器和至少一个服务器,服务器上设置有虚拟交换机和VM, 虚拟交换机通过uplink 口连接至外部的物理交换机,以及通过dvport 口连接至VM,该装置 应用于控制器,该装置包括:
[0015] 接收模块,用于接收虚拟交换机发来的IGMP query报文,其中,IGMP query报文 是虚拟交换机通过连接物理交换机的一 uplink 口接收到的;
[0016] 流表表项生成模块,用于在接收模块接收到虚拟交换机发来的IGMP query报文 之后,若IGMP query报文是普遍查询报文,则生成用于指导普遍查询报文转发的下行流表 表项并保存到本地流表中,其中,生成的下行流表表项的执行动作中包括:通过第一出端口 转发普遍查询报文,第一出端口是普遍查询报文中携带的VLAN ID所指示的VLAN内的所有 dvport 口;
[0017] 发送模块,用于将流表表项生成模块生成的用于指导普遍查询报文转发的下行流 表表项发送给虚拟交换机。
[0018] 通过本申请的以上技术方案,实现了基于OpenFlow的分布式虚拟交换机系统的 IGMP Snooping。
【附图说明】
[0019] 图1是OpenFlow协议中的流表管理示意图;
[0020] 图2是本申请实施例中的分布式虚拟交换机系统的架构示意图;
[0021] 图3是本申请实施例中的OF交换机的接口示意图;
[0022] 图4是本申请实施例一的分布式虚拟交换机系统的IGMP Snooping实现方法的流 程图;
[0023] 图5是本申请实施例二的分布式虚拟交换机系统的IGMP Snooping实现装置的结 构示意图。
【具体实施方式】
[0024] 为了实现基于OpenFlow的IGMP Snooping,本申请以下实施例中提供了一种分布 式虚拟交换机系统的IGMP Snooping实现方法,以及一种可以应用该方法的装置。
[0025] 如图2所示,本申请以下实施例的分布式虚拟交换机系统中包括:全局统一的控 制器和至少一个服务器,服务器上设置有虚拟交换机(dvSwitch)和VM (虚拟机),VM通过 虚拟交换机连接至外部的物理交换机(即ToR或边缘交换机)。控制器利用OpenFlow协议 统一控制所有的虚拟交换机,形成一个分布式虚拟交换机系统。
[0026] 虚拟交换机上有两类接口,一类为上行接口,称为uplink 口,另一类为下行接口, 称为dvport 口,其中,uplink 口与物理交换机相连,而dvport 口与VM的虚拟网卡接口相 连,如图3所示。
[0027] 基于此,OF交换机接收的报文可为:OF交换机通过任一 dvport 口接收VM发出的 报文,称为上行报文,或者,OF交换机通过连接物理交换机的任一 uplink 口接收的报文,称 为下行报文。
[0028] 为了便于理解,先对本申请实施例中涉及的相关IGMP (Internet Group Management Protocol,互联网组管理协议)报文进行解释如下:
[0029] IGMP query (查询报文)报文:组播源发出的用于确认组播组成员的报文。在本申 请实施例中,IGMP query报文从uplink 口进入虚拟交换机,虚拟交换机通过dvport 口发 送给VM。其中,组播源可以是与物理交换机相连的分布式虚拟交换机系统外部的设备。
[0030] IGMP r印ort (报告)报文:VM发出的用于确认已经加入了某组播组的报文。在本 申请实施例中,IGMP report报文从dvport 口进入虚拟交换机,虚拟交换机通过uplink 口 发送给物理交换机,由物理交换机转发给组播源。
[0031] IGMP leave(离开)报文:VM发出的用于告知组播源自己要离开组播组的报文。本 申请实施例中,IGMP leave报文由从dvport 口进入虚拟交换机,虚拟交换机通过uplink 口发送给物理交换机,由物理交换机转发给组播源。IGMP leave报文只在IGMPv2 (IGMP version2, IGMP 版本 2)中才有。
[0032] 组播数据报文:组播源发出的用于将组播数据发送给组播组内的成员的报文。本 申请实施例中,将该组播数据报文称为下行组播数据报文,下行组播数据报文从uplink 口 进入虚拟交换机,虚拟交换机通过dvport 口发送给组播组的成员(即VM)。
[0033] 实施例一
[0034] 本实施例一的分布式虚拟交换机系统的IGMP Snooping实现方法包括以下几个部 分的内容:
[0035] 1、普遍查询报文的侦听
[0036] 如图4所示,控制器执行的操作包括以下步骤:
[0037] 步骤S402,控制器接收虚拟交换机发来的IGMP query报文,其中,该IGMP query 报文是虚拟交换机通过连接物理交换机的一 uplink 口接收到的;
[0038] 在步骤S402之前,虚拟交换机通过一 uplink 口接收到组播源发出的IGMP query 报文
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1