IP、子网掩码、默认网关、DNS

IP、子网掩码、默认网关、DNS

  • 1. 概述
    • 1.1 windows配置处
  • 2.IP 地址(Internet Protocol Address)
    • 2.1 公网ip
    • 2.2 内网ip
    • 2.3 🌐 公网 IP 与内网 IP 的关系(NAT)
  • 3. 子网掩码(Subnet Mask)
  • 4. 默认网关
    • 4.1 🌐 什么是默认网关?
    • 4.2 🧭 为什么需要默认网关?
    • 4.3 🛠 举个例子
  • 5. DNS

1. 概述

上周我接手了一个新任务,甲方为我们开通了一条专线,这让我在公司内部网络中就可以直接通过 SSH 连接到甲方的服务器。为了实现这一连接,我仅配置了 IP 地址、子网掩码、默认网关和 DNS。不过,尽管能正常访问,我对这些网络配置背后的原理其实还不是很清楚。

回想在上一家公司,电脑里预装了公司 VPN,无论身处何地都可以安全访问公司内网。而现在,我们是在甲方的内网环境中进行上线和发版,之前每次都需要去甲方哪里通过光盘或 U 盘手动导入代码。专线开通后,大大简化了这一流程。

也正因为这次实际操作让我产生了兴趣,我希望深入理解这套网络配置的原理,因此写下了这篇文章。

1.1 windows配置处

在这里插入图片描述

2.IP 地址(Internet Protocol Address)

  1. 概念
    IP 地址是网络中每台设备的“身份证”。每台接入网络的设备都会被分配一个唯一的 IP 地址,用于在网络中进行识别与通信。

  2. 分类
    IPv4(最常用):形如 192.168.1.10,由 4 个数字组成,每个数字范围为 0-255。
    IPv6:用于解决 IPv4 地址不够的问题,形如 2001:0db8:85a3:0000:0000:8a2e:0370:7334

  3. 举例
    如果你配置的 IP 是 192.168.100.10,这就是你电脑在当前网络中的地址,别的设备要找你,就通过这个地址通信。

2.1 公网ip

公网 IP(Public IP)是指可以在互联网上被唯一识别的 IP 地址。它由互联网服务提供商(ISP) 分配,可以直接与全球互联网上的其他设备通信。

特点:
在全球范围内是唯一的。

可以从互联网的任何地方直接访问(如果没有防火墙或 NAT 限制)。

是外部访问你公司服务器、网站的“门牌号”。

示例:

  • 8.8.8.8(Google 的 DNS 服务器)

  • 114.114.114.114(国内常用 DNS)

你的公司如果有一条对外专线,可能会分配一个公网 IP,比如 123.45.67.89

2.2 内网ip

内网 IP(Private IP) 是在一个本地局域网(LAN)中使用的 IP 地址,用于内部通信。这些地址在全球范围内不具有唯一性,不能直接连接到互联网,必须通过 NAT 转换成公网 IP 才能访问互联网。

常见的内网 IP 段(由 RFC1918 定义):
网段 用途说明
10.0.0.0/8 大型私有网络
172.16.0.0/12 中型私有网络
192.168.0.0/16 小型私有网络(最常见)

示例:
192.168.1.1(路由器默认地址)
10.0.0.12(大型企业内部使用)
172.16.5.100

特点:
1.在不同组织中可以重复使用。
2.通常不能直接被公网访问。
3.多个内网 IP 会通过 NAT(网络地址转换) 共享一个公网 IP 上网。

2.3 🌐 公网 IP 与内网 IP 的关系(NAT)

大多数企业或家庭的网络结构如下图所示:

        互联网|公网 IP(如:123.45.67.89|[ 路由器 ]|--------------------|       |         |
内网IP   内网IP    内网IP
192.168.1.2  192.168.1.3  192.168.1.4
  • 所有内网设备通过路由器的公网 IP 访问互联网。
  • 内网设备访问外部时,路由器通过 NAT 技术,把内网 IP 映射到公网 IP。

NAT(Network Address Translation,网络地址转换)是一种将 私有 IP 地址(内网 IP) 转换成 公网 IP 地址 的技术,主要用于 多个设备共享一个公网 IP 上网。

它通常部署在路由器或防火墙上,解决了 IPv4 地址不足的问题,并提高了网络安全性。

3. 子网掩码(Subnet Mask)

子网掩码 是用来划分 IP 地址的网络部分和主机部分的,它和 IP 地址一起工作,帮助系统判断:

“某个 IP 地址是否和我在同一个网络中?”

这个子网掩码的作用就是让你的系统知道哪些地址属于本地(不需要走网关),哪些地址是远程(需要走网关),是整个网络通信判断路由的基础。

4. 默认网关

4.1 🌐 什么是默认网关?

默认网关 是你所在网络中负责 把你的请求转发到其他网络(如互联网) 的设备。通常是路由器或三层交换机。

简单理解:

当你的电脑想访问不在自己子网内的 IP 地址时,它就把这个请求交给默认网关,由它来转发。

4.2 🧭 为什么需要默认网关?

局域网(如 192.168.1.0/24)内部设备之间可以直接通信,但如果你要访问:

  • 外部互联网(如 8.8.8.8)
  • 另一个子网(如 192.168.2.0/24)

你就必须走网关。

默认网关就是“出村口的那条路”,你走不了自己村的地址,就去“村口”问问怎么走 —— 这就是默认网关的职责。

4.3 🛠 举个例子

在这里插入图片描述

这意味着:

  • 和 192.168.1.x 网段的主机通信时,直接发。
  • 如果目标是 10.0.0.1 或 8.8.8.8,发不出去,就把数据包交给网关 192.168.1.1 处理。
查看默认网关[root@centos01 ~]# ip route
default via 192.168.1.1 dev ens33 proto static metric 100 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 
172.18.0.0/16 dev br-ce5dd74217dc proto kernel scope link src 172.18.0.1 
172.19.0.0/16 dev br-82a7b8f1fc65 proto kernel scope link src 172.19.0.1 
192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.5 metric 100 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 

意思是:所有“非本地”的请求都通过 192.168.1.1 发送,使用接口 ens33。

5. DNS

DNS(Domain Name System)是将域名(如 www.baidu.com)转换为 IP 地址(如 220.181.38.251)的系统。

简单理解:

DNS 就像互联网的“电话簿”或“联系人”,你记住了名字,它帮你查号码。

🔧 为什么需要 DNS?
人类更容易记住名字(如 www.google.com),但网络通信只能通过 IP 地址(如 142.250.66.100)进行。DNS 充当了中间转换者。

没有 DNS,访问网站必须手动输入 IP 地址,极其不方便且不直观。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/84416.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Azure 公有云基础架构与核心服务:从基础到实践指南

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 Azure 的基础架构由多个核心组件构成,理解这些概念是掌握其技术框架的第一步: 地理区域(Geographic R…

Ajax01-基础

一、AJAX 1.AJAX概念 使浏览器的XMLHttpRequest对象与服务器通信 浏览器网页中,使用 AJAX技术(XHR对象)发起获取省份列表数据的请求,服务器代码响应准备好的省份列表数据给前端,前端拿到数据数组以后,展…

使用防火墙禁止程序联网(这里禁止vscode)

everything搜一下Code.exe的安装路径:D:\downloadApp1\vscode\Microsoft VS Code\Code.exe 方法:使用系统防火墙(推荐) Windows 通过防火墙阻止 VS Code: 打开 Windows Defender 防火墙(控制面板 > 系统…

微信小程序 隐私协议弹窗授权

开发微信小程序的第一步往往是隐私协议授权,尤其是在涉及用户隐私数据时,必须确保用户明确知晓并同意相关隐私政策。我们才可以开发后续的小程序内容。友友们在按照文档开发时可能会遇到一些问题,我把所有的授权方法和可能遇到的问题都整理出…

JVM规范之栈帧

JVM规范之栈帧 前言正文概述局部变量表操作数栈动态链接 总结参考链接 前言 上一篇文章了解了JVM规范中的运行时数据区: JVM规范之运行时数据区域 其中,栈是JVM线程私有的内存区,栈中存储的单位是帧(frames)&#xff…

SGMD辛几何模态分解

SGMD辛几何模态分解 运行包含频谱图相关系数图 Matlab语言 算法近几年刚提出,知网还没几个人用,你先用,你就是创新! 算法新颖小众,用的人很少,包含分解图、频谱图、相关系数图,效果如图所示&a…

计算机网络总结(物理层,链路层)

目录 第一章 概述 1.基本概念 2.- C/S模式,B/S模式,P2P模式 3.- LAN,WAN,MAN,PAN的划分 4.电路交换与分组交换,数据报交换和虚电路交换 第二章 物理层 1.信号编码:不归零编码,曼切斯特编码 2.几种复用技术的特…

台系厂商SSD主控之争:Phison对决SMI

近日,台系SSD主控厂商Phison和Silicon Motion之间围绕主控性能的争论引发关注,焦点集中在Gen5 SSD的功耗和速度等关键指标上。 Phison的E28 Gen5 SSD控制器已推出一段时间,是市场上一些最快存储设备的“心脏”。其主要竞争对手Silicon Motion…

医学影像科研概述与研究伦理

关键要点 医学影像科研通过开发和优化影像技术(如X射线、CT、MRI等)推动疾病诊断和治疗进步。研究需遵循核心伦理原则:受益(为患者和社会带来益处)、无害(避免伤害)、自主(尊重患者选择权)和公正(公平对待参与者)。医学影像科研的特殊伦理问题包括知情同意、隐私保护…

使用 kafka-console-consumer.sh 指定时间或偏移量消费

1、问题来源 在工作中需要观察上游生产的数据顺序和自己写的任务处理数据的顺序是否一致,尝尝需要将kafka中的指定时间或者偏移量开始的数据导出来分析,如果每次都导数据都是从头开消费导全量,往往少则几个G多则几十G的数据,导出…

构建Harbor私有镜像库

软硬件环境清单 环境搭建 部署Euler22.0系统,连接xshell: 关闭防火墙和selinux,设置主机名: systemctl stop firewalld systemctl disable firewalld vi /etc/selinux/config hostnamectl set-hostname harbor reboot 修改静态…

分布式缓存:缓存设计中的 7 大经典问题_缓存失效、缓存穿透、缓存雪崩

文章目录 缓存全景图Pre缓存设计中的 7 大经典问题一、缓存失效1. 问题描述2. 原因分析3. 业务场景4. 解决方案 二、缓存穿透1. 问题描述2. 原因分析3. 业务场景4. 解决方案缓存空结果BloomFilter 过滤BloomFilter 原理简述 三、缓存雪崩1. 问题描述2. 原因分析3. 业务场景4. 解…

Mysql差异备份与恢复

1.练习差异备份 差异备份:备份完全备份后,新产生的数据。 在192.168.88.50主机完成差异备份 步骤一:练习差异备份//周一完全备份 mysql> select * from test.one; --------------------- | name | age | sex | ------------------…

【Fargo】razor框架调用mediasoup的发送和接收能力

功能进行拆分,创建独立的发送和接收线程,并实现跨线程的数据传递。创建一个简化的主函数,展示如何使用这些新的接口线程隔离是通过包队列实现的,实际上可以用webrtc的post 跨线程机制? 需求 主要有两个需求:启动接收线程接收数据的接口 启动发送线程,但是数据来自于sim_…

C++——volatile

Cvolatile关键字 volatile是C中的一个关键字,用于修饰变量,表示该变量的值可能会在程序的控制之外被改变。它主要告诉编译器不要对这个变量进行优化,确保每次访问变量时都从实际存储位置读取最新值,而不是依赖寄存器中的缓存值。…

搭建自己的语音对话系统:开源 S2S 流水线深度解析与实战

网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…

qt浏览文件支持惯性

#include <QApplication> #include <QListWidget> #include <QScroller> #include <QScrollerProperties>int main(int argc, char *argv[]) {QApplication app(argc, argv);// 创建列表控件并添加示例项QListWidget listWidget;for (int i 0; i <…

路径规划算法BFS/Astar/HybridAstar简单实现

借鉴本文所述代码简单实现一下BFS&#xff0c;Astar和HybridAstar路径规划算法&#xff0c;用于辅助理解算法原理。 代码在这里&#xff0c;画图用到了matplotlibcpp库&#xff0c;需要先装一下&#xff0c;然后直接在文件目录下执行如下代码即可运行&#xff1a; mkdir build…

get_the_category() 和 get_the_terms() 的区别

get_the_category() 和 get_the_terms() 是WordPress中用于获取文章分类的两个函数&#xff0c;但它们之间存在一些关键差异&#xff1a; get_the_category() 特定于分类&#xff1a;get_the_category() 函数专门用于获取文章的分类(category)。它返回一个包含所有分类对象的…

RocketMq的消息类型及代码案例

RocketMQ 提供了多种消息类型&#xff0c;以满足不同业务场景对 顺序性、事务性、时效性 的要求。其核心设计思想是通过解耦 “消息传递模式” 与 “业务逻辑”&#xff0c;实现高性能、高可靠的分布式通信。 一、主要类型包括 普通消息&#xff08;基础类型&#xff09;顺序…