当前位置: 首页 > news >正文

网站模板价格东莞网站设计讯息

网站模板价格,东莞网站设计讯息,集团网站设计特性,淘宝这种网站怎么做的协议简介 ICE#xff08;Interactive Connectivity Establishment#xff0c;交互式连接建立#xff09;是一种 NAT穿透协议#xff0c;在 WebRTC、VoIP 和视频会议等实时通信场景中被广泛使用。它的主要目标是解决由于 NAT#xff08;网络地址转换#xff09;和防火墙带…协议简介 ICEInteractive Connectivity Establishment交互式连接建立是一种 NAT穿透协议在 WebRTC、VoIP 和视频会议等实时通信场景中被广泛使用。它的主要目标是解决由于 NAT网络地址转换和防火墙带来的连接问题使通信双方能够建立可靠的端到端连接。 广泛用于 WebRTC浏览器实时通信VoIP语音通话视频会议系统P2P 文件传输系统 其核心思想是从多个路径中自动发现一条可用路径并建立连接。 核心目标 发现并测试连接路径通过不同网络路径和地址尝试建立连接。NAT穿透穿越 NAT 和防火墙建立点对点连接。选择最佳连接路径根据连通性检查的结果选择延迟最低、可用性最好的候选地址对。必要时使用 TURN 进行中继 基本概念 Candidate候选地址 ICE 会收集本地、映射和中继地址作为候选 类型描述优先级是否穿透Host Candidate本地地址如 192.168.x.x高否Server Reflexive Candidate使用 STUN 获取的公网映射地址中是Peer Reflexive Candidate连通性检查动态发现的对端地址中等偏高是Relay CandidateTURN 分配的地址中继传输低是最稳定 STUNSession Traversal Utilities for NAT 用于查询 NAT 映射后的公网地址获取 Server Reflexive Candidate。提供最轻量级的 NAT 穿透方式。 TURNTraversal Using Relays around NAT 当 STUN 穿透失败时TURN 中继服务器作为数据转发中介。成本高延迟大但可靠性高。 ICE Agent 每个通信端都运行一个 ICE Agent它负责候选地址的收集、连通性检查、优先级比较、协商等工作。 工作流程 步骤 1候选地址收集Gathering 每个通信端收集自己的候选地址包括 本地地址HostSTUN服务器反射地址Server ReflexiveTURN中继地址Relay 步骤 2交换候选地址Candidate Exchange 使用信令协议如 SDP通常通过 SIP、WebRTC 的信令通道交换候选地址。 步骤 3连通性检查Connectivity Checks 使用 STUN 消息对候选地址对candidate pair进行测试看是否能成功通信。成功的连接对会被 ICE 标记为可用。 步骤 4选择优选连接路径 每对候选地址都有优先级由 ICE 算法计算得出。ICE 会选择具有最高优先级且可达的候选对作为最终连接路径。 步骤 5建立连接Nomination 确认并锁定最终使用的候选对。对于双向通信例如 WebRTC 的数据通道双方都要确认连接对。 优先级与候选对选择 ICE 候选优先级受以下因素影响 地址类型优先级Host Server Reflexive Relay网络接口类型有线 无线类型偏好type preference本地优先级local preference 单个候选优先级 priority (2^24) * type preference (2^8) * local preference 256 - component IDType PreferenceHost Reflexive RelayLocal Preference用于多网卡排序Component IDRTP/RTCP 区分 候选对优先级candidate pair pair_priority 2^32 * min(local_priority, remote_priority) 2 * max(...) (local remote ? 1 : 0)WebRTC 中 ICE 实现 整体架构 WebRTC 使用 ICE 协议结合 STUN 和 TURN在浏览器内部由 ICE Agent 实现流程如下 浏览器 A 信令通道 浏览器 B ────────────► Gather candidates ◄──────────── ─────────────► Exchange SDP (包含 candidates) ◄───────────── ──────────────► Connectivity checks (STUN) ◄─────────────── ───────────────► Nomination and Selection ◄─────────────── ───────────────► 建立数据通道DTLS SRTP◄──────────────ICE 流程详解WebRTC 版本 步骤 1候选地址收集ICE Gathering 浏览器调用 WebRTC API如 RTCPeerConnection时 浏览器会自动 检查本地网络接口生成 Host 候选地址使用配置的 STUN 服务器获取 Server Reflexive 地址使用配置的 TURN 服务器申请 Relay 候选地址 const pc new RTCPeerConnection({iceServers: [{ urls: stun:stun.l.google.com:19302 },{ urls: turn:your.turn.server, username: ..., credential: ... }] });步骤 2信令交换SDP 内部包含候选地址 通过 createOffer() 生成包含候选的 SDP交换给对方。 const offer await pc.createOffer(); await pc.setLocalDescription(offer);// 将 offer.sdp 通过信令如 WebSocket发送给对端对端通过 setRemoteDescription() 接收 SDP 并回传 answer。 步骤 3候选地址交换Trickle ICE 候选地址并不是一次性全部发送而是逐步收集并发送trickle ICE onicecandidate 事件触发时每收集到一个 candidate 就发送给对端对端通过 addIceCandidate() 添加该地址。 // 接收远端的 candidate pc.addIceCandidate(new RTCIceCandidate(remoteCandidate));步骤 4连通性检查STUN 交叉测试 双方根据候选地址对进行连通性检查connectivity check使用 STUN Binding Request 消息进行握手浏览器使用 STUN over UDP/TCP 判断路径可用性若某对候选可通信则标记为成功。 步骤 5候选优选Nomination 每个候选对被赋予优先级浏览器选择最优的一对进行“提名”nomination一旦确认浏览器锁定该候选对用于媒体通信。 步骤 6连接建立并切换至 DTLS/SRTP ICE 建立连接后WebRTC 进入安全协商阶段 使用 DTLSDatagram TLS建立安全数据通道使用 SRTP 加密媒体流数据通道使用 SCTP over DTLS。 候选地址优先级逻辑WebRTC WebRTC 默认优先选择 Host最快最原始Reflexive可 NAT 穿透RelayTURN中继最慢但最稳定 每个候选地址有一个类型优先级type preference和本地优先级local preference组成 priority (2^24) * typePref (2^8) * localPref (2^0) * componentIdWebRTC 默认使用此策略排序所有候选对并逐个测试。 ICE 状态机WebRTC 可以监听 ICE 状态变化 pc.oniceconnectionstatechange () {console.log(ICE 状态:, pc.iceConnectionState); };状态可能值包括 new未开始checking进行连通性检查connected至少有一个连接建立completed所有连接建立完毕非 Trickledisconnected网络临时中断failed连接失败closed连接已关闭 总结 步骤关键点候选地址收集Host、STUNReflexive、TURNRelay候选交换通过 SDP trickle ICE连通性检查STUN 探测路径可用性优选与提名基于优先级选最优地址对连接建立最终选中路径建立 DTLS/SRTP 相关协议标准 协议说明RFC 8445ICE 规范最新RFC 5245旧版 ICE 标准RFC 5389STUN 协议标准RFC 5766TURN 协议标准RFC 7589TURN over TCP 优缺点 优点缺点适应多种网络环境穿透强实现复杂调试难自动化建立连接提升体验TURN 中继性能和成本问题标准成熟兼容性好STUN、TURN 可用性影响大
http://www.dnsts.com.cn/news/181408.html

相关文章:

  • 云南个旧建设局网站photoshop手机版下载官网
  • 网站没被收录网络管理系统admin
  • 网站空间每年继费到哪交百度指数在线查询前100
  • 千享科技网站建设餐饮网站开发毕业设计
  • 合肥网站建设推广服务大航母网站建设与运营
  • 邯郸建设网站修网络
  • 陕西省城乡建设网站手机制作3d动画
  • 城乡建设部网站稽查执法专栏wordpress移动端发表失败
  • 湘乡网站建设生物医药基地网站建设
  • 住房和城乡建设部网站执业资格注册中心哪些网页游戏好玩
  • 百度站内搜索 wordpressphp网站建设一流程
  • Wordpress建站用什么系统免费如何创建网站平台
  • 手机网站营销页大连哪家公司做网站好
  • 瑞昌市环保局网站建设外贸网站如何做的好
  • php 网站做分享功能平面设计公司企业文化
  • 兴化市住房和城乡建设局网站莱特币做空国外网站
  • 网站推广自己可以做吗微官网与公众号
  • php网站后台密码忘记服务号 订阅号
  • 石家庄语音网站建设公司wordpress建淘宝客网站
  • 海外sns网站外贸推广平台排名
  • 中国商标官网入口广告优化师适合女生吗
  • 网站备案注销下载做动态效果的网站
  • 天津住房和城乡建设部网站建筑网站首页
  • 用ps做企业网站分辨率是多少合肥网站设计建设
  • 好玩的网页游戏排行榜2021网站优化公司多少钱
  • 网站建设资金方案苏州优化网站哪家好
  • 建设企业官方网站城乡住建局官网
  • 免费做deal的网站安卓版wordpress
  • wordpress网站流量统计插件网站上线怎么做
  • 济南企业做网站推广网站哪个网站买域名好