共存方案3:使用UDP封装ESP载荷
这种方法的核心思想是使用UDP封装ESP,报文格式如图1所示,当报文交
给网关后,网关照旧做NAT、NAPT转换,它不会破坏ESP的加密或验证.之所以使用UDP是因为UDP提供了最小标准的封装,8比特就够了,如果换做TCP封装则需要20比特而且UDP是面向无连接协议,TCP的建链和拆链过程会引入诸如RESET攻击这类影响IPsec性能的负效果.
![]() |
| 图1 ESP封装格式 |
![]() |
| 图2 ESP和IKE封装格式比较 |
总结
综上所述,为了解决IPsec和NAT 的共存问题,主要有三种解决方法,一种是对IPsec协议或NAT做一定修改,但实现需要很小心,因为很容易引入实现带来的错误;第二种是使用NAT的替代协议RSIP,这种方法较为全面地解决了IPsec和NAT的兼容问题,但是,它的实现相对复杂,而且需要对原有设备做较大改动;第三种是使用UDP封装ESP载荷,这种方法不需要对IPsec或IKE做修改,实现最为简单。
