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. Ubuntu中安装Flask模块

    pip3 list——python3下安装的***** #如果列表没有flask pip3 install flask即可

  2. 设置HTML5的video播放速度

    var speed = 1.5;//设置速度 var vdo = document.getElementById("视频的id");//获取id vdo.playbackRate ...

  3. Django框架搭建(windows系统)

    Django框架搭建(windows系统) 一.Django简介 开放源代码的Web应用框架,由Python语言编写,一个大而全的框架. 1.web框架介绍 具体介绍Django之前,必须先介绍WEB ...

  4. 20145335郝昊《java程序设计》第9周学习总结

    20145335郝昊 <Java程序设计>第9周学习总结 教材学习内容总结 第16章 JDBC(Java DataBase Connectivity)即java数据库连接,是一种用于执行S ...

  5. nmap与Nessus扫描特定靶机分析

    打开装载Metasploitable2虚拟机的靶机,并获取靶机ip: 使用nmap+ip初步扫描靶机 PORT为端口,STATE为端口开放状态,SERVICE为端口的提供的服务.靶机的MAC地址为: ...

  6. 谈谈let与const

    let 命令 let命令用于声明变量,但是与传统var命令的不同之处在于拥有以下特性: 使用let命令声明的变量只在let命令所在的代码块内有效(我将之称为变量绑定): 不存在变量提升: 存在暂时性死 ...

  7. Windows下才有blat进行命令行邮件发送

    1.先下载blat.exe文件,下载地址: https://sourceforge.net/projects/blat/files/ 2.解压后只需要blat.exe即可,进入此文件夹,运行如下脚本进 ...

  8. Lucene 的 Scoring 评分机制

    转自: http://www.oschina.net/question/5189_7707  Lucene 评分体系/机制(lucene scoring)是 Lucene 出名的一核心部分.它对用户来 ...

  9. VS2012 QT5.2.0 无法解析的外部符号

    背景:在新建QT工程时,可能没有选择一些库,虽然在头文件中引用了,但是程序依然无法识别 现象:一般出现"LNK2019"错误. 解决:以网络为例,在VS2012中加入网络库,分为两 ...

  10. Python基础笔记系列九:变量、自定义函数以及局部变量和全局变量

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 变量在前面的系列中也许就可以发现,python中的变量和C中的变量有些许不 ...