做热图的网站,网站导航条专门做页面跳转,电商网站设计与开发,设计咨询服务合同NAT技术 NAT 技术背景NAT IP转换过程NAPTNAT 技术的缺陷 NAT#xff08;Network Address Translation#xff0c;网络地址转换#xff09;技术#xff0c;是解决IP地址不足的主要手段#xff0c;并且能够有效地避免来自网络外部的攻击#xff0c;隐藏并保护网络内部的计算… NAT技术 NAT 技术背景NAT IP转换过程NAPTNAT 技术的缺陷 NATNetwork Address Translation网络地址转换技术是解决IP地址不足的主要手段并且能够有效地避免来自网络外部的攻击隐藏并保护网络内部的计算机。
NAT 技术背景
在IPv4协议中IP地址数量不足是一个大问题而NAT技术就是当前解决IP地址不够用的主要手段是路由器的一个重要功能。
在进行对外通信时NAT能够将私有IP经过一系列替换操作最终转为全局IP也就是说NAT是一种将私有IP和全局IP相互转化的技术方法。装有NAT软件的路由器叫做NAT路由器所有使用私有IP的主机在和外界通信时都要在NAT路由器上将其私有IP转换成全局IP。很多学校、家庭、公司内部每个终端设置的IP都是私有IP而只在路由器或必要的服务器上设置全局IP。全局IP要求唯一但是私有IP不需要在不同的局域网中出现相同的私有IP是完全不影响的。
NAT IP转换过程
假设某个局域网当中有三个客户端在公网中有一台服务器以客户端A访问服务器为例让我们看一下IP地址的变换过程。
注意 这里仅考虑的是只有一台客户端给服务器发报文的情况。 数据包从局域网到公网过程 首先 数据包当中的源IP地址就是主机A的IP地址目标地址为服务器的地址。然后数据包经过NAT路由器器时其中的源IP地址会被转换。也就是由LAN口IP地址转换为WAN口IP地址此时源IP地址和目的IP地址都是公网的IP地址。最后该数据包可能经过各种路由转发最终到达服务器主机 Lan口的IP地址是你本地的局域网的IP地址一般由路由器自动分配 wan口的 IP 地址是你的服务运营商在你联通Internet后分配给你的IP地址 数据包从公网到局域网的过程 服务器向主机A进行响应的过程也要进行相应的IP地址转换不过这次转换的是目的IP地址。
首先数据包当中包含了源IP地址和目的IP地址目的IP地址是WAN口IP地址然后可能经过互联网中的各种路由转发到达主机A所在局域网的NAT路由器时目的IP地址被转换由WAN口IP转换成了LAN口IP也就是主机A的私有IP地址。最后路由器就会将该数据包转发给局域网当中的主机A NAT路由器将源地址从10.0.0.10替换成全局的IP 202.244.174.37; NAT路由器收到外部的数据时, 又会把目标IP从202.244.174.37替换回10.0.0.10; 在NAT路由器内部, 有一张自动生成的, 用于地址转换的表; 当 10.0.0.10 第一次向 163.221.120.9 发送数据时就会生成表中的映射关系; NAPT
NAPTNetwork Address Port Translation即网络地址端口转换可以将多个内部地址映射为一个合法公网地址。
上面的情况都是局域网内只有一台主机访问外网的服务器如果局域网内, 有多个主机都访问同一个外网服务器, 那么对于服务器返回的数据中, 目的IP都是相同的. 那么NAT路由器如何判定将这个数据包转发给哪个局域网的主机?
这时候NAPT来解决这个问题了. 使用IPport来建立这个关联关系 比如局域网中主机A和主机B都在访问同一个服务器并且它们访问服务器时采用的端口号都是1025.
假设主机A发送的数据包先到达路由器此时路由器将数据包的源IP地址转化成WAN口IP地址由于端口号1025没有被使用所以在转换表中维护了源IP地址和端口号所对应的映射关系。当主机B发送的数据包也到达路由器后路由器将数据包的源IP地址转化成WAN口IP地址由于端口号1025被主机A使用了所以端口号使用1026转换表中维护了源IP地址和端口号所对应的映射关系。 这张转换表每一个元素从左到右从右到左的映射关系都是唯一的。
当服务器接收到主机A报文和主机B的报文时虽然源IP地址都是一样的但是转换表中的映射的端口号不一样服务器就能区分哪一个报文是主机A发的哪一个是主机B发的。当服务器要给客户端进行响应时虽然再经过路由器转换后IP地址都是一样的但是路由器可以端口号的不同来决定这次响应该转发给谁。 这种关联关系也是由NAT路由器自动维护的. 例如在TCP的情况下, 建立连接时, 就会生成这个表项; 在断开连接后, 就会删除这个表项 NAT 技术的缺陷
由于NAT依赖这个转换表, 所以有诸多限制: 无法从NAT外部向内部服务器建立连接NAT穿透技术可以做到; 装换表的生成和销毁都需要额外开销; 通信过程中一旦NAT设备异常, 即使存在热备, 所有的TCP连接也都会断开;