怎么理解p2p 打洞 stun ICE SDP rtp 协议之间的关系

首先推几篇基础文章

什么叫打洞

打洞标准化协议-stun

打洞应用标准化-ice

信令服务-sip

补充协议-turn

总体来讲,ICE协议是个整合了各个以上各种协议的一个大集合,如果需要传输媒体数据,就是在数据阶段来封装对应的rtp流,具体如下

1)ICE会收集备用的地址,包括三类

host: 本地地址

server reflect addreess: stun 服务器发出

relay  address: turn发出

在收集阶段,会整合stun 协议来获取外部地址

2)format 这些地址,这个阶段会用sip协议把地址给标准化

例子如下

v=0
o=jdoe 2890844526 2890842807 IN IP4 10.0.1.1
s=
c=IN IP4 192.0.2.3
t=0 0
a=ice-pwd:asd88fgpdd777uzjYhagZg
a=ice-ufrag:8hhY
m=audio 45664 RTP/AVP 0
b=RS:0
b=RR:0
a=rtpmap:0 PCMU/8000
a=candidate:1 1 UDP 2130706431 10.0.1.1 8998 typ host
a=candidate:2 1 UDP 1694498815 192.0.2.3 45664 typ srflx raddr 10.0.1.1 rport 8998

3)和对方Peer 交互地址,可用很多第三方协议,比如sip

4) check  就是简单联通了

5)根据check结果,来优选用按个地址

6) media stream pack;这块的具体封装格式,还没有搞明白。

 

你可能感兴趣的:(licode)