通信方法及装置与流程

文档序号:30245559发布日期:2022-06-02 00:37阅读:388来源:国知局
通信方法及装置与流程

1.本技术涉及通信技术领域,尤其涉及一种通信方法及装置。


背景技术:

2.通常人们认为跨越互联网(internet)的链路或者跨广域网的链路是不安全的,采用对链路进行加密的方式可提高传输的安全性。
3.目前,普遍采用的加密技术为传统的互联网安全协议(英文:internet protocol security,简称:ipsec)三层加密技术。但是,由于传统的ipsec技术缺少硬件资源,无法实现线速转发,不能满足用户要求。若使用外部专门的加密机来实现数据加密,一是成本太高,二是现在的网络设备的单端口吞吐能力高达10g级别或以上,加密机的性能也无法满足转发性能的要求。
4.媒体存取控制位址安全(英文:media access control security,简称:macsec)定义了基于ieee 802协议的局域网内数据安全通信方法,可为用户提供安全的mac层数据发送和接收服务。例如,用户数据加密、数据帧完整性检查及数据源真实性校验,为用户提供加密数据的线速转发等等。
5.macsec包括两部分功能实体:一个为mac安全实体(secy),另一个为mac安全密钥协商实体(英文:mac security key agreement entity,简称:kay)。secy由驱动层面的硬件芯片实现。位于链路端口上分别为受控端口用户提供mac安全转发服务,为非受控端口用户提供非安全服务。secy使用kay下发的安全关联密钥(英文:secure association key,简称:sak)来对通道发送的报文按sa进行加密,以及对安全通道接收的报文进行解密还原。同时在接收通道按每sa进行重播保护。
6.kay由软件实现。负责密钥的生成和发布,发现和建立设备间的安全通道。在安全通道端到端间为secy提供使用相同的sak用于报文加密保护。kay实体之间交互的mkpdu协议报文以ethernet type=0x88-8e(复用802.1x的报文类型,子类型为eapol_mka)来区分于macsec保护的数据帧报文(macsec frame)。
7.macsec密钥协商(英文:macsec key agreement,简称:mka)会话中的密钥协商协议数据单元(英文:macsec key agreement protocol data unit,简称:mkpdu)或称之为mkpdu协议报文穿越广域网机理是:mkpdu基于802.1xeapol协议(英文:eap over lans,中文:局域网上的可扩展身份验证协议(英文:extensible authentication protocol,简称:eap)),是在任何情况下都不加密的普通二层协议报文,其在以太网(英文:etherent,简称:eth)头部后协议类型为888e,所以,在通过中间网络时相关协议的协议字段可以根据需要填写在其对应的位置。例如,虚拟局域网(英文:virtual local area network,简称:vlan)的802.1q协议字段就可直接填写在eth头部后并在eapol协议头部前。综上,mka会话中的mkpdu协议报文可穿越中间网络。
8.如图1所示,图1为现有包括802.1q协议字段的mkpdu协议报文结构示意图。
9.mka协商建立后,在mac层传输数据帧报文时,通过物理硬件(phy)按mka会话协商
的加密算法对数据帧报文进行加密。如图2所示,图2为现有加密后的数据帧报文结构示意图。加密后的数据帧报文包括eth头部以及mac协议数据单元(英文:mac protocol data unit,简称:mpdu)部分。mpdu部分开始为mac安全标签(英文:mac security tag,简称:sectag)字段,协议类型为88e5。sectag字段后面为加密的数据报文,最后为完整性校验值(英文:integrity check value,简称:icv)。
10.在图2中,eth头部之后的协议字段均进行了加密处理,例如,802.1q协议字段等。数据帧报文发出后,对外显示的信息仅为目的mac和源mac信息,上述数据帧报文无法通过广域网络转发。
11.若要实现穿越中间的广域网络,必须在两台macsec设备前各增加一个中间传输设备。而且,由于macsec设备a发出的数据帧报文未携带任何协议信息,中间传输设备仅可从基于端口的vlan id(英文:port-base vlan id,简称:pvid)接收上述数据帧报文。中间传输设备在数据帧报文中标记vlan等协议标签。到达macsec设备b前,由连接macsec设备b的中间传输设备将协议标签删除后再转发至macsec设备b,否则macsec设备b解密的物理硬件无法对数据帧报文解密。
12.如此,macsec协议的优势就被降低为类似加密机功能。使能macsec协议的端口上已使能的其他协议均无法在有中间网络的情况下正常使用。macsec协议也无法满足当前对跨越互联网的链路或者跨广域网的链路进行数据加密的需求。


技术实现要素:

13.有鉴于此,本技术提供了一种通信方法及装置,用以解决macsec协议加密的数据帧报文无法穿越中间网络的问题。
14.第一方面,本技术提供了一种通信方法,所述方法应用于第一网络设备,所述方法包括:
15.向第二网络设备发送第一mkpdu协议报文,所述第一mkpdu协议报文包括第一扩展类型参数集,所述第一扩展类型参数集包括第一灵活标签参数集,所述第一灵活标签参数集包括无需加密的第一协议类型标识;
16.接收所述第二网络设备发送的第二mkpdu协议报文;
17.若所述第二mkpdu协议报文包括第二灵活标签参数集且所述第二灵活标签参数集包括的支持字段为第一值,则从所述第二灵活标签参数集中获取无需加密的第二协议类型标识;
18.从所述第一协议类型标识与所述第二协议类型标识中,获取相同的第三协议类型标识;
19.当数据帧报文包括承载所述第三协议类型标识的协议字段时,对承载所述第三协议类型标识的协议字段不进行加密操作。
20.第二方面,本技术提供了一种通信装置,所述装置应用于应用于第一网络设备,所述方法包括:
21.发送单元,用于向第二网络设备发送第一mkpdu协议报文,所述第一mkpdu协议报文包括第一扩展类型参数集,所述第一扩展类型参数集包括第一灵活标签参数集,所述第一灵活标签参数集包括无需加密的第一协议类型标识;
22.接收单元,用于接收所述第二网络设备发送的第二mkpdu协议报文;
23.第一获取单元,用于若所述第二mkpdu协议报文包括第二灵活标签参数集且所述第二灵活标签参数集包括的支持字段为第一值,则从所述第二灵活标签参数集中获取无需加密的第二协议类型标识;
24.第二获取单元,用于从所述第一协议类型标识与所述第二协议类型标识中,获取相同的第三协议类型标识;
25.加密单元,用于当数据帧报文包括承载所述第三协议类型标识的协议字段时,对承载所述第三协议类型标识的协议字段不进行加密操作。
26.第三方面,本技术提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本技术第一方面所提供的方法。
27.因此,通过应用本技术提供的通信方法及装置,第一网络设备向第二网络设备发送第一mkpdu协议报文,该第一mkpdu协议报文包括第一扩展类型参数集,该第一扩展类型参数集包括第一灵活标签参数集,该第一灵活标签参数集包括无需加密的第一协议类型标识;第一网络设备接收第二网络设备发送的第二mkpdu协议报文;若第二mkpdu协议报文包括第二灵活标签参数集且第二灵活标签参数集包括的支持字段为第一值,则第一网络设备从第二灵活标签参数集中获取无需加密的第二协议类型标识;第一网络设备从第一协议类型标识与第二协议类型标识中,获取相同的第三协议类型标识;当数据帧报文包括承载第三协议类型标识的协议字段时,第一网络设备对承载第三协议类型标识的协议字段不进行加密操作。
28.如此,若两端网络设备在进行mka协商的过程中,若两端网络设备均支持扩展类型参数集且支持灵活标签参数集,则相互通告各自支持的无需加密的协议类型标识。若两端网络设备支持相同的无需加密的协议类型标识,则在后续发送数据帧报文时,可不再对相同的协议类型标识进行加密操作。实现了mka协商通过后加密的数据帧报文可穿越中间网络进行转发。
附图说明
29.图1为现有包括802.1q协议字段的mkpdu协议报文结构示意图;
30.图2为现有加密后的数据帧报文结构示意图;
31.图3为本技术实施例提供的通信方法的流程图;
32.图4为本技术实施例提供的eapol报文结构示意图;
33.图5为本技术实施例提供的mkpdu协议报文包括多个参数集结构示意图;
34.图6为本技术实施例提供的第一扩展类型参数集结构示意图;
35.图7为第一灵活标签参数集结构示意图;
36.图8本技术实施例提供的一种加密后的数据帧报文结构示意图;
37.图9本技术实施例提供的另一种加密后的数据帧报文结构示意图;
38.图10为本技术实施例提供的通信装置结构图;
39.图11为本技术实施例提供的网络设备硬件结构体。
具体实施方式
40.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本技术相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
41.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
42.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
43.下面对本技术实施例提供的通信方法进行详细地说明。参见图3,图3为本技术实施例提供的通信方法的流程图。该方法应用于第一网络设备。本技术实施例提供的通信方法可包括如下所示步骤。
44.步骤310、向第二网络设备发送第一mkpdu协议报文,所述第一mkpdu协议报文包括第一扩展类型参数集,所述第一扩展类型参数集包括第一灵活标签参数集,所述第一灵活标签参数集包括无需加密的第一协议类型标识;
45.具体地,第一网络设备与第二网络设备建立mka会话,并在mka会话上进行mka协商。
46.根据第一网络设备、第二网络设备各自的优先级,分别配置第一网络设备、第二网络设备在mka协商中的角色。例如,根据优先级进行配置时,将优先级高的配置为密钥服务端(key server)端,将优先级低的配置为密钥客户端(key client)端。在本技术实施例中,第一网络设备的优先级高于第二网络设备,则第一网络设备为key server端,第二网络设备为key client端。
47.第一网络设备作为key server端,生成第一mkpdu协议报文,该第一mkpdu协议报文包括第一扩展类型参数集。该第一扩展类型参数集包括第一灵活标签参数。该第一灵活标签参数集包括第一网络设备支持的无需加密的第一协议类型标识。
48.第一网络设备生成第一mkpdu协议报文后,向第二网络设备发送第一mkpdu协议报文。第二网络设备接收第一mkpdu协议报文后,先从中获取第一扩展类型参数集。然后,从第一扩展类型参数集中获取第一灵活标签参数集。最后,从第一灵活标签参数集中获取第一协议类型标识。
49.进一步地,下面对第一mkpdu协议报文的报文格式进行详细说明。
50.第一网络设备生成eap协议报文,并通过eapol技术对eap协议进行封装处理,得到eapol报文。eapol技术是802.1x协议定义的一种承载eap协议报文的封装技术,主要用于在局域网中传送客户端和服务端之间的eap协议报文。
51.如图4所示,图4为本技术实施例提供的eapol报文结构示意图。在图4中,eapol报
文包括协议版本(protocol version)字段、报文类型(packet type)字段、报文体长度(packet body length)字段以及报文体(packet body)字段(该报文体字段可称之为第一报文体字段)。
52.其中,当packet type字段的值为0000 0101时,表征eapol报文为mkpdu协议报文。也即是,第一mkpdu协议报文包括的packet type字段的值为00000101。
53.每个mkpdu协议报文包括多个参数集,多个参数集携带在报文体(packet body)字段中。各参数集的使用标准由macsec密钥协议在ieee802.1x-2010第9条中指定,该条款指定各参数集的编码。
54.如图5所示,图5为本技术实施例提供的mkpdu协议报文包括多个参数集结构示意图。在图5中,第一个参数集为基本参数集(basic parameter set),其始终存在,基本参数集后面可伴随着0个或更多个参数集,最后为icv字段。
55.在本技术实施例中,第一网络设备在基本参数集后新增第一扩展类型(expanded types)参数集。如图6所示,图6为本技术实施例提供的第一扩展类型参数集结构示意图。在图6中,第一扩展类型参数集包括参数集类型(parameter set type)字段(该参数集类型字段的值为254)、版本(version)字段、类型(type)字段(该类型体字段可称之为第一类型字段)、长度(length)字段以及报文体(packet body)字段(该报文体字段可称之为第二报文体字段)。
56.其中,版本字段的值为1,用于标记扩展类型协议版本为1;类型字段的值为2(该值可称之为第二值),用于表示第一灵活标签(smart tag)参数集在第一扩展类型参数集中的类型值;长度字段,用于表示第一扩展类型参数集整体长度;报文体字段用于携带报文内容;当类型字段的值为2表示第一灵活标签参数集类型时,报文体字段内的报文格式为第一灵活标签参数集格式。
57.需要说明的是,第一灵活标签参数集在第一扩展类型参数中的类型值为2。第一灵活标签参数集用以说明网络设备在mka协商通过后,对待加密的数据帧报文进行加密操作时,需保留的协议字段不进行加密操作。也即是,sec tag字段从哪个协议字段之后添加。
58.如图7所示,图7为本技术实施例提供的第一灵活标签参数集结构示意图。在图7中,第一灵活标签参数集包括参数集类型(parameter set type)字段(该参数集类型字段的值为8)、支持(support)字段(该支持字段的值包括0或1)、长度(length)字段以及协议列表(protocol list)字段。
59.其中,支持字段的值为1(该值可称之为第一值),表示网络设备支持第一灵活标签参数集,此时,协议列表字段内填写网络设备支持的无需加密的第一协议类型标识(例如,无需加密的协议类型标识为0x8100,该协议类型标识表征无需对vlan 802.1q协议字段进行加密操作);支持字段的值为0,表示网络设备不支持第一灵活标签参数集,此时,协议列表字段内为空。
60.进一步地,通过前述对第一mkpdu协议报文的报文格式描述可知,本技术实施例,第一mkpdu协议报文包括第一报文体字段(即,packet body字段),该第一报文体字段承载第一扩展类型参数集。
61.第一扩展类型参数集包括第一类型字段(即,type字段)以及第二报文体字段(即packet body字段),当第一类型字段的值为第二值(即,type字段的值为2)时,第二报文体
字段承载第一灵活标签参数集。
62.第一灵活标签参数集包括支持字段(即,support字段)以及协议列表字段(即,protocol list字段),当支持字段的值为第一值(即,support字段的值为1)时,协议列表字段承载第一协议类型标识。
63.在一个例子中,第一网络设备设备支持的无需加密的第一协议类型可具体包括:vlan的802.1q协议、ip协议。此时,第一网络设备将上述两个协议类型标识填充至协议列表字段内。
64.可以理解的是,一个协议类型标识占用个协议列表字段内的一个8位(octet)字节。
65.在本技术实施例中,若第一网络设备不支持第一扩展类型参数集、第一灵活标签参数集,则第一网络设备按现有macsec协议发起与第二网络设备之间的mka协商。
66.步骤320、接收所述第二网络设备发送的第二mkpdu协议报文;
67.具体地,根据步骤310的描述,第一网络设备向第二网络设备发送第一mkpdu协议报文。第二网络设备接收到第一mkpdu协议报文后,先从第一报文体字段中获取第一扩展类型参数集。
68.第二网络设备识别自身是否支持第一扩展类型参数集。若第二网络设备支持第一扩展类型参数集,则第二网络设备从第一扩展类型集中获取类型字段,并识别类型字段的值。若类型字段的值为2,则表示第二报文体字段内存储的为第一灵活标签参数集。
69.第二网络设备从第二报文体字段内获取第一灵活标签参数集。第二网络设备识别支持字段的值。若支持字段的值为第一值,即为1,则第二网络设备从协议列表字段内获取第一网络设备支持的无需加密的第一协议类型标识。
70.第二网络设备获取到第一协议类型标识后,识别自身是否支持第一协议类型标识对应的协议类型。可以理解的是,第一协议类型标识可为多个,每个第一协议类型标识对应一个协议类型。
71.第二网络设备识别自身是否支持每个协议类型标识对应的协议类型。第二网络设备根据自身支持协议类型的情况,生成第二mkpdu协议报文。
72.可以理解的是,第二mkpdu协议报文的报文结构与前述第一mkpdu协议报文的报文结构相同,在此不再复述。
73.例如,第一协议类型标识对应的协议类型具体为a、b、c。第二网络设备确定自身支持协议类型具体为a、b、d。此时,第二网络设备生成第二灵活标签参数集。该第二灵活标签参数集包括支持字段以及协议列表字段。同理,该支持字段的值为第一值,即为1;协议列表字段包括第二网络设备支持的无需加密的第二协议类型标识,即a、b、d协议类型标识。
74.上述示例中,以第二网络设备自身支持协议类型与第一网络设备自身支持协议类型部分相同为例进行说明。在实际应用中,还可能出现第二网络设备自身支持协议类型与第一网络设备自身支持协议类型相同或者不同的情况。
75.例如,第二网络设备确定自身支持协议类型具体为a、b、c;或者,第二网络设备确定自身支持协议类型具体为e、f、g。
76.同理,a、b、c协议类型标识;或者,e、f、g协议类型标识也可携带在协议列表字段中。
77.第二网络设备将第二灵活标签参数集携带在第二扩展类型集中。第二扩展类型集包括类型字段以及第三报文体字段(该第三报文体字段与第二报文体字段相同)。其中,第二网络设备将该类型字段设置为第二值,即为2,表示第三报文体字段内存储的为第二灵活标签参数集。
78.第二网络设备将第二扩展类型集携带在第四报文体字段(该第四报文体字段与第一报文体字段相同),从而,第二网络设备生成第二mkpdu协议报文。
79.可以理解的是,上述第二mkpdu协议报文、第二扩展类型集、第二灵活标签参数集包括的未提到的其他字段可根据现有协议规定、前述步骤210中对第一扩展类型集、第一灵活标签参数集的描述设置各字段的值,在此不再复述。
80.第二网络设备生成第二mkpdu协议报文后,向第一网络设备发送第二mkpdu协议报文。
81.第一网络设备接收第二网络设备发送的第二mkpdu协议报文。
82.步骤330、若所述第二mkpdu协议报文包括第二灵活标签参数集且所述第二灵活标签参数集包括的支持字段为第一值,则从所述第二灵活标签参数集中获取无需加密的第二协议类型标识;
83.具体地,根据步骤320的描述,第一网络设备接收到第二mkpdu协议报文之后,先从第四报文体字段中获取第二扩展类型参数集。
84.第一网络设备获取到第二扩展类型参数集后,确定第二网络设备也支持同参数集类型(例如,参数集类型字段的值为254)。第一网络设备从第二扩展类型参数集中获取类型字段,并识别类型字段的值。若类型字段的值为2,则表示第三报文体字段内存储的为第二灵活标签参数集。
85.第一网络设备从第三报文体字段内获取第二灵活标签参数集。第一网络设备识别支持字段的值。若支持字段的值为第一值,即为1,则第一网络设备从协议列表字段内获取第二网络设备支持的无需加密的第二协议类型标识。
86.步骤340、从所述第一协议类型标识与所述第二协议类型标识中,获取相同的第三协议类型标识;
87.具体地,根据步骤330的描述,第一网络设备获取到第二网络设备支持的无需加密的第二协议类型标识后,比较第一协议类型标识与第二协议类型标识。
88.从第一协议类型标识与第二协议类型标识中,第一网络设备获取相同的第三协议类型标识。
89.在一个例子中,第一协议类型标识对应的协议类型为a、b、c,第二协议类型标识对应的协议类型为a、b、d,第一网络设备获取相同的第三协议类型标识具体为协议类型a、b对应的协议类型标识。
90.在另一个例子中,第一协议类型标识对应的协议类型为a、b、c,第二协议类型标识对应的协议类型为a、b、c,第一网络设备获取相同的第三协议类型标识具体为协议类型a、b、c对应的协议类型标识。
91.在另一个例子中,第一协议类型标识对应的协议类型为a、b、c,第二协议类型标识对应的协议类型为e、f、g,第一网络设备未获取相同的第三协议类型标识。
92.步骤350、当数据帧报文包括承载所述第三协议类型标识的协议字段时,对承载所
述第三协议类型标识的协议字段不进行加密操作;
93.具体地,根据步骤340的描述,第一网络设备获取第三协议类型标识后,且第一网络设备与第二网络设备之间已完成mka协商后,第一网络设备可与第二网络设备之间进行数据帧报文的交互。
94.当数据帧报文包括承载第三协议类型标识的协议字段时,第一网络设备对承载第三协议类型标识的协议字段不进行加密操作。
95.在一个例子中,第三协议类型标识的协议字段为vlan的802.1q协议类型字段,则第一网络设备在对数据帧报文进行加密操作后,加密后的数据帧报文如图8所示。在图8中,第一网络设备对vlan的802.1q协议类型字段之后的部分进行加密操作。
96.在另一个例子中,第三协议类型标识的协议字段为ip协议类型字段,则第一网络设备在对数据帧报文(例如,vxlan报文)进行加密操作后,加密后的数据帧报文如图9所示。在图9中,第一网络设备对ip协议类型字段之后的部分进行加密操作。
97.在本技术实施例中,穿越中间网络所需的二层协议字段(vlan的802.1q协议类型字段)、三层协议字段(ip协议类型字段)均可以以明文的方式保留在数据帧报文内,而真正有安全性需要的数据内容可正常加密。如此,macsec加密后的数据帧报文可以穿越各种中间网络。
98.需要说明的是,若在步骤340中,第一网络设备未获取相同的第三协议类型标识,则第一网络设备确定与第二网络设备没有共同支持的无需加密的协议类型。也即是,第一网络设备、第二网络设备对灵活标签参数集未协商成功,则第一网络设备、第二网络设备在后续交互数据帧报文时,按现有macsec协议对数据帧报文进行加密操作。
99.第一网络设备与第二网络设备之间已完成mka协商后,第一网络设备可与第二网络设备之间进行数据帧报文的交互。当数据帧报文包括承载第一协议类型标识或者第二协议类型标识的协议字段时,第一网络设备或第二网络设备对承载第一协议类型标识或者第二协议类型标识的协议字段进行加密操作。
100.例如,第一协议类型标识对应的第一协议类型为vlan 802.1q协议字段,第二协议列席标识对应的第二协议类型为ip协议字段。
101.则,第一网络设备生成的数据帧报文包括vlan 802.1q协议字段,vlan802.1q协议字段处于eth头部后,则第一网络设备对eth头部后的部分进行加密操作,也即是,第一网络设备的加密操作包括vlan 802.1q协议字段。
102.同理,第二网络设备处理的数据帧报文包括vlan 802.1q协议字段,vlan802.1q协议字段处于eth头部后,则第二网络设备对eth头部后的部分进行加密操作,也即是,第二网络设备的加密操作包括vlan 802.1q协议字段。
103.因此,通过应用本技术提供的通信方法,第一网络设备向第二网络设备发送第一mkpdu协议报文,该第一mkpdu协议报文包括第一扩展类型参数集,该第一扩展类型参数集包括第一灵活标签参数集,该第一灵活标签参数集包括无需加密的第一协议类型标识;第一网络设备接收第二网络设备发送的第二mkpdu协议报文;若第二mkpdu协议报文包括第二灵活标签参数集且第二灵活标签参数集包括的支持字段为第一值,则第一网络设备从第二灵活标签参数集中获取无需加密的第二协议类型标识;第一网络设备从第一协议类型标识与第二协议类型标识中,获取相同的第三协议类型标识;当数据帧报文包括承载第三协议
类型标识的协议字段时,第一网络设备对承载第三协议类型标识的协议字段不进行加密操作。
104.如此,若两端网络设备在进行mka协商的过程中,若两端网络设备均支持扩展类型参数集且支持灵活标签参数集,则相互通告各自支持的无需加密的协议类型标识。若两端网络设备支持相同的无需加密的协议类型标识,则在后续发送数据帧报文时,可不再对相同的协议类型标识进行加密操作。实现了mka协商通过后加密的数据帧报文可穿越中间网络进行转发。
105.可选地,在本技术实施例步骤310之前,还包括第一网络设备接收用户输入的配置指令的步骤。
106.具体地,用户通过向第一网络设备输入命令行的方式,向第一网络设备下发配置指令。该配置指令包括数据帧报文中无需加密的协议字段,该协议字段用于承载前述步骤中描述的第一协议类型标识。
107.第一网络设备接收配置指令后,待启动与第二网络设备之间的mka协商过程中,在第一mkpdu协议报文中携带第一扩展类型参数集,并在第一扩展类型参数集中携带第一灵活标签参数集,在第一灵活标签参数集中携带无需加密的第一协议类型标识。
108.例如,命令行具体为:macsec smarttag[xxx|yy]
[0109]
其中,“[]”内配置指定数据帧报文内无需加密的协议字段。目前,已实现在vlan 802.1q协议字段后或ip协议字段后的部分进行加密操作。在实际应用中个,可根据需求扩展设置其他协议字段,且可配置匹配多个协议字段。
[0110]
可选地,在本技术实施例中,第一网络设备接收到第二mkpdu协议报文之后,还包括第二mkpdu协议报文未包括第二扩展类型参数集的情况。
[0111]
具体地,第二网络设备在识别自身是否支持第一扩展类型参数集的过程中,若第二网络设备不支持第一扩展类型参数集,则根据ieee802.1x-2010协议,第二网络设备在处理时,跳过无法识别的参数集。也即是,第二网络设备不对第一扩展类型参数集进行识别、处理。
[0112]
可以理解的是,第二网络设备在生成第二mkpdu协议报文时,由于自身不支持第一扩展类型参数集,因此,第二mkpdu协议报文不包括与第一扩展类型参数集相同字段值的第二扩展类型参数集(例如,参数集类型字段的值为254)。
[0113]
第一网络设备接收到第二mkpdu协议报文后,若未从第四报文体字段中获取第二扩展类型参数集,则第一网络设备确定第二网络设备无法支持同参数集类型(例如,参数集类型字段的值为254)。
[0114]
此时,第一网络设备按照现有mka协商规则,与第二网络设备协商其他密钥参数,不进行灵活标签参数集的协商。
[0115]
可选地,在本技术实施例中,第一网络设备接收到第二mkpdu协议报文之后,还包括第二灵活标签参数集包括的支持字段为第三值的情况。
[0116]
具体地,若第二mkpdu协议报文包括第二灵活标签参数集且第二灵活标签参数集包括的支持字段为第三值(即,支持字段的值为0),则第一网络设备确定第二网络设备不支持灵活标签参数集,也即是第二网络设备不支持对协议类型不进行加密操作。
[0117]
此时,两端网络设备中有一端网络设备不支持灵活标签参数集,则两端网络设备
均按照现有macsec协议的规定,对eth头部之后的部分进行加密操作。
[0118]
第一网络设备与第二网络设备之间已完成mka协商后,第一网络设备可与第二网络设备之间进行数据帧报文的交互。
[0119]
当数据帧报文包括承载第一协议类型标识的协议字段时,第一网络设备对承载第一协议类型标识的协议字段进行加密操作。
[0120]
例如,数据帧报文包括vlan 802.1q协议字段或ip协议字段,vlan 802.1q协议字段或ip协议字段均处于eth头部后,则第一网络设备对eth头部后的部分进行加密操作,也即是,第一网络设备的加密操作包括vlan 802.1q协议字段或ip协议字段。
[0121]
基于同一发明构思,本技术实施例还提供了与通信方法对应的通信装置。参见图10,图10为本技术实施例提供的通信装置,所述装置应用于第一网络设备,所述方法包括:
[0122]
发送单元1010,用于向第二网络设备发送第一mkpdu协议报文,所述第一mkpdu协议报文包括第一扩展类型参数集,所述第一扩展类型参数集包括第一灵活标签参数集,所述第一灵活标签参数集包括无需加密的第一协议类型标识;
[0123]
接收单元1020,用于接收所述第二网络设备发送的第二mkpdu协议报文;
[0124]
第一获取单元1030,用于若所述第二mkpdu协议报文包括第二灵活标签参数集且所述第二灵活标签参数集包括的支持字段为第一值,则从所述第二灵活标签参数集中获取无需加密的第二协议类型标识;
[0125]
第二获取单元1040,用于从所述第一协议类型标识与所述第二协议类型标识中,获取相同的第三协议类型标识;
[0126]
加密单元1050,用于当数据帧报文包括承载所述第三协议类型标识的协议字段时,对承载所述第三协议类型标识的协议字段不进行加密操作。
[0127]
可选地,所述接收单元1020还用于,接收用户输入的配置指令,所述配置指令包括数据帧报文中无需加密的协议字段,所述协议字段用于承载所述第一协议类型标识。
[0128]
可选地,所述第一mkpdu协议报文包括第一报文体字段,所述第一报文体字段承载所述第一扩展类型参数集;
[0129]
所述第一扩展类型参数集包括第一类型字段以及第二报文体字段,当所述第一类型字段的值为第二值时,所述第二报文体字段承载所述第一灵活标签参数集;
[0130]
所述第一灵活标签参数集包括支持字段以及协议列表字段,当所述支持字段的值为所述第一值时,所述协议列表字段承载所述第一协议类型标识。
[0131]
可选地,所述装置还包括:确定单元(图中未示出),用于若所述第二mkpdu协议报文未包括第二扩展类型参数集,则确定在进行mka协商过程中不进行灵活标签参数集的协商。
[0132]
可选地,所述加密单元1050还用于,若所述第二mkpdu协议报文包括所述第二灵活标签参数集且所述第二灵活标签参数集包括的支持字段为第三值,则当所述数据帧报文包括承载所述第一协议类型标识的协议字段时,对承载所述第一协议类型标识的协议字段进行加密操作。
[0133]
因此,通过应用本技术提供的通信装置,第一网络设备向第二网络设备发送第一mkpdu协议报文,该第一mkpdu协议报文包括第一扩展类型参数集,该第一扩展类型参数集包括第一灵活标签参数集,该第一灵活标签参数集包括无需加密的第一协议类型标识;第
一网络设备接收第二网络设备发送的第二mkpdu协议报文;若第二mkpdu协议报文包括第二灵活标签参数集且第二灵活标签参数集包括的支持字段为第一值,则第一网络设备从第二灵活标签参数集中获取无需加密的第二协议类型标识;第一网络设备从第一协议类型标识与第二协议类型标识中,获取相同的第三协议类型标识;当数据帧报文包括承载第三协议类型标识的协议字段时,第一网络设备对承载第三协议类型标识的协议字段不进行加密操作。
[0134]
如此,若两端网络设备在进行mka协商的过程中,若两端网络设备均支持扩展类型参数集且支持灵活标签参数集,则相互通告各自支持的无需加密的协议类型标识。若两端网络设备支持相同的无需加密的协议类型标识,则在后续发送数据帧报文时,可不再对相同的协议类型标识进行加密操作。实现了mka协商通过后加密的数据帧报文可穿越中间网络进行转发。
[0135]
基于同一发明构思,本技术实施例还提供了一种网络设备,如图11所示,包括处理器1110、收发器1120和机器可读存储介质1130,机器可读存储介质1130存储有能够被处理器1110执行的机器可执行指令,处理器1110被机器可执行指令促使执行本技术实施例所提供的通信方法。前述图10所示的通信装置,可采用如图11所示的网络设备硬件结构实现。
[0136]
上述计算机可读存储介质1130可以包括随机存取存储器(英文:random access memory,简称:ram),也可以包括非易失性存储器(英文:non-volatile memory,简称:nvm),例如至少一个磁盘存储器。可选的,计算机可读存储介质1130还可以是至少一个位于远离前述处理器1110的存储装置。
[0137]
上述处理器1110可以是通用处理器,包括中央处理器(英文:central processing unit,简称:cpu)、网络处理器(英文:network processor,简称:np)等;还可以是数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field-programmable gate array,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0138]
本技术实施例中,处理器1110通过读取机器可读存储介质1130中存储的机器可执行指令,被机器可执行指令促使能够实现处理器1110自身以及调用收发器1120执行前述本技术实施例描述的通信方法。
[0139]
另外,本技术实施例提供了一种机器可读存储介质1130,机器可读存储介质1130存储有机器可执行指令,在被处理器1110调用和执行时,机器可执行指令促使处理器1110自身以及调用收发器1120执行前述本技术实施例描述的通信方法。
[0140]
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0141]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0142]
对于通信装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0143]
以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1