您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

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

时间:2019-07-18 09:27:19  来源:  作者:

本文原创作者:原理君(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五类地址:

  1. A类:地址范围是1.0.0.0 到 127.255.255.255,主要分配 给大量主机而局域网网络数量较少的大型网络;
  2. B类:地址范围是128.0.0.0 到191.255.255.255,一般用于国际性大公司和政府机构;
  3. C类:地址范围是192.0.0.0 到223.255.255.255,用于一般小公司校园网研究机构等;
  4. D类:地址范围是224.0.0.0 到 239.255.255.255,用于特殊用途,又称做广播地址;
  5. 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 + 端口)是唯一的,所以,百度服务器回复时,原路返回时能够区分到底给谁回。



Tags:内网   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
# 1. nps-npc1.1 简介nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh...【详细内容】
2021-12-22  Tags: 内网  点击:(8)  评论:(0)  加入收藏
公众号:白帽子左一 领取配套练手靶场、安全全套课程及工具...一、简介学习内网安全的时候,总会见到一些隧道的概念。搭建隧道对于内网渗透来说是一个必不可少的环节。简单理解...【详细内容】
2021-11-30  Tags: 内网  点击:(21)  评论:(0)  加入收藏
上一节中我们学了如何实现ARP断网攻击,本节中我们将利用ARP欺骗的原理实现截取目标计算机图片流量,内容包括:ü如何开启ip转发ü怎样截取受害机图片流量 一、开启ip转...【详细内容】
2021-11-23  Tags: 内网  点击:(23)  评论:(0)  加入收藏
内网搭建FTP服务器,外网如何能正常访问?我们通常的做法就是通过路由器进行端口映射,将内网的电脑端口映射到外网上来,从而通过访问外网的IP地址达到FTP文件传输的目标。我们使用...【详细内容】
2021-11-05  Tags: 内网  点击:(72)  评论:(0)  加入收藏
FRP 内网穿透需求背景最近小王公司接个对接公众账号应用开发的项目,其中有个功能需求是"用户关注公众账号后发送特定消息后公众账号需要回复一个二维码海报“。了解需求后,便...【详细内容】
2021-09-22  Tags: 内网  点击:(52)  评论:(0)  加入收藏
拓扑环境 Kali Linux(攻击机) Centos6.4(web服务器) win7(域成员主机无法上网) win2008R2(域控无法上网) 目的通过Kali Linux拿到域控权限2021最新整理网络安全\渗透测试/安全学习(全...【详细内容】
2021-09-17  Tags: 内网  点击:(90)  评论:(0)  加入收藏
1. 前言大家好,我是安果!一提到远程桌面,可能大家都会想到 TeamViewer、向日葵等第三方软件但是,它们大多是商业化软件,价格昂贵;即使有提供免费版本,也是各种限制,稳定性和安全性...【详细内容】
2021-09-16  Tags: 内网  点击:(72)  评论:(0)  加入收藏
前言这又是一个关于域内基础概念与原理的系列Active Directory 的查询基础语法BaseDNBaseDN 即基础可分辨名称,其指定了这棵树的根。比如指定 BaseDN 为DC=whoamianony,DC=or...【详细内容】
2021-09-06  Tags: 内网  点击:(47)  评论:(0)  加入收藏
VPN详解一、VPN介绍 什么是vpn?# VPN是虚拟专用网络的缩写,它是两个或多个物理网络(或设备)之间沟通互联网/公共网络创建的虚拟网络,可以为企业之间或者个人与企业之间提供安...【详细内容】
2021-09-02  Tags: 内网  点击:(65)  评论:(0)  加入收藏
1、场景说明有些时候我们的笔记本电脑即需要通过手机热点上外网,又需要连接公司内网,而两边如果都是DHCP自动获得IP的时候就会比较麻烦,需要连接内网非直连网段的话我们就得把...【详细内容】
2021-08-27  Tags: 内网  点击:(76)  评论:(0)  加入收藏
▌简易百科推荐
写一个shell获取本机ip地址、网关地址以及dns信息。经常会遇到取本机ip、网关、dns地址,windows一个命令ipconfig /all全部获取到,但linux系统却并非如此。linux系统都自带ifc...【详细内容】
2021-12-27  K佬食古    Tags:shell   点击:(2)  评论:(0)  加入收藏
步骤1、配置 /etc/sysconfig/network-scripts/ifcfg-eth0 里的文件。it动力的CentOS下的ifcfg-eth0的配置详情:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifc...【详细内容】
2021-12-24  忆梦如风    Tags:网卡   点击:(10)  评论:(0)  加入收藏
1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录find . -name “*.tar” -execmv {}./backup/ ;注解:find –name 主要用于查找某个文件名字,-exec 、xargs可...【详细内容】
2021-12-17  郭主任    Tags:运维   点击:(20)  评论:(0)  加入收藏
对于经常上网的朋友来说,除了手机购物上网,pc端玩网页游戏还是很多小伙伴首选的,但是有时候明明宽带链接上了,打开浏览器却出现上不了网的现象,下面小编要来跟大家说说电脑有网络...【详细内容】
2021-12-16  小白系统    Tags:网页无法打开   点击:(28)  评论:(0)  加入收藏
在访问像github、gitlab这样的外国网站时,很有可能会出现页面加载不出来或找不到页面的错误。这时候有的朋友就会以为是网络的问题,于是把Wifi断掉连上自己手机的热点,结果却还...【详细内容】
2021-12-15  启施技术IT狼叔    Tags:外网   点击:(16)  评论:(0)  加入收藏
网络地址来源:获取公网IP地址 https://ipip.yy.com/get_ip_info.phphttp://pv.sohu.com/cityjson?ie=utf-8http://www.ip168.com/json.do?view=myipaddress...【详细内容】
2021-12-15  韦廷华12    Tags:外网ip   点击:(15)  评论:(0)  加入收藏
准备好软件IPOP、用ENSP模拟一下华为交换机 启动交换机 <Huawei>sysEnter system view, return user view with Ctrl+Z.[Huawei]sysname FTPClient[FTPClient]interface vla...【详细内容】
2021-12-15  思源Edward    Tags:交换机   点击:(24)  评论:(0)  加入收藏
我们经常用到netstat命令查看主机连接状况,包括连接ip、端口、状态等,今天就练习下shell分析netsat结果。描述假设netstat命令运行的结果我们存储在nowcoder.txt里,格式如下:Pro...【详细内容】
2021-12-14  K佬食古    Tags:netstat   点击:(19)  评论:(0)  加入收藏
什么是滑动窗口?窗口是操作系统开辟的一块缓存空间,发送方在收到接收方ACK应答之前,必须在缓冲区保留已发送的数据,如果按期收到确认应答,数据就可以从缓冲区移除。什么是滑动窗...【详细内容】
2021-12-14  DifferentJava    Tags:TCP   点击:(30)  评论:(0)  加入收藏
概述日常管理华为路由设备过程中,难为会忘记设备登录密码,那么该如何重置设备登录密码吗?本期文章将全面向各位小伙伴总结分享。重置华为设备登录密码思路先行 采用console登录...【详细内容】
2021-12-10  onme0    Tags:   点击:(27)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条