计算机原理-网络-一篇文章搞懂,内网和外网到底怎么通信?

一文搞懂IP地址、子网掩码、网关与DNS:从原理到排错实战 在计算机网络中,IP地址、子网掩码、网关和DNS是构成数据通信链路的基础概念,也是日常网络故障排查的核心切入点。IP地址为设备提供唯一标识,子网掩码划定“本地”与“外地”的边界,网关负责跨网段转发,DNS则将人类易记的域名翻译为机器可用的数字地址。理解这些概念之间的协作关系,比孤立记忆定义更有价值。本文从网络寻路系统的基本原理出发,讲解数据包从浏览器到服务器的完整流转过程,并结合ping、ipconfig、nslookup等常用命令及Python小工具,展示如何验证和排查网络配置问题。无论是家庭网络还是办公 阅读详情

新博客地址(shankusu.me)

本文原创作者:原理君(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 + 端口)是唯一的,所以,百度服务器回复时,原路返回时能够区分到底给谁回。

网络安全实战成长路线:从零基础到渗透高手的系统化学习指南 网络安全的核心在于理解漏洞原理与掌握实战技能。从计算机基础与网络协议入手,深入理解TCP/IP、HTTP/HTTPS等协议的工作原理,是构建安全知识体系的基石。掌握操作系统(如Linux)与编程语言(如Python)基础,能够为自动化渗透测试与工具开发提供支撑。OWASP TOP 10揭示了Web应用最常见的安全风险,理解SQL注入、XSS、文件上传等漏洞的成因与利用方式,是评估与防御威胁的关键。通过搭建漏洞靶场(如DVWA、VulnHub)进行实战演练,并参与CTF竞赛,能将理论知识转化为解决复杂场景(如 阅读详情

相关推荐

局域网通讯原理

局域网通讯原理,介绍局域网搭建以及使用ip进行局域网内各台机器通讯原理

内网和外网之间的通信(端口映射原理)

内网和外网之间的通信(端口映射原理)     首先解释一下“内网”与“外网”的概念:     内网:即所说的局域网,比如学校的局域网,局域网内每台计算机的IP地址在本局域网内具有互异性,是不可重复的。但两个局域网内的内网IP可以有相同的。     外网:即互联网,局域网通过一台服务器或是一个路由器对外连接的网络,这个IP地址是惟一的。...

#elseif 9291

计算机视觉:相机模型与参数标定

一、相机投影模型 1、小孔成像 2、相机模型中的四个平面坐标系 3、像主点偏移 4、畸变现象与内参矩阵 5、外参矩阵 二、相机标定:张正友棋盘格标定法 1、张正友棋盘格标定法描述 2、计算外参和内参 2.1 计算单应性矩阵H 2.2 计算内参数矩阵 2.3 计算外参数矩阵 3、实验:MATLAB实现 3.1 实验数据 3.2实验过程 3.3 实验结果 4、实验:OpenCV实现 4.1 实现代码 4.2 实验结果 5、实验分析与总结

DreamWendy的博客 2514

永久内外网互通解决方案

本文前提是内网插网线,外网连无线。 1、配置内网地址,格式如下: 2、cmd打开命令行,输入route print -4查看永久路由 3、一般没有永久路由 ,所以添加route add -p 192.0.0.0 mask 255.0.0.0 192.169.77.254 不加 -p就是暂时路由。 回车即可。 4、然后连上外网无线。就可以开心的内外网互联了。永久路由就是关机重...

qq_29495141的博客 1万+

STM32 上 FreeRTOS 的启动与任务调度详解

4. SysTick定时器:FreeRTOS启动调度器后,会接管STM32的SysTick定时器,用于生成系统节拍,因此不要在HAL库中重复配置SysTick(比如HAL_Init()中已配置,无需再手动调用SysTick_Config()),否则会导致系统节拍异常,任务延迟不准。2. 任务栈大小需按需配置,不是越大越好(浪费RAM),也不能太小(会导致栈溢出),比如简单的传感器读取任务,1024字(4096字节)足够,复杂任务(比如串口接收+数据解析)可调整为2048字。

qq_40170041的博客 867

C#实战大华智能安防系统:从SDK封装到视频流与智能报警的全链路落地

本文将介绍C#集成大华SDK开发安防系统的实战经验,重点解决多路视频预览卡顿和报警延迟问题。文章通过三层架构设计(SDK封装层、业务服务层、应用层)实现解耦,详细分析线程安全封装、高效解码显示和智能事件联动等核心技术。针对16路摄像头同时预览时CPU占用率过高的问题,提出使用子码流拉流与异步解码的优化方案,并总结8个常见开发陷阱的解决方案。文中还提供了大华智能安防系统的完整架构图,展示从设备层到应用层的交互流程,特别强调业务服务层中视频流服务和智能报警服务的核心功能设计。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 432

UDP内网和外网连接通信的问题

<br />这几天忙着搞UDP的socket通信,忙乎了几天终于有点成就了,窃喜下。。。。<br />如果你不懂内网和外网的区别,不懂局域网和广域网就先熟悉下,再来看程序。我目前的情况是客户端在一个内网上,要连接外网的服务器,外网服务器在收到客户端的请求后,反馈信息给客户端。<br />请注意是UDP,不是TCP。<br />先引入内网和外网的一些些小知识:<br />如我内网的IP为:192.168.0.2,端口为3200,此时我想和外网的IP:220.120.123.42,端口为23654通信,从客户端

napolun007的专栏 2万+

基于ART算法和SIRT算法的超声CT反演及MATLAB代码实现

在超声CT中,反演算法起着至关重要的作用,它通过从测量数据中恢复出目标物体的内部结构。本文将介绍基于ART算法(Algebraic Reconstruction Technique)和SIRT算法(Simultaneous Iterative Reconstruction Technique)的超声CT反演方法,并提供相应的MATLAB代码实现。本文介绍了基于ART算法和SIRT算法的超声CT反演方法,并提供了相应的MATLAB代码示例。基于ART算法和SIRT算法的超声CT反演及MATLAB代码实现。

2301_79326510的博客 566

内网与外网之间是如何通信的

1、思考:A 和 B 的局域网 IP 都是192.168.31.11,当他们都访问百度浏览网页时,百度服务器回复数据时,如何区分是给 A 还是给 B 呢对于初学者而已,我们学习的网络编程(如TCP,UDP编程),我们通常都是在局域网内进行通信测试,有时候我们或者会想,我们现在写的内网网络数据和外网的网络数据有什么不同,我们内网的数据是如何走出外网的呢? 再者,我们大多人都是使用宽带上网,结果发现,

信者的路 6666

化工过程设计软件:Aspen Plus二次开发_(2).二次开发概述

假设我们需要创建一个自定义的换热器模型,该模型能够计算两个物流之间的热交换量,并根据传热系数和换热面积进行调整。ACM 模型代码示例!自定义换热器模型!参数:传热系数 U (W/m^2·K)!换热面积 A (m^2)!热物流 T_hot_in (K), T_hot_out (K), F_hot (kmol/h)!冷物流 T_cold_in (K), T_cold_out (K), F_cold (kmol/h)!模型输入!U - 传热系数!A - 换热面积!

kkchenjj的博客 370

推荐系统[八]算法实践总结V3:重排在快手短视频推荐系统中的应用and手淘信息流多兴趣多目标重排技术

快手推荐系统包括了传统的召回、粗排、精排、Learning To Rank 的多目标排序、多目标预估等技术环节。而在这些模块之后的技术环节就属于重排序,主要包括手机端和服务端两部分。服务端通过传统服务器部署重排服务,包括序列重排、多源内容混排、多样性模块。端上部分包括端上重排模型和端上重排策略两部分。重排技术是快手十分重要的技术环节,它的发展速度远快于其他排序环节,属于较新的技术范畴。整个序列的价值并非单 item 效果的累计,如何使得序列价值最大化;

丨汀、的博客 1063

内外网隔离实现

查阅很多资料内外网隔离可以通过多种方式实现,主要有以下几种: 通过安装部署物理网卡实现物理隔离 通过路由器或交换机实现逻辑隔离 通过第三方网络管理类软件实现逻辑隔离。 客户端访问外网原理: WAN:接外部 IP 地址用,通常指的是出口,转发来自内部 LAN 接口的 IP 数据包,这个口的 IP 是唯一的。LAN:接内部 IP 地址用,LAN 内部是交换机。 A 电脑的 IP 是局...

大帅的博客 2万+

控制科学与工程(自动化)保研经验【1】——预备篇

个人情况 学校:中末流211 专业:自动化(学科评估B-) 年份:2019 排名:4/128 绩点:4.16/5 竞赛:三个国二(包括数模国赛美赛)、两个省一(机器人、电子设计竞赛) 【本科期间竞赛做的比较多,是我的一大亮点,可以在筛简历这关适当弥补专业排名的不足】 科研:一个校级的大创项目(水) 夏令营报名:中科大科学岛、中科大本部、自动化所、沈自所、北航(仪器17系)、山大、浙江大学、南开、同...

Control Everything 1万+

一篇文章带你彻底搞懂IP地址(初级)

本篇文章讲解了所有初级IP地址的知识,傻瓜式讲解,超级详细

网络安全小菜鸡 5987

【FPGA教程案例89】编译码2——使用vivado核实现RS信道编译码

RS编码,又称里所码,即Reed-solomon codes,是一种前向纠错的信道编码,对由校正过采样数据所产生的多项式有效。当接收器正确的收到足够的点后,它就可以恢复原来的多项式,即使接收到的多项式上有很多点被噪声干扰失真。

FPGA/MATLAB学习教程/源码/项目合作开发 3542

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

虚拟机网络配置踩坑记:为什么不同网段的IP还能通信?带你从底层源码,深入浅出一篇搞懂 NAT 与虚拟网络原理

本文科普了NAT技术,并解释了为什么“不同子网的ip”能通信。并给出了虚拟机无法联网时的排查以及解决办法。先科普,再解决!!! 还做了不依赖路由器,仅用一台电脑实现局域网共享上网实验。 如果看完以上觉得还不过瘾的同学,和我一样对他的代码底层逻辑还感兴趣的可以接着看这一部分。但是如果你只是冲着解决问题的想法,看到这里即可,直接跳到第四节,因为这部分内容需要一定的知识储备。

肖肖的博客 1901

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

学习干货|一篇文章学习计算机网络技术基础那点事

本篇文章对于网络专业和网工小白帮助较大,各位请沉浸式观看,本篇文章共讲解:直连、泛洪、IP地址、集线器、交换机、二进制基础、IP地址划分、静态路由实验、VLAN实验划分、TCP/IP协议以及ISO模型等

aizhou1的博客 1719

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

2、一文搞懂 NAT、桥接、仅主机模式的区别

本文详细解析了虚拟机三种主流网络模式的特点和适用场景。NAT模式通过宿主机共享网络,虚拟机可上网但外部无法访问;桥接模式使虚拟机获得独立IP,能直接接入局域网;仅主机模式实现网络隔离,仅限虚拟机与宿主机通信。文章对比了三种模式的优缺点,并给出选择建议:普通开发用NAT,服务器搭建选桥接,内部测试用仅主机模式。掌握这些网络模式的区别,能帮助用户根据实际需求灵活配置虚拟机网络环境。

qq_39251691的博客 859

【Linux】linux网络知识

网关和路由器交换机功能的有哪些不同 https://blog.youkuaiyun.com/pql925/article/details/85318994 一篇文章搞懂,内网和外网到底怎么通信? http://m.it168.com/article_6045518.html 计算机网络 之 TCP和UDP的端口号解析 https://www.cnblogs.com/scutwang/p/3958128.html ...

m0_46535940的博客 266

别再说 “零基础学不了网安”!电脑小白也能入门的 4 阶段路线!

总有人问:“我连代码都不会写,能学网络安全吗?”其实真不用怕,哪怕你是只会用电脑刷视频的纯小白,跟着清晰的路线一步步学,照样能入门网安。今天就把我总结的零基础网安学习法分享给你,4个阶段帮你从小白到能实战,看完就知道该怎么起步。

m0_71745484的博客 1167

网工必看!DNS 协议全解析:从工作原理、配置到排障 + 安全防护,一篇吃透域名解析全流程

本文系统讲解了作为互联网核心基础设施的 DNS 协议,先厘清其基础定义与全场景核心作用,拆解了 DNS 四层分布式架构与完整域名解析流程,区分了递归与迭代查询的核心差异。文章梳理了运维必备的各类 DNS 资源记录类型,提供了 Windows/Linux 终端及华为、华三、思科三大厂商的完整 DNS 配置模板,覆盖客户端与转发服务场景。同时总结了 DNS 高频故障的标准化排查方案,分析了主流 DNS 安全威胁,并给出企业级安全防御最佳实践,既适合网工新手入门,也可作为运维人员的随身参考。

聚焦网络信息安全,拆解网信原理与技术 1181

深入浅出计算机网络:一文看懂网络层核心机制(IP、路由、NAT)

计算机网络层以路径确定为核心任务,如唐僧问路 Hop-by-Hop。本章系统解剖 IP 协议,涵盖 TTL 防环路、ID/标志/片偏移分片重组;解析网络号与主机号的层次化编址坐标体系;详解子网掩码、CIDR 位运算精细切割;阐述拯救 IP 枯竭的 NAT 技术与公私网隔离;最后深入默认网关、路由表匹配转发全流程。

kumaxi的博客 490

网络安全必修课:彻底搞懂永恒之蓝(EternalBlue)

永恒之蓝是网络安全史上一个里程碑式的名字。它不仅仅是一个技术漏洞,更是一场席卷全球的网络安全风暴的导火索。理解永恒之蓝,是理解现代大规模网络攻击如何运作的必修课。 这篇文章将为你详细拆解:永恒之蓝到底是什么?它是如何工作的?它又是如何与曾霸占全球头条的WannaCry勒索病毒绑定的?以及,我们今天该如何防范?

xx16755498979的博客 469
上一篇: 计算机原理-操作系统- Intel主板的布局,系统的内存映射
下一篇: 计算机原理-操作系统-剖析程序的内存布局
shankusu2017
博客等级 码龄15年 155粉丝 155原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值