什么是公网私网内网外网

在Internet没有形成之前,各个地方已经建立了很多小型的网络,称为局域网。Internet的中文意义是”互联网”,它实际上就是将全球各地的局域网连接起来而形成的一个”可以互相连接的网络(即互联网)”。然而,在连接之前的各式各样的局域网却存在不同的网络结构和数据传输规则,将这些小网连接起来后各网之间要通过什么样的规则来传输数据呢?这就像世界上有很多个国家,各个国家的人说各自的语言,世界上任意两个人要怎样才能互相沟通呢?如果全世界的人都能够说同一种语言(即世界语),这个问题不就解决了吗?TCP/IP协议正是Internet上的”世界语”。而IP地址就是TCP/IP协议所规定的”门牌号码”。

所谓IP地址其实是基于TCP/IP的理论所规定的网络地址。TCP/IP(Transmission Control Protocol/Internet Protocol的简写,中文译名为传输控制协议/互联网络协议)协议是Internet最基本的协议,简单地说,就是由底层的IP协议和TCP协议组成的。TCP/IP是国际上通用的网络协议,也是用于互联网的第一套协议,也正因为有了TCP/IP标准,世界各地的电脑等设备能够链接到互联网上,并互相访问及共享资源

再者,我们大多人都是使用宽带上网,结果发现,A 和 B 的局域网 IP 都是192.168.31.11,当他们都访问百度浏览网页时,百度服务器回复数据时,如何区分是给 A 还是给 B 呢?

一文了解,公网(外网)、私网(内网)的原理,so easy

一、公有 IP 和私有 IP 的区别

首先,我们需要了解一下什么是公有 IP 和私有 IP ?

公有地址(Public address):由 Inter NIC(Internet Network Information Center 因特网信息中心)负责。这些 IP 地址分配给注册并向Inter NIC提出申请的组织机构,公有 IP 全球唯一,通过它直接访问因特网(直接能上网)。

私有地址(Private address):属于非注册地址,专门为组织机构内部使用,说白了,私有 IP 不能直接上网。

而我们平时通过运营商(电信、移动、联通宽带等)上网,家里面通过路由器分出来的 IP 都是私有 IP(局域网 IP),大家可能会疑问,我们可以上网啊,怎么会是私有 IP 呢?

租用(申请)公有 IP 是需要钱的。 运营商买了一些公有 IP,然后通过这些公有 IP 分出来,再分给一个一个的用户使用。这个过程有点类似于,我们去安装了宽度,通过路由器分出几个 IP,让好几个人都能上网,当然运营商通过公有 IP 分出来的过程肯定比这个复杂多了。所以,我们平时上网用的 IP 是私有 IP,真正拥有公有 IP 的是运营商(当然,我们可以租用一个公有 IP )。所以,A 家庭的局域网 IP 和 B 家庭的局域网 IP 相同很正常,但是,最终 A 和 B 能上网(数据走出去)还是通过运营商的公有 IP,毕竟,公有 IP 的资源有限,这一片区域的用户使用的很有可能(实际上就是这样的)是同一个公有 IP,这样的话,又回到前面的问题,假如 A 和 B 的局域网 IP 相同(192.168.31.11),当他们同时访问百度服务器的时候,百度服务器如何区分哪个是 A,哪个是 B 呢?

一文了解,公网(外网)、私网(内网)的原理,so easy

二、端口映射

1、方法一视角

接下来,给大家介绍一下什么是端口映射?

端口映射是 NAT 的一种,它将外网主机的 IP 地址的一个端口映射到内网中一台机器,提供相应的服务。当用户访问该 IP 的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。

现在市场上的家庭路由器都具备 NAT 功能,也可以实现端口映射。下图为小米路由器的端口映射设置图:

一文了解,公网(外网)、私网(内网)的原理,so easy

我们平时经过路由器,通过宽带,最终去到运营商那边,数据是从运营商出去,最终数据是回到运营商那边,运营商再把数据发送到用户的电脑。

路由器,至少有两个端口:WAN 口和 LAN 口。

WAN:接外部 IP 地址用,通常指的是出口,转发来自内部 LAN 接口的 IP 数据包,这个口的 IP 是唯一的。

LAN:接内部 IP 地址用,LAN 内部是交换机。

这里,我们简化这个过程,我们把运营商当做一个 NAT 设备。

一文了解,公网(外网)、私网(内网)的原理,so easy

为了方便大家理解,我们把 IP 的转化方向反过来分析(准确来说,公网转局域网)。

A 电脑的 IP 是局域网 IP(192.168.31.11),这个 IP(192.168.31.11)是从路由器的 lan口分配的。

当我们上百度的时候,经过路由器的 wan口,进行相应的IP、端口转化:192.168.31.11:80 -> 10.221.0.24:8080,所以,从 wan口出去的地址为:10.221.0.24:8080。

一文了解,公网(外网)、私网(内网)的原理,so easy

最后,经过运营商,运营商那边会做相应的端口映射(而且是动态端口映射),子网 IP(10.221.0.24:8080)转化为公网 IP(128.0.0.1:8888),通过这个公网 IP 去访问百度服务器。

一文了解,公网(外网)、私网(内网)的原理,so easy

同理,B 的过程也是一样。通过这样的层层端口映射,最终保证地址(IP + 端口)的唯一性。A 和 B 访问百度服务器,尽管它们的局域网 IP 是一样的,但是最终它们访问百度的地址(IP + 端口)是唯一的,所以,百度服务器回复时,原路返回时能够区分到底给谁回。

2、方法二视角

一对一的基本NAT地址转换原理:

一文了解,公网(外网)、私网(内网)的原理,so easy

内部网络的地址是192.168.0.0网段,而对外的公有网络IP地址是203.196.3.23。内部网络财务部主机192.168.8.88访问外部网络新浪网(IP222.76.214.60),主机192.168.8.88发出一个数据报文,随机选择一个源端口4396,目的端口为80。在经过NAT设备后,该报文的源地址和端口可能改为203.196.3.23:32814,目的地址与端口不改变。在NAT设备中维护着一张地址和端口对应转换表,当外部网络的新浪网服务器返回数据包时,NAT设备检查转换表,将数据报文中目的IP地址及端口转化为192.168.8.88:4396。

这个交换的过程,实现了内部主机访问外部服务器,这样只要少量的公网IP地址就可以实现内网多台主机访问外部网络的过程,当然有些朋友注意到了,外网服务器由始至终都不知道是内网里哪台主机访问了它。地址转换NAT的有点在于,在为内部主机提供”隐私”保护的前提下,实现了内部网络的主机通过该功能访问外部网络资源的目的。

同理,如果NAT Router后面是若干台服务器,外部网络的访问者Client只需通过公网IP地址访问,不知道服务器内网IP和开放端口是什么,提高安全性。

多对一的NAT地址转换(NAPT)原理

一文了解,公网(外网)、私网(内网)的原理,so easy

当内部网络的多台主机并发地要求访问外部网络时,则一对一地址转换肯定满足不了要求。这是就要用到NAT的一种变形——NAPT网络地址端口转换,或地址复用。通过NAPT,一个合适的外部地址(203.196.3.23)就可以被多个内部用户(财务部、技术部和业务部)并发地访问外部网络资源,只要使用这个外部地址(203.196.3.23)不同的端口就行。

三、如何让外网能够访问自己写的网络程序(服务器)

首先,我们需要在运营商那边申请(租用)一个公有 IP (长城宽带一年需要 2000 元左右),假如这个公有 IP 为:128.0.0.123。

假如,我们写的服务器如下:

一文了解,公网(外网)、私网(内网)的原理,so easy

接着,找个 NAT 设备进行相应的端口映射,家庭路由器都有这个功能。这里以小米路由器为例:

一文了解,公网(外网)、私网(内网)的原理,so easy

映射关系如下:

一文了解,公网(外网)、私网(内网)的原理,so easy

最后,其他人写客户端程序时(电脑能上外网),只要指定目的 IP 地址为 128.0.0.123,端口为 8888,通过这个地址,就能找到192.168.31.248:8080,因为这两者已经建立好映射,如上图,这样,我们的服务器就能收到数据。

总结NAT的作用有:

1.节约IP地址,内部网络可以使用私有IP和外部网络通信;

2.增强了内部网络和外部网络通信的灵活性。

3.隐藏内部网络的细节,避免来自网络外部的端口扫描等指向攻击,可以起到一定的安全作用。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2023年 7月 2日 下午1:38
下一篇 2023年 7月 2日 下午1:44

相关推荐

  • 灵活就业人员线上医保缴费指南,灵活就业人员医保线上怎么缴费

    目前 武汉市灵活就业人员 可选择在协作银行 通过每月自动划扣的方式 缴纳职工医保费(含大额医保) 医保费什么时候批扣? 医保费批扣为什么不成功? 别担心,看这里 灵活就业人员缴纳职…

    2023年 3月 27日
  • 快播是怎么消失的啊,王者荣耀快播消失了怎么办

    突然想到快播这个学生时期用过的视频软件,只知道当时一夜之间就被封了,没有细究, 既然想起来了,就顺便查了一下他消失的原因。 针对这个问题,首先,我们应该了解一下快播这个概念。 什么…

    互联网 2023年 7月 6日
  • cdlinux破解WiFi详细教程

    今日主题:如何破解WIFI 准备工具 •笔记本一台 •usb无线网卡【我用的是小米的】 •kali系统【可以在虚拟机里装,建议用2019年及以下版本 VMware Workstat…

    2023年 9月 7日
  • tiktok英国小店入驻(tiktok英国小店购买哪种英国卡)

    大家好,我是短视频疯人院的李社长,这是我专注研究TikTok等海外短视频运营的第667天,我系写文章,不追求数量,但力求每篇能带给大家一些帮助和启发。 上周写完《TikTok英国跨…

    2023年 6月 9日
  • stm32 cube单片机编程入门

    通过cube建立工程 RCC设置为外部晶振 高速晶振对应的引脚会亮起 进入clock configuration进行时钟配置,输入频率8M盒子 PLL Source Mu改为使用外…

    2023年 4月 21日
  • 12306为什么不能帮别人买票

    为什么无法帮别人买票?审核状态为什么显示待核验无法买票?手机号怎么核验?在12306上购票,大家有不少问题需要解答,其实不麻烦,手把手教您操作! 乘车人身份信息核验 添加乘车人后,…

    2022年 12月 25日
  • 网易有道词典怎么导入自己的单词

    近日,网易有道词典携手广东省钟南山医学基金会、电影《中国医生》,首次公开发布医疗健康单词本,打造具有权威性的医疗主题双语词单,规范医疗热门词汇的译法,从多语言视角讲述疫情防控的“中…

    2022年 12月 24日
  • 美团打车为什么那么便宜

    [闽南网] 3月21日消息,美团打车昨日在上海上线,上线当天即遭到上海市交通委、市公安局、市价检局联合约谈。对此,美团打车回应,将按照上海网约车和巡游车管理的相关法规,积极落实有关…

    互联网 2023年 3月 13日
  • 百度知道问答怎么赚钱(百度问答如何做引流推广)

    百度问答引流方法 百度知道问答推广怎么做 媒介星新闻媒体营销平台以资源+软文撰写+技术的方式让发稿更简单高效!为企业提供一站式品牌传播、媒体报道、软文推广,新闻源发布,自媒体发稿,…

    互联网 2023年 6月 28日
  • 微信手持弹幕怎么玩 从手持弹幕小程序中进入

    微信是一款手机必备的聊天软件,现在很多伙伴都在使用这款软件,最近有伙伴发现了一款手持弹幕小程序,那么微信手持弹幕怎么玩?来看看微信手持弹幕玩法教程! 微信手持弹幕玩法教程: 打开微…

    2022年 12月 18日