UDP打洞原理

转载 2016年08月30日 21:03:43

本文博客链接: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打洞(一般路由器都支持) 解决过程: 1、准备一台服务器,放在公网上,与客户端甲和乙通信,记录客户端甲...
  • joeyon
  • joeyon
  • 2015年08月04日 11:32
  • 653

UDP打洞原理

首先先介绍一些基本概念:     NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。N...
  • zhangzhikaixinya
  • zhangzhikaixinya
  • 2012年05月24日 09:32
  • 3945

UDP打洞原理

本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 许多P2P软件比如SKYPE,QQ,电驴之类需要不同内网的两台机子进行通信,而路由器的NAT机制决...
  • jdh99
  • jdh99
  • 2011年08月07日 21:45
  • 27104

UDP打洞(成功打洞)

UDP打洞 本篇文章由 zg51747708曾广 原创,未经允许不可以转载 注:本文章内的程序代码全部是在Window 10 CreaterUpdata  VS2017 上测试 >>>>>>>>>>...
  • u011580175
  • u011580175
  • 2017年04月30日 12:49
  • 1394

UDP,TCP打洞技术

内容概述:在p2p通信领域中,由NAT(Network Address Translation,网络地址转换)引起的问题已经众所周知了,它会导致在NAT内部的p2p客户端在无论以何种有效的公网ip都无...
  • mirkerson
  • mirkerson
  • 2012年08月27日 14:52
  • 9990

NAT路由器“打洞”技术,即P2P通信实现原理(非常详细)

p2p实现原理 什么是打洞,为什么要打洞 由于Internet的快速发展 IPV4地址不够用,不能每个主机分到一个公网IP 所以使用NAT地址转换。 下面是我在网上找到的一副图 一...
  • u010571316
  • u010571316
  • 2014年11月30日 22:42
  • 3485

P2P打洞原理

tcp打洞 首先我们明确现在我们有的设备: 1、客户端A,网关NAT-A 2、客户端B,网关NAT-B 3、服务器S 这些设备明确之后,就可以介绍TCP打洞的过程: 1、首先服务器...
  • laigengsong
  • laigengsong
  • 2016年11月16日 15:04
  • 796

内网ip打洞-----p2p实现原理

网上找了很多,代码大堆,原理讲清楚透彻的不多。 本人找几篇讲得好的来整理一下。 一片技术文章,最主要的讲清楚原理,如果再有完整的能运行的源代码也可,关键是要把核心部分代码分析清楚。 ...
  • NJUPT_T
  • NJUPT_T
  • 2016年04月16日 22:13
  • 6637

UDP/TCP 打洞(穿透NAT)技术

转自:http://www.cnblogs.com/LeoWong/archive/2009/09/25/1574265.html 内容概述:在p2p通信领域中,由NAT(Network Addre...
  • u013864585
  • u013864585
  • 2014年05月26日 09:28
  • 1112

Udp打洞和TCP打洞之我见

TCP打洞和UDP打洞的区别 2013-04-11 12:06 211人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载。 为什么网上讲到的P2P...
  • WALLEZhe
  • WALLEZhe
  • 2016年03月05日 00:21
  • 1631
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UDP打洞原理
举报原因:
原因补充:

(最多只允许输入30个字)