关于SOCKET UDP穿越NAT

原创 2014年09月01日 20:22:22

         大家都知道,UDP是短连接,当我们想使用UDP包在内网想跟处于外网的SOCKET 服务端进行通信,有时就会出现这样的问题:

   

     网上找过很多资料,大家一直觉得这是NAT的问题,认为NAT在UDP包过去之后有可能就将转换的标志给丢掉了,导致再次收到去往内网的包时就果断的丢掉了,但其实不是这样的,NAT的转换记录表更新时间有长有短,但一般都在15S~45S之间,而我们一般的SCOKET 回复肯定是用不了这么长的时间的,所以我猜测有可能是代码里头有什么地方写的不对,经过查看MSDN,我发现,其实SOCKET类里头有一个属性是自己之前一直没有注意过的

  就是这个,经过测试,造成上述问题现在的原因在于SOCKET 中的TLL默认的32,在一些网络环境下这个值有可能会导致数据包被意外丢弃的情况 。

P2P聊天程序(UDP穿越NAT)

  • 2012年05月30日 09:33
  • 73KB
  • 下载

一种基于UDP协议实现P2P智能穿越NAT的方案

摘 要: 由于目前NAT (Network Address Translation ,网络地址转换协议)的广泛运用,处于Internet上的公网主机与处于 NAT之后的主机建立对等连接是实现 P2P ...

[转] UDP/TCP穿越NAT的P2P通信方法

转自:http://www.cnblogs.com/LeoWong/archive/2009/09/25/1574265.html 内容概述:在p2p通信领域中,由NAT(Network A...

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

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

UDP协议点对点(P2P)通讯(或者说NAT穿越)实例

UDP协议点对点(P2P)通讯实例。 【实验环境】 一个服务端Server,两个客户端:Client1和Client2 。Server和Client1在Linux系统上运行,Client2在Win...
  • iw1210
  • iw1210
  • 2016年07月24日 11:41
  • 1875

Linux对称NAT的UDP穿越

和同事讨论UDP打洞技术,后做了一个简单的实验,由于Windows上设置NAT以及察看其原理太麻烦或者根本就不可能,于是还是使用Linux做了实验,发现基于Linux ip_conntrack这种对称...
  • dog250
  • dog250
  • 2012年06月09日 15:11
  • 7095

NAT穿越技术之UDP打洞

UDP打洞技术依赖于由公共防火墙和cone NAT,允许适当的有计划的端对端应用程序通过NAT"打洞",即使当双方的主机都处于NAT之后。这种技术在 RFC3027的5.1节[NAT PROT] ...

Tcp and Udp NAT 穿越穿透打洞

在网络上搜索了下,没有发现简介而全面的相关文章,下面将英文资料中获取的相关只是整理成此片,以飨乡邻。 所用属于和代号。 A : 私网中的主机,设私网IP为192.168.1.2 B : 另一私网...
  • educast
  • educast
  • 2013年09月23日 17:00
  • 1484

UDP穿越NAT原理

论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。 首先先介绍一些基本概念:      NAT(...
  • fzubbsc
  • fzubbsc
  • 2015年08月27日 09:37
  • 194
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于SOCKET UDP穿越NAT
举报原因:
原因补充:

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