内网的一台电脑要上因特网对外开放服务或接收数据。都须要port映射。port映射分为动态和静态。

动态port映射:内网中的一台电脑要訪问站点。会向NAT网关发送数据包。包头中包含对方站点IP、port和本机IP、port,NAT网关会把本机IP、port替换成自己的公网IP、一个未使用的port。而且会记下这个映射关系,为以后转发数据包使用。然后再把数据发给站点,站点收到数据后做出反应。发送数据到NAT网关的那个未使用的port。然后NAT网关将数据转发给内网中的那台电脑,实现内网和公网的通讯.当连接关闭时,NAT网关会释放分配给这条连接的port,以便以后的连接能够继续使用。

动态port映射事实上也就是NAT网关的工作方式。

静态port映射:就是在NAT网关上开放一个固定的port,然后设定此port收到的数据要转发给内网哪个IP和port,无论有没有连接。这个映射关系都会一直存在。

就能够让公网主动訪问内网的一台电脑。

NAT(Network Address Translation,网络地址转换)是将IP 数据包头中的IP 地址转换为还有一个IP 地址的过程。

在实际应用中。NAT 主要用于实现私有网络訪问公共网络的功能。这样的通过使用少量的公有IP 地址代表较多的私有IP 地址的方式。将有助于减缓可用的IP地址空间的枯竭。NAT的实现方式有三种,即静态转换Static
Nat、动态转换Dynamic Nat和port多路复用OverLoad。

静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址仅仅转换为某个公有IP地址。借助于静态转换。能够实现外部网络对内部网络中某些特定设备(如server)的訪问。

动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,全部被授权訪问上Internet的私有IP地址可随机转换为不论什么指定的合法IP地址。也就是说,仅仅要指定哪些内部地址能够进行转换,以及用哪些合法地址作为外部地址时,就能够进行动态转换。动态转换能够使用多个合法外部地址集。

ISP提供的合法IP地址略少于网络内部的计算机数量时。能够採用动态转换的方式。

port多路复用(Port address Translation,PAT)是指改变外出数据包的源port并进行port转换,即port地址转换(PAT,Port
AddressTranslation).採用port多路复用方式。内部网络的全部主机均可共享一个合法外部IP地址实现对Internet的訪问,从而能够最大限度地节约IP地址资源。同一时候,又可隐藏网络内部的全部主机,有效避免来自internet的攻击。因此,眼下网络中应用最多的就是port多路复用方式。

外网主机如何将数据包发送到共用一个公网IP的局域网某特定主机上的的更多相关文章

  1. Windows下底层数据包发送实战

    1.简介 所谓“底层数据包”指的是在“运行”于数据链路层的数据包,简单的说就是“以太网帧”,而我们常用的Socket只能发送“运行”在传输层的TCP.UDP等包,这些传输层数据包已经能满足绝大部分需求 ...

  2. 外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  3. 外网主机远程ssh局域网Linux

    最近,公司有台配置极高的主机盒子(i7,32G,512G),组长让我装上kali,平时渗透测试时可以用,其余时间归我了,这么高配置的机器,怎么舍得让它吃灰呢 .所以我就去研究了一下,如何远程访问局域网 ...

  4. 外网主机访问虚拟机下的web服务器(NAT端口转发)

    主机:系统win7,ip地址172.18.186.210 虚拟机:VMware Workstation 7,虚拟机下安装了Centos操作系统,ip地址是192.168.202.128,部署了LAMP ...

  5. 外网主机访问虚拟机下的web服务器(NAT端口转发)-----端口映射

    主机:系统win7,ip地址172.18.186.210 虚拟机:VMware Workstation 7,虚拟机下安装了Centos操作系统,ip地址是192.168.202.128,部署了LAMP ...

  6. 【求助】NdisSend,自定义数据包发送失败?

    做ndis hook的时候,自定义了一个数据包,包结构应该没有问题,填充NDIS_PACKET结构是这样的,先初始化:        NdisAllocatePacketPool(&nStat ...

  7. 网络数据包发送工具PacketSender中文源码

    在网上发现了一个好用的工具PacketSender,数据包发送器.对于写网络程序来说,有很大的便利性.虽然在linux下,netcat工具也很好用,但是这个也不错. 原本是英文的,给翻译了一下.这是基 ...

  8. WireShark抓包时TCP数据包出现may be caused by ip checksum offload

    最近用WireShark抓包时发现TCP数据包有报错:IP Checksum Offload,经过查阅资料终于找到了原因 总结下来就是wireshark抓到的数据包提示Checksum错误,是因为它截 ...

  9. 渗透利器-BadUSB 控制外网主机详解 Teensy2.0++

    准备工作 一块 Teensy2.0++ 的板子(淘宝一搜就有) Arduino编译器 1.8.7版本下载连接:arduino下载地址 Teensy插件 下载连接:Teensy下载地址 [外链图片转存失 ...

随机推荐

  1. USACO 2.1 Ordered Fractions

    Ordered Fractions Consider the set of all reduced fractions between 0 and 1 inclusive with denominat ...

  2. 4.QList

    #include "mainwindow.h" #include <QApplication> #include <QLabel> #include < ...

  3. ios中去除tableView的分割线

     self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

  4. 常用相关linux命令

    查看进程netstat -tnlp | egrep "(9097)" lsof -i:9097 ps -ef | grep kafka 观察句柄变化lsof -p $pid | w ...

  5. MongoDB在MacOS上的客户端Robo 3T 的简单使用(二)

    最近写了一个用node来操作MongoDB完成增.删.改.查.排序.分页功能的示例,并且已经放在了服务器上地址:http://39.105.32.180:3333. 本篇文章只做简单介绍,能够使用起来 ...

  6. Spark RDD概念学习系列之什么是Pair RDD

    不多说,直接上干货! 什么是Pair RDD (1)包含键值对类型的RDD被称作Pair RDD. (2)Pair RDD通常用来进行聚合计算. (3)Pair RDD通常由普通RDD做ETL转换而来 ...

  7. 实现SSRS订阅

    以前曾经搞过SSRS的订阅,使用的是公司的邮件服务器,最近QQ群中有妹子问到同样的问题,虽然没能帮人家搞定,下面写出自己参考的资料,以供各位参考: 一.订阅前准备工作(转载自http://blog.s ...

  8. C# MVC登录判断状态

    public class AuthenAdminAttribute:FilterAttribute,IAuthorizationFilter { public void OnAuthenticatio ...

  9. Python 之 PyCharm使用

    PyCharm  的官方网站地址是:https://www.jetbrains.com/pycharm/download/ 教育版:https://www.jetbrains.com/pycharm- ...

  10. HDU 1203 I NEED A OFFER!【01背包】

    解题思路:攒下的钱n相当于包的容量,然后是m个学校的申请费用,申请费用相当于每一个物品的消耗,得到offer的概率相当于每一个物品的价值. 因为要求的是至少得到一份0ffer的概率的最大概率,可以转化 ...