【ICE】网络通信协议

简介

ICE协议是一种NAT穿透技术,用于通过offer/answer模型建立的基于UDP的流媒体传输场景(可以扩展来处理其它协议如TCP)。ICE协议是offer/answer模型的一种扩展,使用在SDP offers和SDP answers中提供的多个ip地址及端口工作,这些IP及端口会被用于连通性检查(connectivity check)。 连通性检查通过修正过的STUN协议[Session Travelsal Utilities for NAT]进行。与 STUN 和 TURN 不同,ICE 不是一种协议,而是一个框架(Framework)并整合了 STUN 和 TURN。

案例

典型的ICE使用场景中会有两个需要进行通信终端(endpoint)叫做agent。这个两个agent能通过使用一些信令如sip来进行间接的SDP信息交换。 ICE启动时,两个agent都位于各自的NAT,而且NAT的类型及属性未知,以至于agent并不知道他自身的网络拓扑结构,但是ICE允许agent去发现他自己的拓扑结构和找出两个agent之间可能进行通信的所有网络路径,然后这个两个agent能通过offer/answer模式来交换SDP信息,一般的这个SDP信息交换是通过sip服务器来进行的。

ICE通讯流程

1.内网直接通信

如果两个对端是在同一个局域网内,那么这俩就直接通过这个本地的IP地址就可以进行通讯。

2.穿越NAT

终端首先访问STUN服务,通过STUN服务,能获取到NAT映射后的终端的公网地址(IP+端口)。

并且终端双方可以通过服务器,获取得到对方的公网地址,就可以进行NAT穿越了!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值