《计算机网络》(第八版)由谢希仁教授编著,是计算机科学领域的经典教材。其第二章主要探讨计算机网络的体系结构与协议,为后续学习奠定坚实的理论基础。本章课后习题旨在帮助学生巩固核心概念,如OSI七层模型、TCP/IP四层模型、各层功能及协议等。以下提供部分典型习题的参考答案,并结合当前计算机网络技术开发的趋势进行分析。
典型课后习题参考答案摘要
1. 习题:协议与服务有何区别?有何联系?
参考答案:协议是控制两个对等实体(或同层实体)间通信的规则的集合,是“水平的”。服务是由下层向上层通过层间接口提供的功能,是“垂直的”。联系在于:实体在协议的控制下向上层提供服务,而要实现本层协议,还需要使用下层提供的服务。
2. 习题:试述具有五层协议的体系结构的要点,包括各层的主要功能。
参考答案:五层协议体系结构综合了OSI和TCP/IP的优点,自顶向下为:
- 应用层:通过应用进程间的交互来完成特定网络应用,如HTTP、DNS、SMTP协议。
- 运输层:负责向两台主机中进程之间的通信提供通用的数据传输服务,主要协议有TCP和UDP。
- 网络层:负责为分组交换网上的不同主机提供通信服务,通过路由选择算法为分组选择合适的路径,核心协议是IP。
- 数据链路层:负责将网络层交下来的IP数据报组装成帧,在相邻节点(如路由器或主机)间的链路上传送帧。
- 物理层:考虑如何在连接各种计算机的传输媒体上透明地传送比特流。
3. 习题:试解释以下名词:协议栈、实体、对等层、协议数据单元。
参考答案:
- 协议栈:指网络中各层协议的总和,形象地反映了数据的封装与传递过程。
- 协议数据单元(PDU):对等层实体间交换的数据单元,如物理层的比特、数据链路层的帧、网络层的分组、运输层的报文段等。
与计算机网络技术开发的结合
理解第二章的基础理论,对于现代网络技术开发至关重要:
- SDN(软件定义网络):该技术正是对传统网络体系结构(尤其是控制平面与数据平面紧耦合)的革新。它将网络的控制功能从设备中抽象出来,由一个中央控制器统一管理,这深刻体现了对“层”与“协议”功能的重新划分与设计。开发SDN应用(如流量工程、安全策略)必须深刻理解底层网络的分层转发原理。
- 云计算与虚拟化网络:在云数据中心内部,Overlay网络技术(如VXLAN)通过在现有网络(Underlay)上构建虚拟的二层或三层网络,实现了租户隔离和灵活组网。这本质上是在运输层或应用层之下构建了一个新的“逻辑网络层”,是分层思想在复杂环境下的创造性应用。开发云原生应用和微服务,必须关注服务间的网络通信模型(如服务网格)。
- 物联网与边缘计算:物联网设备通常资源受限,其协议栈往往进行裁剪和优化(如轻量级IP协议)。边缘计算将计算和存储推向网络边缘,这改变了传统的“核心-边缘”网络流量模型。开发物联网和边缘应用,需要根据场景选择合适的传输协议(如CoAP、MQTT),并优化网络延迟和可靠性,这些决策都基于对网络各层特性的深刻理解。
- 网络安全开发:无论是开发防火墙(工作在网络层和运输层)、入侵检测系统(需要深度解析各层协议数据单元),还是实现TLS/SSL加密(在应用层与运输层之间),都必须精确掌握数据包在各层的封装格式、首部字段含义以及协议交互过程。
《计算机网络》第二章的习题解答不仅是对知识点的回顾,更是开启网络技术开发大门的钥匙。扎实的体系结构基础,能够帮助开发者在面对SDN、云计算、物联网等新兴领域时,快速理解其网络架构的本质,设计出高效、可靠、安全的网络应用和系统。因此,学习理论时,应多思考其在实际开发场景中的映射与变形,做到知行合一。