计算机网络-体系结构与基础
目录
1 基本概念
1.1 计算机网络定义、功能与组成
1.2 网络拓扑结构(星型、总线型、环型、树型、网状)
1.3 网络分类(LAN, MAN, WAN, PAN)
2 网络标准化
2.1 什么是网络标准化?
2.2 标准组织(ISO, ITU, IEEE)
1. ISO (International Organization for Standardization) - 国际标准化组织
2. ITU (International Telecommunication Union) - 国际电信联盟
3. IEEE (Institute of Electrical and Electronics Engineers) - 电气与电子工程师协会
2.3 RFC (Request for Comments)
3 网络模型
3.1 OSI 七层参考模型
3.2 TCP/IP 四层参考模型
3.3 OSI 与 TCP/IP 模型对比
4 网络性能指标
4.1 速率(比特率)
4.2 带宽(Bandwidth)
4.3 吞吐量(Throughput)
4.4 时延(传输时延、传播时延、处理时延、排队时延)
a. 传输时延 (Transmission Delay)
b. 传播时延 (Propagation Delay)
c. 处理时延 (Processing Delay)
d. 排队时延 (Queueing Delay)
4.5 时延带宽积
4.6 RTT(往返时间)
1 基本概念
1.1 计算机网络定义、功能与组成
计算机网络的定义
计算机网络是指将地理位置不同的、具有独立功能的多台计算机系统,通过通信设备和传输介质连接起来,在网络软件(如网络协议)的管理和协调下,实现数据通信和资源共享的系统。
- 目的: 实现数据通信和资源共享。
- 主体: 独立功能的计算机(包括服务器、个人电脑、智能设备等)。
- 连接方式: 通过通信设备(如交换机、路由器)和传输介质(如网线、光纤、无线电波)。
- 规则: 必须遵循统一的网络协议(如 TCP/IP)。
计算机网络的功能
计算机网络的核心功能主要体现在以下几个方面:
- 数据通信 (Data Communication)
-
- 这是网络最基本、最重要的功能。它使得网络中的设备能够快速、可靠地交换信息。
- 示例:电子邮件 (Email)、即时通讯 (如微信、QQ)、文件传输 (FTP)。
- 资源共享 (Resource Sharing)
-
- 允许网络中的用户共享各种资源,打破地理位置的限制。
- 硬件资源共享: 如共享网络打印机、共享存储设备 (NAS)。
- 软件资源共享: 如共享数据库系统、共享特定应用软件(如云端的 ERP 系统)。
- 数据资源共享: 如共享文件、访问公共数据库、网页浏览。
- 分布式处理 (Distributed Processing)
-
- 网络允许将一个复杂的大任务分解成若干个子任务,分配给网络中不同的计算机去处理,最后再将结果汇总。
- 示例:科学计算(如 SETI@home)、大数据处理(如 Hadoop MapReduce 框架)、云计算。
- 提高可靠性 (Increased Reliability)
-
- 网络中的资源可以互为备份。当某台计算机(如服务器)出现故障时,网络可以自动切换到其他备份服务器上,保证服务的持续性。
- 示例:服务器集群、负载均衡、冗余备份。
- 负载均衡 (Load Balancing)
-
- 通过网络技术,可以将用户的请求均衡地分配到多台服务器上,避免单台服务器负载过高,提高系统的整体处理能力和响应速度。
计算机网络的组成
一个完整的计算机网络通常由以下三个主要部分组成:
- 硬件系统 (Hardware)
-
- 这是网络的物理基础,提供了数据传输的物理通道和连接设备。
- 终端设备 (End Devices): 也称为主机 (Host),是网络的信源和信宿。
-
-
- 如:个人计算机、服务器、智能手机、网络摄像头、物联网设备等。
-
-
- 网络连接设备 (Intermediary Devices): 负责连接终端设备和网络,以及实现网络间的数据转发。
-
-
- 数据链路层设备: 交换机 (Switch)、网桥 (Bridge)。
- 网络层设备: 路由器 (Router)。
- 物理层设备: 集线器 (Hub)、中继器 (Repeater)。
- 应用层设备: 网关 (Gateway,广义上路由器也是一种网关)。
-
-
- 传输介质 (Transmission Media): 负责传输原始的比特流。
-
-
- 有线介质: 双绞线 (网线)、同轴电缆、光纤。
- 无线介质: 无线电波 (Wi-Fi, 蓝牙)、微波、红外线。
-
- 软件系统 (Software)
-
- 软件系统负责管理、协调和利用网络硬件资源,提供各种网络服务。
- 网络操作系统 (NOS): 运行在服务器或网络设备上的操作系统,负责管理网络资源。
-
-
- 如:Windows Server, Linux (如 Red Hat, Ubuntu Server), 专门的路由器操作系统 (如 Cisco IOS, Juniper JUNOS)。
-
-
- 网络应用软件: 为用户提供具体的网络服务。
-
-
- 如:Web 浏览器 (Chrome, Firefox)、FTP 客户端、邮件客户端 (Outlook)。
-
- 网络协议 (Protocol)
-
- 协议是网络中进行数据交换而建立的规则、标准或约定的集合。没有协议,硬件和软件就无法协同工作。
- 协议定义了数据传输的格式、顺序和错误处理方式。
- 协议的三个要素:
-
-
- 语法: 规定了数据与控制信息的结构或格式(例如,一个 IP 包头必须包含源地址和目的地址)。
- 语义: 规定了需要发出何种控制信息,完成何种动作以及做出何种应答(例如,收到一个 SYN 包应该回复一个 SYN+ACK 包)。
- 时序: 规定了事件实现的顺序(例如,必须先建立连接才能传输数据)。
-
-
- 协议的集合:不同的协议在网络的不同层次工作,它们共同组成了网络的体系结构,最著名的就是 TCP/IP 协议栈。
1.2 网络拓扑结构(星型、总线型、环型、树型、网状)
星型拓扑
- 结构定义:所有节点都通过单独的线路连接到一个中央节点(如集线器 Hub 或交换机 Switch)。
- 数据流:任何两个节点之间的通信都必须通过中央节点。
- 应用: 我们现在办公室、家庭组建局域网,99% 用的都是"星型拓扑" (例如,你办公室或家里的电脑通过网线连接到同一个交换机或路由器)。
- 好处: 非常好管理。其中一台电脑或者一根网线坏了,不影响其他任何人的使用。
- 坏处: 那个中心的“交换机”如果坏了,那大家就都上不了网了(但这在今天很容易替换)。
总线型拓扑
- 结构定义:所有节点都共享并连接到同一条主干电缆(称为“总线”)上。总线的两端需要安装终端电阻(Terminator)以吸收信号,防止信号反弹。
- 数据流:数据以广播的形式在总线上传播,所有节点都能接收到信号,但只有目标地址匹配的节点才会处理该数据。
- 缺点:故障诊断困难: 如果主干电缆(总线)上任何一点出现故障(如断裂),整个网络都会瘫痪。定位故障点非常困难。
- 应用:早期的以太网(如 10Base-2),现在已基本被淘汰。

1.3 网络分类(LAN, MAN, WAN, PAN)
它们的区别就是覆盖的“地盘”大小不一样,从小到大依次是:PAN -> LAN -> MAN -> WAN。
| 类型 | 中文名称 | 覆盖范围 (从小到大) | 常见示例 |
| PAN | 个人区域网 | 个人身边(~几米) | 蓝牙耳机、智能手表 |
| LAN | 局域网 | 一栋楼、一个家庭、一个园区 | 家庭 Wi-Fi、办公室网络、网吧 |
| MAN | 城域网 | 一个城市 | 大学城校区互联、城市有线电视网 |
| WAN | 广域网 | 国家、大洲、全球 | 互联网 (Internet)、企业跨国专线 |
2 网络标准化
2.1 什么是网络标准化?
网络标准化就是为了确保不同厂商生产的设备能够相互通信(互操作性)。
想象一下,如果 Apple 的 Wi-Fi 路由器只能让 iPhone 连接,而华为的路由器只能让华为手机连接,那世界就乱套了。
为了让全世界的设备都能“说同一种语言”,就需要一个大家共同遵守的“规则”,这个规则就是网络标准。
2.2 标准组织(ISO, ITU, IEEE)
有非常多的组织在制定标准,但对于计算机网络,只需要记住以下三个,特别是 IEEE。
1. ISO (International Organization for Standardization) - 国际标准化组织
- 它是谁? 一个全球性的、非政府的标准化机构,什么都管,不只是计算机(比如 ISO 9001 质量管理)。
- 你为什么要知道它? 因为它在 1984 年提出了大名鼎鼎的 OSI 七层参考模型。虽然这个模型没有在商业上完全实现,但它成为了理论和教学的黄金标准。
- 面试关联: 当面试官问你“OSI 七层模型”时,你就知道这个模型是 ISO 提出来的。
2. ITU (International Telecommunication Union) - 国际电信联盟
- 它是谁? 联合国的专门机构,主要负责制定电信相关的标准。
- 它制定了什么? 传统电话网、调制解调器标准 (V.90)、视频压缩标准 (如 H.264/AVC) 等。它的标准覆盖范围很广,但更偏向于“电信”领域而非“互联网”领域。
- 面试关联: 了解即可,与主流后端开发面试关联度较低。
3. IEEE (Institute of Electrical and Electronics Engineers) - 电气与电子工程师协会
- 它是谁? 全球最大的专业技术组织之一。
- 它制定了什么?(重点) 它主要负责制定局域网 (LAN) 和城域网 (MAN) 的标准,也就是 OSI 模型的物理层和数据链路层的标准。
- 你必须记住的:
-
- IEEE 802.3: 这就是以太网 (Ethernet) 的标准(你插网线那个)。
- IEEE 802.11: 这就是 Wi-Fi 的标准(你连无线那个)。
- IEEE 802.15: 蓝牙 (Bluetooth) 的标准。
- 面试关联: 当提到以太网或 Wi-Fi 时,你应该能反应出这是 IEEE 802 委员会制定的标准。
2.3 RFC (Request for Comments)
它不是一个组织,而是一个文档系列。
主要由 IETF (Internet Engineering Task Force - 互联网工程任务组) 发布。
它的作用?(重点)
- 互联网的“圣经”: 几乎所有互联网的核心协议(如 TCP, IP, HTTP, DNS, FTP)都是通过 RFC 文档来定义和规范的。
- 开放的过程:它的名字叫“征求意见稿”,意味着任何人都可以提交自己的草案 (Draft),经过讨论、修订和批准后,成为正式的 RFC 标准。
举例:
RFC 791: 定义了 IP 协议 (IPv4)。RFC 793: 定义了 TCP 协议。RFC 2616: 定义了 HTTP/1.1 协议。
面试关联: 当你和面试官深入讨论某个协议(比如 HTTP/2.0)的细节时,最终的权威解释都来自对应的 RFC 文档。这代表了互联网事实上的标准。
3 网络模型
3.1 OSI 七层参考模型
OSI 模型是由国际标准化组织 (ISO) 提出的一个理论上的参考模型,目的是为所有网络系统提供一个统一的标准。它在教学和分析网络问题时非常有用。
为了方便记忆,你可以从下到上记:“物、数、网、传、会、表、应”。
| 层次 | 名称 (英文) | 数据单元 (PDU) | 基本功能(一句话概括) |
| 第7层 | 应用层 (Application) | 数据 (Data) | 为用户应用程序(如浏览器、邮件)提供网络服务接口。 |
| 第6层 | 表示层 (Presentation) | 数据 (Data) | 负责数据的格式化、加密/解密、压缩/解压缩。 |
| 第5层 | 会话层 (Session) | 数据 (Data) | 负责建立、管理和终止不同设备间的会话连接。 |
| 第4层 | 传输层 (Transport) | 段 (Segment) | 提供端到端(进程到进程)的数据传输服务,进行端口寻址、流量控制和差错控制。 |
| 第3层 | 网络层 (Network) | 包 (Packet) | 负责将数据包从源主机路由到目的主机,进行IP寻址和路径选择。 |
| 第2层 | 数据链路层 (Data Link) | 帧 (Frame) | 将网络层的IP数据包,封装成“帧”,在局域网内的相邻节点间传输数据帧,进行MAC寻址和差错检测。 |
| 第1层 | 物理层 (Physical) | 比特 (Bit) | 负责在传输介质上(如网线、光纤)传输原始的0和1比特流。 |
3.2 TCP/IP 四层参考模型
这是实际应用中的经典模型,是现代互联网的基石(也称 DoD 模型)。它比 OSI 模型更精简、更实用。
| 层次 | 名称 (英文) | 对应 OSI 模型 | 基本功能 |
| 第4层 | 应用层 (Application) | 应用层、表示层、会话层 | 负责所有高层协议(如 HTTP, DNS, FTP),处理应用程序的通信。 |
| 第3层 | 传输层 (Transport) | 传输层 | 负责端到端的通信(如 TCP, UDP),提供可靠或不可靠的数据传输。 |
| 第2层 | 网络层 (Internet) | 网络层 | 负责IP寻址、路由选择和数据包转发(如 IP, ICMP)。 |
| 第1层 | 网络接口层 (Network Interface) | 数据链路层、物理层 | 负责处理与物理网络(如以太网、Wi-Fi)相关的所有细节。 |
TCP/IP 五层参考模型(教学用)
由于 TCP/IP 四层模型中的“网络接口层”涵盖了太多功能(既管物理又管链路),所以在教学和学习中,人们普遍采用一个更清晰的五层模型。
这个五层模型综合了 OSI 和 TCP/IP 的优点,是目前学习计网时最常用的模型。
| 层次 | 名称 (英文) | 基本功能 |
| 第5层 | 应用层 (Application) | 为用户程序提供网络接口(如 HTTP, DNS)。 |
| 第4层 | 传输层 (Transport) | 提供进程间的通信(如 TCP, UDP)。 |
| 第3层 | 网络层 (Network) | 负责IP寻址和跨网路由(如 IP 协议)。 |
| 第2层 | 数据链路层 (Data Link) | 负责局域网内的MAC寻址(如以太网)。 |
| 第1层 | 物理层 (Physical) | 负责传输比特流(如网线)。 |
3.3 OSI 与 TCP/IP 模型对比
| 对比维度 | OSI 七层模型 | TCP/IP 四层/五层模型 |
| 出身 | ISO 制定,理论先行。先有模型,再有协议。 | ARPANET 产生,实践先行。先有协议(TCP/IP),再总结出模型。 |
| 地位 | 理论标准 (Reference Model),用于教学和分析。 | 事实标准 (De Facto Standard),是互联网的实际运行模型。 |
| 层数 | 7 层,划分详细。 | 4 层(经典)或 5 层(教学)。 |
| 核心层 | 网络层、传输层、数据链路层。 | 传输层(TCP/UDP)和网络层(IP)是核心。 |
| 主要区别 | 明确划分了会话层和表示层。 | 将 OSI 的应用层、表示层、会话层合并为一层“应用层”。 |
| 协议依赖 | 模型是协议中立的,不依赖任何特定协议。 | 模型是围绕其核心协议(TCP 和 IP)建立的。 |
4 网络性能指标
4.1 速率(比特率)
- 定义: 指数据在网络链路上传输的实际速度,即每秒钟传输多少比特(bit)。
- 单位:
bit/s(或bps),如Mbit/s(兆比特每秒),Gbit/s(吉比特每秒)。 - 注意: 我们常说的“100兆宽带”,完整写法是
100 Mbps。而我们下载文件时看到的速度是MB/s(兆字节每秒)。1 Byte = 8 bits,所以100 Mbps的理论最大下载速度是100 / 8 = 12.5 MB/s。
4.2 带宽(Bandwidth)
- 定义: 在计算机网络中,带宽通常指一个信道的最高数据传输速率或额定容量。
- 单位:
bit/s(或bps)。 - 高速公路类比:
- 高速公路的设计容量,比如“双向 8 车道”。车道越多,理论上每小时能通过的车辆就越多。你办的“100兆宽带”就是你的“带宽”。
4.3 吞吐量(Throughput)
- 定义: 指在单位时间内,实际成功通过某个网络(或信道、接口)的数据量。它是一个实测值。
- 单位:
bit/s(或bps)。 - 与带宽的关系: 吞吐量受限于带宽。
- 高速公路类比:
-
- 高速公路设计是 8 车道(带宽)。但由于遇到了收费站拥堵(路由器处理)、前方修路(网络拥塞)、车辆(数据包)开错了路(丢包重传)等原因,你实际在 1 小时内从 A 城开到 B 城的车辆总数,换算成的“每小时车辆数”,就是吞吐量。
- 吞吐量 ≤ 带宽。
4.4 时延(传输时延、传播时延、处理时延、排队时延)
时延 (Delay / Latency)
- 定义: 指一个数据包从链路的一端(发送方)传输到另一端(接收方)所需要的总时间。
- 单位: 秒 (s),毫秒 (ms),微秒 (μs)。
- 高速公路类比:
-
- 一辆车从 A 城的出发点,到 B 城的终点,所花费的总时间。
时延由以下四个部分组成:
a. 传输时延 (Transmission Delay)
- 定义: 指发送方将一个数据包的所有比特“推送”到信道上所需的时间。
- 计算:
传输时延 = 数据包大小 (bit) / 带宽 (bit/s) - 高速公路类比:
-
- 一个车队(数据包)有 100 辆车(数据包大小)。收费站(信道)每秒钟只能通过 10 辆车(带宽)。那么这个车队完全通过收费站所需的时间就是
100 / 10 = 10秒。 - 关键点: 它取决于数据包的大小和带宽。
- 一个车队(数据包)有 100 辆车(数据包大小)。收费站(信道)每秒钟只能通过 10 辆车(带宽)。那么这个车队完全通过收费站所需的时间就是
b. 传播时延 (Propagation Delay)
- 定义: 指一个比特在信道中物理传播所需的(在路上的)时间。
- 计算:
传播时延 = 链路长度 (m) / 传播速率 (m/s) - 高速公路类比:
-
- 一辆车(比特)在高速公路上行驶的时间。
- 关键点: 它取决于距离和介质的速率(如光纤中的光速,电缆中的电信号速率)。无论你有 1 车道还是 100 车道(带宽),车的行驶速度(限速 120km/h)是不变的。
- 面试易混点:传输时延是“把数据推上路”的时间,传播时延是“数据在路上跑”的时间。
c. 处理时延 (Processing Delay)
- 定义: 指路由器或交换机收到数据包后,进行分析处理所需的时间(如检查包头、差错校验、查询路由表)。
- 高速公路类B:
-
- 车开到高速公路的枢纽站(路由器),司机(路由器)停下来查看地图(路由表),确定下一段路该怎么走所花的时间。
d. 排队时延 (Queueing Delay)
- 定义: 指数据包在路由器或交换机的缓冲区(队列) 中等待被处理或转发的时间。
- 高速公路类比:
-
- 高速公路堵车了。在收费站或枢纽站前,有大量汽车在排队等待通过,这个排队等待的时间。
- 关键点: 这是网络拥塞的主要原因,也是时延中最不确定的一个因素。
总时延 = 传输时延 + 传播时延 + 处理时延 + 排队时延
4.5 时延带宽积
- 定义: 指“传播时延”与“带宽”的乘积。
- 计算:
时延带宽积 = 传播时延 (s) × 带宽 (bit/s) - 含义: 它代表了一个信道最多能容纳多少比特,常被比喻为“链路的容量”或“在途数据量”。
- 水管类比(这个更形象):
- 带宽 (Bandwidth): 水管的粗细(直径)。
- 时延 (Delay): 水管的长度。
- 时延带宽积: 这根水管能装多少水(体积)。
- 应用: 这个值对 TCP 的滑动窗口大小设置至关重要。为了充分利用链路,TCP 的发送窗口应该设置为约等于“时延带宽积”,以确保在等待第一个 ACK 返回时,链路始终被数据“填满”。
4.6 RTT(往返时间)
- 定义: 从发送方发送一个简短数据包到接收方,再到接收方返回确认(ACK),总共所花费的时间。
- 包含:
RTT ≈ 2 × 传播时延 + 2 × 处理时延 + (可能的排队时延) - 高速公路类比:
- 你从 A 城开车出发,到达 B 城后,立即掉头开回 A 城,所花费的总时间。
- 应用:
ping命令就是用来测量 RTT 的。RTT 是衡量网络“响应速度”或“延迟感”的重要指标(例如,打游戏时的“ping 值”)。
