IPsec封装引入了额外的报文开销,具体是多少?

b2c80599439475d2020b2b3c3c645c33.gif

正文共:1500 字 7 图,预估阅读时间:2 分钟

在使用SD-WAN进行组网时,很多客户都会不禁有一个疑问,那就是SD-WAN带宽和互联网带宽之间的比例关系是什么样的?当然,我们可以不负责任地告诉客户,两者的带宽大致相等,但是这也太不负责任了。

那负责任地讲,比例应该是多少呢?

首先,我们大致知道了一般的SD-WAN底层主要都是通过IPsec VPN来实现的,我们前面组合测试了IPsec VPN在几种不同组合使用场景下的报文封装差异(通过WireShark对比不同配置方式和算法下的IPsec报文封装差异

c08387cc728cb87c5358f70ee773c120.png

所以,封装后的报文尺寸通常由业务数据大小和报文封装大小组成,报文封装通常以太网封装、IP报文头和协议封装等组成。以IPsec为例,封装协议可能包含AH、ESP或者AH-ESP,使用的加密算法和认证算法在SA中均可查看,但是在ESP报文中无法直接查看;而且,如果ESP使用的加密算法不同,ESP校验尾部填充报文长度也不同。从上图来看,最长的报文封装长度可能会超过124字节。

参考RFC2544测试标准网络互连设备的基准测试方法,在测试设备转发性能时,所有测试都应该在多个报文尺寸下执行。具体来说,报文尺寸应该包括被测介质上被测协议所允许的最大和最小合法大小,以及介于两者之间的足够大小,以便能够获得DUT(devices under test,被测设备)性能的完整表征。适用于以太网测试的常用报文尺寸共7种,分别为64字节、128字节、256字节、512字节、1024字节、1280字节和1518字节。

其实,对这里的1518字节应该持怀疑态度。现在一般的链路MTU多为1500字节,这里的1500字节一般是加了报文头封装之后的报文长度,比如ICMP报文,如果强制不分片,最大可发送业务报文长度为1472字节,缺少的28字节分别为8字节的ICMP报文头和20字节的IP报文头。所以,正常发送1518字节的报文肯定会触发分片的。

除非另有说明,每个测试条件至少应测试五种报文尺寸。通常使用长度为64字节的最小包来测试包转发速率(pps),用最大包来测试最大转发带宽(bps),用包含前述所有长度报文的混合包来测试综合转发性能。理论上,以均匀分布理论报文速率的方式分布报文大小将是理想的。

我们在Linux下进行测试时,可以使用-s命令来指定报文尺寸。

bf9aa3463752b8e12096d98ddf6ac4e0.png

可以看到,我们指定报文长度为128字节时,实际的报文长度反而为136字节,自动计算了8字节的ICMP报文头长度。

而如果我们从线路上抓包来看,又是另外一番景象。

2daac6e284ff68e09af02a21bb7ade3a.png

可以看到,实际的数据长度又成了120字节,报文总长度为170字节。

而当我们测试报文长度为1518字节时,可以看到报文出现了分片。第一个分片的长度为1514字节,数据长度为1480字节,没有ICMP的报文头封装。

8114dc79c91a43933a17ed57b83dec2f.png

第二个分片的长度为80字节,减掉14字节的最外层封装、减掉20字节的IP报文头封装、减掉8字节的ICMP报文头封装,还剩38字节。加上第一个分片的1480字节,正好是1518字节。

bef3a5151de9fccdc79332a4b444d675.png

以我们前面测试的VPP为例VPP配置指南:穿越NAT的IPsec VPN配置及性能测试,在封装IPsec时,报文加密主要为ESP封装,当在终端之间进行打流测试时,一般会增加60字节的报文长度,也就是IPsec的封装开销。以ICMP报文为例,报文本身会增加42字节的封装,在IPsec封装之后,不同报文尺寸的开销情况如下:

36e1cc932433976c4714660e094da35b.png

注意,这里说的带宽增长比例是指IPsec封装引入的60字节长度相比于原始报文整体大小所占的比例,带宽可用比例指的是实际业务报文占IPsec封装后总长度的比例,当互联网带宽达到极限时,这也是业务报文能达到的最大比例。

可以看出,在报文尺寸为64字节时,SD-WAN带宽相比于互联网带宽的利用率最低,为38.6 %;在报文尺寸为1518字节时,利用率最高,为93.7 %;当采用7种报文尺寸同比例的混合包时,利用率为75.2 %;报文尺寸越大,封装引入的带宽开销越小,反之亦然。

如果我们把1518字节替换为可封装的最大长度,应该是1514-60-42=1412 字节,那么上表就变成了下面这样:

be363cc2ac5818c0984cb128a0188470.png

可以看到,最小的带宽整张比例为4.1 %,带宽可用比例最高为93.3 %,相比于前一张表有些细微差异,综合更准确一些。

所以对于IPsec封装的SD-WAN组网,或者就是使用IPsec VPN直接组网,建议配置互联网带宽至少为SD-WAN带宽或期望传输带宽的1.2倍,以尽量接近理想转发速率。当然,这仅仅是参考测试规范得到的典型值,具体业务还是要具体分析的。

9798a4565ac5aa968ba6dd96a1fa0acf.gif

长按二维码
关注我们吧

6d13ecb2dc49d480c379afa16c4c2eb2.jpeg

19fcc7542a3fc781abdb7878781b359e.png

通过SNMP统计网络资产

用SNMP模仿Zabbix读取设备接口流量

CentOS 7多网卡配置(最小化安装)

H3C防火墙RBM主备模式+OSPF方案验证

H3C防火墙RBM主备模式+静态路由方案验证

Wireshark如何解密IPSec报文?

VRRP负载均衡模式配置实用吗?

VRRP多备份组+策略路由实现主备负载

听说你想收集HCL的设备版本?好吧,成全你!

羡慕!大佬的VPP能达到180G性能,而我的却只有13.5G

  • 14
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Danileaf_Guo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值