UDP打洞原理
来源:互联网 发布:spool导出数据不全 编辑:程序博客网 时间:2024/06/05 14:37
本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.
许多P2P软件比如SKYPE,QQ,电驴之类需要不同内网的两台机子进行通信,而路由器的NAT机制决定了内网访问外网容易,而外网访问内网困难,那如何才能做到这一点呢?有办法------打洞!
具体实现方法需要一台服务器,现在假设两台内网PC,A和B想用端口40000通信,网关分别为NATA,NATB.服务器为S,配置如下:
A: 192.168.0.34 40000
NATA: 58.240.157.121 60020
B: 192.168.0.227 40000
NATB: 58.240.157.222 50030
S: 58.240.157.240 40000
打洞过程:
1.A访问S,打一个洞,洞的指向为A<->S
2.B访问S,打一个洞,洞的指向为B<->S
3.S访问A,告诉它:B想访问你
4.A访问B,洞的指向为A<->B,这个包B的路由器NATB收到后不会转发给B,而是丢弃,因为它认为这是来历不明的包:(
5.B访问A,洞的指向为B<->A,此时A与B可以进行双向通信,打洞成功
打洞的目的是为了告诉NAT,我要访问的IP是我"朋友",你不能阻拦它发过来的信息,比如第4步A通过发送这个包,告诉了NATA:B是我朋友;第5步B发送包给A,告诉了NATB:A是我朋友.最后NATA认识了B,而NATB认识了A,A与B终于实现了双向通信.
- UDP"打洞"原理
- UDP"打洞"原理
- UDP"打洞"原理
- UDP打洞原理
- UDP打洞原理
- UDP打洞原理
- UDP"打洞"原理
- UDP 打洞原理
- UDP打洞原理
- UDP打洞原理
- UDP打洞原理
- udp打洞原理
- UDP打洞原理
- UDP打洞原理
- UDP打洞原理
- UDP打洞原理
- UDP打洞原理
- UDP打洞原理
- spring框架学习
- 隐藏菜单APP显示图标
- 关于二维数组传参做形参
- windows 2012 设置定时vpn自动拨通和网卡日志查看
- Struts2校验器的开头配置
- UDP打洞原理
- MySQL创建表更改表结构
- 从零开始部署小型企业级虚拟桌面 -- Vmware Horizon View 6 For Linux VDI -- 概念简介
- Solr4.8——开发环境搭建(Eclipse or MyEclipse)
- 大数据报文对数工具
- 关于 给 Android 开发者的 RxJava 详解 这篇文章的心得
- 剑指Offer——编程题的Java实现(更新完毕……)
- NOIP 1999 普及组 复赛 Cantor表
- 车缴App SupportUrl