发明内容
本发明提供一种端口配置方法和交换设备,用于动态配置和维护交换机上的路由器端口。
为达到上述目的,本发明提供一种端口配置方法,应用于使能了因特网组管理协议侦听IGMP Snooping的交换设备上,包括:
通过端口接收邻居设备发送的链路层发现协议LLDP邻居信息;
根据所述端口接收到的LLDP邻居信息,判断所述邻居设备是否使能了IGMP Snooping;
所述邻居设备使能了IGMP Snooping时,对所述端口进行动态路由器端口的配置。
其中,所述通过端口接收邻居设备发送的链路层发现协议LLDP邻居信息后,还包括:
记录所述LLDP邻居信息中包括的邻居设备的信息以及所述邻居设备的IGMP Snooping能力,所述邻居设备的IGMP Snooping能力发生变化时,更新所述邻居设备的IGMP Snooping能力;所述IGMP Snooping能力包括:使能了IGMP Snooping或未使能IGMP Snooping。
其中,所述根据所述端口接收到的LLDP邻居信息,判断所述邻居设备是否使能了IGMP Snooping包括:
解析所述记录的LLDP邻居信息中的扩展TLV;
根据所述扩展TLV中携带的字段,判断邻居设备是否使能了IGMPSnooping。
其中,所述邻居设备使能了IGMP Snooping时,对所述端口进行动态路由器端口的配置包括:
获取所述端口所属的VLAN列表;
获取所述VLAN列表中使能了IGMP Snooping的VLAN;
基于所述使能了IGMP Snooping的VLAN,对所述端口进行动态路由器端口的配置。
其中,还包括:
所述邻居设备生成携带IGMP Snooping能力的LLDP邻居信息;
所述邻居设备定时通过各端口发送所述携带IGMP Snooping能力的LLDP邻居信息;和/或发现任一端口从Down变为Up后,从所述端口发送所述携带IGMP Snooping能力的LLDP邻居信息;所述IGMP Snooping能力包括:使能了IGMP Snooping或未使能IGMP Snooping。
其中,所述邻居设备生成携带IGMP Snooping能力的LLDP邻居信息包括:
所述邻居设备在LLDP邻居信息中添加扩展TLV,通过所述扩展TLV中的字段携带IGMP Snooping能力;所述IGMP Snooping能力包括:使能了IGMPSnooping或未使能IGMP Snooping。
本发明还提供一种交换设备,使能了因特网组管理协议侦听IGMPSnooping,包括:
邻居信息接收单元,用于通过端口接收邻居设备发送的链路层发现协议LLDP邻居信息;
判断单元,用于根据所述邻居信息接收单元接收到的LLDP邻居信息,判断所述邻居设备是否使能了IGMP Snooping;
端口配置单元,用于当所述邻居设备使能了IGMP Snooping时,对所述端口进行动态路由器端口的配置。
其中,还包括:
邻居信息记录单元,用于记录所述邻居设备的信息以及所述邻居设备的IGMP Snooping能力,所述邻居设备的IGMP Snooping能力发生变化时,更新所述邻居设备的IGMP Snooping能力;所述IGMP Snooping能力包括:使能了IGMP Snooping或未使能IGMP Snooping。
其中,所述判断单元包括:
解析子单元,用于解析所述LLDP邻居信息中的扩展TLV;
判断子单元,用于根据所述扩展TLV中携带的字段,判断邻居设备是否使能了IGMP Snooping。
其中,所述端口配置单元包括:
第一获取子单元,用于获取所述端口所属的VLAN列表;
第二获取子单元,用于获取所述VLAN列表中使能了IGMP Snooping的VLAN;
端口配置子单元,用于基于所述使能了IGMP Snooping的VLAN,对所述端口进行动态路由器端口的配置。
本发明还提供一种交换设备,包括:
邻居信息生成单元,用于生成携带IGMP Snooping能力的LLDP邻居信息;所述IGMP Snooping能力包括:使能了IGMP Snooping或未使能IGMPSnooping;
邻居信息发送单元,用于定时通过各端口发送所述携带IGMP Snooping能力的LLDP邻居信息;和/或发现任一端口从Down变为Up后,从所述端口发送所述携带IGMP Snooping能力的LLDP邻居信息。
其中,所述邻居信息生成单元具体用于:在LLDP邻居信息中添加扩展TLV,通过所述扩展TLV中的字段携带IGMP Snooping能力;所述IGMPSnooping能力包括:使能了IGMP Snooping或未使能IGMP Snooping。
与现有技术相比,本发明具有以下优点:
本发明中,通过扩展的LLDP消息携带设备的IGMP Snooping信息,使得交换设备可以根据扩展的LLDP消息动态配置路由器端口,使网络拓扑变化时组播流量能够快速收敛,且在端口配置有多个VLAN的情况下避免了用户的手工配置,便于维护。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种端口配置方法,其核心思想在于:由于LLDP(Link LayerDiscovery Protocol,链路层发现协议)消息不受MSTP/RRPP等阻塞端口的影响,可以在设备之间通告信息,因此可以借助扩展的LLDP消息通告IGMPSnooping状态,使得交换机可以根据扩展的LLDP消息动态增加和维护路由器端口。具体的,本发明提供一种端口配置方法,应用于使能了因特网组管理协议侦听IGMP Snooping的交换设备上,如图2所示,包括:
步骤s201、通过端口接收邻居设备发送的链路层发现协议LLDP邻居信息。
步骤s202、根据该端口接收到的LLDP邻居信息,判断该邻居设备是否使能了IGMP Snooping。
步骤s203、该邻居设备使能了IGMP Snooping时,对该端口进行动态路由器端口的配置。
本发明中涉及的LLDP是链路层协议。具体的,本地设备将本设备的信息组织成TLV(Type/Length/Value,类型/长度/值)封装在LLDP邻居信息中发送给直连的邻居设备,同时也把从邻居设备接收的LLDP邻居信息以标准MIB(Management Information Base,管理信息库)的形式保存。通过LLDP协议,设备可以保存和管理自己以及直连邻居设备的信息,供网络管理***查询和判断链路的通信状况。现有LLDP协议中规定的在邻居信息中可以封装的基本类型TLV如下表1所示:
表1 基本类型TLV说明
TLV类型 | TLV名称 | 是否必须发布 |
0 | End of LLDPDU | 标志LLDPDU结束 |
1 | Chassis ID TLV | 发送设备的桥MAC地址 |
2 | Port ID TLV | 用来标识LLDPDU发送端的端口。当设备不发送MED TLV时,内容为端口名称,当设备发送MEDTLV时,内容为端口的MAC地址,没有端口MAC时使用桥MAC |
3 | Time To Live TLV | 本设备信息在邻居设备上的存活时间 |
4 | Port Description TLV | 以太网端口的描述字符串 |
5 | System Name TLV | 设备的名称 |
6 | System Description TLV | ***描述 |
7 | System Capabilities TLV | ***的主要功能以及有哪些主要功能被使能 |
8 | Management AddressTLV | 管理地址,以及对应的接口号和OID(ObjectIdentifier,对象标识)。管理地址内容为用户指定的IP地址,如果用户没有配置,管理地址为接口允许通过且VLAN ID值最小的VLAN的主IP地址,若 |
| | VLAN ID值最小的VLAN未配置主IP地址,管理地址值为127.0.0.1 |
9~126 | Reserved | 保留字段 |
127 | Organizationally SpecificTLVs | 扩展定义 |
上述各基本类型TLV中,TYPE 127用于扩展定义,可以定义Sub TLV,例如IEEE 802.3组织定义的Sub TLV包括:
Subtype=1:MAC/PHY Configuration/Status TLV:用于携带端口的速率和双工状态、是否支持端口速率自动协商、是否使能自动协商功能以及当前的速率和双工状态。
Subtype=2:Power Via MDI TLV:用于携带端口的供电能力。
Subtype=3:Link Aggregation TLV:用于携带端口是否支持链路聚合以及是否使能链路聚合。
Subtype=4:Maximum Frame Size TLV:用于携带支持的最大帧长度,取端口配置的MTU(Max Transmission Unit,最大传输单元)
本发明中,在LLDP邻居信息中新增下列表2所示的Sub TLV:
表2 新增Sub TLV说明
TLVtype=27 | TLV informationstring length=9 | OUI00-0F-E2 | subtype01 | IGSPStatus | Reserved |
表2所示的新增Sub TLV中各部分含义如下:
TLV type为127,表示扩展定义的TLV;
TLV字符串的长度为9比特;
OUI(Organizationally Unique Identifier,组织唯一标识),表示新增SubTLV所属的组织。
Subtype为1,长度为8比特。
IGSP(IGMP Snooping Protocol)Status表示IGSP状态,长度为8比特。IGSP Status的说明见下表3。
表3 IGSP Status的说明
Bit | Function功能 | Value/Meaning值与含义 |
0 | IGSP CapabilityIGSP能力 | 0不支持IGSP功能1支持IGSP功能 |
1 | IGSP StatusIGSP状态 | 0使能了IGSP1未使能IGSP |
2-7 | Reserved保留 | -- |
IGSP Status中,当IGSP Capability的值为0时,IGSP Status的值只能为0,说明设备不支持IGMP Snooping功能。当IGSP Capability的值为1时,说明设备支持IGMP Snooping功能,但是IGSP Status的值可以为0或1,IGSPStatus为1时说明该设备支持IGMP Snooping且使能了IGMP Snooping;IGSPStatus为0时说明设备虽然支持IGMP Snooping但未使能IGMP Snooping。
以下以图3所示的网络场景为例,说明本发明中端口配置方法的具体实施方式。如图3所示,上游一台路由器配置了3层组播以及相关协议,下游是4台交换机组成的2层环网,通过MSTP或者RRPP防止环路,其中端口P3标记为黑色,标识处于阻塞状态。下游4台交换机上端口的对应VLAN都配置了IGMP Snooping。
以下以交换机S4为例进行说明。
(1)交换机S4发送LLDP邻居信息的方法如下:
当交换机S4全局使能了IGMP Snooping后,将LLDP邻居信息中扩展TLV的IGSP Capability字段和IGSP Status字段置位(即IGSP Capability=1,IGSP Status=1),表明本设备能够支持且使能了IGMP Snooping。之后周期性通过所有端口向直连的邻居设备发送LLDP邻居信息。若之后的某一时刻,交换机S4全局去使能了IGMP Snooping,则将LLDP邻居信息中扩展TLV的IGSP Status字段置0,表明本设备未使能IGMP Snooping。之后周期性通过所有端口向直连的邻居设备发送LLDP邻居信息。同样的,网络中的交换机S1、S2和S3也进行类似处理。
除了上述周期性发送LLDP邻居信息的方式之外,如果交换机上的某个端口从Down状态变为UP状态后,会立刻通过该端口向邻居设备发送LLDP邻居信息。并在延迟特定时间(如1.5秒)后立刻查询该端口记录的LLDP邻居信息。
对于网络中其他交换机中的LLDP邻居信息发送方法,与上述交换机S4的LLDP邻居信息发送方法相似,在此不进行重复描述。
(2)交换机S4在接收到邻居设备发送的LLDP邻居信息时的处理方法如下:
交换机S4通过端口P3,可以接收到作为邻居设备的交换机S3发送的LLDP邻居信息。根据标准LLDP协议,交换机S4记录交换机S3的设备信息,同时通过LLDP邻居信息中的扩展TLV,获取并记录交换机S3的IGMPSnooping能力信息(包括IGSP Capability的值以及IGSP Status的值);包括交换机S3使能了IGMP Snooping或未使能IGMP Snooping。当交换机S3发送的LLDP邻居信息发生变化时,根据变化后的LLDP邻居信息更新之前存储的交换机S3的设备信息和IGMP Snooping能力信息。
交换机S4使能了IGMP Snooping后,定时对本地记录的LLDP邻居信息进行检查(例如以60s为一个检查周期)。当发现从某端口接收到的任意LLDP邻居信息中的IGSP Status被置位(即IGSP Status=1)时,对该端口进行动态路由器端口的配置。需要说明的是,如果某端口接收到多个LLDP邻居信息,任意一个或多个LLDP邻居信息中的IGSP Status被置位时,则判断对该端口进行动态路由器端口的配置。例如对于端口P3,当发现交换机S3发送的LLDP邻居信息中的IGSP Status被置位时,则交换机S4判断需要对端口P3进行动态路由器端口的配置。
交换机S4对端口P3进行动态路由器端口的配置时,首先检查该端口P3所属的VLAN列表,然后获取该VLAN列表中使能了IGMP Snooping的VLAN,基于使能了IGMP Snooping的VLAN,对端口P3进行动态路由器端口的配置,并且启动老化计时器(若对于某个VLAN已经是路由器端口,则刷新其对应的老化计时器),对于没有使能IGMP Snooping的VLAN不做处理。
对于网络中其他交换机中接收到LLDP邻居信息时的处理方法,与上述交换机S4接收到LLDP邻居信息时的处理方法相似,在此不进行重复描述。
通过上述步骤,实现了交换机S4对端口P3的动态路由器端口配置。可见由于LLDP协议本身可以不受环路协议阻塞端口的影响,因此包括阻塞端口也可以动态维护路由器端口。图3中标记为白色的端口为动态路由器端口,即通过本发明提供的方法,4台设备自动将所有互连端口都配置为动态路由器端口。
另外,本发明提供的上述方法,与现有技术中通过IGMP查询报文以及PIM Hello报文配置动态路由器端口的方式相比,基于不同的判断条件实现动态路由器端口的配置,因此不存在冲突,可以共存。对于不支持上述扩展TLV的设备,根据LLDP协议定义可以忽略该扩展TLV,不会对LLDP邻居信息中的其他LLDP信息造成影响。
本发明提供的上述方法中,通过扩展的LLDP消息携带设备的IGMPSnooping信息,使得交换设备可以根据扩展的LLDP消息动态配置路由器端口,使网络拓扑变化时组播流量能够快速收敛,且在端口配置有多个VLAN的情况下避免了用户的手工配置,便于维护。
本发明还提供一种交换设备,其使能了因特网组管理协议侦听IGMPSnooping,如图4所示,包括:
邻居信息接收单元10,用于通过端口接收邻居设备发送的链路层发现协议LLDP邻居信息;
判断单元20,用于根据所述邻居信息接收单元接收到的LLDP邻居信息,判断所述邻居设备是否使能了IGMP Snooping;
端口配置单元30,用于当所述邻居设备使能了IGMP Snooping时,对所述端口进行动态路由器端口的配置。
本发明所提供的交换设备中,如图5所示,还包括:
邻居信息记录单元40,用于记录邻居设备的信息以及邻居设备的IGMPSnooping能力,当邻居设备的IGMP Snooping能力发生变化时,更新该邻居设备的IGMP Snooping能力;IGMP Snooping能力包括:使能了IGMPSnooping或未使能IGMP Snooping。
上述判断单元20可以包括:
解析子单元21,用于解析所述记录的LLDP邻居信息中的扩展TLV;
判断子单元22,用于根据所述扩展TLV中携带的字段,判断邻居设备是否使能了IGMP Snooping。
上述端口配置单元30可以包括:
第一获取子单元31,用于获取所述端口所属的VLAN列表;
第二获取子单元32,用于获取所述VLAN列表中使能了IGMP Snooping的VLAN;
端口配置子单元33,用于基于所述使能了IGMP Snooping的VLAN,对所述端口进行动态路由器端口的配置。
本发明还提供了一种交换设备,如图6所示,包括:
邻居信息生成单元50,用于生成携带IGMP Snooping能力的LLDP邻居信息;具体的,可以在LLDP邻居信息中添加扩展TLV,通过扩展TLV中的字段携带IGMP Snooping能力;该IGMP Snooping能力包括:使能了IGMPSnooping或未使能IGMP Snooping。
邻居信息发送单元60,用于定时通过各端口向其邻居设备发送携带IGMPSnooping能力的LLDP邻居信息;和/或发现任一端口从Down变为Up后,从该端口向其邻居设备发送携带IGMP Snooping能力的LLDP邻居信息。
本发明提供的上述交换设备中,通过扩展的LLDP消息携带设备的IGMPSnooping信息,使得交换设备可以根据扩展的LLDP消息动态配置路由器端口,使网络拓扑变化时组播流量能够快速收敛,且在端口配置有多个VLAN的情况下避免了用户的手工配置,便于维护。
上述模块可以分布于一个装置,也可以分布于多个装置。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。