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

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


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


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

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

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

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

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

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

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

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

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


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

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


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

  1. 数据长度为 1 0 7 b i t 10^7 bit 107bit ,数据发送速率为 100 k b i t / s 100kbit/s 100kbit/s
  2. 数据长度为 1 0 3 b i t 10^3 bit 103bit ,数据发送速率为 1 G b i t / s 1Gbit/s 1Gbit/s

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

  1. 发送时延: 1 0 7 ÷ ( 100 × 1 0 3 ) = 100 s 10^7 \div (100\times10^3) = 100s 107÷(100×103)=100s ,传播时延: 1000 × 1 0 3 ÷ ( 2 × 1 0 8 ) = 5 × 1 0 − 3 s = 5 m s 1000\times10^3 \div (2\times10^8)=5\times10^{-3}s=5ms 1000×103÷(2×108)=5×103s=5ms
  2. 发送时延: 1 0 3 ÷ ( 1 × 1 0 9 ) = 1 0 − 6 s = 1 μ s 10^3 \div (1\times10^9) = 10^{-6}s=1\mu s 103÷(1×109)=106s=1μs ,传播时延: 1000 × 1 0 3 ÷ ( 2 × 1 0 8 ) = 5 × 1 0 − 3 s = 5 m s 1000\times10^3 \div (2\times10^8)=5\times10^{-3}s=5ms 1000×103÷(2×108)=5×103s=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\% 100/(100+20+20+18)=63.3%

若应用层数据1000字节,传输效率为 1000 / ( 1000 + 20 + 20 + 18 ) = 94.5 % 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的优势,既简单又能将概念阐释清楚。五层体系结构的各个层次分别是:

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值