五大NAT穿透方法,解决内网问题

原创 2016年07月18日 11:41:06

许多程序在局域网中是可以适用的,但是在外网与内网之间和内网与内网之间就不可行。问题就在于NAT,本文就将介绍下5大NAT穿透方法,解决内外网的互访问题。

1.完全锥形(Full Cone)NAT

处于不同内网的主机A和主机B,各自先连接服务器,从而在各自NAT设备上打开了一个“孔”,服务器收到主机A和主机B的连接后,知道A与B的公网地址和NAT分配给它们的端口号,然后把这些NAT地址与端口号告诉A与B,由于在完全锥形NAT的特点,A和B给服务器所打开的“孔”,能给别的任何的主机使用。故A与B可连接对方的公网地址和端口直接进行通信。服务器在这里充当“介绍人”,告诉A与B对方的地址和端口号。

2.受限制锥形(Restricted Cone)NAT

A和B还是要先连接服务器,服务器发送A和B的地址和端口信息给A和B,但由于受限制锥形NAT的特点,他们所打开的“孔”,只能与服务器通信。要使他们可以直接通信,解决办法如下:

假如主机A开始发送一个UDP信息到主机B的公网地址上,与此同时,它又通过服务器中转发送了一个邀请信息给主机B,请求主机B也给主机A发送一个UDP信息到主机A的公网地址上。这时主机A向主机B的公网IP发送的信息导致NAT A打开一个处于主机A的和主机B之间的会话,与此同时,NAT B也打开了一个处于主机B和主机A的会话。一旦这个新的UDP会话各自向对方打开了,主机A和主机B之间就可以直接通信了[14]。

3.端口受限制锥形(Port Restricted Cone)NAT

对于该类型的NAT,解决办法跟上面的方法一样。

4.对称型(Symmetric)NAT

对称型NAT,对于不同的外网主机地址,它都会分配不同的端口号,所以进行UDP打孔比较困难,但也可以进行端口预测打孔,不过不能保证成功。

以上的穿透NAT,是对NAPT来进行穿透,主要是针对UDP协议。TCP协议也有可能,但是可行性非常小,要求更高。并且,语音视频通信是用UDP传输的,故针对TCP的NAT穿透在这里不作讨论。基础NAT不修改经过的数据包的端口号,它们可以看作是完全锥形NAT的精简版本,即基础NAT也可以被穿透。NAT设备将在一定时间后关闭UDP的一个映射,所以为了保持与服务器能够一直通信,服务器或客户端必须要周期性地发送UDP包,保持映射不被关闭。

5.花生壳NAT-DDNS穿透

这里写图片描述

花生壳DDNS是将用户的动态IP 地址映射到一个固定的域名上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP 地址传送给位于服务商主机上的服务器程序,服务项目器程序负责提供 DNS 服务并实现动态域名解析。DDNS 的主要作用就是捕获用户每次变化的 IP 地址,然后将其与域名相对应,这样其他上网用户就可以通过域名来与用户交流了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

如何遥开内外网穿透的问题 --- MCU做简单外网代理

如何遥开内外网穿透的问题 --- MCU做简单外网代理 上头要求研究如何让一个在某一内网里的MCU所召开的会议让外网EP(公网或其他能到达公网的EP)参加进来.我提出了两个方案:           ...
  • mynote
  • mynote
  • 2008年03月15日 17:34
  • 1159

内外网互通,内外网数据交换,全端口映射的技术原理与实际使用方法

内外网互通,内外网数据交换
  • hbendl
  • hbendl
  • 2014年05月07日 23:11
  • 1355

如何从外网穿透到内网

内网,也叫局域网。从范围上来讲,内网就是小部分的网络。如,最小最简单的内网就是二台电脑用网线连接起来,就是一个内网。一般的特定环境,都是内网,如学校的校园网;公司单位的局域网等。...
  • github_35718551
  • github_35718551
  • 2016年11月22日 22:08
  • 3264

内外网知识大揭秘 花生壳帮你实现资源互通

互联网已经成为生活的标配,每天看新闻聊天都离不开网络,但是对于互联网的的知识你了解的多吗?什么是内网和外网,如何做到外网访问内网……本文就这些问题进行介绍。...
  • oray2013
  • oray2013
  • 2016年10月11日 15:18
  • 502

C# p2p 穿透内外网

  • 2016年06月22日 09:45
  • 117KB
  • 下载

NAT的原理与类型

1. NAT的原理与类型 NAT是IETF标准,它通过将局域网内的主机IP地址映射为Internet上有效的公网IP地址,从而实现了网络地址的复用。使用NAT技术,局域网内的多台PC可以共享单个、全局...
  • boywgw
  • boywgw
  • 2015年09月16日 18:02
  • 2637

如何实现内网穿透

局域网是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办...
  • yufgh
  • yufgh
  • 2015年07月13日 10:45
  • 1801

NAT与NAT穿透(一)

1. NAT简介前面的文章说到了针对IP不足的许多技术,但这些技术基本都不会增加可用的IP地址数.NAT(Network Address Translation)又称"网络地址转换",它是一种把内部私...
  • ustcgy
  • ustcgy
  • 2010年06月07日 09:58
  • 21557

NAT的完全分析及其UDP穿透的完全解决方案

NAT的完全分析及其UDP穿透的完全解决方案 一:基本术语防火墙防火墙限制了私网与公网的通信,它主要是将(防火墙)认为未经授权的的包丢弃,防火墙只是检验包的数据,并不修改数据包中的IP地址和TCP/U...
  • colinchan
  • colinchan
  • 2006年05月08日 13:18
  • 43967

解决外网与内网或内网之间的通信,NAT穿透

在网络编码中会发现程序在局域网中是可以适用的,但是在外网与内网之间和内网与内网之间就不可行。 问题就在于NAT。首先介绍下NAT。  NAT的作用NAT(Network Address Trans...
  • crazyliyang
  • crazyliyang
  • 2016年09月18日 15:49
  • 3425
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:五大NAT穿透方法,解决内网问题
举报原因:
原因补充:

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