美文网首页
十七、网络传输基本知识-ICE

十七、网络传输基本知识-ICE

作者: ThemisHoo | 来源:发表于2019-04-29 11:57 被阅读0次

注:以下图片来自慕课网,侵权可删

ICE (Interactive Connectivity Establishment)

将NAT TURN打包在一起,做一个最优选择
首先尝试p2p,如有两台服务通过,也会选择一个最优服务
不通则选择TURN,如有多个节点,上海TURN不通,则选择北京的TURN
总之,将所有可能性罗列好,在其中找到一条最优路径,将数据发送


ICE就是让两个终端去得到所有能够连接到对方终端的通路,并找出最优的可通通路

  1. 第一种通路,本机IP,如果两个终端在一个服务下,直接通过本机IP连通
  2. 第二种通路,穿越NAT,双方终端访问STUN服务,都拿到外网IP,尝试P2P穿越,成功既可以连接
  3. 第三条通路,P2P不成功,通过中继服务器Relay server
ICE 具体工作
  1. 收集 Candidate
  2. 对 Candidate Pair 排序 (对候选者对 进行排序,认为优先级高的 先做测试)
  3. 连通性检查(尝试连通)
ICE Candidate

每个 candidate(候选者)是一个地址
例如:a = candidate: ...UDP/TCP ...192.169.1.2 1816 type host
每个候选者包括:协议、IP、端口、类型

Candidate 类型
  • 主机候选者(网卡自己的IP地址和端口)
  • 反射候选者(通过NAT之后的IP地址和端口)
  • 中继候选者(通过TURN服务开通的IP地址和端口)
形成 Candidate Pair
  1. 一方收集到所有候选者后,通过信令传给对方
  2. 同样,另一方收到候选者后,也做收集工作
  3. 当双方拿到全部列表后,将候选者形成配对儿
连通性检查
  1. 对候选对进行优先级排序
  2. 对每个候选对进行发送检查
  3. 对每个候选对进行接收检查(和发送同时进行)

SDP

SDP(Session Description Protocol)它只是一种信息格式的描述标准,本身不属于传输协议,但是可以被其他传输协议用来交换必要的信息(媒体信息,网络信息)。


SDP的例子,其中Candidate只有主机候选者和反射候选者

相关文章

  • 十七、网络传输基本知识-ICE

    注:以下图片来自慕课网,侵权可删 ICE (Interactive Connectivity Establishm...

  • 十六、网络传输基本知识-TURN

    注:以下图片来自慕课网,侵权可删 TURN介绍 其目的是解决对称NAT无法穿越的问题 其建立在STUN之上,消息格...

  • 十四、网络传输基本知识-NAT

    注:以下图片来自慕课网,侵权可删 NAT (Network Address Translator) 我们生活中大部...

  • 十五、网络传输基本知识-STUN

    注:以下图片来自慕课网,侵权可删 STUN介绍 STUN存在的目的就是进行NAT穿越 STUN是典型的客户端/服务...

  • WebRTC中的ICE

    ICE简介 ICE是用于UDP媒体传输的NAT穿透协议(适当扩展也可以支持TCP),它需要利用STUN和TURN协...

  • Python基础(十三)网络编程

    1. 网络编程的基本知识 1. 计算机网络的主要功能 资源共享 信息传输和集中处理 均衡负载和分布处理 综合信息服...

  • TCP基本知识

    TCP基本知识 [TOC] 1. 定义 Transmission Control Protocol,即 传输控制协...

  • 【科普】关于5G,你想知道的都在这里!(一)

    5G概念及基本知识 5G网络是第五代移动通信网络,其峰值理论传输速度可达每秒数十Gb。举例来说,整部超高画质电影可...

  • 网络传输

    20世纪60年代以来, 计算机网络得到了飞速发展。 各大厂商和标准组织为了在数据通信网络领域占据主导地位, 纷纷推...

  • 网络传输

    ####IP--分类编址ipv4:的表现形式(32位二进制数)例如:255.255.255.0 表示方式: 1.网...

网友评论

      本文标题:十七、网络传输基本知识-ICE

      本文链接:https://www.haomeiwen.com/subject/zcwenqtx.html