计算机网络:从分层模型到 TCP/IP、HTTP 与网络排查 计算机网络的本质是让不同设备在遵守同一套规则的前提下交换数据。我们平时访问网页、刷视频、发送消息、远程登录服务器、调用接口本质上都是数据在网络中被拆分、封装、传输、转发、重组和解析的过程。这篇文章会从整体视角介绍计算机网络的核心知识包括网络分层、IP、TCP、UDP、DNS、HTTP、HTTPS、常见网络设备以及排查思路。1. 为什么需要计算机网络如果两台计算机彼此独立它们只能处理本地数据。网络的出现使计算机之间可以共享资源、传递消息和协同工作。常见场景包括浏览器访问网站手机 App 调用后端接口服务之间通过 RPC 或 HTTP 通信数据库远程连接文件上传下载即时通信、视频会议、直播云服务器、容器和微服务之间的通信计算机网络解决的核心问题可以概括为如何找到目标机器如何把数据发送过去如何保证数据不乱、不丢、不重复如何让不同程序识别彼此的数据格式如何在不可信网络中保证安全2. 网络分层模型网络通信非常复杂所以通常会采用“分层”的方式理解和设计。经典模型有两个OSI 七层模型TCP/IP 四层模型2.1 OSI 七层模型层级名称作用常见协议或设备第 7 层应用层面向应用程序定义数据格式和交互规则HTTP、FTP、SMTP、DNS第 6 层表示层数据编码、压缩、加密TLS、JPEG、UTF-8第 5 层会话层管理会话连接RPC 会话、登录状态第 4 层传输层端到端传输处理可靠性和端口TCP、UDP第 3 层网络层IP 寻址和路由转发IP、ICMP、路由器第 2 层数据链路层局域网内传输MAC 地址寻址Ethernet、交换机第 1 层物理层电信号、光信号、无线信号传输网线、光纤、网卡OSI 模型更偏理论便于学习和定位问题。2.2 TCP/IP 四层模型实际工程中更常用 TCP/IP 模型。层级名称对应 OSI常见协议第 4 层应用层应用层、表示层、会话层HTTP、DNS、SMTP第 3 层传输层传输层TCP、UDP第 2 层网络层网络层IP、ICMP第 1 层网络接口层数据链路层、物理层Ethernet、Wi-Fi可以简单理解为应用层数据要表达什么传输层数据如何送到对应进程网络层数据如何送到对应主机网络接口层数据如何在具体链路上传输3. 数据是如何被发送出去的假设你在浏览器访问https://example.com/index.html大致过程如下浏览器解析 URL通过 DNS 查询域名对应的 IP 地址与目标服务器建立 TCP 连接如果是 HTTPS还要进行 TLS 握手浏览器发送 HTTP 请求服务器返回 HTTP 响应浏览器解析 HTML、CSS、JavaScript 并渲染页面连接复用或关闭数据在发送时会被逐层封装应用层数据 ↓ 加上 TCP 头 TCP 报文段 ↓ 加上 IP 头 IP 数据包 ↓ 加上以太网头和尾 以太网帧 ↓ 转换成电信号、光信号或无线信号 物理传输接收方则按相反方向逐层解封装。4. IP 地址网络中的主机标识IP 地址用于标识网络中的一台主机。常见的 IPv4 地址类似192.168.1.10 8.8.8.8IPv4 地址由 32 位二进制组成通常写成四段十进制数字。4.1 公网 IP 和私网 IP公网 IP 可以在互联网中直接路由私网 IP 通常只在局域网内部使用。常见私网地址范围私网地址段示例10.0.0.0/810.1.2.3172.16.0.0/12172.16.1.10192.168.0.0/16192.168.1.100家用路由器、公司内网、容器网络中经常使用私网 IP。4.2 子网掩码与网段IP 地址通常会搭配子网掩码用于判断两个地址是否在同一网段。例如IP: 192.168.1.10 掩码: 255.255.255.0 CIDR: 192.168.1.10/24/24表示前 24 位是网络号剩余 8 位是主机号。同一网段中的机器可以直接通过二层网络通信不同网段之间通信通常需要经过网关或路由器。5. MAC 地址局域网中的设备标识IP 地址用于跨网络寻址MAC 地址用于局域网内寻址。MAC 地址通常长这样00:1A:2B:3C:4D:5E当一台机器要在局域网内发送数据时需要知道目标 IP 对应的 MAC 地址。这时会使用 ARP 协议。5.1 ARP 的作用ARP 用于根据 IP 地址查询 MAC 地址。例如主机 A 想找192.168.1.20的 MAC 地址会在局域网广播谁是 192.168.1.20请告诉 192.168.1.10目标机器收到后回复自己的 MAC 地址。6. TCP可靠的传输协议TCP 是面向连接、可靠、有序的传输协议。它常用于HTTP/HTTPSMySQLSSHSMTPFTPTCP 主要解决数据是否送达数据是否有序数据是否重复网络拥塞时如何控制发送速度接收方处理不过来时如何进行流量控制6.1 TCP 三次握手TCP 通信前需要建立连接这个过程叫三次握手。服务端客户端服务端客户端SYNSYN ACKACK简单理解客户端我想和你建立连接服务端可以我也准备好了客户端确认我们开始通信三次握手的目的是确认双方的发送和接收能力都正常。6.2 TCP 四次挥手连接关闭通常需要四次挥手。服务端客户端服务端客户端FINACKFINACK因为 TCP 是全双工通信双方都可以独立发送和关闭自己的数据流所以关闭连接通常比建立连接多一步。6.3 TCP 为什么可靠TCP 的可靠性主要来自这些机制序列号标记数据顺序确认应答接收方告诉发送方哪些数据收到了超时重传超过时间未确认则重发滑动窗口提升传输效率流量控制避免接收方被压垮拥塞控制避免网络被打满7. UDP更轻量的传输协议UDP 是无连接、不保证可靠、不保证顺序的传输协议。它的特点是开销小延迟低不需要建立连接不负责重传和排序常见使用场景DNS 查询视频直播语音通话在线游戏QUIC/HTTP/3 底层传输UDP 并不是“不好”而是把可靠性控制交给了应用层。对于实时音视频来说偶尔丢一两个包可能比等待重传更可接受。8. TCP 和 UDP 对比对比项TCPUDP是否连接面向连接无连接可靠性可靠传输不保证可靠顺序保证顺序不保证顺序速度相对较慢相对较快开销较大较小典型场景网页、数据库、SSHDNS、直播、游戏、语音选择 TCP 还是 UDP本质取决于业务更看重可靠性还是实时性。9. DNS把域名转换成 IP人更容易记住域名计算机通信需要 IP 地址所以需要 DNS。例如www.example.com - 93.184.216.34DNS 查询大致过程查浏览器缓存查操作系统缓存查本地 hosts 文件请求本地 DNS 服务器递归查询根域名服务器、顶级域名服务器、权威域名服务器返回最终 IP 地址DNS 常见记录类型类型作用A域名指向 IPv4 地址AAAA域名指向 IPv6 地址CNAME域名别名MX邮件服务器TXT文本记录常用于验证NS指定域名服务器10. HTTP应用层通信协议HTTP 是浏览器和服务器之间最常见的应用层协议。一个 HTTP 请求通常包含GET /index.html HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 Accept: text/html一个 HTTP 响应通常包含HTTP/1.1 200 OK Content-Type: text/html Content-Length: 1024 html bodyHello/body /html10.1 常见 HTTP 方法方法含义GET获取资源POST创建资源或提交数据PUT整体更新资源PATCH局部更新资源DELETE删除资源HEAD只获取响应头OPTIONS查询支持的方法或跨域预检10.2 常见 HTTP 状态码状态码含义200请求成功201创建成功301永久重定向302临时重定向400请求参数错误401未认证403无权限404资源不存在500服务端内部错误502网关错误503服务不可用504网关超时11. HTTPS加密的 HTTPHTTPS 可以理解为HTTPS HTTP TLSHTTP 明文传输容易被窃听、篡改或伪装。HTTPS 通过 TLS 提供加密防止内容被窃听完整性校验防止内容被篡改身份认证确认访问的服务端是真的HTTPS 握手中会涉及证书、非对称加密、对称加密和密钥协商。简单理解浏览器连接服务器服务器返回证书浏览器验证证书是否合法双方协商会话密钥后续数据使用对称加密传输12. 常见网络设备12.1 交换机交换机主要工作在数据链路层用于连接同一局域网内的设备。它根据 MAC 地址转发数据帧。12.2 路由器路由器主要工作在网络层用于连接不同网络。它根据 IP 地址和路由表决定数据包下一跳发往哪里。12.3 网关网关通常是当前网络访问其他网络的出口。例如家用网络中电脑的默认网关一般是路由器地址192.168.1.112.4 防火墙防火墙用于控制流量是否允许通过。它可以根据以下条件过滤流量源 IP目标 IP端口协议连接状态应用层规则12.5 负载均衡器负载均衡器用于把请求分发到多台后端服务器。常见作用提高系统吞吐避免单点故障做健康检查支持灰度发布终止 TLS13. NAT私网访问公网的关键很多设备使用私网 IP但私网 IP 不能直接在互联网中路由。NAT 用于把私网地址转换成公网地址。家里多台设备访问互联网时外部看到的通常是同一个公网 IP。路由器通过端口映射区分不同内部连接。例如192.168.1.10:50001 - 公网IP:30001 192.168.1.11:50002 - 公网IP:30002NAT 节省了 IPv4 地址但也让外部主动访问内网设备变得更复杂。14. 端口定位具体进程IP 地址定位主机端口定位主机上的具体进程。常见端口端口协议22SSH53DNS80HTTP443HTTPS3306MySQL5432PostgreSQL6379Redis8080常见 Web 服务端口例如192.168.1.10:8080表示访问192.168.1.10这台机器上的8080端口。15. 一次网页访问的完整链路下面用一次 HTTPS 网页访问串起来输入网址DNS 解析域名获得服务器 IP建立 TCP 连接TLS 握手发送 HTTP 请求服务器处理请求返回 HTTP 响应浏览器渲染页面对应到底层网络大致会经历浏览器生成 HTTP 请求TLS 对请求进行加密TCP 拆分数据并加上端口信息IP 层加上源 IP 和目标 IP数据链路层加上 MAC 地址数据通过网卡发出中间经过交换机、路由器、防火墙、负载均衡器服务端接收并逐层解析服务端返回响应客户端接收响应并展示页面16. 常见网络问题与排查思路网络问题通常可以从“分层”角度排查。16.1 无法访问网站可以按以下顺序检查本机网络是否正常DNS 是否解析成功目标 IP 是否可达目标端口是否开放服务端程序是否正常防火墙或安全组是否拦截HTTPS 证书是否异常代理、VPN、网关是否影响链路16.2 常见命令查看本机 IPWindowsipconfigLinux/macOSifconfigipaddr测试连通性pingexample.comping使用 ICMP 协议可以判断目标主机是否可达但有些服务器会禁用 ICMP所以 ping 不通不一定代表服务不可用。查看路由路径Windowstracert example.comLinux/macOStracerouteexample.com查询 DNSnslookupexample.com或digexample.com测试端口Windows PowerShellTest-NetConnectionexample.com-Port 443Linux/macOSnc-vzexample.com443查看 HTTP 响应curl-Ihttps://example.com17. 网络性能指标常见网络性能指标包括指标含义带宽单位时间内理论可传输的数据量吞吐量实际传输速度延迟数据从发送到接收所需时间抖动延迟的波动丢包率丢失数据包的比例并发连接数同时维持的连接数量例如视频会议更关注低延迟和低抖动文件下载更关注吞吐量在线游戏更关注延迟和丢包。18. HTTP/1.1、HTTP/2 与 HTTP/318.1 HTTP/1.1HTTP/1.1 支持长连接但多个请求之间仍然容易出现队头阻塞问题。18.2 HTTP/2HTTP/2 引入了多路复用、二进制帧、头部压缩等能力。优势包括一个连接上并发多个请求减少连接数量降低头部开销提升页面加载性能18.3 HTTP/3HTTP/3 基于 QUIC而 QUIC 基于 UDP。它的优势包括更快的连接建立改善 TCP 层队头阻塞更适合弱网和移动网络连接迁移能力更好19. 网络安全基础网络安全不是单一技术而是一套体系。常见风险包括明文传输被窃听DNS 劫持中间人攻击DDoS 攻击端口暴露弱口令未授权访问API 参数篡改常见防护手段使用 HTTPS配置防火墙和安全组最小化暴露端口使用强密码和密钥认证对接口做身份认证和权限控制对请求参数做签名或校验开启日志和监控定期更新系统和依赖20. 总结计算机网络可以从四个核心层次理解应用层决定“传什么内容”传输层决定“送到哪个进程以及是否可靠”网络层决定“送到哪台主机”网络接口层决定“在具体链路上如何传输”在实际工作中理解网络分层非常重要。它不仅能帮助我们看懂 HTTP、TCP、DNS、NAT、HTTPS 等协议也能帮助我们更快定位问题。当遇到网络故障时不要只看表面现象可以按层排查应用是否正常 ↓ 端口是否可连 ↓ DNS 是否正确 ↓ IP 是否可达 ↓ 路由是否正常 ↓ 链路和设备是否正常掌握计算机网络不是为了背协议细节而是为了理解数据从一个程序到另一个程序之间到底经历了什么。理解这条路径很多看似复杂的问题都会变得清晰。

相关新闻

最新新闻

从零开始:VMware虚拟机安装与Ubuntu配置全攻略

从零开始:VMware虚拟机安装与Ubuntu配置全攻略

最近在帮几位刚入门开发的同学配置环境时,发现很多人在第一步——安装虚拟机这里就卡住了。网上的教程要么太老,要么步骤跳跃,要么缺少关键的排错环节,导致新手反复折腾,甚至怀疑自己。虚拟机作为学习Linux、搭建测试环…

2026/8/11 14:50:45
3步轻松解决魔兽世界字体乱码:WFM字体合并工具全面指南

3步轻松解决魔兽世界字体乱码:WFM字体合并工具全面指南

3步轻松解决魔兽世界字体乱码:WFM字体合并工具全面指南 【免费下载链接】Warcraft-Font-Merger Warcraft Font Merger,魔兽世界字体合并/补全工具。 项目地址: https://gitcode.com/gh_mirrors/wa/Warcraft-Font-Merger 还在为《魔兽世界》中的方…

2026/8/11 14:50:45
Android Studio安装与配置全攻略:避开网络与构建陷阱

Android Studio安装与配置全攻略:避开网络与构建陷阱

1. 项目概述:为什么你的Android Studio安装总是不顺?如果你正准备踏入Android开发的大门,或者刚从Eclipse等老环境迁移过来,那么安装Android Studio几乎是你必须跨过的第一道坎。这个坎,说难不难,但说简单也…

2026/8/11 14:50:45
会计专业考证顺序怎么安排

会计专业考证顺序怎么安排

一、第一梯队:入门基础证书(求职保底,在校生首选) 本梯队证书报考门槛低、难度小,是财会行业入行基础,适合本科大一大二备考,为实习、校招搭建基础竞争力。 1. 初级会计职称 难度:低…

2026/8/11 14:50:45
8个终极免费Illustrator脚本:设计师效率提升300%的完整指南

8个终极免费Illustrator脚本:设计师效率提升300%的完整指南

8个终极免费Illustrator脚本:设计师效率提升300%的完整指南 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 还在为Adobe Illustrator中的重复性操作感到沮丧吗&#xff…

2026/8/11 14:50:45
博德之门3脚本扩展器:5个步骤彻底改造你的游戏体验 [特殊字符]

博德之门3脚本扩展器:5个步骤彻底改造你的游戏体验 [特殊字符]

博德之门3脚本扩展器:5个步骤彻底改造你的游戏体验 🎮 【免费下载链接】bg3se Baldurs Gate 3 Script Extender 项目地址: https://gitcode.com/gh_mirrors/bg/bg3se 博德之门3脚本扩展器(BG3SE)是一款革命性的开源工具&am…

2026/8/11 14:45:45