P2P技术之STUN、TURN、ICE详解】的更多相关文章

1           说明 本文详细描述了基于STUN系列协议实现的P2P SIP电话过程,其中涉及到了SIP信令的交互,P2P的原理,以及STUN.TURN.ICE的协议交互 本文所提到的各个服务单元的交互均使用UDP,不涉及TCP的打洞及其他和TCP相关的操作. 本文假设通信双方均没有防火墙对协议以及端口的限制. 本文不涉及客户端的资源的发布与查找. 本文适用于有一定基础的读者,比如说知道NAT设备的不同类型及其特点.知道STUN/TURN/ICE协议的基本概念.知道SIP协议的相关交互流…
1       说明 2       打洞和穿越的概念... 1 3       P2P中的打洞和穿越... 2 4       使用STUN系列 协议穿越的特点... 2 5       STUN/ TURN/ICE协议的关系... 3 6       STUN协议(RFC 5389) 3 6.1             为什么会用到STUN协议... 3 6.2             STUN协议的工作原理... 4 7       TURN协议... 4 7.1            …
1.内容概述 在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet.很多时候,我们希望网络中的两台主机能够直接进行通信,即所谓的P2P通信,而不需要其他公共服务器的中转.由于主机可能位于防火墙或NAT之后,在进行P2P通信之前,我们需要进行检测以确认它们之间能否进行P2P通信以及如何通信.这种技术通常称为NAT穿透(NAT Traversal).最常见的NAT穿透是基于UDP的技术,如RFC3489中定义的STUN协议.STUN,…
现在大多数计算机主机都位于防火墙或NAT之后,很少有计算机直接接入Internet.通常,人们希望网络中两天计算机能直接进行通信(P2P通信),而不是需要其他公共服务器的中转. 由于主机位于防火墙或NAT之后,在进行P2P通信之前,需要进行检测确认它们间能否进行P2P通信及如何通信.这种技术通常称为NAT穿透(NAT Traversal).最常见的NAT穿透是基于UDP技术,如RFC3489中定义的STUN协议. NAT对待UDP的实现方式: Full Cone NAT:完全锥形NAT,所有从同…
STUN STUN协议为终端提供一种方式能够获知自己经过NAT映射后的地址,从而替代位于应用层中的私网地址,达到NAT穿透的目的.STUN协议是典型的Client-Server协议,各种具体应用通过嵌入STUN客户端与STUN Server端通讯来完成交互. 在典型的运用STUN进行NAT穿透的场景中,STUN客户端首先向位于公网上的STUN服务器 发送Binding Request消息,STUN服务器接收到请求消息后识别出经过NAT转换后的公网地址60.1.1.1:12345,将其附加在Bin…
stun基本只是用于client探测NAT之后靠近stun server的外网地址,本身不包含应用数据通信的功能,其底层STUN协议通信多是基于UDP的.多个端点之间相互通过信令通道拿到彼此的NAT外网地址之后,就可以进行直接的P2P通,但可能因路由防火墙的规格太严格导致直接P2P通信不成功. turn是扩展了stun功能,除了类似stun可是实现NAT外网侧地址探测之外,也实现了基于中继转发实现应用数据通信,其底层通信可以基于UDP或TCP,多基于UDP,(rfc5766也建议基于UDP).由…
本文源码:GitHub·点这里 || GitEE·点这里 一.会话跟踪 1.场景描述 比如登录某个购物网站,身份识别成功后,在网站下单,支付 等操作,这些操作中当前登录用户信息必须是共享的,这样这些操作结果才能和登录用户做关联. 2.概念简介 可以把会话理解为客户端与服务器之间的一次交互,在一次交互中可能会包含多次请求和响应.在JavaWeb中,从客户端向服务器发出第一个请求开始,会话就开始了,直到客户端关闭浏览器会话结束.在一个会话的多个请求中共享数据,这就是会话跟踪技术. 二.Cookie用…
1 Gradle的Task详解 1 Task定义和配置 2 Task的执行 3 Task的依赖和执行顺序 4 Task类型 5 Task结合gradle的生命周期 6 Task实战 1.1 Task定义和配置 1.1.1 查看所有的task ./gradlew tasks 输出 > Task :tasks ------------------------------------------------------------ All tasks runnable from root projec…
前两篇文章介绍了Nginx反向代理和动态路由: Ngnix技术研究系列1-通过应用场景看Nginx的反向代理 Ngnix技术研究系列2-基于Redis实现动态路由 随着研究的深入,很重要的一点就是了解Nginx各个配置和作用.整理一下分享给大家. 一.先说Nginx配置文件 Nginx的配置文件是一个普通的纯文本文件,使用了Nginx自定义的一套配置语法,更接近于脚本语言,混合了Shell.Perl和C的部分特性: 使用#开始一个注释行 配置指令以分号结束,可以接受多个参数,用空白字符分隔 可以…
2010-01-15 10:32 chinaitlab chinaitlab 字号:T | T 在这篇文章里, 我们将看到各种不同的后门技术,特别是 Linux的可装载内核模块(LKM). 我们将会发现LKM后门比传统的后门程序更加复杂,更加强大,更不易于被发现.知道这些之后,我们可以制造我们 自己的基于LKM的Rootkit程序, 主要体现在TCP/IP层, 因为我们相信这是在系统管理员面前最好的隐藏后门的地方. AD:2014WOT全球软件技术峰会北京站 课程视频发布 简介: 在这篇文章里,…