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服务器。
        ——以上部分为个人理解,不保证准确。

NAT&Port Forwarding&Port Triggering的更多相关文章

  1. NAT&Port Forwarding&Port Triggering

    NAT     Nat,网络地址转换协议.主要功能是实现局域网内的本地主机与外网通信.     在连接外网时,内部Ip地址须要转换为网关(一般为路由器Ip地址)(port号也须要对应的转换)     ...

  2. 路由器port触发与转发---Port Forwarding & Port Triggering

    What is Port Triggering? If you have not read my explanation of port forwarding do so now. You can f ...

  3. How to do SSH Tunneling (Port Forwarding)

    How to do SSH Tunneling (Port Forwarding) In this post we will see how ssh works?, what is SSH tunne ...

  4. How To Set Up Port Forwarding in Linux

    Port forwarding usually used when we want our computer act like a router. Our computer receive the p ...

  5. Port Forwarding in Windows

    转自:http://woshub.com/port-forwarding-in-windows/ Since Windows XP there is a built-in ability in Mic ...

  6. OpenSSH高级功能之端口转发(Port Forwarding)

    在RedHat提供的系统管理员指南中提到OpenSSH不止是一个安全shell,它还具有X11转发(X11 Forwarding)和端口转发(Port Forwarding)的功能.X11功能一般用于 ...

  7. Port forwarding with xinetd Ask

    https://stackoverflow.com/questions/21716673/port-forwarding-with-xinetd --------------------------- ...

  8. 使用Port Forwarding连接k8s集群的pod(redis、mysql等)

    一. 创建Redis的deployment和service 1. 创建Redis deployment redis-master-deployment.yaml  apiVersion: apps/v ...

  9. 端口转发 Port Forwarding (一)

    0x00First 最近发现一些好用的端口转发工具和技巧,计划认真梳理一下 SSH.NC.LCX.EW.FRP 0x01 SSH隧道端口转发 目前利用SSH隧道(SSH tunneling)进行端口转 ...

随机推荐

  1. Ubuntu16.04安装MySQLdb

    buntu 系统下进行的操作 首先安装了pip工具 1 sudo apt-get install python-pip 然后使用 1 sudo pip install mysql-python   安 ...

  2. presto + slider 提交计算至yarn

    10.112.28.240 prestocli 10.183.225.158 perstoser hive-site.xml useUnicode=true&characterEncoding ...

  3. 20145327 《Java程序设计》第九周学习总结

    20145327 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作,开发人员无需接触底层 ...

  4. 20135302魏静静——linux课程第八周实验及总结

    linux课程第八周实验及总结 实验及学习总结 1. 进程切换在内核中的实现 linux中进程切换是很常见的一个操作,而这个操作是在内核中实现的. 实现的时机有以下三个时机: 中断处理过程(包括时钟中 ...

  5. 什么是“QQ登录OAuth2.0”

    1. 什么是“QQ登录OAuth2.0 OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他 ...

  6. linux 搭建Java环境

    一.下载jdk/jre文件 下载链接 二.安装Java环境 1.解压文件到     /usr/java    目录 # tar zxvf jre-8u60-linux-x64.gz 2.配置环境变量 ...

  7. 安装配置mariadb-10.1.19

    本文参考:http://chenzehe.iteye.com/blog/1266260  感谢原作者的分享! 首先安装/更新一些编译时会用到的基础包 [root@localhost local]# y ...

  8. intellij idea rearrange code

        reformat code的时候,无法将filed放在method前边,很恶心. 那么先去

  9. mybatis缓存有关的设置和属性

    知识点:mybatis缓存相关的设置和属性 重点:每次执行增删改操作后,一二级缓存被清空,是因为标签设置默认属性为 flushCache="true" (1) <!-- 全局 ...

  10. 【jdk源码分析】java多线程开启的三种方式

    1.继承Thread类,新建一个当前类对象,并且运行其start()方法 package com.xiaostudy.thread; /** * @desc 第一种开启线程的方式 * @author ...