IP 地址Internet Protocol Address)是 IP 网络中用于标识网络接口或路由位置的逻辑地址,路由器根据它把数据包一步步转发到目标网络。

核心问题

网络通信需要先解决“包要送到哪台主机或哪个网络接口附近”的问题。IP 地址提供的是网络层定位能力;端口 提供的是传输层应用入口能力。两者组合后,TCPUDPSocket 才能把数据交给正确主机上的正确进程。

核心机制

常见 IP 地址分为 IPv4 和 IPv6:

类型长度例子
IPv432 位192.0.2.10
IPv6128 位2001:db8::1

IP 地址通常和前缀长度一起使用:

192.0.2.10/24
2001:db8::1/64

前缀表示网络部分,剩余部分表示该网络内的接口标识。路由器转发时通常按最长前缀匹配选择下一跳。

在传输层连接里,IP 地址参与区分通信端点:

TCP 连接四元组 = (源 IP, 源端口, 目的 IP, 目的端口)
UDP 递交通常至少看 = (协议, 目的 IP, 目的端口)

这说明 IP 地址不等于进程,也不等于用户。它只是网络层地址;同一台主机上可以有多个 IP,同一 IP 上也可以有很多端口。

工程用途

  • 主机寻址:客户端根据服务端 IP 把包发往目标网络。
  • 服务监听:服务可以绑定 0.0.0.0127.0.0.1、某个内网 IP 或公网 IP。
  • 路由与防火墙:网络设备根据源/目的 IP、端口和协议做转发或过滤。
  • 日志和排障:访问日志、连接跟踪和抓包都离不开源/目的 IP。

观察点包括公网/私网地址、回环地址、绑定地址、子网前缀、路由表、NAT 后的地址变化和 DNS 解析结果。

边界与常见坑

  • IP 地址不是域名:域名需要 DNS 解析到一个或多个 IP 地址。
  • IP 地址不是端口:IP 定位主机或接口,端口定位传输层入口。
  • 127.0.0.1 只代表本机回环:服务绑定到回环地址时,其他机器通常无法访问。
  • 0.0.0.0 在绑定和访问中含义不同:服务端绑定 0.0.0.0 表示监听所有 IPv4 本地地址;客户端不能把它当作远端服务地址。
  • NAT 会改变可见地址:应用看到的源 IP 可能是网关或代理地址,不一定是真实客户端。
  • 一台机器可有多个地址:多网卡、IPv4/IPv6、容器网络都会让“这台机器的 IP”变成上下文相关问题。

相关术语