WebRtc 之 STUN和TURN
在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet。很多时候,我们希望网络中的两台主机能够直接进行通信,即所谓的P2P通信,而不需要其他公共服务器的中转。由于主机可能位于防火墙或NAT之后,在进行P2P通信之前,我们需要进行检测以确认它们之间能否进行P2P通信以及如何通信。这种技术通常称为NAT穿透(NAT Traversal)。最常见的NAT穿透是基于UDP的技术,如RFC3489中定义的STUN协议。
STUN,首先在RFC3489中定义,作为一个完整的NAT穿透解决方案,英文全称是Simple Traversal of UDP Through NATs,即简单的用UDP穿透NAT。
在新的RFC5389修订中把STUN协议定位于为穿透NAT提供工具,而不是一个完整的解决方案,英文全称是Session Traversal Utilities for NAT,即NAT会话穿透效用。RFC5389与RFC3489除了名称变化外,最大的区别是支持TCP穿透。
TURN,首先在RFC5766中定义,英文全称是Traversal Using Relays around NAT:Relay Extensions to Session Traversal Utilities for NAT,即使用中继穿透NAT:STUN的扩展。简单的说,TURN与STURN的共同点都是通过修改应用层中的私网地址达到NAT穿透的效果,异同点是TURN是通过两方通讯的“中间人”方式实现穿透。
1 STUN
了解STUN之前,我们需要了解NAT的种类。
NAT对待UDP的实现方式有4种,分别如下:
- Full Cone NAT
WebRtc 之 STUN和TURN相关推荐
- 实际中的WebRTC:STUN,TURN以及信令(五)
原标题:WebRTC in the real world: STUN, TURN and signaling 前文链接:实际中的WebRTC:STUN,TURN以及信令(一),实际中的WebRTC:S ...
- Webrtc中stun和turn的理解
对于stun和turn的理解 在介绍turn和stun之前我们先来了解几个概念 会话描述协议 SDP(Session Description Protocol ) 网络地址转换 NAT (Networ ...
- webrtc下的媒体网络连接STUN、TURN、UDP、TCP
一.理想的网络 媒体流创建流程: 1. PeerA.PeerB分别把自己的IP地址(包含端口号)和媒体能力(本地能支持的音视频编解码类型)告诉信令服务器. 2. 信令服务器对媒体能力进行协商,找到一组 ...
- webrtc进阶-信令篇-之三:信令、stun、turn、ice
webRTC支持点对点通讯,但是webRTC仍然需要服务端: . 协调通讯过程中客户端之间需要交换元数据, 如一个客户端找到另一个客户端以及通知另一个客户端开始通讯. . 需要处理NAT(网 ...
- webrtc进阶-信令篇-之三:信令、stun、turn、ice 【转】
文章来源:webrtc进阶-信令篇-之三:信令.stun.turn.ice webRTC支持点对点通讯,但是webRTC仍然需要服务端: . 协调通讯过程中客户端之间需要交换元数据, 如一个客 ...
- WebRTC:stun/turn服务器搭建
基于coturn项目的stun/turn服务器搭建 VoIP (Voice over Internet Protocol), 一种语音通话技术,经由网际协议(IP)来达成语音通话与多媒体会议,也就是经 ...
- P2P技术详解(三):P2P技术之STUN、TURN、ICE详解 (webrtc)
https://www.cnblogs.com/mlgjb/p/8243690.html 简单的说,TURN与STURN的共同点都是通过修改应用层中的私网地址达到NAT穿透的效果,异同点是TURN是通 ...
- STUN和TURN技术浅析
在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet.很多时候,我们希望网络中的两台主机能够直接进行通信,即所谓的P2P通信,而不需要 ...
- P2P技术之STUN、TURN、ICE详解
1.内容概述 在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet.很多时候,我们希望网络中的两台主机能够直接进行通信,即所谓的P2P ...
最新文章
- deepin linux桌面设置,Deepin系统的桌面样式:高效模式和时尚模式
- 2021算法竞赛入门班第二节课【递归、分治、二分】练习题
- git学习笔记04-将本地仓库添加到GitHub远程仓库-git比svn先进的地方
- java网络编程阻塞_Java网络编程由浅入深三 一文了解非阻塞通信的图文代码示例详解...
- 通信调制体制设计之64QAM性能分析MATLAB仿真及代码
- oracle之单行函数之分组函数
- 数学思想 —— 对称性思维
- java窗口添加标签页_在新标签页中打开新窗口
- 2.跳转到指定的位置
- 局部图像运动复原matlab,运动模糊图像复原算法实现及应用.docx
- 火狐——图片闪动 部分情况下加载不出来
- 人物-IT-史玉柱:史玉柱
- 扭曲丛林服务器未响应,LOL等级最高玩家已246级 狂刷扭曲丛林攒经验
- 模仿类似美团手机版应用源码
- 马克思 第一章 世界的物质性及其发展规律
- 如何免费下载DJKK的音乐
- 不能被7整除但能被5整除的数
- anacondaJupyter相关环境配置及常见问题及pycharm快捷命令(很全!很详细)
- 2022第三届全国大学生网络安全精英赛练习题(5)
- Xilinx原语的用法
热门文章
- AVAudioRecorder stop崩溃 在iOS13系统上
- JDK 环境变量配置及验证(javac 命令)
- 【大作业】一个完整的大作业
- 各种版本的卡图.html,问下大佬们utr有几种版本的,图一的个人认为是比较好看的一种...
- 基于DCT域的数字水印算法研究与应用
- Druid连接池 报错:abandon connection原因分析
- RBAC权限管理(详细)
- 店宝宝:淘宝特价版怎么玩?
- 长沙72岁老太弃12万元“启光”被银言劝阻
- xgboost 正则项_XGBoost总结