IP 地址与网络基础全面解析

一、IPv4 与 IPv6 的区别

IPv4

• 使用 32 位地址

• 表示方式:4 组十进制数字,每组范围在 0 ~ 255 之间

• 各组之间使用 .(点)隔开

• 示例:192.168.1.1

IPv6

• 使用 128 位地址

• 表示方式:8 组十六进制数字,每组之间用 :(冒号)隔开

• 示例:2001:0db8:85a3:0000:0000:8a2e:0370:7334

• 优势:地址空间巨大,有效解决 IPv4 枯竭问题

二、常见特殊 IP 地址解析

地址

含义说明

127.0.0.1

回环地址(Loopback),代表本机,用于本机内部通信测试

0.0.0.0

表示所有本地地址。监听服务绑定此地址意味着"所有网卡都可访问"

localhost

主机名,通常解析为 127.0.0.1,也是回环地址的别名

实际示例

host 复制代码
Listen 0.0.0.0:80

表示该服务监听在所有网卡的 80 端口上,可以通过 127.0.0.1:80、192.168.x.x:80 等多种地址访问。

三、网卡名称说明(Linux环境)

网卡名称 类型说明
lo Loopback(回环)网卡,仅用于本机自身通信
eth0 / ens33 真实或虚拟的网络接口,用于与外界通信

• lo 是内置的虚拟网卡,不与外部通信

• eth0 是传统命名方式,较新系统可能采用 ens33、enp0s3 等规则命名

四、ping 命令的作用

ping 并不是底层协议,而是一个应用层小工具。它基于 ICMP 协议,通过发送"回显请求"并等待"回显响应"来判断网络是否通畅。

示例命令

bash 复制代码
ping 8.8.8.8

• 如果收到响应包,则说明网络通畅,目标地址可达

• 常用于测试本机是否能连接外网、局域网内是否可通信等

五、Host 字段与 IP / 域名访问的区别

在进行 HTTP 请求时,浏览器会自动填充请求头中的 Host 字段,具体行为如下:

• Host 字段值为域名

• 示例:
http Host: www.example.com

使用 IP 地址访问时:

• Host 字段值为该 IP

• 示例:
http Host: 192.168.0.100

判断访问方式的实用技巧:

java 复制代码
if request.host != server_ip:
   # 说明是通过域名访问
else:
   # 是 IP 访问,可选择拒绝服务

这种方法可用于:

• 防止用户通过 IP 地址直连服务器

• 强制跳转域名以统一访问入口