交互式连接创建(Interactive Connectivity Establishment),一种综合性的NAT穿越的技术。
概述交互式连接创建(Interactive Connectivity Establishment),一种综合性的NAT穿越的技术1。
交互式连接创建是由IETF的MMUSIC工作组开发出来的一种framework,可集成各种NAT穿透技术,如STUN、TURN(Traversal Using Relay NAT,中继NAT实现的穿透)、RSIP(Realm Specific IP,特定域IP)等。该framework可以让SIP的客户端利用各种NAT穿透方式打穿远程的防火墙。
IETF 规格Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols
Session Traversal Utilities for NAT (STUN):
Traversal Using Relays around NAT (TURN): Relay Extensions to STUN
ICE呼叫流程1、收集候选传输地址
2、和媒体描述相关的SDP协商
3、执行stun连接检查。可能增加对端候选项
4、选择选定的对,并启动媒体
5、发送长连接请求,任何一端检测到使用中的IP基地址发生变化,都会重启ICE,返回到步骤12
呼叫要交换两种信息,一是候选地址,二是媒体信息。候选地址用于建立网络连接,它存储着和网络连接相关的参数。媒体信息(SDP)用于描述要在对等连接上传输的数据,包括音频、视频和数据。用路和车来比喻的话,候选地址用于造路,媒体信息于用指定要跑什么车。
在图中,双方是串行处理媒体、候选地址,但实际中是并发的。
ICE重新启动分析长连接时,我们已能得出个结论,如果是网络拥堵或通断导致的状态表变化,P2PTransportChannel内部就能处理。但是,如果基地址发生改变,像一网卡被禁用,这就超出P2PTransportChannel可处理范围了,需重启ICE。
本词条内容贡献者为:
李嘉骞 - 博士 - 同济大学