计算机网络-谢希仁-第7版-第一章部分习题及解析

计算机网络-第一章-计算机网络概述


题目:P38 习题1-03、1-10、1-11、1-17、1-19、1-20、1-22、1-24
习题来自《计算机网络(第7版)》,谢希仁编著,习题解析部分来自百度谷歌,部分来自该书原文,部分为博主原创,由博主整理编辑,如有侵权联系删除,如有谬误敬请批评指正。


习题1-03 试从多个方面比较电路交换、报文交换和分组交换的主要优缺点

三种交换方式的主要特点如下:

  • 电路交换:整个报文的比特流从源点直达终点,好像在一个管道中传送。
  • 报文交换:整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点。
  • 分组交换:将报文分成多个分组,每个分组先传送到相邻节点,存储后查表,转发到下一节点。

下表总结三种交换方式在各个方面的优缺点:

电路交换 报文交换 分组交换
优点 大量数据传输时传输速率快,没有分组或建立转发表的开销。 动态分配传输带宽,分段占用传输链路,信道利用率高。 每一个分组单独选择合适的路由器,灵活且可靠,延时较小。
缺点 传输过程中占用整个端到端的链路,需要提前分配传输带宽,传送突发数据时信道利用率低。 产生了转发表等开销,由于转发而产生一定的延时。 无法保证通信端到端的带宽,所携带的控制信息产生了额外开销。

习题1-10 试在下列条件下比较电路交换与分组交换:要传送的报文共 x(bit)x(bit) ,从源点到终点共经过 kk 段链路,每段链路传播时延为 d(s)d(s) ,数据率为 b(bit/s)b(bit/s) 。在电路交换时电路的建立时间为 s(s)s(s) ,在分组交换时分组长度为 p(bit)p(bit) ,各结点的排队等待时间忽略不计。问在怎样的条件下分组交换比电路交换的时延小?

对于电路交换而言,从 t=0t=0 时刻开始,在 t=st=s 时刻完成线路建立,在 t=s+x/bt=s+x/b 时刻,所有数据发送出去,在链路中传播时间共 kdkd ,因此总时延是 s+x/b+kds+x/b+kd

对于分组交换而言,从 t=0t=0 时刻开始,在 t=x/bt=x/b 时刻所有数据发出,在链路中传播的时间为 kdkd ,但中途要经过 k1k-1 个结点的转发,每次转发需要耗时 p/bp/b ,中途转发一共耗时 (k1)p/b(k-1)p/b ,因此总时延是 x/b+kd+(k1)p/bx/b+kd+(k-1)p/b

若要分组交换时延小于电路交换,则有 (k1)p/b<s(k-1)p/b<s


习题1-11 在习题1-10的分组电路中,设报文长度和分组长度分别为 x(bit)x(bit)(p+h)(bit)(p+h)(bit) ,其中 pp 为分组的数据部分长度, hh 为每个分组所带的控制信息固定长度,与 pp 的大小无关。通信两端共经过 kk 段链路,数据率为 b(bit/s)b(bit/s) ,传播时延和结点排队时间忽略不计。若打算使总时延最小,问分组数据部分长度应该取多大?

分组电路增加控制信息后的发送报文总长度变为 xp+hpx*\frac{p+h}{p} ,源发送时延为 x(p+h)pb\frac{x(p+h)}{pb} ;转发过程中,共需要 k1k-1 个结点转发,每次转发耗时 (p+h)/b(p+h)/b ,转发时延为 (k1)(p+h)/b(k-1)(p+h)/b ,而传播时延和排队时间都不计,则总时延为x(p+h)pb+(k1)p+hb\frac{x(p+h)}{pb} + (k-1)\frac{p+h}{b} ,其中只有 pp 是变量。对 pp 求导以计算总时延的极值,得到 p=hx/(k1)p = \sqrt{hx/(k-1)}


习题1-17 收发两端的传输距离为 1000km1000 km ,信号在媒体上的传播速率为 2×108m/s2 \times 10^8 m/s ,试计算以下两种情况的发送时延和传播时延:

  1. 数据长度为 107bit10^7 bit ,数据发送速率为 100kbit/s100kbit/s
  2. 数据长度为 103bit10^3 bit ,数据发送速率为 1Gbit/s1Gbit/s

从以上的计算结果可以得出什么结论?

  1. 发送时延:107÷(100×103)=100s10^7 \div (100\times10^3) = 100s ,传播时延:1000×103÷(2×108)=5×103s=5ms1000\times10^3 \div (2\times10^8)=5\times10^{-3}s=5ms
  2. 发送时延:103÷(1×109)=106s=1μs10^3 \div (1\times10^9) = 10^{-6}s=1\mu s ,传播时延:1000×103÷(2×108)=5×103s=5ms1000\times10^3 \div (2\times10^8)=5\times10^{-3}s=5ms

从计算可以得出结论:数据总时延中,发送时延和传播时延所占的比例是不定的。同一段链路的传播时延往往是固定的,而发送时延则要视数据长度和发送速率决定。


习题1-19 长度为100字节的应用层数据交给运输层传送,需要加上20字节的TPC首部;再交给网络层传送,需要加上20字节的IP首部;最后交给数据链路层的以太网传送,需要加首部和尾部共18字节。试求数据的传输效率(发送到应用层的数据除以所发送的总数据)。若应用层数据长度1000字节,则传输效率是多少?

若应用层数据100字节,传输效率为 100/(100+20+20+18)=63.3%100/(100+20+20+18) = 63.3\%

若应用层数据1000字节,传输效率为 1000/(1000+20+20+18)=94.5%1000/(1000+20+20+18)=94.5\%


习题1-20 网络体系结构为什么要采用分层次的结构?试举出与分层体系结构思想相类似的日常生活的例子。

实现信息在网络中的传输是复杂的,而分层是将复杂问题简单化、局部化的有效方法。例如在信息传递的过程中,有铜线、光纤、无线等不同的传播介质,有不同的计算机软硬件平台接入网络,通信双方通信的内容对带宽的要求有差异,传输距离有长有短…如果整体考虑,需要纷繁复杂的网络体系。但是如果从底层到数据为网络传输分层,就可以在每一个层次中分别设计协议、解决问题。

日常生活中的分层体系结构非常多,例如生物学上的生物分类就是典型的分层结构,从上至下将生物分为门、纲、目、科、属、种,在每一个层次分类中研究该类别生物的统一特性,有利于体系化地研究生物进化系统。


习题1-22 网络协议的三个要素是什么?各有什么含义?

为网络中数据交换而建立的规则、标准或约定称为网络协议。网络协议的三要素为:

  1. 语法,即数据与控制信息的结构或格式
  2. 语义,即需要发出何种信息,完成何种动作以及做出何种响应
  3. 同步,即事件实现顺序的详细说明

习题1-24 试叙述具有五层协议的网络体系结构的要点,包括各层的主要功能。

OSI的七层协议体系结构概念清楚,理论完整,但它既复杂又不实用;TPC/IP是应用广泛的四层协议,包含了应用层、运输层、网际层和网络接口层,但从实质上讲,最下面的网络接口层没有什么具体内容。因此在学习原理时往往采用五层协议网络体系结构,综合OSI和TPC/IP的优势,既简单又能将概念阐释清楚。五层体系结构的各个层次分别是:

计算机网络-谢希仁-第7版-第一章部分习题及解析

  1. 应用层(Application Layer)通过进程交互完成特定网络应用,应用层协议的定义是应用进程间交互和通信的规则。这里的进程指主机中正在运行的程序。具体例子有域名系统DNS、万维网HTTP协议、电子邮件SMTP协议等。应用层交互数据成为报文(message)。
  2. 运输层(Transport Layer)负责向两台主机中进程通信提供通用数据传输的服务。所谓“通用”,指的是并不针对特定网络应用,多种应用使用同一个运输层服务,有复用和分用的功能。
  3. 网络层(Network Layer)负责为分组交换网上的不同主机提供通信服务。网络层将运输层产生的数据进行分组或分包传送。
  4. 数据链路层(Data Link Layer)分组交换在一段一段的链路上传播,在相邻两个结点传送数据时,数据链路层将网络层的数据组装成帧(framing),帧中包含了数据和必要的控制信息。此外,数据链路层还要负责数据的检错和纠错。
  5. 物理层(Physical Layer)负责传输具体的0或1的比特流,考虑诸如采用多大的电压来表示01,接收方如何识别对方发出的比特,以及电缆插头引脚如何连接的问题。