网络--NAT技术
一、概述
1.简介
NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。因此我们可以认为,NAT在一定程度上,能够有效的解决公网地址不足的问题。
2.分类
NAT有三种类型:静态NAT(Static NAT)、动态地址NAT(Pooled NAT)、网络地址端口转换NAPT(Port-Level NAT)。
(1)静态NAT:静态地址转换将内部私网地址与合法公网地址进行一对一的转换,且每个内部地址的转换都是确定的。
(2)动态NAT:动态地址转换也是将内部本地地址与内部合法地址一对一的转换,但是动态地址转换是从合法地址池中动态选择一个未使用的地址来对内部私有地址进行转换。
(3)NAPT:它也是一种动态转换,而且多个内部地址被转换成同一个合法公网地址,使用不同的端口号来区分不同的主机,不同的进程。
从实现的技术角度,又可以将NAT分成如下几类:全锥NAT(Full Cone NAT)、限制性锥NAT(Restricted Cone NAT)、端口限制性锥NAT( PortRestricted Cone NAT)、对称NAT ( Symmetric NAT)。
(1)全锥NAT:全锥NAT把所有来自相同内部IP地址和端口的请求映射到相同的外部IP地址和端口。任何一个外部主机均可通过该映射发送数据包到该内部主机。
(2)限制性锥NAT:限制性锥NAT把所有来自相同内部IP地址和端口的请求映射到相同的外部IP地址和端口。但是,和全锥NAT不同的是:只有当内部主机先给外部主机发送数据包,该外部主机才能向该内部主机发送数据包。
(3)端口限制性锥NAT:端口限制性锥NAT与限制性锥NAT类似,只是多了端口号的限制,即只有内部主机先向外部地址:端口号对发送数据包,该外部主机才能使用特定的端口号向内部主机发送数据包。
(4)对称NAT:对称NAT与上述3种类型都不同,不管是全锥NAT,限制性锥NAT还是端口限制性锥NAT,它们都属于锥NAT(ConeNAT)。当同一内部主机使用相同的端口与不同地址的外部主机进行通信时, 对称NAT会重新建立一个Session,为这个Session分配不同的端口号,或许还会改变IP地址。
3 应用
NAT主要可以实现以下几个功能:数据包伪装、平衡负载、端口转发和透明代理。
数据伪装: 可以将内网数据包中的地址信息更改成统一的对外地址信息,不让内网主机直接暴露在因特网上,保证内网主机的安全。同时,该功能也常用来实现共享上网。
端口转发: 当内网主机对外提供服务时,由于使用的是内部私有IP地址,外网无法直接访问。因此,需要在网关上进行端口转发,将特定服务的数据包转发给内网主机。
负载平衡: 目的地址转换NAT可以重定向一些服务器的连接到其他随机选定的服务器。
失效终结: 目的地址转换NAT可以用来提供高可靠性的服务。如果一个系统有一台通过路由器访问的关键服务器,一旦路由器检测到该服务器当机,它可以使用目的地址转换NAT透明的把连接转移到一个备份服务器上。
透明代理: NAT可以把连接到因特网的HTTP连接重定向到一个指定的HTTP代理服务器以缓存数据和过滤请求。一些因特网服务提供商就使用这种技术来减少带宽的使用而不用让他们的客户配置他们的浏览器支持代理连接。
二、原理
2.1 地址转换
NAT的基本工作原理是,当私有网主机和公共网主机通信的IP包经过NAT网关时,将IP包中的源IP或目的IP在私有IP和NAT的公共IP之间进行转换。
如下图所示,NAT网关有2个网络端口,其中公共网络端口的IP地址是统一分配的公共 IP,为202.20.65.5;私有网络端口的IP地址是保留地址,为192.168.1.1。私有网中的主机192.168.1.2向公共网中的主机202.20.65.4发送了1个IP包(Dst=202.20.65.4,Src=192.168.1.2)。
当IP包经过NAT网关时,NAT Gateway会将IP包的源IP转换为NAT Gateway的公共IP并转发到公共网,此时IP包(Dst=202.20.65.4,Src=202.20.65.5)中已经不含任何私有网IP的信息。由于IP包的源IP已经被转换成NAT Gateway的公共IP,Web Server发出的响应IP包(Dst=202.20.65.5,Src=202.20.65.4)将被发送到NAT Gateway。
这时,NAT Gateway会将IP包的目的IP转换成私有网中主机的IP,然后将IP包(Des=192.168.1.2,Src=202.20.65.4)转发到私有网。对于通信双方而言,这种地址的转换过程是完全透明的。转换示意图如下。





网络--NAT技术的更多相关文章
- NAT技术
该文摘自百度百科"NAT"中的一部分 NAT(Network Address Translation,网络地址转换)是1994年提出的.当在专用网内部的一些主机本来已经分配到了本地 ...
- NAT技术基本原理与应用
转载自:http://www.cnblogs.com/derrick/p/4052401.html?utm_source=tuicool&utm_medium=referral#undefin ...
- 2017-2018-2 20155303『网络对抗技术』Exp6:信息收集与漏洞扫描
2017-2018-2 20155303『网络对抗技术』 Exp6:信息收集与漏洞扫描 --------CONTENTS-------- 一.原理与实践说明 1.实践内容 2.基础问题 二.实践过程记 ...
- 2018-2019-2 《网络对抗技术》Exp0 Kali安装 Week1 20165225
2018-2019-2 <网络对抗技术>Exp0 Kali安装 Week1 20165225 - 上Kali官网选择Kali Linux 64 bit的torrent,用迅雷解压即可 安装 ...
- 2018-2019-2 20165336 《网络对抗技术》 Exp6 信息搜集与漏洞扫描
2018-2019-2 20165336 <网络对抗技术> Exp6 信息搜集与漏洞扫描 一.原理与实践说明 1.实践内容 本实践的目标是掌握信息搜集的最基础技能.具体有: 各种搜索技巧的 ...
- 2018-2019-2 20165336《网络对抗技术》Exp0 Kali安装 Week1
2018-2019-2 20165336<网络对抗技术>Exp0 Kali安装 Week1 一.选择官网kali linux系统的版本 二.配置虚拟机 根据 安装教程(https://bl ...
- 20165214 2018-2019-2 《网络对抗技术》Exp5 MSF基础应用 Week8
<网络对抗技术>Exp5 MSF基础应用 Week8 一.实验目标与内容 1.实践内容(3.5分) 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体我 ...
- 20165214 2018-2019-2 《网络对抗技术》Exp2 后门原理与实践 Week4
<网络对抗技术>Exp2 PC平台逆向破解之"MAL_简单后门" Week4 一.实验内容 本次实验对象为名为pwn1的pwn1的linux可执行文件.程序正常执行流程 ...
- 20165228《网络对抗技术》Exp0 Kali安装 Week1
2018-2019-2 <网络对抗技术>Exp0 Kali安装 Week1 Kali下载:来自官网 Kali安装 参考自kali安装教程 (因为写博客时已经安装好kali,所以这部分没有自 ...
随机推荐
- 2017.11.22 mysql数据库实现关联表更新sql语句
比如有两张表,其中一张表某个字段的值要关联另一张表进行统计,就要用到mysql的update方法,并且left join另一张表进行联合查询. mysql关联表更新统计 sql语句如下: 代码如下 复 ...
- 2.1-Java语言基础(keyword)
2.1 keyword watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXNpcmVuZQ==/font/5a6L5L2T/fontsize/400/fi ...
- 安装gcc,g++
安装gcc.g++ sudo apt-get install make gcc g++ 查看g++版本 g++ --version
- udp重发java实现
最近在处理框架通讯方面的问题,通过积累的开发经验,其实在很多情况(尤其是实时大数据量),udp是占有很多优势的:不需要连接,只管发送,理论上要快很多; 另外在穿墙上占有很大优势: 但是最大的一个问题就 ...
- BZOJ1491: [NOI2007]社交网络(Floyd 最短路计数)
Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2343 Solved: 1266[Submit][Status][Discuss] Descripti ...
- ORM初级实战简单的数据库交互
setting.py中: """ Django settings for untitled3 project. Generated by 'django-admin st ...
- LVS基于DR模式搭建负载均衡群集
LVS -DR模式集群架构原理图
- 汇编语言编写Hello World
;================================= ; HELLO world DATAS segment string DB 'HELLO World','$' DATAS end ...
- PHP Socket服务器搭建和测试
1.socket服务器搭建思路 1) 目的:理解socket服务器工作机制 2) 思路:创建socket -> 把socket加入连接池 -> 处理接收信息 -> 握手动作 -> ...
- python中的文件操作小结1
#!/usr/local/bin/python3 # -*- coding:utf-8 -*- f=open("test_1",'r',encoding="utf-8&q ...