通信方法及装置与流程

文档序号:33116953发布日期:2023-02-01 03:00阅读:28来源:国知局
通信方法及装置与流程

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


背景技术:

2.软件定义广域网(英文:software defined wide area network,简称:sdwan)是将sdn技术应用至广域网的一种vpn技术。
3.其控制平面通过标准的mp-bgp通告传输隧道端点(英文:transport tunnel endpoint,简称:tte)信息以及evpn路由信息,进而实现不同站点之间的mac地址、ip地址的学习和发布;其数据平面采用udp封装转发数据报文且可保障数据快速安全传输,为分散在广阔地理范围内的企业网络、数据中心等提供安全可靠的互联服务。
4.ip安全(英文:ip security,简称:ipsec)是由ietf制定的三层隧道加密协议,其为在互联网上传输的数据提供了高质量的、基于密码学的安全保证,是一种传统的实现三层虚拟专用网络(英文:virtual private network,简称:vpn)的安全技术。
5.安全联盟(英文:security association,简称:sa)是ipsec的基础,也是ipsec的本质。ipsec在两个端点之间提供安全通信,该端点被称为ipsec对等体。sa是ipsec对等体间对某些要素的约定。例如,使用的安全协议(ah、esp或两者结合使用)、协议报文的封装模式(传输模式或隧道模式)、认证算法(hmac-md5、hmac-sha1或sm3)、加密算法(des、3des、aes或sm)、特定流中保护数据的共享密钥以及密钥的生存时间等等。
6.sa是单向的,在两个对等体之间的双向通信中,最少需要两个sa来分别对两个方向的数据报文进行安全保护。当前,sa的生成方式包括手工方式以及互联网密钥交换(英文:internet key exchange,简称:ike)自动协商方式。
7.手工方式是指管理人员通过输入命令行的方式,配置sa的全部信息。该方式的配置较复杂,且无法支持某些高级功能(例如,抗重放功能)。优点是可不依赖ike而单独实现ipsec功能,适用于进行安全通信的对等体数量较少、或小型静态的组网环境。ike自动协商方式是指对等体之间通过ike协议自动协商生成sa,并由ike协议维护sa。该方式的配置较简单,扩展能力强,适用于中、大型的动态网络环境。
8.如图1所示,图1为现有sdwan网络组网示意图。在图1中,客户端前置设备(英文:customer premise equipment,简称:cpe)1、cpe2各自生成自身的ipsec sa,并通过与rr建立的控制通道同步至其他cpe。当cpe之间需进行数据传输时,cpe将使用对端的ipsec sa待传输数据进行ipsec加密保护。
9.当cpe1向cpe2发送数据报文时,cpe1将使用cpe2的ipsec sa2对报文进行加密后向cpe2发送。cpe2收到数据报文后,使用ipsec sa2进行解密处理。反之,当cpe2向cpe1发送数据报文时,cpe2将使用cpe1的ipsec sa1进行加密后向cpe1发送。cpe1收到数据报文后,使用ipsec sa1进行解密处理。
10.由于ipsec sa均是单向的,网络设备在执行加密、解密处理时,采用不同的ipsec sa。通常情况下,本端的ipsec sa用于解密处理,对端的ipsec sa用于加密处理。
11.但是,现有sa的生成方式应用在cpe并进行数据传输过程时也暴露出以下问题:现有通常采用手工方式在各cpe上配置ipsec sa,但是,手工方式配置的ipsec sa无法支持抗重放功能。例如,管理人员刚配置了本端cpe的ipsec sa后,远端cpe的ipsec sa还未同步至本地。此时,本端发送数据报文失败,但本端生成数据报文时,将持续递增数据报文包括的抗重放序列号。待各cpe的本端、远端ipsec sa均配置完成后,远端接收数据报文。远端识别该数据报文包括的抗重放序列号比较大,已超出本地抗重放窗口,则丢弃数据报文,造成丢包。


技术实现要素:

12.有鉴于此,本技术提供了一种通信方法及装置,用以解决现有sa的生成方式中,手工方式配置的ipsec sa无法支持抗重放功能,导致丢包的问题。
13.第一方面,本技术提供了一种通信方法,所述方法应用于第一cpe,所述第一pe处于sdwan组网内,所述sdwan组网还包括第二cpe,所述第一cpe与所述第二cpe之间已建立数据通道,所述方法包括;
14.当本地已存储第一ipsec sa以及所述第二cpe的第二ipsec sa后,通过所述数据通道,向所述第二cpe发送所述第一保活报文;
15.判断是否接收到所述第二cpe通过所述数据通道发送的第一保活响应;
16.若接收到所述第一保活响应,则将待发送至所述第二cpe的数据报文包括的抗重放序列号进行递增处理;
17.其中,所述第一ipsec sa由用户通过命令行的方式配置。
18.第二方面,本技术提供了一种通信装置,所述装置应用于第一cpe,所述第一pe处于sdwan组网内,所述sdwan组网还包括第二cpe,所述第一cpe与所述第二cpe之间已建立数据通道,所述装置包括:发送单元、第一判断单元、处理单元以及接收单元;
19.所述发送单元,用于当本地已存储第一ipsec sa以及所述第二cpe的第二ipsec sa后,通过所述数据通道,向所述第二cpe发送所述第一保活报文;
20.所述第一判断单元,用于判断所述接收单元是否接收到所述第二cpe通过所述数据通道发送的第一保活响应;
21.所述处理单元,用于若所述接收单元接收到所述第一保活响应,则将待发送至所述第二cpe的数据报文包括的抗重放序列号进行递增处理;
22.其中,所述第一ipsec sa由用户通过命令行的方式配置。
23.第三方面,本技术提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本技术第一方面所提供的方法。
24.因此,应用本技术提供的通信方法及装置,当本地已存储第一ipsec sa以及第二cpe的第二ipsec sa后,通过数据通道,第一cpe向第二cpe发送第一保活报文;第一cpe判断是否接收到第二cpe通过数据通道发送的第一保活响应;若接收到第一保活响应,则第一cpe将待发送至第二cpe的数据报文包括的抗重放序列号进行递增处理;其中,第一ipsec sa由用户通过命令行的方式配置。
25.如此,本端cpe通过手工方式配置并建立ipsec sa且存储了对端cpe的ipsec sa
sa。
39.前述第一cpe建立第一ipsec sa的过程与现有手工方式配置、建立ipsec sa的过程相同,在此不再复述。
40.需要说明的是,各cpe通过控制通道向rr发送各自的ipsec sa,并由rr再次通过控制通道向对端的cpe发送ipsec sa,以使得各cpe均可接收、存储对端cpe的ipsec sa,并建立本端ipsec sa与对端ipsec sa之间的对应关系。
41.第一cpe本地已存储第一ipsec sa以及第二cpe的第二ipsec sa后,生成第一保活报文。通过数据通道,第一cpe向第二cpe发送第一保活报文。
42.可选地,第二cpe通过数据通道接收到第一保活报文后,第二cpe判断本地是否已存储第二ipsec sa以及第一ipsec sa。
43.若本地已存储第二ipsec sa以及第一ipsec sa,则第二cpe生成第一保活响应,并通过数据通道向第一cpe发送第一保活响应。
44.若本地未存储第一ipsec sa以及第二ipsec sa中的任一,则第二cpe不生成也不向第一cpe发送第一保活响应,并在本地继续等待接收第一ipsec sa或者第二ipsec sa。
45.在本地同时存储第二ipsec sa以及第一ipsec sa后,第二cpe再通过数据通道,向第一cpe发送第一保活响应。
46.在本技术实施例中,用户依然通过命令行的方式向第二cpe输入配置指令,该配置指令包括用于配置第二ipsec sa的信息。根据配置指令,第二cpe在本地建立第二ipsec sa。
47.可以理解的是,用户在向各cpe以手工方式配置ipsec sa时,具有一定的时间差,可能出现第一cpe已建立第一ipsec sa,但第二cpe未接收到rr同步的第一ipsec sa,使得第二cpe本地未同时存储第一ipsec sa以及第二ipsec sa的情况发生;或者,第二cpe接收到第一ipsec sa,但本地未接收也未配置第二ipsec sa,使得第二cpe本地未同时存储第一ipsec sa以及第二ipsec sa的情况发生。此时,第一cpe可通过发送保活报文的方式,探测第二cpe是否已同时存储第一ipsec sa、第二ipsec sa。
48.步骤220、判断是否接收到所述第二cpe通过所述数据通道发送的第一保活响应;
49.具体地,根据步骤210的描述,第一cpe向第二cpe发送第一保活报文后,判断是否接收到第二cpe通过数据通道发送的第一保活响应。
50.若第一cpe接收到第一保活响应,则第一cpe执行步骤230。
51.可选地,若第一cpe未接收到第一保活响应,则第一cpe将待发送至第二cpe的数据报文包括的抗重放序列号保持不变。
52.需要说明的是,在第一cpe未接收到第二cpe发送的第一保活响应之前,第一cpe确定第二cpe内未同时存储第一ipsec sa以及第二ipsec sa,此时的第二cpe无法处理第一cpe发送的数据报文。第一cpe在生成待发送数据报文时,将待发送数据报文包括的抗重放序列号不变,例如,抗重放序列号填充0。
53.若第一cpe持续未接收到第二cpe发送的第一保活响应,则第一cpe生成的待发送数据包括的抗重放序列号均不变,并在设定的发送周期内继续向第二cpe发送第一保活请求。
54.步骤230、若接收到所述第一保活响应,则将待发送至所述第二cpe的数据报文包
括的抗重放序列号进行递增处理。
55.具体地,根据步骤220的判断,若第一cpe接收到第一保活响应,则第一cpe将待发送至第二cpe的数据报文包括的抗重放序列号进行递增处理。例如,每生成一个数据报文,将数据报文包括的抗重放序列号进行加1处理。
56.因此,应用本技术提供的通信方法,当本地已存储第一ipsec sa以及第二cpe的第二ipsec sa后,通过数据通道,第一cpe向第二cpe发送第一保活报文;第一cpe判断是否接收到第二cpe通过数据通道发送的第一保活响应;若接收到第一保活响应,则第一cpe将待发送至第二cpe的数据报文包括的抗重放序列号进行递增处理;其中,第一ipsec sa由用户通过命令行的方式配置。
57.如此,本端cpe通过手工方式配置并建立ipsec sa且存储了对端cpe的ipsec sa后,利用发送保活报文,可确定远端cpe是否已配置、建立ipsec sa并存储了对端cpe的ipsec sa。在向远端cpe发送数据报文时,将数据报文包括的抗重放序列号进行递增处理。解决了现有sa的生成方式中,手工方式配置的ipsec sa无法支持抗重放功能,导致丢包的问题。实现了手工方式配置并建立的ipsec sa也可支持抗重放功能。
58.可选地,在本技术实施例中,还包括第二cpe在本地存储第二ipsec sa以及第一ipsec sa后,向第一cpe发送第二保活报文的过程。通过该过程,第二cpe探测第一cpe是否已存储第一ipsec sa以及第二ipsec sa。
59.具体地,用户通过命令行的方式向第二cpe输入配置指令,该配置指令包括用于配置第二ipsec sa的信息。根据配置指令,第二cpe在本地建立第二ipsec sa。
60.第二cpe还接收rr同步的第一ipsec sa。第二cpe存储第一ipsec sa并建立第一ipsec sa与第二ipsec sa之间的对应关系。
61.第二cpe本地已存储第二ipsec sa以及第一ipsec sa后,生成第二保活报文。通过数据通道,第二cpe向第一cpe发送第二保活报文。
62.第一cpe通过数据通道接收到第二保活报文后,第一cpe判断本地是否已存储第一ipsec sa以及第二ipsec sa。
63.若本地已存储第一ipsec sa以及第二ipsec sa,则第一cpe生成第二保活响应,并通过数据通道向第二cpe发送第二保活响应。
64.可选地,若本地未存储第一ipsec sa以及第二ipsec sa中的任一,则第一cpe不生成也不向第二cpe发送第二保活响应,并在本地继续等待接收第一ipsec sa或者第二ipsec sa。
65.在本地同时存储第一ipsec sa以及第二ipsec sa后,第一cpe再通过数据通道,向第二cpe发送第二保活响应。
66.请参见图1所示的组网,在图1中,cpe1、cpe2分别与rr建立控制通道。rr利用控制通道,分别向各cpe发送对端cpe的tte信息。各cpe利用tte信息,与对端建立数据通道。在本技术实施例中,cpe1与cpe2之间已建立数据通道。
67.首先,用户通过命令行的方式向cpe1输入配置指令,该配置指令包括用于配置ipsec sa1的信息。根据配置指令,cpe1在本地建立ipsec sa1。
68.然后,用户通过命令行的方式向cpe2输入配置指令,该配置指令包括用于配置ipsec sa2的信息。根据配置指令,cpe2在本地建立ipsec sa2。
69.cpe1建立ipsec sa1后,通过控制通道向rr发送ipsec sa1,rr接收到后,通过控制通道向cpe2同步。cpe2接收到ipsec sa1后,在本地存储ipsec sa1,若cpe2在本地建立ipsec sa2,则cpe2建立ipsec sa1与ipsec sa2之间的对应关系。
70.同理,cpe2建立ipsec sa2后,通过控制通道向rr发送ipsec sa2,rr接收到后,通过控制通道向cpe1同步。cpe1接收到ipsec sa2后,在本地存储ipsec sa2,若cpe1在本地建立ipsec sa1,则cpe1建立ipsec sa1与ipsec sa2之间的对应关系。
71.cpe1本地存储ipsec sa1以及ipsec sa2后,生成第一保活报文。通过数据通道,cpe1向cpe2发送第一保活报文。
72.cpe2通过数据通道接收到第一保活报文后,cpe2判断本地是否已存储ipsec sa1以及ipsec sa2。
73.若本地已存储ipsec sa1以及ipsec sa2,则cpe2生成第一保活响应,并通过数据通道向cpe1发送第一保活响应。
74.若本地未存储ipsec sa1以及ipsec sa2中的任一,则cpe2不生成也不向cpe1发送第一保活响应,并在本地继续等待接收ipsec sa1或者ipsec sa2。在本地同时存储ipsec sa1以及ipsec sa2后,cpe2再通过数据通道,向cpe1发送第一保活响应。
75.cpe1向rr发送第一保活报文后,判断是否接收到cpe2通过数据通道发送的第一保活响应。
76.若cpe1接收到第一保活响应,则cpe1将待发送至cpe2的数据报文包括的抗重放序列号进行递增处理。例如,每生成一个数据报文,将数据报文包括的抗重放序列号进行加1处理。
77.若cpe1未接收到第一保活响应,则cpe1确定cpe2内未存储ipsec sa1以及ipsec sa2,此时的cpe2无法处理cpe1发送的数据报文。cpe1在生成待发送数据报文时,将待发送数据报文包括的抗重放序列号不变,例如,抗重放序列号填充0。cpe1在设定的发送周期内继续向cpe2发送第一保活请求。
78.同理,cpe2本地已存储ipsec sa1以及ipsec sa2后,生成第二保活报文。通过数据通道,cpe2向cpe1发送第二保活报文。
79.cpe1通过数据通道接收到第二保活报文后,cpe1判断本地是否已存储ipsec sa1以及ipsec sa2。
80.若本地已存储ipsec sa1以及ipsec sa2,则cpe1生成第二保活响应,并通过数据通道向cpe2发送第二保活响应。
81.若本地未存储ipsec sa1以及ipsec sa中的任一,则cpe1不生成也不向cpe2发送第二保活响应,并在本地继续等待接收ipsec sa1或者ipsec sa2。在本地同时存储ipsec sa1以及ipsec sa2后,cpe1再通过数据通道,向cpe2发送第二保活响应。
82.基于同一发明构思,本技术实施例还提供了与通信方法对应的通信装置。参见图3,图3为本技术实施例提供的通信装置,所述装置应用于第一cpe,所述第一pe处于sdwan组网内,所述sdwan组网还包括第二cpe,所述第一cpe与所述第二cpe之间已建立数据通道,所述装置包括:发送单元310、第一判断单元320、处理单元330以及接收单元340;
83.所述发送单元310,用于当本地已存储第一ipsec sa以及所述第二cpe的第二ipsec sa后,通过所述数据通道,向所述第二cpe发送所述第一保活报文;
unit,简称:cpu)、网络处理器(英文:network processor,简称:np)等;还可以是数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field-programmable gate array,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
100.本技术实施例中,处理器410通过读取机器可读存储介质430中存储的机器可执行指令,被机器可执行指令促使能够实现处理器410自身以及调用收发器420执行前述本技术实施例描述的通信方法。
101.另外,本技术实施例提供了一种机器可读存储介质430,机器可读存储介质430存储有机器可执行指令,在被处理器410调用和执行时,机器可执行指令促使处理器410自身以及调用收发器420执行前述本技术实施例描述的通信方法。
102.上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
103.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
104.对于通信装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
105.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1