zoukankan      html  css  js  c++  java
  • NAT(NAPT)地址转换过程

    整理自NAT地址转换过程

    
    
    注:本文实质讲的是NAPT(Network Address Port Translation),即网络端口地址转换。NAPT与动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP端口号。NAPT算得上是一种较流行的NAT变体,通过转换TCP或UDP协议端口号以及地址来提供并发性。除了一对源和目的IP地址以外,这个表还包括一对源和目的协议端口号,以及NAT盒使用的一个协议端口号。
            说简单点就是在NAT的基础上增加了一个端口号,使原来单纯的IP地址之间的映射转变为端口的映射,可以使一个公网IP对应多个内网IP,这样内网IP的数量就可以不受限制了。
    
    
    过程:

    1. 客户机将数据包发给运行NAT的计算机。
    2. NAT主机将数据包中的源端口号和源私有IP地址转换成自己的端口号和公网的IP地址,然后将数据包发给外部网络的目的主机。
    3. NAT主机记录一条跟踪信息在地址转换映像表中,以便向客户机发送响应信息。
    4. 外部网络发送回送信息给NAT主机。
    5. NAT主机根据映像表中的记录,将所收到数据包的端口号和公用IP地址转换成目标主机的端口号和内部网络中目标主机的专用IP地址,并转发给目标主机。

    举例:

    内网机器(192.168.0.5) 访问目标主机(220.181.28.42)


    1、客户机发送数据包

    目的主机 220.181.28.42
    目的端口 80
    源主机 192.168.0.5         (内网的私有IP)
    源端口 1025                  (随机打开)

      
    2、进行地址转换

    目的主机 220.181.28.42

    目的端口 80

    源主机 218.22.192.21  (NAT服务器的公网IP)

    源端口 5000                (随机打开)

      
    3、记录映像

    192.168.0.5 tcp 1025 ----- 218.22.192.21 tcp 5000

      
    4、外部网络主机向NAT主机发送响应信息

    目的主机 218.22.192.21

    目的端口 5000

    源主机 220.181.28.42

    源端口 80

      
    5、查找映像关系将数据包发给客户机

    目的主机 192.168.0.5

    目的端口 1025

    源主机 220.181.28.42

    源端口 80

  • 相关阅读:
    Commons.net FTPClient 上传文件
    C盘空间不够,清除VS下的 Font Cache
    Redis 密码设置
    Window bat expdp 定时任务逻辑备份 定时删除N天前的旧文件
    Windows下修改Oracle默认的端口1521
    Intellij idea 乱码问题(英文操作系统)
    给VMware下的Linux扩展磁盘空间(以CentOS6.3为例)转
    TortoiseSVN and TortoiseGit 版本控制图标不见了
    R语言中字符串的拼接操作
    SparkR:数据科学家的新利器
  • 原文地址:https://www.cnblogs.com/noble/p/4144243.html
Copyright © 2011-2022 走看看