计算机网络体系结构练习题

本章包含计算机网络体系结构的各种练习题,涵盖基本概念、性能指标、分层结构、OSI 模型、TCP/IP 模型和网络设备等内容。

基础概念题

1. 简述计算机网络的三大功能。

数据通信资源共享分布式处理

解题思路:

按网络对用户所做的事给功能分类:机器之间传数据、多台机器共用同一批资源、把一份工作分散到许多机器上协同完成。

详细步骤:

计算机网络的三大功能包括:

  • 数据通信:实现不同计算机之间的数据传输和交换
  • 资源共享:共享硬件、软件和数据资源
  • 分布式处理:将任务分配到多台计算机协同完成

最终答案:

计算机网络的三大功能是数据通信、资源共享和分布式处理。

2. 按地理范围,计算机网络可以分为哪几类?各有什么特点?

广域网城域网局域网网络分类

解题思路:

按覆盖范围由小到大分类,每一类都说明覆盖范围、传输距离、速率、典型应用和技术特点。

详细步骤:

按地理范围,计算机网络可以分为:

广域网(WAN):

  • 覆盖范围:跨越城市、国家甚至全球
  • 传输距离:几十公里到几千公里
  • 传输速率:相对较低,通常为几 Mbps 到几 Gbps
  • 典型应用:互联网、企业广域网

城域网(MAN):

  • 覆盖范围:覆盖一个城市或地区
  • 传输距离:几公里到几十公里
  • 传输速率:中等,通常为几十 Mbps 到几 Gbps
  • 典型应用:城市网络、校园网

局域网(LAN):

  • 覆盖范围:建筑物内或校园内
  • 传输距离:几百米到几公里
  • 传输速率:较高,通常为 10Mbps 到 10Gbps
  • 典型应用:办公室网络、家庭网络

个人区域网(PAN):

  • 覆盖范围:个人设备周围
  • 传输距离:几米到几十米
  • 传输速率:较低,通常为几 Mbps 到几百 Mbps
  • 典型应用:蓝牙设备、无线耳机

最终答案:

按覆盖范围计算机网络分为广域网、城域网、局域网和个人区域网四类,范围越大速率通常越低。

性能指标题

3. 简述网络时延的组成部分。

传输时延传播时延处理时延排队时延

解题思路:

把总时延拆成数据包从源到宿经历的四项贡献,并给出各自的公式和影响因素。

详细步骤:

网络时延由以下几个部分组成:

传输时延(Transmission Delay):

  • 定义:数据从发送端到接收端所需的时间
  • 计算公式:传输时延 = 数据长度 / 传输速率
  • 影响因素:数据大小、传输速率

传播时延(Propagation Delay):

  • 定义:信号在传输介质中传播所需的时间
  • 计算公式:传播时延 = 距离 / 传播速度
  • 影响因素:传输距离、介质类型

处理时延(Processing Delay):

  • 定义:路由器或交换机处理数据包所需的时间
  • 影响因素:设备性能、队列长度

排队时延(Queuing Delay):

  • 定义:数据包在路由器队列中等待的时间
  • 影响因素:网络拥塞、队列长度

最终答案:

网络时延由传输时延、传播时延、处理时延和排队时延四部分组成。

4. 计算题:一个 1000 字节的数据包通过 10Mbps 的链路传输,传输距离为 1000 公里,传播速度为 2×10^8 m/s,求总时延。

传输时延传播时延总时延时延计算

解题思路:

传输时延和传播时延分别算,再把两者相加:前者取决于分组长度与速率,后者取决于距离与传播速度。

详细步骤:

计算过程:

  1. 传输时延 = 数据长度 / 传输速率 = 1000 字节 / (10×10^6 bps) = 0.8 毫秒
  2. 传播时延 = 距离 / 传播速度 = 1000×10^3 m / (2×10^8 m/s) = 5 毫秒
  3. 总时延 = 传输时延 + 传播时延 = 0.8 + 5 = 5.8 毫秒

最终答案:

总时延为 5.8 毫秒,其中传输时延 0.8 毫秒、传播时延 5 毫秒。

分层结构题

5. 简述网络协议的三要素。

网络协议语法语义时序

解题思路:

协议只有把比特长什么样、代表什么含义、何时交换都规定清楚才算完整,按这个顺序逐条展开。

详细步骤:

网络协议的三要素包括:

语法(Syntax):

  • 数据格式和编码方式
  • 字段长度和顺序
  • 控制字符和特殊符号

语义(Semantics):

  • 控制信息的含义
  • 各种操作的解释
  • 错误处理的方式

时序(Timing):

  • 事件发生的顺序
  • 速度匹配的要求
  • 同步和异步机制

最终答案:

网络协议的三要素是语法、语义和时序。

6. 比较面向连接的服务和无连接的服务。

面向连接服务无连接服务TCPUDP

解题思路:

在建立方式、优点、缺点和对应协议四个维度上对比两种服务。

详细步骤:

面向连接的服务(Connection-Oriented Service):

  • 特点:建立连接、数据传输、释放连接
  • 优点:可靠性高,顺序保证
  • 缺点:开销较大,延迟较高
  • 典型应用:TCP 协议

无连接的服务(Connectionless Service):

  • 特点:直接发送数据,无需建立连接
  • 优点:开销小,延迟低
  • 缺点:可靠性较低,不保证顺序
  • 典型应用:UDP 协议

最终答案:

面向连接服务先建连、可靠有序但开销大(典型是 TCP);无连接服务不建连、开销小但不保证可靠与顺序(典型是 UDP)。

OSI 模型题

7. 列举 OSI 七层模型的各层名称及主要功能。

OSI模型分层结构层功能封装

解题思路:

自下而上走一遍协议栈,逐层说明它做什么以及主要任务是什么,七层合起来才构成一次完整传输。

详细步骤:

OSI 七层模型各层名称及主要功能:

物理层(Physical Layer):

  • 功能:比特流的传输
  • 主要任务:在物理传输介质上传输原始的比特流

数据链路层(Data Link Layer):

  • 功能:成帧、差错检测、流量控制
  • 主要任务:在相邻节点间可靠地传输数据帧

网络层(Network Layer):

  • 功能:路由选择、分组转发
  • 主要任务:在不同网络间传输数据包

传输层(Transport Layer):

  • 功能:端到端可靠传输、流量控制
  • 主要任务:在端到端之间提供可靠的数据传输服务

会话层(Session Layer):

  • 功能:会话管理、建立/释放会话
  • 主要任务:建立、管理和终止会话

表示层(Presentation Layer):

  • 功能:数据格式转换、加密解密
  • 主要任务:数据的格式转换、加密解密和压缩解压缩

应用层(Application Layer):

  • 功能:为用户提供网络应用服务
  • 主要任务:提供各种网络应用服务

最终答案:

OSI 七层自下而上为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

8. 简述 OSI 模型与 TCP/IP 模型的异同。

OSI模型TCP/IP模型模型对比层对应关系

解题思路:

先说相同点,再沿层数、理论与实践的比重、协议支持范围三个轴线说差异,最后给出逐层对应关系。

详细步骤:

相同点:

  • 都采用分层结构
  • 都定义了网络通信的标准
  • 都支持多种网络协议

不同点:

层次数量:

  • OSI 模型:七层结构,层次划分细致
  • TCP/IP 模型:四层结构,层次划分简单

理论性:

  • OSI 模型:理论性强,标准化程度高
  • TCP/IP 模型:实用性强,实际应用广泛

协议支持:

  • OSI 模型:支持多种网络协议
  • TCP/IP 模型:主要支持 TCP/IP 协议族

层次对应关系:

  • OSI 的物理层+数据链路层 ≈ TCP/IP 的网络接口层
  • OSI 的网络层 ≈ TCP/IP 的网际层
  • OSI 的传输层 ≈ TCP/IP 的传输层
  • OSI 的会话/表示/应用层 ≈ TCP/IP 的应用层

最终答案:

两者同为分层体系结构且都采用独立的通信协议,区别在于层数、理论与实践的比重和协议支持范围,TCP/IP 应用层对应 OSI 的应用、表示和会话层。

TCP/IP 模型题

9. 简述 TCP/IP 模型的四层结构及各层功能。

TCP/IP模型网络接口层网际层应用层

解题思路:

自下而上描述四层,逐层说明功能、归属的协议和主要任务。

详细步骤:

TCP/IP 模型的四层结构及各层功能:

网络接口层(Network Access Layer):

  • 功能:物理传输和数据成帧
  • 协议:以太网、WiFi、PPP、ARP 等
  • 主要任务:在物理传输介质上传输数据

网际层(Internet Layer):

  • 功能:IP 寻址、路由选择、分组转发
  • 协议:IP、ICMP、IGMP、OSPF 等
  • 主要任务:在不同网络间传输数据包

传输层(Transport Layer):

  • 功能:端到端传输、可靠传输、流量控制
  • 协议:TCP、UDP
  • 主要任务:在端到端之间提供数据传输服务

应用层(Application Layer):

  • 功能:为用户提供各种网络应用服务
  • 协议:HTTP、FTP、SMTP、DNS 等
  • 主要任务:提供网络应用服务

最终答案:

TCP/IP 四层自下而上为网络接口层、网际层、传输层和应用层。

10. 比较 TCP 和 UDP 协议的特点。

TCPUDP流量控制拥塞控制

解题思路:

在连接方式、可靠性、流量控制、拥塞控制、传输效率和应用场景六个轴线上对比两种协议。

详细步骤:

TCP(Transmission Control Protocol):

  • 连接方式:面向连接
  • 可靠性:可靠传输
  • 流量控制:有流量控制
  • 拥塞控制:有拥塞控制
  • 传输效率:相对较低
  • 应用场景:HTTP、FTP、SMTP 等

UDP(User Datagram Protocol):

  • 连接方式:无连接
  • 可靠性:不可靠传输
  • 流量控制:无流量控制
  • 拥塞控制:无拥塞控制
  • 传输效率:相对较高
  • 应用场景:DNS、DHCP、流媒体等

最终答案:

TCP 可靠有序、拥塞与流量控制完善但开销较大;UDP 不可靠但轻量高效,适合 DNS、DHCP 等场景。

网络设备题

11. 简述各种网络设备在 OSI 模型中的位置及功能。

中继器集线器交换机路由器

解题思路:

按设备工作的层次归类,每种设备给出一句话的功能说明和常见用途。

详细步骤:

物理层设备:

  • 中继器(Repeater):信号放大和再生,延长网络距离
  • 集线器(Hub):多端口信号广播,星型网络连接

数据链路层设备:

  • 网桥(Bridge):帧转发和过滤,连接不同网段
  • 交换机(Switch):智能帧转发,局域网核心设备

网络层设备:

  • 路由器(Router):数据包路由和转发,连接不同网络

多层设备:

  • 网关(Gateway):协议转换和格式转换,连接异构网络

最终答案:

按工作层次网络设备分为物理层的中继器与集线器、数据链路层的网桥与交换机、网络层的路由器和多层的网关。

12. 比较交换机和路由器的功能差异。

交换机路由器MAC地址IP地址

解题思路:

在工作层次、主要功能、依据何种地址转发、适用范围和性能特点五个维度上对比两个设备。

详细步骤:

交换机(Switch):

  • 工作层次:数据链路层
  • 主要功能:帧转发、MAC 地址学习、VLAN 支持
  • 转发依据:MAC 地址
  • 应用范围:局域网内部
  • 性能特点:高速转发、低延迟

路由器(Router):

  • 工作层次:网络层
  • 主要功能:数据包路由、网络互联、协议转换
  • 转发依据:IP 地址
  • 应用范围:不同网络之间
  • 性能特点:智能路由、网络隔离

最终答案:

交换机工作在数据链路层按 MAC 地址转发、用于同一网段内;路由器工作在网络层按 IP 地址选路、用于网段之间。

综合应用题

13. 设计题:设计一个简单的网络拓扑,包含路由器、交换机和主机,并说明数据包的传输过程。

网络拓扑路由器交换机分组转发

解题思路:

先画出拓扑,再逐层追踪数据包从主机 A 到主机 B 的过程:发送方封装什么、各交换机做什么、路由器做什么、接收方拆掉什么。

详细步骤:

网络拓扑设计:

主机A
交换机1
路由器
交换机2
主机B

数据依次经过:主机A → 交换机1 → 路由器 → 交换机2 → 主机B

数据包传输过程:

  1. 主机 A 发送数据:

    • 应用层:生成应用数据
    • 传输层:添加 TCP/UDP 头部
    • 网络层:添加 IP 头部
    • 数据链路层:添加以太网头部
  2. 交换机 1 处理:

    • 接收数据帧
    • 学习源 MAC 地址
    • 根据目的 MAC 地址转发到路由器
  3. 路由器处理:

    • 接收 IP 数据包
    • 查找路由表
    • 选择出接口
    • 转发到交换机 2
  4. 交换机 2 处理:

    • 接收数据帧
    • 学习源 MAC 地址
    • 根据目的 MAC 地址转发到主机 B
  5. 主机 B 接收数据:

    • 数据链路层:移除以太网头部
    • 网络层:移除 IP 头部
    • 传输层:移除 TCP/UDP 头部
    • 应用层:处理应用数据

最终答案:

该拓扑为「主机A—交换机1—路由器—交换机2—主机B」的星型结构,数据包逐跳转发后在主机 B 逐层解封装。

14. 分析题:分析网络性能问题,并提出优化建议。

题目:某企业网络出现以下问题:

  • 网络延迟高
  • 数据传输速度慢
  • 经常出现网络拥塞
网络性能拥塞带宽优化措施

解题思路:

对每个现象回溯到最可能的原因,再把改进措施归为硬件、网络设计、协议和管理几类。

详细步骤:

问题分析:

  1. 网络延迟高:可能是由于网络设备性能不足、传输距离远或网络拥塞导致
  2. 数据传输速度慢:可能是由于带宽不足、设备处理能力有限或协议效率低导致
  3. 网络拥塞:可能是由于网络负载过重、设备处理能力不足或网络设计不合理导致

优化建议:

硬件升级:

  • 升级网络设备,提高处理能力
  • 增加网络带宽
  • 使用更高速的传输介质

网络优化:

  • 优化网络拓扑结构
  • 实施负载均衡
  • 配置 QoS 策略

协议优化:

  • 使用更高效的网络协议
  • 优化 TCP 参数
  • 实施流量整形

管理优化:

  • 加强网络监控
  • 定期维护网络设备
  • 制定网络使用策略

最终答案:

性能问题的根因是带宽不足与拥塞,改进要从硬件升级、网络设计、协议配置和日常管理四方面同时入手。

编程实践题

15. 编程题:编写一个简单的网络性能测试程序。

网络测试往返时延丢包率套接字接口

解题思路:

收集对链路真正有用的测量值:往返时延、丢包率,以及所发分组的大小与数量,最后整理成可读的报告。

详细步骤:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

// 网络性能测试结构
typedef struct {
    char target_host[256];
    int port;
    int packet_size;
    int packet_count;
    double min_rtt;
    double max_rtt;
    double avg_rtt;
    double packet_loss;
} NetworkTest;

// 执行网络性能测试
NetworkTest perform_network_test(const char* host, int port, int size, int count) {
    NetworkTest test;
    strcpy(test.target_host, host);
    test.port = port;
    test.packet_size = size;
    test.packet_count = count;

    // 模拟测试结果
    test.min_rtt = 10.0;  // 毫秒
    test.max_rtt = 50.0;
    test.avg_rtt = 25.0;
    test.packet_loss = 0.1; // 0.1%

    return test;
}

// 打印测试结果
void print_test_results(const NetworkTest* test) {
    printf("网络性能测试结果:\n");
    printf("目标主机:%s\n", test->target_host);
    printf("端口:%d\n", test->port);
    printf("数据包大小:%d 字节\n", test->packet_size);
    printf("数据包数量:%d\n", test->packet_count);
    printf("最小往返时间:%.2f 毫秒\n", test->min_rtt);
    printf("最大往返时间:%.2f 毫秒\n", test->max_rtt);
    printf("平均往返时间:%.2f 毫秒\n", test->avg_rtt);
    printf("丢包率:%.2f%%\n", test->packet_loss);
}

int main() {
    // 执行网络性能测试
    NetworkTest test = perform_network_test("192.168.1.1", 80, 1024, 100);

    // 打印测试结果
    print_test_results(&test);

    return 0;
}

最终答案:

该程序以结构体汇总目标主机、端口、分组大小与数量、最值与平均往返时延及丢包率,并打印成一份测试报告。

发现内容有问题?

告诉我们哪里需要改进。