CN102891902B - 介质访问控制地址更新方法及网络设备 - Google Patents
介质访问控制地址更新方法及网络设备 Download PDFInfo
- Publication number
- CN102891902B CN102891902B CN201210369959.3A CN201210369959A CN102891902B CN 102891902 B CN102891902 B CN 102891902B CN 201210369959 A CN201210369959 A CN 201210369959A CN 102891902 B CN102891902 B CN 102891902B
- Authority
- CN
- China
- Prior art keywords
- mac address
- node
- message
- mac
- amendment
- 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
- Small-Scale Networks (AREA)
Abstract
本发明提供一种MAC地址更新方法及网络设备。方法包括:第一节点向同一条链路上的第二节点发送MAC地址更新请求,以使所述第二节点根据所述MAC地址更新请求将自身保存的所述第一节点的MAC地址进行更新后,返回MAC地址更新确认消息给所述第一节点;如果接收到所述第二节点返回的MAC地址更新确认消息,使用更新后的MAC地址作为所述第一节点的MAC地址。一种网络设备包括:发送模块和处理模块。再一种网络设备包括:接收模块、更新模块和发送模块。本发明实施例提供的方案,不会形成现有技术中的路由黑洞。
Description
技术领域
本发明涉及通讯技术,尤其涉及一种介质访问控制(Media AccessControl,简称为:MAC)地址更新方法及网络设备。
背景技术
随着各种新型业务的出现,中间系统到中间系统路由协议(Intermediate System to Intermediate System,简称为:IS-IS)由于其特有的灵活性和可扩展性,越来越受到更多用户的青睐。IS-IS现有的在广播以太链路中的邻居协商机制是一个三次握手的过程,两邻居节点R1和R2的初始邻接状态都为未建立邻居关系(Down),R2发送IS-IS你好HELLO(你好)报文给R1,HELLO报文中的邻居三元组,即报文类型-长度-报文内容(type-length-value,简称为:TLV)不包含R1的MAC地址。R1在收到R2的HELLO报文,将邻接状态从Down改为初始化(Init),然后发送HELLO报文给R2,该HELLO报文中邻居三元组TLV中包含R2的MAC地址。R2接收到R1的HELLO报文,发现邻居三元组TLV中包括自己的MAC地址,邻接状态从Down直接转为上线建立邻居关系(Up),并发送HELLO报文给R1,本次HELLO报文中携带R1的MAC地址。R1接收到R2的HELLO报文,发现邻居三元组TLV中包含自己的MAC地址,邻接状态从Init转为Up。
在越来越复杂的网络环境中,上述邻居协商机制的缺陷也逐渐显现:如果某一邻居节点(如R2)根据管理的要求修改了自身的MAC地址,而MAC地址在现有的邻居协商机制中并不属于IS-IS的配置,所以R2不会发送HELLO报文通知R1其本地MAC地址的改变,而是按照正常流程,在HELLO报文的定时发送周期到达时才会发送HELLO报文,并在HELLO报文中携带修改后的MAC报文,R1在收到HELLO报文之后,发现R2的MAC地址与记录的MAC地址不一致,直接丢弃该HELLO报文,直到与R2的邻居关系超时,删除与R2的邻居关系,然后根据新的MAC地址重新执行三次握手过程建立新的邻居关系。在此期间,R1会丢弃掉全部R2发来的协议报文,导致R1无法学习到R2的最新路由。与此同时,R1发送给R2的HELLO报文中邻居三元组TLV携带的还是R2修改之前的MAC地址,R2在接收到上述HELLO信息后,会将与R1的邻居关系从Up变为Init,然后重新进行路由计算,删除R2到R1的路由,直到与R1的邻居关系超时后,删除与R1的邻居关系,并根据新的MAC地址与R1建立新的邻居关系,重新进行路由计算之后,才会对目的为R1或经R1中转的数据报文进行正常转发。上述这种情况会导致从R2改变MAC地址开始,到R1与R2重新建立邻居关系之间的这段时间内,R1和R2之间形成了一个路由黑洞,所有通过R2转发到R1的数据报文都会被R2丢弃,路由无法收敛。
发明内容
本发明提供一种可以有效克服现有技术中因邻居节点MAC地址修改而造成的路由黑洞问题的MAC地址更新方法及网络设备。
本发明的第一个方面是提供一种MAC地址更新方法,包括:
第一节点向同一条链路上的第二节点发送MAC地址更新请求,以使所述第二节点根据所述MAC地址更新请求将自身保存的所述第一节点的MAC地址进行更新后,返回MAC地址更新确认消息给所述第一节点;
如果接收到所述第二节点返回的MAC地址更新确认消息,使用更新后的MAC地址作为所述第一节点的MAC地址。
本发明的第二个方面是提供一种MAC地址更新方法,包括:
第二节点接收同一条链路上的第一节点发送的MAC地址更新请求;
根据所述MAC地址更新请求将已保存的所述第一节点的MAC地址进行更新,并返回MAC地址更新确认消息给所述第一节点。
本发明的第三个方面是提供一种网络设备,包括:
发送模块,用于向同一条链路上的第二节点发送介质访问控制MAC地址更新请求,以使所述第二节点根据所述MAC地址更新请求将自身保存的该网络设备的MAC地址更新后,返回MAC地址更新确认消息给该网络设备;
处理模块,用于如果接收到所述第二节点返回的MAC地址更新确认消息,使用更新后的MAC地址作为自身的MAC地址。
本发明的第四个方面是提供一种网络设备,包括:
接收模块,用于接收同一条链路上的第一节点发送的MAC地址更新请求;
更新模块,用于根据所述MAC地址更新请求将已保存的所述第一节点的MAC地址进行更新;
发送模块,用于返回MAC地址更新确认消息给所述第一节点。
本发明提供的方案,在同一条链路的邻居节点根据第一节点发送的MAC地址更新请求更新了自身保存的第一节点的MAC地址,返回MAC地址更新确认消息之后,使用更新后的MAC地址作为第一节点的MAC地址,不会形成现有技术中的路由黑洞。
附图说明
图1为本发明实施例一提供的MAC地址更新方法的流程图;
图2为本发明实施例二提供的MAC地址更新方法的流程图;
图3为本发明实施例三提供的MAC地址更新方法的流程图;
图4为本发明实施例四提供的MAC地址更新方法的流程图;
图5为本发明实施例五提供的网络设备的结构示意图;
图6为本发明实施例六提供的网络设备的结构示意图;
图7为本发明实施例七提供的网络设备的结构示意图;
图8为本发明实施例八提供的网络设备的结构示意图;
图9为本发明实施例九提供的网络设备的结构示意图。
具体实施方式
图1为本发明实施例一提供的MAC地址更新方法的流程图,如图1所示,该方法包括:
101、第一节点向同一条链路上的第二节点发送MAC地址更新请求,以使第二节点根据该MAC地址更新请求将自身保存的第一节点的MAC地址进行更新后,返回MAC地址更新确认消息给第一节点。
对于以太网链路上的网络设备(又可以称为:节点),如果与其他节点建立的是广播类型的邻居关系,那么该节点的邻居节点可以是一个,也可以是多个;如果与其他节点建立的是点对点类型的邻居关系,那么该节点的邻居节点有且只有一个。也就是说,其中的第一节点可以理解为一种泛指,泛指同一条以太网链路中的任一邻居节点。第二节点既可以是一种泛指,泛指与第一节点位于同一条以太网链路上的任一广播类型的邻居节点,也可以是一种特指,特指与第一节点位于同一条以太网链路上的唯一的点对点类型的邻居节点。当第二节点为泛指时,第一节点通过广播的形式将MAC地址更新请求发送给同一条以太网链路中的全部广播类型的邻居节点;当第二节点为特指时,MAC地址更新请求仅发送给唯一的点对点类型的邻居节点。
103、如果接收到第二节点返回的MAC地址更新确认消息,使用更新后的MAC地址作为第一节点的MAC地址。
这里需要说明的是,对于第二节点为泛指的情况,第一节点需要接收到全部广播类型的邻居节点返回的MAC地址更新确认消息,才能够使用更新后的MAC地址作为第一节点的MAC地址。接收到全部广播类型的邻居节点的MAC地址更新确认消息,意味着同一条链路的全部广播类型的邻居节点都已经根据第一节点发送的MAC地址更新请求更新了自身保存的第一节点的MAC地址,这种情况下可以使用修改后的MAC地址,而不会形成现有技术中的路由黑洞。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图2为本发明实施例二提供的MAC地址更新方法的流程图,如图2所示,在图1所示的MAC地址更新方法的基础上,101之前,该方法还可以包括:
100、第一节点接收修改MAC地址通告消息,构造MAC地址更新请求。
修改MAC地址通告消息可以是系统管理员人工触发的,也可以是基于试验、工作等目的自动触发的。
其中,构造MAC地址更新请求可以但不限于利用现有技术中的HELLO报文。具体的,可以将第一节点修改前的MAC地址作为源MAC地址携带在HELLO报文的报头中,报头的保留字段中将该HELLO报文标识为MAC地址更新请求;将修改前的MAC地址和修改后的MAC地址携带在该HELLO报文的三元组TLV中,两个MAC地址之间插入间隔符。对于第二节点为泛指的情况,可以使用HELLO报文的邻居三元组TLV;对于第二节点为特指的情况,HELLO报文中并不包括邻居三元组TLV,所以可以新构造一个三元组TLV。这里间隔符的作用可以理解为将修改前和修改后的MAC地址进行分隔,该间隔符可以是无意义或者协议中不使用的MAC地址,如全0的MAC地址等形式。本发明实施例并不对间隔符的具体形式进行限定,上述举例并不用以限制本发明的保护范围。
一种实施方式下,在执行103中的步骤“使用更新后的MAC地址作为第一节点的MAC地址”之前,该方法还可以包括:
判断是否使用该更新后的MAC地址作为第一节点的MAC地址;
如果是,使用更新后的MAC地址作为第一节点的MAC地址;
如果否,向第二节点发送MAC地址更新出错消息,使得第二节点根据接收到的MAC地址更新出错消息将已保存的第一节点的MAC地址更新为修改前的MAC地址。
对于此判断动作需要说明的是,该判断动作的主要作用在于,如果第一节点确实发送了MAC地址更新请求给第二节点,这时第一节点会判定可以使用更新后的MAC地址作为自身的MAC地址;如果第一节点并没有向第二节点发送MAC地址更新请求,就说明第二节点接收到的MAC地址更新请求是是伪造的,并不是第一节点发送的,这时第一节点会判定不使用更新后的MAC地址作为自身的MAC地址。增加了上述步骤的方法实施例,可以有效识别伪造的MAC地址更新请求,保证第一节点的MAC地址不被任意篡改。
MAC地址更新出错消息可以但不限于通过如下方式进行构造:将第一节点修改前的MAC地址作为源MAC地址携带在HELLO报文的报头中,该报头的保留字段中将该HELLO报文标识为MAC地址更新出错消息;在HELLO报文的三元组TLV中携带两个第一节点修改前的MAC地址,两个修改前的MAC地址之间插入间隔符。对于这两个第一节点修改前的MAC地址而言,第一个修改前的MAC地址用于代表第一节点的原始MAC地址,第二个修改前的MAC地址用于代表第一节点当前的MAC地址,两个是相同的,代表第一节点的MAC地址不发生改变。对于第二节点为泛指的情况,可以使用HELLO报文的邻居三元组TLV;对于第二节点为特指的情况,可以新构造一个三元组TLV。这里间隔符的作用可以理解为将两个修改前的MAC地址进行分隔,该间隔符可以是无意义或者协议中不使用的MAC地址,如全0的MAC地址等形式。本发明实施例并不对间隔符的具体形式进行限定,上述举例并不用以限制本发明的保护范围。
上面的实施例主要是从第一节点的角度对本发明的内容进行了描述,下面,从与第一节点同一链路的任意一个邻居节点作为执行主体的角度对本发明的内容进行更为详细的描述。
图3为本发明实施例三提供的MAC地址更新方法的流程图,如图3所示,该方法包括:
301、第二节点接收同一条链路上的第一节点发送的MAC地址更新请求。
303、根据MAC地址更新请求将已保存的第一节点的MAC地址进行更新,并返回MAC地址更新确认消息给第一节点。
上述301和303中提到的第一节点可以理解为上述方法实施例中提到的第一节点,而第二节点可以理解为一种代指,用于代指与第一节点在同一条链路上的任一邻居节点。
一种实施方式下,MAC地址更新请求中携带了第一节点的标识、第一节点修改前的MAC地址和修改后的MAC地址,那么303中根据MAC地址更新请求将已保存的第一节点的MAC地址进行更新具体可以包括:
根据第一节点的标识查询第一节点是否属于已建立邻居关系(UP)的邻居节点;如果是已建立邻居关系的邻居节点,在第一节点的三元组TLV中查询是否存在修改前的MAC地址;如果存在,将已保存的第一节点的MAC地址由修改前的MAC地址更新为修改后的MAC地址。
图4为本发明实施例四提供的MAC地址更新方法的流程图,如图4所示,在上述实施方式的基础上,303之后,该方法还可以包括:
305、第二节点接收IS-IS报文,该IS-IS报文的报头中携带第一节点修改前的MAC地址。
需要说明的是,该IS-IS报文可以是第一节点发送的,这种实施方式下,该IS-IS报文可以也很可能是第一节点发送的MAC地址更新出错消息。该IS-IS报文也可以是其他节点甚至至攻击者伪造的,那么通过如下的步骤可以有效识别这两种情况,以避免合法MAC地址被阻止,或者受到非法MAC地址的攻击。
307、第二节点发送MAC合法性验证消息给第一节点,并接收第一节点返回的MAC合法性响应消息。
如果MAC合法性响应消息的报头中携带的是第一节点修改前的MAC地址,则将修改前的MAC地址确定为第一节点的合法MAC地址,将修改后的MAC地址确定为非法MAC地址;将已保存的第一节点的MAC地址由修改后的MAC地址更新为修改前的MAC地址。
具体的,如果第二节点为泛指,也就是说,第二节点指代的是第一节点的广播类型的邻居节点,那么当第二节点是中间指定系统(DesignatedIntermediate System,简称为:DIS)时,307中提到的MAC合法性验证消息为不携带第一节点的链路状态包(Link-State Packet,简称为:LSP)报文摘要内容的完整时序报文(Complete Serial Number Packet Data Unit,简称为:CSNP)报文,MAC合法性响应消息为LSP报文。当第一节点是DIS时,307中提到的MAC合法性验证消息为部分时序报文(Partial Sequence Number PacketData Unit,简称为:PSNP)报文,MAC合法性响应消息为LSP报文。如果第二节点为特指,也就是说,第二节点指代的是第一节点的唯一的点对点类型的邻居节点,那么MAC合法性验证消息为不携带第一节点的LSP报文摘要内容的CSNP报文,MAC合法性响应消息为LSP报文。
增加305以及307的主要目的在于:第二节点可以通过305以及307来识别出邻居节点(如第一节点)的合法或者非法MAC地址。具体而言,当第二节点接收到第一节点发送的IS-IS报文时,发现该IS-IS报文中携带的是第一节点修改前的MAC地址,这时第二节点会发送MAC合法性验证消息给第一节点,并根据第一节点返回的MAC合法性响应消息来判断,到底修改前的MAC地址是第一节点的合法MAC地址,还是修改后的MAC地址是第一节点的合法MAC地址。识别出合法或非法MAC地址之后,便可以进行如下实施例提供的步骤。
在图4所示的方法实施例的基础上,如果307中确定第一节点修改后的MAC地址被确定为非法MAC地址,本发明实施例还可以包括:对接收到的报文头中携带有该非法MAC地址的IS-IS报文个数进行统计;如果预定时间内的统计个数超过预设阀值,不需要等一个HELLO报文的发送周期,立即对该非法MAC地址进行阻断;如果预定时间内的统计个数不超过预设阀值,等一个HELLO报文的发送周期之后,对该非法MAC地址进行阻断。
进一步的,对该非法MAC地址进行阻断之后,将该统计个数清零。
图5为本发明实施例五提供的网络设备的结构示意图,该网络设备可以是上述方法实施例中提到的第一节点的一种实现方式,其方法步骤可以参考方法实施例中有关第一节点的方法步骤,此处不做赘述。如图5所示,该网络设备可以包括:发送模块501和处理模块502,其中,发送模块501用于向同一条链路上的第二节点发送介质访问控制MAC地址更新请求,以使所述第二节点根据所述MAC地址更新请求将自身保存的该网络设备的MAC地址更新后,返回MAC地址更新确认消息给该网络设备;处理模块502用于如果接收到所述第二节点返回的MAC地址更新确认消息,使用更新后的MAC地址作为自身的MAC地址。
图6为本发明实施例六提供的网络设备的结构示意图,在图5所示的网络设备的基础上,该网络设备还可以包括:接收模块503和构造模块504。其中的接收模块503用于接收修改MAC地址通告消息;构造模块504用于构造所述MAC地址更新请求。
具体的,构造模块504可以包括:MAC地址更新请求构造单元,用于将所述网络设备修改前的MAC地址作为源MAC地址携带在你好HELLO报文的报头中,在所述HELLO报文的报头的保留字段中将所述HELLO报文标识为MAC地址更新请求;将所述网络设备修改前的MAC地址和修改后的MAC地址携带在所述HELLO报文的三元组TLV中,所述修改前的MAC地址和所述修改后的MAC地址之间插入间隔符。
在图6所示的网络设备的基础上,处理模块502还可以用于:使用更新后的MAC地址作为所述网络设备的MAC地址之前,判断是否使用更新后的MAC地址作为所述网络设备的MAC地址;如果所述处理模块502的判断结果为否,所述发送模块501还用于:向所述第二节点发送MAC地址更新出错消息,以使所述第二节点根据所述MAC地址更新出错消息将已保存的所述网络设备的MAC地址更新为修改前的MAC地址。
在上述实施方式的基础上,构造模块504还可以包括:MAC地址更新出错消息构造单元,用于将所述网络设备修改前的MAC地址作为源MAC地址携带在你好HELLO报文的报头中,所述报头的保留字段中将该HELLO报文标识为MAC地址更新出错消息;在HELLO报文的三元组TLV中携带两个所述网络设备修改前的MAC地址,两个所述修改前的MAC地址之间插入间隔符。
图7为本发明实施例七提供的网络设备的结构示意图,该网络设备可以是上述方法实施例中提到的第二节点的一种实现方式,其方法步骤可以参考方法实施例中有关第二节点的方法步骤,此处不做赘述。如图7所示,该网络设备可以包括:接收模块701、更新模块702以及发送模块703,其中,接收模块701用于接收同一条链路上的第一节点发送的MAC地址更新请求;更新模块702用于根据所述MAC地址更新请求将已保存的所述第一节点的MAC地址进行更新;发送模块703用于返回MAC地址更新确认消息给所述第一节点。
一种实施方式下,接收模块701接收到的MAC地址更新请求中携带所述第一节点的标识、修改前的MAC地址和修改后的MAC地址;所述更新模块702包括:第一查询单元,用于根据所述第一节点的标识查询所述第一节点是否属于已建立邻居关系的邻居节点;第二查询单元,用于如果第一查询单元的查询结果为是,在所述第一节点的三元组TLV中查询是否存在所述修改前的MAC地址;更新单元,用于如果第二查询单元的查询结果为存在,则将所述已保存的所述第一节点的MAC地址由所述修改前的MAC地址更新为所述修改后的MAC地址。
在上述实施方式的基础上,接收模块701还用于在所述发送模块703返回MAC地址更新确认消息给所述第一节点之后,接收中间系统到中间系统路由协议IS-IS报文,所述IS-IS报文的报头中携带有所述第一节点修改前的MAC地址;所述发送模块703还用于:发送MAC合法性验证消息给所述第一节点;所述接收模块701还用于:接收所述第一节点返回的MAC合法性响应消息;如图8所示的本发明实施例八提供的网络设备的结构示意图,所述网络设备还包括:确定模块704,用于如果所述接收模块701接收到的MAC合法性响应消息的报头中携带的是所述第一节点修改前的MAC地址,则将所述修改前的MAC地址确定为合法MAC地址,将所述修改后的MAC地址确定为非法MAC地址;所述更新模块702还用于:将所述已保存的所述第一节点的MAC地址由所述修改后的MAC地址更新为所述修改前的MAC地址。
其中,如果所述网络设备与所述第一节点之间为广播类型的邻居关系,且所述网络设备是中间指定系统DIS,所述发送模块发送的所述MAC合法性验证消息为不携带邻居的链路状态包LSP报文摘要内容的完整时序CSNP报文;所述接收模块接收的所述MAC合法性响应消息为LSP报文;如果所述网络设备与所述第一节点之间为广播类型的邻居关系,且所述第一节点是DIS,所述发送模块发送的所述MAC合法性验证消息为部分时序PSNP报文,所述接收模块接收的所述MAC合法性响应消息为LSP报文;如果第二节点与第一节点之间为点对点类型的邻居关系,MAC合法性验证消息为不携带邻居的链路状态包LSP报文摘要内容的完整时序CSNP报文;MAC合法性响应消息为LSP报文。
一种实施方式下,上述提到的IS-IS报文为MAC地址更新出错消息。
图9为本发明实施例九提供的网络设备的结构示意图,如图9所示,该网络设备还可以包括:统计模块705和阻断模块706,其中,统计模块705用于所述确定模块将所述修改后的MAC地址确定为非法MAC地址之后,对所述接收模块接收到的报文头中携带所述非法MAC地址的IS-IS报文个数进行统计;阻断模块706用于如果预定时间内所述统计模块的统计个数超过预设阀值,对所述非法MAC地址进行阻断。
在上述实施方式的基础上,统计模块705还用于:在所述阻断模块706对所述非法MAC地址进行阻断之后,将所述统计个数清零。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (16)
1.一种介质访问控制MAC地址更新方法,其特征在于,包括:
第一节点向同一条链路上的第二节点发送MAC地址更新请求,以使所述第二节点根据所述MAC地址更新请求将自身保存的所述第一节点的MAC地址进行更新后,返回MAC地址更新确认消息给所述第一节点;
如果接收到所述第二节点返回的MAC地址更新确认消息,使用更新后的MAC地址作为所述第一节点的MAC地址;
所述第一节点向同一条链路上的第二节点发送MAC地址更新请求之前,所述方法还包括:
接收修改MAC地址通告消息,构造所述MAC地址更新请求;
所述构造所述MAC地址更新请求包括:
将所述第一节点修改前的MAC地址作为源MAC地址携带在你好HELLO报文的报头中,在所述HELLO报文的报头的保留字段中将所述HELLO报文标识为MAC地址更新请求;
将所述第一节点修改前的MAC地址和修改后的MAC地址携带在所述HELLO报文的三元组类型-长度-内容TLV中,所述修改前的MAC地址和所述修改后的MAC地址之间插入间隔符。
2.根据权利要求1所述的方法,其特征在于,所述使用更新后的MAC地址作为所述第一节点的MAC地址之前,所述方法还包括:
判断是否使用更新后的MAC地址作为所述第一节点的MAC地址;
如果否,向所述第二节点发送MAC地址更新出错消息,以使所述第二节点根据所述MAC地址更新出错消息将已保存的第一节点的MAC地址更新为修改前的MAC地址。
3.根据权利要求2所述的方法,其特征在于,所述MAC地址更新出错消息通过如下方式构造:
将所述第一节点修改前的MAC地址作为源MAC地址携带在你好HELLO报文的报头中,所述报头的保留字段中将该HELLO报文标识为MAC地址更新出错消息;
在HELLO报文的三元组TLV中携带两个所述第一节点修改前的MAC地址,两个所述修改前的MAC地址之间插入间隔符。
4.一种介质访问控制MAC地址更新方法,其特征在于,包括:
第二节点接收同一条链路上的第一节点发送的MAC地址更新请求;
根据所述MAC地址更新请求将已保存的所述第一节点的MAC地址进行更新,并返回MAC地址更新确认消息给所述第一节点;
所述MAC地址更新请求中携带所述第一节点的标识、修改前的MAC地址和修改后的MAC地址;所述根据所述MAC地址更新请求将已保存的所述第一节点的MAC地址进行更新,包括:
根据所述第一节点的标识查询所述第一节点是否属于已建立邻居关系的邻居节点;
如果是,在所述第一节点的三元组类型-长度-内容TLV中查询是否存在所述修改前的MAC地址;
如果存在,将所述已保存的所述第一节点的MAC地址由所述修改前的MAC地址更新为所述修改后的MAC地址。
5.根据权利要求4所述的方法,其特征在于,所述返回MAC地址更新确认消息给所述第一节点之后,所述方法还包括:
所述第二节点接收中间系统到中间系统路由协议IS-IS报文,所述IS-IS报文的报头中携带有所述第一节点修改前的MAC地址;
所述第二节点发送MAC合法性验证消息给所述第一节点,接收所述第一节点返回的MAC合法性响应消息;
如果所述MAC合法性响应消息的报头中携带的是所述第一节点修改前的MAC地址,则将所述修改前的MAC地址确定为合法MAC地址,将所述修改后的MAC地址确定为非法MAC地址;
将所述已保存的所述第一节点的MAC地址由所述修改后的MAC地址更新为所述修改前的MAC地址。
6.根据权利要求5所述的方法,其特征在于:
如果所述第二节点与所述第一节点之间为广播类型的邻居关系,且所述第二节点是中间指定系统DIS时,所述MAC合法性验证消息为不携带邻居的链路状态包LSP报文摘要内容的完整时序CSNP报文;所述MAC合法性响应消息为LSP报文;
如果所述第二节点与所述第一节点之间为广播类型的邻居关系,且所述第一节点是DIS时,所述MAC合法性验证消息为部分时序PSNP报文,所述MAC合法性响应消息为LSP报文;
如果所述第二节点与所述第一节点之间为点对点类型的邻居关系,所述MAC合法性验证消息为不携带邻居的链路状态包LSP报文摘要内容的完整时序CSNP报文;所述MAC合法性响应消息为LSP报文。
7.根据权利要求5所述的方法,其特征在于,所述IS-IS报文为MAC地址更新出错消息。
8.根据权利要求5所述的方法,其特征在于,所述将所述修改后的MAC地址确定为非法MAC地址之后,所述方法还包括:
对接收到的报文头中携带所述非法MAC地址的IS-IS报文个数进行统计;
如果预定时间内的统计个数超过预设阀值,对所述非法MAC地址进行阻断。
9.一种网络设备,其特征在于,包括:
发送模块,用于向同一条链路上的第二节点发送介质访问控制MAC地址更新请求,以使所述第二节点根据所述MAC地址更新请求将自身保存的该网络设备的MAC地址更新后,返回MAC地址更新确认消息给该网络设备;
处理模块,用于如果接收到所述第二节点返回的MAC地址更新确认消息,使用更新后的MAC地址作为自身的MAC地址;
接收模块,用于接收修改MAC地址通告消息;
构造模块,用于构造所述MAC地址更新请求;
所述构造模块包括:
MAC地址更新请求构造单元,用于将所述网络设备修改前的MAC地址作为源MAC地址携带在你好HELLO报文的报头中,在所述HELLO报文的报头的保留字段中将所述HELLO报文标识为MAC地址更新请求;将所述网络设备修改前的MAC地址和修改后的MAC地址携带在所述HELLO报文的三元组类型-长度-内容TLV中,所述修改前的MAC地址和所述修改后的MAC地址之间插入间隔符。
10.根据权利要求9所述的网络设备,其特征在于,所述处理模块还用于:使用更新后的MAC地址作为所述网络设备的MAC地址之前,判断是否使用更新后的MAC地址作为所述网络设备的MAC地址;
如果所述处理模块的判断结果为否,所述发送模块还用于:
向所述第二节点发送MAC地址更新出错消息,以使所述第二节点根据所述MAC地址更新出错消息将已保存的所述网络设备的MAC地址更新为修改前的MAC地址。
11.根据权利要求10所述的网络设备,其特征在于,所述构造模块还包括:
MAC地址更新出错消息构造单元,用于将所述网络设备修改前的MAC地址作为源MAC地址携带在你好HELLO报文的报头中,所述报头的保留字段中将该HELLO报文标识为MAC地址更新出错消息;在HELLO报文的三元组TLV中携带两个所述网络设备修改前的MAC地址,两个所述修改前的MAC地址之间插入间隔符。
12.一种网络设备,其特征在于,包括:
接收模块,用于接收同一条链路上的第一节点发送的MAC地址更新请求;
更新模块,用于根据所述MAC地址更新请求将已保存的所述第一节点的MAC地址进行更新;
发送模块,用于返回MAC地址更新确认消息给所述第一节点;
所述接收模块接收到的MAC地址更新请求中携带所述第一节点的标识、修改前的MAC地址和修改后的MAC地址;所述更新模块包括:
第一查询单元,用于根据所述第一节点的标识查询所述第一节点是否属于已建立邻居关系的邻居节点;
第二查询单元,用于如果第一查询单元的查询结果为是,在所述第一节点的三元组TLV中查询是否存在所述修改前的MAC地址;
更新单元,用于如果第二查询单元的查询结果为存在,则将所述已保存的所述第一节点的MAC地址由所述修改前的MAC地址更新为所述修改后的MAC地址。
13.根据权利要求12所述的网络设备,其特征在于,所述接收模块还用于:在所述发送模块返回MAC地址更新确认消息给所述第一节点之后,接收中间系统到中间系统路由协议IS-IS报文,所述IS-IS报文的报头中携带有所述第一节点修改前的MAC地址;
所述发送模块还用于:发送MAC合法性验证消息给所述第一节点;
所述接收模块还用于:接收所述第一节点返回的MAC合法性响应消息;
所述网络设备还包括:
确定模块,用于如果所述接收模块接收到的MAC合法性响应消息的报头中携带的是所述第一节点修改前的MAC地址,则将所述修改前的MAC地址确定为合法MAC地址,将所述修改后的MAC地址确定为非法MAC地址;
所述更新模块还用于:将所述已保存的所述第一节点的MAC地址由所述修改后的MAC地址更新为所述修改前的MAC地址。
14.根据权利要求13所述的网络设备,其特征在于:
如果所述网络设备与所述第一节点之间为广播类型的邻居关系,且所述网络设备是中间指定系统DIS,所述发送模块发送的所述MAC合法性验证消息为不携带邻居的链路状态包LSP报文摘要内容的完整时序CSNP报文;所述接收模块接收的所述MAC合法性响应消息为LSP报文;
如果所述网络设备与所述第一节点之间为广播类型的邻居关系,且所述第一节点是DIS,所述发送模块发送的所述MAC合法性验证消息为部分时序PSNP报文,所述接收模块接收的所述MAC合法性响应消息为LSP报文;
如果所述网络设备与所述第一节点之间为点对点类型的邻居关系,所述发送模块发送的所述MAC合法性验证消息为不携带邻居的链路状态包LSP报文摘要内容的完整时序CSNP报文;所述接收模块接收的所述MAC合法性响应消息为LSP报文。
15.根据权利要求13所述的网络设备,其特征在于,所述IS-IS报文为MAC地址更新出错消息。
16.根据权利要求13所述的网络设备,其特征在于,还包括:
统计模块,用于所述确定模块将所述修改后的MAC地址确定为非法MAC地址之后,对所述接收模块接收到的报文头中携带所述非法MAC地址的IS-IS报文个数进行统计;
阻断模块,用于如果预定时间内所述统计模块的统计个数超过预设阀值,对所述非法MAC地址进行阻断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210369959.3A CN102891902B (zh) | 2012-09-28 | 2012-09-28 | 介质访问控制地址更新方法及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210369959.3A CN102891902B (zh) | 2012-09-28 | 2012-09-28 | 介质访问控制地址更新方法及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102891902A CN102891902A (zh) | 2013-01-23 |
CN102891902B true CN102891902B (zh) | 2015-05-20 |
Family
ID=47535263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210369959.3A Active CN102891902B (zh) | 2012-09-28 | 2012-09-28 | 介质访问控制地址更新方法及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102891902B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104703211B (zh) * | 2013-12-04 | 2018-06-19 | 华为技术有限公司 | 一种虚拟化接入方法及设备 |
CN104135441B (zh) * | 2014-08-11 | 2017-10-27 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN105119821A (zh) * | 2015-08-12 | 2015-12-02 | 安徽皖通邮电股份有限公司 | 一种is-is协议向ldp协议协商邻居的方法系统 |
CN108093093B (zh) * | 2016-11-23 | 2020-07-17 | 大唐移动通信设备有限公司 | 一种更新源设备中目的设备地址表的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1625867A (zh) * | 2002-04-18 | 2005-06-08 | 诺基亚公司 | 用于经由无线局域网的业务选择的方法、系统与设备 |
CN1852330A (zh) * | 2005-10-21 | 2006-10-25 | 华为技术有限公司 | 虚拟终端临时媒体访问控制地址动态变更的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI113515B (fi) * | 2002-01-18 | 2004-04-30 | Nokia Corp | Osoitteistus langattomissa lähiverkoissa |
-
2012
- 2012-09-28 CN CN201210369959.3A patent/CN102891902B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1625867A (zh) * | 2002-04-18 | 2005-06-08 | 诺基亚公司 | 用于经由无线局域网的业务选择的方法、系统与设备 |
CN1852330A (zh) * | 2005-10-21 | 2006-10-25 | 华为技术有限公司 | 虚拟终端临时媒体访问控制地址动态变更的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102891902A (zh) | 2013-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107104836A (zh) | Zigbee设备的固件升级方法和装置 | |
CN101540731B (zh) | 一种三层报文转发方法及装置 | |
CN101753458B (zh) | 一种nd邻居表项的处理方法及装置 | |
CN101911595A (zh) | 以太环网的非反向模式中的故障恢复方法 | |
CN102891902B (zh) | 介质访问控制地址更新方法及网络设备 | |
CN104243630A (zh) | Vxlan网络中的mac地址学习方法及装置 | |
CN101022392A (zh) | 一种基于虚拟局域网的数据交换方法及设备 | |
CN103516612A (zh) | 分布式路由器中生成路由表项的方法及分布式路由器 | |
US8208401B2 (en) | Method of managing address spaces of incommunicable nodes in ZigBee network | |
CN101663865A (zh) | 智能数据库交换 | |
CN102984739A (zh) | 故障信息处理方法及装置 | |
CN101132374A (zh) | 一种发送报文的方法及装置 | |
CN107465621A (zh) | 一种路由器发现方法、sdn控制器、路由器和网络系统 | |
CN100596087C (zh) | Ftn匹配管理方法 | |
CN101414979B (zh) | 标签分发消息的处理方法及标签交换路由器 | |
CN114448858B (zh) | 报文广播方法、装置、网络设备和存储介质 | |
CN110868348B (zh) | 多网关通信的方法、装置、系统以及电子设备 | |
CN102171977A (zh) | 层级基于移动性标签网络 | |
CN102752144B (zh) | 一种软重启不中断业务升级过程中拓扑变化的处理方法及装置 | |
CN102045228B (zh) | 一种环网保护信息的发现方法及系统 | |
CN101626341B (zh) | 链路状态协议下的信息同步方法及装置 | |
CN100420245C (zh) | 路由器内部物理设备配置管理方法及系统 | |
CN114430390B (zh) | 一种用于获取跨域链路的方法及装置 | |
CN102045254B (zh) | 路由表的扩展处理方法、装置和网络设备 | |
CN104079485A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |