当前位置: 首页 > news >正文

计算机网络 | 什么是公网、私网、NAT?

关注:CodingTechWork

引言

  计算机网络是现代信息社会的基石,而网络通信的顺畅性和安全性依赖于有效的IP地址管理和网络转换机制。在网络中,IP地址起到了标识设备和进行数据传输的核心作用。本文将详细讨论公网IP、私网IP以及NAT转换等网络技术概念,帮助您更好地理解计算机网络的运作方式。

什么是IP地址?

  在进入公网IP和私网IP的讨论之前,我们首先要理解IP地址(Internet Protocol Address)。IP地址是网络上每一台设备的唯一标识符。它用于区分不同设备并确保数据能够精确地传输到目标设备。IP地址有两个版本:

  • IPv4:采用32位地址,通常用四个十进制数字表示(如:192.168.1.1)。
  • IPv6:采用128位地址,能够提供更多的地址空间。

公网IP地址

公网IP的定义

  公网IP地址是由互联网服务提供商(ISP)分配的IP地址,能够在互联网上被直接访问和识别。这些IP地址是全球唯一的,不同的设备和服务器通过公网IP地址与全球其他设备进行通信。

公网IP的特点

  • 唯一性:公网IP是全球唯一的,意味着一个公网IP地址只能指向一个特定的设备。
  • 直接可访问性:公网IP可直接与互联网中的其他设备建立连接,数据可以自由流动。
  • 有限性:由于IPv4地址空间有限,公网IP地址是宝贵的资源,尤其在IPv4时代,公网IP数量的匮乏引发了各种网络地址管理和优化措施。

公网IP的用途

  • Web服务器和网站:大多数网站和Web服务器使用公网IP,使得全球用户能够访问。
  • 邮件服务器:电子邮件传输依赖于公网IP地址。
  • 网络设备:如路由器、交换机、网络摄像头等,需要使用公网IP来进行远程访问。

私网IP地址

私网IP的定义

  私网IP地址是指在一个局域网(LAN)内部使用的IP地址。这些地址不能直接访问互联网,而是仅用于内部网络设备之间的通信。私网IP地址的范围是由国际互联网标准组织(IETF)定义的,专门保留给局域网使用。

私网IP的地址范围

根据RFC 1918标准,私网IP地址分为以下几个范围:

  • Class A:10.0.0.0 – 10.255.255.255
  • Class B:172.16.0.0 – 172.31.255.255
  • Class C:192.168.0.0 – 192.168.255.255

    这些私网IP地址不会在互联网上路由,它们只在局域网内部有效。

私网IP的特点

  • 不可直接访问互联网:私网IP地址不具有全球唯一性,因此不能直接访问公网。
  • 共享性:私网IP地址可以在多个不同的局域网中重复使用。
  • 节省公网IP资源:私网IP的使用能够大大减少对公网IP地址的需求。

私网IP的用途

  • 局域网通信:家庭网络、企业内部网络等通常使用私网IP进行设备间的通信。
  • 局域网内服务器:如打印机、文件服务器等设备通常使用私网IP地址。

NAT(网络地址转换)

NAT的定义

  NAT(Network Address Translation,网络地址转换)是一种技术,用于将私网IP地址转换为公网IP地址,反之亦然。NAT技术的主要作用是解决公网IP地址匮乏的问题,使得多个私网IP设备能够共享一个公网IP访问互联网。

NAT的工作原理

  NAT通常部署在路由器或网关上,当局域网中的设备需要访问互联网时,路由器会将设备的私网IP地址转换为公网IP地址。这种转换可以是一对一或多对一的方式。最常见的NAT形式是源地址转换(SNAT),即将内网设备的私网IP转换为公网IP。

NAT的类型

  • 静态NAT:静态NAT将一个私网IP地址映射到一个固定的公网IP地址。这种方式通常用于需要外部访问的服务器,如Web服务器、邮件服务器等。
  • 动态NAT:动态NAT将私网IP地址映射到一组公网IP地址中的一个。在访问请求时,动态NAT会随机选择一个公网IP进行映射。这种方式更为常见,适用于内网设备频繁访问互联网的场景。
  • 端口地址转换(PAT,Port Address Translation):PAT是NAT的一种形式,它将多个私网IP地址映射到同一个公网IP地址的不同端口上。通过这种方式,多个设备可以共享同一个公网IP地址,利用不同的端口进行区分。PAT常常用于家庭或小型企业网络。

NAT的优势

  • 节省公网IP资源:由于多个设备可以共享一个公网IP,NAT能够大幅度减少公网IP地址的需求。
  • 安全性提升:NAT可以隐藏内网设备的私网IP地址,外部网络无法直接访问内网设备,提供了一定程度的安全防护。

NAT的缺点

  • 访问限制:NAT可能导致某些应用(如VoIP、P2P等)无法正常工作,因为它改变了IP地址和端口号,可能会破坏应用程序的通信。
  • 性能开销:NAT需要实时转换IP地址和端口,可能会增加网络设备的处理负担,影响网络性能。

NAT与私网IP的关系

  NAT技术是实现私网IP地址与公网IP地址之间互通的桥梁。私网IP通常用来进行内部通信,而NAT则在网络边界提供了与公网的连接。由于公网IP的稀缺,NAT成为了连接大规模局域网和互联网的核心技术之一。

常见的NAT类型

SNAT

SNAT的定义

  SNAT(Source Network Address Translation)源地址转换是NAT的一种技术,用于修改数据包的源IP地址。SNAT通常用于局域网中的设备访问外部网络(如互联网)时,通过将其私网IP转换为公网IP来实现通信。

SNAT的工作原理

  当局域网中的设备发起一个到外部网络(例如互联网)的请求时,路由器或网关会将设备的源IP地址(即私网IP地址)转换为公网IP地址。返回数据包时,路由器会将目的IP地址转换回相应的私网IP地址,确保数据能够准确返回到源设备。

SNAT的示例

  假设有一个局域网内的设备使用私网IP地址192.168.1.10发起访问请求。该设备访问外部服务器时,路由器将其源IP地址192.168.1.10转换为公网IP地址203.0.113.5。

  • 请求时:私网设备192.168.1.10 -> 公网服务器 (通过路由器 SNAT 转换为公网IP 203.0.113.5)。
  • 返回时:公网服务器 -> 路由器(公网IP 203.0.113.5) -> 内网设备 192.168.1.10(通过SNAT还原)。

SNAT的应用场景

  • 家庭或小型企业网络:多个设备共享一个公网IP访问互联网。
  • 负载均衡:多个内部服务器共享单个公网IP进行外部访问。

DNAT

DNAT的定义

  DNAT(Destination Network Address Translation)目的地址转换是NAT的一种技术,用于修改数据包的目的IP地址。与SNAT相反,DNAT在外部设备(如互联网)访问内部网络时,将目标IP地址从公网IP地址转换为私网IP地址。

DNAT的工作原理

  当外部设备向公网IP地址发送请求时,路由器会根据NAT规则将目标地址(公网IP)转换为局域网设备的私网IP地址。这种方式使得外部设备能够访问内网中的服务(如Web服务器、FTP服务器等)。

DNAT的示例

  假设外部设备需要访问局域网内的Web服务器,该服务器的私网IP地址为192.168.1.20,路由器的公网IP地址为203.0.113.5。当外部设备向203.0.113.5发送HTTP请求时,路由器将请求的目标地址转换为192.168.1.20,并将数据包转发到Web服务器。

  • 请求时:外部设备 -> 路由器公网IP 203.0.113.5(路由器进行DNAT转换,将请求转发至192.168.1.20)。
  • 返回时:Web服务器 192.168.1.20 -> 路由器(NAT转换) -> 外部设备。

DNAT的应用场景

  • 远程访问:将外部访问请求转发到内网的Web服务器或其他服务。
  • 防火墙:使内网中的特定设备可以公开服务而不直接暴露其私网IP。

FNAT

FNAT的定义

  FNAT(Full Network Address Translation)全网络地址转换是一种NAT技术,通常,FNAT=SNAT+DNAT。

结论

  理解公网IP、私网IP和NAT转换是学习计算机网络的基础。公网IP作为设备在互联网上的唯一标识,私网IP为内部网络提供了通信空间,而NAT技术则通过将多个私网IP映射到少量公网IP,帮助我们实现资源共享和安全访问。随着网络环境的不断变化,NAT技术也在不断发展,提供更灵活和安全的解决方案。

相关文章:

计算机网络 | 什么是公网、私网、NAT?

关注:CodingTechWork 引言 计算机网络是现代信息社会的基石,而网络通信的顺畅性和安全性依赖于有效的IP地址管理和网络转换机制。在网络中,IP地址起到了标识设备和进行数据传输的核心作用。本文将详细讨论公网IP、私网IP以及NAT转换等网络技…...

如何解决Outlook无法连接到服务器的问题

Microsoft Outlook 是一款广泛使用的电子邮件客户端,它能够帮助用户高效地管理邮箱、日历和任务。然而,尽管其功能强大,用户有时会遇到“Outlook无法连接到服务器”的问题。这种问题通常会让用户无法接收或发送电子邮件,甚至可能导…...

vue2 web 多标签输入框 elinput是否当前焦点

又来分享一点点工作积累及解决方案 产品中需要用户输入一些文字后按下回车键生成标签来显示在页面上&#xff0c;经过尝试与改造完成如下&#xff1a; <template><div class"tags-view" click"beginInput"><el-tag :key"index" …...

32单片机综合应用案例——物联网(IoT)环境监测站(四)(内附详细代码讲解!!!)

无论你身处何种困境&#xff0c;都要坚持下去&#xff0c;因为勇气和毅力是成功的基石。不要害怕失败&#xff0c;因为失败并不代表终结&#xff0c;而是为了成长和进步。相信自己的能力&#xff0c;相信自己的潜力&#xff0c;相信自己可以克服一切困难。成功需要付出努力和坚…...

LabVIEW与WPS文件格式的兼容性

LabVIEW 本身并不原生支持将文件直接保存为 WPS 格式&#xff08;如 WPS 文档或表格&#xff09;。然而&#xff0c;可以通过几种间接的方式实现这一目标&#xff0c;确保您能将 LabVIEW 中的数据或报告转换为 WPS 可兼容的格式。以下是几种常见的解决方案&#xff1a; ​ 导出…...

小结: 路由协议的演进和分类

路由协议的演进和分类&#xff0c;包括其发展历史及主要应用场景。路由协议用于在网络中确定数据传输的最佳路径&#xff0c;主要分为内部网关协议&#xff08;IGP&#xff09;和外部网关协议&#xff08;EGP&#xff09; AS-AS 之间的。 路由协议的演进 1982年&#xff1a;出…...

OpenCV相机标定与3D重建(60)用于立体校正的函数stereoRectify()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 为已校准的立体相机的每个头计算校正变换。 cv::stereoRectify 是 OpenCV 中用于立体校正的函数&#xff0c;它基于已知的相机参数和相对位置&am…...

Android wifi列表中去自身的热点

Android wifi列表中去自身的热点 一、前言 Android wifi列表中能搜索到自身的热点wifi&#xff1f; 正常手机上都不会出现这个问题&#xff1b;可能是系统底层已经做了过滤处理。 现实开发中Android设备的Wifi能搜索到自身热点也可能会存在。 比如基于两个单独的wifi双模组硬…...

Windows环境本地配置pyspark环境详细教程

目录 一、背景简记二、本地单机spark环境配置详细步骤第一步&#xff1a;python环境安装第二步&#xff1a;安装jdk及配置环境变量安装包下载安装环境变量配置 第三步&#xff1a;安装Spark安装包下载安装配置环境变量 第四步&#xff1a;安装hadoop安装包下载安装配置环境变量…...

《自动驾驶与机器人中的SLAM技术》ch9:自动驾驶车辆的离线地图构建

目录 1 点云建图的流程 2 前端实现 2.1 前端流程 2.2 前端结果 3 后端位姿图优化与异常值剔除 3.1 两阶段优化流程 3.2 优化结果 ① 第一阶段优化结果 ② 第二阶段优化结果 4 回环检测 4.1 回环检测流程 ① 遍历第一阶段优化轨迹中的关键帧。 ② 并发计算候选回环对…...

IP属地会随着人的移动而改变吗

在当今数字化时代&#xff0c;互联网已成为人们生活中不可或缺的一部分。无论是社交媒体的日常互动&#xff0c;还是在线购物、远程工作&#xff0c;IP地址作为网络身份的重要标识&#xff0c;扮演着举足轻重的角色。随着移动互联网技术的飞速发展&#xff0c;人们越来越多地在…...

openharmony应用开发快速入门

开发准备 本文档适用于OpenHarmony应用开发的初学者。通过构建一个简单的具有页面跳转/返回功能的应用&#xff08;如下图所示&#xff09;&#xff0c;快速了解工程目录的主要文件&#xff0c;熟悉OpenHarmony应用开发流程。 在开始之前&#xff0c;您需要了解有关OpenHarmon…...

USB3020任意波形发生器4路16位同步模拟量输出卡1MS/s频率 阿尔泰科技

信息社会的发展&#xff0c;在很大程度上取决于信息与信号处理技术的先进性。数字信号处理技术的出现改变了信息 与信号处理技术的整个面貌&#xff0c;而数据采集作为数字信号处理的必不可少的前期工作在整个数字系统中起到关键 性、乃至决定性的作用&#xff0c;其应用已经深…...

云消息队列 Kafka 版 V3 系列荣获信通院“云原生技术创新标杆案例”

2024 年 12 月 24 日&#xff0c;由中国信息通信研究院&#xff08;以下简称“中国信通院”&#xff09;主办的“2025 中国信通院深度观察报告会&#xff1a;算力互联网分论坛”&#xff0c;在北京隆重召开。本次论坛以“算力互联网 新质生产力”为主题&#xff0c;全面展示中国…...

linux下的NFS和FTP部署

目录 NFS应用场景架构通信原理部署权限认证Kerberos5其他认证方式 命令serverclient查看测试系统重启后自动挂载 NFS 共享 高可用实现 FTP对比一些ftp服务器1. **vsftpd (Very Secure FTP Daemon)**2. **ProFTPD (Professional FTP Daemon)**3. **Pure-FTPd**4. **WU-FTPD (Was…...

JS Clipboard API

1.作用 在web应用程序中&#xff0c;当用户授予了相应的权限&#xff0c;Clipboard API 就能实现系统剪切板的复制、粘贴和剪切功能。系统剪切板暴露在Navigator.clipboard 中。 2.例子 window.onload () > {// 监听用户的复制事件document.addEventListener(copy, (e) …...

MySQL中大量数据优化方案

文章目录 1 大量数据优化1.1 引言1.2 评估表数据体量1.2.1 表容量1.2.2 磁盘空间1.2.3 实例容量 1.3 出现问题的原因1.4 解决问题1.4.1 数据表分区1.4.1.1 简介1.4.1.2 分区限制和执行计划1.4.1.3 分区表的索引1.4.1.4 为什么分区键必须是主键的一部分1.4.1.5 操作分区1.4.1.5.…...

重拾Python学习,先从把python删除开始。。。

自己折腾就是不行啊&#xff0c;屡战屡败&#xff0c;最近终于找到前辈教我 第一步 删除Python 先把前阵子折腾的WSL和VScode删掉。还是得用spyder&#xff0c;跟matlab最像&#xff0c;也最容易入手。 从VScode上搞python&#xff0c;最后安装到appdata上&#xff0c;安装插…...

centos 安全配置基线

centos 安全配置基线 一、系统防火墙及SE系统1. 系统自带防火墙iptables&#xff08;Centos6&#xff09;基础命令查看防火墙设置使用命令查看防火墙设置使用命令清除防火墙设置防火墙策略开放指定的端口屏蔽IP 2. 系统自带防火墙firewalled&#xff08;Centos7&#xff09;基础…...

高级编程语言的基本语法在CPU的眼中是什么样的呢?

任何一门高级编程语言&#xff0c;就一定存在下面这几个语法元素 变量类型数组控制语句&#xff08;条件&#xff0c;循环&#xff09;运算符&#xff08;算术运算&#xff0c;布尔运算&#xff0c;赋值运算&#xff0c;关系运算&#xff0c;位运算&#xff09;函数 而本节探…...

Redis 性能优化:多维度技术解析与实战策略

文章目录 1 基准性能2 使用 slowlog 优化耗时命令3 big key 优化4 使用 lazy free 特性5 缩短键值对的存储长度6 设置键值的过期时间7 禁用耗时长的查询命令8 使用 Pipeline 批量操作数据9 避免大量数据同时失效10 客户端使用优化11 限制 Redis 内存大小12 使用物理机而非虚拟机…...

.netframwork模拟启动webapi服务并编写对应api接口

在.NET Framework环境中模拟启动Web服务&#xff0c;可以使用几种不同的方法。一个常见的选择是利用HttpListener类来创建一个简单的HTTP服务器&#xff0c;或者使用Owin/Katana库来自托管ASP.NET Web API或MVC应用。下面简要介绍Owin/Katana示例代码。这种方法更加灵活&#x…...

MongoDB 学习指南与资料分享

MongoDB学习资料 MongoDB学习资料 MongoDB学习资料 在数据爆炸的当下&#xff0c;MongoDB 作为非关系型数据库的佼佼者&#xff0c;以其独特优势在各领域发光发热。无论是海量数据的存储&#xff0c;还是复杂数据结构的处理&#xff0c;MongoDB 都能轻松应对。接下来&#xf…...

【Azure 架构师学习笔记】- Azure Function (2) --实操1

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Function 】系列。 接上文【Azure 架构师学习笔记】- Azure Function (1) --环境搭建和背景介绍 前言 上一文介绍了环境搭建&#xff0c;接下来就在本地环境下使用一下。 环境准备 这里我下载了最新的VS studio&…...

扫描深度?滤光片和偏振片区别?

扫描深度 https://www.shining3d.cn/chike/kousao/aoralscan-wireless.html 是指扫描仪能够准确捕捉和测量的最大距离范围。这一参数对于不同类型的三维扫描仪和应用场景非常重要&#xff0c;具体含义包括&#xff1a; 扫描范围 定义: 扫描深度通常指从扫描仪到被扫描物体表…...

HJ4 字符串分隔(Java版)

一、试题地址 字符串分隔_牛客题霸_牛客网 二、试题内容 描述 对于给定的由小写字母和数字混合构成的字符串 s &#xff0c;你需要按每 8 个字符换一行的方式书写它&#xff0c;具体地&#xff1a; 书写前 8 个字符&#xff0c;换行&#xff1b;书写接下来的 88 个字符&am…...

【脑机接口数据处理】matlab读取ns6 NS6 ns5NS5格式脑电数据

文章目录 MATLAB函数openNSx详解&#xff1a;轻松读取NSx文件函数概述下载文件基本用法注意事项示例 结论 MATLAB函数openNSx详解&#xff1a;轻松读取NSx文件 在神经科学和生物医学工程领域&#xff0c;处理神经信号数据是一项常见且重要的任务。NSx文件格式是一种用于存储神…...

用C++实现一个基于模板的观察者设计模式

观察者模式 定义 观察者模式(Observer Pattern)是一种行为型设计模式,用于定义对象间的一对多依赖关系,使得当一个对象状态发生变化时,其所有依赖它的对象都会收到通知并自动更新。 核心概念 角色定义 Subject(被观察者): 持有观察者列表,维护观察者的注册和移除。 …...

【华为路由/交换机的ftp文件操作】

华为路由/交换机的ftp文件操作 PC&#xff1a;10.0.1.1 R1&#xff1a;10.0.1.254 / 10.0.2.254 FTP&#xff1a;10.0.2.1 S1&#xff1a;无配置 在桌面创建FTP-Huawei文件夹&#xff0c;里面创建config/test.txt。 点击上图中的“启动”按钮。 然后ftp到server&#xff0c;…...

微信小程序 实现拼图功能

微信小程序 实现拼图 效果示例功能描述代码示例 效果示例 微信小程序 碎片拼图 功能描述 在微信小程序中&#xff0c;实现一个简单的拼图小游戏。用户需要将四张碎片图片拖动到目标图片的正确位置&#xff0c;具体功能如下&#xff1a; 拖动功能&#xff1a; 用户可以通过手指…...

下载app官方正版/郑州seo全网营销

在面向程序设计中&#xff0c;类与类之间的关系主要有关联关系、依赖关系、泛化关系、接口与实现关系共四种关系。下面将简要进行概述&#xff1a; 一、关联关系 关联关系是类与类中较为常见的关系&#xff0c;其中又包含了以下六种子关联关系&#xff1a; &#xff08;一&…...

武汉网站建设_网页设计_网站制作_网站建设公司_做企业网站公司/如何自己建个网站

“积极思维”更像是一个为完美人士所设计的梦幻。而“消极思维”则为那些内心尚不完美&#xff0c;还存在种种心理缺陷的人提供安全感和情感支持。 消极思维有时候会发挥出相当正面的力量 人们在生活里&#xff0c;总是会鼓励那些失去希望的人们&#xff1a;要想开点儿&#xf…...

大学关工委加强自身建设网站宣传/关键词优化软件

vue框架介绍 框架,framework,是能够让程序开发人员更好的专注于业务逻辑的开发,而无需关心底层功能的实现。 vue是一个渐进式 JavaScript 框架,Vue (读音 /vjuː/,类似于 **view**) 是一套用于构建用户界面的**渐进式框架**。与其它大型框架不同的是,Vue 被设计为可以自底…...

wordpress固定链接文章别名/如何做一个自己的网站

一.虚拟账号 顾明思意&#xff0c;在本地账号库中并不存在的账号为虚拟账号。在服务器内部会将虚拟账号映射成为一个本地账号在邮件服务器上进行操作。对于用户来说并没有任何影响。避免网络抓包得到账号密码。这样可以提高服务器的安全性。 二.lamp环境 linuxapachemysqlphp 环…...

高职图书馆网站建设大赛/天津seo实战培训

SMOTE算法的思想是合成新的少数类样本&#xff0c;合成的策略是对每个少数类样本a&#xff0c;从它的最近邻中随机选一个样本b&#xff0c;然后在a、b之间的连线上随机选一点作为新合成的少数类样本。 如图所示&#xff1a; 算法流程&#xff1a; 1、对于少数类中每一个样本a&…...

wordpress secondary title/青岛网站seo服务

续博文《u-boot之u-boot-2009.11启动过程分析》 Linux内核启动及文件系统载入过程 当u-boot開始运行bootcmd命令。就进入Linux内核启动阶段&#xff0c;与u-boot类似&#xff0c;普通Linux内核的启动过程也能够分为两个阶段&#xff0c;但针对压缩了的内核如uImage就要包含内核…...