从输入 URL 到页面展示到底发生了什么?
概念与机制浏览器解析 URL、检查缓存,经 DNS 得到地址,再由路由和邻居发现找到下一跳,途中可能经过 NAT、CDN 与代理。随后建立 TCP/TLS 或 QUIC 并发送 HTTP,返回内容再形成 DOM、样式、布局和子资源。页面慢可能在 DNS、连接、TLS、首字节、下载或渲染,应分段取证。 理解“从输入 URL 到页面展示到底发生了什么?”不能停在名词定义,还要找到状态保存位置、报文字段和交互顺序。发送端、接收端、中间设备和应用各自看到的现象并不相同;同一个超时可能来自解析、路由、队列、握手或业务处理。先画最小正常时序,再分别加入丢包、重复、乱序、对端重启等条件,才能理解协议为何需要缓存、确认、窗口或超时,而不是把这些机制当作孤立规则。 实践与误区验证时先记录目标地址、协议、端口、开始时间和请求标识,再把客户端错误、系统连接状态、网关指标、服务日志和抓包放到同一时间线。单一工具只能证明它实际观察的层次:端口可达不等于应用成功,收到响应也不代表业务数据已持久化。遇到异常应提出可证伪假设,选择能区分不同原因的证据,不要凭一次 Ping、一个状态码或一张抓包截图...
TCP TIME_WAIT 详解:为什么要等、会不会出问题、能不能复用?
概念与机制主动关闭方在最后 ACK 后等待 2MSL,既可回应重传 FIN,也让旧报文消散,防止污染相同四元组的新连接。大量短连接自然产生 TIME_WAIT,风险是临时端口或 NAT 状态耗尽;CLOSE_WAIT 则更像应用未关闭 socket。应先查谁主动关闭,再考虑连接池和谨慎的内核参数。 理解“TCP TIME_WAIT 详解:为什么要等、会不会出问题、能不能复用?”不能停在名词定义,还要找到状态保存位置、报文字段和交互顺序。发送端、接收端、中间设备和应用各自看到的现象并不相同;同一个超时可能来自解析、路由、队列、握手或业务处理。先画最小正常时序,再分别加入丢包、重复、乱序、对端重启等条件,才能理解协议为何需要缓存、确认、窗口或超时,而不是把这些机制当作孤立规则。 实践与误区验证时先记录目标地址、协议、端口、开始时间和请求标识,再把客户端错误、系统连接状态、网关指标、服务日志和抓包放到同一时间线。单一工具只能证明它实际观察的层次:端口可达不等于应用成功,收到响应也不代表业务数据已持久化。遇到异常应提出可证伪假设,选择能区分不同原因的证据,不要凭一次 Ping、一个状...
TCP 如何保证可靠传输?重传、滑动窗口与拥塞控制详解
概念与机制TCP 用序号、确认、校验、重排与重传保证字节流,SACK 可减少不必要重发。重传超时随 RTT 调整;接收窗口保护接收方,拥塞窗口保护网络,发送量受二者较小值限制。可靠交付不证明事务提交,断连重试仍需幂等、去重和结果查询,盲目放大缓冲还会抬高尾延迟。 理解“TCP 如何保证可靠传输?重传、滑动窗口与拥塞控制详解”不能停在名词定义,还要找到状态保存位置、报文字段和交互顺序。发送端、接收端、中间设备和应用各自看到的现象并不相同;同一个超时可能来自解析、路由、队列、握手或业务处理。先画最小正常时序,再分别加入丢包、重复、乱序、对端重启等条件,才能理解协议为何需要缓存、确认、窗口或超时,而不是把这些机制当作孤立规则。 实践与误区验证时先记录目标地址、协议、端口、开始时间和请求标识,再把客户端错误、系统连接状态、网关指标、服务日志和抓包放到同一时间线。单一工具只能证明它实际观察的层次:端口可达不等于应用成功,收到响应也不代表业务数据已持久化。遇到异常应提出可证伪假设,选择能区分不同原因的证据,不要凭一次 Ping、一个状态码或一张抓包截图直接下结论。 工程设计还应明确超时、...
TCP Keepalive 和 HTTP Keep-Alive 有什么区别?
概念与机制HTTP Keep-Alive 让多个请求复用连接;TCP Keepalive 是内核对长时间无数据连接做存活探测。默认 TCP 探测通常较慢,NAT 或代理可能更早删除状态,内核可回应也不代表应用线程健康。应协调连接池、服务端和代理超时,必要时设计业务心跳、重连与幂等恢复。 理解“TCP Keepalive 和 HTTP Keep-Alive 有什么区别?”不能停在名词定义,还要找到状态保存位置、报文字段和交互顺序。发送端、接收端、中间设备和应用各自看到的现象并不相同;同一个超时可能来自解析、路由、队列、握手或业务处理。先画最小正常时序,再分别加入丢包、重复、乱序、对端重启等条件,才能理解协议为何需要缓存、确认、窗口或超时,而不是把这些机制当作孤立规则。 实践与误区验证时先记录目标地址、协议、端口、开始时间和请求标识,再把客户端错误、系统连接状态、网关指标、服务日志和抓包放到同一时间线。单一工具只能证明它实际观察的层次:端口可达不等于应用成功,收到响应也不代表业务数据已持久化。遇到异常应提出可证伪假设,选择能区分不同原因的证据,不要凭一次 Ping、一个状态码或一...
为什么 TCP 是面向字节流,UDP 是面向报文?(传输层)
概念与机制TCP 不保留每次 write 的边界,接收端可能合并或拆分读取;UDP 保留发送报文边界,但可能丢失、乱序、截断或触发 IP 分片。TCP 所谓粘包是应用没定义消息边界,应使用长度前缀等方式成帧并限制最大长度。send 次数、PSH 标志和抓包中的段都不是稳定的应用消息边界。 理解“为什么 TCP 是面向字节流,UDP 是面向报文?(传输层)”不能停在名词定义,还要找到状态保存位置、报文字段和交互顺序。发送端、接收端、中间设备和应用各自看到的现象并不相同;同一个超时可能来自解析、路由、队列、握手或业务处理。先画最小正常时序,再分别加入丢包、重复、乱序、对端重启等条件,才能理解协议为何需要缓存、确认、窗口或超时,而不是把这些机制当作孤立规则。 实践与误区验证时先记录目标地址、协议、端口、开始时间和请求标识,再把客户端错误、系统连接状态、网关指标、服务日志和抓包放到同一时间线。单一工具只能证明它实际观察的层次:端口可达不等于应用成功,收到响应也不代表业务数据已持久化。遇到异常应提出可证伪假设,选择能区分不同原因的证据,不要凭一次 Ping、一个状态码或一张抓包截图直接...
计算机网络常见面试题总结(下)
概念与机制TCP 提供有序字节流并实现确认、重传和拥塞控制;UDP 保留报文,把恢复交给应用,QUIC 说明 UDP 不等于不可靠应用。握手同步双向状态,TIME_WAIT 隔离旧报文;连接靠四元组区分。IP 做寻址,ARP 找本地下一跳,NAT 改写边界映射;业务重试仍需幂等。 理解“计算机网络常见面试题总结(下)”不能停在名词定义,还要找到状态保存位置、报文字段和交互顺序。发送端、接收端、中间设备和应用各自看到的现象并不相同;同一个超时可能来自解析、路由、队列、握手或业务处理。先画最小正常时序,再分别加入丢包、重复、乱序、对端重启等条件,才能理解协议为何需要缓存、确认、窗口或超时,而不是把这些机制当作孤立规则。 实践与误区验证时先记录目标地址、协议、端口、开始时间和请求标识,再把客户端错误、系统连接状态、网关指标、服务日志和抓包放到同一时间线。单一工具只能证明它实际观察的层次:端口可达不等于应用成功,收到响应也不代表业务数据已持久化。遇到异常应提出可证伪假设,选择能区分不同原因的证据,不要凭一次 Ping、一个状态码或一张抓包截图直接下结论。 工程设计还应明确超时、重试、...
计算机网络常见面试题总结(上)
概念与机制可沿浏览器访问组织基础题:URL、DNS、路由、TCP 或 QUIC、TLS、HTTP 与渲染形成一条因果链。HTTP 无状态不妨碍应用维持会话;HTTP/2 在 TCP 上复用流,HTTP/3 基于 QUIC;WebSocket 适合双向,SSE 偏单向。回答应给结论、条件、机制、权衡和故障例子。 理解“计算机网络常见面试题总结(上)”不能停在名词定义,还要找到状态保存位置、报文字段和交互顺序。发送端、接收端、中间设备和应用各自看到的现象并不相同;同一个超时可能来自解析、路由、队列、握手或业务处理。先画最小正常时序,再分别加入丢包、重复、乱序、对端重启等条件,才能理解协议为何需要缓存、确认、窗口或超时,而不是把这些机制当作孤立规则。 实践与误区验证时先记录目标地址、协议、端口、开始时间和请求标识,再把客户端错误、系统连接状态、网关指标、服务日志和抓包放到同一时间线。单一工具只能证明它实际观察的层次:端口可达不等于应用成功,收到响应也不代表业务数据已持久化。遇到异常应提出可证伪假设,选择能区分不同原因的证据,不要凭一次 Ping、一个状态码或一张...
OSI 七层模型与 TCP/IP 四层模型详解
概念与机制OSI 七层用于解释职责,TCP/IP 常归纳为网络接口、网际、传输和应用四层,两者无需一一映射。应用消息逐层加入传输、IP 与链路头,路由器逐跳重写链路信息,接收端反向解封装。模型适合按链路、邻居、路由、端口、TLS 和应用逐层取证。 理解“OSI 七层模型与 TCP/IP 四层模型详解”不能停在名词定义,还要找到状态保存位置、报文字段和交互顺序。发送端、接收端、中间设备和应用各自看到的现象并不相同;同一个超时可能来自解析、路由、队列、握手或业务处理。先画最小正常时序,再分别加入丢包、重复、乱序、对端重启等条件,才能理解协议为何需要缓存、确认、窗口或超时,而不是把这些机制当作孤立规则。 实践与误区验证时先记录目标地址、协议、端口、开始时间和请求标识,再把客户端错误、系统连接状态、网关指标、服务日志和抓包放到同一时间线。单一工具只能证明它实际观察的层次:端口可达不等于应用成功,收到响应也不代表业务数据已持久化。遇到异常应提出可证伪假设,选择能区分不同原因的证据,不要凭一次 Ping、一个状态码或一张抓包截图直接下结论。 工程设计还应明确超时、重试...
网络攻击常见手段总结(安全)
概念与机制IP 欺骗滥用源地址,SYN Flood 消耗半连接,UDP Flood 压带宽,HTTP Flood 用高成本请求压应用,DNS 还可能被反射放大。中间人插入路径,RST 攻击伪造重置。防护必须分层实施反欺骗、清洗、限速、鉴权、配额、缓存与降级,而非只靠封禁 IP。 理解“网络攻击常见手段总结(安全)”不能停在名词定义,还要找到状态保存位置、报文字段和交互顺序。发送端、接收端、中间设备和应用各自看到的现象并不相同;同一个超时可能来自解析、路由、队列、握手或业务处理。先画最小正常时序,再分别加入丢包、重复、乱序、对端重启等条件,才能理解协议为何需要缓存、确认、窗口或超时,而不是把这些机制当作孤立规则。 实践与误区验证时先记录目标地址、协议、端口、开始时间和请求标识,再把客户端错误、系统连接状态、网关指标、服务日志和抓包放到同一时间线。单一工具只能证明它实际观察的层次:端口可达不等于应用成功,收到响应也不代表业务数据已持久化。遇到异常应提出可证伪假设,选择能区分不同原因的证据,不要凭一次 Ping、一个状态码或一张抓包截图直接下结论。 工程设计还应明确超时、重试、幂等...
NAT 协议详解(网络层)
概念与机制NAT 在边界改写地址,常见 PAT 还改写端口并维护映射,让多个私网连接共享公网 IP。无既有状态的入站访问通常需要端口转发、反向代理或打洞。NAT 缓解 IPv4 地址不足但不是防火墙,也破坏端到端可达;排查要对照改写前后五元组、返回路径、超时和端口容量。 理解“NAT 协议详解(网络层)”不能停在名词定义,还要找到状态保存位置、报文字段和交互顺序。发送端、接收端、中间设备和应用各自看到的现象并不相同;同一个超时可能来自解析、路由、队列、握手或业务处理。先画最小正常时序,再分别加入丢包、重复、乱序、对端重启等条件,才能理解协议为何需要缓存、确认、窗口或超时,而不是把这些机制当作孤立规则。 实践与误区验证时先记录目标地址、协议、端口、开始时间和请求标识,再把客户端错误、系统连接状态、网关指标、服务日志和抓包放到同一时间线。单一工具只能证明它实际观察的层次:端口可达不等于应用成功,收到响应也不代表业务数据已持久化。遇到异常应提出可证伪假设,选择能区分不同原因的证据,不要凭一次 Ping、一个状态码或一张抓包截图直接下结论。 工程设计还应明确超时、重试、幂等、容量和可...