Vlan状态的协商方法及边缘设备的制作方法

文档序号:7858244阅读:154来源:国知局
专利名称:Vlan状态的协商方法及边缘设备的制作方法
技术领域
本发明涉及通信技术领域,特别涉及ー种VLAN状态的协商方法及边缘设备。
背景技术
EVI (Ethernet Virtual Interconnection,以太网连接虚拟化)是一种以太网互联的技术,可以在异地部署多个数据中心来实现负载分担和高可靠性,并通过虚拟机在数据中心之间进行自由迁移。ー个大的数据中心可以由分布在不同地点的多个站点(site)组成。在利用EVI技术构建的数据中心网络(称为EVI网络)中,站点通过边缘设备(EdgeDeviCe,ED)接入核心网时,为了实现高可靠性,防止网络中设备的单点故障,通常使用两台 边缘设备以双归属方式(即两台边缘设备归属ー个站点)接入核心网(这两台边缘设备互为同一 EVI实例的邻居)。在以双归属方式接入核心网的站点中,可能会存在环路。为了防止环路,目前通常采用的解决方法是在一个站点内,使姆ー个VLAN (Virtual Local AreaNetwork,虚拟局域网)的数据流必须从同一个边缘设备进出核心网,该VLAN即为该边缘设备的激活VLAN,即,每ー个VLAN只能是站点内的ー个边缘设备的激活VLAN。边缘设备的激活VLAN的集合是配置的扩展VLAN (即,私网VLAN)的子集,从某个特定的扩展VLAN角度来看,网络仍然是单归属的,从而不存在环路。在如图I所示的EVI双归属网络中,站点I内的边缘设备EDl和ED2以双归属方式接入核心网(即图中的EVI),EDl和ED2通过CE (Customer Edge,用户边缘设备)10下挂了大量的服务器和主机设备;站点2内的边缘设备ED3和ED4以双归属方式接入核心网,ED3和ED4通过CE20下挂了大量的服务器和主机设备。VLAN100在EDl和ED4上为激活VLAN,在ED2和ED3上为非激活VLAN,从而VLAN100的数量流只会在EDl和ED4这两个边缘设备之间进出核心网,站点I内和站点2内不会存在环路。为了实现在一个站点内,ー个VLAN的数据流只从同一个边缘设备进出核心网,同一个站点内的各个边缘设备(即归属于同一个站点的两台边缘设备)在站点内的网络上运行站点内 ISIS (Intermediate System-to-Intermediate System,中间系统到中间系统)协议,来协商各个边缘设备的激活VLAN与非激活VLAN。必须保证同一个站点内的边缘设备相互之间的可达性,以完成站点内ISIS协议报文的交互过程,在规划数据中心网络时要配置独立的控制VLAN来承载站点内ISIS协议报文。在现有技术中,每ー个边缘设备的用户VLAN状态有两个=Active (激活)和Inactive (非激活),只有用户VLAN的状态处于Active的边缘设备才会转发该VLAN中的数据流,具体的用户VLAN状态协商过程如下边缘设备双方交互Site ISIS Hello (站点内ISIS邻居发现)报文来形成邻居关系,并且在初始化时双方中的用户VLAN的状态均为Active ;然后,双方通过两者之间的连接接ロ相互发送协议报文,以相互通告各自配置的扩展VLAN ;之后,双方在接收到对方发送的协议报文之后,各自独立地在本地按照某种算法进行运算,以便从扩展VLAN中选择自己的激活VLAN和非激活VLAN,其中,针对每ー个VLAN都按照相同的方式运算;最后双方各自按照自己选择的激活VLAN和非激活VLAN修改各个VLAN的属性。例如,图I中的EDl和ED2通过上述协商过程进行协商之后,得到VLAN100对于EDl为Active VLAN,而对于ED2为Inactive VLAN,之后EDl和ED2各自修改VLAN100的属性。因此,在站点I中,仅由EDl来转发VLAN100的数据流。由上可知,在边缘设备进行用户VLAN状态协商的过程中,由于初始化时双方中的用户VLAN的状态均为Active,这样,在最终修改各个VLAN的属性之前,双方都认为自己的VLAN是Active VLAN,从而会导致在一定时间内某ー个VLAN对于双方都是Active VLAN的情况,当ー个VLAN对于同一站点内的两台双归属边缘设备都是Active VLAN时,这两台边缘设备都会转发该VLAN的数据 流,该站点内的网络中便会存在环路,导致大量环路报文冲击下挂的服务器和主机设备。并且,协商双方在选择各自的激活VLAN和非激活VLAN吋,是各自独立地在本地进行运算,双方都不知道对方的选择结果,这样可能会出现双方都选择某ー个VLAN为Active VLAN的情況,站点内的网络中同样存在环路。

发明内容
有鉴于此,本发明提供了ー种VLAN状态的协商方法及边缘设备,以至少解决现有技术的协商导致的网络环路问题。本发明的技术方案如下一方面,提供了ー种VLAN状态的协商方法,该方法应用于EVI网络,该方法包括第一边缘设备对站点内同一 EVI实例的邻居第二边缘设备进行身份认证,并在身份认证成功之后,将该EVI实例对应的VLAN的状态从初始状态切換到交换状态;其中,边缘设备上VLAN的状态处于初始状态或交換状态时,该边缘设备不允许转发该EVI实例对应的VLAN中的报文,边缘设备初始化后,其上该EVI实例对应的VLAN的状态进入初始状态;第ー边缘设备与第二边缘设备相互通告各自所确定的VLAN的最終状态;且第一边缘设备判断自己与第二边缘设备所确定的VLAN的最終状态是否相同;若第一边缘设备判定出自己与第ニ边缘设备所确定的VLAN的最终状态不同,则第一边缘设备将VLAN的状态从交换状态切换到自己所确定的最終状态;其中,当该最终状态为激活状态时,第一边缘设备允许转发该VLAN中的报文,当该最终状态为非激活状态时,第一边缘设备不允许转发该VLAN中的报文;若第一边缘设备判定出自己与第二边缘设备所确定的VLAN的最終状态相同,则第一边缘设备将VLAN的状态从交换状态切换到初始状态。另ー方面,还提供了一种边缘设备,应用于EVI网络,边缘设备包括身份认证模块,用于对本边缘设备所在的站点内与本边缘设备为同一 EVI实例的邻居第二边缘设备进行身份认证;VLAN状态切换模块,用于在身份认证模块对第二边缘设备进行身份认证成功之后,将本边缘设备的该EVI实例对应的VLAN的状态从初始状态切換到交換状态,以及,在判断模块判定出本边缘设备与第二边缘设备所确定的VLAN的最终状态不同吋,将VLAN的状态从交換状态切换到本边缘设备所确定的最终状态,在判断模块判定出本边缘设备与第ニ边缘设备所确定的VLAN的最终状态相同时,将VLAN的状态从交換状态切换到初始状态;其中,边缘设备上VLAN的状态处于初始状态或交换状态时,该边缘设备不允许转发该EVI实例对应的VLAN中的报文,边缘设备初始化后,其上该EVI实例对应的VLAN的状态进入初始状态;当本边缘设备所确定的VLAN的最終状态为激活状态时,本边缘设备允许转发该VLAN中的报文,当本边缘设备所确定的VLAN的最终状态为非激活状态时,本边缘设备不允许转发该VLAN中的报文;确定通告模块,用于在VLAN状态切换模块将VLAN的状态从初始状态切换到交换状态之后,与第二边缘设备相互通告本边缘设备与第二边缘设备所确定的VLAN的最終状态;判断模块,用于判断本边缘设备与第二边缘设备所确定的VLAN的最終状态是否相同。本发明的以上技术方案,协商的边缘设备双方VLAN初始化时即进入初始状态,在对对方进行身份认证成功后,将VLAN从初始状态切换到交換状态,在VLAN处于交换状态时,会将各自确定的VLAN的最終状态(激活或非激活状态)通告给对方,在确定自己与对方确定的VLAN的最终状态不同吋,才会将VLAN从交换状态切换到自己所确定的最终状态。由于边缘设备上的ー个VLAN在初始状态或交换状态中时该边缘设备均不允许转发该VLAN中的报文,因此,在协商开始时以及协商过程中,网络中均不可能存在环路,而且,边缘设备在确定自己与对方确定的VLAN的最终状态不同吋,才会将VLAN从交换状态切换到自己所确定的最终状态,从而能够确保在EVI双归属网络中同一个VLAN在两台边缘设备上是处于不同的最終状态,即只会在一台边缘设备上是Active状态,而在另一台边缘设备上是Inactive状态,不可能出现两台边缘设备上都是Active状态或者都是Inactive状态的情 况,进ー步消除了环路存在的可能性,从而通过优化EVI双归属网络的VLAN状态协商机制,从根本上消除了协商导致的网络环路,维护了双归属网络的稳定性。


图I是现有技术的EVI双归属网络的架构示意图;图2是根据本发明的实施例一的VLAN状态的转移图;图3是按照如图2所示的状态转移图执行的VLAN状态协商方法的ー种流程图;图4是按照如图2所示的状态转移图执行的VLAN状态协商方法的另ー种流程图;图5是根据本发明的实施例ニ的VLAN状态协商的方法的流程示意图;图6是根据本发明的实施例三的边缘设备的ー种结构示意图;图7是根据本发明的实施例三的边缘设备的另一种结构示意图;图8是根据本发明的实施例三的边缘设备的又一种结构示意图;图9是根据本发明的实施例四的边缘设备的ー种结构示意图;图10是根据本发明的实施例四的边缘设备的另一种结构示意图。
具体实施例方式为了解决现有技术的VLAN状态协商方法所导致的网络环路问题,本发明以下实施例对现有技术进行了改进,提供了一种可以应用于EVI双归属网络中的VLAN (也可称为用户VLAN)状态协商的改进方法以及可以应用该方法的边缘设备,能够避免在协商过程中以及协商完成后网络中出现环路,减少EVI双归属网络中的广播风暴。本发明以下实施例中,为每ー个ED设备的VLAN状态增加了两个中间状态Initial (初始)状态和Exchange (交換)状态,S卩,VLAN存在三个状态=Initial状态、Exchange状态和最终状态(最终状态为Active状态或Inactive状态)。其中,Initial状态用于标识VLAN的初始状态(即VLAN初始化时的状态),Exchange状态用于标识ED设备开始协商以及协商过程中VLAN的状态(即VLAN在协商过程中的状态),Inactive状态和Active状态为最終的结果状态。一般情况下,只有Active状态的VLAN才能保证公网侧和用户侧之间的数据流互通,Inactive状态的VLAN可以按照用户的配置要求选择性丢弃数据报文,而中间状态Initial和Exchange则不允许进行数据报文转发,在预防环路要求高的组网环境下会优先选择丢弃数据报文,也就是说,边缘设备上的ー个VLAN的状态处于Initial状态、Exchange状态、或Inactive状态时,该边缘设备不允许转发该VLAN中的数据报文,只有处于Active状态时,该边缘设备才允许转发该VLAN中的数据报文。并且,边缘设备初始化后,其上VLAN的状态即进入Initial状态。实施例一图2是根据本发明的实施例一的VLAN状态的转移图,在图2中示出了边缘设备上的每ー个VLAN在Initial状态、Exchange状态和最终状态这三个状态之间进行状态迁移的情況。按照如图2所示的状态转移图,本发明实施例一的EVI双归属网络中的VLAN状态协商方法如图3所示,该方法可以由EVI双归属网络中的站点内的任意一台边缘设备(可以称为第一边缘设备)执行。如图3所示,该协商方法包括以下步骤 步骤S302,当VLAN处于Initial状态时,第一边缘设备对站点内同一 EVI实例的邻居第二边缘设备进行身份认证,若身份认证成功,则进入步骤S304,否则,进入步骤S306 ;步骤S304,第一边缘设备将该EVI实例对应的VLAN的状态从Initial状态切换到Exchange 状态;在步骤S302-S304中,当VLAN的状态处于Initial状态时,第一边缘设备向第ニ边缘设备发送身份认证消息;同样,第二边缘设备也会向第一边缘设备发送身份认证消息,第一边缘设备在接收到第二边缘设备发来的身份认证消息之后,就会对第二边缘设备进行身份认证,若身份认证成功,则第一边缘设备将VLAN的状态从Initial状态切换到Exchange状态。例如身份认证消息中可以包含用于唯一标识一台边缘设备的桥MAC(Media Access Control,媒体访问控制)和身份识别信息,身份识别信息可以包括用户配置的密码和加密算法(如MD5),那么,具体的身份认证过程可以为第一边缘设备接收到第ニ边缘设备发来的身份认证消息之后,将该身份认证消息中携帯的第二边缘设备的桥MAC与本地保存的相关列表中的桥MAC进行匹配,若匹配到该列表中的ー个桥MAC,则将该列表中对应该桥MAC的密码以及该身份认证消息中携帯的第二边缘设备的密码按照该身份认证消息中携帯的加密算法进行运算,对运算得到的结果进行合法性检查,若检查通过,则身份认证成功,否则,身份认证不成功。或者,身份识别信息也可以仅包括密码,此时,身份认证过程可以为第一边缘设备接收到第二边缘设备发来的身份认证消息之后,将该身份认证消息中携帯的第二边缘设备的桥MAC与本地保存的相关列表中的桥MAC进行匹配,若匹配到该列表中的ー个桥MAC,则对该身份认证消息中携帯的密码进行合法性检查,若检查通过,则身份认证成功,否则,身份认证不成功。显然,也可以采用其他的具体的身份认证方式,本发明对此不做限定。ー种应用场景中,某一个站点内开始时可能只配备了第一边缘设备这一台ED设备,该第一边缘设备接入核心网,负责转发该站点内的服务器和PC (即第一边缘设备连接的CE下挂的大量的服务器和PC)与核心网之间交互的报文,那么,第一边缘设备上电后,所有实例内的VLAN即进入Initial状态,同时设备上电后也会不停地周期性发送Hello报文,若在一定时间Tl的超时等待后未探測到任何邻居的存在(即,在一定时间内未接收到Hello报文),则VLAN从Initial状态切换到Exchange状态,其中,Tl可以设置为30秒,一般Hello报文的发送时间间隔通常是10秒,因此,可以将Tl设置为3倍的Hello报文的发送时间间隔;进入Exchange状态之后,若在一定时间T2的超时等待后仍没有探測到任何邻居,则从Exchange状态切换到Active状态,其中,T2可以设置为6秒,当VLAN状态消息的发送时间间隔(一般情况下,考虑到网络丢包问题,一般会多发几个VLAN状态消息)为3秒时,可以将T2设置为2倍的VLAN状态消息的发送时间间隔)。之后,为了防止站点网络中设备的单点故障,又在该站点内増加一台ED设备(即第二边缘设备),让这两台边缘设备以双归属方式接入核心网(此时这两台边缘设备双归属于该站点)时,此时,第一边缘设备探测到站点内有同一 EVI实例的邻居第二边缘设备(即接收到第二边缘设备发来Hello报文)存在且接收到第二边缘设备发来的身份认证消息之后(第一边缘设备在探测到站点内有同一 EVI实例的邻居第二边缘设备之后,会周期性地向第二边缘设备发送身份认证消息,同样,第二边缘设备在探测到站点内有同一 EVI实例的邻居第一边缘设备之后,也会周期性地向第一边缘设备发送身份认证消息,直至身份认证成功或者探测不到该邻居),根据该身份认证消息对第二边缘设备进行身份认证(具体身份认证过程同上,这里不再赘述),若身 份认证成功,则第一边缘设备会将VLAN从Active状态进入到Initial状态来与第二边缘设备进行VLAN状态协商(具体过程详见步骤S302 S314、或者步骤S302’ S318’ );若身份认证失败,则第一边缘设备丢弃该身份认证消息,不会进行状态切換。还有ー种可能的应用场景,某一个站点内开始时就配备了第一边缘设备和第二边缘设备这两台ED设备,让这两台边缘设备以双归属方式接入核心网,此时,两台边缘设备同时上电,上电后双方中所有VLAN即进入Initial状态,并且上电后双方均不停地周期性发送Hello报文,在一定时间内接收到对方的Hello报文后会自动认定探测到邻居并建立邻居关系,探测到邻居之后即周期性地向该邻居发送身份认证消息,在接收到对方的身份认证消息并进行身份认证成功后,即将VLAN切換到Exchange,具体过程详见步骤S302 S314、或者步骤 S302, S318,。每一台边缘设备在上电后,即一直周期性地发送Hello报文,并且在探測到有邻居存在之后,即周期性地向该邻居发送身份认证消息,直至身份认证成功,或者超时收不到该邻居发来的Hello报文(即认为该邻居不存在了)。或者,每一台边缘设备在VLAN状态迁移到Initial状态后,也会周期性地向对端邻居发送身份认证消息,以重新进行身份认证和状态协商过程。步骤S306,第一边缘设备将VLAN的状态维持在Initial状态,返回步骤S302 ;步骤S308,当VLAN的状态进入到Exchange状态之后,第一边缘设备确定自己的VLAN的最終状态,然后与第二边缘设备相互通告各自所确定的VLAN的最終状态;具体可以通过以下步骤f 3来完成步骤1,当VLAN的状态处于Exchange状态时,第一边缘设备向第二边缘设备发送VLAN状态消息,该VLAN状态消息中包含有自己的EVI属性信息(EVI属性信息可以由用户根据实际需要进行设置)和要进行协商的VLAN,其中,EVI属性信息可以包括EVI实例(instance)标识符(用于唯一标识ー个EVI实例)、EVI实例优先级和要进行协商的VLAN的优先级;在实际实施吋,可以针对ー个VLAN发送ー个VLAN状态消息,此时,要进行协商的VLAN即为所针对的那ー个VLAN ;如果正好有多个VLAN同时进入到Exchange状态,也可以针对这多个VLAN发送ー个VLAN状态消息,此时,要进行协商的VLAN即为这多个VLAN。同样,第二边缘设备也会将自己的EVI属性信息和要协商的VLAN携带在VLAN状态消息中发送给第一边缘设备,并且,在接收到第一边缘设备的VLAN状态消息之后,就可以根据第一边缘设备的EVI属性信息和第二边缘设备的EVI属性信息,来确定第二边缘设备的VLAN的最终状态,并可以将所确定的VLAN的最终状态通过VLAN状态消息通告给第一边缘设备;步骤2,第一边缘设备接收到第二边缘设备发来的VLAN状态消息之后,根据自己的EVI属性信息和该VLAN状态消息中携帯的第二边缘设备的EVI属性信息,确定自己的VLAN的最终状态,并保存到本地,同时通过VLAN状态消息将自己所确定的VLAN的最终状态通告给第二边缘设备; 由于状态协商是基于EVI实例的,而ー个EVI实例中又包含有多个VLAN,因此,在确定自己的VLAN的最终状态时,若自己的EVI实例优先级高于对方的EVI实例优先级,则该EVI实例中包含的所有VLAN的最终状态均确定为Active ;若EVI实例优先级相同,则分别比较每ー个VLAN的优先级,优先级高的为Active,若VLAN优先级也相同,则设备的桥MAC地址大的为Active。显然,EVI属性信息中还可以包含有其他信息,例如,自定义的QoS字段等,该自定义的QoS字段例如可以为边缘设备允许的最大带宽,此时,若边缘设备的桥MAC也相同,则允许的最大带宽最大的为Active,本发明对此不做限定。针对不同的EVI属性信息,也可以采用多种不同的方式确定VLAN的最終状态,本发明对此不做限定。步骤3,第一边缘设备接收第二边缘设备发来的携帯有第二边缘设备所确定的VLAN的最终状态的VLAN状态消息,并将第二边缘设备所确定的VLAN的最终状态保存到本地,然后进入步骤S310。步骤S310,第一边缘设备判断自己与第二边缘设备所确定的VLAN的最終状态是否相同,若不同,则进入步骤S312,否则,进入步骤S314 ;第一边缘设备在步骤S308中接收到第二边缘设备发来的携帯有第二边缘设备的VLAN的最终状态的VLAN状态消息之后,比较自己确定的VLAN的最终状态与第二边缘设备确定的VLAN的最终状态,两者不相同,即,针对同一个VLAN,ー个ED设备确定的是Active状态,另ー个ED设备确定的是Inactive状态;两者相同,即,针对同一个VLAN,两台ED设备均确定的是Active状态,或者均确定的是Inactive状态。步骤S312,第一边缘设备将VLAN的状态从Exchange状态切换到自己所确定的最终状态;例如,第一边缘设备在步骤S308中确定的自己的VLAN的最终状态为Active状态,则在步骤S312中,将VLAN的状态从Exchange状态切换到Active状态,或者,第一边缘设备在步骤S308中确定的自己的VLAN的最终状态为Inactive状态,则在步骤S312中,将VLAN的状态从Exchange状态切换到Inactive状态。步骤S314,第一边缘设备将VLAN的状态从Exchange状态切换到Initial状态,并返回步骤S302。在实际实施过程中,考虑到网络中存在抖动或延迟,为了避免边缘设备错误地将VLAN从Exchange状态切换到最终状态,协商的双方在判定出自己与对方确定的VLAN的最终状态不同之后,还可以再向对方进行VLAN状态的确认,确认成功后,才将VLAN从Exchange状态切换到自己所确定的最终状态。这样,本发明实施例的VLAN状态协商方法的另ー种实施方式可以是步骤S302’ S308’,同上述步骤S302 S308,这里不再赘述;步骤S310’,第一边缘设备判断自己与第二边缘设备所确定的VLAN的最終状态是否相同,若不同,则进入步骤S312’,否则,进入步骤S318’ ;第一边缘设备在步骤S308’中接收到第二边缘设备发来的携帯有第二边缘设备的VLAN的最终状态的VLAN状态消息之后,比较自己确定的VLAN的最终状态与第二边缘设备确定的VLAN的最终状态,两者不相同,即,针对同一个VLAN,ー个ED设备确定的是Active状态,另ー个ED设备确定的是Inactive状态;两者相同,即,针对同一个VLAN,两台ED设备均确定的是Active状态,或者均确定的是Inactive状态。 步骤S312 ’,第一边缘设备向第二边缘设备发送确认消息,其中,确认消息中携帯有自己所确定的VLAN的最终状态和第二边缘设备所确定的VLAN的最终状态(在步骤S308’中获得);同样,第二边缘设备也会向第一边缘设备发送携帯有自己和第一边缘设备确定的VLAN的最终状态的确认消息。步骤S314’,在接收到第二边缘设备发来的确认消息之后,第一边缘设备判断接收到的确认消息中携帯的第一边缘设备和第二边缘设备所确定的VLAN的最終状态是否分别与本地保存的对应的最終状态一致,若均一致,则进入步骤S316’,否则(其中任意ー个不一致,即,接收到的确认消息中携帯的第一边缘设备所确定的VLAN的最終状态与本地保存的对应的最終状态不一致,或者,接收到的确认消息中携帯的第二边缘设备所确定的VLAN的最終状态与本地保存的对应的最終状态不一致),进入步骤S318’ ;第一边缘设备会判断接收到的确认消息中携帯的第一边缘设备确定的VLAN的最终状态与本地保存的自己确定的VLAN的最终状态是否一致,并且,判断接收到的确认消息中携帯的第二边缘设备确定的VLAN的最终状态与本地保存的第二边缘设备确定的VLAN的最終状态是否一致。例如,接收到的确认消息中携帯的第一边缘设备和第二边缘设备所确定的VLAN的最终状态分别为Active状态和Inactive状态,若第一边缘设备本地保存的自己和第二边缘设备确定的VLAN的最终状态也分别为Active状态和Inactive状态,则进入步骤S316’,若第一边缘设备本地保存的自己和第二边缘设备确定的VLAN的最終状态分别为Inactive状态和Active状态,则进入步骤S318’。步骤S316’,第一边缘设备将VLAN的状态从Exchange状态切换到自己所确定的最终状态;同上述步骤S312,这里不再赘述。在进入最终状态之后,第一边缘设备和第二边缘设备会周期性地向对方发送确认消息以通告自己的VLAN状态,直至不再处于最终状态。步骤S318’,第一边缘设备将VLAN的状态从Exchange状态切换到Initial状态,并返回步骤S302’。上述两个实施方式中,在步骤S312或者S316’结束之后,至此一次VLAN状态协商过程完成,此时第一边缘设备和第二边缘设备上的VLAN的状态均处于最终状态,若后续第一边缘设备接收到了自己的邻居第二边缘设备发来的身份认证消息(此时必定也会接收到第二边缘设备发来的Hello报文)之后,就会根据该身份认证消息对第二边缘设备进行身份认证,在身份认证成功之后,会将VLAN的状态从最终状态切換到Initial状态,以重新进行协商(再次执行步骤S302飞314、或者步骤S302’飞318’),其中,该身份认证消息是第ニ边缘设备在以下信息至少之ー EVI属性信息、身份识别信息、桥MAC发生改变后发送的。也就是说,第二边缘设备在自己的EVI属性信息、身份识别信息、和/或桥MAC发生了改变之后,会再次向自己的邻居第一边缘设备发送身份认证消息,这样,此时,第一边缘设备的VLAN若处于最终状态(Active或Inactive),则会在接收到第二边缘设备发来的Hello报文,即邻居关系存在(因为边缘设备会一直不停的周期性发送Hello报文),并且接收到第二边缘设备发来的身份认证消息以及身份认证成功之后,从最终状态切换到Initial状态,重新进行身份认证和状态协商。或者,第二边缘设备在进入站点后初次探测到站点内有同一 EVI实例的邻居第ー边缘设备存在时也会向第一边缘设备发送的身份认证消息,此时,第一边缘设备若处于最终状态(Active或Inactive),就在接收到第二边缘设备发来的Hello报文(由于边缘设 备上电后即不停地周期性发送Hello报文)以及身份认证消息,并对第二边缘设备进行身份认证成功之后,从最终状态切换到Initial状态,重新进行身份认证和状态协商。通过身份认证可以预防攻击。同样,当VLAN的状态处于最终状态时,在第一边缘设备的以下信息至少之ー EVI属性信息、身份识别信息、桥MAC发生改变之后,第一边缘设备也会向第二边缘设备发送身份认证消息(此时必然也会发送Hello报文),之后,就会将VLAN的状态从最終状态切换到初始状态。此外,在S316’结束之后,此时双方的VLAN均处于最终状态,如果第一边缘设备或第二边缘设备任何一方中,EVI属性信息发生了改变,而与身份相关的桥MAC和身份识别信息没有发生改变时,此时,也可以采取不返回Initial重新进行身份认证的方式,直接从当前最終状态更新为重新确定的最終状态。由干与身份相关的桥MAC和身份识别信息没有发生改变,因此双方无需再进行身份认证了,而只需要重新确定VLAN的最終状态即可。具体过程可以如下(I)第一边缘设备的EVI属性信息发生了改变时,步骤如下步骤11,当VLAN的状态处于最終状态时,在第一边缘设备的EVI属性信息发生改变之后,第一边缘设备将改变后的EVI属性信息携帯在VLAN状态消息中发送给第二边缘设备,以便第二边缘设备根据第二边缘设备的EVI属性信息以及该VLAN状态消息中携帯的第一边缘设备改变后的EVI属性信息,重新确定第二边缘设备的VLAN的最终状态;为了尽量节约报文资源,也可以仅将发生改变的字段携帯在确认消息中,例如,只有EVI属性信息中的EVI实例优先级发生了改变,则仅将改变后的EVI实例优先级携带在VLAN状态消息中即可。第二边缘设备会将重新确定的VLAN的最终状态通过VLAN状态消息通告给第一边缘设备。步骤12,第一边缘设备根据自己改变后的EVI属性信息和第二边缘设备的EVI属性信息(已经在步骤S308’中获得),重新确定自己的VLAN的最終状态并更新本地保存的对应的最终状态(即更新本地保存的第一边缘设备的VLAN的最終状态),同时通过VLAN状态消息通告给第二边缘设备;步骤13,在接收到第二边缘设备重新确定的VLAN的最终状态(携带在VLAN状态消息中)之后,第一边缘设备以第二边缘设备重新确定的VLAN的最終状态更新本地保存的对应的最終状态(即更新本地保存的第二边缘设备的VLAN的最終状态),并在判定出自己与第二边缘设备重新确定的VLAN的最終状态不同之后,向第二边缘设备发送确认消息;若自己与第二边缘设备重新确定的VLAN的最終状态相同,则按照如图2所示的状态转移图,将VLAN的状态从最终状态切换到初始状态;显然,该确认消息中携帯了第一边缘设备和第二边缘设备重新确定的VLAN的最终状态。步骤14,在接收到第二边缘设备发来的确认消息之后,若第一边缘设备判定出接 收的确认消息中携帯的第一边缘设备和第二边缘设备重新确定的VLAN的最終状态分别与本地保存的对应的最終状态一致,则第一边缘设备将自己的VLAN的最終状态更新为重新确定的最终状态。显然,若不一致,则将VLAN从最终状态切换到初始状态。例如,第一边缘设备更新前的VLAN最终状态为Active,重新确定的VLAN的最终状态为Inactive,贝U直接将VLAN的最终状态从Active更新为Inactive,而无需返回Initial状态。(2)第二边缘设备的EVI属性信息发生了改变时,步骤如下步骤21,当VLAN的状态处于最终状态时,第一边缘设备接收第二边缘设备在EVI属性信息发生改变后发来的携帯有改变后的EVI属性信息的VLAN状态消息;步骤22,第一边缘设备根据自己的EVI属性信息以及第ニ边缘设备改变后的EVI属性信息,重新确定自己的VLAN最終状态并更新本地保存的对应的最終状态,同时通告给第二边缘设备(可以将重新确定的VLAN的最终状态携带在VLAN状态消息中);步骤23,在接收到第二边缘设备重新确定的VLAN的最终状态(携带在VLAN状态消息中)之后,第一边缘设备以第二边缘设备重新确定的VLAN的最終状态更新本地保存的对应的最终状态,并在判定出自己与第二边缘设备重新确定的VLAN的最终状态不同之后,向第二边缘设备发送确认消息;若判定出自己与第二边缘设备重新确定的VLAN的最終状态相同,则将VLAN的状态从最终状态切换到初始状态;步骤24,在接收到第二边缘设备发来的确认消息之后,若第一边缘设备判定出接收的确认消息中携帯的第一边缘设备和第二边缘设备确定的VLAN的最終状态分别与本地保存的对应的最終状态一致,则第一边缘设备将自己的VLAN的最終状态更新为重新确定的最终状态。显然,若不一致,则将VLAN的状态从最终状态切换到初始状态。其中,第二边缘设备的执行步骤同(I)中的第一边缘设备,这里不再赘述。这样,协商双方可以直接在最终状态中进行状态更新,而无需返回Initial状态重新进行身份认证和状态协商过程,可以确保网络中的数据流不发生中断。在实际实施过程中,上述步骤S302 S314、和步骤S302’ S318’的两个实施方式中,VLAN的状态的协商可以是基于实例进行的,而每ー个实例又包含有多个VLAN,也就是说,协商时,可以同时协商ー个实例中的多个VLAN。但是,上述的状态转移是针对一个边缘设备上的ー个VLAN的,一个边缘设备上的各个VLAN相互独立地按照图2所示的状态转移图进行状态切換。上述的一个边缘设备所确定的VLAN的最終状态指的是,该边缘设备所确定的VLAN在本端的最终状态,例如,对于VLANl,第一边缘设备所确定的VLAN的最终状态即为=VLANl在第一边缘设备上的最终状态。本发明上述实施例中,协商的边缘设备双方VLAN初始化时即进入初始状态,对对方进行身份认证成功后,将VLAN从初始状态切换到交換状态,在VLAN处于交換状态时,会将各自确定的VLAN的最终状态(激活或非激活状态)通告给对方,在确定自己与对方确定的VLAN的最终状态不同吋,才会将VLAN从交换状态切换到自己所确定的最终状态。由于边缘设备上的ー个VLAN在初始状态或交换状态中时该边缘设备均不允许转发该VLAN中的报文,因此,在协商开始时以及协商过程中,网络中均不可能存在环路,而且,边缘设备在确定自己与对方确定的VLAN的最终状态不同吋,才会将VLAN从交换状态切换到自己所确定的最终状态,从而能够确保在EVI双归属网络中同一个VLAN在两台边缘设备上是处于不同的最終状态,即只会在一台边缘设备上是Active状态,而在另一台边缘设备上是Inactive状态,不可能出现两台边缘设备上都是Active状态或者都是Inactive状态的情况,进ー步 消除了环路存在的可能性。本发明实施例优化了 EVI双归属网络的VLAN状态协商机制,从根本上消除了协商导致的网络环路,维护了双归属网络的稳定性。另外,在协商双方相互交互自己的EVI属性信息之后,各自确定自己的VLAN的最终状态为激活或非激活状态,然后需要将自己确定的VLAN的最終状态通告给对方,各自判断自己确定的VLAN的最终状态与对方确定的是否相同,在不同时,才将自己的VLAN的状态从交换状态切换到自己确定的最終状态,这样做可以避免在链路不稳定的情况下的状态错误切換。例如,在链路状态不稳定的情况下,有可能收到的对端的EVI属性信息并不是最新的,比如,对端发了两个EVI属性信息,第一个中的VLAN优先级是10,而第二个中的VLAN优先级是20,本端ED上该VLAN的优先级是15,第二个信息才是最新的,但是由于链路发生了抖动,第二个信息先到,而第一个信息后到,此时若协商双方都不通告各自确定的VLAN的最终状态,收到对端的EVI属性信息确定了自己的VLAN的最终状态后就直接切換本地的VLAN状态的话,本端设备最终会按照第一个信息错误地计算出自己的VLAN的状态为激活并错误地进行了状态切换(而按照第二个信息计算出正确的状态应为非激活),对端按照第ニ个信息计算出的自己的状态也为激活状态,双方均为激活状态,于是发生了状态切换错误,导致环路的产生。而将自己确定的VLAN的最终状态通告给对方,在各自判断自己确定的VLAN的最终状态与对方确定的不相同时,才将自己的VLAN的状态从交換状态切换到自己确定的最終状态,这样,不管有没有链路抖动,只要发现对端和自己确定的结果相同,就重新协商,从而不会有环路产生。另外,确认消息也可以用于VLAN状态协商结束之后的状态维护,及时感知对端当前状态是否正确,实时防止环路。在实际应用中,对于中间状态Initial和Exchange,可以根据需要确定VLAN处于这两个中间状态时边缘设备要执行的操作,可以将这两个中间状态下的报文转发设置为丢弃,以防止环路。实施例ニ如图5所示,本实施例以EVI双归属网络中某一个站点内的两台边缘设备ED_A和ED_B为例,描述站点内两台ED设备之间的VLAN状态协商过程,以设备ED_A为例进行说明。在开始进行协商时,ED_A和ED_B两台设备上的VLAN都会进入到Initial状态,即使之前两个设备已经有其中之一或者两个设备均进入到Active状态或者Inactive状态时(当两个设备都是最終状态时,这种情况属于用户配置错误)。例如ー种应用场景中,某一个站点内开始时只配备了 ED_A这一台ED设备,ED_A接入核心网,负责转发该站点内的服务器和PC(即第一边缘设备连接的CE下挂的大量的服务器和PC)与核心网之间交互的报文,那么,ED_A上电后,所有实例内的VLAN即进入Initial状态,同时设备上电后也会不停地周期性发送Hello报 文,若在一定时间Tl的超时等待后未探测到任何邻居的存在,则VLAN从Initial状态切换到Exchange状态;进入Exchange状态之后,若在一定时间T2的超时等待后仍没有探測到任何邻居,则从Exchange状态切换到Active状态。之后,为了防止站点网络中设备的单点故障,又在该站点内増加了一台ED设备ED_B,让这两台边缘设备以双归属方式接入核心网(此时这两台边缘设备双归属于该站点)吋,此时,ED_A和ED_B各自都会探測到彼此的存在,建立邻居关系,并向对方周期性地发送身份认证消息。ED_A在探測到有邻居存在(即接收到Hello报文)且接收到该邻居发送的身份认证消息以及根据该身份认证消息对该邻居身份认证成功后,就会从Active状态进入到Initial状态。步骤1,ED_A进入Initial状态后,向监测到的站点内同一 EVI实例的邻居ED_B发送身份认证消息,其中,身份认证消息中携帯有ED_A的桥MAC和身份识别信息;同样,ED_B—入Initial状态后,也向监测到的站点内同一 EVI实例的邻居ED_A发送身份认证消息,其中,身份认证消息中携帯有ED_B的桥MAC和身份识别信息;步骤2,ED_A接收到ED_B,来的身份认证消息之后,根据其中携帯的ED_B的桥MAC和身份识别信息,对ED_B进行身份认证,身份认证成功后,即将VLAN从Initial状态切换到Exchange状态,若身份认证失败,则保持在Initial状态,以重新进行身份认证和状态协商;同样,ED_B也会执行相同的操作,这里不再赘述。步骤3,VLAN进入Exchange状态后,ED_A向ED_B发送VLAN状态消息,其中携带有自己的EVI属性信息,EVI属性信息可以包括EVI实例标识符、EVI实例优先级、EVI实例中包含的各个VLAN的VLAN优先级等,可以根据用户需要定制;同样,ED_B也会做同样的操作,这里不再赘述。步骤4,ED_A接收到ED_B发来的VLAN状态消息之后,根据该VLAN状态消息中携带的EVI属性信息以及自己的EVI属性信息,确定自己的VLAN的最终状态是Active状态还是Inactive状态,假设为Active状态,并将自己确定的VLAN最终状态通过VLAN状态消息发送到ED_B ;同样,设备ED_B也会做同样的操作,将自己确定的VLAN最终状态通过VLAN状态消息发送到ED_A,假设为Inactive状态,这里不再赘述。步骤5,ED_A接收到ED_B发送过来的VLAN最终状态=Inactive状态后,与本地自己确定的VLAN最终状态Active状态进行比较,发现本地是Active状态而ED_B是Inactive状态,即,本地自己确定的与ED_B确定的VLAN的最终状态不同,则认为VLAN最终状态认证合法,将自己确定的VLAN最终状态和ED_B确定的VLAN最终状态封装在ー个消息(称为确认消息)中发送到ED_B ;而若是接收到的ED_B确定的VLAN最终状态与本地自己确定的VLAN最终状态相同,则说明协商失败,将VLAN直接从Exchange返回到Initial状态重新执行身份认证;同样,ED_B也会将比较自己与ED_A确定的VLAN最终状态,并在不同时,将ED_A和自己确定的VLAN最終状态封装在确认消息中发送到ED_A,这里不再赘述。步骤6,ED_A接收到ED_B的确认消息后,与本地保存的VLAN最终状态进行比较,若一致,则将VLAN从Exchange切换到自己确认的最终状态Active,若不一致,则 直接返回到Initial状态重新进行身份认证。同样,ED_B也会执行相同的操作,这里不再赘述。
实施例三针对上述的实施例一和ニ中的方法,本发明实施例提供了一种边缘设备,可以使用上述实施例一和ニ的方法进行VLAN状态的协商,该边缘设备可以应用于EVI双归属网络中。如图6所示,该边缘设备包括身份认证模块10、VLAN状态切换模块20、确定通告模块30和判断模块40,其中身份认证模块10,用于对本边缘设备所在的站点内与本边缘设备为同一 EVI实例的邻居第二边缘设备进行身份认证;VLAN状态切换模块20,用于在身份认证模块10对第二边缘设备进行身份认证成功之后,将本边缘设备的该EVI实例对应的VLAN的状态从初始状态切換到交換状态,以及,在判断模块40判定出本边缘设备与第二边缘设备所确定的VLAN的最终状态不同吋,将VLAN的状态从交換状态切换到本边缘设备所确定的最终状态,在判断模块40判定出本边缘设备与第二边缘设备所确定的VLAN的最终状态相同时,将VLAN的状态从交換状态切换到初始状态;其中,边缘设备上VLAN的状态处于初始状态或交换状态时,该边缘设备不允许转发该EVI实例对应的VLAN中的报文,边缘设备初始化后,其上该EVI实例对应的VLAN的状态进入初始状态;当本边缘设备所确定的VLAN的最终状态为激活状态时,本边缘设备允许转发该VLAN中的报文,当本边缘设备所确定的VLAN的最终状态为非激活状态时,本边缘设备不允许转发该VLAN中的报文;确定通告模块30,用于在VLAN状态切换模块20将VLAN的状态从初始状态切換到交换状态之后,与第二边缘设备相互通告各自所确定的VLAN的最终状态;判断模块40,用于判断本边缘设备与第二边缘设备所确定的VLAN的最終状态是否相同。考虑到网络中存在抖动或延迟,为了避免边缘设备错误地将VLAN从Exchange状态切换到最终状态,协商的双方在判定出自己与对方确定的VLAN的最终状态不同之后,还可以再向对方进行VLAN状态的确认,确认成功后,才将VLAN从Exchange状态切换到自己所确定的最終状态。因此,如图7所示,边缘设备中还可以包括确认模块50,其中确认模块50用于在判断模块40判定出本边缘设备与第二边缘设备所确定的VLAN的最终状态不同之后,以及在VLAN状态切换模块20将VLAN的状态从交換状态切换到本边缘设备所确定的最終状态之前,向第二边缘设备发送确认消息,以及接收第二边缘设备发来的确认消息,其中,确认消息中携帯有本边缘设备和第二边缘设备所确定的VLAN的最終状态;判断模块40还用于判断确认模块50接收的确认消息中携帯的本边缘设备和第ニ边缘设备所确定的VLAN的最終状态是否分别与本边缘设备中保存的对应的最終状态ー致,并在一致吋,通知VLAN状态切换模块20将VLAN的状态从交换状态切换到本边缘设备所确定的最终状态。VLAN状态切换模块20还用于在判断模块40判定出确认模块50接收的确认消息中携帯的本边缘设备或第二边缘设备所确定的VLAN的最終状态与本边缘设备中保存的对应的最终状态不一致吋,将VLAN的状态从交換状态切换到初始状态;在判断模块40判定出本边缘设备与第二边缘设备所确定的VLAN的最终状态相同时,将VLAN的状态从交換状态切换到初始状态;以及,在身份认证模块10对第二边缘设备进行身份认证失败之后,将VLAN的状态维持在初始状态。如图8所示,身份认证模块10可以进一歩包括第一收发模块102和认证执行模 块104,则第一收发模块102在VLAN的状态处于初始状态时,向第二边缘设备发送身份认证消息,以及,接收第二边缘设备发来的身份认证消息;认证执行模块104在第一收发模块102接收到第二边缘设备发来的身份认证消息之后,对第二边缘设备进行身份认证,并在身份认证成功之后,通知VLAN状态切换模块20将VLAN的状态从初始状态切換到交換状态。如图8所示,确定通告模块30也可以进ー步包括第二收发模块302、状态确定模块304和保存模块306,则第二收发模块302,用于在VLAN的状态处于交换状态时,向第二边缘设备发送携带有本边缘设备的EVI属性信息的VLAN状态消息,以便第二边缘设备根据本边缘设备和第ニ边缘设备的EVI属性信息确定第二边缘设备的VLAN的最終状态,接收第二边缘设备发来的携帯有第二边缘设备的EVI属性信息的VLAN状态消息,将状态确定模块304所确定的本边缘设备的VLAN的最終状态通告给第二边缘设备(可以携带在VLAN状态消息中),以及,接收第二边缘设备发来的第二边缘设备所确定的VLAN的最終状态(可以携带在VLAN状态消息中),其中,EVI属性信息可以包括EVI实例标识符、EVI实例优先级和要进行协商的VLAN的优先级;状态确定模块304,用于根据本边缘设备和第二边缘设备的EVI属性信息,确定本边缘设备的VLAN的最终状态;保存模块306,用于保存状态确定模块304所确定的本边缘设备的VLAN的最终状态,以及第ニ收发模块302接收到的第二边缘设备所确定的VLAN的最終状态。其中,EVI属性信息可以包括EVI实例标识符、EVI实例优先级和要进行协商的VLAN的优先级;则,状态确定模块包括第一比较单元,用于比较本边缘设备的EVI实例优先级与第二边缘设备的EVI实例优先级;确定单元,用于在第一比较单元比较出本边缘设备与第二边缘设备的EVI实例优先级不同的情况下,在本边缘设备的EVI实例优先级高于第二边缘设备时,确定本边缘设备的EVI实例中包含的要进行协商的VLAN的最终状态为激活状态,并在低于时,确定本边缘设备的EVI实例中包含的要进行协商的VLAN的最终状态为非激活状态;在第二比较单元比较出本边缘设备与第二边缘设备上该VLAN的优先级不同的情况下,在本边缘设备的该VLAN的优先级高于第二边缘设备时,确定本边缘设备的该VLAN的状态为激活状态,并在低于时,确定本边缘设备的该VLAN的状态为非激活状态;在本边缘设备与第二边缘设备上该VLAN的优先级VLAN优先级相同的情况下,在本边缘设备的桥MAC的地址大于第二边缘设备时,确定本边缘设备的该VLAN的状态为激活状态,并在小于时,确定本边缘设备的该VLAN的状态为非激活状态;第二比较单元,用于在第一比较単元比较出本边缘设备与第二边缘设备的EVI实例优先级相同的情况下,针对每一个要进行协商的VLAN,比较本边缘设备与第二边缘设备上该VLAN的优先级。实施例四如图9所示,该边缘设备中还可以包括消息接收模块60,则消息接收模块60用于接收第二边缘设备发来的Hello报文以及身份认证消息,并通知身份认证模块10 (具体为认证执行模块104)对第二边缘设备进行身份认证;
VLAN状态切换模块20还用于在VLAN的状态处于最终状态时,在消息接收模块60接收到第二边缘设备发来的Hello报文以及身份认证消息,且身份认证模块10对第二边缘设备进行身份认证成功之后,将VLAN的状态从该最終状态切换到初始状态,其中,身份认证消息是第二边缘设备在初始探测到自己所在的站点内有与自己为同一 EVI实例的本边缘设备时发送的,或者是第二边缘设备在以下信息至少之ー发生改变时发送的EVI属性信息、身份识别信息、桥MAC。第二边缘设备在初始进入站点,探测到站点内有同一 EVI实例的邻居本边缘设备之后,会周期性地向本边缘设备发送身份认证消息,直至身份认证成功或探测不到本边缘设备为止。本边缘设备若此时处于最終状态(激活或非激活状态),就会在接收到第二边缘设备的Hello报文(因为边缘设备上电后就会一直周期性地发送Hello报文)以及身份认证消息,且根据该身份认证消息对第二边缘设备进行身份认证成功之后,从最终状态切换到初始状态,以与第二边缘设备进行身份认证和VLAN状态协商。或者,在本边缘设备与第二边缘设备协商完成后,双方的VLAN都处于最终状态,此时若第二边缘设备的EVI属性信息、身份识别信息、和/或桥MAC发生了改变,第二边缘设备会再次向本边缘设备发送身份认证消息,本边缘设备在接收到第二边缘设备的Hello报文(证明邻居关系存在)以及身份认证消息,且根据该身份认证消息对第二边缘设备进行身份认证成功之后,就会将VLAN的状态从最終状态切换到初始状态,以重新与第二边缘设备进行身份认证和状态协商。另外,如图10所示,本边缘设备还可以包括消息发送模块70,则消息发送模块70用于在VLAN的状态处于最终状态时,在本边缘设备的以下信息至少之ー EVI属性信息、身份识别信息、桥MAC发生改变之后,向第二边缘设备发送身份认证消息;VLAN状态切换模块20还用于在消息发送模块70向第二边缘设备发送身份认证消息之后,将VLAN的状态从该最终状态切换到初始状态。本边缘设备在自己的EVI属性信息、身份识别信息、和/或桥MAC发生改变之后,也需要向第二边缘设备发送身份认证消息,身份认证消息发送之后,即将VLAN的状态从最终状态切换到初始状态,以重新与第二边缘设备进行身份认证和状态协商。显然,在实际实施过程中,本边缘设备中也可以同时包含有消息接收模块和消息发送模块。此外,在本边缘设备与第二边缘设备一次协商结束之后,双方的VLAN均处于最终状态,如果本边缘设备或第二边缘设备任何一方中,只有EVI属性信息发生了改变,而与身份相关的桥MAC和身份识别信息没有发生改变时,此时,也可以采取不返回Initial状态重新进行身份认证的方式,直接从当前最終状态更新为重新确定的最終状态。由干与身份相关的桥MAC和身份识别信息没有发生改变,因此双方无需再进行身份认证了,而只需要重新确定VLAN的最終状态即可。具体过程可以如下(I)本边缘设备的EVI属性信息发生了改变时,步骤如下步骤11,在VLAN状态切换模块将VLAN的状态从交换状态切换到最终状态之后,确认模块在本边缘设备的EVI属性信息发生改变时,将改变后的EVI属性信息携帯在VLAN状态消息中发送给第二边缘设备,以便第二边缘设备根据第二边缘设备的EVI属性信息以及该VLAN状态消息中携帯的本边缘设备改变后的EVI属性信息,重新确定第二边缘设备的VLAN的最终状态; 步骤12,确定通告模块根据本边缘设备改变后的EVI属性信息和第二边缘设备的EVI属性信息,重新确定本边缘设备的VLAN的最终状态,同时通过VLAN状态消息将自己所确定的VLAN的最終状态通告给第二边缘设备;步骤13,确定通告模块接收第二边缘设备发来的携帯有第二边缘设备重新确定的VLAN的最终状态的VLAN状态消息,并通知判断模块判断本边缘设备与第二边缘设备重新确定的VLAN的最終状态是否相同,其中,本边缘设备中保存的对应的最終状态分别更新为本边缘设备重新确定的VLAN的最终状态和接收到的第二边缘设备重新确定的VLAN的最终状态;步骤14,判断模块判断本边缘设备与第二边缘设备重新确定的VLAN的最终状态是否相同,若不同,则确认模块向第二边缘设备发送确认消息,其中携帯有本边缘设备和第ニ边缘设备重新确定的VLAN的最终状态;步骤15,在确认模块接收到第二边缘设备发来的确认消息之后,判断模块判断确认模块接收到的确认消息中携帯的本边缘设备和第二边缘设备重新确定的VLAN的最終状态是否分别与本边缘设备中保存的对应的最終状态一致,若一致,则VLAN状态切换模块将VLAN的最终状态更新为本边缘设备重新确定的最终状态。(2)第二边缘设备的EVI属性信息发生了改变时,步骤如下步骤21,确认模块接收第二边缘设备在EVI属性信息发生改变后发来的携帯有改变后的EVI属性信息的VLAN状态消息;步骤22,确定通告模块根据本边缘设备的EVI属性信息以及第ニ边缘设备改变后的EVI属性信息,重新确定本边缘设备的VLAN最终状态,同时通过VLAN状态消息通告给第ニ边缘设备;步骤23,确定通告模块接收第二边缘设备发来的携帯有第二边缘设备重新确定的VLAN的最终状态的VLAN状态消息,并通知判断模块判断本边缘设备与第二边缘设备重新确定的VLAN的最終状态是否相同,其中,本边缘设备中保存的对应的最終状态分别更新为本边缘设备重新确定的VLAN的最终状态和接收到的第二边缘设备重新确定的VLAN的最终状态;
步骤24,判断模块判断本边缘设备与第二边缘设备重新确定的VLAN的最終状态是否相同,若不同,则确认模块向第二边缘设备发送确认消息,其中携帯有本边缘设备和第ニ边缘设备重新确定的VLAN的最终状态;步骤25,在确认模块接收到第二边缘设备发来的确认消息之后,判断模块判断确认模块接收的确认消息中携帯的本边缘设备和第二边缘设备确定的VLAN的最終状态是否分别与本边缘设备中保存的对应的最终状态一致,若一致,则VLAN状态切换模块将VLAN的最終状态更新为重新确定的最終状态。综上,本发明以上实施例可以达到以下技术效果协商的边缘设备双方VLAN初始化时即进入初始状态,对对方进行身份认证成功后,将VLAN从初始状态切换到交换状态,在VLAN处于交換状态时,会将各自确定的VLAN的最終状态(激活或非激活状态)通告给对方,在确定自己与对方确定的VLAN的最終状态不同 吋,才会将VLAN从交换状态切换到自己所确定的最终状态。由于边缘设备上的ー个VLAN在初始状态或交换状态中时该边缘设备均不允许转发该VLAN中的报文,因此,在协商开始时以及协商过程中,网络中均不可能存在环路,而且,边缘设备在确定自己与对方确定的VLAN的最终状态不同吋,才会将VLAN从交换状态切换到自己所确定的最终状态,从而能够确保在EVI双归属网络中同一个VLAN在两台边缘设备上是处于不同的最終状态,即只会在一台边缘设备上是Active状态,而在另一台边缘设备上是Inactive状态,不可能出现两台边缘设备上都是Active状态或者都是Inactive状态的情況,进ー步消除了环路存在的可能性,从而通过优化EVI双归属网络的VLAN状态协商机制,从根本上消除了协商导致的网络环路,维护了双归属网络的稳定性。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种虚拟局域网VLAN状态的协商方法,应用于以太网连接虚拟化EVI网络,其特征在于,所述方法包括 第一边缘设备对站点内同一 EVI实例的邻居第二边缘设备进行身份认证,并在身份认证成功之后,将该EVI实例对应的VLAN的状态从初始状态切换到交换状态;其中,边缘设备上VLAN的状态处于初始状态或交换状态时,该边缘设备不允许转发该EVI实例对应的VLAN中的报文,边缘设备初始化后,其上该EVI实例对应的VLAN的状态进入所述初始状态; 所述第一边缘设备与第二边缘设备相互通告各自所确定的VLAN的最终状态;且所述第一边缘设备判断自己与所述第二边缘设备所确定的VLAN的最终状态是否相同; 若所述第一边缘设备判定出自己与所述第二边缘设备所确定的VLAN的最终状态不同,则所述第一边缘设备将VLAN的状态从交换状态切换到自己所确定的最终状态;其中,当该最终状态为激活状态时,所述第一边缘设备允许转发该VLAN中的报文,当该最终状态为非激活状态时,所述第一边缘设备不允许转发该VLAN中的报文; 若所述第一边缘设备判定出自己与所述第二边缘设备所确定的VLAN的最终状态相同,则所述第一边缘设备将VLAN的状态从所述交换状态切换到所述初始状态。
2.根据权利要求I所述的方法,其特征在于,在所述第一边缘设备判定出自己与所述第二边缘设备所确定的VLAN的最终状态不同之后,以及在所述第一边缘设备将VLAN的状态从交换状态切换到自己所确定的最终状态之前,还包括 所述第一边缘设备向所述第二边缘设备发送确认消息,其中,所述确认消息中携带有自己和所述第二边缘设备所确定的VLAN的最终状态; 在接收到所述第二边缘设备发来的确认消息之后,所述第一边缘设备判定出接收的确认消息中携带的所述第一边缘设备和所述第二边缘设备所确定的VLAN的最终状态分别与本地保存的对应的最终状态一致。
3.根据权利要求2所述的方法,其特征在于,在所述接收到所述第二边缘设备发来的确认消息之后,还包括 若判定出接收的确认消息中携带的所述第一边缘设备或所述第二边缘设备所确定的VLAN的最终状态与本地保存的对应的最终状态不一致,则所述第一边缘设备将VLAN的状态从所述交换状态切换到所述初始状态。
4.根据权利要求I至3中任一项所述的方法,其特征在于,若所述第一边缘设备对所述第二边缘设备进行身份认证失败,则所述第一边缘设备将VLAN的状态维持在所述初始状态。
5.根据权利要求I至3中任一项所述的方法,其特征在于,所述第一边缘设备与第二边缘设备相互通告各自所确定的VLAN的最终状态包括 当VLAN的状态处于所述交换状态时,所述第一边缘设备向所述第二边缘设备发送携带有自己的以太网连接虚拟化EVI属性信息的VLAN状态消息,以便所述第二边缘设备根据所述第一边缘设备和所述第二边缘设备的EVI属性信息确定所述第二边缘设备的VLAN的最终状态; 所述第一边缘设备接收到所述第二边缘设备发来的携带有所述第二边缘设备的EVI属性信息的VLAN状态消息之后,根据自己和所述第二边缘设备的EVI属性信息,确定自己的VLAN的最终状态,并保存到本地;所述第一边缘设备将所确定的自己的VLAN的最终状态通告给所述第二边缘设备; 所述第一边缘设备接收所述第二边缘设备所确定的VLAN的最终状态,并保存到本地。
6.根据权利要求5所述的方法,其特征在于,所述EVI属性信息包括EVI实例标识符、EVI实例优先级和要进行协商的VLAN的优先级;所述第一边缘设备根据自己和所述第二边缘设备的EVI属性信息,确定自己的VLAN的最终状态包括 所述第一边缘设备比较自己的EVI实例优先级与所述第二边缘设备的EVI实例优先级; 若所述第一边缘设备与所述第二边缘设备的EVI实例优先级不同,则所述第一边缘设备在自己的EVI实例优先级高于所述第二边缘设备时,确定自己的EVI实例中包含的要进行协商的VLAN的最终状态为激活状态,并在低于时,确定自己的EVI实例中包含的要进行协商的VLAN的最终状态为非激活状态; 若所述第一边缘设备与所述第二边缘设备的EVI实例优先级相同,则针对每一个要进行协商的VLAN,比较自己与所述第二边缘设备上该VLAN的优先级; 若自己与所述第二边缘设备上该VLAN的优先级不同,则所述第一边缘设备在自己的该VLAN的优先级高于所述第二边缘设备时,确定自己的该VLAN的状态为激活状态,并在低于时,确定自己的该VLAN的状态为非激活状态; 若自己与所述第二边缘设备上该VLAN的优先级VLAN优先级相同,则所述第一边缘设备在自己的桥MAC的地址大于所述第二边缘设备时,确定自己的该VLAN的状态为激活状态,并在小于时,确定自己的该VLAN的状态为非激活状态。
7.根据权利要求I至3中任一项所述的方法,其特征在于,还包括 当VLAN的状态处于最终状态时,所述第一边缘设备在接收到所述第二边缘设备发来的邻居发现Hello报文以及身份认证消息之后,对所述第二边缘设备进行身份认证,其中,该身份认证消息是所述第二边缘设备在初始探测到站点内有同一 EVI实例的邻居所述第一边缘设备存在时发送的,或者是所述第二边缘设备的VLAN处于最终状态时,在所述第二边缘设备的以下信息至少之一 EVI属性信息、身份识别信息、桥MAC发生改变之后发送的; 在身份认证成功之后,所述第一边缘设备将VLAN的状态从该最终状态切换到初始状态。
8.根据权利要求I至3中任一项所述的方法,其特征在于,还包括 当VLAN的状态处于最终状态时,在所述第一边缘设备的以下信息至少之一 EVI属性信息、身份识别信息、桥MAC发生改变之后,所述第一边缘设备向所述第二边缘设备发送身份认证消息,之后将VLAN的状态从该最终状态切换到初始状态。
9.根据权利要求2所述的方法,其特征在于,在所述第一边缘设备将VLAN的状态从交换状态切换到自己所确定的最终状态之后,还包括 当VLAN的状态处于最终状态时,在所述第一边缘设备的EVI属性信息发生改变之后,所述第一边缘设备将改变后的EVI属性信息携带在VLAN状态消息中发送给所述第二边缘设备,以便所述第二边缘设备根据所述第二边缘设备的EVI属性信息以及所述第一边缘设备改变后的EVI属性信息,重新确定所述第二边缘设备的VLAN的最终状态; 所述第一边缘设备根据自己改变后的EVI属性信息和所述第二边缘设备的EVI属性信息,重新确定自己的VLAN的最终状态,并通告给所述第二边缘设备; 在接收到所述第二边缘设备重新确定的VLAN的最终状态之后,所述第一边缘设备,并在判定出自己与所述第二边缘设备重新确定的VLAN的最终状态不同之后,向所述第二边缘设备发送确认消息,其中,本地保存的对应的最终状态分别更新为所述第一边缘设备重新确定的VLAN的最终状态和接收到的所述第二边缘设备重新确定的VLAN的最终状态;在接收到所述第二边缘设备发来的确认消息之后,若所述第一边缘设备判定出接收的确认消息中携带的所述第一边缘设备和所述第二边缘设备确定的VLAN的最终状态分别与本地保存的对应的最终状态一致,则所述第一边缘设备将自己的VLAN的最终状态更新为重新确定的最终状态。
10.一种边缘设备,其特征在于,应用于以太网连接虚拟化EVI网络,所述边缘设备包括 身份认证模块,用于对本边缘设备所在的站点内与本边缘设备为同一 EVI实例的邻居第二边缘设备进行身份认证; VLAN状态切换模块,用于在所述身份认证模块对所述第二边缘设备进行身份认证成功之后,将本边缘设备的该EVI实例对应的VLAN的状态从初始状态切换到交换状态,以及,在判断模块判定出本边缘设备与所述第二边缘设备所确定的VLAN的最终状态不同时,将VLAN的状态从所述交换状态切换到本边缘设备所确定的最终状态,在所述判断模块判定出本边缘设备与所述第二边缘设备所确定的VLAN的最终状态相同时,将VLAN的状态从所述交换状态切换到所述初始状态;其中,边缘设备上VLAN的状态处于初始状态或交换状态时,该边缘设备不允许转发该EVI实例对应的VLAN中的报文,边缘设备初始化后,其上该EVI实例对应的VLAN的状态进入所述初始状态;当本边缘设备所确定的VLAN的最终状态为激活状态时,本边缘设备允许转发该VLAN中的报文,当本边缘设备所确定的VLAN的最终状态为非激活状态时,本边缘设备不允许转发该VLAN中的报文; 所述确定通告模块,用于在所述VLAN状态切换模块将VLAN的状态从初始状态切换到交换状态之后,与所述第二边缘设备相互通告各自所确定的VLAN的最终状态; 所述判断模块,用于判断本边缘设备与所述第二边缘设备所确定的VLAN的最终状态是否相同。
11.根据权利要求10所述的设备,其特征在于,还包括确认模块,其中 所述确认模块用于在所述判断模块判定出本边缘设备与所述第二边缘设备所确定的VLAN的最终状态不同之后,以及在所述VLAN状态切换模块将VLAN的状态从所述交换状态切换到本边缘设备所确定的最终状态之前,向所述第二边缘设备发送确认消息,以及接收所述第二边缘设备发来的确认消息,其中,所述确认消息中携带有本边缘设备和所述第二边缘设备所确定的VLAN的最终状态; 所述判断模块还用于判断所述确认模块接收的确认消息中携带的本边缘设备和所述第二边缘设备所确定的VLAN的最终状态是否分别与本边缘设备中保存的对应的最终状态一致,并在一致时,通知所述VLAN状态切换模块将VLAN的状态从所述交换状态切换到本边缘设备所确定的最终状态。
12.根据权利要求11所述的设备,其特征在于, 所述VLAN状态切换模块还用于在所述判断模块判定出所述确认模块接收的确认消息中携带的本边缘设备或所述第二边缘设备所确定的VLAN的最终状态与本边缘设备中保存的对应的最终状态不一致时,将VLAN的状态从所述交换状态切换到所述初始状态。
13.根据权利要求10至12中任一项所述的设备,其特征在于, 所述VLAN状态切换模块还用于在所述认证执行模块对所述第二边缘设备进行身份认证失败之后,将VLAN的状态维持在所述初始状态。
14.根据权利要求10至12中任一项所述的设备,其特征在于,所述确定通告模块包括 第二收发模块,用于在VLAN的状态处于所述交换状态时,向所述第二边缘设备发送携带有本边缘设备的以太网连接虚拟化EVI属性信息的VLAN状态消息,以便所述第二边缘设备根据本边缘设备和所述第二边缘设备的EVI属性信息确定所述第二边缘设备的VLAN的最终状态,接收所述第二边缘设备发来的携带有所述第二边缘设备的EVI属性信息的VLAN状态消息,将所述状态确定模块所确定的本边缘设备的VLAN的最终状态通告给所述第二边缘设备,以及,接收所述第二边缘设备发来的所述第二边缘设备所确定的VLAN的最终状态; 所述状态确定模块,用于根据本边缘设备和所述第二边缘设备的EVI属性信息,确定本边缘设备的VLAN的最终状态; 保存模块,用于保存所述状态确定模块所确定的本边缘设备的VLAN的最终状态,以及所述第二收发模块接收到的所述第二边缘设备所确定的VLAN的最终状态。
15.根据权利要求14所述的设备,其特征在于,所述EVI属性信息包括EVI实例标识符、EVI实例优先级和要进行协商的VLAN的优先级;所述状态确定模块包括 第一比较单元,用于比较本边缘设备的EVI实例优先级与所述第二边缘设备的EVI实例优先级; 确定单元,用于在所述第一比较单元比较出本边缘设备与所述第二边缘设备的EVI实例优先级不同的情况下,在本边缘设备的EVI实例优先级高于所述第二边缘设备时,确定本边缘设备的EVI实例中包含的要进行协商的VLAN的最终状态为激活状态,并在低于时,确定本边缘设备的EVI实例中包含的要进行协商的VLAN的最终状态为非激活状态;在所述第二比较单元比较出本边缘设备与所述第二边缘设备上该VLAN的优先级不同的情况下,在本边缘设备的该VLAN的优先级高于所述第二边缘设备时,确定本边缘设备的该VLAN的状态为激活状态,并在低于时,确定本边缘设备的该VLAN的状态为非激活状态;在本边缘设备与所述第二边缘设备上该VLAN的优先级VLAN优先级相同的情况下,在本边缘设备的桥MAC的地址大于所述第二边缘设备时,确定本边缘设备的该VLAN的状态为激活状态,并在小于时,确定本边缘设备的该VLAN的状态为非激活状态; 所述第二比较单元,用于在所述第一比较单元比较出本边缘设备与所述第二边缘设备的EVI实例优先级相同的情况下,针对每一个要进行协商的VLAN,比较本边缘设备与所述第二边缘设备上该VLAN的优先级。
16.根据权利要求10至12中任一项所述的设备,其特征在于,还包括消息接收模块,其中 所述消息接收模块用于接收所述第二边缘设备发来的邻居发现Hello报文以及身份认证消息,并通知所述身份认证模块中的认证执行模块对所述第二边缘设备进行身份认证,其中,该身份认证消息是所述第二边缘设备在初始探测到自己所在的站点内有与自己为同一 EVI实例的邻居本边缘设备存在时发送的,或者是所述第二边缘设备的VLAN处于最终状态时,在所述第二边缘设备的以下信息至少之一 =EVI属性信息、身份识别信息、桥MAC发生改变之后发送的; 所述VLAN状态切换模块还用于在VLAN的状态处于最终状态时,在所述消息接收模块接收到所述第二边缘设备发来的Hello报文以及身份认证消息,且所述认证执行模块对所述第二边缘设备进行身份认证成功之后,将VLAN的状态从该最终状态切换到初始状态。
17.根据权利要求10至12中任一项所述的设备,其特征在于,还包括消息发送模块,其中 所述消息发送模块用于在VLAN的状态处于最终状态时,在本边缘设备的以下信息至少之一 EVI属性信息、身份识别信息、桥MAC发生改变之后,向所述第二边缘设备发送身份认证消息; 所述VLAN状态切换模块还用于在所述消息发送模块向所述第二边缘设备发送身份认证消息之后,将VLAN的状态从该最终状态切换到初始状态。
18.根据权利要求11所述的设备,其特征在于, 所述确认模块还用于在所述VLAN状态切换模块将VLAN的状态从所述交换状态切换到最终状态之后,在本边缘设备的EVI属性信息发生改变时,将改变后的EVI属性信息携带在VLAN状态消息中发送给所述第二边缘设备,以便所述第二边缘设备根据所述第二边缘设备的EVI属性信息以及本边缘设备改变后的EVI属性信息,重新确定所述第二边缘设备的VLAN的最终状态,以及,在所述判断模块判定出本边缘设备与所述第二边缘设备重新确定的VLAN的最终状态不同时,向所述第二边缘设备发送确认消息,以及接收所述第二边缘设备发来的确认消息; 所述确定通告模块还用于根据本边缘设备改变后的EVI属性信息和所述第二边缘设备的EVI属性信息,重新确定本边缘设备的VLAN的最终状态,并通告给所述第二边缘设备,以及,接收所述第二边缘设备发来的所述第二边缘设备重新确定的VLAN的最终状态,并通知所述判断模块判断本边缘设备与所述第二边缘设备重新确定的VLAN的最终状态是否相同,其中,本边缘设备中保存的对应的最终状态分别更新为本边缘设备重新确定的VLAN的最终状态和接收到的所述第二边缘设备重新确定的VLAN的最终状态; 所述判断模块还用于在所述确认模块接收到所述第二边缘设备发来的确认消息之后,判断接收的确认消息中携带的本边缘设备和所述第二边缘设备重新确定的VLAN的最终状态是否分别与本边缘设备中保存的对应的最终状态一致; 所述VLAN状态切换模块还用于在所述判断模块判定出接收的确认消息中携带的本边缘设备和所述第二边缘设备重新确定的VLAN的最终状态分别与本边缘设备中保存的对应的最终状态一致时,将VLAN的最终状态更新为本边缘设备重新确定的最终状态。
全文摘要
本发明公开了一种VLAN状态的协商方法及边缘设备,其中,该方法包括第一边缘设备对站点内同一EVI实例的邻居第二边缘设备进行身份认证,并在身份认证成功之后,将该EVI实例对应的VLAN的状态从初始状态切换到交换状态;第一边缘设备与第二边缘设备相互通告各自所确定的VLAN的最终状态;且第一边缘设备判断自己与第二边缘设备所确定的VLAN的最终状态是否相同;若第一边缘设备判定出自己与第二边缘设备所确定的VLAN的最终状态不同,则第一边缘设备将VLAN的状态从交换状态切换到自己所确定的最终状态;若第一边缘设备判定出自己与第二边缘设备所确定的VLAN的最终状态相同,则第一边缘设备将VLAN的状态从交换状态切换到初始状态。
文档编号H04L12/46GK102811153SQ20121029324
公开日2012年12月5日 申请日期2012年8月17日 优先权日2012年8月17日
发明者宋小恒 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1