2023年11月27日发(作者:)

NAT技术(公⽹、私⽹IP

NAT技术(公⽹、私⽹IP

NAT名字很准确,⽹络地址转换,就是替换IP报⽂头部的地址信息。NAT通常部署在⼀个组织的⽹络出⼝位置,通过将内部⽹络IP地址替换

为出⼝的IP地址提供公⽹可达性和上层协议的连接能⼒。那么我们⾸先肯定要知道 什么是公⽹IP和私⽹IP

公⽹与私⽹IP

IP可以分为Public IP Private IP,出现这种规划的原因在于IPv4所能表⽰的IP太少⽽电脑太多以⾄于不够⽤,然⽽只有Public IP才能

直接连接上⽹络;

对于那些公司,学校,政府机构等场所,就可以集中使⽤私有的IP进⾏管理,⽽⼤家可以共⽤⼀个IP去连接上公⽹,这样,就省下了

许多宝贵的Public IP

每次使⽤ipconfig查到的地址,要么就是172.开头的,要么就是192.开头的,⼀般都是很多⼈共享⼀个IP,⽤ipconfig查询到的其实只

是局域⽹IP

172.开头的意味着我们是B类型的局域⽹;

192.开头的意味着你是c类的局域⽹。

公⽹IP

经由 internet 所统⼀规划的 IP,有这种 IP 才可以连上 Internet

私⽹IP

不能直接连上 Internet IP ,主要⽤于局域⽹络内的主机联机规划;

⽤本地ipconfig指令查到的就是局域⽹IP,也就是私⽹IP

下⾯表格中的私有地址范围是预留使⽤的,所以并不能直接作为Internet 上⾯的连接之⽤:

类别IP范围私有地址范围保留地址

A1.0.0.0~126.255.255.25510.0.0.0~10.255.255.255127.0.0.0~127.255.255.255

B169.254.0.0~169.254.255.255128.0.0.0~191.255.255.255172.16.0.0~172.31.255.255

C192.0.0.0~223.255.255.255192.168.0.0~192.168.255.255

上⽹流程

移动公司分给我们的公⽹IP117.158.134.217,这是我们这⼀栋楼能连上⽹的公⽹IP

那么如何让这⼀个IP使学校⾥⾯的所有⼈都能使⽤呢,我们开始重新划分局域⽹。

上⽂中,我们知B类私有地址范围是:172.16.0.0~172.31.255.255,我们学校采取的就是这种划分⽅法,所以我的私⽹IP地址就是

172.18.251.129

那么怎么上⽹的呢:

我们通过私⽹IP然后把我们的需求和要发送的数据发给路由器;

路由器对接⽹络,再把数据发送给Internet

然后internet发送数据到我们学校的路由;

然后路由在通过我的私⽹IP发送给我。

NAT

上⾯提到了我们上⽹都是先通过私⽹IP和公⽹IP以及之间的路由器来实现的,那么这⾥⾯有⼀项不得不提的技术就是NAT(⽹络地址转换)

——帮助我们实现从私⽹IP到公⽹IP之间的联系。

⼯作原理

⾸先要知道,我们直接接触到的私⽹IP是⽆法直接访问外⽹的,所以需要有⼀个转换技术来帮助我们从私⽹IP切换到公⽹IP

对于有Internet访问需求⽽内部⼜使⽤私有地址的⽹络,就要在组织的出⼝位置部署NAT⽹关;

在报⽂离开私⽹进⼊Internet时,将源IP替换为公⽹地址,通常是出⼝设备的接⼝地址;

⼀个对外的访问请求在到达⽬标以后,表现为由本组织出⼝设备发起,因此被请求的服务端可将响应由Internet发回出⼝⽹关;

出⼝⽹关再将⽬的地址替换为私⽹的源主机地址,发回内部;

这样⼀次由私⽹主机向公⽹服务端的请求和响应就在通信两端均⽆感知的情况下完成了。依据这种模型,数量庞⼤的内⽹主机就不再需要公

IP地址了。

⽹络被分为私⽹和公⽹两个部分,NAT⽹关设置在私⽹到公⽹的路由出⼝位置,双向流量必须都要经过NAT⽹关;

⽹络访问只能先由私⽹侧发起,公⽹⽆法主动访问私⽹主机;

NAT⽹关在两个访问⽅向上完成两次地址的转换或翻译,出⽅向做源信息替换,⼊⽅向做⽬的信息替换;

NAT⽹关的存在对通信双⽅是保持透明的;

NAT⽹关为了实现双向翻译的功能,需要维护⼀张关联表,把会话的信息保存下来。

静态NAT

如果⼀个内部主机唯⼀占⽤⼀个公⽹IP,这种⽅式被称为⼀对⼀模型。此种⽅式下,转换上层协议就是不必要的,因为⼀个公⽹IP就能唯⼀

对应⼀个内部主机。显然,这种⽅式对节约公⽹IP没有太⼤意义,主要是为了实现⼀些特殊的组⽹需求。⽐如⽤户希望隐藏内部主机的真实

IP,或者实现两个IP地址重叠⽹络的通信。

动态NAT

它能够将未注册的IP地址映射到注册IP地址池中的⼀个地址,⼀对多。不像使⽤静态NAT那样,你⽆需静态地配置路由器,使其将每个内部

地址映射到⼀个外部地址,但必须有⾜够的公有因特⽹IP地址,让连接到因特⽹的主机都能够同时发送和接收分组。

NAT重载(如何实现从公⽹IP->私⽹IP

它也被称为端⼝地址特换(PAT),其核⼼之处就在于利⽤端⼝号实现公⽹和私⽹的转换。

举个例⼦:

客户端172.18.250.6和百度服务器202.108.22.5通信,172.18.250.6发送数据时,先转换为219.155.6.240:1723(任意>1024的随机端

⼝);

然后再利⽤这个⾝份发送数据给百度服务器;

百度服务器回应数据并发送给219.155.6.240:1723

NAT⽹关检查⾃⼰的关联表,意识到这是⾃⼰地私⽹中172.18.250.6的数据包,然后把这个数据发送给客户端

也就是说,我们利⽤端⼝号的唯⼀性实现了公⽹IP转换为私⽹IP的这⼀步。PATNAT重载)能够使⽤传输层端⼝号来标识主机,因此,从

理论上说,最多可让⼤约65000台主机共⽤⼀个公有IP地址。

参考