互動式連線創建(Interactive Connectivity Establishment),一種綜合性的NAT穿越的技術。
基本介紹
- 中文名:互動式連線創建
- 外文名:Interactive Connectivity Establishment
- 特徵:綜合性NAT穿越的技術
- 學科:計算機科學
信息介紹,IETF 規格,ICE呼叫流程,重新啟動,
信息介紹
互動式連線創建(Interactive Connectivity Establishment),一種綜合性的NAT穿越的技術。
互動式連線創建是由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,返回到步驟1
呼叫要交換兩種信息,一是候選地址,二是媒體信息。候選地址用於建立網路連線,它存儲著和網路連線相關的參數。媒體信息(SDP)用於描述要在對等連線上傳輸的數據,包括音頻、視頻和數據。用路和車來比喻的話,候選地址用於造路,媒體信息於用指定要跑什麼車。
在圖中,雙方是串列處理媒體、候選地址,但實際中是並發的。
重新啟動
分析長連線時,我們已能得出個結論,如果是網路擁堵或通斷導致的狀態表變化,P2PTransportChannel內部就能處理。但是,如果基地址發生改變,像一網卡被禁用,這就超出P2PTransportChannel可處理範圍了,需重啟ICE。