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. 使用.NET Core和Vue搭建WebSocket聊天室

    博客地址是:https://qinyuanpei.github.io.  WebSocket是HTML5标准中的一部分,从Socket这个字眼我们就可以知道,这是一种网络通信协议.WebSocket是 ...

  2. Greatest Common Increasing Subsequence

    /*HDU1423 最长公共递增*/ #include <stdio.h> #include <string.h> #include <iostream> usin ...

  3. libevent库介绍--事件和数据缓冲

    首先在学习libevent库的使用前,我们还要从基本的了解开始,已经熟悉了epoll以及reactor,然后从event_base学习,依次学习事件event.数据缓冲Bufferevent和数据封装 ...

  4. 详解WIFI破解-Kali篇

    转自: http://www.secbox.cn/hacker/wireless/4877.html 工具: 1:笔记本 2:USB无线网卡(必备) 3:kali系统 4:靠谱字典 第一种方法: 暴力 ...

  5. [转][修]C清空输入缓冲区

    为何要清空输入缓存区     读取时输入缓冲区中的内容会被scanf函数逐个取走,正常case下scanf()函数可以根据返回值判断成功取走的数目:但当发生读取异常之后,输入缓冲区中的内容并未被取走, ...

  6. NOIP2015 T4 推销员 贪心+堆优化

    前几天在学堆,这个数据结构貌似挺简单的,但是我看了很久啊QAQ... 今天算是搞懂了吧...于是想到了这道题...(当初悄悄咪咪看题解记得一点) 点我看题 放洛谷的题... 题意的话,大概就是有n个房 ...

  7. spark SQL学习(spark连接 mysql)

    spark连接mysql(打jar包方式) package wujiadong_sparkSQL import java.util.Properties import org.apache.spark ...

  8. 如何查看一个进程打开哪些fd及对应的文件或套接字操作

  9. Maven 一段时间知识小结2

    父 Pom.xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>s ...

  10. Python基础笔记系列十一:标准输入输出、文件读写和指针等操作

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 标准输入输出一.输入 在sublime中这个时候需要安装SublimeRE ...