CN105723664B - 一种通信方法、装置、控制器和转发面设备 - Google Patents
一种通信方法、装置、控制器和转发面设备 Download PDFInfo
- Publication number
- CN105723664B CN105723664B CN201480024328.5A CN201480024328A CN105723664B CN 105723664 B CN105723664 B CN 105723664B CN 201480024328 A CN201480024328 A CN 201480024328A CN 105723664 B CN105723664 B CN 105723664B
- Authority
- CN
- China
- Prior art keywords
- user equipment
- multicast
- equipment
- forwarding surface
- address
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例公开了一种通信方法、装置、控制器和转发面设备,所述方法包括:控制器接收第一用户设备加入多播组的信息;根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息;生成转发规则;所述转发规则具体为:将所述第一转发面设备或与所述第一转发面设备相连接的第二转发面设备接收到的组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备;其中,所述组播报文的目的地址为所述多播组的组播地址;将所述转发规则发送给所述第一转发面设备或者第二转发面设备。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种通信方法、装置、控制器和转发面设备。
背景技术
现有无线局域网(wireless local area network,WLAN)网络架构如下,包括接入点(Access Point,AP),接入控制器(Access controller,AC),交换机,路由器等设备。其中AP主要完成无线侧物理层和链路层处理,并将报文转发到上游交换机,交换机主要实现二层转发处理,根据报文的媒体接入控制(Media Access Control,MAC)地址进行转发。WLAN网络中的路由器负责和外部IP网络的互通,当接受到外部网络发给用户的IP报文后,根据路由表确定用户的目的MAC,并通过二层转发到用户所在的AP。AP将接受的IP报文从无线信道发送给用户。网络中的AC主要负责完成控制功能,包括对于AP的配置和管理,以及完成用户认证,授权等功能。在部署上AP和AC可以集成到一起(即每个AP对应一个AC),此时称为胖AP(Fat AP)架构,主要用于家庭等AP部署较少的场景;AC也可以独立集中部署,控制多个AP,此时称为瘦AP(Fit AP)架构,主要用于企业或者运营商网络里部署多个AP的场景,本专利针对的是瘦AP架构。
在企业WLAN网络中,一种重要的应用是视频广播或者视频会议,即多个用户同时观看一个视频内容,为了节省AP和视频服务器之间的带宽,一般应用多播技术,即路由器收到组播报文后,针对每个端口只发送一份组播报文,同样交换机收到组播报文后也只向每个下游端口发送一份报文,AP收到组播报文后,判断其目的地址为组播地址则通过无线广播信道向多个用户发送相同的组播报文。在一个例子中,比如8个用户加入了一个多播组,路由器从外部网络收到组播报文后,复制2份发给两个交换机。每个交换机复制两份发给2个AP,每个AP从广播信道发送给用户。而如果采用单播技术,则路由器需要发送8份内容相同的报文给不同的UE,这实际上浪费了路由器到AP之间的传输带宽以及AP和用户之间的无线带宽。
但在实际应用中,由于AP和用户之间是无线信道,其传输质量不稳定。而无线广播信道是没有应答确认机制的,导致通过无线广播信道发给用户的报文误码率以及丢包率很高,无法满足视频应用的QoS要求。所以需要一种机制使得AP收到组播报文后,根据当前AP下加入该多播组的用户数,通过单播信道发送给不同的用户,利用单播信道的应答确认机制提高组播视频业务的QoS。
基于此,现有技术提供了一种WLAN的多播转单播的方法,利用AP解析加入组播的协议,生成用户上下文,AP收到组播报文后根据加入该多播组的用户设备(UserEquipment,UE)数量复制组播报文并分别从单播无线信道发送给相应的UE。然而现有技术中最主要的问题是控制(解析加入组播协议,生成用户组播上下文)和转发(收到组播报文后,转换为单播MAC)没有解耦。此外因为无线AP覆盖范围小,在实际部署部署中数量非常多,还引入了其他问题。首先,AP需要解析三层的因特网组管理协议(Internet GroupManagement Protocol,IGMP)消息甚至应用层消息,支持多种协议解析导致AP实现复杂,由于AP数量多导致网络部署成本高;其次当组播加入协议修改后(比如从IGMP V2升级到IGMPV3),需要全网AP升级,导致网络维护成本高;最后对于现在的瘦AP架构,由于AC需要对用户加入多播组进行授权,所以AC也需要用户组播上下文信息,这导致了组播上下文在AP和AC间重复。
发明内容
有鉴于此,本发明实施例提供了一种通信方法、装置、控制器和转发面设备,所述方法基于软件定义网络(software-defined networking,SDN)的概念,对多播转换单播方案中的控制和转发解耦,将获取用户加入IP多播组等控制功能由集中部署的控制器实现,而匹配报文头域并执行地址转换等转发面功能由AP实现,这就使得分散部署的AP可以只保留转发面功能,简化了AP的设计,减少了网络部署和维护升级的成本。
第一方面,本发明实施例提供了一种通信方法,所述方法包括:
控制器接收第一用户设备加入多播组的信息;
根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息;
生成转发规则;所述转发规则具体为:将所述第一转发面设备或与所述第一转发面设备相连接的第二转发面设备接收到的组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备;其中,所述组播报文的目的地址为所述多播组的组播地址;
将所述转发规则发送给所述第一转发面设备或者第二转发面设备。
在第一种可能的实现方式中,在所述控制器接收第一用户设备加入多播组的信息之前,还包括:
所述控制器向所述第一转发面设备发送指示信息,用以所述第一转发面设备根据所述指示信息检测所述第一转发面设备是否接收到第一用户设备发送的组播协议报文。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述控制器接收第一用户设备加入多播组的信息具体为:
当所述第一转发面设备检测接收到所述组播协议报文时,所述控制器接收所述第一转发面设备上报的第一用户设备加入多播组的信息。
结合第一方面或第一方面的第一种、第二种可能的实现方式,在第三种可能的实现方式中,所述第一用户设备加入多播组的信息包括:所述第一用户设备的MAC地址和所述多播组的组播IP地址;所述根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息包括:
所述控制器根据所述第一用户设备加入多播组的信息解析得到所述第一用户设备的MAC地址和所述多播组的组播IP地址,并且根据所述第一用户设备加入多播组的信息得到所述第一转发面设备的信息。
在第四种可能的实现方式中,所述控制器接收第一用户设备加入多播组的信息具体为:
所述控制器接收应用服务器发送的消息;所述消息中包括所述第一用户设备加入多播组的信息。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,在所述控制器接收应用服务器发送的消息之前,所述方法还包括:
控制器认证授权所述第一用户设备,并生成用户上下文,所述用户上下文包括:所述第一用户设备连接的所述第一转发面设备的信息,所述第一用户设备的IP地址和所述第一用户设备的MAC地址。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述第一用户设备加入多播组的信息包括:所述第一用户设备的IP地址和所述多播组的IP地址;所述根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息包括:
所述控制器根据所述信息解析得到所述第一用户设备的IP地址和所述多播组的IP地址,根据所述第一用户设备的IP地址,确定所述第一用户设备对应的用户上下文,在所述用户上下文中查找确定所述第一用户设备的MAC地址,并根据所述用户上下文确定所述第一转发面设备的信息。
结合第一方面或第一方面的第一种、第二种、第三种、第四种、第五种、第六种可能的实现方式,在第七种可能的实现方式中,在所述生成转发规则之后,所述方法还包括:
控制器接收第二用户设备加入所述多播组的信息;
根据所述第二用户设备加入所述多播组的信息确定第二用户设备的MAC地址、所述多播组的组播地址和与所述第二用户设备相连接的第一转发面设备的信息;其中,所述与第二用户设备相连接的第一转发面设备,同与第一用户设备相连接的第一转发面设备为同一转发面设备;
修改所述转发规则;所述修改后的转发规则具体为:根据所述第一转发面设备中加入同一所述多播组的用户设备的数量,将所述第一转发面设备或第二转发面设备接收到的组播报文进行复制,将复制得到的第一报文的目的MAC地址修改为第一用户设备的MAC地址,通过单播数据传输方式发送给第一用户设备;并且,将复制得到的第二报文的目的MAC地址修改为第二用户设备的MAC地址,通过单播数据传输方式发送给第二用户设备;
将修改后的转发规则发送给所述第一转发面设备或第二转发面设备。
结合第一方面或第一方面的第一种、第二种、第三种、第四种、第五种、第六种、第七种可能的实现方式,在第八种可能的实现方式中,所述第一转发面设备为AP,所述第二转发面设备为与所述AP直连的交换机;所述将所述转发规则发送给所述第一转发面设备,或者发送给与所述第一转发面设备相连接的第二转发面设备具体为:
当所述AP具有针对以太网报文的可编程能力时,将所述转发规则发送给所述AP;
当所述AP不具有针对以太网报文的可编程能力时,将所述转发规则发送给与所述AP直连的所述交换机。
第二方面,本发明实施例提供了一种通信方法,所述方法包括:
第一转发面设备或第二转发面设备接收所述控制器发送的转发规则;
接收上游节点转发的组播报文;
根据所述转发规则将所述组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备。
在第一种可能的实现方式中,在接收上游节点转发的组播报文之后,所述方法还包括:
根据所述转发规则,对所述组播报文进行复制,得到第一报文和第二报文;
将所述第一报文的目的MAC地址修改为第一用户设备的MAC地址,通过单播数据传输方式发送给第一用户设备;并且,将所述第二报文的目的MAC地址修改为第二用户设备的MAC地址,通过单播数据传输方式发送给第二用户设备。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述第一转发面设备接收所述控制器发送的转发规则之前,所述方法还包括:
所述第一转发面设备接收所述控制器发送的指示信息;
根据所述指示信息检测是否接收到所述第一用户设备发送的组播协议报文,或者,所述第一用户设备发送的组播协议报文和第二用户设备发送的组播协议报文;
当接收到所述组播协议报文时,向上游节点转发所述组播协议报文。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,当接收到所述组播协议报文时,所述方法还包括:
所述第一转发面设备向所述控制器上报第一用户设备或者第一用户设备和第二用户设备加入多播组的信息。
第三方面,本发明实施例提供了一种通信装置,所述装置包括:
接收单元,用于接收第一用户设备加入多播组的信息;
确定单元,用于根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息;
第一生成单元,用于生成转发规则;所述转发规则具体为:将所述第一转发面设备或与所述第一转发面设备相连接的第二转发面设备接收到的组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备;其中,所述组播报文的目的地址为所述多播组的组播地址;
发送单元,用于将所述转发规则发送给所述第一转发面设备或者第二转发面设备。
在第一种可能的实现方式中,在所述接收单元接收第一用户设备加入多播组的信息之前,所述发送单元还用于:
向所述第一转发面设备发送指示信息,用以所述第一转发面设备根据所述指示信息检测所述第一转发面设备是否接收到第一用户设备发送的组播协议报文。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接收单元具体用于:
当所述第一转发面设备检测接收到所述组播协议报文时,接收所述第一转发面设备上报的第一用户设备加入多播组的信息。
结合第三方面或第三方面的第一种、第二种可能的实现方式,在第三种可能的实现方式中,所述第一用户设备加入多播组的信息包括:所述第一用户设备的MAC地址和所述多播组的组播IP地址;所述确定单元具体用于:
根据所述第一用户设备加入多播组的信息解析得到所述第一用户设备的MAC地址和所述多播组的组播IP地址,并且根据所述第一用户设备加入多播组的信息得到所述第一转发面设备的信息。
在第四种可能的实现方式中,所述接收单元具体用于:
接收应用服务器发送的消息;所述消息中包括所述第一用户设备加入多播组的信息。
结合第三方面的第四种可能的实现方式,在第五种可能的实现方式中,所述装置还包括认证单元和第二生成单元;
在所述接收单元接收应用服务器发送的消息之前,所述认证单元用于认证授权第一用户设备;所述第二生成单元,用于生成用户上下文,所述用户上下文包括:所述第一用户设备连接的所述第一转发面设备的信息,所述第一用户设备的IP地址和所述第一用户设备的MAC地址。
结合第三方面的第五种可能的实现方式,在第六种可能的实现方式中,所述第一用户设备加入多播组的信息包括:所述第一用户设备的IP地址和所述多播组的IP地址;所述确定单元具体用于:
根据所述信息解析得到所述第一用户设备的IP地址和所述多播组的IP地址,根据所述第一用户设备的IP地址,确定所述第一用户设备对应的用户上下文,在所述用户上下文中查找确定所述第一用户设备的MAC地址,并根据所述用户上下文确定所述第一转发面设备的信息。
结合第三方面或第三方面的第一种、第二种、第三种、第四种、第五种、第六种可能的实现方式,在第七种可能的实现方式中,
所述接收单元还用于,接收第二用户设备加入所述多播组的信息;
所述确定单元还用于,根据所述第二用户设备加入所述多播组的信息确定第二用户设备的MAC地址、所述多播组的组播地址和与所述第二用户设备相连接的第一转发面设备的信息;其中,所述与第二用户设备相连接的第一转发面设备,同与第一用户设备相连接的第一转发面设备为同一转发面设备;
所述第一生成单元还用于,修改所述转发规则;所述修改后的转发规则具体为:根据所述第一转发面设备中加入同一所述多播组的用户设备的数量,将所述第一转发面设备或第二转发面设备接收到的组播报文进行复制,将复制得到的第一报文的目的MAC地址修改为第一用户设备的MAC地址,通过单播数据传输方式发送给第一用户设备;并且,将复制得到的第二报文的目的MAC地址修改为第二用户设备的MAC地址,通过单播数据传输方式发送给第二用户设备;
所述发送单元还用于,将修改后的转发规则发送给所述第一转发面设备或第二转发面设备。
结合第三方面或第三方面的第一种、第二种、第三种、第四种、第五种、第六种、第七种可能的实现方式,在第八种可能的实现方式中,
所述第一转发面设备为AP,所述第二转发面设备为与所述AP直连的交换机;
当所述AP具有针对以太网报文的可编程能力时,所述发送单元具体用于,将所述转发规则发送给所述AP;
当所述AP不具有针对以太网报文的可编程能力时,所述发送单元具体用于,将所述转发规则发送给与所述AP直连的所述交换机。
第四方面,本发明实施例提供了一种转发面设备,所述转发面设备包括:
接收单元,用于接收所述控制器发送的转发规则;
所述接收单元还用于,接收上游节点转发的组播报文;
处理单元,用于根据所述转发规则将所述组播报文的目的MAC地址修改为第一用户设备的MAC地址;
发送单元,用于将处理后的组播报文通过单播数据传输方式发送给第一用户设备。
在第一种可能的实现方式中,所述处理单元还用于:
根据所述转发规则,对所述组播报文进行复制,得到第一报文和第二报文;
将所述第一报文的目的MAC地址修改为第一用户设备的MAC地址,通过所述发送单元以单播数据传输方式发送给第一用户设备;并且,将所述第二报文的目的MAC地址修改为第二用户设备的MAC地址,通过所述发送单元以单播数据传输方式发送给第二用户设备。
结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述转发面设备为AP,或者与所述AP直连的交换机。
结合第四方面的第二种可能的实现方式,在第三种可能的实现方式中,当所述转发面设备为AP时,所述AP还包括检测单元;
在接收所述控制器发送的转发规则之前,
所述接收单元还用于,接收所述控制器发送的指示信息;
所述检测单元用于,根据所述指示信息检测是否接收到所述第一用户设备发送的组播协议报文,或者,所述第一用户设备发送的组播协议报文和第二用户设备发送的组播协议报文;
当接收到所述组播协议报文时,所述发送单元还用于,向上游节点转发所述组播协议报文。
结合第四方面的第三种可能的实现方式,在第四种可能的实现方式中,当接收到所述组播协议报文时,所述发送单元还用于,向所述控制器上报第一用户设备或者第一用户设备和第二用户设备加入多播组的信息。
第五方面,本发明实施例提供了一种控制器,包括:
网络接口;
处理器;
存储器;
物理存储在所述存储器中的应用程序,所述应用程序包括可用于使所述处理器执行以下过程的指令:
接收第一用户设备加入多播组的信息;
根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的转发面设备的信息;
生成转发规则;所述转发规则具体为:将所述第一转发面设备或与所述第一转发面设备相连接的第二转发面设备接收到的组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备;其中,所述组播报文的目的地址为所述多播组的组播地址;
将所述转发规则发送给所述第一转发面设备或者第二转发面设备。
在第一种可能的实现方式中,在所述控制器接收第一用户设备加入多播组的信息之前,所述应用程序还包括可用于使所述处理器执行以下过程的指令:
所述控制器向所述第一转发面设备发送指示信息,用以所述第一转发面设备根据所述指示信息检测所述第一转发面设备是否接收到第一用户设备发送的组播协议报文。
结合第五方面或第五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述应用程序可用于使所述处理器执行接收第一用户设备加入多播组的信息的指令为:
当所述第一转发面设备检测接收到所述组播协议报文时,所述控制器接收所述第一转发面设备上报的第一用户设备加入多播组的信息。
结合第五方面或第五方面的第一种、第二种可能的实现方式,在第三种可能的实现方式中,所述第一用户设备加入多播组的信息包括:所述第一用户设备的MAC地址和所述多播组的组播IP地址;所述应用程序可用于使所述处理器执行根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息的指令为:
根据所述第一用户设备加入多播组的信息解析得到所述第一用户设备的MAC地址和所述多播组的组播IP地址,并且根据所述第一用户设备加入多播组的信息得到所述第一转发面设备的信息。
在第四种可能的实现方式中,所述应用程序可用于使所述处理器执行接收第一用户设备加入多播组的信息的指令为:
接收应用服务器发送的消息;所述消息中包括所述第一用户设备加入多播组的信息。
结合第五方面的第四种可能的实现方式,在第五种可能的实现方式中,在所述控制器接收应用服务器发送的消息之前,所述应用程序还包括可用于使所述处理器执行以下过程的指令:
认证授权所述第一用户设备,并生成用户上下文,所述用户上下文包括:所述第一用户设备连接的所述第一转发面设备的信息,所述第一用户设备的IP地址和所述第一用户设备的MAC地址。
结合第五方面的第五种可能的实现方式,在第六种可能的实现方式中,所述第一用户设备加入多播组的信息包括:所述第一用户设备的IP地址和所述多播组的IP地址;所述应用程序可用于使所述处理器执行根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息的指令为:
根据所述信息解析得到所述第一用户设备的IP地址和所述多播组的IP地址,根据所述第一用户设备的IP地址,确定所述第一用户设备对应的用户上下文,在所述用户上下文中查找确定所述第一用户设备的MAC地址,并根据所述用户上下文确定所述第一转发面设备的信息。
结合第五方面或第五方面的第一种、第二种、第三种、第四种、第五种、第六种可能的实现方式,在第七种可能的实现方式中,在所述生成转发规则之后,所述应用程序还包括可用于使所述处理器执行以下过程的指令:
控制器接收第二用户设备加入所述多播组的信息;
根据所述第二用户设备加入所述多播组的信息确定第二用户设备的MAC地址、所述多播组的组播地址和与所述第二用户设备相连接的第一转发面设备的信息;其中,所述与第二用户设备相连接的第一转发面设备,同与第一用户设备相连接的第一转发面设备为同一转发面设备;
修改所述转发规则,所述修改后的转发规则具体为:根据所述第一转发面设备中加入同一所述多播组的用户设备的数量,将所述第一转发面设备或第二转发面设备接收到的组播报文进行复制,将复制得到的第一报文的目的MAC地址修改为第一用户设备的MAC地址,通过单播数据传输方式发送给第一用户设备;并且,将复制得到的第二报文的目的MAC地址修改为第二用户设备的MAC地址,通过单播数据传输方式发送给第二用户设备;
将修改后的转发规则发送给所述第一转发面设备或第二转发面设备。
结合第五方面或第五方面的第一种、第二种、第三种、第四种、第五种、第六种、第七种可能的实现方式,在第八种可能的实现方式中,所述第一转发面设备为AP,所述第二转发面设备为与所述AP直连的交换机;所述将所述转发规则发送给所述第一转发面设备,或者发送给与所述第一转发面设备相连接的第二转发面设备的指令具体为:
当所述AP具有针对以太网报文的可编程能力时,将所述转发规则发送给所述AP;
当所述AP不具有针对以太网报文的可编程能力时,将所述转发规则发送给与所述AP直连的所述交换机。
第六方面,本发明实施例提供了一种转发面设备,包括:
网络接口;
处理器;
存储器;
物理存储在所述存储器中的应用程序,所述应用程序包括可用于使所述处理器执行以下过程的指令:
接收所述控制器发送的转发规则;
接收上游节点转发的组播报文;
根据所述转发规则将所述组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备。
在第一种可能的实现方式中,在所述接收上游节点转发的组播报文之后,所述应用程序还包括可用于使所述处理器执行以下过程的指令:
根据所述转发规则,对所述组播报文进行复制,得到第一报文和第二报文;
将所述第一报文的目的MAC地址修改为第一用户设备的MAC地址,通过单播数据传输方式发送给第一用户设备;并且,将所述第二报文的目的MAC地址修改为第二用户设备的MAC地址,通过单播数据传输方式发送给第二用户设备。
结合第六方面或第六方面的第一种可能的实现方式,在第二种可能的实现方式中,所述转发面设备为AP,或者为与所述AP直连的交换机;
其中,当所述AP具有针对以太网报文的可编程能力时,所述转发面设备为所述AP;
当所述AP不具有针对以太网报文的可编程能力时,所述转发面设备为与所述AP直连的所述交换机。
结合第六方面的第二种可能的实现方式,在第三种可能的实现方式中,当所述转发面设备为AP时,在所述转发面设备接收第一用户设备发送的组播协议报文之前,所述应用程序还包括可用于使所述处理器执行以下过程的指令:
接收所述控制器发送的指示信息;
根据所述指示信息检测是否接收到所述第一用户设备发送的组播协议报文,或者,所述第一用户设备发送的组播协议报文和第二用户设备发送的组播协议报文;
当接收到所述组播协议报文时,向上游节点转发所述组播协议报文。
结合第六方面的第三种可能的实现方式,在第四种可能的实现方式中,当接收到所述组播协议报文时,所述应用程序还包括可用于使所述处理器执行以下过程的指令:
向所述控制器上报第一用户设备或者第一用户设备和第二用户设备加入多播组的信息。
通过应用本发明实施例提供的通信方法,对多播转换单播方案中的控制和转发解耦,将获取用户加入IP多播组等控制功能由集中部署的控制器实现,从而使得分散部署的AP可以只保留转发面功能,由此简化了AP的设计,减少了网络部署和维护升级的成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的OpenFlow协议交互的示意图;
图2为本发明实施例一提供的一种通信方法的流程图;
图3为本发明实施例二提供的一种通信方法的流程图;
图4为本发明实施例三提供的一种通信方法的信令图;
图5为本发明实施例四提供的另一种通信方法的信令图;
图6为本发明实施例五提供的又一种通信方法的信令图;
图7为本发明实施例六提供的一种通信装置的示意图;
图8为本发明实施例七提供的一种转发面设备的示意图;
图9为本发明实施例八提供的一种控制器示意图;
图10为本发明实施例九提供的一种转发面设备示意图。
下面通过附图和实施例,对本发明实施例的技术方案做进一步的详细描述。
具体实施方式
在目前的电信网络中,存在着众多复杂的网络设备,如路由器、网关、交换机、防火墙和各类服务器等。这些设备分别支持各类的网络协议,从而实现网元间的互联互通。每一台设备都由内部的报文转发模块和各类协议控制模块组成。这种分布式的控制模块部署方式,使得网络的部署和管理非常复杂,为了实施某个控制参数修改或升级,网络操作员必须对每台设备进行单独的操作。
为解决网元的部署灵活性和可管理性,业界提出了软件定义网络(software-defined networking,SDN)的概念。SDN通过将网元的控制逻辑和转发功能解耦,并将控制逻辑进行集中部署,使得对网络的控制和维护工作能够简单的通过对控制面设备的操作实现,从而提高网络的管理效率,并使得转发面设备更为简单化,有利于实现转发面设备的高性能和可重用性。目前SDN思想正在被广泛应用到数据中心网络和电信网络中。Openflow协议是SDN网络中的最典型和应用最多的协议。
Openflow协议中的网元包括Openflow控制器和Openflow交换机,如图1所示,其中控制器负责根据报文特征(如IP五元组、以太网帧头、VLAN ID等)确定该业务流的转发动作(如转发、丢弃、修改报文头、封装、解封装等),并通过将对应的流规则(包括流匹配信息,如IP五元组、以太网帧头等,和对应执行的动作)下发给交换机。交换机获取并存储该流规则,对于后续符合该流规则的报文,执行对应的动作,从而实现报文的转发或处理。
需要说明的是OpenFlow协议不是SDN网络目前讨论的唯一的接口协议,其还可以包括互联网工程任务组(Internet Engineering Task Force,IETF)讨论的FORCES协议以及I2RS协议等,只要这些协议可以实现上述控制和转发分离的思想即可。
本发明提供的WLAN网络架构下的通信方法,正是一种基于SDN的多播转换单播的方法。
下面结合附图对本发明实施例进行详细描述。应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供了一种基于控制和转发解耦的多播转单播的通信方法,图2为本发明实施例提供的通信方法的流程图。在本实施例中,所述方法的执行主体为控制器。具体包括如下步骤:
步骤210,接收第一用户设备加入多播组的信息;
具体的,控制器可以通过多种方式来获取第一用户设备加入多播组的信息。
在一个例子中,控制器向转发面设备发送指示信息,用以所述转发面设备根据所述指示信息检测所述转发面设备是否接收到第一用户设备发送的组播协议报文。当所述转发面设备检测接收到所述组播协议报文时,所述控制器接收所述转发面设备上报的第一用户设备加入多播组的信息。其中,所述第一用户设备加入多播组的信息可以包括:所述第一用户设备的MAC地址和所述多播组的组播IP地址。
其中,转发面设备可以具体为AP或者与所述AP直连的交换机。其中,当AP具有针对以太网报文的可编程能力时,转发面设备可以为所述AP;当AP没有针对以太网报文的可编程能力时,转发面设备可以为与所述AP直连的交换机。在另一个例子中,所述控制器接收应用服务器发送的消息;所述消息中包括所述第一用户设备加入多播组的信息。其中,所述第一用户设备加入多播组的信息包括:所述第一用户设备的IP地址和所述多播组的IP地址。
可选的,在控制器接收应用服务器发送的消息之前,需要先进行用户设备接入WLAN网络与控制器之间的认证授权,并且生成用户上下文。
用户上下文可以包括:所述转发面设备的AP信息,与所述转发面设备相连接的第一用户设备的IP地址和MAC地址。
为便于后续描述,我们将AP成为第一转发面设备,将与AP直连的交换机成为第二转发面设备。
步骤220,根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息;
具体的,基于上述步骤210中的两种情况:
当所述第一用户设备加入多播组的信息包括第一用户设备的MAC地址和多播组的组播IP地址时,所述控制器根据所述第一用户设备加入多播组的信息解析得到所述第一用户设备的MAC地址和所述多播组的组播IP地址,并且根据所述第一用户设备加入多播组的信息得到所述第一转发面设备的信息。
当第一用户设备加入多播组的信息包括第一用户设备的IP地址和多播组的IP地址时,所述控制器根据所述信息解析得到所述第一用户设备的IP地址和所述多播组的IP地址,根据所述第一用户设备的IP地址,在所述用户上下文中查找确定所述第一用户设备的MAC地址,并根据所述用户上下文确定所述第一转发面设备的信息。
步骤230,生成转发规则;所述转发规则具体为:将所述第一转发面设备或与所述第一转发面设备相连接的第二转发面设备接收到的组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备;
具体的,在转发面设备下只有一个用户设备加入多播组的情况下,控制器生成的转发规则可以具体为:匹配所述第一转发面设备或第二转发面设备接收到外部网络发送的报文是否为组播报文,如果是,将所述组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播通信方式发送给第一用户设备;
如果在该转发面设备下具有多个用户设备加入同一个多播组,则转发规则可以具体为:匹配所述第一转发面设备或第二转发面设备接收到外部网络发送的报文是否为组播报文,如果是,根据所述第一转发面设备中加入同一所述多播组的用户设备,将所述第一转发面设备或第二转发面设备接收到的组播报文进行复制,例如第一转发面设备中加入同一所述多播组的用户设备为N个,则将组播报文进行N次复制,并且,将复制得到的第一报文的目的MAC地址修改为第一个用户设备的MAC地址,并通过单播通信方式发送给第一个用户设备;将复制得到的第二报文的目的MAC地址修改为第二个用户设备的MAC地址,并通过单播通信方式发送给第二个用户设备;以此类推,将复制得到的第N报文的目的MAC地址修改为第N个用户设备的MAC地址,并通过单播通信方式发送给第N个用户设备。
如果是在转发规则生成后,又有第一转发面设备下的用户设备加入到多播组,则可对原有的转发规则进行修改,使修改后的转发规则符合上述情况。
可选的,在生成转发规则之前,控制器可以执行第一用户设备加入多播组的授权。授权通过后再生成转发规则。
步骤240,将所述转发规则发送给所述第一转发面设备或者第二转发面设备。
具体的,将转发规则发送给转发面设备,用以转发面设备根据接收到的转发规则确定报文如何转发。转发行为可以包括:转发给某个端口,封装改写报文后转发,以及丢弃。
其中,当作为第一转发面设备的AP具有针对以太网报文的可编程能力时,将所述转发规则发送给所述AP;当作为第一转发面设备的AP不具有针对以太网报文的可编程能力时,将所述转发规则发送给第二转发面设备,即与所述AP直连的交换机。
通过应用本发明实施例提供的通信方法,对多播转换单播方案中的控制和转发解耦,将获取用户加入IP多播组等控制功能由集中部署的控制器实现,从而使得分散部署的AP可以只保留转发面功能,由此简化了AP的设计,减少了网络部署和维护升级的成本。
实施例二
本发明实施例二提供了一种基于控制和转发解耦的多播转单播的通信方法,图3为本发明实施例提供的通信方法的流程图。在本实施例中,所述方法的执行主体为转发面设备,包括第一转发面设备或者包括第一转发面设备和第二转发面设备,第一转发面设备可以具体为AP,第二转发面设备可以具体为与所述AP直连的交换机。其中,当AP具有针对以太网报文的可编程能力时,本实施例中执行主体的转发面设备为第一转发面设备,即所述AP;当AP没有针对以太网报文的可编程能力时,本实施例中执行主体的转发面设备为第二转发面设备,即与所述AP直连的交换机。
所述方法具体包括如下步骤:
步骤310,第一转发面设备或第二转发面设备接收所述控制器发送的指示信息;
具体的,所述指示信息用于确定接收到的报文是否为组播协议报文,如果是组播协议报文,则将此报文进行转发。例如如果报文的IP协议号为2(因特网组管理协议(IGMP)协议号),则将该报文转发到控制器;可选的该指示信息还可以指示将报文复制一份发给上游节点。
步骤320,接收第一用户设备发送的组播协议报文;
具体的,AP下的第一用户设备UE1使用IGMP协议加入某个多播组,组播协议报文为IGMP报文,IGMP报文中包括UE1的MAC地址,以及UE1加入多播组的组播IP地址。
步骤330,根据所述组播协议报文向所述控制器发送第一用户设备加入多播组的信息;
具体的,根据步骤310中的指示信息,匹配报文的IP协议号。
匹配成功后,向控制器发送第一用户设备加入多播组的信息,在该信息中包括了IGMP报文中UE1的MAC地址,以及UE1加入多播组的组播IP地址。
进一步的,如果有多个用户设备加入多播组,则接收到的是多个用户设备发送的多个组播协议报文;并且,向控制器上报多个用户设备加入多播组的信息。
可选的,第一转发面设备根据所述指示信息复制组播协议报文并向上游节点转发。
步骤340,接收所述控制器发送的转发规则;
具体的,在转发面设备下只有一个用户设备加入多播组的情况下,控制器生成的转发规则可以具体为:匹配所述转发面设备接收到外部网络发送的报文是否为组播报文,如果是,将所述转发面设备接收到的组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播信道发送给第一用户设备;
如果在该转发面设备下具有多个用户设备加入同一个多播组,则转发规则可以具体为:匹配所述转发面设备接收到外部网络发送的报文是否为组播报文,如果是,根据所述转发面设备中加入同一所述多播组的用户设备,将所述转发面设备接收到的组播报文进行复制后再进行转发。
步骤350,接收上游节点转发的组播报文;
具体的,外部网络将组播报文发送给上游节点,再由上游节点转发给转发面设备。其中组播报文的目的IP为组播地址,目的MAC为映射组播MAC地址。
可选的,在接收上游节点转发的组播报文之前,转发面设备还要先向上游节点转发所述组播协议报文。
步骤360,根据所述转发规则将所述组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备。
可选的,如果在接收所述控制器发送的转发规则之前,转发面设备还接收第二用户设备发送的组播协议报文,并且根据所述组播协议报文向所述控制器发送第二用户设备加入多播组的信息,则在接收上游节点转发的组播报文之后,转发面设备获取所述转发面设备中加入同一所述多播组的用户设备;根据所述转发规则和所述用户设备,对所述组播报文进行复制;并将复制得到的第一报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备;并且,将复制得到的第二报文的目的MAC地址修改为第二用户设备的MAC地址,并通过单播数据传输方式发送给第二用户设备。
其中,当AP具有针对以太网报文的可编程能力时,AP执行组播报文的接收和转发;
当所述AP不具有针对以太网报文的可编程能力时,与所述AP直连的交换机执行组播报文的接收和转发。
如果转发面设备中有N个用户设备加入同一所述多播组,转发面设备根据接收到的转发规则将组播报文进行复制,复制为N个报文;将N个报文中,第一报文的目的MAC地址修改为第一个用户设备的MAC地址,并通过单播信道发送给第一个用户设备;将第二报文的目的MAC地址修改为第二个用户设备的MAC地址,并通过单播信道发送给第二个用户设备;以此类推,将第N报文的目的MAC地址修改为第N个用户设备的MAC地址,并通过单播信道发送给第N个用户设备。
通过应用本发明实施例提供的通信方法,对多播转换单播方案中的控制和转发解耦,将获取用户加入IP多播组等控制功能由集中部署的控制器实现,从而使得分散部署的AP可以只保留转发面功能,由此简化了AP的设计,减少了网络部署和维护升级的成本。
实施例三
前述实施例一、二分别以控制器和转发面设备为执行主体,说明了实现多播转换单播的通信方法过程。进一步地,前述实施例一、二描述的实现过程之一可通过图4所示的信令图完成,图4为本发明实施例提供的一种多播转换单播的通信方法信令图。
本实施例中,转发面设备为AP,具有L2到L3的可编程性,可以匹配报文的MAC地址,IP地址,IP协议号等头域,并可执行对应的修改和转发动作。在本实施例的应用场景中,用户可以通过IGMP/组播监听者发现协议(Multicast Listener Discovery Protocol,MLD)等三层组播协议加入多播组。
如图4所示,具体包括以下步骤:
S401,控制器向AP下发指示信息;
具体的,指示信息用于确定接收到的报文是否为组播协议报文,如果是组播协议报文,则将此报文进行转发。例如:如果报文的IP协议号为2(IGMP协议号),则将该报文转发到控制器;
S402,AP接收第一用户设备(UE1)发送的第一IGMP消息。
其中,第一IGMP消息中包括UE1的MAC地址,以及加入多播组的组播IP地址。
S403,AP根据指示信息检测第一用户设备(UE1)使用第一IGMP协议加入多播组的信息是组播协议报文;
S404,AP根据接收到的UE1发送的第一IGMP消息向控制器发送UE1加入多播组的信息。
具体的,所述信息中包括了第一IGMP消息中UE1的MAC地址,以及UE1加入多播组的组播IP地址。
如果AP下还有第二用户设备(UE2)也加入同一多播组,则还包括:
S405,AP接收UE2发送的第二IGMP消息。
其中,第二IGMP消息中包括UE2的MAC地址,以及加入多播组的组播IP地址。
S406,检测UE2使用第二IGMP协议加入多播组的信息是否为组播协议报文;
S407,AP根据接收到的UE2发送的第二IGMP消息向控制器发送UE2加入多播组的信息。
具体的,AP具有无线端口,AP向控制器或UE发送信息、报文等都是通过AP的无线端口发送的。所述UE2加入多播组的信息中包括了第二IGMP消息中UE2的MAC地址,以及UE2加入多播组的组播IP地址。
上述步骤S402-S404以及步骤S405-S407的执行过程可以并行,或者先执行步骤S405-S407再执行步骤S402-S404。
S408,AP向上游节点转发IGMP消息;
此步骤中转发的IGMP消息包括了AP接收到的第一IGMP消息和第二IGMP消息。
如果AP下还有其他用户设备也加入同一多播组,也依照上述个步骤的过程执行,不再一一赘述,此处仅以AP下两个用户设备加入同一多播组的情况为例进行说明。
S409,控制器根据所述UE1和UE2加入多播组的信息,生成转发规则,并将转发规则发送给AP;
转发规则可以具体为:匹配AP接收到外部网络发送的报文是否为组播报文,如果是,根据AP中加入同一所述多播组的用户设备的数量,将AP接收到的组播报文进行复制。如本例中,AP中加入同一所述多播组的用户设备的数量为2个,则将组播报文进行复制为2个组播报文;将2个组播报文中,第一个组播报文的目的MAC地址修改为第一个用户设备的MAC地址,并通过单播信道发送给第一个用户设备;将第二个组播报文的目的MAC地址修改为第二个用户设备的MAC地址,并通过单播信道发送给第二个用户设备。
上述步骤408也可以在步骤409之后执行,或者两个步骤并行执行。
S410,上游节点接收的外部网络发送的组播报文;
S411,上游节点根据之前接收到的IGMP消息将组播报文转发给AP;
具体的,上游节点可以具体为组播路由器。组播报文的目的IP为组播地址,目的MAC为映射组播MAC地址。
S412,AP接收到组播报文之后,进行转发规则匹配,确认接收到外部网络发送的报文是组播报文;
S413,根据转发规则,对组播报文进行复制,并将复制后的第一个报文的目的MAC地址修改为UE1的MAC地址;将复制后的第二个报文的目的MAC地址修改为UE2的MAC地址;
S414,AP将第一报文通过单播信道发送给UE1。
S415,AP将第二报文通过单播信道发送给UE2。
由此可知,AP只需执行报文头域匹配,以及头域修改和转发,即可实现多播转换单播的通信过程。对于组播协议的解析,获取用户加入IP多播组等控制功能,由控制器实现。由此简化了AP的设计。而控制器是集中部署的,可以通过软件实现其功能。因此在整个系统中,通过控制器实现组播协议解析的复杂性要低于将其分布到各个AP,由此节省了网络部署成本。此外当组播协议升级时,只需要升级控制器软件即可,不需要升级AP,也节省了网络维护成本。
实施例四
前述实施例一、二分别以控制器和转发面设备为执行主体,说明了实现多播转换单播的通信方法过程。进一步地,前述实施例一、二描述的实现过程之二可通过图5所示的信令图完成,图5为本发明实施例提供的另一种多播转换单播的通信方法信令图。
本实施例中,转发面设备为AP,仅具有L2可编程性,即仅能识别报文的MAC头域并执行MAC头域的修改和转发。在本实施例的应用场景中,用户可以通过应用层协议和服务器交互加入多播组。
如图5所示,具体包括以下步骤:
S501,UE1通过AP接入WLAN网络,与控制器完成认证授权,并且控制器生成用户上下文;
具体的,通过认证授权,控制器获得了UE1的IP地址,UE1从属于AP的关系等。
所述用户上下文包括:所述转发面设备的AP信息,与所述转发面设备相连接的全部用户设备的IP地址和所述全部用户设备的MAC地址,及它们相互之间的对照关系。
S502,UE1通过会话发起协议(Session Initiation Protocol,SIP协议)与应用服务器交互,加入多播组;
具体的,在SIP消息中包括了多播组的组播IP地址的信息。
此外,用于加入多播组的应用层协议并不限于SIP协议,还可以是超文本传输协议(Hypertext Transfer Protocol,HTTP)或实时流协议(Real-Time Streaming Protocol,RTSP)协议等。
S503,应用服务器通过控制器提供的北向接口,向控制器发送UE1加入多播组的信息;
具体的,UE1加入多播组的信息中可以包括UE1的IP地址,以及组播IP地址。
S504,控制器根据认证授权过程中生成的用户上下文,以及北向接口提供的UE1的IP地址,确定UE1的MAC地址和UE1当前连接的AP的信息,生成转发规则,并将转发规则发送给AP;
具体的,控制器根据UE1的IP地址,在用户上下文中查询获取UE1的MAC地址和UE1当前连接的AP的信息。因为AP仅具有L2可编程性,也就是仅能识别报文的MAC头域,因此控制器还要根据组播IP地址和组播MAC地址的映射关系得到映射后的组播MAC地址,并生成转发规则。其中,组播IP地址和组播MAC地址的映射关系可以预先配置在控制器里。
转发规则可以具体为:匹配AP接收到外部网络发送的报文是否为组播报文,如果是,根据AP中加入同一所述多播组的用户设备的数量,将AP接收到的组播报文进行复制,并且,将复制得到的第一报文的映射后的目的MAC地址修改为第一个用户设备的MAC地址,并通过单播信道发送给第一个用户设备;将复制得到的第二报文的映射后的目的MAC地址修改为第二个用户设备的MAC地址,并通过单播信道发送给第二个用户设备;以此类推,将复制得到的第N报文的映射后的目的MAC地址修改为第N个用户设备的MAC地址,并通过单播信道发送给第N个用户设备。
在本实施例中,仅以AP只有一个用户设备UE1加入多播组的情况为例,因此生成的转发规则为,将组播报文映射后的目的MAC地址,修改为UE1的MAC地址。
S505,上游节点接收的外部网络发送的组播报文;
S506,上游节点将组播报文转发给AP;
具体的,上游节点可以具体为组播路由器。组播报文的目的IP为组播地址,目的MAC为映射组播MAC地址。
S507,AP接收到组播报文之后,进行转发规则匹配,确认接收到外部网络发送的报文是组播报文;
S508,根据转发规则,将报文的目的MAC地址修改为UE1的MAC地址;
S509,AP将修改后的报文通过单播信道发送给UE1。
由此可知,系统中,控制器为集中部署,可以向应用服务器提供统一的北向接口,从而可以由应用服务器直接通知控制器组播加入信息,避免了AP解析应用层组播协议导致的复杂性,同时避免了因某些应用层协议过于复杂导致无法解析的问题。由此简化了AP的设计,减少了网络部署和维护升级的成本。
需要说明的是,本例中以AP下仅有UE1加入该多播组情况为例进行说明,如果AP下还有其他用户设备也加入了该多播组,则AP根据转发规则,对组播报文进行复制成多份,修改报文的目的MAC地址后分别通过单播信道发送给多个UE。
实施例五
前述实施例一、二分别以控制器和转发面设备为执行主体,说明了实现多播转换单播的通信方法过程。进一步地,前述实施例一、二描述的实现过程之三可通过图6所示的信令图完成,图6为本发明实施例提供的又一种多播转换单播的通信方法信令图。
本实施例中,转发面设备为AP,不具有可编程性,因此控制器无法在AP上安装转发规则,因此只能对与AP直连的可编程交换机下发转发规则。在本实施例的应用场景中,用户可以通过IGMP/组播监听者发现协议(Multicast Listener Discovery Protocol,MLD)等三层组播协议加入多播组。
如图6所示,具体包括以下步骤:
S601,UE1通过AP接入WLAN网络,与控制器完成认证授权,并且控制器生成用户上下文;
具体的,通过认证授权,控制器获得了UE1的IP地址,UE1从属于AP的关系等。
所述用户上下文包括:所述转发面设备的AP信息,与所述转发面设备相连接的全部用户设备的IP地址和所述全部用户设备的MAC地址,及它们相互之间的对照关系。
S602,控制器向AP的上游节点下发指示信息;
具体的,所述指示信息用于确定接收到的报文是否为组播协议报文,如果是组播协议报文,则将此报文进行转发。例如:如果报文的IP协议号为2(IGMP协议号),则将该报文转发到控制器;上游节点可以具体为组播路由器。
S603,AP的上游节点接收UE1发送的用户加入多播组的信息;
在本实施例中,用户加入多播组的信息具体为IGMP消息;IGMP消息中包括UE1的MAC地址,以及加入多播组的组播IP地址。
S604,AP的上游节点根据所述指示信息将IGMP消息发送给控制器;
S605,控制器根据用户上下文和UE1加入多播组的信息,生成转发规则,并将转发规则发送给AP直连的可编程交换机;
具体的,控制器根据认证授权过程中生成的用户上下文以及路由器上报的IGMP消息中UE1的MAC地址,确定UE1当前连接的AP。
在其他例子中,如果IGMP消息中包括的是UE1的IP地址,则控制器根据用户上下文以及UE1的IP地址确定UE1的MAC地址和UE1当前连接的AP。
并且,控制器生成转发规则,转发规则可以具体为:匹配AP直连的交换机接收到外部网络发送的报文是否为组播报文,如果是,根据AP中加入同一所述多播组的用户设备的数量,将AP直连的交换机接收到的组播报文进行复制,并且,将复制得到的第一报文的映射后的目的MAC地址修改为第一个用户设备的MAC地址,并通过单播传输方式发送给AP;将复制得到的第二报文的映射后的目的MAC地址修改为第二个用户设备的MAC地址,并通过单播传输方式发送给AP;以此类推,将复制得到的第N报文的映射后的目的MAC地址修改为第N个用户设备的MAC地址,并通过单播传输方式发送给AP。AP收到交换机以单播传输方式发送的报文后,通过单播信道将报文发送给用户设备
在本实施例中,仅以AP只有一个用户设备UE1加入多播组的情况为例,因此生成的转发规则为,将组播报文映射后的目的MAC地址,修改为UE1的MAC地址。
S606,上游节点接收的外部网络发送的组播报文;
S607,上游节点将所述组播报文转发给与AP直连的交换机;
S608,交换机接收到组播报文之后,进行转发规则匹配,确认接收到外部网络发送的报文是组播报文;
S609,交换机根据转发规则,将报文的目的MAC地址修改为UE1的MAC地址;
S610,交换机将修改报文通过单播传输方式发送给AP。
S611,AP将复制后的报文通过单播信道发送给UE1。
需要说明的是,本例中以AP下仅有UE1加入该多播组情况为例进行说明,如果AP下还有其他用户设备也加入了该多播组,则与AP直连的交换机根据转发规则,对组播报文进行复制成多份,分别通过单播传输方式发送给AP。虽然本方案浪费了AP和直连交换机之间的带宽,但是对于不具有可编程性的AP来说,在其未升级至具有可编程性的前提条件下,本方案控制器为集中部署,对于组播协议的解析,获取用户加入IP多播组等控制功能,由控制器实现。由此简化了AP的设计,减少了网络部署和维护升级的成本。
实施例六
相应的,本发明实施例提供了一种通信装置,具体可以为控制器,用于实现上述实施例一提供的通信方法,具体如图7所示,本实施例的通信装置包括:
接收单元710,用于接收第一用户设备加入多播组的信息;
确定单元720,用于根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息;
第一生成单元730,用于生成转发规则;所述转发规则具体为:将所述第一转发面设备或与所述第一转发面设备相连接的第二转发面设备接收到的组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备;其中,所述组播报文的目的地址为所述多播组的组播地址;
发送单元740,用于将所述转发规则发送给所述第一转发面设备或者第二转发面设备。
可选的,在所述接收单元接收第一用户设备加入多播组的信息之前,发送单元740还用于:
向所述第一转发面设备发送指示信息,用以所述第一转发面设备根据所述指示信息检测所述第一转发面设备是否接收到第一用户设备发送的组播协议报文。
进一步的,接收单元710具体用于:
当所述第一转发面设备检测接收到所述组播协议报文时,接收所述第一转发面设备上报的第一用户设备加入多播组的信息。
在一个可选的方案中,所述第一用户设备加入多播组的信息包括:所述第一用户设备的MAC地址和所述多播组的组播IP地址;
所述确定单元720具体用于:
根据所述第一用户设备加入多播组的信息解析得到所述第一用户设备的MAC地址和所述多播组的组播IP地址,并且根据所述第一用户设备加入多播组的信息得到所述第一转发面设备的信息。
在另一个可选的方案中,所述接收单元710具体用于:
接收应用服务器发送的消息;所述消息中包括所述第一用户设备加入多播组的信息。
进一步的,所述装置还包括认证单元和第二生成单元(图中均未示出);
在所述接收单元710接收应用服务器发送的消息之前,
所述认证单元用于认证授权第一用户设备;
所述第二生成单元,用于生成用户上下文,所述用户上下文包括:所述第一用户设备连接的所述第一转发面设备的信息,所述第一用户设备的IP地址和所述第一用户设备的MAC地址。进一步的,所述第一用户设备加入多播组的信息包括:所述第一用户设备的IP地址和所述多播组的IP地址;所述确定单元720具体用于:
根据所述信息解析得到所述第一用户设备的IP地址和所述多播组的IP地址,根据所述第一用户设备的IP地址,确定所述第一用户设备对应的用户上下文,在所述用户上下文中查找确定所述第一用户设备的MAC地址,并根据所述用户上下文确定所述第一转发面设备的信息。
可选的,所述接收单元710还用于,接收第二用户设备加入所述多播组的信息;
所述确定单元720还用于,根据所述第二用户设备加入所述多播组的信息确定第二用户设备的MAC地址、所述多播组的组播地址和与所述第二用户设备相连接的第一转发面设备的信息;其中,所述与第二用户设备相连接的第一转发面设备,同与第一用户设备相连接的第一转发面设备为同一转发面设备;
所述第一生成单元730还用于,修改所述转发规则;所述修改后的转发规则具体为:根据所述第一转发面设备中加入同一所述多播组的用户设备的数量,将所述第一转发面设备或第二转发面设备接收到的组播报文进行复制,将复制得到的第一报文的目的MAC地址修改为第一用户设备的MAC地址,通过单播数据传输方式发送给第一用户设备;并且,将复制得到的第二报文的目的MAC地址修改为第二用户设备的MAC地址,通过单播数据传输方式发送给第二用户设备;
所述发送单元740还用于,将修改后的转发规则发送给所述第一转发面设备或第二转发面设备。
通过应用本发明实施例提供的通信装置,对多播转换单播方案中的控制和转发解耦,将获取用户加入IP多播组等控制功能由集中部署的控制器实现,从而使得分散部署的AP可以只保留转发面功能,由此简化了AP的设计,减少了网络部署和维护升级的成本。
实施例七
相应的,本发明实施例还提供了一种转发面设备,具体可以为AP或者与所述AP直连的交换机,用于实现上述实施例二提供的通信方法,具体如图8所示,本实施例的转发面设备包括:
接收单元810,用于,接收所述控制器发送的转发规则;
所述接收单元810还用于,接收上游节点转发的组播报文;
处理单元830,用于根据所述转发规则将所述组播报文的目的MAC地址修改为第一用户设备的MAC地址;
发送单元820,用于将处理后的组播报文通过单播数据传输方式发送给第一用户设备。
转发面设备为AP或者与AP直连的交换机,是根据AP的可编程性而定的。其中,当AP具有针对以太网报文的可编程能力时,AP执行组播报文的接收和转发;
当所述AP不具有针对以太网报文的可编程能力时,与所述AP直连的交换机执行组播报文的接收和转发。
可选的,所述处理单元830还用于:
根据所述转发规则,对所述组播报文进行复制,得到第一报文和第二报文;
将所述第一报文的目的MAC地址修改为第一用户设备的MAC地址,通过所述发送单元以单播数据传输方式发送给第一用户设备;并且,将所述第二报文的目的MAC地址修改为第二用户设备的MAC地址,通过所述发送单元以单播数据传输方式发送给第二用户设备。
可选的,所述转发面设备还包括检测单元840;
所述接收单元810接收控制器发送的转发规则之前,
所述接收单元810还用于,接收所述控制器发送的指示信息;
所述检测单元840用于,根据所述指示信息检测是否接收到所述第一用户设备发送的组播协议报文,或者,所述第一用户设备发送的组播协议报文和第二用户设备发送的组播协议报文;
当接收到所述组播协议报文时,所述发送单元还用于,根据所述指示信息向上游节点转发所述组播协议报文。
进一步可选的,当接收到所述组播协议报文时,所述发送单元820还用于,向所述控制器上报第一用户设备或者第一用户设备和第二用户设备加入多播组的信息。
通过应用本发明实施例提供的转发面设备,对多播转换单播方案中的控制和转发解耦,将获取用户加入IP多播组等控制功能由集中部署的控制器实现,从而使得分散部署的AP可以只保留转发面功能,由此简化了AP的设计,减少了网络部署和维护升级的成本。
实施例八
相应的,本发明实施例提供了一种控制器,用于实现上述实施例一提供的通信方法,如图9所示,所述控制器包括:网络接口910、处理器920和存储器930。系统总线940用于连接网络接口910、处理器920和存储器930。
网络接口910用于与物联网终端、物联网接入网关、承载网、物联网服务网关和应用服务器通信。
处理器920可以是一个处理器,也可以是多个处理元件的统称。例如,处理器920可以是中央处理器(Central Processing Unit,CPU),也可以是特定集成电路(ApplicationSpecific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)。
存储器930可以是一个存储装置,也可以是多个存储元件的统称,且用于存储可执行程序代码或基站运行所需要参数、数据等。且存储器930可以包括随机存储器(RAM),也可以包括非易失性存储器(non-volatile memory),例如磁盘存储器,闪存(Flash)等。
系统总线940可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。系统总线940可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在启动时,这些软件组件被加载到存储器930中,然后被处理器920访问并执行以下指令:
接收第一用户设备加入多播组的信息;
根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的转发面设备的信息;
生成转发规则;所述转发规则具体为:将所述第一转发面设备或与所述第一转发面设备相连接的第二转发面设备接收到的组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备;其中,所述组播报文的目的地址为所述多播组的组播地址;
将所述转发规则发送给所述第一转发面设备或者第二转发面设备。
可选的,在所述控制器接收第一用户设备加入多播组的信息之前,所述应用程序还包括可用于使所述处理器920执行以下过程的指令:
所述控制器向所述第一转发面设备发送指示信息,用以所述第一转发面设备根据所述指示信息检测所述第一转发面设备是否接收到第一用户设备发送的组播协议报文。
进一步的,所述应用程序可用于使所述处理器920执行接收第一用户设备加入多播组的信息的指令为:
当所述第一转发面设备检测接收到所述组播协议报文时,所述控制器接收所述第一转发面设备上报的第一用户设备加入多播组的信息。
在一个可选的方案中,所述第一用户设备加入多播组的信息包括:所述第一用户设备的MAC地址和所述多播组的组播IP地址;所述应用程序可用于使所述处理器920执行根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息的指令为:
根据所述第一用户设备加入多播组的信息解析得到所述第一用户设备的MAC地址和所述多播组的组播IP地址,并且根据所述第一用户设备加入多播组的信息得到所述第一转发面设备的信息。
在另一个可选的方案中,所述应用程序可用于使所述处理器920执行接收第一用户设备加入多播组的信息的指令为:
接收应用服务器发送的消息;所述消息中包括所述第一用户设备加入多播组的信息。
进一步的,在所述控制器接收应用服务器发送的消息之前,所述应用程序还包括可用于使所述处理器920执行以下过程的指令:
认证授权所述第一用户设备,并生成用户上下文,所述用户上下文包括:所述第一用户设备连接的所述第一转发面设备的信息,所述第一用户设备的IP地址和所述第一用户设备的MAC地址。
进一步的,所述第一用户设备加入多播组的信息包括:所述第一用户设备的IP地址和所述多播组的IP地址;所述应用程序可用于使所述处理器920执行根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息的指令为:
根据所述信息解析得到所述第一用户设备的IP地址和所述多播组的IP地址,根据所述第一用户设备的IP地址,确定所述第一用户设备对应的用户上下文,在所述用户上下文中查找确定所述第一用户设备的MAC地址,并根据所述用户上下文确定所述第一转发面设备的信息。
可选的,在所述生成转发规则之后,所述应用程序还包括可用于使所述处理器920执行以下过程的指令:
控制器接收第二用户设备加入所述多播组的信息;
根据所述第二用户设备加入所述多播组的信息确定第二用户设备的MAC地址、所述多播组的组播地址和与所述第二用户设备相连接的第一转发面设备的信息;其中,所述与第二用户设备相连接的第一转发面设备,同与第一用户设备相连接的第一转发面设备为同一转发面设备;
修改所述转发规则,所述修改后的转发规则具体为:根据所述第一转发面设备中加入同一所述多播组的用户设备的数量,将所述第一转发面设备或第二转发面设备接收到的组播报文进行复制,将复制得到的第一报文的目的MAC地址修改为第一用户设备的MAC地址,通过单播数据传输方式发送给第一用户设备;并且,将复制得到的第二报文的目的MAC地址修改为第二用户设备的MAC地址,通过单播数据传输方式发送给第二用户设备。
将修改后的转发规则发送给所述第一转发面设备或第二转发面设备。
在本实施例中,第一转发面设备为AP,第二转发面设备为与所述AP直连的交换机;所述将所述转发规则发送给所述第一转发面设备,或者发送给与所述第一转发面设备相连接的第二转发面设备的指令具体为:
当所述AP具有针对以太网报文的可编程能力时,将所述转发规则发送给所述AP;
当所述AP不具有针对以太网报文的可编程能力时,将所述转发规则发送给与所述AP直连的所述交换机。
通过应用本发明实施例提供的控制器,对多播转换单播方案中的控制和转发解耦,将获取用户加入IP多播组等控制功能由集中部署的控制器实现,从而使得分散部署的AP可以只保留转发面功能,由此简化了AP的设计,减少了网络部署和维护升级的成本。
实施例九
相应的,本发明实施例提供了一种转发面设备,用于实现上述实施例二提供的通信方法,如图10所示,所述转发面设备包括:网络接口1010、处理器1020和存储器1030。系统总线1040用于连接网络接口1010、处理器1020和存储器1030。
网络接口1010用于与物联网终端、物联网接入网关、承载网、物联网服务网关和应用服务器通信。
处理器1020可以是一个处理器,也可以是多个处理元件的统称。例如,处理器1020可以是中央处理器(Central Processing Unit,CPU),也可以是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)。
存储器1030可以是一个存储装置,也可以是多个存储元件的统称,且用于存储可执行程序代码或基站运行所需要参数、数据等。且存储器1030可以包括随机存储器(RAM),也可以包括非易失性存储器(non-volatile memory),例如磁盘存储器,闪存(Flash)等。
系统总线1040可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。系统总线1040可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在启动时,这些软件组件被加载到存储器1030中,然后被处理器1020访问并执行以下指令:
接收所述控制器发送的转发规则;
接收上游节点转发的组播报文;
根据所述转发规则将所述组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备。
可选的,所述转发面设备具体为AP或者与所述AP直连的交换机;
其中,当所述AP具有针对以太网报文的可编程能力时,所述转发面设备为所述AP;当所述AP不具有针对以太网报文的可编程能力时,所述转发面设备为与所述AP直连的交换机。
进一步的,在所述接收上游节点转发的组播报文之后,所述应用程序还包括可用于使所述处理器1020执行以下过程的指令:
根据所述转发规则,对所述组播报文进行复制,得到第一报文和第二报文;
将所述第一报文的目的MAC地址修改为第一用户设备的MAC地址,通过单播数据传输方式发送给第一用户设备;并且,将所述第二报文的目的MAC地址修改为第二用户设备的MAC地址,通过单播数据传输方式发送给第二用户设备。所述转发面设备为AP,或者为与所述AP直连的交换机;
其中,当所述AP具有针对以太网报文的可编程能力时,所述转发面设备为所述AP;
当所述AP不具有针对以太网报文的可编程能力时,所述转发面设备为与所述AP直连的所述交换机。
进一步的,当所述转发面设备为AP时,在所述转发面设备接收第一用户设备发送的组播协议报文之前,所述应用程序还包括可用于使所述处理器1020执行以下过程的指令:
接收所述控制器发送的指示信息;
根据所述指示信息检测是否接收到所述第一用户设备发送的组播协议报文,或者,所述第一用户设备发送的组播协议报文和第二用户设备发送的组播协议报文;
当接收到所述组播协议报文时,根据所述指示信息向上游节点转发所述组播协议报文。
其中,当接收到所述组播协议报文时,所述应用程序还包括可用于使所述处理器执行以下过程的指令:
向所述控制器上报第一用户设备或者第一用户设备和第二用户设备加入多播组的信息。
通过应用本发明实施例提供的转发面设备,对多播转换单播方案中的控制和转发解耦,将获取用户加入IP多播组等控制功能由集中部署的控制器实现,从而使得分散部署的AP可以只保留转发面功能,由此简化了AP的设计,减少了网络部署和维护升级的成本。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件来实现,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。具体地,所述运算和控制部分都可以通络逻辑硬件实现,其可以是使用集成电路工艺制造出来的逻辑集成电路,本实施例对此不作限定。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明实施例的保护范围,凡在本发明实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (41)
1.一种通信方法,其特征在于,所述方法包括:
控制器接收第一用户设备加入多播组的信息;
根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息;
生成转发规则;所述转发规则具体为:将所述第一转发面设备或与所述第一转发面设备相连接的第二转发面设备接收到的组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备;其中,所述组播报文的目的地址为所述多播组的组播地址;
将所述转发规则发送给所述第一转发面设备或者第二转发面设备。
2.根据权利要求1所述的方法,其特征在于,在所述控制器接收第一用户设备加入多播组的信息之前,还包括:
所述控制器向所述第一转发面设备发送指示信息,用以所述第一转发面设备根据所述指示信息检测所述第一转发面设备是否接收到第一用户设备发送的组播协议报文。
3.根据权利要求2所述的方法,其特征在于,所述控制器接收第一用户设备加入多播组的信息具体为:
当所述第一转发面设备检测接收到所述组播协议报文时,所述控制器接收所述第一转发面设备上报的第一用户设备加入多播组的信息。
4.根据权利要求1-3任一权项所述的方法,其特征在于,所述第一用户设备加入多播组的信息包括:所述第一用户设备的MAC地址和所述多播组的组播IP地址;所述根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息包括:
所述控制器根据所述第一用户设备加入多播组的信息解析得到所述第一用户设备的MAC地址和所述多播组的组播IP地址,并且根据所述第一用户设备加入多播组的信息得到所述第一转发面设备的信息。
5.根据权利要求1所述的方法,其特征在于,所述控制器接收第一用户设备加入多播组的信息具体为:
所述控制器接收应用服务器发送的消息;所述消息中包括所述第一用户设备加入多播组的信息。
6.根据权利要求5所述的方法,其特征在于,在所述控制器接收应用服务器发送的消息之前,所述方法还包括:
控制器认证授权所述第一用户设备,并生成用户上下文,所述用户上下文包括:所述第一用户设备连接的所述第一转发面设备的信息,所述第一用户设备的IP地址和所述第一用户设备的MAC地址。
7.根据权利要求6所述的方法,其特征在于,所述第一用户设备加入多播组的信息包括:所述第一用户设备的IP地址和所述多播组的IP地址;所述根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息包括:
所述控制器根据所述信息解析得到所述第一用户设备的IP地址和所述多播组的IP地址,根据所述第一用户设备的IP地址,确定所述第一用户设备对应的用户上下文,在所述用户上下文中查找确定所述第一用户设备的MAC地址,并根据所述用户上下文确定所述第一转发面设备的信息。
8.根据权利要求1-3任一权项所述的方法,其特征在于,在所述生成转发规则之后,所述方法还包括:
控制器接收第二用户设备加入所述多播组的信息;
根据所述第二用户设备加入所述多播组的信息确定第二用户设备的MAC地址、所述多播组的组播地址和与所述第二用户设备相连接的第一转发面设备的信息;其中,所述与第二用户设备相连接的第一转发面设备,同与第一用户设备相连接的第一转发面设备为同一转发面设备;
修改所述转发规则;所述修改后的转发规则具体为:根据所述第一转发面设备中加入同一所述多播组的用户设备的数量,将所述第一转发面设备或第二转发面设备接收到的组播报文进行复制,将复制得到的第一报文的目的MAC地址修改为第一用户设备的MAC地址,通过单播数据传输方式发送给第一用户设备;并且,将复制得到的第二报文的目的MAC地址修改为第二用户设备的MAC地址,通过单播数据传输方式发送给第二用户设备;
将修改后的转发规则发送给所述第一转发面设备或第二转发面设备。
9.根据权利要求1-3任一所述的方法,其特征在于,所述第一转发面设备为AP,所述第二转发面设备为与所述AP直连的交换机;所述将所述转发规则发送给所述第一转发面设备,或者发送给与所述第一转发面设备相连接的第二转发面设备具体为:
当所述AP具有针对以太网报文的可编程能力时,将所述转发规则发送给所述AP;
当所述AP不具有针对以太网报文的可编程能力时,将所述转发规则发送给与所述AP直连的所述交换机。
10.一种通信方法,其特征在于,所述方法包括:
第一转发面设备或第二转发面设备向控制器上报第一用户设备加入组播的信息;
第一转发面设备或第二转发面设备接收控制器发送的转发规则;
接收上游节点转发的组播报文;
根据所述转发规则将所述组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备。
11.根据权利要求10所述的方法,其特征在于,在接收上游节点转发的组播报文之后,所述方法还包括:
根据所述转发规则,对所述组播报文进行复制,得到第一报文和第二报文;
将所述第一报文的目的MAC地址修改为第一用户设备的MAC地址,通过单播数据传输方式发送给第一用户设备;并且,将所述第二报文的目的MAC地址修改为第二用户设备的MAC地址,通过单播数据传输方式发送给第二用户设备。
12.根据权利要求10或11所述的方法,其特征在于,在所述第一转发面设备接收所述控制器发送的转发规则之前,所述方法还包括:
所述第一转发面设备接收所述控制器发送的指示信息;
根据所述指示信息检测是否接收到所述第一用户设备发送的组播协议报文,或者,所述第一用户设备发送的组播协议报文和第二用户设备发送的组播协议报文;
当接收到所述组播协议报文时,向上游节点转发所述组播协议报文。
13.根据权利要求12所述的方法,其特征在于,当接收到所述组播协议报文时,所述方法还包括:
所述第一转发面设备向所述控制器上报第一用户设备和第二用户设备加入多播组的信息。
14.一种通信装置,其特征在于,所述装置包括:
接收单元,用于接收第一用户设备加入多播组的信息;
确定单元,用于根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息;
第一生成单元,用于生成转发规则;所述转发规则具体为:将所述第一转发面设备或与所述第一转发面设备相连接的第二转发面设备接收到的组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备;其中,所述组播报文的目的地址为所述多播组的组播地址;
发送单元,用于将所述转发规则发送给所述第一转发面设备或者第二转发面设备。
15.根据权利要求14所述的装置,其特征在于,在所述接收单元接收第一用户设备加入多播组的信息之前,所述发送单元还用于:
向所述第一转发面设备发送指示信息,用以所述第一转发面设备根据所述指示信息检测所述第一转发面设备是否接收到第一用户设备发送的组播协议报文。
16.根据权利要求15所述的装置,其特征在于,所述接收单元具体用于:
当所述第一转发面设备检测接收到所述组播协议报文时,接收所述第一转发面设备上报的第一用户设备加入多播组的信息。
17.根据权利要求14-16任一权项所述的装置,其特征在于,所述第一用户设备加入多播组的信息包括:所述第一用户设备的MAC地址和所述多播组的组播IP地址;所述确定单元具体用于:
根据所述第一用户设备加入多播组的信息解析得到所述第一用户设备的MAC地址和所述多播组的组播IP地址,并且根据所述第一用户设备加入多播组的信息得到所述第一转发面设备的信息。
18.根据权利要求14所述的装置,其特征在于,所述接收单元具体用于:
接收应用服务器发送的消息;所述消息中包括所述第一用户设备加入多播组的信息。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括认证单元和第二生成单元;
在所述接收单元接收应用服务器发送的消息之前,所述认证单元用于认证授权第一用户设备;所述第二生成单元,用于生成用户上下文,所述用户上下文包括:所述第一用户设备连接的所述第一转发面设备的信息,所述第一用户设备的IP地址和所述第一用户设备的MAC地址。
20.根据权利要求19所述的装置,其特征在于,所述第一用户设备加入多播组的信息包括:所述第一用户设备的IP地址和所述多播组的IP地址;所述确定单元具体用于:
根据所述信息解析得到所述第一用户设备的IP地址和所述多播组的IP地址,根据所述第一用户设备的IP地址,确定所述第一用户设备对应的用户上下文,在所述用户上下文中查找确定所述第一用户设备的MAC地址,并根据所述用户上下文确定所述第一转发面设备的信息。
21.根据权利要求14-16任一权项所述的装置,其特征在于,
所述接收单元还用于,接收第二用户设备加入所述多播组的信息;
所述确定单元还用于,根据所述第二用户设备加入所述多播组的信息确定第二用户设备的MAC地址、所述多播组的组播地址和与所述第二用户设备相连接的第一转发面设备的信息;其中,所述与第二用户设备相连接的第一转发面设备,同与第一用户设备相连接的第一转发面设备为同一转发面设备;
所述第一生成单元还用于,修改所述转发规则;所述修改后的转发规则具体为:根据所述第一转发面设备中加入同一所述多播组的用户设备的数量,将所述第一转发面设备或第二转发面设备接收到的组播报文进行复制,将复制得到的第一报文的目的MAC地址修改为第一用户设备的MAC地址,通过单播数据传输方式发送给第一用户设备;并且,将复制得到的第二报文的目的MAC地址修改为第二用户设备的MAC地址,通过单播数据传输方式发送给第二用户设备;
所述发送单元还用于,将修改后的转发规则发送给所述第一转发面设备或第二转发面设备。
22.根据权利要求14-16任一所述的装置,其特征在于,所述第一转发面设备为AP,所述第二转发面设备为与所述AP直连的交换机;
当所述AP具有针对以太网报文的可编程能力时,所述发送单元具体用于,将所述转发规则发送给所述AP;
当所述AP不具有针对以太网报文的可编程能力时,所述发送单元具体用于,将所述转发规则发送给与所述AP直连的所述交换机。
23.一种转发面设备,其特征在于,所述转发面设备包括:
发送单元,用于向控制器上报第一用户设备加入组播的信息;
接收单元,用于接收控制器发送的转发规则;
所述接收单元还用于,接收上游节点转发的组播报文;
处理单元,用于根据所述转发规则将所述组播报文的目的MAC地址修改为第一用户设备的MAC地址;
所述发送单元还用于将处理后的组播报文通过单播数据传输方式发送给第一用户设备。
24.根据权利要求23所述的转发面设备,其特征在于,所述处理单元还用于:
根据所述转发规则,对所述组播报文进行复制,得到第一报文和第二报文;
将所述第一报文的目的MAC地址修改为第一用户设备的MAC地址,通过所述发送单元以单播数据传输方式发送给第一用户设备;并且,将所述第二报文的目的MAC地址修改为第二用户设备的MAC地址,通过所述发送单元以单播数据传输方式发送给第二用户设备。
25.根据权利要求23或24所述的转发面设备,其特征在于,所述转发面设备为AP,或者与所述AP直连的交换机。
26.根据权利要求25所述的转发面设备,其特征在于,当所述转发面设备为AP时,所述AP还包括检测单元;
在接收所述控制器发送的转发规则之前,
所述接收单元还用于,接收所述控制器发送的指示信息;
所述检测单元用于,根据所述指示信息检测是否接收到所述第一用户设备发送的组播协议报文,或者,所述第一用户设备发送的组播协议报文和第二用户设备发送的组播协议报文;
当接收到所述组播协议报文时,所述发送单元还用于,向上游节点转发所述组播协议报文。
27.根据权利要求26所述的转发面设备,其特征在于,当接收到所述组播协议报文时,所述发送单元还用于,向所述控制器上报第一用户设备和第二用户设备加入多播组的信息。
28.一种控制器,其特征在于,所述控制器包括:
网络接口;
处理器;
存储器;
物理存储在所述存储器中的应用程序,所述应用程序包括可用于使所述处理器执行以下过程的指令:
接收第一用户设备加入多播组的信息;
根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的转发面设备的信息;
生成转发规则;所述转发规则具体为:将第一转发面设备或与所述第一转发面设备相连接的第二转发面设备接收到的组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备;其中,所述组播报文的目的地址为所述多播组的组播地址;
将所述转发规则发送给所述第一转发面设备或者第二转发面设备。
29.根据权利要求28所述的控制器,其特征在于,在所述控制器接收第一用户设备加入多播组的信息之前,所述应用程序还包括可用于使所述处理器执行以下过程的指令:
所述控制器向所述第一转发面设备发送指示信息,用以所述第一转发面设备根据所述指示信息检测所述第一转发面设备是否接收到第一用户设备发送的组播协议报文。
30.根据权利要求29所述的控制器,其特征在于,所述应用程序可用于使所述处理器执行接收第一用户设备加入多播组的信息的指令为:
当所述第一转发面设备检测接收到所述组播协议报文时,所述控制器接收所述第一转发面设备上报的第一用户设备加入多播组的信息。
31.根据权利要求28-30任一权项所述的控制器,其特征在于,所述第一用户设备加入多播组的信息包括:所述第一用户设备的MAC地址和所述多播组的组播IP地址;所述应用程序可用于使所述处理器执行根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息的指令为:
根据所述第一用户设备加入多播组的信息解析得到所述第一用户设备的MAC地址和所述多播组的组播IP地址,并且根据所述第一用户设备加入多播组的信息得到所述第一转发面设备的信息。
32.根据权利要求28所述的控制器,其特征在于,所述应用程序可用于使所述处理器执行接收第一用户设备加入多播组的信息的指令为:
接收应用服务器发送的消息;所述消息中包括所述第一用户设备加入多播组的信息。
33.根据权利要求32所述的控制器,其特征在于,在所述控制器接收应用服务器发送的消息之前,所述应用程序还包括可用于使所述处理器执行以下过程的指令:
认证授权所述第一用户设备,并生成用户上下文,所述用户上下文包括:所述第一用户设备连接的所述第一转发面设备的信息,所述第一用户设备的IP地址和所述第一用户设备的MAC地址。
34.根据权利要求33所述的控制器,其特征在于,所述第一用户设备加入多播组的信息包括:所述第一用户设备的IP地址和所述多播组的IP地址;所述应用程序可用于使所述处理器执行根据所述第一用户设备加入多播组的信息,确定第一用户设备的MAC地址、所述多播组的组播地址和与所述第一用户设备相连接的第一转发面设备的信息的指令为:
根据所述信息解析得到所述第一用户设备的IP地址和所述多播组的IP地址,根据所述第一用户设备的IP地址,确定所述第一用户设备对应的用户上下文,在所述用户上下文中查找确定所述第一用户设备的MAC地址,并根据所述用户上下文确定所述第一转发面设备的信息。
35.根据权利要求28-30任一权项所述的控制器,其特征在于,在所述生成转发规则之后,所述应用程序还包括可用于使所述处理器执行以下过程的指令:
控制器接收第二用户设备加入所述多播组的信息;
根据所述第二用户设备加入所述多播组的信息确定第二用户设备的MAC地址、所述多播组的组播地址和与所述第二用户设备相连接的第一转发面设备的信息;其中,所述与第二用户设备相连接的第一转发面设备,同与第一用户设备相连接的第一转发面设备为同一转发面设备;
修改所述转发规则,所述修改后的转发规则具体为:根据所述第一转发面设备中加入同一所述多播组的用户设备的数量,将所述第一转发面设备或第二转发面设备接收到的组播报文进行复制,将复制得到的第一报文的目的MAC地址修改为第一用户设备的MAC地址,通过单播数据传输方式发送给第一用户设备;并且,将复制得到的第二报文的目的MAC地址修改为第二用户设备的MAC地址,通过单播数据传输方式发送给第二用户设备;
将修改后的转发规则发送给所述第一转发面设备或第二转发面设备。
36.根据权利要求28-30任一权项所述的控制器,其特征在于,所述第一转发面设备为AP,所述第二转发面设备为与所述AP直连的交换机;所述将所述转发规则发送给所述第一转发面设备,或者发送给与所述第一转发面设备相连接的第二转发面设备的指令具体为:
当所述AP具有针对以太网报文的可编程能力时,将所述转发规则发送给所述AP;
当所述AP不具有针对以太网报文的可编程能力时,将所述转发规则发送给与所述AP直连的所述交换机。
37.一种转发面设备,其特征在于,所述转发面设备包括:
网络接口;
处理器;
存储器;
物理存储在所述存储器中的应用程序,所述应用程序包括可用于使所述处理器执行以下过程的指令:
向控制器上报第一用户设备加入组播的信息;
接收控制器发送的转发规则;
接收上游节点转发的组播报文;
根据所述转发规则将所述组播报文的目的MAC地址修改为第一用户设备的MAC地址,并通过单播数据传输方式发送给第一用户设备。
38.根据权利要求37所述的转发面设备,其特征在于,在所述接收上游节点转发的组播报文之后,所述应用程序还包括可用于使所述处理器执行以下过程的指令:
根据所述转发规则,对所述组播报文进行复制,得到第一报文和第二报文;
将所述第一报文的目的MAC地址修改为第一用户设备的MAC地址,通过单播数据传输方式发送给第一用户设备;并且,将所述第二报文的目的MAC地址修改为第二用户设备的MAC地址,通过单播数据传输方式发送给第二用户设备。
39.根据权利要求37或38所述的转发面设备,其特征在于,所述转发面设备为AP,或者为与所述AP直连的交换机;
其中,当所述AP具有针对以太网报文的可编程能力时,所述转发面设备为所述AP;
当所述AP不具有针对以太网报文的可编程能力时,所述转发面设备为与所述AP直连的所述交换机。
40.根据权利要求39所述的转发面设备,其特征在于,当所述转发面设备为AP时,在所述转发面设备接收第一用户设备发送的组播协议报文之前,所述应用程序还包括可用于使所述处理器执行以下过程的指令:
接收所述控制器发送的指示信息;
根据所述指示信息检测是否接收到所述第一用户设备发送的组播协议报文,或者,所述第一用户设备发送的组播协议报文和第二用户设备发送的组播协议报文;
当接收到所述组播协议报文时,向上游节点转发所述组播协议报文。
41.根据权利要求40所述的转发面设备,其特征在于,当接收到所述组播协议报文时,所述应用程序还包括可用于使所述处理器执行以下过程的指令:
向所述控制器上报第一用户设备和第二用户设备加入多播组的信息。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/088846 WO2016058185A1 (zh) | 2014-10-17 | 2014-10-17 | 一种通信方法、装置、控制器和转发面设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105723664A CN105723664A (zh) | 2016-06-29 |
CN105723664B true CN105723664B (zh) | 2019-06-21 |
Family
ID=55745993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480024328.5A Active CN105723664B (zh) | 2014-10-17 | 2014-10-17 | 一种通信方法、装置、控制器和转发面设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105723664B (zh) |
WO (1) | WO2016058185A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106792800B (zh) * | 2016-11-29 | 2020-12-22 | 义乌市智享通讯设备有限公司 | 一种多协议控制方法及用于多协议控制的ap装置 |
CN108512758B (zh) * | 2018-03-07 | 2021-09-14 | 华为技术有限公司 | 报文处理方法、控制器以及转发设备 |
CN111400215A (zh) * | 2019-01-08 | 2020-07-10 | 深圳市慎勇科技有限公司 | 一种基于级联父节点选通的总线地址分配和通信方法 |
CN110022590B (zh) * | 2019-04-15 | 2021-03-16 | 上海未瞳信息技术有限公司 | 一种基于局域网集中管理的无线接入点注册系统 |
CN112153599B (zh) * | 2020-09-22 | 2023-03-24 | 中信科智联科技有限公司 | 一种消息的传输方法、装置、车联网设备及管理节点 |
CN112688849B (zh) * | 2020-12-25 | 2022-06-24 | 京信网络系统股份有限公司 | 基于流分类的QinQ配置方法、装置、介质和通信设备 |
CN113660127B (zh) * | 2021-08-19 | 2024-02-20 | 广东九联科技股份有限公司 | 基于EasyMesh组网中的组网控制方法、装置及设备 |
CN116709212B (zh) * | 2023-08-09 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051920A (zh) * | 2006-04-07 | 2007-10-10 | 华为技术有限公司 | 一种组播业务的实现方法和网络设备 |
CN101707568A (zh) * | 2009-12-07 | 2010-05-12 | 中兴通讯股份有限公司 | 用户组播业务的控制方法和系统及组播主控设备 |
CN101917670A (zh) * | 2010-05-20 | 2010-12-15 | 中兴通讯股份有限公司 | 一种无线组播数据的传输方法及系统 |
CN102547583A (zh) * | 2010-12-17 | 2012-07-04 | 上海贝尔股份有限公司 | 无线局域网系统中组播业务传送控制方法、装置及系统 |
CN102594650A (zh) * | 2011-01-10 | 2012-07-18 | 中兴通讯股份有限公司 | 处理多播报文的方法和交换接入装置 |
CN103346969A (zh) * | 2013-07-05 | 2013-10-09 | 中国科学院计算机网络信息中心 | 基于OpenFlow实现动态组播生成树路径调整的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3888209B2 (ja) * | 2002-04-17 | 2007-02-28 | 株式会社日立製作所 | マルチキャスト通信装置およびシステム |
CN101702672A (zh) * | 2009-11-04 | 2010-05-05 | 华为技术有限公司 | 组播数据报文转发方法和转发装置 |
CN101945342A (zh) * | 2010-09-10 | 2011-01-12 | 深圳市共进电子有限公司 | 用户端设备及其无线组播转单播业务的实现方法 |
-
2014
- 2014-10-17 WO PCT/CN2014/088846 patent/WO2016058185A1/zh active Application Filing
- 2014-10-17 CN CN201480024328.5A patent/CN105723664B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051920A (zh) * | 2006-04-07 | 2007-10-10 | 华为技术有限公司 | 一种组播业务的实现方法和网络设备 |
CN101707568A (zh) * | 2009-12-07 | 2010-05-12 | 中兴通讯股份有限公司 | 用户组播业务的控制方法和系统及组播主控设备 |
CN101917670A (zh) * | 2010-05-20 | 2010-12-15 | 中兴通讯股份有限公司 | 一种无线组播数据的传输方法及系统 |
CN102547583A (zh) * | 2010-12-17 | 2012-07-04 | 上海贝尔股份有限公司 | 无线局域网系统中组播业务传送控制方法、装置及系统 |
CN102594650A (zh) * | 2011-01-10 | 2012-07-18 | 中兴通讯股份有限公司 | 处理多播报文的方法和交换接入装置 |
CN103346969A (zh) * | 2013-07-05 | 2013-10-09 | 中国科学院计算机网络信息中心 | 基于OpenFlow实现动态组播生成树路径调整的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2016058185A1 (zh) | 2016-04-21 |
CN105723664A (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105723664B (zh) | 一种通信方法、装置、控制器和转发面设备 | |
US9998517B2 (en) | System and method for end-to-end RTCP | |
US10111053B2 (en) | Overlaying virtual broadcast domains on an underlying physical network | |
US11050657B2 (en) | Method, device and node for message transmission, and computer storage medium | |
CN106210157B (zh) | 抑制地址解析协议消息的方法与系统、控制器 | |
US20140348068A1 (en) | Multiplexing Core Networks in RAN Sharing | |
CN111294236B (zh) | 基于业务功能链sfc的通信方法和装置 | |
US20150381418A1 (en) | Remote Orchestration of Virtual Machine Updates | |
EP2942905A1 (en) | Method and device for registering multicast source and establishing multicast path | |
US20220182321A1 (en) | Apparatus, method and computer program for group communication | |
US11736962B2 (en) | Methods, apparatus and computer-readable mediums relating to configuration of redundant paths | |
CN106357542B (zh) | 提供组播业务的方法和软件定义网络控制器 | |
CN114731331B (zh) | 时间敏感网络中的有效多点传输 | |
CN107124366A (zh) | 一种实现服务质量控制的方法、装置及系统 | |
CN109618120A (zh) | 视频会议的处理方法和装置 | |
US20150002616A1 (en) | Apparatus and method for processing multicast traffic in openflow environment | |
CN105992167A (zh) | 长期演进lte集群组播的实现方法及装置 | |
CN102571375B (zh) | 组播转发方法、装置及网络设备 | |
CN110505430A (zh) | 一种会议控制的方法和装置 | |
Trick | 5G: An Introduction to the 5th Generation Mobile Networks | |
WO2015144196A1 (en) | Solution for critical communication security based on mbms security | |
WO2023079340A1 (en) | Method, apparatus, and computer program product for local bridging using a multiport device | |
CN104579959B (zh) | 在mpls网络中建立sdn流的标签交换路径的方法和设备 | |
US9191518B2 (en) | Routing system for transferring data packets of a call | |
CN104811386A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |