为什么ESP能够穿越NAT,而AH则不能
来源:互联网 发布:美工连捅策划7刀 编辑:程序博客网 时间:2024/05/09 06:24
严格地说,只能是隧道模式下的ESP才能穿越NAT。
首先需要了解的是IPSEC的作用,即数据的机密性、完整性、认证性。机密性就是保证数据包的原始内容不被看到;完整性即保证数据包的内容不会被修改;认证性保证数据来自被信任的客户端。IPSEC中的封装格式有2种(AH和ESP), AH在IP数据包中插入了一个包头,其中包含对整个数据包内容的校验值;ESP用户加密整个数据包内容,同时也可以对数据包进行认证。
IPSec有2 种不同的模式:传输模式和隧道模式。
一种是传输模式,主要用于主机到主机之间的直接通信。
另一种是隧道模式主要用于主机到网关或网关到网关之间。传输模式和隧道模式主要在数据包封装时有所不同。
无论传输模式还是隧道模式,AH都会认证整个数据包。并且AH还会认证位于AH头之前的IP 头。当NAT 设备修改了IP 头之后,IPSec 就会认为这是对数据包完整性的破坏,从而丢弃数据包。因此AH是不可能和NAT 在一起工作的。
而ESP在传输模式时会保护TCP/UDP头,但是并不保护IP 头,因此修改IP 地址并不会破坏整个数据包的完整性。但是如果数据包是TCP/UDP数据包,NAT设备就需要修改数据包的校验值,而这个校验值是被ESP 所保护的,这样却会导致完整性校验失败。 所以最终可能和NAT一起工作的只能是隧道模式下的ESP。
0 0
- 为什么ESP能够穿越NAT,而AH则不能
- AH协议为什么和NAT协议冲突。
- 关于AH与ESP
- ipsec之AH,ESP
- ipsec(AH和ESP)
- IPSec AH/ESP
- ipsec(AH和ESP)
- NAT穿越
- NAT穿越
- nat穿越
- nat 穿越
- NAT穿越
- NAT穿越
- Nat穿越
- NAT穿越
- NAT穿越
- NAT 穿越
- NAT穿越
- Monkey源码分析4—程序入口以及初始化命令行参数
- C++标准库和标准模板库
- 多项式求和
- WINDOWS XP U盘标准驱动配置文件
- android 动画深入分析----属性动画(二)《android开发艺术与探索》
- 为什么ESP能够穿越NAT,而AH则不能
- 自定义水波纹View
- LeetCode - 47. Permutations II
- sequelize (二)
- 计算机原理部分总结
- LeetCode之旅-1
- SHELL相关
- [绍棠]iOS开发-UITableViewCell(UICollectionViewItem)需要两个手指点击或者长按才可以选中,解决办法
- java 反射机制加载外部jar