ResearchReport-1-ICE 概念交互式连接建立(InteractiveConnectivityEstablishmentICE)草案是由 IETF 的MMUSIC 工作组开发出来的,它所提供的是一种框架,使各种 NAT 穿透技术可以实现统一
ICE 定义的是一种标准化的方法能够确定客户端之间存在的是哪一种类型的 NAT 防火墙,并且确定一连串可以用于实现连接的 IP 地址
通过使用多种协议及网络连接机制,女口 STUN(SimpleTraversalofUDPThroughNATsSTUN),TURN(TraversalUsingRelayNATTURN),ICE 可以了解到客户端所在网络结构以及这些设备可以实现通信的各类网络地址
ICE 的基本流程其实很清晰,分两个步骤,第一步就是收集各种类型的地址,第二步就是将本地和远端的地址进行配对,排序,然后执行连通性检查
NAT 穿越技术分析如果通信的双方有一方或者两方在 NAT 后,就需要进行 NAT 穿越
1 NAT 类型NAT 有 4 种不同的类型1) FullCone2) AddressRestrictedCone3) PortRestrictedCone以上三种 NAT 通称 ConeNAT(圆锥形 NAT)
我们只能用这种 NAT 进行 UDP 打洞
4) Symmetric(对称形)对于这种 NAT
连接不同的外部 Server,NAT 打开的端口会变化
也就是内部机器 A 连接外网机器 B 时,NAT 会打开一个端口,连接外网机器 C 时又会打开另外一个端口
2 常用穿越技术的比较比较常用的 NAT 穿越技术有 STUN,TURN,但是 STUN 不支持 TCP 连接的穿越,也不支持对称 NAT
TURN 虽然支持 TCP 连接的应用也可以穿越对称 NAT,但是 TURN 的局限性在于所有