发明内容
本发明旨在解决上面描述的问题。具体地,本发明提供一种快速学习远端MEP的MAC地址的方法及其系统。
本发明首先提供一种实现本端MEP与远端MEP的MAC地址相互绑定的方法,包括以下步骤:
S1:获取远端MEP的标识;
S2:本端MEP组播发送发送第一消息报文,所述第一消息报文中包含所述本端MEP的第一MAC地址和所述标识;
S3:与所述标识相对应的远端MEP将所述第一MAC地址作为目的地址发送第一应答报文,所述第一应答报文中包含所述远端MEP的第二MAC地址;
S4:将所述第二MAC地址与所述远端MEP的标识相关联,完成本端MEP与远端MEP的MAC地址的绑定。
根据本发明提供的MAC地址相互绑定的方法,其中,所述步骤S1通过执行CFM协议中的LB命令来获取远端MEP的标识。
根据本发明提供的MAC地址相互绑定的方法,其中,所述步骤S2之前还包括判断所述远端MEP是否已经和所述第二MAC地址相关联的步骤,具体包括:
基于所述远端MEP的标识查找所述远端MEP的学习MAC地址和静态绑定MAC地址,若所述学习MAC地址和所述静态绑定MAC地址中的任一个为有效,则所述远端MEP已经和所述第二MAC地址相关联;
若所述学习MAC地址和所述静态绑定MAC地址均无效,则所述远端MEP和所述第二MAC地址没有相关联。
根据本发明提供的MAC地址相互绑定的方法,其中,当所述远端MEP和所述第二MAC地址没有相关联时,所述第一消息报文为组播报文,则所述步骤S3包括:
S31:所述远端MEP接收所述组播报文并进行解析;
S32:将所述第一MAC地址作为所述第一应答报文的目的地址,并将所述第二MAC地址作为源地址,完成所述第一应答报文的封装;
S33:所述远端MEP将所述第一应答报文发送至所述本端MEP。
根据本发明提供的MAC地址相互绑定的方法,其中,所述步骤S4包括:
S41:所述本端MEP接收所述第一应答报文并进行解析;
S42:完成所述本端MEP与所述远端MEP的MAC地址的绑定。
本发明同时还提供一种实现本端MEP与远端MEP的MAC地址相互绑定的系统,包括:
标识获取模块,用于获取远端MEP的标识;
报文发送模块,与所述标识获取模块相连,用于供本端MEP向所述远端MEP发送第一消息报文,其中所述第一消息报文中包含所述本端MEP的第一MAC地址和所述标识;
报文应答模块,与所述报文发送模块相连,用于供与所述标识相对应的远端MEP将所述第一MAC地址作为目的地址发送第一应答报文,其中所述第一应答报文中包含所述远端MEP的第二MAC地址;
绑定模块,与所述报文应答模块相连,用于将所述第二MAC地址与所述远端MEP标识相关联,完成本端MEP与远端MEP的MAC地址的绑定。
根据本发明提供的MAC地址相互绑定的系统,其中,所述标识获取模块通过执行CFM协议中的LB命令来获取远端MEP的标识。
根据本发明提供的MAC地址相互绑定的系统,其中,在所述标识获取模块和所述报文发送模块之间还包括:
关联判断模块,用于判断所述远端MEP的标识是否已经和所述第二MAC地址相关联;其判断步骤包括:
基于所述远端MEP的标识查找所述远端MEP的学习MAC地址和静态绑定MAC地址,若所述学习MAC地址和所述静态绑定MAC地址中的任一个为有效,则所述远端MEP已经和所述第二MAC地址相关联;
若所述学习MAC地址和所述静态绑定MAC地址均无效,则所述远端MEP和所述第二MAC地址没有相关联。
根据本发明提供的MAC地址相互绑定的系统,其中,当所述远端MEP和所述第二MAC地址没有相关联时,所述第一消息报文为组播报文。
根据本发明提供的MAC地址相互绑定的系统,其中,所述报文应答模块发送第一应答报文的步骤包括:
所述远端MEP接收所述组播报文进行解析;
将所述第一MAC地址作为所述第一应答报文的目的地址,并将所述第二MAC地址作为源地址,完成所述第一应答报文的封装;
所述远端MEP将所述第一应答报文发送至所述本端MEP。
与现有技术相比,本发明只需要在本端MEP接口下执行一次CFM的LB功能,即可学习到远端MEP的MAC地址,既不需要依赖CEM中的CC功能,也不需要静态绑定远端MEP的MAC地址和标识。因此本发明可大大减少对带宽和CPU资源的占用,并实现配置的灵活迁移。
参照附图来阅读对于示例性实施例的以下描述,本发明的其它特性特征和优点将变得清晰。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本领域普通技术人员熟知的是,CFM主要通过如下5个报文来实现监控和管理功能,分别为:
连续性检查消息(CCM,Continuity Check Message):一个组播的CFM协议数据单元。MEP(维护联合端点)周期性发送CCM,以确认MA(维护联合)拥有的MEP通过此MA时的连续性。
链路跟踪消息(LTM,Link Trace Message,):MEP发起的一个CFM PDU用来追踪从MIP(维护域中间点)到达目标MAC地址的路径,直到LTM到达它的目的MEP或者不能再被转发。路径中的每个MP(维护点)都会产生一个LTR(Link Trace Reply,链路跟踪响应)。
链路跟踪响应(LTR,Link Trace Reply):MP从MEP接收到LTM后,发送的回溯到源MEP的单播报文。
环回消息(LBM,Loop Back Message):MEP发送到指定MP的单播CFM PDU,并期待接收LBR。
环回响应(LBR,Loop Back Reply):MP收到从MEP发来的LBM后,发送的回溯到该MEP的单播报文。
本发明提出的将本端MEP与远端MEP的MAC地址相互绑定的技术方案,不再使用惯常的CC功能,而是利用CFM中的LB(环回)功能来绑定远端MEP的MAC地址,从而能够达到减少资源占用、灵活配置的目的。本发明首先通过执行LB命令获取远端MEP的标识;通过获取的标识判断是否已进行了绑定;若尚未绑定,则通过本端MEP发送LBM组播报文以及远端MEP应答LBR单播报文的方式来学习远端MEP的MAC地址并实现绑定。
其中通过获取的标识判断是否已进行了绑定的方法为:用所获取的标识的数值作为关键字,从MAC地址表中查找远端MEP的学习MAC地址和静态绑定MAC地址。如果这两个MAC地址中的任意一个地址有效,就表明,已经静态绑定了远端MEP的MAC地址或已经完成了MAC地址的学习。反之,两个地址都无效时,则需要学习MAC地址并实现绑定。
本发明的MAC地址相互绑定的方法具体包括以下步骤:
S1:获取远端MEP的标识;
S2:向所述远端MEP发送第一消息报文,所述第一消息报文中包含所述本端MEP的第一MAC地址;
S3:所述远端MEP将所述第一MAC地址作为目的地址发送第一应答报文,所述第一应答报文中包含所述远端MEP的第二MAC地址;
S4:将所述第二MAC地址与所述远端MEP的标识相关联,完成本端MEP与远端MEP的MAC地址的绑定。
其中,本发明的步骤S1中通过执行CFM协议中的LB命令来获取远端MEP的标识。
优选的,所述步骤S2之前还包括判断所述远端MEP是否已经和所述第二MAC地址相关联的步骤,具体包括:
基于所述远端MEP的标识查找所述远端MEP的学习MAC地址和静态绑定MAC地址,若所述学习MAC地址和所述静态绑定MAC地址中的任一个为有效,则所述远端MEP已经和所述第二MAC地址相关联;
若所述学习MAC地址和所述静态绑定MAC地址均无效,则所述远端MEP和所述第二MAC地址没有相关联。
根据本发明提出的MAC地址相互绑定的方法,其中,当所述远端MEP和所述第二MAC地址没有相关联时,所述第一消息报文为组播报文,则所述步骤S3包括:
S31:所述远端MEP接收所述组播报文并进行解析;
S32:将所述第一MAC地址作为所述第一应答报文的目的地址,并将所述第二MAC地址作为源地址,完成所述第一应答报文的封装;
S33:所述远端MEP将所述第一应答报文发送至所述本端MEP。
根据本发明提出的MAC地址相互绑定的方法,其中,所述步骤S4包括:
S41:所述本端MEP接收所述第一应答报文并进行解析;
S42:完成所述本端MEP与所述远端MEP的MAC地址的绑定。
以下介绍本发明的具体实施方式。
图1示出了本发明中的本端MEP向远端MEP发送第一消息报文的流程图,涵盖了上述步骤S1和S2。请参阅图1,在完成CEM的基本配置后,本端MEP通过执行LB命令,从LB命令行中解析获取远端MEP的标识,用该标识的数值作为关键字去查找远端MEP的学习MAC地址和静态绑定MAC地址。如果这两个MAC地址中的任意一个地址有效,就表明,已经静态绑定了远端MEP的MAC地址或已经完成了MAC地址的学习。反之,两个地址都无效时,则需要学习MAC地址并实现绑定。继续执行下面的流程。
对LBM第一消息报文进行封装,目的地址为组播MAC地址。在一具体实施例中,该组播MAC地址共48bit,前44bit为Y.1731协议规定的固定地址“01:80:C2:00:00:3x”,后4bit为本端MEP的维护域等级(共8个等级,数值0到7)。源地址为本端MEP的端口MAC地址。组装完成后的LBM,通过下发通道转发到转发芯片,转发芯片对报文进行解析,通过二层逻辑,查询MAC表,找到报文的业务出接口,通过出接口转发到远端EMP。
图2示出了本发明的远端MEP向本端MEP发送第一应答报文的流程图。远端MEP的端口收到组播的LBM第一消息报文后,由转发芯片的访问控制表匹配报文的关键字段后,将命中的LBM第一消息报文通过上送通道,交给软件进行处理。软件解析LBM第一消息报文,将LBM的源MAC地址字段作为LBR第一应答报文的目的MAC,并将本MEP的端口地址作为源MAC地址,完成LBR单播第一应答报文的封装后,再由软件通过下发通道,转发到转发芯片,同样通过二层逻辑,查询MAC表,找到报文的业务出接口,并通过出接口转发到源端MEP。
图3示出了本发明的本端MEP同远端MEP的学习MAC地址相互绑定的流程图。本端MEP端口收到LBR第一应答报文后,同样由转发芯片的访问控制表,匹配报文关键字段后,将命中报文通过上送通道,转给软件进行处理。软件从LBR第一应答报文中解析出源MAC地址后和远端MEP的标识对应起来,完成绑定。这样本端MEP就学习到了远端MEP的MAC地址。
本发明同时还提供了一种实现本端MEP与远端MEP的MAC地址相互绑定的系统,包括:
标识获取模块,用于获取远端MEP的标识;
报文发送模块,与所述标识获取模块相连,用于供本端MEP向所述远端MEP发送第一消息报文,其中所述第一消息报文中包含所述本端MEP的第一MAC地址和所述标识;
报文应答模块,与所述报文发送模块相连,用于供与所述标识相对应的远端MEP将所述第一MAC地址作为目的地址发送第一应答报文,其中所述第一应答报文中包含所述远端MEP的第二MAC地址;
绑定模块,与所述报文应答模块相连,用于将所述第二MAC地址与所述远端MEP标识相关联,完成本端MEP与远端MEP的MAC地址的绑定。
优选的,所述标识获取模块通过执行CFM协议中的LB命令来获取远端MEP的标识。
优选的,在所述标识获取模块和所述报文发送模块之间还包括:
关联判断模块,用于判断所述远端MEP的标识是否已经和所述第二MAC地址相关联;其判断步骤包括:
基于所述远端MEP的标识查找所述远端MEP的学习MAC地址和静态绑定MAC地址,若所述学习MAC地址和所述静态绑定MAC地址中的任一个为有效,则所述远端MEP已经和所述第二MAC地址相关联;
若所述学习MAC地址和所述静态绑定MAC地址均无效,则所述远端MEP和所述第二MAC地址没有相关联。
根据本发明提出的MAC地址相互绑定的系统,其中,当所述远端MEP和所述第二MAC地址没有相关联时,所述第一消息报文为组播报文。
根据本发明提出的MAC地址相互绑定的系统,其中,所述报文应答模块发送第一应答报文的步骤包括:
所述远端MEP接收所述组播报文进行解析;
将所述第一MAC地址作为所述第一应答报文的目的地址,并将所述第二MAC地址作为源地址,完成所述第一应答报文的封装;
所述远端MEP将所述第一应答报文发送至所述本端MEP。
具体实施例请参阅图4,为本发明的MAC地址相互绑定的系统的结构示意图,该系统包括标识获取模块、关联判断模块、报文发送模块、报文应答模块和绑定模块。
其中,标识获取模块用于通过执行CFM协议中的LB命令获取远端MEP的标识;关联判断模块与标识获取模块相连,用于判断远端MEP的标识是否已经和第二MAC地址相关联;报文发送模块与关联判断模块相连,用于供本端MEP向远端MEP发送第一消息报文,其中第一消息报文中包含本端MEP的第一MAC地址;报文应答模块与报文发送模块相连,用于供远端MEP将第一MAC地址作为目的地址发送第一应答报文,其中第一应答报文中包含远端MEP的第二MAC地址;绑定模块与报文应答模块相连,用于将所述第二MAC地址与所述远端MEP标识相关联,完成本端MEP与远端MEP的MAC地址的绑定。
上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。