NAT&Port Forwarding&Port Triggering

NAT

    Nat,网络地址转换协议。主要功能是实现局域网内的本地主机与外网通信。
    在连接外网时,内部Ip地址需要转换为网关(一般为路由器Ip地址)(端口号也需要相应的转换)
    如:QQ程序
    在一个局域网中,路由器(网关)WAN侧ip为200.0.0.123
     局域网三台计算机:计算机A 192.168.0.10, 计算机B 192.168.0.20, 计算机C 192.168.0.30
    分别登陆一个qq程序,在各自机子上,IP和Port分别为
     计算机A 192.168.0.10:4000, 计算机B 192.168.0.20:4000, 计算机C 192.168.0.30:4000
    但是本局域网只有一个公网ip即 200.0.0.123,因此三个qq域外网通讯据需要将ip转换为公网ip,相应地为了不使端口号冲突,Port号也需要进行转换。
    路由器(网关)通过NAT协议将3个qq程序转换为   计算机A  200.0.0.123 :4000, 计算机B  200.0.0.123 :4001, 计算机C  200.0.0.123 :4002,
    再接收到qq服务器发来的数据流失,再讲Port4000的发给A,Port:4001的发给B
    这就实现内网程序与外网的通讯。

Port Forwarding

          前面叙述了内网程序如何访问外网。但是如果在内网搭建了服务器,外网如何访问内网服务器呢? Port Forwarding提供了该功能。
          假设局域网有一ftp服务器在计算机上,可以通过 Port Forwarding设置,使得200.0.0.123接收到的ftp流入包均直接转发给计算机A,即数据包在内网的目的地址直接是:192.168.0.10:21。即外网直接通过200.0.0.123:21就可以访问计算机A上的ftp服务器。
            假设计算机A和B分别搭建了FTP服务器,端口号均为21.。。(局域网相关ip地址同上一例子)。  通过手动进行 Port Forwarding设置,指定计算机A的端口号映射为5050, 指定计算机A的端口号映射为5051。  这样外网要访问服务器A的ftp地址时,则使用 200.0.0.123:5050,访问服务器B的ftp: 200.0.0.123:5051
          

Port Triggering

          配置数据流出的端口(triggered port)和数据流出的端口(forwarded port)。
         使得外网流入 forwarded port的数据流均转向使用 triggered port的计算机。
         在 Port Forwarding仅有一个ftp服务器的例子中,可以设置计算机A(有ftp服务器)的端口为5050,然后配置 triggered port为5050, forwarded port为21,那流入port21的数据流就可以找到计算机A的ftp服务器。
         ——以上部分为个人理解,不保证准确。

转载于:https://www.cnblogs.com/Windeal/p/4284674.html

你可能感兴趣的:(NAT&Port Forwarding&Port Triggering)