我们在现实中靠门牌号接收快递,设备在互联网中就靠IP地址接收数据,两者逻辑完全一致:
核心结论:没有IP地址,互联网数据就会“迷路”,无法完成传输。
1.2 IP地址的两个版本:IPv4与IPv6
目前IP地址有两个版本,日常开发重点掌握IPv4即可,IPv6作为未来趋势了解即可。

第二章:IPv4地址详解

2.1 地址结构:4段数字的“密码”
IPv4地址由4段0-255的十进制数字组成,每段对应8位二进制(28=256,因此取值0-255),结构如下:
192 . 168 . 1 . 100
│ │ │ │
│ │ │ └── 第四段:0-255
│ │ └─────── 第三段:0-255
│ └──────────── 第二段:0-255
└────────────────── 第一段:0-255
2.2 IP地址分类:按用途分最关键
所有IPv4地址按用途可分为公网IP和内网IP,这是开发中最常接触的分类方式:
┌─────────────────────────────────────────────────────────┐
│ 所有 IP 地址 │
├─────────────────────────┬───────────────────────────────┤
│ 公网 IP │ 内网 IP │
│ (全球唯一,可直接上网) │ (局域网内使用,可重复) │
├─────────────────────────┼───────────────────────────────┤
│ 示例:180.101.50.242 │ 10.x.x.x (A类私有地址) │
│ (百度的公网IP) │ 172.16.x.x - 172.31.x.x(B类)│
│ │ 192.168.x.x(C类私有地址) │
└─────────────────────────┴───────────────────────────────┘
2.3 必须背会的特殊IP
以下特殊IP在开发中高频出现,记牢能避免很多踩坑:

第三章:公网IP vs 内网IP(核心概念)

3.1 一张图看懂两者关系
内网设备无法直接访问互联网,必须通过路由器的公网IP作为“桥梁”,结构如下:
☁️ 互联网 ☁️
│
┌─────────┴─────────┐
│ 路由器 │
│ 公网 IP: │
│ 203.0.113.50 │ ← 运营商分配,全球唯一
└─────────┬─────────┘
│
┌──────────────────┼──────────────────┐
│ │ │
┌──────┴──────┐ ┌──────┴──────┐ ┌──────┴──────┐
│ 你的 Mac │ │ 手机 │ │ iPad │
│192.168.1.100│ │192.168.1.101│ │192.168.1.102│
└─────────────┘ └─────────────┘ └─────────────┘
↑ ↑ ↑
内网 IP 内网 IP 内网 IP
(仅在当前局域网内有效,不同家庭可重复)
3.2 核心区别对比

3.3 内网设备上网的秘密:NAT技术

内网IP无法直接访问互联网,核心靠 NAT(网络地址转换) 技术,路由器充当“翻译官”的角色,流程如下:
你的设备发起请求:192.168.1.100 → “我要访问百度”
路由器NAT转换:将内网IP替换为公用IP → 203.0.113.50 → “我要访问百度”
百度响应:百度服务器 → 203.0.113.50 → “这是网页内容”
路由器还原地址:根据请求记录转发给你 → 192.168.1.100 → “这是网页内容”
你接收内容:完成上网操作
第四章:子网掩码与CIDR
4.1 子网掩码:区分“网络号”与“主机号”子网掩码的核心作用是划分IP地址,明确哪部分是“网络号”(所属局域网),哪部分是“主机号”(局域网内设备标识):
IP 地址: 192.168.1.100
子网掩码: 255.255.255.0
─────────────── (按位与运算)
网络号: 192.168.1.0 ← 相同网络号=同一局域网=可直接通信
主机号: 0.0.0.100 ← 区分同一局域网内不同设备
通俗结论:网络号相同的设备,相当于住在“同一小区”,可以直接通信;网络号不同则需要路由器转发。
4.2 CIDR表示法:子网掩码的简洁写法
CIDR用 /数字 表示子网掩码中连续1的位数,替代繁琐的点分格式,日常开发高频使用:
192.168.1.100/24
↓
等同于:IP 192.168.1.100 + 子网掩码 255.255.255.0
↓
含义:192.168.1.x 网段(256个地址)属于同一局域网
4.3 常见CIDR对照表
第五章:端口(Port)
5.1 端口的作用:定位设备上的“程序”
IP地址定位“哪台设备”,端口则定位“设备上哪个程序”。比如你的电脑同时运行多个应用,全靠端口区分数据流向:
你的电脑同时运行:
- Chrome 浏览器: 192.168.1.100:54321 (系统随机端口)
- VS Code: 192.168.1.100:54322 (系统随机端口)
- 微信: 192.168.1.100:54323 (系统随机端口)
- React 开发服务: 192.168.1.100:3000 (框架固定端口)
5.2 端口范围划分
端口取值范围0-65535,共65536个,按用途分为三类:
5.3 必记常用端口(开发高频)
网络服务类

前端开发类

数据库类
第六章:DNS(域名系统)
6.1 DNS的作用:人类的“记忆助手”
人类记不住枯燥的IP地址(如180.101.50.242),但能记住有意义的域名(如www.baidu.com)。DNS的核心就是将域名翻译成IP地址:
你输入: www.baidu.com
↓ DNS 解析
实际访问: 180.101.50.242
6.2 DNS解析流程(从快到慢)
浏览器输入域名后,会按以下顺序查询IP,优先使用缓存提升速度:
浏览器缓存:“我之前访问过吗?”→ 有则直接使用
系统缓存(hosts文件):“本地有配置吗?”→ 有则直接使用
路由器缓存:“路由器记得吗?”→ 有则直接使用
ISP DNS服务器(运营商):“运营商知道吗?”→ 知道则返回
递归查询:根服务器→.com服务器→baidu.com服务器,最终获取IP
6.3 hosts文件:本地DNS配置神器
hosts文件是本地DNS配置文件,优先级高于外部DNS,可强制指定域名对应IP,常用于本地开发或屏蔽广告。
文件位置
配置示例:
# hosts 文件内容示例
# 本地开发:自定义域名指向本机
127.0.0.1 local.myapp.com
192.168.1.100 dev.myapp.com
# 屏蔽广告:广告域名指向无效IP
0.0.0.0 ads.annoying-site.com
第七章:DHCP(动态主机配置协议)
7.1 为什么你的IP会变?
手机、电脑每次连WiFi,IP可能变化,核心是DHCP协议——路由器自动给内网设备分配IP,并有租期限制,流程如下:
设备请求:Mac连WiFi后广播“我需要IP地址!”
路由器分配:“给你192.168.1.100,租期24小时”
设备使用:用该IP上网
租期续租:租期快到,Mac请求续租,路由器同意或分配新IP
IP回收:设备长时间离线,路由器回收IP分配给其他设备
7.2 静态IP vs 动态IP
第八章:常用网络命令(实操必备)
这些命令能快速排查网络问题,是开发、运维的高频工具,按系统分类整理:
8.1 查看本机内网IP
8.2 查看本机公网IP
跨系统通用(终端/Git Bash):
curl ifconfig.me
curl ip.sb
curl ipinfo.io(带地区信息)
8.3 测试网络连通性(ping)
基础用法:ping www.baidu.com(Ctrl+C停止)
指定次数:ping -c 4 www.baidu.com(发送4个数据包)
Windows替代:ping -n 4 www.baidu.com
8.4 追踪路由(traceroute)
8.5 查看端口占用
查看3000端口占用:lsof -i :3000(macOS/Linux)
查看所有监听端口:lsof -i -P | grep LISTEN
杀掉进程:kill -9 <PID>(PID为进程号)
8.6 DNS查询与缓存清除
8.7 HTTP请求测试(curl)
GET请求:curl https://api.example.com/users
POST请求(带JSON): curl -X POST \ `` -H "Content-Type: application/json" \ `` -d '{"name":"test","age":20}' \ ``https://api.example.com/users
第九章:知识总结脑图(快速复盘)
IP 网络知识体系
│
├── IP 地址
│ ├── IPv4: 192.168.1.100(重点掌握)
│ ├── IPv6: 2001:db8::1(了解即可)
│ │
│ ├── 公网 IP:全球唯一,运营商分配,可上网
│ │ └── 示例:百度 180.101.50.242
│ │
│ └── 内网 IP(私有 IP):局域网内有效,可重复
│ ├── 10.x.x.x(大型企业)
│ ├── 172.16-31.x.x(中型企业)
│ └── 192.168.x.x(家庭/小公司,最常见)
│
├── 特殊 IP 地址
│ ├── 127.0.0.1 = localhost = 本机回环
│ └── 0.0.0.0 = 监听本机所有网络接口
│
├── 端口(Port)
│ ├── 作用:定位设备上的程序
│ ├── 范围:0-65535
│ └── 常用端口:80(HTTP)、443(HTTPS)、3000(React)、5173(Vite)
│
├── 核心网络协议
│ ├── NAT:内网设备上网的关键(地址转换)
│ ├── DHCP:路由器自动分配 IP(IP 变化的原因)
│ ├── DNS:域名 → IP 地址(人类记忆友好)
│ └── 子网掩码/CIDR:区分网络号和主机号
│
└── 常用网络命令
├── 查看内网 IP:ipconfig getifaddr en0 / ip addr
├── 查看公网 IP:curl ifconfig.me
├── 测试连通性:ping www.baidu.com
├── 查看端口占用:lsof -i :3000
├── DNS 查询:nslookup www.baidu.com
└── HTTP 测试:curl https://api.example.com