网络知识篇

什么是IP与端口

互联网里的"门牌号"

在现实世界中,你要给朋友寄快递,需要知道他的地址。在互联网世界里,程序之间要互相通信,也需要一种"地址"——这就是 IP 地址

💡 类比:IP地址就像一栋楼的门牌号,端口就像楼里的房间号。快递员(数据包)需要先找到楼(IP),再找到具体房间(端口)。

加载图表中...

什么是IP地址?

IP(Internet Protocol)地址 是互联网中每台设备的唯一标识。

IPv4 地址

最常见的格式,由4组数字组成,每组 0-255:

192.168.1.100    ← 你家路由器分配给你电脑的地址(内网IP)
93.184.216.34    ← 某个网站服务器的地址(公网IP)
127.0.0.1        ← 永远指向自己的电脑(localhost)

IPv6 地址

由于IPv4地址快用完了(最多约43亿个),IPv6 应运而生:

2001:0db8:85a3:0000:0000:8a2e:0370:7334

IPv6 能提供的地址数量是 2^128 ≈ 3.4×10³⁸ 个,够给地球上每一粒沙子分配一个地址。

特殊IP地址

IP 地址含义用途
127.0.0.1本机回环地址等同于 localhost
192.168.x.x局域网地址家庭/公司内网
10.x.x.x局域网地址企业内网
0.0.0.0所有网络接口服务器监听所有地址
加载图表中...

什么是端口?

一台电脑上可能同时运行着很多程序:浏览器、微信、音乐播放器、开发服务器……它们都需要网络,怎么区分谁的数据给谁?答案就是端口(Port)

端口是一个数字,范围 0 - 65535,用来区分同一台电脑上的不同网络服务。

加载图表中...

常见端口号

端口服务说明
80HTTP网页(不加密)
443HTTPS网页(加密)
3000开发服务器Next.js / React 默认端口
3306MySQL数据库
5432PostgreSQL数据库
6379Redis缓存数据库
22SSH远程登录服务器
8080备用HTTP常用于开发测试

IP + 端口 = 完整地址

当你在浏览器输入 http://localhost:3000 时:

http://localhost:3000
 ↓        ↓       ↓
协议    IP地址    端口号
加载图表中...

💡 当你访问 https://www.baidu.com 时,浏览器默认使用 443 端口,所以你不需要手动写端口号。

在终端中查看IP信息

# macOS / Linux:查看本机IP
$ ifconfig | grep "inet "
inet 127.0.0.1
inet 192.168.1.100

# Windows:查看本机IP
> ipconfig

# 查看某个域名对应的IP
$ ping baidu.com
PING baidu.com (39.156.66.10): 56 data bytes

# 查看端口占用
$ lsof -i :3000
COMMAND   PID    USER   FD   TYPE
node      1234   user   23u  IPv6

小结

  • IP地址是互联网中设备的唯一标识(门牌号)
  • 端口号区分同一设备上的不同服务(房间号)
  • 127.0.0.1 = localhost = 你自己的电脑
  • 常见端口:80(HTTP)、443(HTTPS)、3000(开发)、3306(MySQL)
  • 完整的网络地址 = IP + 端口,如 192.168.1.100:3000