IP
IP 负责跨网络传送数据报,以地址标识网络接口,并由路由器逐跳转发。本文覆盖子网、路由与传输边界,为 DNS、TCP 和 HTTP 提供前置知识。
1. 面试核心
先记住这几条,再读正文- IP 提供尽力而为的数据报交付,不保证必达、有序或不重复。
- 子网前缀用于判断地址范围,路由采用最长前缀匹配。
- IP 地址、端口和域名分别承担网络定位、进程服务区分和名称解析职责。
2. 地址与逐跳转发
主机发送数据报前先查本地路由。目标在直连网络时,可直接寻找下一跳的链路层地址;否则把数据交给网关。IPv4 常通过 ARP 解析同一链路上的下一跳 MAC,IPv6 使用邻居发现。
路由器根据目的 IP 查转发表,再从选定接口发送。链路层地址随着每一跳改变;IP 地址通常保持端到端意义,但 NAT 等机制会改写它。
3. 子网与路由选择
192.0.2.0/24 表示前 24 位固定的 IPv4 地址范围。若路由表同时存在 /0 默认路由和匹配目标的 /24 路由,应选择更具体的 /24。
路由判断与应用端口无关:同一服务器 IP 上的 443 和 8080 可对应不同服务,由传输层和操作系统继续分发。域名也可以返回多个 IP,且地址随部署变化;不能把一个域名当成永远固定的一台主机。
4. 使用边界
IPv4 的 TTL、IPv6 的 Hop Limit 随转发递减,用来限制循环转发。它们与 DNS 缓存 TTL 是不同概念。
单个链路的 MTU 限制包大小,跨路径传输要考虑路径 MTU。IPv4 和 IPv6 的分片规则不同,IPv6 路由器不替发送端执行分片。应用不应假设任意大小 UDP 数据报都能可靠交付;需要可靠字节流时,由 TCP 等上层协议补充机制。
5 · 面试题卡片
先想答案,再翻面题目来自公开面经。点任意一张进入翻卡,可左右切换,看完回到这里。
逐张翻看 1 张 →5.1 访问服务器时,IP 地址、端口与域名分别起什么作用?
出现公司:暂无已核验的公开来源(本站自测)
考察重点:名称解析、网络转发和端口分发在请求路径中的职责。
参考回答
域名由 DNS 解析成相关记录,IP 用于网络寻址和逐跳转发,端口结合传输协议与地址让操作系统识别连接或服务。IP 本身不保证可靠交付。一个域名可对应多个地址,同一地址可承载多个端口服务,不能把三者当成一一对应关系。