计算机网络概述
计算机网络把分散的计算机与设备连接起来,实现资源共享与信息交换。它是互联网、Web 开发、分布式系统与云服务的地基:无论发一个 HTTP 请求还是排查线上故障,背后都依赖一整套网络机制。后端面试几乎必问网络,本节先建立整体认识。
网络的组成
一个最简单的网络至少包含三类角色:
- 主机:发送与接收数据的设备,如电脑、手机、服务器。
- 通信链路:传输数据的介质,如双绞线、光纤、无线电波。
- 网络设备:负责转发与路由的中间设备,如交换机、路由器。
主机之间要能协作,必须遵守共同的沟通约定——这就是协议(Protocol)。
主机A ──网线──> 交换机 ──> 路由器 ──> 互联网 ──> 路由器 ──> 交换机 ──> 主机B
网络的分类
按覆盖范围划分,网络从小到大可分为:
| 类型 | 覆盖范围 | 典型例子 |
|---|---|---|
| 个人区域网 PAN | 数米内 | 蓝牙耳机、手机热点 |
| 局域网 LAN | 一栋楼、一个园区 | 办公室组网、数据中心 |
| 城域网 MAN | 一座城市 | 城市骨干网络 |
| 广域网 WAN | 跨城市、跨国 | 互联网 |
互联网就是"网络的网络":无数局域网通过广域网互联而成。
电路交换与分组交换
电话网采用电路交换:通话前先独占建立一条物理通路,期间线路被该通话占用;互联网采用分组交换:数据被切成一个个小分组(packet)独立转发,到达后再拼装还原。
| 对比项 | 电路交换 | 分组交换 |
|---|---|---|
| 是否独占线路 | 是 | 否,统计复用 |
| 是否先建立连接 | 是 | 否(尽力而为) |
| 线路利用率 | 低 | 高 |
| 传输可靠性 | 高 | 需上层协议保证 |
| 典型应用 | 传统电话 | 互联网 |
1MB 文件 → [包1][包2][包3]… 各包可走不同路径 → 接收端重组还原
网络的性能指标
- 带宽:信道每秒能传输的最大比特数,单位 bps,如 100 Mbps。
- 时延:数据从发送到接收的总耗时,含发送、传播、处理、排队四部分。
- 吞吐量:单位时间实际成功传输的数据量,通常小于带宽。
- 丢包率:传输中丢失的分组比例,网络拥塞时明显升高。
后端排查"网络慢"时,先要分清是带宽不足、时延偏高还是丢包严重,再对症下药。
为什么要分层
网络过于复杂,于是采用分层设计:每层专注解决一类问题,只与相邻层协作。分层的好处:
- 各层可独立设计、演进与替换,互不影响;
- 层间接口标准化,不同厂商的设备与软件可以互通;
- 故障可定位到具体层,例如先分清是应用问题还是传输问题。
小结:计算机网络是"分层设计 + 分组交换"的系统。记住主机、链路、网络设备三要素,理解电路/分组交换的差异与四项性能指标,就为学习各层协议打好了基础。