IKE 第一阶段主模式由6ISAKMP数据包来完成:
1-2个数据包主要完成两个任务:
(1)       核对收到的ISAKMP数据包的源IP地址,来确认收到的ISAKMP数据包是否来自于合法的对等体。
(2)       协商IKE策略(加密策略,散列函数,DH组,认证方式,密钥存活时间)
注:ISAKMP数据包使用UDP传输,源和目的端口都是500.
 
3-4个数据包的任务:
DH交换,产生用于加密感兴趣流的密钥资源。
5-6个数据包的任务:
   在安全的环境下进行认证,并建立ISAKMP/IKE双向安全关联SA。这个SA维护了处理ISAKMP/IKE流量的相关策略,对等体双方会继续使用这个SA,来安全保护后续的IKE快速模式1-3包交换。
 
 
IKE第二阶段快速模式由3个数据包来完成:
1个数据包的任务:
它把感兴趣流相关的IPSEC策略一起发送给接收方,并有接收方来选择适当的策略。
2个数据包的任务:
接收方产生SPI,并发送个发起方,建立单向IPSEC SA
3个数据包的任务:
发起方产生另一个SPI,并发送给接收方,建立单向IPSEC SA
 
 
 
DH交换的过程:
(1)       发起方X首先随机产生gpagp是素数,他们的大小有IKE第一阶段1-2个包交换的DH组大小来决定,DH1768位,DH21024位,组越大表示DH交换产生的密钥强度越强。
(2)       发起方X使用离散对数函数计算出结果A.( A=ga mod p ),并在第3IKE包中把gpA发送给接受方Y
(3)       接收方Y收到后,随机产生b,并且使用从第3IKE包中接收到的g p通过离散对数函数计算出结果B B=gb mod p .然后通过第4IKE包把B发送给发起方A
(4)       计算密钥K。发送方X计算的密钥 K=Ba mod p 会等于接收方Y计算的密钥 K=Ab mod p