【计算机网络 | 第4篇】分组交换
文章目录
- 前言🥝
- 电路交换🍋
- 电路交换技术的优缺点
- 电路交换的资源分配机制
- 报文交换🍋
- 报文交换技术的优缺点
- 存储转发技术
- 分组交换🐦🔥
- 分组交换的过程
- 分组交换解决的关键问题
- 传输过程的关键参数
- 工作原理
- 分组传输时延计算
- 网络拥塞的核心问题:排队时延与分组丢失
- 输出缓存的基本作用
- 转发表与路由选择协议
- 电路交换与分组交换的对比🤔
- 电路交换的问题与优势
- 分组交换的争议
- 分组交换的效率优势:带宽共享的数学模型
- 突发流量下的性能对比:单用户案例
前言🥝
在网络核心部分起重要作用的是路由器(Router),它对收到的分组进行存储转发来实现分组交换。要了解分组交换的原理,首先要学习电路交换和报文交换的相关概念。
电路交换🍋
在早期专为电话通信服务的电信网络中(传统电话网),需要使用很多相互连接起来的电话交换机来完成全网的交换任务。电话交换机接通电话线的方式就是电路交换(Circuit Switching)。
在电路交换网络中,当两个终端设备(如电话机、主机)要进行通信时,首先需要在网络中建立一条专用的通信路径。这条路径会贯穿所有中间节点(如交换机),并且在通信期间,这些节点会为这次连接预留必要的资源,包括:每一段链路的带宽(传输速率)和节点内部的缓存空间。
从通信资源分配的角度看,交换(Switching)实际上就是以某种方式动态地分配传输线路的资源。使用电路交换进行通信的三个步骤如下:
- 建立连接:开始占用通信资源
- 通话:即传输数据,一直占用通信资源
- 释放连接:归还通信资源
在电路交换中,电路建立后,除源节点和目的节点外,电路上的任何节点都采取直通方式发送数据和接收数据,即不存在存储转发所耗费的时间。在电路交换的整个通信阶段,比特流连续地从源节点直达目的节点,就好像在一个管道中传送。
电路交换技术的优缺点
电路交换技术的优点:
- 资源预留机制:在通信开始前,系统就为该次通信分配了足够的带宽和缓存资源,保证了通信过程的稳定性。
- 恒定的传输速率:因为资源被独占,所以发送方可以以固定速率向接收方发送数据,不会有拥堵或排队现象。
- 低延迟、高可靠性:对于实时性要求高的应用(如语音、视频会议),这种特性非常重要。
- 连接状态维护:所有沿途的交换设备都会记录当前连接的状态信息,以便正确转发数据流。
电路交换技术的缺点:
- 资源利用率低:即使通信双方暂时没有数据传输,所预留的资源也不能被其他用户使用,造成浪费。
- 不适合突发性通信:例如网页访问、文件下载等场景,数据流量波动大,使用电路交换效率不高。
- 建立连接需要时间:对于短时间的通信来说,建立连接的时间可能占比较高,影响效率
计算机之间的数据传送往往是突发式(高频、少量)的,当使用电路交换来传送数据时,被用户占用的通信线路资源在绝大部分时间里都是空闲的,其利用率低。
一个典型的电路交换网络架构:
该网络由4台电路交换机通过4条链路互联构成,形成了一个稳定的通信骨架。每条链路被划分为4条独立的"电路",这一设计使得每条链路能够同时支持4条并行的连接,如同一条四车道的高速公路,每条车道(电路)可独立承载数据传输任务。
电路交换的资源分配机制
假设每条链路的总传输速率为1Mbps,每条链路被划分为4条电路。那么:
- 单条电路的带宽 = 1Mbps/4=250kbps
- 端到端连接的带宽:若通信路径经过两条链路(如链路1和链路2),则总可用带宽为
250kbps×2=500kbps,这条连接在通信期间独占这两条电路的250kbps带宽,即使链路上的其他电路空闲,也不会被其他连接使用。
在电路交换网络中,为了在一条物理链路上同时传输多路信号,提高资源利用率,通常采用频分复用(FDM)或时分复用(TDM)技术。这两种技术分别通过划分频率或时间资源,实现多路信号的并发传输。
报文交换🍋
数据交换的单位是报文,用户数据加上源地址、目的地址等信息后,后封装成报文(Message)。
报文交换采用存储转发技术,整个报文先传送到相邻的节点,全部存储后查找转发表,转发到下一个节点,如此重复,直至到达目的节点。每个报文都可单独选择到达目的端的路径。
报文交换技术的优缺点
报文交换技术的优点:
- 无建立连接时延:通信前无须建立连接,没有建立连接时延,用户可随时发送报文。
- 灵活分配线路:交换节点存储整个报文后,选择一条合适的空闲线路,转发报文。若某条传输路径发生故障,则可重新选择另一条路径传输数据。
- 线路利用率高:报文在一段链路上传送时才占用这段链路的通信资源。
- 支持差错控制:交换节点可对缓存下来的报文进行差错检验。
报文交换技术的缺点:
- 转发时延高,缓存开销大,错误处理低效。
存储转发技术
想象你正在通过快递公司寄送一个包裹。快递员不会在你刚放入包裹的一部分时就出发,而是需要等待整个包裹装箱完成后,才开始运输。这种“先接收完整数据再转发”的方式,正是存储转发传输的核心思想。
路由器的工作原理与之类似,路由器作为数据的中转站,必须完整接收一个报文 / 分组的所有比特后,才能开始向下一跳链路传输。这一过程分为两个关键阶段:
- 存储阶段:路由器缓存整个分组,确保数据完整性。
- 转发阶段:路由器将完整分组通过出链路发送到下一个节点。
当然了,这其中也包括对于数据进行必要的验证,确认数据是完整的一个验证的过程。
分组交换🐦🔥
分组交换也采用存储转发技术,但解决了报文交换中报文过长的问题。若报文太长,则对交换节点的缓存容量就有很大的需求,在错误处理方面也比较低效。
待发送的整块数据通常被称为报文(Message)。将较长的报文划分成若干个较小的等长数据段,在每个数据段前面添加一些由必要的控制信息(例如源地址和目的地址等)组成的首部(Header),这样就构造出了一个个的分组(Packet)。分组是在分组交换网上传送的数据单元。
分组交换的过程
分组交换:
- 发送方:构造分组,发送分组
- 交换节点:缓存分组,转发分组
- 接收方:接收分组,还原报文
具体过程:源主机将分组发送到分组交换网中,分组交换网中的分组交换机收到一个分组后,先将其缓存下来,然后从其首部中提取出目的地址,按照目的地址查找自己的转发表,找到相应的转发接口后将分组转发出去,把分组交给下一个分组交换机。经过多个分组交换机的存储转发后,分组最终被转发到目的主机。
在传输过程中,分组会经过多个分组交换机(如路由器),每个交换机会根据当前网络状况动态选择最佳路径。所以,每个数据包其实是独立传输的。可能经过北京→上海→广州的路径。也可能选择北京→武汉→广州的路线。这种"智能路径规划"使得某条链路故障时,数据包可自动绕行,也可以使得整体网络资源得到更高效的利用
分组交换解决的关键问题
分组交换解决了很多关键的问题,主要体现在:
-
故障容错能力:比如某条路径故障时,数据包可自动选择备用路径。2019年某运营商海底光缆中断时,全球互联网流量自动绕开故障链路,正是分组交换的路由重选功能发挥了作用。
-
高效资源利用:传统电路交换需独占通信资源,而分组交换允许多个数据流共享同一条链路。不同数据包可共享链路,如同高速公路的多车道设计,大大提高了网络资源的使用效率。
-
按需分配带宽:突发大流量时,可动态调整各数据包的传输优先级。
传输过程的关键参数
传输速率与延迟 通信链路的传输速率用bps(bit per second)表示。以家庭宽带为例,100Mbps
的网络意味着每秒可传输1亿比特数据。假设一个分组大小为1500字节(即12,000比特),100Mbps
链路上的传输时间计算如下: 传输时间 = 分组大小 ÷ 传输速率 = 12,000 bit ÷ 100,000,000 bps =
0.00012秒。
当多路数据同时通过同一链路时,就会发生网络拥塞。这就像高速公路高峰时段的车流拥堵。此时路由器会进行缓冲,导致分组排队等待传输,从而增加整体延迟。这种现象在视频会议中可能表现为画面卡顿。
工作原理
工作原理:我们以源端系统 → 路由器 → 目的端系统的简单网络为例。
- 数据包构成:假设每个数据包(分组)包含L比特
- 链路速率:R bps(比特/秒)
源端发送分组:
在时刻 t=0源端开始发送分组1的第一个比特。
由于链路速率为 R,传输完整个分组需要时间 L/R秒。
到时刻 t=L/R,源端完成发送,分组1的全部比特已到达路由器并被缓存。
路由器转发分组:
路由器在时刻 t=L/R开始处理分组1,此时它已存储完整的分组数据。
路由器以同样的速率 R 向出链路传输分组1,耗时 L/R秒。
到时刻 t=2L/R,分组1的全部比特已到达目的端系统。
所以,我们的总时延为:存储转发总时延 = 源端传输时间 + 路由器转发时间 = 2L/R 秒。
在计算机网络中,数据以分组(Packet)为单位传输。每个分组的传输过程包含这两个关键时间参数:
- 传输时延:将分组所有比特推入链路所需的时间,计算公式为 D=L/R(L为分组长度,R为链路带宽)
若分组长度L=1500字节(12000比特),链路速率R=2Mbps,则传输时延
D=12000/(2×106)=0.006秒=6毫秒 - 传播时延:电信号在物理介质中传播所需时间,取决于链路长度和传播速度。
分组传输时延计算
我们以最简单的单链路场景为例,分析从源主机发送第一个分组到目的地接收全部分组所需的总时间。假设:
- 分组大小为L bit
- 链路传输速率为R bit/s
- 传输过程中忽略传播时延(光速传播)和处理时延
多分组流水线传输,当传输路径包含N条链路(即N-1台路由器)时,时延计算需要考虑每条链路的传输时间。假设所有链路速率均为R,则:
- 单个分组的端到端时延 = N × (L/R)
- P个分组的总时延 = (P + N - 1) × (L/R)
网络拥塞的核心问题:排队时延与分组丢失
在分组交换网络中,每台路由器都扮演着"交通枢纽"的角色。当分组到达路由器时,需要经历以下关键步骤:
- 输入处理:检查分组目的地址并确定输出链路
- 排队等待:若目标链路正在传输其他分组,新到达分组必须进入输出缓存(OutputBuffer)排队
- 传输转发:链路空闲时从队列头部取出分组进行传输
这种因链路繁忙导致的等待时间称为排队时延,与固定存在的存储转发时延不同,排队时延具有高度动态性,取决于网络拥塞程度。
输出缓存的基本作用
在分组交换网络中,每台路由器(或交换机)都会为连接的每条链路配置输出缓存(也称为输出队列)。这个缓存的作用类似于银行柜台前的等待队伍:当客户(分组)到达时,如果柜台(链路)正在服务其他客户(传输其他分组),新客户必须先排队等待。排队通常采用先进先出(FIFO)原则,即先到达的分组优先传输。而路由器在完成当前分组的转发后,才会从缓存中取出下一个分组继续处理。(即存储转发)既然要排队,那就会产生排队时延。排队时延 就是指分组在输出缓存中等待传输的时间。
网络拥塞的极端表现:分组丢失
转发表与路由选择协议
转发表:路由器的“导航手册”
在因特网中,每一台路由器都扮演着交通警察的角色,负责将数据包从源主机引导到目标主机。当数据包到达路由器时,路由器会根据其目的IP地址决定下一跳的出口链路。这一决策依赖于路由器内部的转发表。
转发表的工作原理:
- 地址匹配:IP地址具有层次结构(如 192.168.1.1 ),类似于邮政地址(国家-省-市-街道)。路由器会从目的地址中提取前缀(如 192.168.1 ),并在转发表中查找匹配的路由条目
- 输出链路选择:每个路由条目包含一个网络前缀和对应的输出链路。例如,若目标地址匹配192.168.1.0/24 ,路由器会将数据包发送到与该网络相连的接口
- 路由选择协议:自动构建导航图
转发表的设置并非人工逐条配置,而是通过路由选择协议自动完成。这些协议就像“道路规划系统”,动态计算最优路径并更新转发表。他主要持续完成两项核心任务:
- 路径发现:动态探测网络拓扑,就像交通部门实时监测道路状况
- 最优路径计算:采用最短路径算法(如Dijkstra算法)确定最佳路由,类似导航软件计算最快路线。
电路交换与分组交换的对比🤔
电路交换的问题与优势
-
资源浪费问题:尽管电路交换能提供稳定的通信质量,但其资源预留机制也带来了显著的经济性问题。分组交换的
支持者常指出,电路交换在静默期会浪费大量网络资源。 -
电路交换的复杂性:信令开销
- 信令系统:在通信开始前,网络必须通过信令协议协调所有中间节点,为连接分配资源(如FDM的频段或TDM的时隙)。
- 维护成本:每条连接都需要维护状态信息(如路径、资源分配),这对大规模网络来说会显著增加管理开销。
相比之下,分组交换采用"即发即走"模式,无需预先协调,显著降低了网络控制复杂度。
尽管存在上述问题,电路交换在某些场景下仍具优势:
- 实时性要求高的业务:如语音通话、视频会议,需保证低延迟和抖动。
- 流量稳定的应用:如工业控制、远程医疗,需持续占用固定带宽。
所以,电路交换通过资源预留机制保障通信稳定性,但其经济性和灵活性较差。分组交换通过动态资源分配提高了效率,更适合现代互联网的突发性流量需求。然而,两者并非完全对立:
- 融合应用:现代网络常结合两者优势(如5G中的QoS机制),为实时业务预留资源,同时优化突发流量的传输。
- 技术演进:统计时分复用(STDM)和波分复用(WDM)等技术进一步提升了电路交换的资源利用率。
分组交换的争议
批评者认为:
分组交换不适合实时业务(如电话、视频会议),因为其端到端时延不可预测。
原因:分组可能在路由器缓存中排队(排队时延),导致时延波动。
类比:就像高峰期的地铁站,乘客可能因拥挤而无法准时到达目的地。
支持者则指出:
分组交换资源利用率更高,实现成本更低,且适合突发性流量。
原因:分组按需动态分配资源,无需预先预留。
类比:类似共享会议室,空闲时段可临时分配给其他用户。
分组交换的效率优势:带宽共享的数学模型
场景设定:
一条1Mbps链路被多个用户共享
- 每个用户:
- 活跃期:以100kbps速率发送数据(10%时间)
- 静默期:不发送数据(90%时间)
电路交换的限制:
- 每用户需独占100kbps带宽
- 链路总带宽:1Mbps = 10 × 100kbps → 仅支持1个用户
分组交换的灵活性:
- 用户活跃概率为10%
- 概率模型:
- 若有35个用户,11个及以上同时活跃的概率仅为0.04%(见图1-15)
- 当活跃用户≤10时,聚合速率 ≤ 1Mbps → 无排队时延
- 当活跃用户>10时,聚合速率 > 1Mbps → 出现排队时延,但概率极低(0.04%)
分组交换可在35个用户的场景下实现与电路交换(仅1用户)相同的性能(99.96%时间内无排队)。资源利用率提升35倍,显著降低成本。
突发流量下的性能对比:单用户案例
场景设定:
10个用户中,1个用户突发发送1000个1000bit分组(共1,000,000bit),其余用户静默
电路交换(TDM)的限制:
- 链路划分10个时隙,每个时隙100ms,包含1000bit
- 活跃用户每帧仅能使用1个时隙(100ms),其余9个时隙空闲
- 传输时间:1000个分组 × 100ms = 10秒
分组交换的优势:
- 活跃用户可独占1Mbps带宽(无竞争)
- 传输时间:1,000,000bit ÷ 1Mbps = 1秒
电路交换因固定时隙限制,无法充分利用突发流量
分组交换按需动态分配,最大化链路利用率
分组交换通过动态资源分配和高资源利用率,成为现代互联网的基石。然而,电路交换在实时性和稳定性方面仍有独特优势。两者的对比揭示了网络设计的核心权衡:资源效率 vs 实时性保障。随着技术发展,融合两者优势的混合网络(如5G)将成为主流。
如果我的内容对你有帮助,请 点赞 , 评论 , 收藏 。创作不易,大家的支持就是我坚持下去的动力!