资讯动态

计算机网络第一章习题解析:交换方式、时延计算与层次模型

发布时间:2026/10/15 9:07:34 来源:尧图企业网站定制
1. 从一道习题说起为什么第一章总让人又爱又恨计算机网络这门课第一章永远是那个“看起来最简单、考起来最要命”的存在。我见过太多同学翻完第一章觉得概念就那么几个结果一做题就懵——分不清电路交换和分组交换的时延到底怎么算搞不明白为什么带宽和吞吐量不是一回事OSI七层和TCP/IP四层背得滚瓜烂熟却说不清每一层到底在干什么。这不是个别现象而是绝大多数初学者的共同困境。我自己当年学这门课的时候第一章的习题也是反复刷了三遍才真正吃透。后来带过几届学弟学妹发现大家在第一章踩的坑高度一致要么是概念混淆要么是计算题漏项要么是协议层次关系理不清。所以我把第一章习题里最核心的考点、最容易出错的细节、以及那些教材上不会明说但做题必须知道的“潜规则”全部整理出来写成这篇实操向的习题解析。这篇文章适合正在学计算机网络的学生、准备考研复试的考生、以及任何需要重新梳理网络基础概念的从业者。我会按照“概念辨析—计算题拆解—层次模型应用—常见陷阱”的顺序展开每一部分都配上典型习题和详细推导过程。你不需要死记硬背跟着我的思路走一遍第一章的习题基本就能拿下了。2. 第一章习题的核心考点全拆解2.1 交换方式的本质区别与计算套路第一章最经典的习题类型就是交换方式的比较。电路交换、报文交换、分组交换这三种教材上一般只给定义和简单的时延公式但真正做题的时候你会发现光背公式根本不够用。先把这个问题的本质说清楚。电路交换的核心特征是“独占通道”——通信双方在数据传输之前必须先建立一条物理连接这条连接在整个通信过程中被双方独占即使双方没有数据在传别人也用不了。这就像你打电话接通之后这条线路就是你俩的别人打不进来。报文交换和分组交换都属于存储转发方式区别在于报文交换是把整个报文作为一个单位存储转发而分组交换是把报文切成固定长度的小块分组再转发。计算题里最常考的是总时延。我总结了一个通用框架电路交换总时延 建立连接时间 传输时延 传播时延其中传输时延 数据量 / 带宽传播时延 距离 / 传播速率。分组交换总时延 传输时延所有分组 传播时延 中间节点的存储转发时延这里有个关键点很多人会漏分组交换在中间节点需要存储转发每个分组在每个中间节点都会产生一个传输时延。如果分组数量是n中间节点有k个那么总传输时延实际上是 (n k - 1) × 单个分组的传输时延。这个公式的推导逻辑是第一个分组经过k个节点需要k次传输后续每个分组只需要在最后一个节点排队等待所以总共是n k - 1次。我当年做这类题的时候最大的教训就是一定要画时间轴。把每个分组的传输过程在时间轴上画出来哪个时刻在哪个节点、哪个时刻到达目的地一目了然。不画图纯靠脑补十有八九要算错。注意分组交换的计算题里如果题目没有特别说明通常忽略节点的处理时延和排队时延只考虑传输时延和传播时延。但如果有“节点处理时间”这个条件一定要加上。2.2 时延、带宽、吞吐量的三角关系这四个概念——时延、带宽、吞吐量、时延带宽积——是第一章选择题和判断题的重灾区。很多同学觉得这些概念太基础了不会考结果偏偏就是这些基础概念丢分最多。时延分为四种发送时延传输时延、传播时延、处理时延、排队时延。发送时延是数据从主机推到链路上所需的时间取决于数据量和带宽传播时延是信号在物理介质上跑的时间取决于距离和介质中的传播速率。这两个概念最容易搞混我打个比方发送时延就像你把一车货装上车的时间传播时延就像货车从仓库开到目的地的时间。货装得越多数据量大装车时间越长路越远距离长开车时间越长。两者互不相关。带宽在计算机网络里指的是最高数据传输速率单位是比特每秒bps。注意带宽不是“频率范围”虽然这个词最早来自通信领域。做习题的时候如果题目说“链路带宽为10Mbps”意思就是这条链路每秒最多能传10兆比特的数据。吞吐量是实际通过链路的数据速率永远小于等于带宽。带宽是理论最大值吞吐量是实际值。如果一条链路上有多个连接共享吞吐量可能远小于带宽。时延带宽积 传播时延 × 带宽表示“链路中能容纳多少个比特”。这个概念在后续章节比如滑动窗口会反复用到第一章的习题里通常以选择题形式出现。我整理了一个对比表方便你快速区分概念决定因素单位常见陷阱发送时延数据量、带宽秒与传播时延混淆传播时延距离、介质传播速率秒误以为与带宽有关处理时延节点处理能力秒题目通常忽略排队时延网络拥塞程度秒题目通常忽略带宽链路物理特性bps误当作吞吐量吞吐量实际数据速率bps误当作带宽时延带宽积传播时延×带宽比特单位搞错2.3 OSI七层与TCP/IP四层的对应关系层次模型是第一章的另一个核心考点。OSI七层模型和TCP/IP四层模型的对应关系几乎每次考试都会以各种形式出现——选择题、填空题、简答题都有可能。先把这个对应关系理清楚应用层OSI的应用层表示层会话层→ TCP/IP的应用层传输层→ TCP/IP的传输层网络层→ TCP/IP的网络层也叫网际层数据链路层物理层→ TCP/IP的网络接口层也叫网络访问层这里有个常见的误区很多同学以为TCP/IP的应用层就是OSI的应用层其实TCP/IP的应用层把OSI的表示层和会话层都合并进来了。表示层负责数据格式转换、加密解密、压缩解压会话层负责建立、管理和终止会话。这些功能在TCP/IP模型里都由应用程序自己处理。每一层的核心功能我用一句话概括物理层传输比特流关心电压、接口、传输介质数据链路层把比特流组织成帧做差错检测和流量控制网络层分组转发和路由选择核心协议是IP传输层端到端的可靠或不可靠传输核心协议是TCP和UDP应用层为用户提供网络服务如HTTP、FTP、SMTP做习题的时候经常考“某个设备工作在哪一层”。我总结了一个速查表设备工作层次转发依据中继器物理层比特流集线器物理层比特流网桥数据链路层MAC地址交换机数据链路层MAC地址路由器网络层IP地址网关应用层应用协议提示交换机和网桥的区别是考试常考点。传统网桥端口少、软件转发交换机端口多、硬件转发但两者都在数据链路层工作都根据MAC地址转发帧。2.4 协议、接口、服务的三角关系这一组概念是第一章简答题的高频考点。很多同学背了定义但理解不透一到做题就分不清。协议是通信双方必须遵守的规则集合包括语法、语义和同步三个要素。语法规定数据格式语义规定每个字段的含义和操作同步规定操作的顺序。接口是同一节点内相邻两层之间交换信息的连接点。上层通过接口使用下层提供的服务不需要知道下层的具体实现。服务是下层向上层提供的功能。服务通过接口提供给上层上层是服务的用户。这三者的关系可以这样理解协议是“水平方向”的是不同节点的对等层之间通信的规则服务是“垂直方向”的是下层向上层提供的功能接口是服务访问点是上下层之间的边界。我当年考试的时候遇到一道题“协议是水平的还是垂直的”答案是水平的因为协议是对等层之间的约定。而服务是垂直的因为服务是下层向上层提供的。这个区分非常重要很多判断题都在这里设陷阱。3. 典型习题的完整推导与实操演示3.1 分组交换时延计算手把手推导这道题是第一章最经典的计算题类型我把它完整拆解一遍。题目主机A向主机B发送一个大小为8000比特的文件中间经过两个分组交换机。链路带宽为2Mbps每条链路的传播时延为2ms。分组大小为2000比特忽略节点的处理时延和排队时延。分别计算电路交换建立连接时间为5ms和分组交换的总时延。电路交换计算建立连接时间 5ms传输时延 8000 / 2×10^6 4ms传播时延 2ms × 3条链路 6msA到交换机1、交换机1到交换机2、交换机2到B总时延 5 4 6 15ms分组交换计算分组数量 8000 / 2000 4个单个分组的传输时延 2000 / 2×10^6 1ms中间节点数 2个总传输时延 (4 2 - 1) × 1ms 5ms传播时延 2ms × 3 6ms总时延 5 6 11ms这里的关键是理解为什么总传输时延是(42-1)×1ms。画时间轴就清楚了第一个分组在t0开始从A发送t1到达交换机1t2到达交换机2t3到达B。第二个分组在t1开始从A发送t2到达交换机1t3到达交换机2t4到达B。以此类推第四个分组在t3开始从A发送t4到达交换机1t5到达交换机2t6到达B。所以最后一个分组到达B的时间是6ms但传播时延是6ms总时延是6612ms不对这里我算错了。重新来第一个分组在t0开始发送t1到达交换机1t2到达交换机2t3到达B。第二个分组在t1开始发送t2到达交换机1t3到达交换机2t4到达B。第三个分组在t2开始发送t3到达交换机1t4到达交换机2t5到达B。第四个分组在t3开始发送t4到达交换机1t5到达交换机2t6到达B。所以最后一个分组到达B的时间是6ms传输时延部分加上传播时延6ms总时延是12ms。等等这里有个细节传播时延是每条链路2ms但最后一个分组到达B的时候传播时延已经包含在时间轴里了。实际上时间轴上的t6ms已经包含了所有链路的传播时延吗不是的。时间轴上的t6ms只包含了传输时延传播时延需要另外加。但传播时延是每条链路2ms最后一个分组从交换机2到B的传播时延是2ms所以总时延是628ms也不对。让我重新理清思路。分组交换的总时延应该这样算最后一个分组从源主机开始发送的时刻 (n-1) × 单个分组的传输时延 3 × 1ms 3ms最后一个分组到达目的主机的时间 最后一个分组开始发送的时刻 最后一个分组经过所有链路的传输时延 所有链路的传播时延最后一个分组经过所有链路的传输时延 3条链路 × 1ms 3ms所有链路的传播时延 3条链路 × 2ms 6ms总时延 3 3 6 12ms所以分组交换总时延是12ms电路交换是15ms。这个结果说明在这个场景下分组交换更优。注意分组交换的计算题一定要分清楚“最后一个分组开始发送的时刻”和“最后一个分组到达的时刻”。前者是(n-1)×单个分组传输时延后者还要加上最后一个分组经过所有链路的传输时延和所有链路的传播时延。3.2 时延带宽积的实际应用时延带宽积这个概念第一章的习题里通常以选择题形式出现但理解它对后续章节至关重要。题目一条链路的传播时延为10ms带宽为100Mbps求时延带宽积。如果发送一个1000字节的文件需要多长时间才能传完时延带宽积 10×10^-3 × 100×10^6 10^6比特 1M比特这意味着这条链路中最多能容纳1M比特的数据。换句话说如果发送方连续发送数据在第一个比特到达接收方之前发送方已经发出了1M比特的数据。发送1000字节8000比特的时间 8000 / 100×10^6 0.08ms但总时间还要加上传播时延10ms所以从开始发送到接收方收到最后一个比特总共需要10.08ms。这里有个常见的误解很多同学以为时延带宽积就是“传完数据需要的时间”其实不是。时延带宽积是“链路中能容纳的比特数”是一个容量概念不是时间概念。我当年做这类题的时候总是把时延带宽积和传输时延搞混。后来想明白了一个类比时延带宽积就像一条管子的容积传播时延是水从管子一端流到另一端的时间带宽是管子的粗细。容积 流速 × 时间对应时延带宽积 带宽 × 传播时延。3.3 协议层次关系的判断题实战题目判断以下说法的正误。协议是垂直的服务是水平的。同一节点内相邻两层之间的通信通过接口进行。服务是“垂直”的协议是“水平”的。上层协议可以直接调用下层协议的实现细节。解析第1题错误。协议是水平的对等层之间服务是垂直的下层向上层提供。第2题正确。接口是同一节点内相邻两层之间的边界上层通过接口使用下层提供的服务。第3题正确。服务是下层向上层提供的所以是垂直方向协议是对等层之间的约定所以是水平方向。第4题错误。上层只能通过接口使用下层提供的服务不能直接调用下层的实现细节。这是分层设计的核心原则——上层不需要知道下层怎么实现的。这类判断题的陷阱在于把“协议”和“服务”的方向搞反。记住一个口诀协议水平服务垂直接口是边界。3.4 分组交换与报文交换的对比计算题目要发送一个大小为5000比特的报文中间经过两个节点。链路带宽为1Mbps每条链路传播时延为1ms。分组大小为1000比特。分别计算报文交换和分组交换的总时延。报文交换计算报文交换是把整个报文作为一个单位存储转发。报文从A到交换机1传输时延 5000/1×10^6 5ms传播时延 1ms交换机1到交换机2传输时延 5ms传播时延 1ms交换机2到B传输时延 5ms传播时延 1ms总时延 515151 18ms分组交换计算分组数量 5000/1000 5个单个分组传输时延 1000/1×10^6 1ms最后一个分组开始发送的时刻 (5-1)×1ms 4ms最后一个分组经过所有链路的传输时延 3×1ms 3ms所有链路的传播时延 3×1ms 3ms总时延 433 10ms这个对比很直观地展示了分组交换的优势同样是5000比特的数据分组交换比报文交换快了将近一倍。原因在于分组交换可以流水线式地转发而报文交换必须等整个报文收完才能转发。提示如果题目中分组大小不能整除报文大小最后一个分组可能小于标准分组大小但传输时延按实际大小计算。不过大多数习题都会设计成能整除避免计算复杂化。4. 常见问题与排查技巧实录4.1 时延计算总是漏项怎么办这是第一章习题里最高频的问题。我总结了一个检查清单每次做完题对照一遍是否漏掉了建立连接时间电路交换才有是否漏掉了传播时延每条链路都要算是否漏掉了中间节点的存储转发时延分组交换和报文交换都有是否把传输时延和传播时延搞混了是否忽略了题目中给出的“忽略处理时延和排队时延”我当年最常犯的错误是漏算传播时延。因为传输时延的数字通常比较大传播时延的数字比较小一不留神就忘了加。后来我养成了一个习惯每道题做完之后把时间轴画出来每个阶段的时间标注清楚这样就不容易漏了。还有一个技巧把单位统一。带宽用bps数据量用比特时间用秒。如果题目给的是KB或MB先换算成比特。1字节8比特1KB1024字节8192比特。这个换算看起来简单但考试的时候一紧张就容易搞错。4.2 层次模型记不住怎么办OSI七层模型从上到下是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。我见过很多口诀但最有效的还是理解每一层到底在干什么。我的记忆方法是“从下往上想”物理层传比特管的是电压、接口、介质数据链路层把比特组成帧管的是相邻节点之间的传输网络层把帧组成分组管的是从源到目的的路由传输层把分组组成报文管的是端到端的传输会话层管的是会话的建立、管理和终止表示层管的是数据格式、加密、压缩应用层管的是为用户提供具体服务这样从下往上想一遍每一层的功能就清楚了。TCP/IP四层模型就是把会话层和表示层合并到应用层把数据链路层和物理层合并到网络接口层。做习题的时候经常考“某个协议属于哪一层”。我整理了一个速查表协议所属层次HTTP应用层FTP应用层SMTP应用层TCP传输层UDP传输层IP网络层ICMP网络层ARP网络层有些教材归为数据链路层Ethernet数据链路层注意ARP的归属在不同教材里有争议。有的教材把它归为网络层有的归为数据链路层。考试的时候看题目用的是哪本教材以教材为准。4.3 分组交换时延公式记不住怎么办分组交换的总时延公式是(n k - 1) × 单个分组传输时延 传播时延。这个公式看起来复杂但理解原理之后就不需要死记了。原理是这样的第一个分组需要经过k个节点每个节点都要传输一次所以第一个分组需要k次传输。后续的n-1个分组每个只需要在最后一个节点传输一次因为前面的节点已经在处理前一个分组了所以总共是k (n-1) n k - 1次传输。画时间轴是最直观的方法。把每个分组的传输过程画出来横轴是时间纵轴是节点每个分组用一个矩形表示矩形的宽度是传输时延矩形之间的间隔是传播时延。画完之后最后一个分组到达目的地的时刻一目了然。我当年考试的时候遇到分组交换的计算题就画时间轴从来没有算错过。这个方法虽然看起来笨但最可靠。4.4 常见问题速查表问题原因解决方法时延计算漏项忘记加传播时延或建立连接时间画时间轴逐项检查传输时延和传播时延混淆概念不清记住传输时延看数据量和带宽传播时延看距离和介质分组交换公式记错死记硬背不理解画时间轴推导理解nk-1的来源层次模型记不住没有理解每层功能从下往上想每层管什么协议和服务方向搞反没有理解水平和垂直协议水平服务垂直单位换算错误字节和比特搞混1字节8比特先统一单位再计算忽略题目条件没仔细读题把“忽略处理时延”等条件圈出来4.5 独家避坑技巧第一个技巧先看问题再看条件。很多同学拿到题就从第一个字开始读读完条件再读问题结果发现有些条件根本用不上。我的习惯是先看问题问什么然后带着问题去读条件这样能快速定位关键信息。第二个技巧单位统一再计算。带宽用bps数据量用比特时间用秒。如果题目给的是KB先换算成比特。这个习惯能避免80%的计算错误。第三个技巧画图验证。时延计算题画时间轴层次模型题画层次图协议关系题画三角关系图。画图不仅能帮助理解还能在检查的时候快速发现错误。第四个技巧做完之后反向验证。比如算完总时延可以估算一下数量级是否合理。如果算出来是几微秒但题目场景是广域网那肯定错了。广域网的时延通常在毫秒级别。第五个技巧整理错题本。第一章的习题类型有限把每种类型的错题整理一遍考前翻一遍基本就不会再错了。我当年整理了20道错题考试的时候遇到了至少5道类似的。5. 从习题到实战第一章知识的延伸价值第一章的习题看起来是纯理论但其实每一个知识点在后续章节和实际工作中都有对应。时延计算是理解网络性能的基础层次模型是理解协议栈的框架交换方式对比是理解网络架构的起点。我后来做网络性能优化的时候发现第一章的时延分析框架直接能用。比如排查网络延迟问题就是按照发送时延、传播时延、处理时延、排队时延四个维度逐一排查。发送时延大说明带宽不够传播时延大说明距离太远或介质有问题处理时延大说明设备性能不足排队时延大说明网络拥塞。层次模型在实际工作中也很重要。抓包分析的时候Wireshark会按照层次展示每个包的结构从物理层到应用层一目了然。如果你不理解层次模型看抓包结果就是一堆乱码。分组交换的思想更是现代网络的核心。互联网就是基于分组交换构建的理解分组交换的优缺点才能理解为什么互联网设计成现在这个样子。所以第一章的习题不是做完就扔的它是整个计算机网络课程的地基。地基打牢了后面的章节学起来会轻松很多。我见过太多同学第一章随便应付结果学到传输层、网络层的时候寸步难行又回头补第一章的内容。与其这样不如一开始就把第一章吃透。最后分享一个我自己的学习习惯每学完一章我会把这一章的核心概念和公式整理成一页纸的思维导图。第一章的那页纸我到现在还留着上面画着交换方式的对比、时延的组成、层次模型的对应关系。后来考研复试的时候我就靠这几页纸快速复习效果比翻教材好得多。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑