一、从一次上网理解计算机网络

1.1 为什么需要计算机网络

计算机一开始是孤岛。你有一台电脑,我有一台电脑,各算各的。

可现实世界不是这样。你要发消息,要看网页,要刷视频,要打游戏,要把代码推到 Git 仓库,要让手机控制空调。设备之间必须说话。

图片

1.2 计算机网络解决了什么问题

它解决的核心问题:怎么把数据从A送到B

图片

1.3 从“打开一个网页”看网络通信全过程

你在浏览器输入 https://www.weixin.com,按下回车。

图片

1.4 家庭网络、企业网络、运营商网络、互联网的关系

画个简单的层级关系:

图片

二、计算机网络基础概念

2.1 主机、客户端、服务器

这三个词其实说的是角色,不是设备。

图片

2.2 数据包、帧、报文、段的区别

它们本质都是数据,,但严格来说它们属于在网络不同分层的叫法:

图片

2.3 IP 地址、端口号、域名

IP地址是门牌号,告诉你这栋楼在哪。端口号是房间号,告诉你具体找谁。域名是门牌号的别名,因为没人想记220.181.38.150这种数字,但www.weixin.com就好记多了。

图片

2.4 公网 IP 与私网 IP

公网 IP 是全球唯一的,在互联网上谁都能找到你。私网IP是局域网内部用的,比如你家的192.168.1.x,出了你家门就没人认识。它要通过 NAT 借用路由器的公网出口访问互联网。

图片

你家所有设备共享一个公网IP,这就是为什么你手机和电脑查到的"我的IP"是一样的。

2.5 局域网、城域网、广域网、互联网

这是按照网络覆盖范围划分的四类网络,层级从小到大依次递进。

图片

2.6 上行、下行、带宽、延迟、吞吐量、丢包率

下行是你下载的速度,上行是你上传的速度。家庭宽带通常下行远大于上行。

带宽是水管有多粗,延迟是水从这头流到那头要多久,吞吐量是实际流了多少水,丢包率是路上洒了多少。

图片

2.7 单播、广播、组播、任播

数据的四种传输方式,单播是一对一,你给女朋友发消息。广播是一对 all,你在群里吼一嗓子。组播是一对多,你只发给群里的几个人。任播是一对一但选最近的那个,CDN用的就是这种。

图片

三、网络分层模型

3.1 为什么网络要分层

因为复杂系统必须拆

不分层的话,你得让一个协议搞定物理信号、寻址、路由、可靠传输、应用格式……那这个协议会比你的代码还难维护。

分层的好处是每层只干自己的事,上层不用管下层怎么实现的。每层职责单一、协议独立,方便开发、排查问题、迭代升级。

图片

3.2 OSI 七层模型图解

OSI七层从下往上:

物理层:传0和1,靠电信号、光信号。数据链路层:把0和1组装成帧,加MAC地址。网络层:负责把数据从A送到B,IP协议干这事。传输层:保证数据完整到达,TCP和UDP。会话层:建立和管理会话。表示层:数据格式转换、加密解密。应用层:和用户直接打交道,HTTP、DNS、FTP都在这一层。

OSI很完美,但太完美了以至于没人用——它是个理论模型,不是实际标准。

图片

3.3 TCP/IP 四层模型图解

TCP/IP四层才是互联网真正在跑的模型

网络接口层(对应OSI的物理层+数据链路层)、网际层(对应网络层,IP在这)、传输层(TCP/UDP)、应用层(对应OSI的会话层+表示层+应用层)。

TCP/IP是"先干出来再总结"的产物,OSI是"先设计好再推广"的产物。实践证明,干出来比设计好更重要

图片

3.4 每一层的核心职责

简单记:物理层管信号,链路层管隔壁,网络层管路径,传输层管可靠,应用层管内容

图片

3.5 数据封装与解封装过程

数据从应用层往下走,每经过一层就包一层外壳——加自己的头部信息。到了目的地再一层层脱掉外壳,把原始数据交给应用。

图片

3.6 一张图看懂数据如何穿过各层协议

浏览器→HTTP报文→TCP段→IP数据包→以太网帧→网线→路由器→……反向解封装→服务器。

每一层只认识自己那层的东西,IP层不管TCP里写了啥,TCP层不管HTTP里写了啥。

图片

四、家庭网络图解

4.1 电脑、手机、路由器、光猫分别负责什么

电脑/手机是你的终端设备,发起或接收网络请求。路由器是家庭网络的大脑,负责分配IP、转发数据、连接外网。光猫是把光纤信号转换成电信号的设备。

图片

4.2 光猫和路由器的区别

很多人以为光猫就是路由器,不是的

光猫的核心工作是光电转换——把光纤里的光信号变成网线能传的电信号。路由器负责路由转发、NAT、DHCP、Wi-Fi

图片

4.3 Wi-Fi、以太网、有线宽带的关系

以太网是有线网络的标准,你用网线上网就是走以太网。有线宽带是运营商提供给你的上网服务,通过光纤或电话线入户。Wi-Fi是以太网的无线延伸——把有线信号转换成无线电波。

图片

4.4 DHCP,设备如何自动获取 IP

你手机连上Wi-Fi,立刻就有了IP地址,谁给的?DHCP服务器(通常就是你家路由器)。

图片

4.5 NAT,多个设备如何共享一个公网 IP

家里手机、电脑、电视几十台设备,为什么只用一个宽带账号就能同时上网?核心就是NAT技术。

图片

4.6 家用路由器的转发流程

路由器的工作逻辑全程就三步。接收内网设备的数据包,解析目标IP地址,查询路由表,通过对应端口转发数据。

图片

五、ISP 与运营商网络

5.1 ISP 是什么

ISP就是互联网服务提供商,我们熟知的移动、联通、电信都是ISP。

图片

5.2 家庭宽带如何接入运营商网络

你家光猫→入户光纤→小区分光器→运营商接入网→城域网→骨干网。层层汇聚,最后接入全球互联网

图片

5.3 接入网、城域网、骨干网的区别

接入网是你家到运营商局端那一段,俗称"最后一公里"。城域网是城市内部的网络,汇聚所有接入网的数据。骨干网是城市与城市、国家与国家之间的高速网络。

图片

5.4 光纤入户 FTTH 原理

FTTH就是把光纤直接拉到你家。光信号在光纤里走,到你家光猫转成电信号。光纤的带宽潜力远大于网线,这也是为什么千兆宽带越来越便宜。

图片

5.5 PPPoE、宽带拨号与认证

你装宽带时师傅给的那串账号密码,就是用来PPPoE拨号的。PPPoE把以太网帧包在PPP协议里,完成身份认证后,运营商才给你分配IP、让你上网。

图片

5.6 运营商如何给用户分配 IP 地址

PPPoE认证通过后,运营商的RADIUS服务器会给你分配一个IP地址。这个IP可能是公网IP,也可能是私网IP。

图片

5.7 动态公网 IP、固定公网 IP、私网地址池

动态公网IP:每次拨号可能不同,但它是公网的,全球能访问到你。固定公网IP:永远不变,企业专线才有,贵。私网地址池:运营商给你分配的是一个私网IP,你其实是和很多人共享一个公网出口。

图片

5.8 CGNAT 为什么你家可能没有真正的公网 IP

CGNAT(运营商级NAT) 就是运营商在自己的网络里再做一层NAT。

你的路由器做了一层NAT(私网→运营商私网),运营商又做了一层NAT(运营商私网→公网)。两层NAT导致你无法从外网访问家里的设备,打游戏NAT类型受限,BT下载速度慢。

想知道自己有没有公网IP?看看路由器WAN口IP是不是100.64.0.0/10网段——是的话,你就在CGNAT后面。

图片

5.9 上下行带宽为什么不对称

家庭宽带下载快、上传慢,因为绝大多数人主要是"看"而不是"发"。运营商为了节省骨干网带宽资源,优先保障下行速度,限制上行带宽。只有企业专线,才会配备对称上下行带宽。

图片

5.10 运营商网络中的限速、拥塞与调度

运营商有QoS策略:晚高峰大家一起用,带宽不够怎么办?限速。。某些P2P流量被限得更狠。游戏、视频这类实时流量优先级更高。

图片

六、物理层与数据链路层

6.1 物理层,电信号、光信号、无线电波

物理层是网络最底层,负责原始信号的传输。物理层干的就一件事:把0和1变成物理信号发出去,再把收到的物理信号变回0和1

网线里是电信号,光纤里是光信号,Wi-Fi里是无线电波。

图片

6.2 网线、光纤、无线信道

网线(双绞线)便宜、好布线,但距离有限(100米)。光纤带宽大、距离远,但贵、脆弱。无线方便、移动性好,但干扰多、不稳定。

图片

6.3 数据链路层解决什么问题

物理层只管发信号,不管发给谁、怎么保证没错。数据链路层负责负责帧封装、差错校验、局域网寻址、冲突检测。简单说,就是把原始信号整理成规范数据,保证局域网内数据传得对、传得准。

图片

6.4 MAC 地址是什么

MAC 地址是设备出厂时烧在网卡里的全球唯一标识,48位,写成AA:BB:CC:DD:EE:FF这种格式。

IP 地址是逻辑地址,可以变。MAC 地址是物理地址,不变。

图片

6.5 以太网帧结构图解

以太网帧是数据链路层的传输单元,以太网帧包含:前导码(同步用)、目标MAC地址源MAC地址类型(上层是什么协议)、数据(46-1500字节)、FCS校验(检查有没有传错)。

图片

6.6 交换机如何学习 MAC 地址

交换机是二层核心设备,工作全靠MAC 地址表。,记录"哪个 MAC 地址在哪个端口"。

收到一个帧,看源 MAC→记录到表里。看目标 MAC →查表,找到了就从对应端口发出去,找不到就泛洪(所有端口都发一遍)。

图片

6.7 VLAN 如何在二层隔离网络

VLAN 就是在同一台交换机上切出多个虚拟的独立网络。不同 VLAN 之间不能直接通信,相当于物理上隔开了。

图片

6.8 ARP,IP 地址如何找到 MAC 地址

跨层通信全靠 ARP 协议衔接。我们知道目标 IP,却不知道对方 MAC 地址时,就会通过ARP广播查询。

图片

6.9 MTU 为什么数据包不能无限大

MTU 是网络链路的最大传输单元,限定了单帧数据的最大尺寸。以太网默认 MTU 是1500字节。

如果数据包超过 MTU 大小,就会被分片拆分传输。分片过多会增加网络开销,容易引发丢包、乱序问题。这就是数据包不能无限大的核心原因。

图片

七、网络层,IP 与路由

7.1 网络层解决什么问题

数据链路层只能在同一个网络里传数据。网络层负责跨网络传输——从你的电脑到腾讯服务器,中间经过无数个网络,网络层保证数据能找到路。

图片

7.2 IPv4 地址结构图解

IPv4地址32位,写成4个十进制数,每个8位,范围0-255。

192.168.1.100——前面是网络号(192.168.1),后面是主机号(100)。

图片

7.3 子网掩码、网段、CIDR

子网掩码告诉你IP地址里哪部分是网络号、哪部分是主机号。

255.255.255.0表示前24位是网络号,后8位是主机号。CIDR 写法就是192.168.1.0/24

图片

7.4 默认网关是什么

默认网关就是"不知道往哪发的数据都走这"。你家路由器就是默认网关——所有去外网的数据都先给它。

图片

7.5 路由表如何工作

路由表是一张地图,告诉路由器"去这个网段走那个口"。

查路由表时,最长匹配优先——目标IP匹配的子网掩码越长,优先级越高。

图片

7.6 路由器如何转发 IP 包

收到 IP 包→查目标 IP →查路由表→找到下一跳→从对应接口发出→ TTL 减1。

TTL 到 0 了还没到目的地,这个包就被丢弃了——防止数据包在网络里无限循环

图片

7.7 ICMP 与 ping 命令原理

ICMP(互联网控制报文协议) 是IP的"小跟班",专门传控制信息和错误信息。

ping 就是发一个ICMP Echo Request,对方回复ICMP Echo Reply。能ping通说明网络层是通的。ping 命令是我们排查网络最常用的工具,底层基于ICMP协议。

图片

7.8 traceroute 如何追踪路径

traceroute利用TTL机制:先发一个TTL=1的包,第一个路由器收到后TTL变0,丢弃并返回ICMP超时——你就知道了第一跳是谁。再发TTL=2的,拿到第二跳。以此类推,直到到达目的地。

图片

7.9 IPv6 基础概念

IPv6是下一代互联网协议,核心目的是解决IPv4地址枯竭问题。

IPv6地址长度128位,地址量近乎无限,足够全球每一台智能设备分配独立公网地址,彻底告别NAT、CGNAT的各种限制。

图片

7.10 IPv4 与 IPv6 的区别

IPv4地址紧张、依赖NAT、配置复杂、安全性弱。IPv6地址充足、无需NAT、配置简单、自带加密、转发效率更高。

现在各大运营商、网站、云服务都在全面普及IPv6,是未来网络的主流趋势。

图片

八、互联网的核心,自治系统与 BGP

8.1 什么是自治系统 AS

AS(自治系统) 是由一个机构管理的网络集合,有自己的编号(ASN)。

电信是一个AS,联通是一个AS,Google是一个AS。互联网就是由几万个AS互联组成的。每个AS内部路由规则自主管控,外部无法干预。

图片

8.2 互联网为什么不是一个“大路由器”

因为没人能管所有网络。每个AS有自己的政策、自己的设备、自己的利益。互联网本质是无数独立网络互相拼接、互联互通形成的。

图片

8.3 BGP 是什么

BGP(边界网关协议) 是AS之间交换路由信息的协议,是互联网的核心路由协议。

BGP不找"最短"路径,而是找"最好"路径——综合考虑距离、策略、成本、政治因素。

图片

8.4 ISP 之间如何互联

ISP之间互联有三种方式:

直接对等(Peering) :两个ISP直接连,免费交换流量。购买转接(Transit) :小ISP花钱向大ISP买"通往全世界"的服务。通过IXP:在互联网交换中心互联,一个地方连上百家ISP。

图片

8.5 路由宣告与路径选择

每个AS会通过BGP向外宣告自己的路由网段,告诉全网自己的可访问路径。

设备会接收多条路由路径,BGP根据路径长度、AS策略、MED值等选一条最优的。

图片

8.6 IXP 互联网交换中心是什么

IXP(互联网交换中心) 是各ISP聚在一起交换流量的物理场所。在IXP,一个交换机连上百家ISP,大家直接交换流量,不用绕远路。

图片

8.7 Peering 与 Transit 的区别

Peering是对等互联,双方免费交换流量、互不结算,是大型网络主体的合作模式。

Transit是中转传输,小型网络付费接入大型网络,依托大型网络访问全网流量。家用宽带、中小企业网络,都是Transit模式。

图片

8.8 为什么访问不同网站会走不同线路

这就是BGP路径选择的结果。不同网站的服务器归属运营商、机房位置不同,系统会实时计算最优传输线路。

有的走电信线路最快,有的走联通最优,有的就近走本地节点。所以我们访问不同网站,路由路径完全不一样。

图片

8.9 BGP 故障为什么会影响大范围网络

BGP是全网路由的核心中枢,一旦出现路由泄露、配置错误、节点故障,错误路由会快速扩散全网。

会导致大面积路由错乱、流量拥堵、节点失联,造成全网级别的网络故障。每年几次的全球性网络瘫痪,基本都是BGP故障导致的。

图片

8.10 一张图看懂全球互联网互联结构

全球互联网就是无数AS、IXP节点互相交织的网状结构。顶层是顶级骨干网厂商,中层是各地运营商、云厂商,底层是企业、家庭终端网络。层层互联、互相调度,构成了我们现在的全网环境。

图片

九、传输层,TCP 与 UDP

9.1 传输层解决什么问题

网络层只负责"把数据从A送到B",但不保证送到、不保证顺序、不保证完整。传输层负责端到端的可靠传输

图片

9.2 端口号是什么

IP地址找到机器,端口号找到机器上的具体程序

80是HTTP,443是HTTPS,22是SSH,53是DNS。

图片

9.3 TCP 与 UDP 的区别

TCP:面向连接、可靠、有序、有流量控制和拥塞控制——像打电话。UDP:无连接、不可靠、无序、无控制——像写信。

TCP慢但稳,UDP快但不稳。

图片

9.4 TCP 三次握手图解

三次握手很经典,面试也很爱问,为什么不是两次?因为双方都要确认自己能发、能收,对方也能发、能收。

图片

9.5 TCP 四次挥手图解

断开连接通常四次挥手,因为 TCP 是双向通道。一边说我发完了,另一边可能还有数据没发完。

图片

9.6 TCP 如何保证可靠传输

TCP的可靠性,靠四大机制兜底:序列号保证数据有序,确认应答保证数据送达,超时重传解决丢包问题,校验和排查数据错误。四重机制叠加,彻底杜绝传输异常。

图片

9.7 序列号、确认号、重传机制

序列号给数据包排序,避免乱序。确认号告知对方已接收的数据位置。

发送数据后会开启计时,超时没有收到确认,就会自动重传数据包。这就是TCP不丢包的核心保障。

图片

9.8 滑动窗口与流量控制

如果发送方发送太快,接收方处理不过来,就会造成数据溢出、丢包。

滑动窗口机制可以动态调整发送速率,根据接收方的接收能力,实时调整发包量,完美解决收发速率不匹配的问题,这就是流量控制。

图片

9.9 拥塞控制,慢启动、拥塞避免、快速重传

流量控制是控制端对端,拥塞控制是控制全网链路。

慢启动:从1个包开始发,没丢包就指数增长。拥塞避免:涨到一定程度后改为线性增长。快速重传:收到3个重复ACK就立即重传,不用等超时。

图片

9.10 UDP 的特点与使用场景

UDP无连接、速度快、开销低、支持多播,不保证可靠性、没有拥塞控制。。

适合实时性要求高的场景:视频通话、在线游戏、DNS查询。

图片

9.11 QUIC 为什么基于 UDP

QUIC是Google搞的协议,基于UDP但实现了TCP的可靠传输。

为什么不用TCP?因为TCP握手太慢(三次握手+TLS握手=两个RTT),QUIC把连接建立和加密握手合并,0-RTT就能开始传数据

图片

十、应用层常见协议

10.1 DNS,域名解析系统

DNS 核心作用就是域名和IP的相互转换,帮我们把难记的域名,翻译成机器能识别的IP地址,是所有上网行为的前置步骤。

图片

10.2 HTTP,网页通信协议

互联网最基础的应用协议,所有网页访问、接口请求、数据查询,基本都基于HTTP协议,简单、通用、易扩展。

图片

10.3 HTTPS,加密的 HTTP

HTTP 明文传输,数据极易被劫持、窃听。HTTPS 在HTTP基础上增加TLS加密,全程密文传输,保证数据安全,现在所有正规网站都已全面启用HTTPS。

图片

10.4 DHCP,自动分配网络配置

DHCP 是前面讲过的核心内网协议,自动为接入设备分配IP、网关、DNS,无需手动配置,大幅降低组网难度。

图片

10.5 FTP / SFTP,文件传输

FTP 是传统文件传输协议,明文传输、安全性差。SFTP 基于加密通道传输文件,安全可靠,现在服务器文件传输基本都用SFTP。

图片

10.6 SMTP、POP3、IMAP,邮件协议

SMTP 负责发送邮件,POP3、IMAP 负责接收邮件。I****MAP 可以同步邮件状态,多设备同步更友好,是现在的主流。

图片

10.7 WebSocket,实时双向通信

HTTP 是单向请求响应,无法实时推送数据。WebSocket支持长连接、双向实时通信,适合聊天、推送、实时监控、在线游戏场景。

图片

10.8 NTP,时间同步协议

负责设备时间校准,保证全网设备时间统一。日志排查、证书校验、接口签名,都依赖精准的统一时间。

图片

10.9 SSH,远程登录协议

开发必备协议,加密远程登录服务器、操作设备、传输文件,安全高效,是线上运维的核心工具。

图片

十一、DNS 图解

11.1 DNS 解决什么问题

没有DNS,我们上网只能输入纯数字IP,极其繁琐。DNS的核心价值,就是完成域名与IP的精准解析,屏蔽底层复杂的IP寻址逻辑,提升上网体验。

图片

11.2 根域名服务器、顶级域名服务器、权威 DNS

根域名服务器:全球13组,知道所有顶级域名服务器在哪。顶级域名服务器:管理.com.cn这些顶级域。权威DNS:管理具体域名的解析记录。

图片

11.3 递归查询与迭代查询

递归查询:你问DNS服务器,DNS服务器帮你查到底,最后给你答案。迭代查询:DNS服务器告诉你"去问那个",你自己一步步问。

普通用户用的是递归,DNS服务器之间用的是迭代。

图片

11.4 DNS 缓存机制

为了提升解析速度,DNS存在多级缓存:浏览器缓存、系统缓存、路由器缓存、运营商缓存。

第一次解析后会缓存结果,后续访问直接读取缓存,不用重复逐级查询,大幅减少解析耗时。我排查过很多网站更新不生效的问题,基本都是DNS缓存导致的。

图片

11.5 A、AAAA、CNAME、MX、TXT 记录

A记录:域名→IPv4。AAAA记录:域名→IPv6。CNAME:域名→另一个域名。MX:邮件服务器地址。TXT:随便写点文本,常用于验证域名所有权。

图片

11.6 公共 DNS 与运营商 DNS

运营商DNS延迟低、就近解析,但容易劫持、缓存更新慢。公共DNS如阿里、腾讯、8.8.8.8,稳定性强、无劫持、更新快,适合技术场景使用。

图片

11.7 DNS 污染、DNS 劫持与 DoH / DoT

DNS污染:运营商或墙给你返回假IP。DNS劫持:把你导向钓鱼网站。DoH/DoT:加密DNS查询,防止被偷看和篡改。

图片

11.8 一次完整 DNS 解析流程图

图片

十二、HTTP 与 HTTPS 图解

12.1 HTTP 请求报文结构

HTTP请求报文由请求行、请求头、空行、请求体四部分组成。请求行定义请求方式和地址,请求头携带设备、浏览器、认证信息,请求体存放提交的数据。

图片

12.2 HTTP 响应报文结构

响应报文由状态行、响应头、空行、响应体组成。状态行告知请求结果,响应头返回服务器配置、缓存规则,响应体返回页面数据、接口结果。

图片

12.3 常见 HTTP 状态码

不用记住所有状态码,掌握常用的就行:200:OK。301/302:重定向。304:缓存未修改。400:请求有误。403:禁止访问。404:找不到。500:服务器内部错误。502:网关错误。504:网关超时。

图片

12.4 GET、POST、PUT、DELETE 的区别

四大核心请求方法对应四种业务操作。GET用于查询数据,参数明文展示、有缓存。POST用于提交数据,参数隐藏、无缓存。PUT用于更新资源,DELETE用于删除资源。RESTful接口设计全基于这四个方法。

图片

12.5 Cookie、Session、Token

三者都是为了维持HTTP无状态连接的会话状态。

Cookie:浏览器存的小数据,每次请求带着。Session:服务器存的状态,通过Cookie里的SessionID关联。Token:无状态认证,JWT是典型。

图片

12.6 HTTPS 为什么安全

HTTPS 用 TLS 提供三件事:

加密传输,别人偷看不到内容。身份验证,证书保证你连的是真服务器不是假的。数据完整性,防止中途被篡改。

图片

12.7 对称加密、非对称加密、数字证书

对称加密:一个钥匙,加密解密都用它,快但不安全。非对称加密:公钥加密私钥解密,安全但慢。数字证书:CA机构签发的身份证明,里面包含公钥。

图片

12.8 TLS 握手流程图解

简化版 TLS 握手如下。

客户端 → 支持的 TLS 版本、加密套件、随机数服务器 → 选择套件、证书、随机数客户端 → 验证证书,协商会话密钥双方   → 使用对称密钥加密通信

TLS 1.3 比旧版本更快,握手更简洁。安全协议不是越复杂越好,复杂也会带来坑。

图片

12.9 HTTP/1.1、HTTP/2、HTTP/3 的区别

HTTP/1.1:一个连接一次请求,队头阻塞。HTTP/2:多路复用、头部压缩、服务器推送。HTTP/3:基于QUIC/UDP,连接建立更快。

图片

十三、CDN 与边缘网络

13.1 CDN 是什么

CDN(内容分发网络) 就是把内容缓存到离用户近的地方。

图片

13.2 为什么网站要使用 CDN

更快:用户从最近节点拿数据。更稳:一个节点挂了还有别的。更省:源站带宽压力小。

图片

13.3 CDN 如何就近分发内容

CDN通过DNS调度Anycast把用户引向最近的边缘节点。

图片

13.4 DNS 调度与 Anycast 调度

DNS 调度是在域名解析时返回不同节点 IP。

Anycast 是多个节点宣告同一个 IP,让路由系统把用户带到合适节点。

图片

13.5 缓存命中与回源

用户请求到了CDN节点:

  • 缓存命中:节点上有这份内容→直接返回,快
  • 缓存未命中:节点没有→去源站拿→存一份→返回用户,慢

命中率越高越快。

图片

13.6 静态资源加速与动态加速

静态资源内容固定,最适合缓存。

动态请求内容因用户、时间、状态不同而变化,不能简单缓存。动态加速更多依赖智能路由、连接复用、协议优化、边缘计算。

图片

13.7 边缘节点、源站、回源链路

边缘节点靠近用户,负责接入和缓存。

源站保存原始内容和业务逻辑。

回源链路连接 CDN 和源站,是性能关键路径之一。

源站在北京,用户在广州,如果 CDN 广州节点命中,体验很好。如果每次都回北京,性能就没那么美了。

图片

13.8 CDN 与运营商网络的关系

CDN节点通常部署在运营商机房IXP里。离用户越近,效果越好。

图片

13.9 为什么同一个网站不同地区访问速度不同

因为CDN节点分布不均。大城市节点多,速度快。偏远地区节点少,速度慢。

图片

十四、一次网页访问的完整过程

14.1 输入 URL 后发生了什么

你输入 URL 后,浏览器会解析协议、域名、路径、端口。

https://www.example.com/path协议   https域名   www.example.com路径   /path端口   443

然后它开始查缓存、解析 DNS、建立连接、请求资源。

图片

14.2 浏览器检查缓存

浏览器先看本地有没有缓存。

如果缓存有效,直接使用。
如果需要验证,就向服务器发送条件请求。
如果没有缓存,就重新请求。

图片

14.3 DNS 解析域名

浏览器和系统会查 DNS,把域名解析为 IP。

可能返回源站 IP,也可能返回 CDN 节点 IP。

DNS 解析还可能涉及 CNAME 链。

www.example.com  ↓ CNAMEwww.example.com.cdnprovider.net  ↓ A/AAAACDN 节点 IP

图片

14.4 获取目标服务器 IP

拿到 IP 后,客户端才知道连接谁。

如果返回多个 IP,客户端可能按顺序尝试,也可能根据 Happy Eyeballs 等机制在 IPv4 和 IPv6 之间选择更快路径。

图片

14.5 建立 TCP 或 QUIC 连接

HTTP/1.1 和 HTTP/2 通常基于 TCP。

HTTP/3 基于 QUIC,也就是 UDP 上的现代传输协议。

TCP 要三次握手。QUIC 可以把连接建立和加密握手做得更快。

图片

14.6 TLS 握手

HTTPS 需要 TLS 握手。

客户端验证证书,双方协商密钥,然后开始加密传输。

证书过期、时间不准、中间代理证书异常,都会导致 HTTPS 失败。那种红色安全警告,别随便点继续。

图片

14.7 发送 HTTP 请求

连接建立后,浏览器发送请求。

请求里有方法、路径、Host、Cookie、User-Agent、Accept 等信息。

服务器根据这些信息判断你要什么资源、你是谁、支持什么格式。

图片

14.8 CDN 或源站返回响应

如果请求命中 CDN 缓存,CDN 直接返回。

如果未命中,CDN 回源取资源。动态请求可能直接转发到源站或边缘计算节点。

响应返回后,浏览器根据状态码、响应头、响应体继续处理。

图片

14.9 浏览器解析 HTML、CSS、JavaScript

HTML 构建 DOM。
CSS 构建样式规则。
JavaScript 可能修改页面和发起新请求。

网页不是一个请求完事。一个页面可能请求几十甚至几百个资源。

HTML ├─ CSS ├─ JS ├─ 图片 ├─ 字体 └─ API 请求

图片

14.10 页面渲染完成

浏览器计算布局,绘制像素,把页面显示出来。

如果 JS 阻塞、CSS 太大、图片没优化、接口慢,页面都会卡。

网络只是网页性能的一部分。前端资源、后端接口、缓存策略都跑不掉。

图片

14.11 从家庭网络到 ISP,再到目标服务器的完整链路图

图片

十五、无线网络与移动网络

15.1 Wi-Fi 的基本原理

Wi-Fi就是用无线电波代替网线。设备通过无线信号连接到路由器。用的是802.11协议族

图片

15.2 2.4GHz 与 5GHz 的区别

2.4GHz 穿墙好,覆盖远,但干扰多,速度较低。

5GHz 速度高,干扰少一些,但穿墙弱,覆盖短。

2.4GHz  稳一点,远一点,慢一点5GHz    快一点,近一点,穿墙弱一点

现在还有 6GHz Wi-Fi,频谱更干净,但设备支持和法规环境要看地区。

图片

15.3 信道、干扰与覆盖范围

Wi-Fi频段分成多个信道

2.4GHz只有3个不重叠的信道(1、6、11)——邻居们都用,互相干扰。

5GHz信道多得多,干扰少。

图片

15.4 蜂窝网络(4G / 5G )

蜂窝网络是运营商建的无线网络。

4G:LTE,100Mbps级别。

5G:理论10Gbps,实际几百Mbps,延迟低至1ms。

图片

15.5 基站、核心网、运营商出口

手机先连基站。基站通过回传网络连接运营商核心网。核心网负责认证、计费、会话管理、地址分配,再通过出口访问互联网。

手机 ↓基站 ↓回传网络 ↓核心网 ↓互联网出口

移动网络路径比家庭宽带更复杂,也更容易受环境变化影响。

图片

15.6 手机流量如何访问互联网

运营商给手机 SIM 卡分配地址,建立数据承载。手机发出的 IP 包经过基站、核心网、NAT 或公网出口,再到互联网。

跟家庭宽带类似,只是“最后一公里”从光纤变成了无线电。

图片

15.7 Wi-Fi 和移动网络切换时发生了什么

手机从Wi-Fi切到4G:

TCP连接会断——IP变了。

QUIC支持连接迁移——切换网络连接不中断。

图片

15.8 为什么移动网络延迟和稳定性不同于宽带

无线信号受环境影响大(建筑物、距离、干扰)。移动网络是共享的,一个基站覆盖的人都在抢带宽。家庭宽带链路更固定,稳定性通常更好。

图片

十六、企业网络与数据中心网络

16.1 企业网络与家庭网络的区别

家庭网络简单:一个路由器带十几个设备。企业网络复杂:多级交换、VLAN隔离、防火墙、负载均衡、VPN

图片

16.2 交换机、路由器、防火墙、负载均衡器

交换机:二层转发,同网段通信。路由器:三层转发,跨网段通信。防火墙:安全过滤。负载均衡器:把请求分给多台服务器。

图片

16.3 VLAN、子网与网络隔离

VLAN在二层隔离,子网在三层隔离。多层隔离保证安全

图片

16.4 VPN 与远程办公

VPN(虚拟专用网络)在公网上建立加密隧道。

你在家办公,连上公司VPN——就像坐在公司内网一样,能访问只有内网才能访问的资源。

图片

16.5 专线、MPLS、SD-WAN

专线:运营商拉的专用线路,贵但稳。MPLS:运营商级别的VPN技术。SD-WAN:用软件智能选择多条线路。

图片

16.6 数据中心网络结构

数据中心里有成千上万台服务器,网络结构通常是三层架构

  • 接入层:服务器直接连接的交换机(ToR)
  • 汇聚层:汇聚接入层流量
  • 核心层:高速转发,连接外部网络

现代数据中心更多使用 Spine-Leaf 架构:leaf交换机连服务器,spine交换机连所有leaf。。

Spine  Spine  Spine  │  X   │  X   │Leaf  Leaf  Leaf  │      │      │服务器  服务器  服务器

这种结构适合东西向流量,也就是服务器之间大量互相访问。

图片

16.7 ToR 交换机、核心交换机、东西向流量

ToR交换机(Top of Rack):机柜顶部的交换机,每台服务器都连它。

核心交换机:数据中心的心脏,高速转发所有流量,汇聚所有ToR。

东西向流量:数据中心内部服务器之间的流量(占比很大)。

图片

16.8 负载均衡如何分发请求

四层负载均衡:根据IP和端口分发。七层负载均衡:根据HTTP内容分发。

图片

16.9 高可用网络设计基础

冗余:设备双份,一台挂了另一台顶上。

链路聚合:多条物理链路绑成一条,带宽叠加、故障自动切换。

VRRP/HSRP:多台路由器共用一个虚拟IP,一台挂了自动切换。

图片

十七、云网络基础

17.1 云服务器如何接入网络

云服务器是虚拟机,通过虚拟交换机接入网络。

图片

17.2 VPC 是什么

VPC(虚拟私有云)是云上的“专属局域网”。

你在云上创建一个VPC,分配一个IP段(比如10.0.0.0/16),里面的云服务器互相通信,跟别的用户的VPC隔离。

图片

17.3 子网、路由表、安全组

VPC里划分子网。路由表控制流量走向。安全组是云上的防火墙,控制进出规则。

图片

17.4 公网 IP、弹性 IP、NAT 网关

公网 IP 让云服务器被互联网访问。

弹性 IP 可以绑定和解绑,方便故障迁移。

NAT 网关让私有子网里的机器访问互联网,但不直接暴露入口。

生产环境里,数据库一般不该直接挂公网 IP。

图片

17.5 负载均衡 SLB / ELB

云负载均衡接收外部请求,再转发到后端云服务器、容器或服务。

它可以做四层转发,也可以做七层 HTTP/HTTPS 转发。

云负载均衡还支持健康检查、证书卸载、跨可用区高可用。

图片

17.6 云厂商和 ISP 的关系

云厂商自己建数据中心、自己拉光纤、自己买带宽。

云厂商跟ISP(电信联通移动)买带宽,然后卖给云用户。

图片

17.7 混合云与专线接入

混合云:把本地数据中心和云连接起来。连接方式包括 VPN、专线、云企业网、SD-WAN 等。

专线接入:云厂商拉一根物理专线到你公司机房,安全、稳定、快。

图片

17.8 云上网络排障思路

云上排障可以按路径走:

实例安全组。
子网 ACL。
路由表。
NAT 网关或公网 IP。
负载均衡监听和后端健康。
DNS 解析。
应用端口监听。

图片

十八、网络安全基础

18.1 网络安全主要保护什么

网络安全保护机密性、完整性、可用性。

机密性是不该看的人看不到。
完整性是数据不被偷偷改。
可用性是服务别被打挂。

安全不是买个防火墙就结束。它是体系。

图片

18.2 防火墙的作用

防火墙控制流量能不能通过。

它可以基于 IP、端口、协议、应用、用户身份做策略。

允许办公网访问 80/443禁止访客网访问数据库允许运维 VPN 访问 SSH

防火墙最怕“临时放开一下”。临时,往往会活很久。

图片

18.3 NAT 是否等于安全

NAT不是安全措施,只是地址转换。

但NAT客观上起到了“屏蔽”作用——外网主动发起的连接进不来,因为路由器不知道发给谁。这不是安全设计,是NAT的工作方式决定的。

图片

18.4 DDoS 攻击原理

DDoS(分布式拒绝服务)就是“用人海战术挤爆你”。

攻击者控制大量设备向目标发送流量或请求,耗尽带宽、连接数、CPU、内存等资源。,正常用户访问不了。

图片

18.5 DNS 劫持与中间人攻击

DNS劫持:把你的域名解析到恶意IP。

中间人攻击:攻击者站在你和服务器中间,偷看甚至篡改通信内容。

HTTPS(加密)和DoH/DoT(加密DNS)能有效防御。

图片

18.6 ARP 欺骗

ARP 欺骗发生在局域网。

ARP是问“这个IP的MAC是多少”。

ARP欺骗:攻击者在局域网里冒充别人——“192.168.1.1的MAC是我”。结果你的数据全发给攻击者了。

图片

18.7 端口扫描与暴露风险

攻击者会扫描公网 IP 的开放端口。

SSH、RDP、数据库、Redis、Elasticsearch 都是高风险目标。

端口暴露不是问题本身,未授权、弱密码、漏洞才可怕。但少暴露就是少挨打。

图片

18.8 VPN 的安全边界

VPN加密了你的流量。

但VPN服务商能看到你的流量。信任边界从ISP转移到了VPN服务商。

图片

18.9 零信任网络简介

传统安全理念:“内网是可信的”。

零信任:“永远不信任、始终验证”——就算你在公司内网,访问每个资源都要认证授权。

图片

18.10 常见网络安全防护建议

图片

十九、网络性能与优化

19.1 带宽、延迟、抖动、丢包

带宽决定理论容量。
延迟决定响应速度。
抖动是延迟波动。
丢包是数据丢失比例。

视频下载吃带宽。游戏和语音更怕延迟、抖动、丢包。

图片

19.2 为什么带宽高不等于访问快

网页访问要经历 DNS、连接建立、TLS、请求处理、资源下载、渲染。

带宽只影响其中一部分。

慢可能来自DNS 慢TCP 握手慢TLS 慢服务器处理慢CDN 未命中丢包重传前端资源太重

图片

19.3 TCP 慢启动对性能的影响

TCP刚建立时慢慢加速。短连接还没加速完就结束了——这就是为什么小文件用HTTP/1.1慢

图片

19.4 DNS 解析耗时优化

DNS缓存、用HTTPDNS

图片

19.5 CDN 加速原理

CDN把内容搬到离用户近的地方:

  • • 减少物理距离→降低延迟
  • • 缓存内容→减少源站压力
  • • 多节点→提高可用性

图片

19.6 HTTP/2 与 HTTP/3 性能优化

HTTP/2

  • • 多路复用:一个连接并发多个请求
  • • 头部压缩:减少重复数据
  • • 服务器推送:主动推送资源

HTTP/3

  • • 0-RTT连接:老客户瞬间建连
  • • 连接迁移:切换网络不中断
  • • 更好的拥塞控制

图片

19.7 长连接、连接池与复用

长连接避免频繁建立连接。

连接池让应用复用已有连接,减少握手开销。

数据库、Redis、HTTP 客户端都常用连接池。连接池配置不当也会出事。太小扛不住,太大打爆后端。

图片

19.8 QoS,网络流量优先级

QoS(服务质量)给不同流量分配不同优先级。

  • • 视频会议:高优先级,保证不卡
  • • 文件下载:低优先级,有空再传

图片

19.9 常见网络性能瓶颈分析

瓶颈可能在客户端、无线、路由器、运营商、跨网链路、CDN、源站、应用、数据库。

排查要按路径分段测:

本机 → 路由器路由器 → ISPISP → CDNCDN → 源站源站 → 应用内部

不要凭感觉。抓包、日志、监控、链路追踪一起看。

图片

二十、常用网络排查工具

20.1 ping,测试连通性

ping 测 ICMP 可达和延迟。

ping 8.8.8.8

能 ping 通不代表业务通。ping 不通也不代表业务一定不通。它只是第一把尺子。

图片

20.2 traceroute / tracert,查看路径

Linux/macOS 用 traceroute,Windows 用 tracert。

traceroute example.comtracert example.com

它能看到路径上的路由跳点。跨网慢、绕路、某段丢包时很有用。

图片

20.3 nslookup / dig,排查 DNS

nslookup 简单好用。dig 信息更丰富。

nslookup example.comdig example.com Adig example.com +trace

域名问题别只看浏览器。命令行查一下,心里踏实。

图片

20.4 ipconfig / ifconfig / ip,查看本机网络配置

Windows 用 ipconfig。

ipconfig /all

Linux 常用 ip。

ip addrip route

看 IP、网关、DNS、网卡状态,排障必备。

图片

20.5 route,查看路由表

路由表决定流量去哪。

route printip route

VPN 抢默认路由、静态路由配错、容器网络冲突,都能在这里看到线索。

图片

20.6 netstat / ss,查看连接与端口

netstat 和 ss 可以查看监听端口和连接状态。

ss -lntpnetstat -ano

服务访问不了时,先确认端口有没有监听。别服务都没起来就去抓运营商,那就尬住了。

20.7 curl,调试 HTTP 请求

curl 是 HTTP 排障神器。

curl -v https://example.comcurl -I https://example.com

它能看到连接、TLS、请求头、响应头。后端、运维、测试都该会一点。

图片

20.8 tcpdump,命令行抓包

tcpdump 可以在服务器上抓包。

tcpdump -i eth0 port 443tcpdump -nn host 1.2.3.4

抓包能看到数据有没有到、有没有回。很多争吵在抓包面前会安静下来。

图片

20.9 Wireshark,图形化抓包分析

Wireshark 更适合图形化分析协议细节。

它能解析 TCP、HTTP、TLS、DNS 等协议。

刚打开会吓人,全是包。别慌,先过滤。

dnshttptcp.port == 443ip.addr == 1.2.3.4

图片

20.10 MTR,综合分析延迟与丢包

MTR 结合 ping 和 traceroute,持续统计每一跳延迟和丢包。

mtr example.com

它适合观察链路质量变化。

不过中间跳丢包不一定是真问题。看最终目标和后续跳点更重要。

图片

20.11 常见故障排查流程图

图片

二十一、常见网络问题图解

21.1 能上 QQ 但打不开网页是什么原因

QQ 能上说明网络不一定全断。

网页打不开可能是 DNS 故障、HTTP/HTTPS 被代理影响、浏览器代理配置错误、证书问题、网关策略限制。

即时通信可用网页不可用  ↓重点查 DNS、代理、浏览器、80/443

图片

21.2 能 ping 通 IP 但打不开域名是什么原因

这多半是 DNS 问题。

IP 能通,说明基础网络可达。域名打不开,说明名字解析失败或解析错。

检查 DNS 配置、递归 DNS 响应、域名记录、hosts 文件。

ping 8.8.8.8nslookup example.com

图片

21.3 为什么访问国外网站慢

距离远,延迟高。
跨境链路拥塞。
国际出口有限。
BGP 路由绕路。
目标站点没有本地 CDN。
丢包导致 TCP 重传。

跨国网络慢不是单点原因。它是一串因素叠加。

图片

21.4 为什么游戏延迟高但测速正常

测速测的是带宽(水管粗细),游戏看的是延迟(水跑多快)。

游戏丢几个包就卡一下,测速丢几个包看不出来。

mtr看延迟和丢包。

21.5 为什么视频能看但网页很慢

视频有缓冲,CDN 覆盖好,对瞬时抖动不敏感。

网页需要 DNS、多个小资源、接口响应、渲染,任何一步慢都会影响体验。

视频顺滑,网页慢,可能是 DNS 慢、小文件请求慢、浏览器缓存问题、某些静态资源被卡住。

21.6 为什么端口映射不生效

常见原因有这些。

没有公网 IP。
运营商 CGNAT。
路由器映射错内网 IP。
防火墙没放行。
服务没监听。
内外端口写错。
双路由双 NAT。

外网用户  ↓公网 IP  ↓运营商是否 CGNAT  ↓家用路由器端口映射  ↓内网服务端口

家里 NAS 访问不了,先看 WAN 口是不是公网。别折腾一晚上才发现卡在 CGNAT,真会破防。

21.7 为什么远程连接服务器失败

可能是安全组没开,防火墙拦了,服务没启动,端口监听在本地地址,路由不通,DNS 错,服务器负载过高。

SSH 失败就查 22 端口。RDP 失败就查 3389。HTTP 失败就查 80/443。

服务端要看日志。本机要看连接。中间要看路由和安全策略。

21.8 为什么同一个网站不同网络访问效果不同

不同网络的 DNS、CDN 调度、运营商出口、BGP 路径都可能不同。

公司网络快,家里慢。移动快,电信慢。国内快,海外慢。都正常。

用户 A → ISP A → CDN A用户 B → ISP B → CDN B

同一个网站,对不同用户来说并不是同一条路。

21.9 如何判断问题出在本机、路由器、ISP 还是服务器

图片

二十二、总结,建立完整的网络知识体系

22.1 从设备看网络:主机、路由器、交换机、服务器

图片

22.2 从分层看网络,链路层、网络层、传输层、应用层

图片

22.3 从链路看网络,家庭网络、ISP、骨干网、数据中心

图片

22.4 从协议看网络,IP、TCP、UDP、DNS、HTTP、BGP

图片


Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐