莘羽科技资讯网
首页 > 数码 > 一篇文章搞懂 内网和外网到底怎么通讯

一篇文章搞懂 内网和外网到底怎么通讯

一篇文章搞懂 内网和外网到底怎么通讯?

本文原创作者:原理君(cpp软件架构狮)

头条号:底层软件架构(cpp软件架构狮)

公众号:技术原理君

对于我们网络开发的人员来说,经常会用到TCP,UDP协议,但是通常情况下,是在局域网内的协议互动通讯。可你们有想过吗?如果是涉及到内网和外网的互动呢?也就是说局域网和公网是怎么 互动呢?

假设有两台主机A和B,他们分别处于不同的局域网下,他们的局域网IP都是192.168.1.2。在同一个时刻,他们都访问百度服务器,那作为百度服务器是怎么分别回复这两台主机的呢?或者是服务器怎么区分A和B呢?

公网 IP 和私有 IP 的区别

我们先来了解一下公网IP和私有IP的概念。

公有地址(Public address):由 Inter NIC(因特网资讯中心)负责。这些 IP 地址分配给注册并向Inter NIC提出申请的组织机构,公有 IP 全球唯一,通过它直接访问因特网(直接能上网)。主要有A、B、C、D、E五类地址:

A类:地址范围是1.0.0.0 到 127.255.255.255,主要分配 给大量主机而局域网网络数量较少的大型网络;B类:地址范围是128.0.0.0 到191.255.255.255,一般用于国际性大公司和-机构;C类:地址范围是192.0.0.0 到223.255.255.255,用于一般小公司校园网研究机构等;D类:地址范围是224.0.0.0 到 239.255.255.255,用于特殊用途,又称做广播地址;E类:地址范围是240.0.0.0 到255.255.255.255,暂时保留。私有地址(Private address):属于非注册地址,专门为组织机构内部使用,说白了,私有 IP 不能直接上网。主要有A、B、C三类,A类地址范围是10.0.0.0-10.255.255.255 ,B类地址范围是172.16.0.0-172.31.255.255,C类地址范围是192.168.0.0-192.168.255.255。

127.0.0.0 到127.255.255.255 为系统环回地址。

而我们平时通过运营商(主要是电信、移动、联通宽频等)上网,通过家用路由器之后,就会变成私有IP,大家可能会疑问,我们可以上网啊,怎么会是私有 IP 呢?

其实我们不是通过私有IP上网的,是通过公有IP。通俗的讲,运营商有公有IP,但是IPV4下IP资源有限,所以这些IP不能每个人分配单独分配一个IP,所以需要动态给上网的使用者。 这个过程有点类似于,我们买了一些笔,然后将这些笔分给全班学生使用,当然执行商动态分配公有IP的过程比这个复杂多了。

所以A和B的IP相同是很正常的一件事情,但是对于百度服务器来说,它并不关心对方的私有IP是什么,它也不知道,它只知道访问它的肯定是公有IP。

那问题来了,还是老问题,既然最终访问百度服务器是公有IP,那A和B私有IP到公有IP的转换怎么完成的呢?当他们同时访问百度服务器的时候,百度服务器如何区分哪个是 A,哪个是 B 呢?

埠对映

在讲原理之前我们先了解一个概念,埠对映?

埠对映是将一台主机的内网(LAN)IP地址对映成一个公网(WAN)IP地址,当用户访问提供对映埠主机的某个埠时,服务器将请求转移到本地局域网内部提供这种特定服务的主机;利用埠对映功能还可以将一台外网IP地址机器的多个埠对映到内网不同机器上的不同埠。 埠对映功能还可以完成一些特定代理功能,比如代理POP,SMTP,TELNET等协议。理论上可以提供65535(总埠数)-1024(保留埠数)=64511个埠的对映。思路:既然埠对映可以将一台外网 IP 地址机器多个埠对映到内网中不同机器上的不同埠。那当用户访问外网 IP 的这个埠时,服务器自动将请求对映到对应局域网内部的机器上。

比如,我们在内网中有一台主机,但是外网中的使用者是没有办法直接访问该服务器的。于是我们可以在路由器上设定一个埠对映,只要外网使用者访问路由器ip的80埠,那么路由器会把自动把流量转到内网主机的80埠上。并且,在路由器上还存在一个Session,当内网服务器返回资料给路由器时,路由器能准确的将讯息传送给外网请求使用者的主机。在这过程中,路由器充当了一个反向代理的作用,他保护了内网中主机的安全。

我们平时上网的过程就是先经过路由器,然后通过宽频,最终通过运营商的转换最终到web服务器的,返回的资料先到运营商那边,然后再把资料传送到使用者的主机上。

我们都知道路由器有两个埠: LAN 口,WAN 口。

WAN:接外部 IP 地址用,通常指的是出口,转发来自内部 LAN 界面的 IP 资料包。

LAN:接内部 IP 地址用,LAN 内部是交换机。我们可以不连线 WAN 口,把路由器当做普通交换机来使用。

下面我们来看看到底怎么通讯的。为了便于理解,我们把运营商当做一个 NAT 装置。

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

A 主机IP 是私有 IP(192.168.1.2),该IP是从路由器的 LAN口分配的。暂不讨论是如何获取的,这涉及到自动获取还是手动分配的。

当我们访问百度服务器的时候,经过路由器的 wan口,进行相应的IP、埠转化:192.168.1.2:80 -> 10.221.0.24:8080,所以,从 wan口出去的地址为:10.221.0.24:8080

通过10.221.0.24:8080能访问外网吗显然不行,因为还是私有IP。还需要一个步骤:转换为公网IP。

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

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

标签:

上一篇 目录 下一章

猜你喜欢

数码之家论坛注册邀请码 卧室装修效果图...
在现代居住空间的设计中,墙壁的装饰方案至关重要。通常,我们可以选择高质量的墙漆或是创新型的墙纸作为装饰材料。越来越多的人倾向于采用墙纸,因为它提供了更多样...
电脑之家 海尔2022新...
1. 什么是海尔2022新上市冰箱? 海尔作为全球领先的家电制造商,始终致力于为消费者提供高品质、创新的家用电器。2022年,海尔推出了全新的冰箱系列,这...
艺术 附近收售二手空...
附近收售二手空调的热门平台与注意事项 二手空调市场分析 在市场上,二手空调的销售一直是人们关注的话题。随着环保意识的提升和消费者的经济压力,一些家庭或企业...
终末千年兽 厨房橱柜材质选...
在设计和装修厨房时,厨房橱柜是最显眼且使用频繁的家具之一。其材质直接影响到整体风格、耐用性以及日后的维护成本。然而,并非所有板材都适合制作橱柜,尤其是那些...

强力推荐