一种通讯网络中的通讯环回故障检测方法和装置
技术领域
本发明涉及视联网技术领域,特别是涉及一种通讯网络中的通讯环回故障检测方法、一种通讯网络中的通讯环回故障检测装置,以及一种用于通讯网络中的通讯环回故障检测的交换机。
背景技术
目前,随着网络科技的快速发展,视频会议、视频教学等双向通信在用户的生活、工作、学习等方面广泛普及。在进行视频会议、视频教学等双向通信的通讯网络的网络架构中,通常以地域划分形成一个树状的实体网络,例如,在中心区域设置有一个中心服务器和中心交换机,然后中心交换机负责与多个归属不同区域的次级交换机进行通讯,次级交换机又连接多个通讯终端和次级服务器,从而通过各层级的交换机实现次级服务器、中心服务器、各通讯终端之间实现数据交互。
然而,申请人经研究发现,实际应用中可能由于人为错误将同一个通讯终端连接到多个交换机、或在注册通讯终端的MAC地址(物理地址)时输入错误造成不同的通讯终端使用相同的MAC地址等原因,导致该通讯网络发生通讯环回故障。当通讯网络发生通讯环回故障时,通讯终端之间、通讯终端和服务器之间可能会将数据传输至错误的对象,从而导致无法正常运行通讯业务。
发明内容
本发明实施例所要解决的技术问题是提供一种通讯网络中的通讯环回故障检测方法、一种通讯网络中的通讯环回故障检测装置、一种用于通讯网络中的通讯环回故障检测的交换机。
为了解决上述问题,本发明提供了一种通讯网络中的通讯环回故障检测方法,所述通讯网络包括至少一个交换机和多个通讯终端,所述交换机包括用于与所述通讯终端通讯的多个通讯接口,所述方法包括:
获取交换机的地址记录表;所述地址记录表对应保存有各通讯终端的物理地址和与各通讯终端通讯的通讯接口;
确定在所述地址记录日志中存在对应于不同通讯接口的同一个目标物理地址,并判定所述通讯网络当前存在通讯环回故障;
向所述目标物理地址指示的目标通讯终端发送通讯环回故障提示通知,以指示所述目标通讯终端与所述交换机暂停通讯。
可选地,所述方法还包括:
向所述交换机发送通讯环回故障提示通知,以指示所述交换机与所述目标通讯终端暂停通讯。
可选地,所述地址记录表包括更新的地址记录表,所述确定在所述地址记录日志中对应于不同通讯接口的同一个目标物理地址包括:
查找各物理地址在更新的地址记录表中所对应的通讯接口;
若某个物理地址对应有不同的通讯接口,将某个物理地址标记为所述目标物理地址。
可选地,所述地址记录表包括各个时间段的地址记录表,所述确定在所述地址记录日志中存在对应于不同通讯接口的同一个目标物理地址包括:
查找各物理地址在各个时间段的地址记录表中分别对应的通讯接口;
若某个物理地址分别对应的通讯接口不同,则将某个物理地址标记为所述目标物理地址。
可选地,所述获取交换机的地址记录表包括:
调用所述交换机的地址记录表上传功能模块,并指示所述地址记录表上传功能模块将所述地址记录表发送至通讯环回故障检测服务器。
可选地,所述获取交换机的地址记录表还包括:
当调用所述交换机的地址记录表上传功能模块失败,则调用本地的远程控制模块;
采用所述远程控制模块从所述交换机中提取所述地址记录表。
为了解决上述问题,本发明还提供了一种通讯网络中的通讯环回故障检测方法,所述方法应用于交换机,所述通讯网络包括至少一个交换机和多个通讯终端,所述交换机包括用于与所述通讯终端通讯的多个通讯接口,所述方法包括:
获取交换机的地址记录表;所述地址记录表对应保存有各通讯终端的物理地址与各通讯终端所访问的通讯接口;
确定在所述地址记录日志中存在对应于不同通讯接口的同一个目标物理地址,并判定所述通讯网络当前存在通讯环回故障;
向所述目标物理地址指示的目标通讯终端发送通讯环回故障提示通知,以指示所述目标通讯终端与所述交换机暂停通讯。
可选地,所述通讯终端包括数据发送终端和数据接收终端,所述通讯接口包括数据接收接口和数据发送接口,在所述获取交换机的地址记录表之前,所述方法还包括:
获取所述数据发送终端发送至所述数据接收接口的通讯数据;所述通讯数据携带所述数据发送终端和所述数据接收终端的物理地址;
根据所述数据接收终端的物理地址,采用所述数据发送接口将所述通讯数据发送至所述数据接收终端;
将所述数据发送终端和所述数据接收接口,以及,所述数据接收终端和所述数据发送接口,对应保存在所述地址记录表。
为了解决上述问题,本发明还提供了一种通讯网络中的通讯环回故障检测装置,所述通讯网络包括至少一个交换机和多个通讯终端,所述交换机包括用于与所述通讯终端通讯的多个通讯接口,所述装置包括:
地址记录表获取模块,用于获取交换机的地址记录表;所述地址记录表对应保存有各通讯终端的物理地址和与各通讯终端通讯的通讯接口;
故障判定模块,用于确定在所述地址记录日志中存在对应于不同通讯接口的同一个目标物理地址,并判定所述通讯网络当前存在通讯环回故障;
通知模块,用于向所述目标物理地址指示的目标通讯终端发送通讯环回故障提示通知,以指示所述目标通讯终端与所述交换机暂停通讯。
为了解决上述问题,本发明还提供了一种用于通讯网络中的通讯环回故障检测的交换机,所述通讯网络包括至少一个交换机和多个通讯终端,所述交换机包括用于与所述通讯终端通讯的多个通讯接口,所述交换机包括:
地址记录表获取模块,用于获取交换机的地址记录表;所述地址记录表对应保存有各通讯终端的物理地址和与各通讯终端通讯的通讯接口;
故障判定模块,用于确定在所述地址记录日志中存在对应于不同通讯接口的同一个目标物理地址,并判定所述通讯网络当前存在通讯环回故障;
通知模块,用于向所述目标物理地址指示的目标通讯终端发送通讯环回故障提示通知,以指示所述目标通讯终端与所述交换机暂停通讯。
与现有技术相比,本发明实施例包括以下优点:
根据本发明实施例,通过查找对应于不同通讯接口的同一个物理地址,判定当前存在通讯环回故障,并相应地暂停目标通讯终端与交换机进行通讯,从而避免因通讯环回故障引起的数据传输错误等通讯问题,保证了通讯网络的通讯业务可以正常运行。
附图说明
图1是本发明的一种视联网的组网示意图;
图2是本发明的一种节点服务器的硬件结构示意图;
图3是本发明的一种接入交换机的硬件结构示意图;
图4是本发明的一种以太网协转网关的硬件结构示意图;
图5是本发明实施例一的一种通讯网络中的通讯环回故障检测方法的步骤流程图;
图6是本发明实施例二的一种通讯网络中的通讯环回故障检测方法的步骤流程图;
图7是本发明实施例三的一种通讯网络中的通讯环回故障检测装置的结构框图;
图8是本发明实施例四的一种用于通讯网络中的通讯环回故障检测的交换机的结构框图;
图9是本发明的一种硬环回故障的示意图;
图10是本发明的一种软环回故障的示意图;
图11是本发明的一种环回故障检测***示意图;
图12是本发明的一种通讯环回故障检测服务器的结构示意图;
图13是本发明的一种环回信息收集服务器的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
首先需要说明的是,本发明可以应用于视联网的通讯网络中。视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、VOD点播、电视邮件、个性录制(PVR)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个***平台,通过电视或电脑实现高清品质视频播放。
为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:
视联网所应用的部分技术如下所述:
网络技术(Network Technology)
视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大视频流量。不同于单纯的网络分组包交换(Packet Switching)或网络电路交换(CircuitSwitching),视联网技术采用Packet Switching满足Streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
交换技术(Switching Technology)
视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
服务器技术(Server Technology)
视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能力与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
储存器技术(Storage Technology)
统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作***,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
网络安全技术(Network Security Technology)
视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
服务创新技术(Service Innovation Technology)
统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
视联网的组网如下所述:
视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
如图1所示,视联网分为接入网和城域网两部分。
接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
视联网设备分类
1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。
各接入网设备的具体硬件结构为:
节点服务器:
如图2所示,主要包括网络接口模块201、交换引擎模块202、CPU模块203、磁盘阵列模块204;
其中,网络接口模块201,CPU模块203、磁盘阵列模块204进来的包均进入交换引擎模块202;交换引擎模块202对进来的包进行查地址表205的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器206的队列;如果包缓存器206的队列接近满,则丢弃;交换引擎模202轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块204主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块203主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表205(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块204的配置。
接入交换机:
如图3所示,主要包括网络接口模块(下行网络接口模块301、上行网络接口模块302)、交换引擎模块303和CPU模块304;
其中,下行网络接口模块301进来的包(上行数据)进入包检测模块305;包检测模块305检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块303,否则丢弃;上行网络接口模块302进来的包(下行数据)进入交换引擎模块303;CPU模块204进来的数据包进入交换引擎模块303;交换引擎模块303对进来的包进行查地址表306的操作,从而获得包的导向信息;如果进入交换引擎模块303的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃;如果进入交换引擎模块303的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃。
交换引擎模块303轮询所有包缓存器队列,在本发明实施例中分两种情形:
如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
码率控制模块208是由CPU模块204来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
CPU模块304主要负责与节点服务器之间的协议处理,对地址表306的配置,以及,对码率控制模块308的配置。
以太网协转网关:
如图4所示,主要包括网络接口模块(下行网络接口模块401、上行网络接口模块402)、交换引擎模块403、CPU模块404、包检测模块405、码率控制模块408、地址表406、包缓存器407和MAC添加模块409、MAC删除模块410。
其中,下行网络接口模块401进来的数据包进入包检测模块405;包检测模块405检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目地地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块410减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
下行网络接口模块401检测该端口的发送缓存,如果有包则根据包的视联网目地地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MACSA、以太网length or frame type,并发送。
以太网协转网关中其他模块的功能与接入交换机类似。
终端:
主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
2、视联网数据包定义
2.1接入网数据包定义
接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
如下表所示,接入网的数据包主要包括以下几部分:
DA |
SA |
Reserved |
Payload |
CRC |
其中:
目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
保留字节由2个字节组成;
payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
2.2城域网数据包定义
城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
如下表所示,城域网的数据包主要包括以下几部分:
DA |
SA |
Reserved |
标签 |
Payload |
CRC |
即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
基于视联网的上述特性,提出了本发明实施例的核心构思之一,遵循视联网的协议,判断物理地址是否发生漂移。所谓的漂移即某个物理地址在某个时段与某一个通讯接口通讯,在另外一个时段又与另外一个通讯接口通讯,或者同时与不同的通讯接口通讯。当出现物理地址的漂移,即可判定视联网中存在通讯环回故障。更具体的方案将在实施例一中进行说明。
实施例一
图5示出了本发明实施例一的一种通讯网络中的通讯环回故障检测方法的步骤流程图,主要从通讯环回故障检测服务器的角度提供一种通讯网络中的通讯环回故障检测的方法,所述通讯网络包括至少一个交换机和多个通讯终端,所述交换机包括用于与所述通讯终端通讯的多个通讯接口,所述方法可以具体包括如下步骤:
步骤101,获取交换机的地址记录表;所述地址记录表对应保存有各通讯终端的物理地址和与各通讯终端通讯的通讯接口。
实际应用中,视联网可能由于各种原因导致该通讯网络发生通讯环回故障。其中,通讯环回故障包括硬环回故障和软环回故障。
图9示出了本发明的一种硬环回故障的示意图。从图中可见,由于人为的连接错误或者硬件故障,将通讯终端01同时连接到次级交换机01和次级交换机02,当通讯终端01和通讯终端02进行视频会议等的通讯业务时,通讯终端01和通讯终端02之间存在有两条通讯路径,分别为“通讯终端01-次级交换机01-中心交换机的通讯接口01-中心交换机的通讯接口03-次级交换机02-通讯终端02”和“通讯终端01-次级交换机03-中心交换机的通讯接口02-中心交换机的通讯接口03-次级交换机02-通讯终端02”。造成通讯终端之间存在两条通讯路径的原因是视联网中存在物理环路“通讯终端01-次级交换机01-中心交换机-次级交换机03-通讯终端01”。因此,在进行视频会议时,通讯终端01发出的视联网数据将分别通过两条通讯路径到达通讯终端02,从而造成视联网数据不连续,视频会议中的视频则会出现卡顿、跳帧等情况。
图10示出了本发明的一种软环回故障的示意图。从图中可见,视联网上存在两个相同MAC地址的通讯终端,从而造成软换回故障。由于视联网主要是根据MAC地址确定通讯终端,视联网可能将两个通讯终端均认为是同一个通讯终端01,当其中一个通讯终端01在进行视频会议时,另外一个通讯终端01也会接收到视频会议的数据,造成视联网数据流向了错误的对象。此外还有一种原因造成软换回故障。具体地,由于通讯终端需要先在服务器上注册才能享受通讯业务,用户在针对通讯终端03注册MAC地址时,并不存在实际的通讯终端03,而且用户由于笔误填写了通讯终端01的MAC地址,从而导致视联网中存在两个相同的MAC地址。
为了实现对通讯环回故障的检测,可以在视联网等的通讯网络中部署若干通讯环回故障检测服务器,通讯环回故障检测服务器可以部署有通讯环回故障检测程序,由通讯环回故障检测程序定期获取若干个交换机的地址记录表并进行分析,判断是否出现物理地址的漂移。
需要进一步说明的是,交换机在对通讯终端的数据进行转发时,需要根据地址记录表来确定转发的对象。具体地,交换机收到某个通讯终端的通讯数据时,可以从通讯数据的通讯协议中得知需要接收该通讯数据的目标通讯终端以及其物理地址。
交换机在地址记录表中查找是否已经存在有该通讯终端的MAC地址。如果不在地址记录表中,交换机会将接收到的通讯数据在所有活动的通讯接口上广播发送,目标通讯终端如果在线,则会通过所连接的活动通讯接口获取该通讯数据并返回确认消息,对于同样获取到通讯数据的非目标通讯终端,则可以将该通讯数据丢弃。
交换机可以将目标通讯终端的MAC地址与目标通讯终端对应的通讯接口对应地保存在地址记录表中。
实际应用中,交换机的地址记录表除了上述的动态学习方式之外,还可以进行静态的人工指定的方式。例如,在指定某个通讯终端的MAC地址的时候,可以在指定某个VLAN(Virtual Local Area Network,虚拟局域网)的某个通讯接口收到的MAC地址。表1示出了一种地址记录表的示例:
Vlan |
Mac Address |
Type |
Ports |
2 |
0013.1a2f.0680 |
DYNAMIC |
Fa0/1 |
3 |
0013.1a2f.0681 |
DYNAMIC |
Fa0/2 |
表1
从表1中可见,地址记录表可以对应保存有Vlan的编号、通讯终端的MAC地址、获取MAC地址的方式以及通讯接口的编号。
可选地,所述步骤101包括:
子步骤S11,调用所述交换机的地址记录表上传功能模块,并指示所述地址记录表上传功能模块将所述地址记录表发送至通讯环回故障检测服务器。
具体实现中,可以通过调用功能模块的方式实现地址记录表的获取。例如,使用SNMP协议(Simple Network Management Potocol,简单网络管理协议)获取,使用"1.3.6.1.2.1.17.4.3.1.1"这个Mib oid来获取地址记录表,经过SNMP通讯模块发到交换机上。其中,SNMP由一组网络管理的标准组成,包含一个应用层协议(Application LayerProtocol)、数据库模型(Database Schema)和一组资源对象。该协议能够支持网络管理***,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。在SNMP报文中用管理变量来描述交换机中的管理对象(某个应用功能)。为了唯一标识交换机中的管理对象,SNMP用层次结构命名方案来识别管理对象。整个层次结构就像一棵树,树的节点表示管理对象,即表示某个Mib oid。
可选地,所述步骤101包括:
子步骤S12,当调用所述交换机的地址记录表上传功能模块失败,则调用本地的远程控制模块;
子步骤S13,采用所述远程控制模块从所述交换机中提取所述地址记录表。
当采用SNMP协议失败后,可以采用Telnet协议(远程控制协议)进行地址记录表的获取。其中,Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用Telnet程序,用它连接到服务器。终端使用者可以在Telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。
实际应用中,也可以直接采用Telnet协议的方式获取地址记录表。此外,本领域技术人员可以采用多种方式从交换机获取地址记录表。
步骤102,确定在所述地址记录日志中存在对应于不同通讯接口的同一个目标物理地址,并判定所述通讯网络当前存在通讯环回故障。
可选地,所述地址记录表包括更新的地址记录表,所述确定在所述地址记录日志中对应于不同通讯接口的同一个目标物理地址包括:
子步骤S31,查找各物理地址在更新的地址记录表中所对应的通讯接口;
子步骤S32,若某个物理地址对应有不同的通讯接口,将某个物理地址标记为所述目标物理地址。
具体实现中,可以在地址记录表中查找各个物理地址所对应的通讯接口,如果查找到有某一个物理地址对应有多个不同的通讯接口,则可以将该物理地址标记为目标物理地址,同时可以判定当前的通讯网络存在着通讯环回故障。
所述地址记录表包括各个时间段的地址记录表,所述确定在所述地址记录日志中存在对应于不同通讯接口的同一个目标物理地址包括:
子步骤S41,查找各物理地址在各个时间段的地址记录表中分别对应的通讯接口;
子步骤S42,若某个物理地址分别对应的通讯接口不同,则将某个物理地址标记为所述目标物理地址。
具体实现中,由于地址记录表定期更新地址记录表,因此可以收集交换机在各个时间段的地址记录表,并针对各物理地址在各时间段的地址记录表中查找对应的通讯接口。如果同一个物理地址在同一个地址记录表或不同时间段的多个地址记录表中对应有不同的通讯接口,可以将该物理地址标记为目标物理地址,同时可以判定当前的通讯网络存在着通讯环回故障。
步骤103,向所述目标物理地址指示的目标通讯终端发送通讯环回故障提示通知,以指示所述目标通讯终端与所述交换机暂停通讯。
当发现通讯网络中出现通讯环回故障,可以将目标物理地址指示的通讯终端作为目标通讯终端,并向目标通讯终端发送通讯环回故障提示通知,以指示所述目标通讯终端与所述交换机暂停通讯。
可选地,所述方法还包括:
向所述交换机发送通讯环回故障提示通知,以指示所述交换机与所述目标通讯终端暂停通讯。
当发现通讯网络中出现通讯环回故障,也可以向相应的交换机发送通讯环回故障提示通知,以指示交换机与目标通讯终端暂停通讯。
通讯环回故障提示通知可以为按照一定预设格式设置的消息。如下表2示出了一种通讯环回故障提示通知的示意图。从表中可见,提示通知可以包括有数据包的包头和包尾、通知生成的时间、交换机的IP地址、通讯终端的物理地址、通讯接口等信息。
包头 |
长度 |
告警时间 |
交换机ip |
Mac |
原端口 |
新端口 |
包尾 |
4字节 |
2字节 |
4字节 |
4字节 |
6字节 |
1字节 |
1字节 |
4字节 |
0xFFFFFFFF |
|
|
|
|
|
|
0xEEEEEEEE |
表2
实际应用中,可以在通讯网络中设置环回信息收集服务器,采用UDP协议的方式将通讯环回故障提示通知发送至该环回信息收集服务器。环回信息收集服务器可以针对通知发出告警提示音。图11示出了本发明的一种环回故障检测***示意图。从图中可见,通讯环回故障检测服务器从视联网的交换机中获取地址记录表并分析出当前视联网存在通讯环回故障,并通过UDP协议将相应的通讯环回故障提示通知发送至环回信息收集服务器。
需要说明的是,在本发明实施例中以视联网的为例对本发明的技术方案进行说明。可以理解,在与视联网的网络架构相似的通讯网络中,例如,局域网,同样可能存在有通讯环回故障,因此,可以将本发明实施例提供的技术方案应用于局域网中,以解决通讯环回故障的问题。
根据本发明实施例,通过查找对应于不同通讯接口的同一个物理地址,判定当前存在通讯环回故障,并相应地暂停目标通讯终端与交换机进行通讯,从而避免因通讯环回故障引起的数据传输错误等通讯问题,保证了通讯网络的通讯业务可以正常运行。
实施例二
图6示出了本发明实施例二的一种通讯网络中的通讯环回故障检测方法的步骤流程图,主要从交换机的角度提供一种通讯网络中的通讯环回故障检测方法,所述通讯网络包括至少一个交换机和多个通讯终端,所述交换机包括用于与所述通讯终端通讯的多个通讯接口,所述方法可以具体包括如下步骤:
步骤201,获取交换机的地址记录表;所述地址记录表对应保存有各通讯终端的物理地址与各通讯终端所访问的通讯接口。
需要说明的是,本发明实施例可以应用于视联网的交换机中。具体实现中,交换机可以调用保存在本地的地址记录表,以通过分析地址记录表判断是否出现物理地址的漂移,并相应判定当前是否出现通讯环回故障。
可选地,所述通讯终端包括数据发送终端和数据接收终端,所述通讯接口包括数据接收接口和数据发送接口,在所述获取交换机的地址记录表之前,所述方法还包括:
获取所述数据发送终端发送至所述数据接收接口的通讯数据;所述通讯数据携带所述数据发送终端和所述数据接收终端的物理地址;
根据所述数据接收终端的物理地址,采用所述数据发送接口将所述通讯数据发送至所述数据接收终端;
将所述数据发送终端和所述数据接收接口,以及,所述数据接收终端和所述数据发送接口,对应保存在所述地址记录表。
具体实现中,可以将当前发送数据的通讯终端作为数据发送终端,并将当前接收数据的通讯终端作为数据接收终端。对于交换机的通讯接口而言,相应地,可以根据当前发送或接收数据的状态,将通讯接口定义为数据接收接口和数据发送接口。
数据发送终端将某个通讯数据通过交换机的某个数据接收接口发送至交换机后,交换机可以从该通讯数据中获取到数据发送终端和数据接收终端的物理地址。交换机可以根据数据接收终端的物理地址,调用对应的数据发送接口,将通讯数据发送至数据接收终端。同时,将数据发送终端和数据接收接口,以及,数据接收终端和数据发送接口,对应地保存在地址记录表中。
步骤202,确定在所述地址记录日志中存在对应于不同通讯接口的同一个目标物理地址,并判定所述通讯网络当前存在通讯环回故障。
步骤203,向所述目标物理地址指示的目标通讯终端发送通讯环回故障提示通知,以指示所述目标通讯终端与所述交换机暂停通讯。
根据本发明实施例,通过查找对应于不同通讯接口的同一个物理地址,判定当前存在通讯环回故障,并相应地暂停目标通讯终端与交换机进行通讯,从而避免因通讯环回故障引起的数据传输错误等通讯问题,保证了通讯网络的通讯业务可以正常运行。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
为了本领域技术人员深入理解本发明,以下将结合图12和图13的具体示例进行说明。图12示出了本发明一种通讯环回故障检测服务器的结构示意图。从图中可见,通讯环回故障检测服务器可以包括多个模块,各模块所进行的处理如下:
xml文件解析模块:使用xml文件作为配置文件,配置文件存放的是要获取交换机的基本信息,包括多上时间取一次mac表,交换机的ip地址,snmp协议报文团体名,snmp命令等待时间,重试次数,端口,telnet登录名,密码,telnet命令行提示符(如<H3C>)等。
其中,snmp协议的xml配置文件格式如下:
其中,Telnet协议的xml配置文件格式如下:
Mac表获取模块:定时获取交换机的mac地址表,定时间隔来自配置文件,默认30秒。
Oid解析模块:解析"1.3.6.1.2.1.17.4.3.1.1"这个oid,发给交换机获取交换机mac表;解析交换机返回的oid,从中获得mac地址和端口。
snmp通讯模块:负责和交换机通信。
正则解析模块:telnet查询交换机mac,返回的结果是文本形式,需要解析文本,本发明使用正则表达式来解析文本。使用这个([0-9a-fA-F]{4})(([/\s:-][0-9a-fA-F]{4}){2}).*([0-9][/][0-9]+)正则表达式来获取mac-port值对。
Telnet通讯模块:负责和交换机通信,采用2个线程,一个负责向交换机发送telnet命令,一个负责接收交互机返回的telnet命令协议。
比较模块:比较2次的mac地址表,发现同一mac在不同端口上,则存在mac漂移,组成告警消息,放入告警发送模块的消息队列。
其中,在比较MAC地址表时,可以采用stl的map数据类型存放交互机的mac表,结构如下:
map<ip,pair<mac,port>>,以交换机的ip作为key,以mac和port值对作为value。
告警发送模块:监控一个消息队列,发现有消息就取出来,使用udp socket发往消息收集程序。
其中,通过上述多个模块,可以实现以下的检测流程:
S1,启动检测程序,读入xml配置文件,将交换机的配置信息读入程序;
S2,Mac表获取模块定时获取交换机的mac表,时间间隔可配,配置在xml配置文件中;
S3,获取mac地址表先使用snmp协议获取,使用"1.3.6.1.2.1.17.4.3.1.1"这个oid来获取mac地址表,经过snmp通讯模块发到交换机上;
S4,当snmp协议失败时,再使用Telnet协议重新获取;
S5,Mac地址表获取上来后,通过和上次的mac表比较,找到漂移的mac;
S6,将发生漂移的mac,按照定义的告警消息格式,发往收集程序。
图13示出了本发明一种环回信息收集服务器的结构示意图。从图中可见,环回信息收集服务器包括多个模块,各模块所进行的处理如下:
告警接收模块:接收环回检测程序推送过来的告警消息,采用udp socket,select实现多路I/O复用。
告警解析模块:解析收到的告警消息,放入数据库中。数据库采用mysql5.5。将解析好的告警存入LoopDetection数据库的MacFlapping表中。
告警发声模块:入库的同时,将此告警送往发声模块,发出报警声音。
实施例三
与实施例一对应,本发明实施例三还提供了一种通讯网络中的通讯环回故障检测装置,该装置可以具体应用于通讯环回故障检测服务器。图7示出了本发明实施例三的一种通讯网络中的通讯环回故障检测装置的结构框图,所述通讯网络包括至少一个交换机和多个通讯终端,所述交换机包括用于与所述通讯终端通讯的多个通讯接口,所述装置具体可以包括如下模块:
地址记录表获取模块701,用于获取交换机的地址记录表;所述地址记录表对应保存有各通讯终端的物理地址和与各通讯终端通讯的通讯接口;
故障判定模块702,用于确定在所述地址记录日志中存在对应于不同通讯接口的同一个目标物理地址,并判定所述通讯网络当前存在通讯环回故障;
通知模块703,用于向所述目标物理地址指示的目标通讯终端发送通讯环回故障提示通知,以指示所述目标通讯终端与所述交换机暂停通讯。
可选地,所述装置还包括:
交换机通知模块,用于向所述交换机发送通讯环回故障提示通知,以指示所述交换机与所述目标通讯终端暂停通讯。
可选地,所述地址记录表包括更新的地址记录表,所述故障判定模块702包括:
第一通讯接口查找子模块,用于查找各物理地址在更新的地址记录表中所对应的通讯接口;
第一目标物理地址标记子模块,用于若某个物理地址对应有不同的通讯接口,将某个物理地址标记为所述目标物理地址。
可选地,所述地址记录表包括各个时间段的地址记录表,所述故障判定模块702包括:
第二通讯接口查找子模块,用于查找各物理地址在各个时间段的地址记录表中分别对应的通讯接口;
第二目标物理地址标记子模块,用于若某个物理地址分别对应的通讯接口不同,则将某个物理地址标记为所述目标物理地址。
可选地,所述地址记录表获取模块701包括:
上传功能模块调用子模块,用于调用所述交换机的地址记录表上传功能模块,并指示所述地址记录表上传功能模块将所述地址记录表发送至通讯环回故障检测服务器。
可选地,所述地址记录表获取模块701包括:
远程控制模块调用子模块,用于当调用所述交换机的地址记录表上传功能模块失败,则调用本地的远程控制模块;
地址记录表提取子模块,用于采用所述远程控制模块从所述交换机中提取所述地址记录表。
根据本发明实施例,通过查找对应于不同通讯接口的同一个物理地址,判定当前存在通讯环回故障,并相应地暂停目标通讯终端与交换机进行通讯,从而避免因通讯环回故障引起的数据传输错误等通讯问题,保证了通讯网络的通讯业务可以正常运行。
实施例四
与实施例二对应,本发明实施例四还提供了一种用于通讯网络中的通讯环回故障检测的交换机。图8示出了本发明实施例四的一种用于通讯网络中的通讯环回故障检测的交换机的结构框图,所述通讯网络包括至少一个交换机和多个通讯终端,所述交换机800包括用于与所述通讯终端通讯的多个通讯接口,所述交换机800具体可以包括如下模块:
地址记录表获取模块801,用于获取交换机的地址记录表;所述地址记录表对应保存有各通讯终端的物理地址与各通讯终端所访问的通讯接口。
故障判定模块802,用于确定在所述地址记录日志中存在对应于不同通讯接口的同一个目标物理地址,并判定所述通讯网络当前存在通讯环回故障。
通知模块803,用于向所述目标物理地址指示的目标通讯终端发送通讯环回故障提示通知,以指示所述目标通讯终端与所述交换机暂停通讯。
可选地,所述通讯终端包括数据发送终端和数据接收终端,所述通讯接口包括数据接收接口和数据发送接口,在所述获取交换机的地址记录表之前,所述交换机800还包括:
通讯数据获取模块,用于获取所述数据发送终端发送至所述数据接收接口的通讯数据;所述通讯数据携带所述数据发送终端和所述数据接收终端的物理地址;
通讯数据转发模块,用于根据所述数据接收终端的物理地址,采用所述数据发送接口将所述通讯数据发送至所述数据接收终端;
地址记录表保存模块,用于将所述数据发送终端和所述数据接收接口,以及,所述数据接收终端和所述数据发送接口,对应保存在所述地址记录表。
根据本发明实施例,通过查找对应于不同通讯接口的同一个物理地址,判定当前存在通讯环回故障,并相应地暂停目标通讯终端与交换机进行通讯,从而避免因通讯环回故障引起的数据传输错误等通讯问题,保证了通讯网络的通讯业务可以正常运行。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。