当前位置: 首页 > 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;函数 而本节探…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​&#xff1a; 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​&#xff1a; // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...