共存方案2:使用NAT的替代协议RSIP
用RSIP替代NAT,解决IP地址短缺问题.RSIP是将一个拥有合法IP的服务
器放在私有地址域内,和NAT工作原理不同,它不是采用替换IP来工作,而是允许域内主机直接同时在几个地址域内通信.在通信过程中,RSIP对IP载荷做的修改不会削弱IPsec这类对NAT敏感的协议的功能,当一个RSIP客户机想要在自己所在地址域外通信时,首先在RSIP网关上登记,RSIP网关给它分配一个合法的IP地址(或一个IP地址和端E1),RSIP客户使用这个地址做为源地址和外部设备通信,直到这个地址过期或被更新.实际处理起来并不是这么简单,RSIP还要将此数据报文封装在源地址为其私有IP的报头内,封装方式可以用IP—in—IP,GRE或L2TP. 数据报文首先传给RSIP网关,网关将外面的报头脱掉,然后将报文发出去.
然而,RSIP也存在一定的问题,RSIP使用的是一个公有端口分路进来的报文流,当多个内部主机使用一个RSIP网关和同一个外部主机传送ESP时,由于ESP流是加密的,会出现分路冲突问题,所以,必须要使用另外的标识. 幸运的是每个安全联盟都有不同的SPI,由于SPI的唯一性只针对一个主机,为了确保对一个RSIP网关的唯一性,选用SPI+协议(AH或ESP)+目的IP作为标识.同样的问题会出现在IKE协商安全联盟时,由于使用知名端口 500,当多台主机使用一个RSIP网关时,可能发生冲突,所以,这里使用另外的一个新标识:初始化cookie+目标端口+目标地址. 在重建密钥时可能仍然会出现问题,因为通常重建密钥用到的cookie是和以前数据流中所用的不同.使用RSIP替代NAT解决了分路和SPD重叠问题,并且和类似隐藏IP地址这样的协议都兼容,所以,既适合于企业也适合于家庭使用.通过将IKE和IPsec封在隧道里,RSIP避免了对IKE和IPsec协议的修改,既适合现有的AH和ESP协议也适合隧道和传输两种方式.但是,为了解决IKE重建密钥时的分路传输问题,RSIP需要改动IKE的源端口,这就不能保证和现有的IPsec实现兼容.