用于管理交换网络中的数据帧的方法和第一设备与流程

文档序号:11637154阅读:367来源:国知局
用于管理交换网络中的数据帧的方法和第一设备与流程

本文的实施例涉及通信系统,例如交换网络。特别地,公开用于管理在第一端口处从第二设备接收的数据帧的方法和第一设备。还公开对应计算机程序及其载体。



背景技术:

通信系统有时在概念上通过开放系统互连模型(osi)来描述。模型将通信系统的内部功能分成抽象层,例如物理层(层1)、数据链路层(层2)、网络层(层3)、传输层(层4)、会话层(层5)等。

作为已知通信系统的示例,以太网网络通常视为层2的部分。以太网网络还是所谓的交换网络的示例,该交换网络仅使用网络交换机而不是网络集线器。网络交换机与集线器之间的差异是集线器在它所有的端口上一直转发数据帧,而网络交换机仅在对某一数据帧相关的那些端口上尝试转发数据帧。

以太网网络包括第一主机和第二主机,其使用唯一mac地址彼此通信来分别识别第一和第二主机。第一主机可以是路由器并且第二主机可以是个人计算机(pc),或反之亦然。

以太网网络还包括许多网络交换机用于将数据帧朝第一和/或第二主机转发,即在以太网网络内在第一与第二主机之间组建通信。数据帧是媒体访问控制(mac)数据帧,其包括目的地mac地址字段和源mac地址字段。参见例如电气和电子工程师协会(ieee)802.3规范。

在网络交换机接收数据帧时,它在所谓的mac地址表中查找位于所接收的数据帧的目的地mac地址字段中的目的地mac地址以便找出应在网络交换机的哪个端口馈送接收的数据帧。从而,mac地址表将mac地址映射到网络交换机的端口,或使mac地址与网络交换机的端口关联。

另外,网络交换机检查接收的数据帧的源地址字段并且注意在哪个端口接收所接收的数据帧。这意指网络交换机在网络交换机的mac地址表中检查接收的数据帧的源地址字段中的mac地址是否不存在,或映射到另一个端口。然后,即当mac地址表由于不存在或映射到另一个端口而需要更新时,源地址和接收数据帧的端口被放置到mac地址表以供未来使用。填充mac地址表的该过程有时称为mac学习。

此外,当在mac地址表中未找到目的地mac地址时,网络交换机将接收的数据帧转发到额外端口,但排除接收所接收的数据帧的端口。这由于数据帧被转发到网络交换机的额外端口而在以太网网络中创建额外业务。当在例如第一主机处接收这些数据帧并且第一主机无法在数据帧的目的地mac地址字段中找到它自己的mac地址时,第一主机被认为溢满(flooded)。因此,网络交换机溢满数据帧。

第一主机可以发送请求消息来检查属于第二主机的mac地址的存在。这可以由第一主机进行以便使它的地址解析协议(arp)表保持更新。arp用于将互联网协议(ip)地址转换成物理地址,例如以太网地址,也称作mac地址。请求消息定期发送,例如每5分钟。

继续上文的示例,第一主机可以具有朝网络交换机的冗余l2连接。该冗余l2连接由第一主机的朝第一网络交换机的第一端口以及第一主机的朝第二网络交换机的第二端口建立。该设置叫作冗余,因为在该时间仅使用第一和第二端口中的一个。从而第一端口处将存在一个有源端口和一个无源端口。

当第一主机向第二主机发送数据帧时,这些数据帧包括源mac地址字段中的有源端口的mac地址。从而,网络交换机能够获悉映射到有源端口的mac地址。

在以太网网络中可能发生故障,例如网络交换机停机。另一个交换机然后将不再能够在连接到停机的网络交换机的端口处转发针对第一主机的数据帧。从而,由于mac地址表缺乏关于对指定目的地mac地址应将数据帧转发到哪个端口的信息,将出现溢满。还参见下文的图1b。

问题是当数据帧在一个方向上转发(或视为单向)时在以太网网络中持续长时间出现溢满。溢满将继续进行直到第一主机发送在源mac地址字段中具有它自己的mac地址的消息,例如响应于定期发送请求消息,这在上文提到。为了缩短溢满出现的时间,请求消息的周期可以缩短。然而,缩短的周期意味着请求消息增加,这占用另外可用于承载有效载荷数据的数据帧的宝贵网络资源。



技术实现要素:

目的可以是减轻或至少减少上文提到的问题。

根据第一方面,目的通过由交换网络的第一设备执行以用于管理在第一端口处从第二设备接收的数据帧的方法实现。该第一设备操纵第一端口和第二端口用于在第一与第二设备之间传输数据帧。第一设备通过与第一端口关联的媒体访问控制地址(“mac地址”)可寻址。第一端口由第一设备在发送数据帧时使用。第一设备在第二端口处从第二设备接收至少一个数据帧。第一设备在第一端口上发送消息,其包括与第一端口关联的mac地址。

根据第二方面,目的由交换网络的第一设备实现,该第一设备配置成管理在第一端口处从第二设备接收的数据帧。第一设备操纵第一端口和第二端口用于在第一与第二设备之间传输数据帧。第一设备通过与第一端口关联的媒体访问控制地址(“mac地址”)可寻址。第一端口由第一设备在发送数据帧时使用。第一设备配置成在第二端口处从第二设备接收至少一个数据帧。此外,第一设备配置成在第一端口上发送消息,其包括与第一端口关联的mac地址。

根据另外的方面,目的由计算机程序和该计算机程序的载体(对应于上文的方面)实现。

当第一设备在第二端口处接收至少一个数据帧(例如检测溢满)时,它是在交换网络中出现错误的表征。至少一个数据帧可以提供有与第一端口关联的mac地址。因此,当根据至少一个数据帧的目的地地址字段应在第一端口处接收至少一个数据帧时,因为实际上在第二端口处接收它,因此存在错误。因此,由于第一设备在第一端口处发送包括与第一端口关联的mac地址的消息,交换网络中的任何现有网络交换机能够获悉第一端口的mac地址。从而,数据帧溢满将停止。

优势从而是溢满快速停止,由此数据帧相反可以用于承载有效载荷数据。

附图说明

本文公开的实施例的各种方面(包括其特定特征和优势)将容易从下列详细描述和附图理解,其中:

图1a和1b是其中可以实现本文的实施例的例示以太网网络的示意综览,

图2是图示本文的实施例的示意组合信令和流程图,

图3是图示第一设备中的方法的实施例的流程图,以及

图4是图示第一设备的实施例的框图。

具体实施方式

在整个下列描述中相似标号在可适用时用于指示相似特征,例如节点、动作、步骤、模块、电路、部件、项目、元件、单元或类似物。在图中,在一些实施例中出现的特征由虚线指示。

图1a描绘其中可以实现本文的实施例的例示通信系统。在该示例中,通信系统是交换网络100。作为示例,交换网络100可以是以太网网络、层2网络或类似物。

交换网络100包括第一设备110和第二设备120。该第一设备110可以包括或具有第一端口并且第二设备120可以包括或具有第二端口。

如本文使用的,术语“设备”可以指个人计算机(pc)、便携式电脑、蜂窝电话、平板pc、智能电话、用户设备、服务器、客户端、路由器及类似物。

交换网络100进一步包括许多网络交换机101-104。

第一设备110与第二设备120之间的业务(例如数据帧)经过网络交换机(由101和102指示)。

在图中,每个设备(例如,网络交换机、设备、主机、客户端等)假设为在每侧处具有一个端口。实线箭头指示端口打开所针对的通信链路并且虚线箭头指示端口关闭所针对的通信链路。

现在转向图1b,图示有其中网络交换机102具有故障(例如,电力中断、硬件失灵、网络交换机重启、到网络交换机的链路故障、通过配置端口的手动闭锁或类似物)的场景。既然有故障,业务需要找到新的方式在第一设备110与第二设备120之间传递。业务可以例如经过网络交换机(由101、103和104指示)。

当出现故障时,网络交换机104将使来自第二设备120的任何进入的数据帧溢满,例如将任何进入数据帧从第二设备120转发到它所有的端口,但朝出故障网络交换机102的端口除外。相似地,网络交换机103将使任何进入的数据帧溢满。从而,第一设备110将在第二端口上意外接收数据帧,其中数据帧在第一端口上被寻址到例如第一设备110。

图2图示在连同图1的交换网络100执行时根据本文的实施例的例示方法。因此,交换网络100的第一设备110执行用于管理在第一端口处从第二设备120接收的数据帧的方法,其中第一设备110操纵第一端口和第二端口用于在第一与第二设备110、120之间传输数据帧。第一设备110通过与第一端口关联的媒体访问控制地址(“mac地址”)可寻址。第一端口由第一设备110在发送数据帧时使用。术语“mac地址”更一般地可以称为链路层地址。因此,任何未来的交换网络(其中链路层地址指代除mac地址以外的别的事物)视为在本公开的范围内。

第一端口可以是第一设备110的第一物理端口,并且第二端口可以是第一设备110的第二物理端口。

数据帧可以是mac数据帧、以太网帧、交换网络帧或相似物。

第一端口可以是有源端口并且第二端口可以是无源端口,由此第一设备110能够处理交换网络100中的冗余。有源端口和无源端口可以由第一设备110根据具有与vrrp(其为了管理路由器而存在)相似的功能和目的的方案来操纵。

在一些示例中,交换网络100包括一个或多个虚拟网络,例如虚拟局域网(vlan)。因此,第一端口可以是与vlan(即,vlan的标识符)关联的第一逻辑端口,并且第二端口可以是与vlan关联的第二逻辑端口。从而,第一端口和第二端口可以分别与第一和第二逻辑端口关联。在vlan的情况下,第一和第二逻辑端口映射到第一设备110的不同物理端口。

下列动作可以按任何适合的顺序执行。

动作201

第一设备110在第二端口处从第二设备120接收至少一个数据帧。换言之,第一设备110检测第二端口处的数据帧溢满。

动作202

该动作可以响应于动作201执行。第一设备110在第一端口上发送消息,其包括与第一端口关联的mac地址。

消息的发送202可以仅在接收的至少一个数据帧包括目的地地址字段时执行,该目的地地址字段包括与第一端口关联的mac地址。从而,接收的至少一个数据帧关于目的地地址来过滤,其中仅对包括目的地地址字段(包括与第一端口关联的mac地址)的那些数据帧感兴趣。对此的原因是动作202能够弥补这样的错误。在一些示例中,为了避免过度执行该动作202,即远远超过必要,消息可仅以从执行动作201时(即在第一设备110处、例如在第一设备110的第二端口处检测到溢满时)计数的少于特定次数的次数发送。因此,动作202可以意味着第一设备110在第一端口上发送一个或多个消息,其包括与第一端口关联的mac地址,例如在该动作的描述的第一句中提到的消息中的一个或多个。

在图3中,示出第一设备110中的例示方法的示意流程图。同上文的相同标号再次用于指示相同或相似特征,特别地,相同标号用于指示相同或相似动作。因此,交换网络100的第一设备110执行用于管理在第一端口处从第二设备120接收的数据帧的方法。

如提到的,第一设备110操纵第一和第二端口用于在第一与第二设备110、120之间传输数据帧。第一设备110通过与第一端口关联的媒体访问控制地址“mac地址”可寻址。第一端口由第一设备110在发送数据帧时使用。第一端口可以是第一物理端口,并且第二端口可以是第二物理端口。在交换网络100包括虚拟网络(例如vlan)时,第一端口可以是第一逻辑端口并且第二端口可以是第二逻辑端口。然后,第一和第二逻辑端口与虚拟网络(例如,虚拟网络的标识符)关联。

下列动作可以按任何适合的顺序执行。

动作200

由于图1b中描述的故障,网络交换机103将具有目的地地址字段(其包括与第一端口关联的mac地址)的数据帧转发到它所有的端口,即网络交换机103使这些数据帧溢满。特别地,这意指网络交换机103还将数据帧转发到连接到第一设备110的第二端口的某一端口。对此的原因是网络交换机103没有与第一设备110的第一端口的mac地址关联的端口。

动作201

第一设备110在第二端口处从第二设备120接收至少一个数据帧。换言之,第一设备110在第二端口处检测到数据帧的溢满。

动作202

该动作可响应于动作201执行。第一设备110在第一端口上发送消息,其包括与第一端口关联的mac地址。该消息可以是arp消息,例如免费arp(grat-arp)消息、因特网控制消息协议(icmp)ping、l2广播消息或类似物。

消息的发送202可以仅在接收的至少一个数据帧包括目的地地址字段(其包括与第一端口关联的mac地址)时执行。

消息的发送202可以从至少一个数据帧的接收201计数的少于特定次数的次数执行。

第一端口可以是有源端口并且第二端口可以是无源端口,由此第一设备110能够处理交换网络100中的冗余。

动作203

在执行动作202时,网络交换机101可以接收消息。消息可以典型地作为广播或组播消息来寻址。因此,网络交换机101可以将消息转换或馈送到它所有的端口,即包括朝网络交换机103的端口。

在网络交换机101接收消息时,它可以指出消息的源地址已经在由网络交换机101操纵的mac表中。

动作204

在接收消息时,网络交换机103检查它的mac表并且推断未找到消息的源地址。从而,网络交换机103通过使消息的源地址与接收消息所在的端口关联来更新它的mac地址表。因此,在从例如第二设备120接收后续数据帧(该数据帧具有目的地地址字段,其包括第一设备110的第一端口的mac地址)时,网络交换机103将知晓数据帧应转发到哪个端口。因此,溢满停止,或不出现。

参考图4,示出图1的第一设备110的实施例的示意框图。交换网络100的第一设备110从而配置成管理在第一端口处从第二设备120接收的数据帧。

如提到的,第一设备110操纵第一端口和第二端口用于在第一与第二设备110、120之间传输数据帧。第一设备110通过与第一端口关联的媒体访问控制地址(“mac地址”)可寻址。第一端口由第一设备110在发送数据帧时使用。

再一次,第一端口可以是有源端口并且第二端口可以是无源端口,由此第一设备110可以能够处理交换网络100中的冗余。第一端口可以是第一物理端口,并且第二端口可以是第二物理端口。第一端口可以是第一逻辑端口并且第二端口可以是第二逻辑端口。

第一设备110可以包括处理模块401,例如用于执行本文描述的方法的部件、一个或多个硬件模块和/或一个或多个软件模块。

第一设备110可以进一步包括存储器402。该存储器可以包括(例如包含或存储)计算机程序403。

根据本文的一些实施例,处理模块401包括处理电路404(例如,‘采用处理电路404的形式体现’或‘由处理电路404实现’)作为例示硬件模块。在这些实施例中,存储器402可以包括计算机程序403,其包括由处理电路404可执行的计算机可读代码单元,由此第一设备110操作成执行图2和/或图3的方法。

在一些其他实施例中,在计算机可读代码单元由虚拟路由器主机110执行时,计算机可读代码单元可以促使第一设备110执行根据图2和/或3的方法,

图4进一步图示载体405,其包括如上文直接描述的计算机程序403。载体405可以是电子信号、光信号、无线电信号和计算机可读介质中的一个。

在一些实施例中,处理模块401包括输入/输出单元406,其在可适用时可以由接收模块和/或发送模块如下文描述的那样例示。

在另外的实施例中,处理模块401可以包括接收模块410和发送模块420中的一个或多个作为例示硬件模块。在其他示例中,前面提到的例示硬件模块中的一个或多个可以实现为一个或多个软件模块。

因此,根据上文描述的各种实施例,第一设备110操作成在第二端口处从第二设备120接收至少一个数据帧,和/或第一设备110、处理模块401和/或接收模块410配置成在第二端口处从第二设备120接收至少一个数据帧。

此外,第一设备110操作成在第一端口上发送消息和/或第一设备110、处理模块401和/或发送模块420配置成在第一端口上发送消息,该消息包括与第一端口关联的mac地址。

第一设备110可以操作成仅在接收的至少一个数据帧包括目的地地址字段时发送消息和/或第一设备110、处理模块401和/或发送模块420可以配置成仅在接收的至少一个数据帧包括目的地地址字段时发送消息,该目的地地址字段包括与第一端口关联的mac地址。

第一设备110可以操作成以从接收至少一个数据帧时计数的少于特定次数的次数发送消息和/或第一设备110、处理模块401和/或发送模块420可以配置成以从接收至少一个数据帧时计数的少于特定次数的次数发送消息。

如本文使用的,术语“处理模块”可以包括一个或多个硬件模块、一个或多个软件模块或其组合。任何这样的模块(不管是硬件、软件还是组合的硬件-软件模块)可以是如本文公开的确定部件、估计部件、捕捉部件、关联部件、比较部件、识别部件、选择部件、接收部件、发送部件或类似物。作为示例,表达“部件”可以是对应于上文结合图列出的模块的模块。

如本文使用的,术语“处理电路”可以指处理单元、处理器、专用集成电路(asic)、现场可编程门阵列(fpga)或类似物。处理电路或类似物可以包括一个或多个处理器内核。

如本文使用的,表达“配置成”可以意指处理电路配置成或适于凭借软件配置和/或硬件配置来执行本文描述的动作中的一个或多个。

如本文使用的,术语“存储器”可以指硬盘、磁存储介质、便携式计算机磁盘或盘、闪速存储器、随机存取存储器(ram)或类似物。此外,术语“存储器”可以指处理器的内部寄存器存储器或类似物。

如本文使用的,术语“计算机可读介质”可以是通用串行总线(usb)存储器、dvd盘、蓝光盘、作为数据流接收的软件模块、闪速存储器、硬驱动器、存储卡(例如存储条、多媒体卡(mmc)等)等。

如本文使用的,术语“计算机可读代码单元”可以是计算机程序的文本、代表采用编译格式的计算机程序的整个二进制文件的部分或其间的任何事物。

如本文使用的,术语“无线电资源”可以指信号的某一代码化(coding)、和/或传送该信号时帧和/或频率范围。在一些示例中,资源可以指一个或多个物理资源块(prb),其在传送信号时使用。更详细地,prb可以采用正交频分复用(ofdm)phy资源块(prb)的形式。术语“物理资源块”从与例如长期演进系统有关的3gpp术语获知。

如本文使用的,术语“数”和/或“值”可以是任何种类的数字,例如二进制、实数、虚数或有理数或类似物。此外,“数”和/或“值”可以是一个或多个字符,例如字母或字母串。“数”和/或“值”也可以由位串表示。

如本文使用的,表达“在一些实施例中”用于指示描述的实施例的特征可以与本文公开的任何其他实施例结合。

即使描述各种方面的实施例,许多不同更改、修改及其类似物对本领域内技术人员将变得明显。描述的实施例因此不意在限制本公开的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1