本发明涉及通信技术领域,具体而言,涉及一种端口隔离方法及装置。
背景技术:
在现有技术中,同一端口隔离组中的各个端口是相互隔离的。当同一端口隔离组中的两个前端设备需要进行单播通信时,服务器会判断两个需要进行单播通信的前端设备是否连接于同一层交换机,当连接于同一层交换机时,通知该交换机将需要进行单播通信的其中一个前端设备端口从所述端口隔离组中移除,以实现两个前端设备的单播通信。然而,此时所有其他未移出端口隔离组的前端设备发出的组播都要冲击被移出端口隔离组的前端设备,同样地,被移出端口隔离组的前端设备发出的组播也将冲击所有还在端口隔离组中的前端设备。
技术实现要素:
为了克服现有技术中的上述不足,本发明目的在于提供一种只禁止组播的端口隔离方法及装置,其能够实现端口隔离组中的前端设备既可以组播隔离也可以进行单播通信。
为了实现上述目的,本发明实施例采用的技术方案如下:
本发明较佳实施例提供一种端口隔离方法,应用于监控系统,所述监控系统包括相互之间通信连接的前端设备、交换机及服务器,所述交换机包括由连接所述前端设备的多个端口组成的端口隔离组,所述方法包括:
所述服务器接收第一目标前端设备与第二目标前端设备进行单播业务的请求,当所述第一目标前端设备与第二目标前端设备在同一端口隔离组时,向同一端口隔离组所在的目标交换机发送单播转发表项生成指令;
所述目标交换机根据所述单播转发表项生成指令,生成所述第一目标前端设备与第二目标前端设备的单播MAC转发表项;
所述服务器通知所述第一目标前端设备与第二目标前端设备分别生成对方的ARP表项,以使所述第一目标前端设备与所述第二目标前端设备进行单播通信。
本发明较佳实施例还提供一种端口隔离装置,应用于与前端设备和交换机通信连接的服务器,所述交换机包括由连接所述前端设备的多个端口组成的端口隔离组,所述装置包括:
单播转发表项生成模块,用于接收第一目标前端设备与第二目标前端设备进行单播业务的请求,当所述第一目标前端设备与第二目标前端设备在同一端口隔离组时,向同一端口隔离组所在的目标交换机发送单播转发表项生成指令,以使所述目标交换机根据所述单播转发表项生成指令,生成所述第一目标前端设备与第二目标前端设备的单播MAC转发表项;
单播通信模块,用于通知所述第一目标前端设备与第二目标前端设备分别生成对方的ARP表项,以使所述第一目标前端设备与所述第二目标前端设备进行单播通信。
本发明较佳实施例还提供一种端口隔离装置,应用于与前端设备和服务器通信连接的交换机,所述交换机包括由连接所述前端设备的多个端口组成的端口隔离组,所述装置包括:
指令接收模块,用于接收所述服务器在接收第一目标前端设备与第二目标前端设备进行单播业务的请求,且所述第一目标前端设备与第二目标前端设备在同一交换机的端口隔离组时,发送的单播转发表项生成指令;
生成模块,用于根据所述单播转发表项生成指令,生成所述第一目标前端设备与第二目标前端设备的单播MAC转发表项,以使所述服务器通知所述第一目标前端设备与第二目标前端设备分别生成对方的ARP表项,以实现所述第一目标前端设备与所述第二目标前端设备的单播通信。
相对于现有技术而言,本发明具有以下有益效果:
本发明提供的端口隔离方法及装置,当第一目标前端设备与第二目标前端设备在同一端口隔离组中需要进行单播通信时,通过所述服务器通知目标交换机生成所述第一目标前端设备和所述第二目标前端设备的更高优先级的单播MAC转发表项,通知所述第一目标前端设备和所述第二目标前端设备分别生成对方的ARP表项,使得在同一端口隔离组中的所述第一目标前端设备和所述第二目标前端设备之间既能进行单播通信,也能进行组播隔离。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明较佳实施例提供的监控系统的交互示意图;
图2为本发明较佳实施例提供的服务器的结构框图;
图3为本发明较佳实施例提供的交换机的结构框图;
图4为本发明较佳实施例提供的前端设备的结构框图;
图5为本发明较佳实施例提供的端口隔离方法的一种流程示意图;
图6为图5中步骤S110的子步骤的流程示意图;
图7为本发明较佳实施例提供的端口隔离方法的另一种流程示意图;
图8为图7中步骤S109的子步骤的流程示意图;
图9为7中步骤S130的子步骤的流程示意图;
图10为本发明较佳实施例提供的另一种端口隔离方法的流程示意图;
图11为本发明较佳实施例提供的另一种端口隔离方法的流程示意图;
图12为本发明较佳实施例提供的第一端口隔离装置的功能模块图;
图13为图12中的单播转发表项生成模块的子模块的功能模块图;
图14为本发明较佳实施例提供的第一端口隔离装置的另一种功能模块;
图15为本发明较佳实施例提供的第二端口隔离装置的功能模块图。
图标:10-监控系统;20-第一端口隔离装置;22-单播转发表项生成模块;222-查询子模块;224-发送子模块;24-单播通信模块;25-接收模块;26-发送模块;30-第二端口隔离装置;32-指令接收模块;34-生成模块;100-服务器;200-交换机;300-前端设备;110-第一存储器;120-第一处理器;130-第一通信单元;140-监控单元;210-第二存储器;220-第二处理器;230-第二通信单元;310-第三存储器;320-第三处理器;330-第三通信单元。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1是本发明较佳实施例提供的监控系统10的交互示意图,所述监控系统10包括相互之间通信连接的服务器100、交换机200及前端设备300。
请参阅图2,所述服务器100包括第一存储器110、第一处理器120、第一通信单元130、监控单元140。
所述服务器100可以是视频管理服务器,用于向所述交换机200和所述前端设备300发送控制指令。
所述第一存储器110、第一处理器120、第一通信单元130及监控单元140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。第一存储器110中存储有第一端口隔离装置20,所述第一端口隔离装置20包括至少一个可以软件或固件(Firmware)的形式存储于所述第一存储器110中的软件功能模块,所述第一处理器120通过运行存储在第一存储器110内的软件程序以及模块,如本发明实施例中的第一端口隔离装置20,从而执行各种功能应用以及数据处理,即实现本发明实施例中的端口隔离方法。
所述第一存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,第一存储器110用于存储程序,所述第一处理器120在接收到执行指令后,执行所述程序。
所述第一处理器120可以是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DSP))、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述第一通信单元130用于与所述交换机200和前端设备300建立连接,从而实现所述服务器100与所述交换机200和前端设备300之间的数据通信。
所述监控单元140可以用于通过所述第一通信单元130下发控制指令给所述交换机200和所述前端设备300。
请参阅图3,在本实施例中,所述交换机200设置有多个用于连接前端设备300以及客户端的通信端口。所述交换机200包括第二存储器210、第二处理器220及第二通信单元230。
所述第二存储器210、第二处理器220及第二通信单元230各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。第二存储器210中存储有第二端口隔离装置30,所述第二端口隔离装置30包括至少一个可以软件或固件(Firmware)的形式存储于所述第二存储器210中的软件功能模块,所述第二处理器220通过运行存储在第二存储器210内的软件程序以及模块,如本发明实施例中的第二端口隔离装置30,从而执行各种功能应用以及数据处理,即实现本发明实施例中的端口隔离方法。
所述第二存储器210与所述第一存储器110结构功能相同,在此不再赘述。其中,所述第二存储器210存储有程序,所述第二处理器220在接收到执行指令时执行所述程序。
所述第二处理器220与所述第一处理器120结构功能相同,在此不再赘述。
所述第二通信单元230用于与所述服务器100和前端设备300建立连接,从而实现所述交换机200与服务器100和前端设备300之间的数据通信。
请参阅图4,所述前端设备300可以是,但不限于IPC、编码器等编码设备。所述前端设备300包括第三存储器310、第三处理器320以及第三通信单元330。
所述第三存储器310、第三处理器320以及第三通信单元330各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
所述第三存储器310与第一存储器110结构功能相同,在此不再赘述。其中,所述第三存储器310存储有程序时,所述第三处理器320在接收到执行指令时执行所述程序。
所述第三处理器320与第一处理器120结构功能相同,在此不再赘述。
所述第三通信单元330用于与所述交换机200及服务器100建立连接,从而实现所述前端设备300与所述交换机200及服务器100之间的数据通信。
请参阅图5,图5为本发明较佳实施例提供的端口隔离方法的一种流程示意图,所述方法应用于监控系统10,所述监控系统10包括相互之间通信连接的服务器100、交换机200及前端设备300,所述交换机200由连接所述前端设备300的多个端口组成的端口隔离组。所述方法的具体流程如下:
步骤S110,所述服务器100接收第一目标前端设备与第二目标前端设备进行单播业务的请求,当所述第一目标前端设备与第二目标前端设备在同一端口隔离组时,向同一端口隔离组所在的目标交换机发送单播转发表项生成指令。
具体地,请参阅图6,所述步骤S110包括子步骤S111和子步骤S112。所述子步骤的具体流程如下:
子步骤S111,查询所述第一目标前端设备接入交换机200的端口信息与所述第二目标前端设备接入交换机200的端口信息。
子步骤S112,当所述第一目标前端设备接入交换机200的端口信息与所述第二目标前端设备接入交换机200的端口信息为同一交换机200下的端口信息时,判定所述第一目标前端设备与第二目标前端设备在同一端口隔离组,并向同一端口隔离组所在的目标交换机发送单播转发表项指令。
在本实施例中,所述服务器100的监控单元140能够对所述前端设备300进行实时监控,当监控到客户发起前端设备300中的第一目标前端设备与第二目标前端设备的单播业务时,判断所述第一目标前端设备与所述第二目标前端设备是否在同一个端口隔离组。具体地,查询所述第一目标前端设备接入交换机200的端口信息与所述第二目标前端设备接入交换机200的端口信息:当所述第一目标前端设备接入交换机200的端口信息与所述第二目标前端设备接入交换机200的端口信息为同一交换机200下的端口信息时,判定所述第一目标前端设备与第二目标前端设备在同一端口隔离组,则所述第一目标前端设备与第二目标前端设备连接于同一台交换机200,即是目标交换机。此时所述服务器100通过所述第一通信单元130向该目标交换机发送单播转发表项生成指令;当所述第一目标前端设备接入交换机200的端口信息与所述第二目标前端设备接入交换机200的端口信息不是同一交换机200下的端口信息时,所述第一目标前端设备与第二目标前端设备不在同一端口隔离组,则所述第一目标前端设备与所述第二目标前端设备没有进行组播隔离,能够直接进行单播通信。
请参阅图7,所述方法还包括步骤S109,创建端口隔离组。
具体地,请参阅图8,所述步骤S109包括子步骤S1091、子步骤S1092和子步骤S1093。所述子步骤的具体流程如下:
子步骤S1091,所述服务器100获取交换机200查询到的预发送组播报文的前端设备300信息。
子步骤S1092,根据获取的所述前端设备300信息获取连接所述前端设备300的交换机200的端口信息。
子步骤S1093,根据所述端口信息通知交换机200将所述交换机200中所有连接前端设备300的端口加入端口隔离组。
具体地,所述服务器100与多个交换机200通信连接,每个交换机200与多个前端设备300和客户端通信连接。当前端设备300接入交换机200时,所述前端设备300向所述服务器100发送注册报文。所述注册报文中包括有所述交换机200的IP地址和该前端设备300接入的交换机200的端口信息,其中,所述前端设备300接入所述交换机200时,所述交换机200将所述端口信息添加到所述注册报文IP头option字段中,同时,所述交换机200在所述注册报文IP头option字段中添加所述前端设备300的MAC信息。所述服务器100接收到所述注册报文,从所述注册报文中解析并记录所述交换机200的IP地址和该前端设备300接入的交换机200的端口信息。通过重复上述步骤,可将所有前端设备300连接的交换机200的IP地址以及前端设备300与交换机200连接的相应的端口信息记录在所述服务器100中,方便后续监控。
在本实施例中,当前端设备300需要给客户端发送组播时,所述服务器100获取到所述预发送组播报文的前端设备300的信息,再根据上述记录的交换机200的IP信息和前端设备300接入交换机200的端口信息,查询到预发送组播报文的前端设备300接入的交换机200及该交换机200上所有接入前端设备300的端口信息。通过查询到的上述信息将该交换机200上所有接入前端设备300的端口加入端口隔离组,如此,可避免该前端设备300的组播流量冲击端口隔离组内其它的前端设备300。
请再次参阅图7,步骤S120,所述目标交换机根据所述单播转发表项生成指令,生成所述第一目标前端设备与第二目标前端设备的单播MAC转发表项。
具体地,所述服务器100发送的单播转发表项生成指令中包括有需要进行单播通信的第一目标前端设备和第二目标前端设备的信息。与所述第一目标前端设备和所述第二目标前端设备连接的目标交换机在接收到所述单播转发表项生成指令后,生成所述第一目标前端设备和所述第二目标前端设备的单播MAC转发表项。所述单播MAC表项中包括有所述第一目标前端设备的MAC地址和端口信息以及所述第二目标前端设备的MAC地址和端口信息。
步骤S130,所述服务器100通知所述第一目标前端设备与第二目标前端设备分别生成对方的ARP表项,以使所述第一目标前端设备与所述第二目标前端设备进行单播通信。
具体地,请参阅图9,所述步骤S130包括子步骤S131、子步骤S132和子步骤S133。所述子步骤的具体流程如下:
子步骤S131,所述第一目标前端设备与所述第二目标前端设备分别获取对方的IP地址。
具体地,所述服务器100将所述第二目标前端设备的MAC地址和IP地址通知给所述第一目标前端设备,所述第一目标前端设备获取上述信息,生成所述第二目标前端设备的APR表项。同样地,所述服务器100将所述第一目标前端设备的MAC地址和IP地址通知给所述第二目标前端设备,所述第二目标前端设备获取上述信息,生成所述第一目标前端设备的APR表项。
子步骤S132,所述第一目标前端设备根据存储的ARP表项获得报文的地址信息,并将所述报文的地址信息发送给所述目标交换机。
当所述第一目标前端设备需要和所述第二目标前端设备进行单播通信时,所述第一目标前端设备根据本地存储的ARP表项获取到发送报文的地址信息,所述地址信息包括所述第二目标前端设备的IP地址和所述第二目标前端设备的MAC地址,并将上述地址信息通过第三通信单元330发送至目标交换机。
子步骤S133,所述目标交换机判断所述报文的类型,当所述报文为单播报文时,实现所述第一目标前端设备与所述第二目标前端设备之间的单播通信。
具体地,将所述第一目标前端设备的MAC地址及所述第二目标前端设备的MAC地址与所述单播MAC转发表项的内容进行匹配:当匹配成功时,则所述报文为单播报文。所述单播报文从所述第一目标前端设备经由所述目标交换机发送到所述第二目标前端设备;当匹配失败时,则判定所述第一目标前端设备和第二目标前端设备发送的是组播报文,按照端口隔离组规则所述第一目标前端设备和所述第二目标前端设备任然相互隔离,不能进行组播通信。
请再次参阅图7,所述方法还包括:
步骤S140,所述服务器100接收将所述第一目标前端设备与所述第二目标前端设备的单播业务取消的请求。
当所述第一目标前端设备与所述第二目标前端设备单播通信结束时,则向所述服务器100发起单播业务取消请求。
步骤S150,所述服务器100向所述交换机200发送删除单播MAC转发表项的指令。
所述服务器100向与所述第一目标前端设备和所述第二目标前端设备连接的交换机200发送删除单播MAC转发表项的指令。
步骤S160,所述交换机200在接收到所述删除单播MAC转发表项的指令后,将所述单播MAC转发表项进行删除。
在本实施例的一种实施方式中,所述交换机200在在接收到所述删除单播MAC转发表项的指令后,将所述单播MAC转发表项进行删除的同时,也可以将所述第一目标前端设备和所述第二目标前端设备生成的ARP表项进行删除。
请参阅图10,图10为本发明较佳实施例提供的另一种端口隔离方法的流程示意图,所述方法应用于与前端设备300和交换机200通信连接的服务器100,所述交换机200由连接所述前端设备300的多个端口组成的端口隔离组。所述方法的具体流程如下:
步骤S210,所述服务器100接收第一目标前端设备与第二目标前端设备进行单播业务的请求,当所述第一目标前端设备与第二目标前端设备在同一端口隔离组时,向同一端口隔离组所在的目标交换机发送单播转发表项生成指令,以使所述目标交换机根据所述单播转发表项生成指令,生成所述第一目标前端设备与第二目标前端设备的单播MAC转发表项;
步骤S220,所述服务器100通知所述第一目标前端设备与第二目标前端设备分别生成对方的ARP表项,以使所述第一目标前端设备与所述第二目标前端设备进行单播通信。
请参阅图11,图11为本发明较佳实施例提供的另一种端口隔离方法的流程示意图,所述方法应用于与服务器100和前端设备300通信连接的交换机200,所述交换机200由连接所述前端设备300的多个端口组成的端口隔离组。所述方法包括:
所述交换机200接收所述服务器100在接收第一目标前端设备与第二目标前端设备进行单播业务的请求,且所述第一目标前端设备与第二目标前端设备在同一交换机200的端口隔离组时,发送的单播转发表项生成指令;
根据所述单播转发表项生成指令,生成所述第一目标前端设备与第二目标前端设备的单播MAC转发表项,以使所述服务器100通知所述第一目标前端设备与第二目标前端设备分别生成对方的ARP表项,以实现所述第一目标前端设备与所述第二目标前端设备的单播通信。
请参阅图12,图12为本发明较佳实施例提供的第一端口隔离装置20的功能模块图,所述第一端口隔离装置20应用于与交换机200和前端设备300通信连接的服务器100,所述交换机200由连接所述前端设备300的多个端口组成的端口隔离组。所述第一端口隔离装置20包括:
单播转发表项生成模块22,用于接收第一目标前端设备与第二目标前端设备进行单播业务的请求,当所述第一目标前端设备与第二目标前端设备在同一端口隔离组时,向同一端口隔离组所在的目标交换机发送单播转发表项生成指令,以使所述目标交换机根据所述单播转发表项生成指令,生成所述第一目标前端设备与第二目标前端设备的单播MAC转发表项。
所述单播转发表项生成模块22还包括:
查询子模块222,用于查询所述第一目标前端设备接入交换机200的端口信息与所述第二目标前端设备接入交换机200的端口信息。
发送子模块224,用于当所述第一目标前端设备接入交换机200的端口信息与所述第二目标前端设备接入交换机200的端口信息为同一交换机200下的端口信息时,判定所述第一目标前端设备与第二目标前端设备在同一端口隔离组,并向同一端口隔离组所在的目标交换机发送单播转发表项指令。
请再次参阅图12,单播通信模块24,用于所述服务器100通知所述第一目标前端设备与第二目标前端设备分别生成对方的ARP表项,以使所述第一目标前端设备与所述第二目标前端设备进行单播通信。
请参阅图14,所述第一端口隔离装置20还包括:
接收模块25,用于所述服务器100接收将所述第一目标前端设备与所述第二目标前端设备的单播业务取消的请求;
发送模块26,用于所述服务器100向所述交换机200发送删除单播MAC转发表项的指令,以使所述交换机200在接收到所述删除单播MAC转发表项的指令后,将所述单播MAC转发表项进行删除。
请参阅图15,图15为本发明较佳实施例提供的第二端口隔离装置30的功能模块图,所述第二端口隔离装置30应用于与服务器100和前端设备300通信连接的交换机200,所述交换机200由连接所述前端设备300的多个端口组成的端口隔离组。所述第二端口隔离装置30包括:
指令接收模块32,用于接收所述服务器100在接收第一目标前端设备与第二目标前端设备进行单播业务的请求,且所述第一目标前端设备与第二目标前端设备在同一交换机200的端口隔离组时,发送的单播转发表项生成指令;
生成模块34,用于根据所述单播转发表项生成指令,生成所述第一目标前端设备与第二目标前端设备的单播MAC转发表项以使所述服务器100通知所述第一目标前端设备与第二目标前端设备分别生成对方的ARP表项,以实现所述第一目标前端设备与所述第二目标前端设备的单播通信。
综上所述,本发明提供的端口隔离方法及装置,当第一目标前端设备与第二目标前端设备在同一端口隔离组中需要进行单播通信时,通过所述服务器100通知目标交换机生成所述第一目标前端设备和所述第二目标前端设备的更高优先级的单播MAC转发表项,通知所述第一目标前端设备和所述第二目标前端设备分别生成对方的ARP表项,使得在同一端口隔离组中的所述第一目标前端设备和所述第二目标前端设备之间既能进行单播通信,也能进行组播隔离。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。