博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络地址转换NAT
阅读量:5254 次
发布时间:2019-06-14

本文共 1289 字,大约阅读时间需要 4 分钟。

基本网络地址转换 (Basic NAT)

这一种也可称作NAT或“静态NAT”。它在技术上比较简单一点,仅支持地址转换,不支持端口映射,这就需要对每一个当前连接都要对应一个IP地址,因此要维护一个公网的地址池。宽带路由器通常使用这种方式来允许一台指定的计算机去接收所有的外部连接,甚至当路由器本身只有一个可用外部IP时也如此,这台路由器有时也被标记为DMZ主机。

基本NAT要维护一个NAT表,结构如下。

内网IP 外网IP
192.168.1.55 219.152.168.222
192.168.1.59 219.152.168.223
192.168.1.155 219.152.168.224

网络地址端口转换(NAPT)

这种方式支持端口的映射并允许多台主机共享一个公用IP地址。

支持端口转换的NAT又可以分为两类:源地址转换和目的地址转换NAT ,前者主要用于内网访问外网,后者用于外网访问内网。前一种情形下发起连接的计算机的IP地址将会被重写,后一种情况下被连接计算机的IP地址将被重写。实际上,以上两种方式通常会一起使用以支持双向通信。

NAPT也要维护一个NAT表,结构如下。

内网IP 外网IP
192.168.1.55:5566 219.152.168.222:9200
192.168.1.59:80 219.152.168.222:9201
192.168.1.59:4465 219.152.168.222:9202

选自:

工作原理

    当内部网络上的一台机器要与互联网上的一台机器通信,发一个IP数据包到该外网机器。这些数据包包含了需要到达目的地的所有的寻址信息。NAT关注的是这些信息:

    源IP地址(例如,192.168.1.35)

    源TCP或UDP的端口(例如,2132)

    当数据包通过NAT网关,他们将被修改,使它们看起来像来自NAT网关本身。NAT网关将这种变化记录在状态表,以便返回的数据包通过防火墙不被阻塞。例如,下面的更改可能会:

    源IP:替换外部网关地址(例如,24.5.0.5)

    源端口替换为一个随机选择的,在网关上未使用的端口(例如,53136)
    无论是内部的机器或Internet上的主机是不知道这些翻译步骤的。对内部机器而言,NAT系统是一个简单的Internet网关。对于Internet上的主机而言,数据包看起来直接来自NAT系统,它完全不会意识到内部工作站的存在。

    当Internet上的主机应答数据包给内部机器时,这些包的目的地址会是NAT网关系统的外部IP地址(24.5.0.5)和翻译端口(53136)。然后NAT网关将搜索,以确定应答报文是否匹配一个已建立的连接状态表。基于IP/端口组合的唯一匹配如果被发现,就会告诉PF,这些数据包属于内部主机192.168.1.35发起的连接。 PF然后进行相反的变化,将应答报文送到内部机器。

    翻译的ICMP数据包以类似的方式发生,但没有修改的源端口。

    出处:

转载于:https://www.cnblogs.com/JCSU/articles/2801984.html

你可能感兴趣的文章
actor运行报错:java.lang.ClassNotFoundException
查看>>
Eclipse PHPEclipse 配置
查看>>
关于BigDecimal的四舍五入和截断 (转)
查看>>
VB刷网页程序(VB+DOS)
查看>>
LeetCode 153. Find Minimum in Rotated Sorted Array
查看>>
Xdebug在PHP中的安装配置
查看>>
JS实现select去除option的使用注意事项
查看>>
00085_异常
查看>>
ruby 方法(2)
查看>>
Python遍历列表删除多个元素或者重复元素
查看>>
jQuery内部原理和实现方式浅析
查看>>
windows共享虚拟机ubuntu目录
查看>>
常用SQL查询语句
查看>>
Python包管理工具setuptools详解及entry point
查看>>
ADB WiFi连接手机
查看>>
Centos7源码安装MySQL5.7
查看>>
no matter相关
查看>>
JVM初始化类契机
查看>>
[源计划] arr-diff
查看>>
5.抽象工厂模式-abstractfactory
查看>>