当前位置:首页 » 操作系统 » nat穿越源码

nat穿越源码

发布时间: 2022-10-07 18:57:31

㈠ NAT穿透什么意思

内网穿透即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透。
就是说映射端口,能让外网的电脑找到处于内网的电脑,提高下载速度。
不管是内网穿透还是其他类型的网络穿透,都是网络穿透的统一方法来研究和解决。在网络词条
NAT穿越,nat穿透中有关于网络穿透的详细信息。

NAT,即NAT Traversal,可译为网络地址转换或网络地址翻译。

㈡ 关于nat-t穿越ipsec的问题

1.你说的这不是nat-t的特性,nat-t是在IKE协商时检测两个设备中间是否有NAT,如果有NAT就启用nat-t技术。
2.为什么要启用nat-t?因为IPSEC协商后esp封装是一个特殊与TCP和UDP并列的协议,和ICMP一样,ESP是没有端口号的,而NAT是需要进行端口号转换的,如果开启nat-t,两个设备对esp数据包进行udp封装,端口4500。
3.这个功能默认开启的,不需要干预。
4.你本身的问题是在配置vpn的设备上的nat对IPSEC vpn的影响吗?设备上默认策略是先处理NAT,再匹配感兴趣流,所以如果在vpn设备上配置了NAT,会导致无法匹配感兴趣流,也就导致内网无法访问对端了,这种情况只要注意下用扩展访问列表做nat,并把感兴趣流的流量排除掉就OK了

㈢ 详解P2P技术中的NAT穿透原理(转载)

课程地址:零声学院 WebRTC入门与提高 https://ke.qq.com/course/435382?tuin=137bb271

技术支持QQ群:782508536

最近介入测试P2P的相关逻辑,因此对NAT穿透原理做了一定程度的了解(当然也没有很深入)。本篇文章也是综合和参考了些网络上和文献里的一些资料(文中没有对引用处进行标记,请见谅)。写本文的目的就是,用自己的语言描述了这个过程,同时也在描述过程中加入了一些自己的理解,形成一篇文章作为要点的记录。对于这一块的知识,自己也有很多盲点,还请各路大神多多指教。

NAT(Network Address Translation,网络地址转换),也叫做网络掩蔽或者IP掩蔽。NAT是一种网络地址翻译技术,主要是将内部的私有IP地址(private IP)转换成可以在公网使用的公网IP(public IP)。

时光回到上个世纪80年代,当时的人们在设计网络地址的时候,觉得再怎么样也不会有超过32bits位长即2的32次幂台终端设备连入互联网,再加上增加ip的长度(即使是从4字节增到6字节)对当时设备的计算、存储、传输成本也是相当巨大的。后来逐渐发现IP地址不够用了,然后就NAT就诞生了!(虽然ipv6也是解决办法,但始终普及不开来,而且未来到底ipv6够不够用仍是未知)。

因此,NAT技术能够兴起的原因还是因为在我们国家公网IP地址太少了,不够用,所以才会采取这种地址转换的策略。可见,NAT的本质就是让一群机器公用同一个IP,这样就暂时解决了IP短缺的问题。

优势其实上面已经刚刚讨论过了,根据定义,比较容易看出,NAT可以同时让多个计算机同时联网,并隐藏其内网IP,因此也增加了内网的网络安全性;此外,NAT对来自外部的数据查看其NAT映射记录,对没有相应记录的数据包进行拒绝,提高了网络安全性。

那么,NAT与此同时也带来一些弊端:首先是,NAT设备会对数据包进行编辑修改,这样就降低了发送数据的效率;此外,各种协议的应用各有不同,有的协议是无法通过NAT的(不能通过NAT的协议还是蛮多的),这就需要通过穿透技术来解决。我们后面会重点讨论穿透技术。

简单的背景了解过后,下面介绍下NAT实现的主要方式,以及NAT都有哪些类型。

1)静态NAT:也就是静态地址转换。是指一个公网IP对应一个私有IP,是一对一的转换,同时注意,这里只进行了IP转换,而没有进行端口的转换。举个栗子:

2)NAPT:端口多路复用技术。与静态NAT的差别是,NAPT不但要转换IP地址,还要进行传输层的端口转换。具体的表现形式就是,对外只有一个公网IP,通过端口来区别不同私有IP主机的数据。再举个栗子。

通过上面NAT实现方式的介绍,我们其实不难看出,现实环境中NAPT的应用显然是更广泛的。因此下面就重点介绍下NAPT的主要类型有哪些。

对于NAPT我们主要分为两大类:锥型NAT和对称型NAT。其中锥型NAT又分:完全锥型,受限锥型和端口受限锥型。概括的说:对称型NAT是一个请求对应一个端口;锥型NAT(非对称NAT)是多个请求(外部发向内部)对应一个端口,只要源IP端口不变,无论发往的目的IP是否相同,在NAT上都映射为同一个端口,形象的看起来就像锥子一样。下面分别介绍这四种类型及其差异。

1)完全锥型NAT(Full Cone NAT,后面简称FC)

特点:IP和端口都不受限。

表现形式:将来自内部同一个IP地址同一个端口号(IP_IN_A : PORT_IN_A)的主机监听/请求,映射到公网IP某个端口(IP_OUT_B : PORT_OUT_B)的监听。任意外部IP地址与端口对其自己公网的IP这个映射后的端口访问(IP_OUT_B : PORT_OUT_B),都将重新定位到内部这个主机(IP_IN_A : PORT_IN_A)。该技术中,基于C/S架构的应用可以在任何一端发起连接。是不是很绕啊。再简单一点的说,就是,只要客户端,由内到外建立一个映射(NatIP:NatPort -> A:P1)之后,其他IP的主机B或端口A:P2都可以使用这个洞给客户端发送数据。见下图()。

2)受限锥型NAT(Restricted Cone NAT)

特点:IP受限,端口不受限。

表现形式:与完全锥形NAT不同的是,在公网映射端口后,并不允许所有IP进行对于该端口的访问,要想通信必需内部主机对某个外部IP主机发起过连接,然后这个外部IP主机就可以与该内部主机通信了,但端口不做限制。举个栗子。当客户端由内到外建立映射(NatIP:NatPort –> A:P1),A机器可以使用他的其他端口(P2)主动连接客户端,但B机器则不被允许。因为IP受限啦,但是端口随便。见下图(绿色是允许通信,红色是禁止通信)。

3)端口受限型NAT(Port Restricted Cone NAT)

特点:IP和端口都受限。

表现形式:该技术与受限锥形NAT相比更为严格。除具有受限锥形NAT特性,对于回复主机的端口也有要求。也就是说:只有当内部主机曾经发送过报文给外部主机(假设其IP地址为A且端口为P1)之后,外部主机才能以公网IP:PORT中的信息作为目标地址和目标端口,向内部主机发送UDP报文,同时,其请求报文的IP必须是A,端口必须为P1(使用IP地址为A,端口为P2,或者IP地址为B,端口为P1都将通信失败)。例子见下图。这一要求进一步强化了对外部报文请求来源的限制,从而较Restrictd Cone更具安全性。

4)对称型NAT(Symmetric NAT)

特点:对每个外部主机或端口的会话都会映射为不同的端口(洞)。

表现形式:只有来自同一内部IP:PORT、且针对同一目标IP:PORT的请求才被NAT转换至同一个公网(外部)IP:PORT,否则的话,NAT将为之分配一个新的外部(公网)IP:PORT。并且,只有曾经收到过内部主机请求的外部主机才能向内部主机发送数据包。内部主机用同一IP与同一端口与外部多IP通信。客户端想和服务器A(IP_A:PORT_A)建立连接,是通过NAT映射为NatIP:NatPortA来进行的。而客户端和服务器B(IP_B:PORT_B)建立连接,是通过NAT映射为NatIP:NatPortB来进行的。即同一个客户端和不同的目标IP:PORT通信,经过NAT映射后的公网IP:PORT是不同的。此时,如果B想要和客户端通信,也只能通过NatIP:NatPortB(也就是紫色的洞洞)来进行,而不能通过NatIP:NatPortA(也就是黄色的洞洞)。

以上,就是NAPT的四种NAT类型。可以看出由类型1)至类型4),NAT的限制是越来越大的。

根据上面的介绍,我们可以了解到,在实际的网络情况中,各个设备所处的网络环境是不同的。那么,如果这些设备想要进行通信,首先判断出设备所处的网络类型就是非常重要的一步。举个例子来说:对于视频会议和VoIP软件,对位于不同NAT内部的主机通信需要靠服务器来转发完成,这样就会增加服务器的负担。为了解决这种问题,要尽量使位于不同NAT内部的主机建立直接通信,其中,最重要的一点就是要判断出NAT的类型,然后才能根据NAT的类型,设计出直接通信方案。不然的话,两个都在NAT的终端怎么通信呢?我们不知道对方的内网IP,即使把消息发到对方的网关,然后呢?网关怎么知道这条消息给谁,而且谁允许网关这么做了?

为了解决这个问题,也就是处于内网的主机之间能够穿越它们之间的NAT建立直接通信,已经提出了许多方法,STUN(Session Traversal Utilities for NAT,NAT会话穿越应用程序)技术就是其中比较重要的一种解决方法,并得到了广泛的应用。在这个部分,我们将重点介绍下STUN技术的原理。(PS:除此之外,还有UPNP技术,ALG应用层网关识别技术,SBC会话边界控制,ICE交互式连接建立,TURN中继NAT穿越技术等等,本文不一一做介绍。)

STUN是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT路由器之后的主机之间建立UDP通信。该协议由RFC 5389定义。STUN由三部分组成:STUN客户端、STUN服务器端、NAT路由器。STUN服务端部署在一台有着两个公网IP的服务器上。大概的结构参考下图。STUN客户端通过向服务器端发送不同的消息类型,根据服务器端不同的响应来做出相应的判断,一旦客户端得知了Internet端的UDP端口,通信就可以开始了。

STUN协议定义了三类测试过程来检测NAT类型。

Test1: STUN Client通过端口{IP-C1:Port-C1}向STUN Server{IP-S1:Port-S1}发送一个Binding Request(没有设置任何属性)。STUN Server收到该请求后,通过端口{IP-S1:Port-S1}把它所看到的STUN Client的IP和端口{IP-M1,Port-M1}作为Binding Response的内容回送给STUN Client。 Test1#2:STUN Client通过端口{IP-C1:Port-C1}向STUN Server{IP-S2:Port-S2}发送一个Binding Request(没有设置任何属性)。STUN Server收到该请求后,通过端口{IP-S2:Port-S2}把它所看到的STUN Client的IP和端口{IP-M1#2,Port-M1#2}作为Binding Response的内容回送给STUN Client。

Test2: STUN Client通过端口{IP-C1:Port-C1}向STUN Server{IP-S1:Port-S1}发送一个Binding Request(设置了Change IP和Change Port属性)。STUN Server收到该请求后,通过端口{IP-S2:Port-S2}把它所看到的STUN Client的IP和端口{IP-M2,Port-M2}作为Binding Response的内容回送给STUN Client。

Test3: STUN Client通过端口{IP-C1:Port-C1}向STUN Server{IP-S1:Port-S1}发送一个Binding Request(设置了Change Port属性)。STUN Server收到该请求后,通过端口{IP-S1:Port-S2}把它所看到的STUN Client的IP和端口{IP-M3,Port-M3}作为Binding Response的内容回送给STUN Client。

STUN协议的输出是: 1)公网IP和Port 2)防火墙是否设置 3)客户端是否在NAT之后,及所处的NAT的类型

因此我们进而整理出,通过STUN协议,我们可以检测的类型一共有以下七种:

A:公开的互联网IP。主机拥有公网IP,并且没有防火墙,可自由与外部通信 B:完全锥形NAT。 C:受限制锥形NAT。 D:端口受限制形NAT。 E:对称型UDP防火墙。主机出口处没有NAT设备,但有防火墙,且防火墙规则如下:从主机UDP端口A发出的数据包保持源地址,但只有从之前该主机发出包的目的IP/PORT发出到该主机端口A的包才能通过防火墙。 F:对称型NAT G:防火墙限制UDP通信。

输入和输出准备好后,附上一张维基网络的流程图,就可以描述STUN协议的判断过程了。

STEP1:检测客户端是否有能力进行UDP通信以及客户端是否位于NAT后 -- Test1 客户端建立UDP socket,然后用这个socket向服务器的(IP-1,Port-1)发送数据包要求服务器返回客户端的IP和Port,客户端发送请求后立即开始接受数据包。重复几次。 a)如果每次都超时收不到服务器的响应,则说明客户端无法进行UDP通信,可能是:G防火墙阻止UDP通信 b)如果能收到回应,则把服务器返回的客户端的(IP:PORT)同(Local IP: Local Port)比较: 如果完全相同则客户端不在NAT后,这样的客户端是:A具有公网IP可以直接监听UDP端口接收数据进行通信或者E。 否则客户端在NAT后要做进一步的NAT类型检测(继续)。

STEP2:检测客户端防火墙类型 -- Test2 STUN客户端向STUN服务器发送请求,要求服务器从其他IP和PORT向客户端回复包: a)收不到服务器从其他IP地址的回复,认为包前被前置防火墙阻断,网络类型为E b)收到则认为客户端处在一个开放的网络上,网络类型为A

STEP3:检测客户端NAT是否是FULL CONE NAT -- Test2 客户端建立UDP socket然后用这个socket向服务器的(IP-1,Port-1)发送数据包要求服务器用另一对(IP-2,Port-2)响应客户端的请求往回发一个数据包,客户端发送请求后立即开始接受数据包。 重复这个过程若干次。 a)如果每次都超时,无法接受到服务器的回应,则说明客户端的NAT不是一个Full Cone NAT,具体类型有待下一步检测(继续)。 b)如果能够接受到服务器从(IP-2,Port-2)返回的应答UDP包,则说明客户端是一个Full Cone NAT,这样的客户端能够进行UDP-P2P通信。

STEP4:检测客户端NAT是否是SYMMETRIC NAT -- Test1#2 客户端建立UDP socket然后用这个socket向服务器的(IP-1,Port-1)发送数据包要求服务器返回客户端的IP和Port, 客户端发送请求后立即开始接受数据包。 重复这个过程直到收到回应(一定能够收到,因为第一步保证了这个客户端可以进行UDP通信)。 用同样的方法用一个socket向服务器的(IP-2,Port-2)发送数据包要求服务器返回客户端的IP和Port。 比较上面两个过程从服务器返回的客户端(IP,Port),如果两个过程返回的(IP,Port)有一对不同则说明客户端为Symmetric NAT,这样的客户端无法进行UDP-P2P通信(检测停止)因为对称型NAT,每次连接端口都不一样,所以无法知道对称NAT的客户端,下一次会用什么端口。否则是Restricted Cone NAT,是否为Port Restricted Cone NAT有待检测(继续)。

STEP5:检测客户端NAT是Restricted Cone 还是 Port Restricted Cone -- Test3 客户端建立UDP socket然后用这个socket向服务器的(IP-1,Port-1)发送数据包要求服务器用IP-1和一个不同于Port-1的端口发送一个UDP 数据包响应客户端, 客户端发送请求后立即开始接受数据包。重复这个过程若干次。如果每次都超时,无法接受到服务器的回应,则说明客户端是一个Port Restricted Cone NAT,如果能够收到服务器的响应则说明客户端是一个Restricted Cone NAT。以上两种NAT都可以进行UDP-P2P通信。

通过以上过程,至此,就可以分析和判断出客户端是否处于NAT之后,以及NAT的类型及其公网IP,以及判断客户端是否具备P2P通信的能力了。当然这是自己个人笔记的第一篇,后面,再作一篇笔记《NAT穿透原理浅析(二)》分析下不同NAT类型的穿透打洞策略。

㈣ 什么是NAT穿越

不知道你说的是不是计算机的NAT穿越技术?

NAT分类
• Full Cone NAT(完全圆锥型)
• Address Restricted Cone NAT(地址限制圆锥型 )
• Port Restricted Cone NAT(端口限制圆锥型)
• Symmetric NAT(对称型)

图片在这里:http://hi..com/oceaning/blog/item/b42544f41198886cddc474e9.html

----------------------------------------------------------------------

IP的防火墙/NAT穿越技术

对IP地址资源需求的迅速增加超出了最初预期和设计的32比特(IPv4地址长度)。很多专家学者,尤其是IP标准领域的主导性国际组织IETF一直把IPv6看作是一种长期的IP地址短缺的解决方案,把网络地址翻译(NAT)看作是一种中短期的地址短缺解决方案。NAT的大量使用,使得在协议设计中将IP地址作为通信标志符的VoIP协议无法正常工作。目前已经出现了多种典型的穿越技术,有些还在发展中。比较典型的有:
·应用网关(ALG:Application Level Gateway):是最早出现的NAT穿越解决方案,在传统的NAT上进行协议扩展,使之具备感知SIP、H.323、H.324和MGCP等VoIP呼叫控制协议的能力,从而完成呼叫控制协议的解析和地址翻译功能。
·代理技术:是为缓解ALG方式所带来的现有NAT升级困难而出现的,它也是目前中国国内比较看好的一种NAT穿越解决方案,已经得到ITU-T的支持。
·隧道/VPN机制:逻辑上由隧道客户端和隧道服务器两部分构成,隧道客户端和隧道服务器通过隧道协议建立一条隧道,实现信令和媒体流透明穿越NAT。
·MIDCOM技术:是为了解决ALG和代理技术所共有的可扩展性不强而出现的一种NAT穿越解决方案,采用可信的第三方(MIDCOM Agent)对Middlebox(NAT)进行控制,由MIDCOM Agent控制Middlebox打开和关闭媒体端口。
·单边自我绑定地址(UNISAF: Unilateral Self-Address Fixing):RFC3424定义的UNSAF技术,可以让位于NAT后的一个客户设法发现位于NAT公网一侧的该客户的地址,然后让应用使用新学习到的地址而不是它自真正的IP地址。这样做需要在NAT公网一侧增加一个UNSAF服务器,并且修改客户端,以便让UNSAF服务器知道如何使用该 UNSAF服务器,而真正的应用服务器并不改变,典型的UNSAF技术包括STUN,TURN等。
·服务器做NAT导航(SINN:Server Involvement in NAT Navigation):修改服务器,改变对应用的真正处理,这种改变可能会违反应用标准本身的规定。但在某些应用协议中,SINN技术允许不改变客户端或NAT就可以实现NAT的穿越。这种技术能否使用完全取决于应用层协议,通常会对客户端的行国有一个假设。典型应用就是SIP中的会话控制器(SBC)。
·协议扩展:是针对各个信令协议的特点,在信令消息中增加新的消息参数,或者对原有的呼叫流程进行改进,使之可以工作在NAT环境中。该方案的优点是无需对现有NAT设备进行改动,缺点是现有的终端和软交换设备、网守和SIP服务器等控制设备需要同时进行扩展。因此协议扩展时应重点考虑协议的向下兼容问题,以保证与示扩展的终端的完整互通性。
·IPv6:如果一种穿越技术需要修改全部的相关部分,那就是IPv6了。

㈤ NAT穿越的方法

普通NAT是通过修改UDP或TCP报文头部地址信息实现地址的转换,但对于VOIP应用,在TCP/UDP净载中也需带地址信息,ALG方式是指在私网中的VOIP终端在净载中填写的是其私网地址,此地址信息在通过NAT时被修改为NAT上对外的地址。
语音和视频协议(H323、SIP、MGCP/H248)的识别和对NAT/Firewall的控制,同时每增加一种新的应用都将需要对 NAT/Firewall进行升级。
在安全要求上还需要作一些折衷,因为ALG 不能识别加密后的报文内容,所以必须保证报文采用明文传送,这使得报文在公网中传送时有很大的安全隐患。
NAT/ALG是支持VOIP NAT穿透的一种最简单的方式,但由于网络实际情况是已部署了大量的不支持此种特性的NAT/FW设备,因此,实际应用中,很难采用这种方式。 与NAT/ALG不同的是,MIDCOM的基本框架是采用可信的第三方(MIDCOM Agent)对Middlebox (NAT/FW)进行控制,VOIP协议的识别不由Middlebox完成,而是由外部的MIDCOM Agent完成,因此VOIP使用的协议对Middlebox是透明的 .
由于识别应用协议的功能从Middlebox移到外部的MIDCOM Agent上,根据MIDCOM 的构,在不需要更改Middlebox基本特性的基础上,通过对MIDCOM Agent的升级就可以支持更多的新业务,这是相对NAT/ALG方式的一个很大的优势。
在VOIP实际应用中,Middlebox功能可驻留在NAT/Firewall,通过软交换设备(即MIDCOMAgent)对IP语音和视频协议(H323、SIP、MGCP/H248)的识别和对NAT/Firewall的控制,来完成VOIP应用穿越 NAT/Firewall .在安全性上,MIDCOM方式可支持控制报文的加密,可支持媒体流的加密,因此安全性比较高。
如果在软交换设备上实现对SIP/H323/MGCP/H248协议的识别,就只需在软交换和NAT/FW设备上增加MIDCOM协议即可,而且以后新的应用业务识别随着软交换的支持而支持,此方案是一种比较有前途的解决方案,但要求现有的NAT/FW设备需升级支持MIDCOM协议,从这一点上来说,对已大量部署的NAT/FW设备来说,也是很困难的,同NAT/ALG方式有相同的问题。 解决穿透NAT问题的另一思路是,私网中的VOIP终端通过某种机制预先得到出口NAT上的对外地址,然后在净载中所填写的地址信息直接填写出口NAT上的对外地址,而不是私网内终端的私有IP地址,这样净载中的内容在经过NAT时就无需被修改了,只需按普通NAT流程转换报文头的IP地址即可,净载中的 IP地址信息和报文头地址信息是一致的。STUN协议就是基于此思路来解决应用层地址的转换问题。
STUN的全称是Simple Traversal of UDP Through Network Address Translators,即UDP对NAT的简单穿越方式。 应用程序(即STUN CLIENT)向NAT外的STUN SERVER通过UDP发送请求STUN 消息,STUN SERVER收到请求消息,产生响应消息,响应消息中携带请求消息的源端口,即STUN CLIENT在NAT上对应的外部端口。然后响应消息通过NAT发送给STUN CLIENT,STUN CLIENT通过响应消息体中的内容得知其NAT上的外部地址,并将其填入以后呼叫协议的UDP负载中,告知对端,本端的RTP接收地址和端口号为NAT 外部的地址和端口号。由于通过STUN协议已在NAT上预先建立媒体流的NAT映射表项,故媒体流可顺利穿越NAT.
STUN协议最大的优点是无需现有NAT/FW设备做任何改动。由于实际应用中,已有大量的NAT/FW,并且这些NAT/FW并不支持VoIP的应用,如果用MIDCOM或NAT/ALG方式来解决此问题,需要替换现有的NAT/FW,这是不太容易的。而采用STUN方式无需改动NAT/FW,这是其最大优势,同时STUN方式可在多个NAT串联的网络环境中使用,但MIDCOM方式则无法实现对多级NAT的有效控制。
STUN的局限性在于需要VOIP终端支持STUN CLIENT的功能,同时STUN并不适合支持TCP连接的穿越,因此不支持H323.另外STUN方式不支持对防火墙的穿越,不支持对称NAT (Symmetric NAT)类型(在安全性要求较高的企业网中,出口NAT通常是这种类型)穿越。 TURN方式解决NAT问题的思路与STUN相似,也是私网中的VOIP终端通过某种机制预先得公网上的服务地址(STUN方式得到的地址为出口NAT上外部地址,TURN方式得到地址为TURN Server上的公网地址),然后在报文净载中所要求的地址信息就直接填写该公网地址。[Page]
TURN的全称为Traversal Using Relay NAT,即通过Relay方式穿越NAT.TURN应用模型通过分配TURN Server的地址和端口作为私网中VOIP终端对外的接受地址和端口,即私网终端发出的报文都要经过TURN Server进行Relay转发,这种方式除了具有STUN方式的优点外,还解决了STUN应用无法穿透对称NAT(SymmetricNAT)以及类似的Firewall设备的缺陷,同时TURN支持基于TCP的应用,如H323协议。此外TURN Server控制分配地址和端口,能分配RTP/RTCP地址对(RTCP端口号为RTP端口号加1)作为私网终端用户的接受地址,避免了STUN方式中出口NAT对RTP/RTCP地址端口号的任意分配,使得客户端无法收到对端发来的RTCP报文(对端发RTCP报文时,目的端口号缺省按RTP端口号加 1发送)。
TURN的局限性在于需要VOIP终端支持TURN Client,这一点同STUN一样对网络终端有要求。此外,所有报文都必须经过TURN Server转发,增大了包的延迟和丢包的可能性。 应该说ICE是目前在NAT穿透中最常用的方式。ICE(交互式连接建立)- Interactive Connectivity Establishment 是一种综合性的NAT穿越的技术。交互式连接建立是由IETF的MMUSIC工作组开发出来的一种framework,可整合各种NAT 穿透技术,如STUN、TURN(Traversal Using Relay NAT)、RSIP(Realm Specific IP,特定域IP)等。该framework可以让SIP的客户端利用各种NAT穿透方式打穿远程的防火墙。

㈥ 电信 如何实现NAT穿越

无线猫设置基本步骤:在输网址的栏里输入:192.168.1.1 进入电信无线猫设置界面,用帐号密码,用户名:telecomadmin,密码:nE7jA%5m(注:密码比较复杂建议复制粘贴上去)
进入后界面...

打开网络--宽带设置.....

在连接名称里找到你当地VPI/VCI连接....(银川是8_35,下图是以深圳.广州为例)

选择你当地VPI/VCI连接后..点删除连接..(注意删除你当地VPI/VCI那连接以后用电脑拨号是拨不上的..删除这个连接是为下面设置路由打下基础的)

删除连接以后.新建立个连接...
承载业务INTERNET(启用)
模式ROUTE(PPPOE)
使用NAT
输入你上网的帐号密码
确定

管理---设备管理---设备重启(路由设置完成...)

以下开始配置DHCP服务,可限定IP,以控制上网电脑台数。

6
无线网络设置,至此设置基本完成。如果你不用无线,此处可禁用..

㈦ C# TCP 打洞/穿透NAT

这个很简单啊...没有外网IP没关系.如果你是通过路由上网.在路由上做个端口印射,你的机器就能当外网IP服务器用了.

打洞通常是UDP协议.TCP协议的打洞还真没试过.

补充:你是没服务器,还是没服务器端代码~~

㈧ 谁能给我一个能够穿透内网的vb远程控制源码。或者说说思路也行!

nat穿透

㈨ CISCO路由器建立穿越NAT的VPN几种解决方法

3种方法:
1.ipsec-over-udp cisco udp任何 6×isa esp---udp特定端口 group-policy
2.nat-t rfc udp4500 6×isa esp---udp4500 nat-tran
3.ipsec-over-tcp 只有特定端口tcp的流量 isa ipsec-over-tcp
例如下:
ip nat inside source static esp 1.1.1.1 interface FastEthernet0/0
静态方式将esp封装中的IP地址NAT转换出去 为 f0/0 端口的ip
ip nat inside source static udp 1.1.1.1 4500 interface FastEthernet0/0 4500
NAT会影响ipsec协商包括ESP 和AH
所以用UPD500号端口重新封装IPSEC数据,让NAT放行500号端口数据
ip nat inside source static udp 1.1.1.1 500 interface FastEthernet0/0 500
是nat遍历,你可以理解为用于在ipsecVPN设备之间发现NAT服务器用的

㈩ C#UDP穿越NAT,UDP打洞,UDP Hole Punching源代码,该怎么处理

首先要有一个没有nat的公网服务器,
每个用户使用一个端口与服务器通讯 ,服务器在收到用户连入请求后把用户的标识符跟用户的端口号匹配保存起来
当另一个用户请求该用户时把该用户对应的端口号返回 然后用户之间互相用指定端口号联系 就是打洞了
服务器要维系连接要定时发心跳包

热点内容
java怎么导入jar 发布:2025-07-15 07:22:02 浏览:394
雷蛇键盘配置文件怎么设置完整视频 发布:2025-07-15 07:20:31 浏览:409
存储器1b 发布:2025-07-15 07:09:03 浏览:975
雷电共享存储 发布:2025-07-15 07:09:02 浏览:59
威纶通反编译后字体变大了 发布:2025-07-15 07:08:56 浏览:713
传真机有传真文稿存储 发布:2025-07-15 06:44:06 浏览:125
当前网页的脚本发生错误 发布:2025-07-15 06:44:03 浏览:981
ps笔刷是哪个文件夹 发布:2025-07-15 06:43:29 浏览:334
座机服务器是什么 发布:2025-07-15 06:26:36 浏览:601
php判断是否数字 发布:2025-07-15 06:26:32 浏览:671