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

NATPort ForwardingPort Triggering相关推荐

  1. Port Forwarding Port Triggering

    2019独角兽企业重金招聘Python工程师标准>>> 在使用NAT的网络中,内部终端的IP地址为私网地址,发出去的IP包在NAT网关处进行地址转换,以公网地址与外部联系.在转换过程 ...

  2. Presto日志中出现大量的Triggering GC to avoid Code Cache eviction bugs

    问题描述: Presto日志中出现大量的 2017-07-31T15:31:21.505+0800 INFO Code-Cache-GC-Trigger com.facebook.presto.ser ...

  3. React的render不是纯函数? triggering nested component updates from render is not allowed

    "Warning: Render methods should be a pure function of props and state; triggering nested compon ...

  4. 3GPP TS 23501-g51 中英文对照 | 4.4.5 Application Triggering Services

    个人在学习5G标准3GPP TS 23501-g51过程中,也发现google的机器翻译实在晦涩难懂,所以个人在借助百度翻译(中国人更懂中文)的同时,人工对每句话进行了校对. 在自己学习的同时,也将翻 ...

  5. ajax判断成功状态码,Ajax返回状态码200,成功函数不触发(Ajax returns status code 200, success function not triggering)...

    Ajax返回状态码200,成功函数不触发(Ajax returns status code 200, success function not triggering) 关于这一点有很多话题,但没有一个 ...

  6. Third1: Basic Web applications BASIC NFS services triggering mount | Cloud computing

    云计算专题目录 Catalogue | Cloud computing Third1: Basic Web applications & BASIC NFS services & tr ...

  7. 论文笔记| The Emergence, Advancement and Future of Textual Answer Triggering

    作者:李瑾 单位:燕山大学 论文地址 目录 一. Dataset 二. Robust Methods and Strategies 三. Major Challenges with Plausible ...

  8. Port Triggering

    Port Triggering Port Triggering,是指当Outbound的流来自指定的内网端口(triggered port),自动打开网关WAN侧接口的指定端口(forwarded p ...

  9. How is setModel triggering propery binding

    Created by Wang, Jerry, last modified on Apr 27, 2015 要获取更多Jerry的原创文章,请关注公众号"汪子熙":

最新文章

  1. R语言包_dplyr_1
  2. 微软和谷歌的人工智能,在SuperGLUE基准测试中超越了人类
  3. eclipse spring boot项目搭建_spring-boot-plus项目配置文件(四)
  4. 局部刷新时间 jsp_局部区块多个报表 TAB 页切换及局部区块的参数查询
  5. 将一张表里的数据转换为json字符串
  6. wxWidgets:wxDataObjectComposite类用法
  7. 同时存多个变量缓存 微信小程序_CPU缓存一致性协议MESI,memory barrier和java volatile...
  8. 计算机二级考试c语言公共基础知识,全国计算机二级c语言公共基础知识考试内容.doc...
  9. leetcode —— 909. 蛇梯棋
  10. (98)FPGA时序裕量
  11. android系统性能优化(63)---Android APP 卡顿问题分析及解决方案
  12. python 点击按钮 click_用selenium和Python单击“onclick”按钮
  13. 【算法】剑指 Offer 45. 把数组排成最小的数 【重刷】
  14. ECS 还是轻量应用服务器,看完评测你就知道了?
  15. js map遍历 修改对象里面的值_前端面试之你必须要懂的原生JS
  16. Web前端开发 -- HTML基础(2)
  17. 白盒测试-条件组合覆盖
  18. 很多网友问那个磁力搜索站好用,就由本君说说吧!
  19. 系统学习机器学习之特征工程(一)--维度归约
  20. c语言 自动计时的秒表,c语言实现的简单秒表计时器

热门文章

  1. python做个抢购器语言,一起开发苏宁的抢购脚本项目,语言用Python,支持Linux和Windows...
  2. MFC下改变窗口或编辑框标题字体大小的方法
  3. Android API 29 百度步行导航语音tts集成
  4. 4年小Java的心路历程,绝对干货分享
  5. W806 基于Arduino开发的GPIO操作示例,勇于尝新
  6. python中的随机数种子seed()
  7. linux 服务器加装硬盘流程及sda sdb加载顺序
  8. 通俗理解LDA主题模型(转)
  9. jdk groovy版本_Groovy JDK(GDK):日期和日历
  10. iOS系统日历多了莫名其妙的事项