1.为什么出现了NAT?

IP地址只有32位,最多只有42.9亿个地址,还要去掉保留地址、组播地址,能用的地址只有36亿左右,但是当下有数以万亿的主机,没有这么多IP地址怎么办,后面有了IPv6,但是当下IPv4还是主流,利用IPv4怎么满足这么多主机的IP地址呢?答案就是NAT,NAT技术使公司、机构以及个人产生以及局域网,然后在各个局域网的边界WAN端口使用一个或多个公网的IPv4进行一对多转换

NAT使用基于session的转换规则

TCP/UDP :私有Host的Ipv4 + port   <======>  NAT公网的Ipv4 + port

ICMP :私有Host的Ipv4 + sessionID <======>  NAT公网的Ipv4 +  sessionID

2.NAT定义

NAT是 Network Address Translation 网络地址转换的缩写。

NAT是将私有IP地址通过边界路由转换成外网IP地址,在边界路由的NAT地址转换表记录下这个转换映射记录,当外部数据返回时,路由使用NAT技术查询NAT转换表,再将目标地址替换成内网用户IP地址。

RFC1918规定了三块专有的地址,作为私有的内部组网使用:

  • A类:10.0.0.0—10.255.255.255      10.0.0.0/8
  • B类:172.16.0.0—172.31.255.255   172.16.0.0/12
  • C类:192.168.0.0—192.168.255.255 192.168.0.0/16

这三块私有地址本身是可路由的,只是公网上的路由器不会转发这三块私有地址的流量;当一个公司内部配置了这些私有地址后,内部的计算机在和外网通信时,公司的边界路由会通过NAT或者PAT技术,将内部的私有地址转换成外网IP,外部看到的源地址是公司边界路由转换过的公网IP地址,这在某种意义上也增加了内部网络的安全性。

3.三种NAT技术

假设一种场景,公司对外的有两个公网IP地址是 191.4.4.1/191.4.4.2,有两台主机A和B,局域网地址分别是192.168.1.2和192.168.1.3

3.1 静态NAT

静态NAT就是一对一映射,内部有多少私有地址需要和外部通信,就要配置多少外网IP地址与其对应,并不节省外网IP,所以一般不用

   

3.2 动态NAT

动态NAT是在路由器上配置一个外网IP地址池,当内部有计算机需要和外部通信时,就从地址池里动态的取出一个外网IP,并将他们的对应关系绑定到NAT表中,通信结束后,这个外网IP才被释放,可供其他内部IP地址转换使用,这个DHCP租约IP有相似之处。

3.3 PAT(port address Translation,端口地址转换,也叫端口地址复用)

这是最常用的NAT技术,也是IPv4能够维持到今天的最重要的原因之一,它提供了一种多对一的方式,对多个内网IP地址,边界路由可以给他们分配一个外网IP,利用这个外网IP的不同端口和外部进行通信。

NAT详解的更多相关文章

  1. P2P技术详解(一):NAT详解——详细原理、P2P简介

    1. IPv4协议和NAT的由来 今天,无数快乐的互联网用户在尽情享受Internet带来的乐趣.他们浏览新闻,搜索资料,下载软件,广交新朋,分享信息,甚至于足不出户获取一切日用所需.企业利用互联网发 ...

  2. NAT详解:基本原理、穿越技术(P2P打洞)、端口老化等

    这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层开发人员而言有很高的参考价值. 学习交流 移动端即时通讯学习交流: 21589 ...

  3. NAT详解 z

    http://www.cnblogs.com/beginmind/p/6380489.html 1.为什么出现了NAT? IP地址只有32位,最多只有42.9亿个地址,还要去掉保留地址.组播地址,能用 ...

  4. OSPF区域间+NAT详解

  5. 理论经典:TCP协议的3次握手与4次挥手过程详解

    1.前言 尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务.TCP提供一种面向连接的.可靠的字节流服务. 面向连接意味着两个使用TCP的应用(通常是一个客户和一 ...

  6. IPv6技术详解:基本概念、应用现状、技术实践(下篇)

    本文来自微信技术架构部的原创技术分享. 1.前言 在上篇<IPv6技术详解:基本概念.应用现状.技术实践(上篇)>,我们讲解了IPV6的基本概念. 本篇将继续从以下方面展开对IPV6的讲解 ...

  7. IPv6技术详解:基本概念、应用现状、技术实践(上篇)

    本文来自微信技术架构部的原创技术分享. 1.前言 普及IPV6喊了多少年了,连苹果的APP上架App Store也早已强制IPV6的支持,然并卵,因为历史遗留问题,即使在IPV4地址如果饥荒的情况下, ...

  8. [转帖]技术扫盲:新一代基于UDP的低延时网络传输层协议——QUIC详解

    技术扫盲:新一代基于UDP的低延时网络传输层协议——QUIC详解    http://www.52im.net/thread-1309-1-1.html   本文来自腾讯资深研发工程师罗成的技术分享, ...

  9. VMware虚拟网络连接模式详解(NAT,Bridged,Host-only)

    序言 如果你使用VMware安装虚拟机,那么你必定会选择网络连接,那么vmware提供主要的3种网络连接方式,我们该如何抉择呢?他们有什么不同呢?这篇我们就做一个深入. 首先打开虚拟机设置里面的网络适 ...

随机推荐

  1. 使用for循环运算

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. man info --help区别

    --help: 是一个工具选项,可以用来显示一些工具的信息 man : 可以显示系统手册页中的内容,这些内容大多数都是对命令的解释信息 PS: () Space 键可以显示下一屏的文本信息 () q ...

  3. java 自动备份MySQL 数据库(转载)

    1 package com.learn4j.bat; public class Backup { private String user_name;// 数据库用户名 private String u ...

  4. Mac OS X窗口最小化方法的几个快捷键

    大家都知道在 OS X 系统中,点击窗口左上角中间的小黄按钮就可以最小化当前窗口.而事实上,还有一些比点击这个按钮更快的窗口最小化方法.这里一起分享给大家! 使用快捷键 Command+M,可以实现快 ...

  5. RecyclerView学习笔记

    主要方法: setLayoutManager:设置显示方式,有LinearLayoutManager(像ListView一样的纵向列表布局),有GridLayoutManager(网格布局),有Sta ...

  6. 【转】安卓Fragment不完全介绍

    转两篇博客: 1.http://blog.csdn.net/lmj623565791/article/details/37970961 2.http://blog.csdn.net/lmj623565 ...

  7. eclipse安装maketplace插件

    对于默认eclipse是没有marketplace插件的,但是marketplace确实是非常好用的,可以在上面下载各种插件. 1.Help-->Install new Software 2.输 ...

  8. 用C#开发一个 UWP BLUETOOTH BLE 扫描APP

    什么是WINDOWS UWP UWP即Windows 10 中的Universal Windows Platform简称.即Windows通用应用平台,在Win 10 Mobile/Surface(W ...

  9. bzoj2453

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2453 题目大意: (1)       若第一个字母为“M”,则紧接着有三个数字L.R.W.表 ...

  10. iOS 界面开发

    iOS 自动布局 iOS 界面 之 EALayout 无需反复编译,可视化实时界面,告别Storyboard AutoLayout Xib等等烦人的工具 iOS应用国际化教程(2014版) iOS开发 ...