MAC地址处理方法、设备和级联组网系统与流程

文档序号:15930139发布日期:2018-11-14 01:32阅读:472来源:国知局

本公开涉及通信技术领域,尤其是涉及mac地址处理方法、设备(包括汇聚设备和非汇聚设备)和级联组网系统。

背景技术

802.1x协议标准是一种基于端口的网络接入控制协议,具体为一种基于客户端到服务器的访问控制和认证协议,其能够对接入的用户设备进行认证和控制,防止用户设备在未经认证的情况下接入到网络中,从而提高网络安全性。诸如,它可以限制未经授权的设备通过接入端口访问局域网,只有经802.1x认证的设备才可转发报文并使用局域网提供的各种资源。

在802.1x认证中,只有mac地址写入至802.1xmac表内的网络节点才可通过认证。网络节点通常可分为下挂多个节点的汇聚节点、用于接入外部设备的边缘节点、以及汇聚节点和边缘节点之间可能存在的中间节点。边缘节点和中间节点均可认为是下挂在汇聚节点下。为了在网络中便捷地实现802.1x认证部署,用户通常在汇聚节点使能802.1x认证,然而,这种方式需要汇聚节点获取到下挂的各节点的mac地址,并将获取的mac地址写入至802.1xmac表内。由于汇聚节点无法自动收集mac地址,现有技术中通常采用人工方式收集汇聚节点下挂的各节点的mac地址,并在汇聚节点上手动配置各节点的mac地址,费时费力,效率低下。



技术实现要素:

有鉴于此,本公开的目的在于提供一种mac地址处理方法、设备和级联组网系统,能够使汇聚设备自动收集下挂的各网络设备的mac地址,有效提升了汇聚设备收集mac地址的效率。

为了实现上述目的,本公开采用的技术方案如下:

第一方面,本公开实施方式提供了一种mac地址处理方法,所述方法应用于802.1x认证场景中的级联组网,所述级联组网中的汇聚设备和非汇聚设备均支持lldp协议,所述方法包括:所述非汇聚设备监听设定时长内是否接收到lldp报文,其中,所述lldp报文包含有扩展tlv,所述扩展tlv包括mac地址字段,所述mac地址字段用于记录每个发送所述lldp报文的非汇聚设备的mac地址;如果所述非汇聚设备未接收到所述lldp报文,所述非汇聚设备生成并发送所述lldp报文,其中,所述lldp报文的mac地址字段携带有所述非汇聚设备的mac地址;如果所述非汇聚设备接收到所述lldp报文,所述非汇聚设备重构所述lldp报文以在所述lldp报文的mac地址字段添加自身的mac地址,并通过除所述lldp报文的入端口之外的其它端口转发所述lldp报文;如果所述汇聚设备接收到所述lldp报文,将所述mac地址字段中的mac地址写入802.1xmac表。

第二方面,本公开实施方式提供了一种级联组网中的汇聚设备,所述级联组网为802.1x认证场景中的级联组网,所述级联组网中的汇聚设备和非汇聚设备均支持lldp协议,所述汇聚设备包括:报文接收模块,用于接收lldp报文;其中,所述lldp报文包含有扩展tlv,所述扩展tlv包括mac地址字段,所述mac地址字段用于记录每个发送所述lldp报文的非汇聚设备的mac地址;mac表写入模块,用于将所述lldp报文的mac地址字段中的mac地址写入802.1xmac表中。

第三方面,本公开实施方式提供了一种级联组网中的非汇聚设备,所述级联组网为802.1x认证场景中的级联组网,所述级联组网中的汇聚设备和非汇聚设备均支持lldp协议,所述非汇聚设备包括:监听模块,用于监听设定时长内是否接收到lldp报文,其中,所述lldp报文包含有扩展tlv,所述扩展tlv包括mac地址字段,所述mac地址字段用于记录每个发送所述lldp报文的非汇聚设备的mac地址;第一报文处理模块,用于如果未接收到所述lldp报文,生成并发送所述lldp报文,其中,所述lldp报文的mac地址字段携带有所述非汇聚设备的mac地址;第二报文处理模块,用于如果接收到所述lldp报文,重构所述lldp报文以在所述lldp报文的mac地址字段添加自身的mac地址,并通过除所述lldp报文的入端口之外的其它端口转发所述lldp报文,以使所述lldp报文到达所述汇聚设备,触发所述汇聚设备将所述mac地址字段中的mac地址写入802.1xmac表。

第四方面,本公开实施方式提供了一种级联组网系统,所述级联组网系统为802.1x认证场景中的级联组网系统,所述系统包括上述汇聚设备和上述非汇聚设备。

上述mac地址处理方法、设备和级联组网系统,应用于802.1x认证场景中,其中,非汇聚设备(包括边缘设备和中间设备)能够通过lldp报文的扩展tlv携带自身的mac地址,进而使汇聚设备从该lldp报文中得到非汇聚设备的mac地址,实现mac地址的收集过程,相比于手动收集mac地址的方式,有效提升了mac地址的收集效率,且在现有lldp报文的基础上进行扩展的方式,无需在各网络设备(即汇聚设备和非汇聚设备)上布设新的协议,实现方式简单可靠,利于推广应用。

本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本公开实施方式提供的一种级联组网示意图;

图2为本公开实施方式提供的一种mac地址处理方法流程图;

图3为本公开实施方式提供的一种中间节点侧的mac地址处理方法流程图;

图4为本公开实施方式提供的一种汇聚节点侧的mac地址处理方法流程图;

图5为本公开实施方式提供的一种汇聚设备的结构框图;

图6为本公开实施方式提供的一种非汇聚设备的结构框图;

图7为本公开实施方式提供的一种级联组网系统的结构框图;

图8为本公开实施方式提供的一种边缘设备的结构框图;

图9为本公开实施方式提供的一种中间设备的结构框图;

图10为本公开实施方式提供的一种网络设备的结构示意图。

具体实施方式

为使本公开实施方式的目的、技术方案和优点更加清楚,下面将结合附图对本公开的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本公开一部分实施方式,而不是全部的实施方式。基于本公开中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本公开保护的范围。

需要说明的是,上述各方法实施方式均采用递进的方式描述,每个实施方式重点说明的都是与其他实施方式的不同之处,各个实施方式之间相同相似的部分互相参见即可。

为了更好地理解本公开的技术方案,下面首先对本公开的一种应用环境进行描述,参见图1所示的一种级联组网示意图,该组网中的各个节点也可以称为设备或网络设备,例如汇聚节点也可以称为汇聚设备,接入节点也可以称为接入设备,这里以节点进行表示,其中图1简单示意出汇聚节点1、节点2、节点3、接入节点4、接入节点5、边缘节点6和终端pc1。其中,终端pc1通过边缘节点6与网络中的接入节点4连接,节点2分别连接接入节点4和接入节点5,因此节点2可以视为汇聚节点,而汇聚节点1连接有节点2和节点3。节点3和接入节点5还可以与其它节点连接,在图1中未示意出。本发明实施方式中,将边缘节点与汇聚节点之间的节点称为中间节点,例如上述接入节点4即为边缘节点6与节点2所在链路上的中间节点。上述各个节点可以具体为交换机。

通常汇聚节点下挂有多个其它节点,诸如,汇聚节点2下挂有接入节点4和接入节点5,且接入节点4下挂有边缘节点6。为了提高网络安全性,通常采用802.1x认证链路上的各个节点,只有通过认证的节点,才能够被汇聚节点访问。为了简化部署,802.1x认证功能通常部署在汇聚节点上,因此汇聚节点需要收集各个链路上的节点的mac地址,以实现802.1x认证。

考虑到ieee802.1x协议是一种基于客户端到服务器的访问控制和认证协议,认证服务器需要对网络节点各个端口所连的客户端进行认证,当客户端被认证之前,ieee802.1x协议规定只允许eapol(extensibleauthenticationprotocol,基于局域网的扩展认证协议)、cdp(ciscodiscoveryprotocol,cisco发现协议)、lldp(linklayerdiscoveryprotocol,链路层发现协议)和stp(spanningtreeprotocol,生成树协议)流量穿越该端口到达客户端,在认证通过后才允许常规流量穿越该端口。由于lldp占用流量较小,且易于扩展,实施方便可行,因而本公开实施方式中,基于lldp协议实现汇聚节点对mac地址的自动收集过程,具体提出了一种mac地址处理方法、设备和级联组网系统,通过以下本公开实施例进行详细介绍。

参见图2所示的一种mac地址处理方法流程图,该方法应用于802.1x认证场景中的级联组网,该级联组网中的汇聚设备和非汇聚设备均支持lldp协议,其中,非汇聚设备包括上述边缘设备、接入设备和中间设备。该方法包括以下步骤:

步骤s202,非汇聚设备监听设定时长内是否接收到lldp报文,如果否,执行步骤s204;如果是,执行步骤s206;

其中,该lldp报文包含有扩展tlv,该扩展tlv包括mac地址字段,mac地址字段用于记录每个发送lldp报文的非汇聚设备的mac地址。

步骤s204,非汇聚设备生成并发送lldp报文,其中,该lldp报文的mac地址字段携带有该非汇聚设备的mac地址。

步骤s206,非汇聚设备重构lldp报文以在lldp报文的mac地址字段添加自身的mac地址,并通过除lldp报文的入端口之外的其它端口转发lldp报文。

步骤s208,如果汇聚设备接收到上述lldp报文,将上述mac地址字段中的mac地址写入802.1xmac表。

上述mac地址处理方法中的非汇聚设备(包括边缘设备和中间设备)能够通过lldp报文的扩展tlv携带自身的mac地址,进而使汇聚设备从该lldp报文中得到非汇聚设备的mac地址,实现mac地址的收集过程,相比于手动收集mac地址的方式,有效提升了mac地址的收集效率,且在现有lldp报文的基础上进行扩展的方式,无需在各网络设备(即汇聚设备和非汇聚设备)上布设新的协议,实现方式简单可靠,利于推广应用。

上述lldp报文采用的是一种邻居发现协议,它能够使诸如交换机、路由器和无线局域网接入点等网络节点向相邻节点公告自身的存在,也即允许网络节点在本地子网中通告自己的设备标识和性能,并保存各个邻近节点的相关信息。具体的,lldp提供了一种标准的链路层发现方式,可以将网络设备的主要能力、管理地址、设备标识、接口标识等信息组织成不同的tlv(type/length/value,类型/长度/值),并封装在lldpdu(linklayerdiscoveryprotocoldataunit,链路层发现协议数据单元)中发布给与相邻设备。其中,tlv是组成lldpdu的单元,每个tlv都代表一个信息,tlvtype(类型域)通常可以选0~127之间的数值,其中,9~126的tlvtype均为预留tlv,现有协议中还未使用,本公开实施方式中的扩展tlv可以为tlvtype=9~126任意值对应的tlv。

非汇聚设备在转发lldp报文时,可以从除去接收lldp报文的端口之外的端口转发该lldp报文给其它网络设备,即一个lldp报文可以被复制多份,从不同的端口发送给不同的网络设备,级联组网中的每个中间设备均可以在重构lldp报文后,按照这种方式转发lldp报文,以使汇聚设备快速收集到当前级联组网中各个网络设备的mac地址。当然,中间设备也可以只从一个出端口或有限个出端口转发lldp报文,这种方式效率相比于上面的转发方式略低,一定程度上可以减少级联组网中lldp报文的泛洪压力。基于此,上述非汇聚设备通过除lldp报文的入端口之外的其它端口转发lldp报文的步骤,包括:非汇聚设备通过除lldp报文的入端口之外的其它端口广播lldp报文;或者,非汇聚设备通过除lldp报文的入端口之外的指定个其它端口转发lldp报文。

如果上述非汇聚设备是级联组网中的边缘设备,在实现上述方法时,该边缘设备可以直接以设定时长为周期,生成并发送带有扩展tlv的lldp报文,通过扩展tlv记录该边缘设备的mac地址。

如果上述非汇聚设备是级联组网中的中间设备,在实现上述方法时,该中间设备可以通过启动计时器监听设定时长内是否收到带有扩展tlv的lldp报文,若收到该lldp报文,进行lldp报文重构操作,重构操作具体可以包括:在上述lldp报文的mac地址字段添加自身的mac地址,修改lldp报文的sa字段的地址为自身的mac地址;重构lldp报文之后,转发该lldp报文。若没有收到lldp报文,生成并发送带有扩展tlv的lldp报文,通过扩展tlv记录该中间设备的mac地址。

现有技术中的lldp报文通常是由一个设备发送给该设备的相邻设备,相邻设备不再对该lldp报文进行转发,本公开实施方式为了收集各个设备的mac地址,简化操作,如果中间设备接收到带有上述扩展tlv的lldp报文,将会在报文中添加自身的mac地址后继续转发该lldp报文,lldp报文的传输过程类似于“逐跳转发”方式,这种方式中,每个设备通过在lldp报文中添加自身的mac地址,即可实现mac地址传递过程,实现方式简单高效。

如表1示意出一种lldp报文的封装形式,该lldp报文主要以ethernetii格式进行封装。

表1

其中,da表示目的mac地址,lldp-multicastaddress表示lldp组播地址,通常组播mac地址为0x0180-c200-000e。

sa中存储有的mac地址(macaddress)为发送lldp报文的节点的mac地址,具体可以为该节点的端口mac地址或设备mac地址(如有端口地址则用端口mac地址,否则用设备mac地址)。

lldpethertype(以太类型字段)为0x88cc;data(数据)中具体对应有lldpdu;fcs表示帧检验序列。表1中还示意出lldp中各字段对应的字节数,其中,1octet=8bits。

考虑到级联网络中存在多级连接,标准的lldp协议只能交互相邻两台设备的地址信息,对于部署有802.1x认证的汇聚节点而言,不能收集到所有下面级联的网络设备的mac地址信息,因此本公开实施例对lldptlv进行扩展。由于原有的lldpdu已定义9~126为功能预留tlv,本公开实施例可以从这些功能预留tlv中选取一个tlv进行扩展,在实际应用中,扩展tlv的tlv类型字段为特定值,该特定值为9至126中的任意值。

上述非汇聚设备依次转发lldp报文时,在mac地址字段添加自身的mac地址,该mac地址字段可以为一组地址字段,从第一个地址字段开始,该一组地址字段用于依次记录每个发送所述lldp报文的非汇聚设备的mac地址。例如选取特定值为100对应的tlv为扩展tlv,参见表2所示的扩展tlv的格式:

表2

其中,tlvtype表示tlv类型,该字段类型可以为9~126中的任意值。由于本公开实施例已选取了特定值为100的tlv,因此tlvtype=100;tlvinformationstringlength表示tlv信息串长度;deviceaddressstringlength表示设备地址串长度;devicemacaddressn表示第n个设备mac地址。表2中的第二行均对应表示所占字节数。以边缘节点为图1中的边缘节点6为例,边缘节点6将自己的mac地址填入表2的devicemacaddress1中。

诸如,边缘节点6在将自己的mac地址填入至lldp报文中的devicemacaddress1之后,将lldp报文发送给接入节点4,接入节点4在lldp报文中的devicemacaddress2中添加自身的mac地址,并继续转发lldp报文给节点2。至此,节点2接收的lldp报文已记录有下挂的边缘节点6和接入节点4的mac地址,从而能够使能802.1x对边缘节点6和接入节点4进行认证。

此外,扩展tlv中的mac地址字段也可以仅为一个字段,各个节点在填写自身地址时,可以以特定字符隔开,诸如,以devicemacaddress1-devicemacaddress2-devicemacaddress3-…-devicemacaddressn的形式记录,或者以devicemacaddress1;devicemacaddress2;devicemacaddress3;…;devicemacaddressn等形式记录;此时,表2中的devicemacaddress1、devicemacaddress2、…devicemacaddressn并不单独分离成不同字段,而是集中在一个字段中。

上述在扩展tlv的mac地址字段记录mac地址的方式,能够有序的记录链路中各个节点的mac地址,便于汇聚节点基于mac地址认证节点和维护mac地址。

上述非汇聚设备发送的lldp报文,可以根据非汇聚设备预先保存的配置信息发送lldp报文,该配置信息可以来自于汇聚设备,也可以是在级联组网部署阶段或部署之前,预先存储于非汇聚设备上,例如在非汇聚设备上配置lldp协议时,将配置信息也配置在非汇聚设备上。以汇聚设备发送该配置信息为例,上述方法还可以包括:(1)汇聚设备发送lldp配置报文,该lldp配置报文包含有lldp报文的配置信息,其中,该配置信息包括扩展tlv的配置信息和/或上述设定时间的配置信息;(2)非汇聚设备接收到lldp配置报文后,根据lldp配置报文发送lldp报文。

上述lldp配置报文包含的配置信息可以根据需要灵活配置,例如该配置信息可以仅包含扩展tlv的配置信息;或者,该配置信息可以仅包含设定时间的配置信息;再或者,该配置信息同时包含扩展tlv的配置信息和设定时间的配置信息。除此之外,该配置信息中还可以包含转发lldp报文的转发策略方面的配置信息,例如是广播发送还是仅从有限个数的出端口转发等信息。

上述扩展tlv的配置信息可以包括但不限于配置扩展tlv的tlv类型字段使用的特定值和扩展tlv的具体格式等。

参见图3所示的一种mac地址处理方法流程图,该方法应用于级联组网中的中间节点为例进行说明,该方法包括:

步骤s302,接收lldp报文。该lldp报文是中间节点下挂的节点传递给中间节点的,该中间节点下挂的节点可能是边缘节点或者中间节点。

步骤s304,检查lldp报文是否包含有扩展tlv;该扩展tlv包括mac地址字段,mac地址字段用于记录每个发送lldp报文的网络节点的mac地址。

如果lldp报文携带的tlv的tlvtype的值为上述特定值,则该lldp报文包含有扩展tlv。以该特定值以100为例,则检查tlvtype是否等于100,如果是,则该lldp报文包含有扩展tlv,否则,该lldp报文不包含有扩展tlv。

步骤s306,如果lldp报文包含有扩展tlv,在mac地址字段添加中间节点的mac地址,以及修改lldp报文的sa字段的地址为中间节点的mac地址。

诸如,lldp报文由边缘节点6传递给接入节点4,则接入节点4作为中间节点,在收到lldp报文后,会将自身的mac地址填写在如表2所示的扩展tlv的devicemacaddress2,其中,扩展tlv中的devicemacaddress1填写有边缘节点6的mac地址。此外,由于传递给接入节点4的lldp报文中的sa字段原记录有边缘节点6的mac地址,因而本公开实施例中的接入节点4会将lldp报文中的sa字段中的地址替换为接入节点4的mac地址。也即,中间节点在接收到包含有扩展tlv的lldp报文时,通常会处理如下:(1)将lldp报文中的sa字段中记录的mac地址替换为自身的mac地址;(2)将自身的mac地址添加在lldp报文中的扩展tlv中。

步骤s308,转发上述lldp报文,具体转发方式可以采用广播方式发送。

如果扩展tlv中的mac地址字段为一组地址字段,各节点在mac地址字段添加自身的mac地址的方式可以是:从第一个地址字段开始,每个发送lldp报文的网络节点依次将自身的mac地址添加至地址字段。如果扩展tlv中的mac地址字段为一个地址字段,各节点在mac地址字段添加自身的mac地址的方式可以是:在填写自身地址时以特定字符隔开,从而在mac地址字段中与其它节点的mac地址区分开。

通过上述方式,lldp转发至级联组网的汇聚节点时,汇聚节点即可从扩展ltv中收集到下挂的各节点的mac地址。

本公开实施例提供的mac地址处理方法,中间节点可以将自身的mac地址添加在包含有扩展tlv的lldp报文,并继续转发lldp报文至相邻节点,直至lldp报文到达汇聚节点。这种方式可以使lldp携带途径各节点的mac地址,从而实现了汇聚节点自动收集下挂的各节点的mac地址,有效提升了汇聚节点的mac地址收集效率。

参见图4所示的一种mac地址处理方法流程图,该方法应用于级联组网中的汇聚节点为例进行说明,该方法包括:

步骤s402,接收lldp报文。该lldp报文为汇聚节点下挂的节点传递给汇聚节点的。汇聚节点下挂的节点可能为边缘节点或中间节点,当然也可能为另一个汇聚节点。

步骤s404,检查lldp报文是否包含有扩展tlv;扩展tlv包括mac地址字段,mac地址字段用于记录每个发送lldp报文的网络节点的mac地址。

步骤s406,如果lldp报文包含有扩展tlv,将mac地址字段中的mac地址写入802.1xmac表中。

其中,802.1xmac表为802.1x认证中记录合法网络节点的mac表,802.1x认证可以根据802.1xmac表中是否存在某网络节点的mac地址来判断改网络节点是否通过认证。汇聚节点通过将mac地址写入802.1xmac表,有助于后续进行802.1xmac认证。

本公开实施例提供的上述mac地址处理方法,汇聚节点在接收到的lldp报文中含有扩展tlv时,可以将扩展tlv记录的各下挂节点的mac地址收集起来,并写入至802.1xmac表,以便对下挂的各节点进行802.1xmac使能认证。这种方式无需在汇聚节点上手动配置各下挂节点的mac地址,即可使汇聚节点自动收集下挂的各节点的mac地址,有效提升了汇聚节点的mac地址收集效率。

在汇聚节点收集到下挂的各节点的mac地址时,可以基于802.1xmac表对网络节点进行认证。具体实施时,汇聚节点2可以将收到的lldptlv100中的所有mac地址都写入802.1xmac表,mac地址写入至802.1xmac表内的网络节点才可通过认证,能够正常访问局域网。

上述802.1xmac表的每个表项包括一组mac地址,例如上述边缘节点6发送的lldp报文,汇聚节点收到该lldp报文后,从中提取出边缘节点6的mac地址和接入节点4的mac地址,则在802.1xmac表的表项中记录:边缘节点6的mac地址和接入节点4的mac地址;记录mac地址的先后顺序可以预先设定。

此外,考虑到级联组网可能因为诸如部分设备故障、设备被替换等原因而发生变化;汇聚设备收到上述lldp报文后,将上述mac地址字段中的mac地址写入802.1xmac表中的步骤可以包括:检查该mac地址字段中的mac地址在802.1xmac表中是否存在匹配的表项;如果否,将该mac地址字段中的mac地址添加在802.1xmac表的表项中;如果是,使用该mac地址字段中的mac地址修改所述匹配的表项,该修改方式可以为新增mac地址、删除mac地址、更新mac地址等,通过及时修改802.1xmac表的方式,可进一步保障网络安全性。

其中,该mac地址字段中的mac地址在802.1xmac表中是否存在匹配的表项可以包括:检查mac地址字段中的mac地址是否均包含在某个表项中记录的一组mac地址中,如果是,视为二者匹配;否则视为二者不匹配。

诸如,在802.1xmac表中之前已记录表项1:边缘节点6的mac地址和接入节点4的mac地址。如果边缘节点6出现故障,则不再往外发送lldp报文为例,但接入节点4仍旧可以向外发送lldp报文,并在报文中携带有自身的mac地址。如果汇聚节点2接收到的lldp报文的扩展tlv的mac地址字段中的mac地址仅为接入节点4的mac地址,而不再含有边缘节点6的mac地址,而接入节点4的mac地址包含在表项1中,则说明该mac地址字段中的mac地址与表项1匹配,用使用该mac地址字段中的mac地址修改表项1,也即删除表项1中的边缘节点6的地址,修改后的表项1为:接入节点4的mac地址。

如果边缘节点6未出现故障,mac地址字段中的mac地址与表项1完全一致,则用mac地址字段中的mac地址刷新表项1。

如果接入节点4故障,则汇聚节点2不再接收到边缘节点6所在链路的lldp报文,汇聚节点2会在指定时长之后删除表项1。

结合上述图2~图4,对图1解释说明如下:

首先,边缘节点6生成lldp报文;其中,lldp报文包含有扩展tlv,该扩展tlv包括mac地址字段,mac地址字段用于记录每个发送lldp报文的网络节点的mac地址。诸如,边缘节点6的mac地址填入表2的devicemacaddress1中。

然后,边缘节点6将生成的lldp报文发送给连接的接入节点4。接入节点4作为中间节点,在接收到lldp报文后,首先会检查lldp报文是否包含有扩展tlv,如果是,则在mac地址字段中添加接入节点4的mac地址,以及修改lldp报文的sa字段的地址为接入节点4的mac地址,之后将lldp报文发送给连接的下一节点。诸如,接入节点4在确定lldp报文含有扩展tlv时,会在扩展tlv中的devicemacaddress2中添加自身的mac地址,并将lldp报文中的sa字段原始记录的边缘节点6的mac地址修改为接入节点4的mac地址,之后将lldp报文发送给汇聚节点2。

应当注意的是,接入节点4在发送lldp报文时,并不会将lldp报文通过接收该lldp报文的端口原路返回给边缘节点6,而是采用其它端口向外发送lldp报文,诸如发送给节点2,以及图1中未示意出的其它与接入节点4连接的节点;也即,接入节点4会通过接收lldp报文的端口之外的其它所有端口向外发送lldp报文。

汇聚节点2与接入节点4连接,因而会收到lldp报文,并检查lldp报文中是否包含有扩展tlv,如果是,则将扩展tlv中位于mac地址字段的mac地址写入802.1xmac表中,此时802.1xmac表记录有边缘节点2的mac地址和接入节点4的mac地址,能够对边缘节点2和接入节点4进行认证。

综上所述,本实施例对lldp的tlv进行了扩展,并在扩展tlv中定义了设备的mac地址的扩展格式。而且,采用本实施例提供的mac地址处理方法,级联组网中的各节点能够以追加方式在扩展tlv中添加自身的mac地址,以便于汇聚节点无需人工手动配置即可获知下挂的各节点的mac地址,在降低人工成本的基础上,也有助于提升mac地址收集效率,且在现有lldp报文的基础上进行扩展的方式,无需在各节点上布设新的协议,实现方式简单可靠,利于推广应用。

对应于上述方法实施方式,本公开实施方式还提供了一种级联组网中的汇聚设备,该级联组网为802.1x认证场景中的级联组网,该级联组网中的汇聚设备和非汇聚设备均支持lldp协议,参见图5所示的汇聚设备的结构框图,该汇聚设备包括以下模块:

报文接收模块52,用于接收lldp报文;其中,该lldp报文包含有扩展tlv,扩展tlv包括mac地址字段,该mac地址字段用于记录每个发送lldp报文的非汇聚设备的mac地址;

mac表写入模块54,用于将lldp报文的mac地址字段中的mac地址写入802.1xmac表中。

本公开实施方式还提供了一种级联组网中的非汇聚设备,该级联组网为802.1x认证场景中的级联组网,该级联组网中的汇聚设备和非汇聚设备均支持lldp协议,参见图6所示的非汇聚设备的结构框图,该非汇聚设备包括以下模块:

监听模块62,用于监听设定时长内是否接收到lldp报文,其中,该lldp报文包含有扩展tlv,该扩展tlv包括mac地址字段,mac地址字段用于记录每个发送lldp报文的非汇聚设备的mac地址;

第一报文处理模块64,用于如果未接收到lldp报文,生成并发送lldp报文,其中,该lldp报文的mac地址字段携带有该非汇聚设备的mac地址;

第二报文处理模块66,用于如果接收到lldp报文,重构该lldp报文以在lldp报文的mac地址字段添加自身的mac地址,并通过除lldp报文的入端口之外的其它端口转发lldp报文,以使lldp报文到达汇聚设备,触发该汇聚设备将mac地址字段中的mac地址写入802.1xmac表。

本公开实施方式还提供了一种级联组网系统,该级联组网系统为802.1x认证场景中的级联组网系统,参见图7所示的级联组网系统的结构框图,该系统包括汇聚设备50和非汇聚设备60,汇聚设备50和非汇聚设备60的结构如上所述,这里不再赘述。

如果上述非汇聚设备为边缘设备,参见图8所示的边缘设备的结构框图,该边缘设备包括:

报文生成模块82,用于生成lldp报文;其中,lldp报文包含有扩展tlv,扩展tlv包括mac地址字段,mac地址字段用于记录每个发送lldp报文的非汇聚设备的mac地址。

在一种实施方式中,扩展tlv的tlv类型字段为特定值,特定值为9至126中的任意值。上述mac地址字段可以为一组地址字段,从第一个地址字段开始,从第一个地址字段开始,上述一组地址字段用于依次记录每个发送lldp报文的非汇聚设备的mac地址。

报文发送模块84,用于将lldp报文发送给边缘设备连接的下一设备,以使下一设备在mac地址字段添加自身的mac地址,继续转发lldp报文,直至lldp报文到达级联组网的汇聚设备。

本公开实施例提供的边缘设备能够生成带有扩展tlv的lldp报文,通过扩展tlv记录各个设备的mac地址,实现边缘设备至汇聚设备所在链路上的各个设备mac地址的收集过程,相比于手动收集mac地址的方式,有效提升了mac地址收集效率,且在现有lldp报文的基础上进行扩展的方式,无需在各设备上布设新的协议,实现方式简单可靠,利于推广应用。

如果上述非汇聚设备为中间设备,参见图9所示的中间设备的结构框图,该中间设备包括:

报文接收模块92,用于接收lldp报文;

报文检查模块94,用于检查lldp报文是否包含有扩展tlv;扩展tlv包括mac地址字段,mac地址字段用于记录每个发送lldp报文的网络设备的mac地址;

地址添加模块96,用于如果lldp报文包含有扩展tlv,在mac地址字段添加中间设备的mac地址,以及修改lldp报文的sa字段的地址为中间设备的mac地址;

报文发送模块98,用于发送lldp报文至中间设备连接的下一设备,以使下一设备根据扩展tlv添加自身的mac地址,继续转发lldp报文,直至lldp报文到达级联组网的汇聚设备。

本公开实施例提供的上述网络设备的mac地址处理装置,中间设备可以将自身的mac地址添加在包含有扩展tlv的lldp报文,并继续转发lldp报文至相邻设备,直至lldp报文到达汇聚设备。这种方式可以使lldp报文从边缘设备传递至汇聚设备时,记录汇聚设备下挂的各设备的mac地址,从而实现了汇聚设备自动收集下挂的各设备的mac地址,有效提升了汇聚设备的mac地址收集效率,且在现有lldp报文的基础上进行扩展的方式,无需在各设备上布设新的协议,实现方式简单可靠,利于推广应用。

本公开实施例所提供的上述网络节点的mac地址处理装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,上述汇聚设备和非汇聚设备对应的实施例部分未提及之处,可参考前述方法实施例中相应内容。

本公开实施例还提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现前述mac地址处理方法。在一种实施方式中,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述方法。

参见图10所示的一种网络设备的结构示意图,该网络设备包括存储器100和处理器101;其中,存储器100即为机器可读存储介质,用于存储一条或多条计算机指令,一条或多条计算机指令被处理器执行,以实现上述mac地址处理方法中汇聚设备执行的步骤和非汇聚设备执行的步骤。

进一步,图10所示的网络设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。

其中,存储器100可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施方式的方法的步骤。

最后应说明的是:以上所述实施方式,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施方式对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施方式所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施方式技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

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