## 计算机网络的体系结构 ### 1. 计算机网络的体系结构 #### 1.1 OSI七层模型 | 层次 | 名称 | 功能 | 典型协议/设备 | |------|------|------|-------------| | 7 | 应用层 | 提供网络服务和用户接口 | HTTP、FTP、SMTP、DNS | | 6 | 表示层 | 数据格式转换、加密解密、压缩 | JPEG、ASCII、MPEG | | 5 | 会话层 | 管理会话、建立维护通信 | NetBIOS、RPC | | 4 | 传输层 | 端到端可靠传输、流量控制 | TCP、UDP | | 3 | 网络层 | 路由选择、逻辑寻址 | IP、ICMP、路由器 | | 2 | 数据链路层 | 帧同步、差错控制、MAC寻址 | PPP、Ethernet、交换机 | | 1 | 物理层 | 比特流传输、接口标准 | 集线器、中继器、双绞线 | **各层关键职责分布**(五层模型): | 功能 | 应用层 | 传输层 | 网络层 | 数据链路层 | 物理层 | |------|:-----:|:-----:|:-----:|:--------:|:-----:| | 流量控制 | | ✔ 滑动窗口 | | ✔ 滑动窗口 | | | 差错控制 | | ✔ 端到端校验+重传 | ✔ 头部校验 | ✔ 帧校验+重传 | | | 拥塞控制 | | ✔ TCP拥塞控制 | ✔ 路由策略 | | | | 路由与寻址 | | | ✔ IP路由 | ✔ MAC寻址 | | | 复用与分用 | | ✔ 端口复用 | | | | | 会话管理 | ✔(应用层内部) | | | | | | 数据表示 | ✔(应用层内部) | | | | | | 用户接口 | ✔ 应用协议 | | | | | #### 1.2 TCP/IP四层模型 | 层次 | 对应OSI | 主要协议 | |------|--------|---------| | 应用层 | 5-7层 | HTTP、FTP、SMTP、DNS、TELNET | | 传输层 | 4层 | TCP、UDP | | 网际层 | 3层 | IP、ICMP、ARP、RARP | | 网络接口层 | 1-2层 | Ethernet、PPP、SLIP | #### 1.3 数据封装与解封装过程 ``` TCP/IP Model - Encapsulation Decapsulation +---------------------+ +---------------------+ | Application | Data | Application | +---------------------+ +---------------------+ | TCP/UDP | Segment + TCP Hdr | TCP/UDP | +---------------------+ +---------------------+ | IP | Packet + IP Header | IP | +---------------------+ +---------------------+ | Ethernet/FCS | Frame + Eth Header | Ethernet/FCS | +---------------------+ +---------------------+ | Bit | 101011001... | Bit | +---------------------+ +---------------------+ ``` **实际封装过程**: 1. **应用层**:原始数据 2. **传输层**:添加TCP/UDP头部 → 数据段(Segment) 3. **网络层**:添加IP头部 → IP数据报(Datagram) 4. **数据链路层**:添加Ethernet头部和FCS尾部 → 帧(Frame) 5. **物理层**:转换为比特流传输 > **关键点**:封装是自上而下逐层添加头部;解封装是自下而上逐层去掉头部 #### 1.4 各层关键设备与协议 - **物理层**:中继器、集线器(放大信号、广播) - **数据链路层**:网桥、交换机(基于MAC地址转发、VLAN) - **网络层**:路由器、三层交换机(基于IP路由) - **传输层**:四层交换机、防火墙(基于端口) - **应用层**:网关(协议转换) #### 1.5 重要概念 - **协议**:控制两个对等实体通信的规则集合 - **服务**:下层向上层提供服务,上层调用下层服务 - **接口**:相邻两层之间交互的界面 - **SDU**:服务数据单元 - **PDU**:协议数据单元 #### 1.6 性能指标 | 指标 | 定义 | 说明 | |------|------|------| | 带宽 | 信道所能承载的最高数据传输速率 | 单位 bps(Hz),如 100Mbps、1Gbps | | 吞吐量 | 单位时间内实际传输的数据量 | ≤ 带宽,受网络拥塞影响 | | 时延 | 数据从源到目的地所需总时间 | = 发送时延 + 传播时延 + 处理时延 + 排队时延 | | 发送时延 | 数据从节点进入传输介质的时间 | = 数据长度 ÷ 发送速率 | | 传播时延 | 电磁波在信道上传播的时间 | = 信道长度 ÷ 电磁波传播速度 | | 处理时延 | 交换机/路由器处理数据的时间 | 包括检错、查路由表等 | | 排队时延 | 数据在缓存中等待转发的时间 | 取决于网络拥塞程度 | | 时延带宽积 | 衡量链路上最大比特数量 | = 传播时延 × 带宽(bit) | | 往返时间 RTT | 数据发送到收到确认的总时间 | 影响 TCP 拥塞控制策略 | | 信道利用率 | 信道有数据通过的时间比例 | 过高会导致排队时延剧增 | ### 2. 电路交换,报文交换,分组交换 #### 2.1 电路交换(Circuit Switching) **原理**:通信双方必须建立一条专用物理通路,在通信过程中始终占用该通路,其他用户无法使用。 **工作阶段**: 1. **建立连接**:分配专用信道资源 2. **通信**:双方实时传输数据 3. **释放连接**:归还信道资源 **特点**: - 优点:通信可靠,时延小,有序传输 - 缺点:建立连接时间长,资源独占利用率低,不适应突发性传输 **典型应用**:传统电话网络 #### 2.2 报文交换(Message Switching) **原理**:以完整报文为单位进行存储-转发交换,不需要建立专用通路。 **工作流程**: 1. 发送方将整个报文发送给相邻结点 2. 结点完整接收报文并存储 3. 等待下一跳空闲时转发 4. 逐跳传递直至到达目的地 **特点**: - 优点:无需建立连接,动态分配路线,多个报文可共享信道 - 缺点:时延大,需要大缓存,报文大小不一导致处理复杂 **典型应用**:早期电报系统 #### 2.3 分组交换(Packet Switching) **原理**:将大报文分割成若干固定长度的分组(包),以分组为单位进行存储-转发。 **工作流程**: 1. 将长报文分割成多个分组 2. 每个分组带序号和目的地址 3. 分组独立选择路由转发 4. 接收端按序号重组报文 **特点**: - 优点:时延较报文交换小,资源利用率高,支持并行传输,路由灵活 - 缺点:存在时延抖动,需要额外头部开销,可能产生失序 **典型应用**:现代互联网(TCP/IP网络) #### 2.4 对比总结 | 特性 | 电路交换 | 报文交换 | 分组交换 | |------|:-------:|:-------:|:-------:| | 时延 | 建立时延大,传输时延小 | 时延大(存储完整报文) | 时延较小(存储转发分组) | | 缓存 | 无需缓存 | 需缓存完整报文(内存需求大) | 需缓存分组(内存需求小) | | 信道利用率 | 低(独占信道,空闲浪费) | 较高(共享信道) | 高(统计复用) | | 是否有序到达 | 是(专用路径) | 是(逐跳转发) | 不一定(可能失序) | | 差错控制 | 无检错/重传机制 | 有(逐段校验) | 有(逐段校验+重传) |