网上大多数原理总结,UDP打洞原理
网络上的大多数UDP原理研究分析后,自己总结了下面的结果.
1、client A 登录 通过http服务器 webservices 验证成功获取自身信息与好友
列表信息等。
2、Http服务器登记client A的NAT后的IP地址与端口
3、Client B登录 通过http服务器 webservices 验证成功获取自身信息与好友列
表信息等。
4、Http服务器登记client B的NAT后的IP地址与端口
5、Client A想发送消息给Client B,向HTtp服务器获取Client B的在线IP地址
6、Client A获得Client B的IP地址后并发送UDP信息到Client B
7、Client A与Client B请求失败,信息丢失,此时Client A报告Http服务器要求
服务器帮忙对Client B进行通知
8、Http服务器接到此命令后,将Client A的IP地址发给Client B,要求他连接
9、Client B收到HTTP服务器的信息后发送请求到 Client A
10、由于此时Client A NAT已经存在Clinet B的session,所以此时 Client A与
Client B建立链接成功。
11、Client A发送消息到 Client B成功,不经HTTP服务器中转
总结:换句话说就是HTTP服务器启动了“和事老”的功能。为不信任的两个人发
出命令从而使他们达到了一种互相承认而此建立链接关系
其中最主要的是Server 的一个方法就是发送消息到被打洞的客户端
客户端发送消息需要判断该消息是否发送成功,不成功则要求请求打洞.若成功则不需要要求打洞!
客户端在接收到服务器的打洞指令后,则作出UDP发送响应
网上大多数原理总结,UDP打洞原理相关推荐
- P2P技术基础: UDP打洞原理
转自:http://blog.pfan.cn/fengfei/18828.html 首先先介绍一些基本概念: NAT(Network Address ...
- p2p的UDP打洞原理
P2P技术 一 P2P技术翻译,主要UDP hole punching技术 P2P技术翻译,主要UDP hole punching技术,经过测试证明有可行性,但也受其制约条件影响 2. 对于使用NAT ...
- UDP打洞原理及软件简单实现
本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 许多P2P软件比如SKYPE,QQ,电驴之类需要不同内网的两台机子进行通信,而路由器的NAT机制决定了内 ...
- (十七)深入浅出TCPIP之UDP打洞原理
专栏其他文章: 理论篇: (一)深入浅出TCPIP之理解TCP报文格式和交互流程 (二)深入浅出TCPIP之再识TCP,理解TCP三次握手(上) (三)深入浅出TCPIP之再识TCP,理解TCP四次挥 ...
- UDP打洞(UDP Hole Punching)原理
一. NAT分类 根据STUN协议(RFC3489),NAT大致分为下面四类: 1) Full Cone 这种NAT内部的机器A连接过外网机器C后,NAT会打开一个端口.然后外网的任何发到这个打开的端 ...
- pwnat——一种无需第三方服务器就能完成NAT点对点P2P穿透的基于UDP打洞技术的新方法
pwnat--一种无需第三方服务器就能完成NAT点对点P2P穿透的基于UDP打洞技术的新方法 简介 传统的udp打洞 UDP 打洞原理及过程 pwnat技术,无需第三方服务器! pwnat用法 pwn ...
- 简单解释 P2P 技术之 UDP 打洞
P2P 通信最大的障碍就是 NAT(网络地址转换),NAT 使得局域网内的设备也可以与公网进行通讯,但是不同 NAT 下的设备之间通讯将会变得很困难.UDP 打洞就是用来使得设备间绕过 NAT 进行通 ...
- p2p内网穿透技术-udp打洞
在公司如何访问家里的电脑?实现方法有很多,其它p2p传输文件最快,能否实现? udp打洞原理 假设有两台分别处于各自的私有网络中的主机:A和B:N1和N2是两个网络的NAT设备,分别拥有IP地址P1和 ...
- p2p技术,python,udp实现打洞原理笔记
peer-to-peer简称P2P,即点对点技术.又称对等互联网络技术,是一种网络新技术,简单的说,P2P直接将计算机直接联系起来,在两台都是公网ip下的计算机可以轻松实现两台电脑的连接,但是运营商现 ...
- P2P原理及UDP穿透简单说明
本文章出自cnntec.com的AZ猫著,如需要转发,请注明来自cnntec.com Peer-To-Peer缩写P2P 中文称之为对等联网. 用途于交流,比如QQ,MSN等等. 文件传输.分布式数据 ...
最新文章
- WinForm -- 为TextBox文本框添加鼠标右键菜单
- 类和对象—对象特性—拷贝构造函数调用时期
- 关于英汉混合字符串的分隔方法
- opencv系列-图像清晰度评价
- mysql查询连续3个月以上_MySQL查询显示连续的结果
- 选择Java加密算法第3部分–公钥/私钥非对称加密
- AviSynth——多种字幕效果伪实现方法
- .NET中的内存管理,GC机制,内存释放过程
- 【SpringBoot_ANNOTATIONS】组件注册 07 @Import 给容器快速导入一个组件
- html5+JS调用摄像头示例
- 擅长C(DAY 70)
- 大数据shipin教程_尚硅谷大数据视频教程,粉丝众多,人手一套尚硅谷教程
- python前端Django指南之Hello worldl输出
- WinCC flexible的版本与安装移植软件
- R语言作业wine 数据
- 用简单的Python HTTP server来共享文件
- Spring Security 集成 OIDC 项目编码 | 认证(三)
- Python自我成长笔记(二)
- 一个完整的增删改查模块(以我们的项目‘危化品库管理’模块为例)
- linux xmanager 网络端口 177,通过xmanager连接linux系统