注意:为了保证准确性,习题答案部分在JackeyLea对于英文原版答案的翻译基础上进行了补充和讲解,并且提供了原始题目。
感谢JackeyLea。
下面是他的github地址:点这里
即便如此,错误仍然可能出现,还请不吝赐教。
文章中提到的网站中的applet程序无法被加载,原因是html5禁用了applet标签,目前的解决方法是使用java编译器(比如eclipse)打开。有更好的方法欢迎指教。
1.1节
R1.“主机”和“端系统”之间有什么不同?列举几种不同类型的端系统。Web服务器是一种端系统吗?
主机就是端系统;端系统包括PC机,工作站,Web服务器,邮件服务器,联网游戏机等。
R2.“协议”一词常被用于描述外交关系。维基百科是怎样描述外交协议的?
外交协议常⽤于描述⼀系列国家来往规则。这些构建完备和经过时间检验的规则可以使国家和⼈⺠⽣活和⼯作更简单。协议规则以⼈⺠准则为基础,
其中的⼀部分已经作为现在等级地位的声明。
R3.标准对于协议为什么重要?
标准对于协议很重要,这样人们就可以创造相互连接的网络系统和产品。
1.2节
R4.列出6种接入技术。将它们分类为住宅接入、公司接入或广域无线接入。
(1)通过电话线的拨号调制解调器:家庭
(2)通过电话线的DSL(Digital Subscriber Line,数字⽤⼾线):家庭或⼩办公室
(3)混合光纤同轴电缆:家庭
(4)100M交换以太⽹:企业
(5)⽆线⽹:家庭或企业
(6)3G和4G:⼴域⽆线⽹
R5.HFC带宽是专用的,还是用户间共享的?在下行HFC信道中,有可能发生碰撞吗?为什么?
HFC带宽是由⽤⼾共享。下⾏通道中,所有的包都是由头端这⼀个单⼀源发出的。因此,下⾏通道中没有碰撞。
R6.列出你所在城市中的可供使用的住宅接入技术。对于每种类型的接入方式,给出所宣称的下行速率、上行速率和每月的价格。
光纤到⼾、3G和4G⽆线⽹
R7.以太LAN的传输速率是多少?
10M\100M\1G\10G
R8.能够运行以太网的一些物理媒体是什么?
双绞线、光纤
R9.拨号调制解调器、HFC、DSL和FTTH都用于住宅接入。对于这些技术中的每一种,给出传输速率的范围,并讨论有关带宽是共享的还是专用的。
拨号调制解调器:最⾼56K,带宽专⽤
ADSL:下⾏最⾼24M,上⾏最⾼2.5M,带宽专⽤
HFC:下⾏最⾼42.8M,上⾏最⾼30.7M,带宽共享
FTTH:上⾏2-10M,下⾏10-20M,带宽不共享
R10.描述今天最为流行的无线因特网接入技术。对它们进行比较和对照。
现在最流⾏的⽆线⽹技术有两种:
(1)WiFi。⽤于⽆线局域⽹,⽆线⽤⼾从辐射范围为⼏⼗⽶的基站(例如⽆线接⼊点)传输数据包。基站连接⽆线⽹络,并为⽆线⽤⼾提供⽆线⽹服务。
(2)3G和4G。⼤范围⽆线⽹,此系统通过电信服务商提供的基站,由蜂窝电话通过同⼀个⽆线设备传输数据。可以提供基站⼏⼗千⽶范围内的⽆线⽹络。
1.3节
R11.假定在发送主机和接收主机间只有一台分组交换机。发送主机和交换机间以及交换机和接收主机间的传输速率分别是R1和。假设该交换机使用存储转发分组交换方式,发送一个长度为L的分组的端到端总时延是什么?(忽略排队时延、传播时延和处理时延。)
t0时发送端主机开始传输数据, t1=L/R1时发送端完成传输并且交换机收到完整的数据包(没有传播延时)。因为交换机在 =t1时已收到完整包,那么 t1时交换机开始传输包⾄接收主机。 t2=t1+L/R2时交换机完成输出并且接收主机收到完整包(没有传播延时)。因此,端到端总延时是L/R1+L/R2 。
R12.与分组交换网络相比,电路交换网络有哪些优点?在电路交换网络中,TDM比FDM有哪些优点?
电路交换⽹络可以在响应时间内保证⼀定量的端到端带宽。如今⼤部分分组交换⽹络(包括因特⽹)⽆法保证端到端带宽。FDM需要复杂的模拟硬件来将信号转换为合适的频率
R13.假定用户共享一条2Mbps链路。同时假定当每个用户传输时连续以1lMbps传输,但每个用户仅传输20%的时间。
a.当使用电路交换时,能够支持多少用户?
b.作为该题的遗留问题,假定使用分组交换。为什么如果两个或更少的用户同时传输的话,在链路前面基本上没有排队时延?为什么如果3个用户同时传输的话,将有排队时延?
c.求出某指定用户正在传输的概率。
d.假定现在有3个用户。求出在任何给定的时间,所有3个用户在同时传输的概率。求出队列增长的时间比率。
(1)2个⽤⼾,每个⽤⼾只需要⼀半的链接带宽;
(2)既然每个⽤⼾传输时要求1Mpbs带宽,如果两个或者更少的⽤⼾同时传输,要求最多2Mbps。共享链路的可⽤带宽是2Mbps,那么传输前没有排队延时。如果有3个 ⽤⼾同时传输,带宽要求是3Mbps,超过了共享链接可⽤带宽。这种情况下,连接之前会有排队延时。
(3) ⼀个⽤⼾传输的概率是0.2。
(4)3个⽤⼾同时传输的概率是P^3。因为⽤⼾传输是队列会增加,队列增加时的时间因素0.008。
R14.为什么在等级结构相同级别的两个ISP通常互相对等?某IXP是如何挣钱的?
如果两个ISP不对等,那么当他们给对⽅发送流量时他们需要通过⼀个付费流量ISP提供商(中间商)来发送数据。通过直接对等传输,两个ISP可以减少给其他ISP 提供商的费⽤。多个ISP可以通过⽹络交换点(IXP)(通常由它⾃⼰的交换机单独构建)作为汇合点来直接对等传输。ISP通过对连接⾄IXP的每⼀个ISP收取少量费⽤来 盈利,当然利润取决于IXP发送或接收的流量数。
R15.某些内容提供商构建了自己的网络。描述谷歌的网络。内容提供商构建这些网络的动机是什么?
⾕歌的私有⽹络连接了它⼤⼤⼩⼩的所有的数据中⼼。⾕歌数据中⼼的流量通过它的私有⽹络⽽不是公共⽹络来传输。⼤多数的数据中⼼位于或靠近低级的ISP。因 此,当⾕歌向⽤⼾分发数据时,可以跳过⾼级的ISP。是什么推动着这些内容提供商创建这些⽹络?⾸先,如果内容提供商使⽤更少的中间的ISP,它可以更容易控制⽤⼾ 体验。其次,通过减少⾄提供商的⽹络流量来节省成本。第三,如果ISP向利润率⾼的内容提供商收取⾼费⽤(在⽹络中⽴状态不适⽤的国家或地区),内容提供商可以 避免额外成本
1.4节
R16.考虑从某源主机跨越一条固定路由向某目的主机发送一分组。列出端到端时延中的时延组成成分。这些时延中的哪些是固定的,哪些是变化的?
延迟组件包括处理延迟、传输延迟、传播延迟、排队延迟。除了排队延迟是变量其他的都是固定的。
R17.访问在配套Web网站上有关传输时延与传播时延的Java小程序。在可用速率、传播时延和可用的分组长度之中找出一种组合,使得该分组的第一个比特到达接收方之前发送方结束了传输。找出另一种组合,使得发送方完成传输之前,该分组的第一个比特到达了接收方。
a)1000km, 1Mpbs, 100bytes
b)100km, 1Mpbs, 100bytes
R18.一个长度为1000字节的分组经距离为2500km的链路传播,传播速率为2.5×10^8m/s并且传输速率为2Mbps,它需要用多长时间?更为一般地,一个长度为L的分组经距离为d的链路传播,传播速率为s并且传输速率为Rbps,它需要用多长时间?该时延与传输速率相关吗?
(1)10msec
(2)d/s
(3)⽆关
R19.假定主机A要向主机B发送一个大文件。从主机A到主机B的路径上有3段链路,其速率分别为R1=500kbps、R2=2Mbps,R=1Mbps。
a.假定该网络中没有其他流量,该文件传送的吞吐量是多少?
b.假定该文件为4MB。传输该文件到主机B大致需要多长时间?
c.重复(a)和(b),只是这时R2,减小到100kbps。
(1) 500kps
(2) 64s
(3) 100kps;320s
这里500kbps是500kbitps,4MB是4M字节,一字节8比特
R20.假定端系统A要向端系统B发送一个大文件。在一个非常高的层次上,描述端系统怎样从该文件生成分组。当这些分组之一到达某分组交换机时,该交换机使用分组中的什么信息来决定将该分组转发到哪一条链路上?因特网中的分组交换为什么可以与驱车从一个城市到另一个城市并沿途询问方向相类比?
终端系统A将⼤⽂件拆分为块。A通过添加⽂件头信息⾄每⼀个块来从⽂件⽣成多个数据包。数据包的头信息包含⽬标(终端系统B)IP地址。数据包交换机通过包中 的⽬标IP地址来决定发送链接。考虑到包⽬标地址,包选择哪条路⾛和包选择哪条外链⾛的⽅法相似。
R21.访问配套Web站点的排队和丢包Java小程序。最大发送速率和最小的传输速率是多少?对于这些速率,流量强度是多少?用这些速率运行该Java小程序并确定出现丢包要花费多长时间?然后第二次重复该实验,再次确定出现丢包花费多长时间。这些值有什么不同?为什么会有这种现象?
最⼤发送速率为500包/s,最⼤传输速率是350包/s。相对应的话务量强度是500/350=1.463>1 。每次实验最终都会发⽣数据丢失;由于传输的随机性,每⼀次 实验的数据丢失发⽣的时间都是不同的。
1.5节
R22.列出一个层次能够执行的5个任务。这些任务中的一个(或两个)可能由两个(或更多)层次执行吗?
五个功能是:错误控制、流控制、⽚段化和重组、多任务和连接设置。没错,在不同层这些功能可能重复。例如,不⽌⼀层提供错误功能。
R23.因特网协议栈中的5个层次有哪些?在这些层次中,每层的主要任务是什么?
应用层、运输层、网络层、链路层、物理层
(1)应用层
应用层是网络应用程序及它们的应用层协议存留的地方。因特网的应用层包括许多协议,例如HTTP(它提供了Web文档的请求和传送),SMTP(它提供了电子邮件报文的传输)和FTP(它提供两个端系统之间的文件传送)。我们将看到,某些网络功能,如将像http://www.ietf.org这样对人友好的端系统名字转换为32比特网络地址,也是借助于特定的应用层协议即域名系统(DNS)完成的。我们将在第2章中看到,创建并部署我们自己的新应用层协议是非常容易的。
应用层协议分布在多个端系统上,一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息的分组。我们把这种位于应用层的信息分组称为报文(message)。
(2)运输层
因特网的运输层在应用程序端点之间传送应用层报文。在因特网中,有两个运输协议,即TCP和UDP,利用其中的任一个都能运输应用层报文。TCP向它的应用程序提供了面向连接的服务。这种服务包括了应用层报文向目的地的确保传递和流量控制(即发送方/接收方速率匹配)。TCP也将长报文划分为短报文,并提供拥塞控制机制,因此当网络拥塞时,源抑制其传输速率。UDP协议向它的应用程序提供无连接服务。这是一种不提供不必要服务的服务,没有可靠性,没有流量控制,也没有拥塞控制。在本书中,我们把运输层分组称为报文段(segment)。
(3)网络层
因特网的网络层负责将称为数据报(datagram)的网络层分组从一台主机移动到另一台主机。在一台源主机中的因特网运输层协议(TCP或UDP)向网络层递交运输层报文段和目的地址,就像你通过邮政服务寄信件时提供一个目的地址一样。
因特网的网络层包括著名的IP协议,该协议定义了在数据报中的各个字段以及端系统和路由器如何作用于这些字段。仅有一个IP协议,所有具有网络层的因特网组件必须运行IP协议。因特网的网络层也包括决定路由的路由选择协议,它使得数据报根据该路由从源传输到目的地。因特网具有许多路由选择协议。如我们在1.3节所见,因特网是一个网络的网络,在一个网络中,其网络管理者能够运行所希望的任何路由选择协议。尽管网络层包括了IP协议和一些路由选择协议,但通常把它简单地称为IP层,这反映了IP是将因特网连接在一起的粘合剂这样的事实。
(4)链路层
因特网的网络层通过源和目的地之间的一系列路由器路由数据报。为了将分组从一个结点(主机或路由器)移动到路径上的下一个结点,网络层必须依靠该链路层的服务。特别是在每个结点,网络层将数据报下传给链路层,链路层沿着路径将数据报传递给下一个结点。在下个结点,链路层将数据报上传给网络层。
由链路层提供的服务取决于应用于该链路的特定链路层协议。例如,某些协议基于链路提供可靠传递,从传输结点跨越一条链路到接收结点。值得注意的是,这种可靠的传递服务不同于TCP的可靠传递服务,TCP提供从一个端系统到另一个端系统的可靠交付。链路层的例子包括以太网、WiFi和电缆接入网的DOCSIS协议。因为数据报从源到目的地传送通常需要经过几条链路,一个数据报可能被沿途不同链路上的不同链路层协议处理。例如,一个数据报可能被一段链路上的以太网和下一段链路上的PPP所处理。网络层将受到来自每个不同的链路层协议的不同服务。在本书中,我们把链路层分组称为帧(frame)。
(5)物理层
虽然链路层的任务是将整个帧从一个网络元素移动到邻近的网络元素,而物理层的任务是将该帧中的一个一个比特从一个结点移动到下一个结点。在这层中的协议仍然是链路相关的,并且进一步与该链路(例如,双绞铜线、单模光纤)的实际传输媒体相关。例如,以太网具有许多物理层协议:一个是关于双绞铜线的,另一个是关于同轴电缆的,还有一个是关于光纤的,等等。在每种场合中,跨越这些链路移动一个比特是以不同的方式进行的。
R24.什么是应用层报文?什么是运输层报文段?什么是网络层数据报?什么是链路层帧?
应⽤层报⽂:应⽤程序想发送和通过传输层的数据;
传输层段:由传输层⽣成并且封装有传输层头信息的应⽤层报⽂
⽹络层数据段:封装有⽹络层头信息的传输层段
链路层帧:封装有链路层头信息的⽹络层数据段
R25.路由器处理因特网协议栈中的哪些层次?链路层交换机处理的是哪些层次?主机处理的是哪些层次?
路由器:物理层、链路层、网络层(1到3层)
交换机:链路层和网络层
主机:所有的五层
1.6节
R26.病毒和蠕虫之间有什么不同?
a)病毒:需要以下⼈的交互来传播。⽐如邮件病毒。
b)蠕⾍:不需要⽤⼾介⼊。受感染主机中的蠕⾍会扫描IP地址和端⼝号来查找可感染的进程。
R27.描述如何产生一个僵尸网络,以及僵尸网络是怎样被用于DDoS攻击的。
创建僵⼫⽹络需要攻击者发现⼀些应⽤或系统的薄弱点(⽐如利⽤应⽤中可能存在的缓冲区溢出漏洞)。发现薄弱点后,⿊客需要查找可攻击的主机。⽬标⼀般是已 发现漏洞的⼀系列系统。僵⼫⽹络中的任何系统都可以通过漏洞⾃动扫描它的环境和传播。这种僵⼫⽹络的重要属性就是僵⼫⽹络的起点可以远程控制和发送命令⾄僵⼫ ⽹络中的所有结点的每⼀个节点(例如僵⼫⽹络中的所有结点可以被⿊客命令发送TCP SYN信息⾄⽬标,并将导致⽬标的TCP SYN溢出攻击)。
R28.假定Alice和Bob经计算机网络互相发送分组。假定Trudy将自己安置在网络中,使得她能够俘获由Alice发送的所有分组,并发送她希望给Bob的东西;她也能够俘获由Bob发送的所有分组,并发送她希望给Alice的东西。列出在这种情况下Trudy能够做的某些恶意的事情。
Trudy可以假装为Bob(反之亦然)并且部分或者完全修改Bob发送给Alice的信息。例如,她可以很容易的修改语句“Alice,我⽋你1000美元”为“Alice,我⽋你10000 美元”。更进⼀步,Trudy甚⾄可以丢弃Bob发送给Alice的加密信息(反之亦然)。
Pl.设计并描述在自动柜员机和银行的中央计算机之间使用的一种应用层协议。你的协议应当允许验证用户卡和口令,查询账目结算(这些都在中央计算机系统中进行维护),支取账目(即向用户支付钱)。你的协议实体应当能够处理取钱时账目中钱不够的常见问题。通过列出自动柜员机和银行中央计算机在报文传输和接收过程中交换的报文和采取的动作来定义你的协议。使用类似于图1-2所示的图,拟定在简单无差错取钱情况下该协议的操作。明确地阐述在该协议中关于底层端到端运输服务所作的假设。
这个问题不⽌⼀个答案。很多协议都可以解决这个问题。下⾯是⼀个简单的答案:
P2.式(1-l)给出了经传输速率为R的N段链路发送长度L的一个分组的端到端时延。对于经过N段链路连续地发送P个这样的分组,一般化地表示出这个公式。
N*(L/R) 时,第⼀个包到达⽬的地,第⼆个包存储在最后⼀个路由器中,第三个包存储在倒数第⼆个路由器中,等等。N*(L/R)+L/R 时,第⼆个包到达 ⽬的地,第三个包存储在最后⼀个路由器中,等等。按照这个逻辑继续,我们可以看到在 N ∗(L/R) N +(P-1)*(L/R)=(N+P-1)∗(L/R)时所有数据包到达⽬的地。
P3.考虑一个应用程序以稳定的速率传输数据(例如,发送方每k个时间单元产生一个N比特的数据单元,其中k较小且固定)。另外,当这个应用程序启动时,它将连续运行相当长的一段时间。回答下列问题,简要论证你的回答:
a.是分组交换网还是电路交换网更为适合这种应用?为什么?
b.假定使用了分组交换网,并且该网中的所有流量都来自如上所述的这种应用程序。此外,假定该应用程序数据传输速率的总和小于每条链路的各自容量。需要某种形式的拥塞控制吗?为什么?
a.电路交换⽹,因为应⽤将以稳定速率,持续⻓时间运⾏,因此可以为其保留带宽。
b.不需要,传输速率总和⼩于链路容量。
P4.考虑在图1-13中的电路交换网。回想在每条链路上有4条链路,以顺时针方向标记四台交换机A、B、C和D。
a.在该网络中,任何时候能够进行同时连接的最大数量是多少?
b.假定所有连接位于交换机A和C之间。能够进行同时连接的最大数量是多少?
c.假定我们要在交换机A和C之间建立4条连接,在交换机B和D之间建立另外4条连接。我们能够让这些呼叫通过这4条链路建立路由以容纳所有8条连接吗?
a.在左上⻆的开关和右上⻆的开关之间,我们可以有4个连接。类似地,我们可以在其他3对相邻开关之间各有四个连接。因此,这个⽹络可以⽀持多达16个连接。
⽐如:
A 到 B :4 条
B 到 C :4 条
C 到 D :4 条
D 到 A :4 条
这 16 条可以同时连接。
b.我们可以通过右上⻆的开关通过4个连接,在左下⻆有4个通过开关的连接,总共有8个连接。
A 到 B :4 条
B 到 C :4 条
最多 8 条。
c.可以。对于A和C之间的连接,我们路由两个连接通过B,两个连接通过D。对于B和D之间的连接,我们路由两个连接通过A,两个连接通过C。这样,最多有4个连接通 过任何链接。
A 到 B :2 条
B 到 A :2 条
A 到 D :2 条
B 到 C :2 条
P5.回顾在l.4节中的车队的类比。假定传播速度还是100km/h。
a.假定车队旅行150km:在一个收费站前面开始,通过第二个收费站,并且在第三个收费站后面结束。其端到端时延是多少?
b.重复(a),现在假定车队中有8辆汽车而不是10辆。
a.有十辆⻋。第⼀个收费站服务这10辆⻋需要120秒钟,也就是2分钟。每辆汽⻋在到达第⼆个收费站之前都有45分钟的传播延迟(⾏驶75公⾥)。因此,在47分钟后的第⼆ 个收费站前,所有的汽⻋都排好了队。整个过程重复在第⼆个和第三个收费亭之间旅⾏。第三个收费站还需要2分钟才能为10辆⻋提供服务。因此,总的延迟时间是96分 钟。
b.收费亭之间的延误为8*12
秒加上45分钟,即46分钟36秒。总延迟是这⼀数额的两倍,加上8*12秒,即94分48秒。
(本题题目信息请参看书籍,题目不完整)P6.这个习题开始探讨传播时延和传输时延,这是数据网络中的两个重要概念。考虑两台主机A和B由一条速率为Rbps的链路相连。假定这两台主机相隔m米,沿该链路的传播速率为sm/s。主机A向主机B发送长度L比特的分组。
a.用m和来表示传播时延d。
b.用L和R来确定该分组的传输时间d。
c.忽略处理和排队时延,得出端到端时延的表达式。
d.假定主机A在时刻1=0开始传输该分组。在时刻t=d,该分组的最后一个比特在什么地方?
e.假定,大于dm。在时刻t=d,该分组的第一个比特在何处?
.假定4小于d。在时刻t=d,该分组的第一个比特在何处?
g假定=2.5×10’,L=l20比特,R=56kbps。求出使d等于u的距离m。
a.传播时延 m/s 秒
b.传输时间 L/R 秒
c. m/s+L/R秒
d.刚刚离开A(时间小于传播时延)
e.已经到达B(时间大于传播时延)
f. 5.36*10^5 m
P7.在这个习题中,我们考虑从主机A向主机B通过分组交换网发送语音(ValP)。主机A将模拟语音转换为传输中的64kbps数字比特流。然后主机A将这些比特分为56字节的分组。A和B之间有一条链路:它的传输速率是2Mbps,传播时延是10ms。一旦A收集了一个分组,就将它向主机B发送。
一旦主机B接收到一个完整的分组,它将该分组的比特转换成模拟信号。从比特产生(从位于主机A的初始模拟信号起)的时刻起,到该比特被解码(在主机B上作为模拟信号的一部分),花了多少时间?
10ms+5*8/64000s+5*8/2000000s=17.224ms
P8.假定用户共享一条3Mbps的链路。又设每个用户传输时要求150kbps,但是每个用户仅有10%的时间传输。(参见l.3节中关于“分组交换与电路交换的对比”的讨论。)
a.当使用电路交换时,能够支持多少用户?
b.对于本习题的后续小题,假定使用分组交换。求出给定用户正在传输的概率。
c.假定有120个用户。求出在任何给定时刻,实际有n个用户在同时传输的概率。(提示:使用二项式分布。)
d.求出有21个或更多用户同时传输的概率。
a.20
b.0.1
c.
( 120 n ) p n ( 1 − p ) 120 − n \begin{pmatrix} 120 \\ n \end{pmatrix}p^n(1-p)^{120-n} (120n)pn(1−p)120−n
d.0.003
P9.考虑在1.3节“分组交换与电路交换的对比”的讨论中,给出了一个具有一条1Mbps链路的例子。用户在忙时以100kbps速率产生数据,但忙时仅以p=0.1的概率产生数据。假定用1Gbps链路替代1Mbps的链路。
a.当采用电路交换技术时,能被同时支持的最大用户数量N是多少?
b.现在考虑分组交换和有M个用户的情况。给出多于N用户发送数据的概率公式(用p、M、N表示)。
a.10^4
b. ∑ n = N + 1 M ( M n ) p n ( 1 − p ) M − n \sum_{n=N+1}^{M} \begin{pmatrix} M \\ n \end{pmatrix}p^n(1-p)^{M-n} n=N+1∑M(Mn)pn(1−p)M−n
P10.考虑一个长度为L的分组从端系统A开始,经3段链路传送到目的端系统。令di、si,和Ri,表示链路i的长度、传播速度和传输速率(i=1,2,3)。该分组交换机对每个分组的时延为dproc。假定没有排队时延,根据di、si,Ri(i=1,2,3)和L,该分组总的端到端时延是什么?现在假定该分组是1500字节,在所有3条链路上的传播时延是2.5×10’m/s,所有3条链路的传输速率是2Mbps,分组交换机的处理时延是3ms,第一段链路的长度是5000km,第二段链路的长度是4000km,并且最后一段链路的长度是1000km。对于这些值,该端到端时延为多少?
1) ∑ i = 1 3 ( L / R i + d i / s i ) \sum_{i=1}^{3}(L/R_{i}+d_{i}/s_{i}) i=1∑3(L/Ri+di/si)
2)64ms (注意1500byte=12000bit)
Pll.在上述习题中,假定R1=R2=R3=R且dproc=0。进一步假定该分组交换机不存储转发分组,而是在等待分组到达前立即传输它收到的每个比特。这时端到端时延为多少?
注意,这个时候传输时延只有一个,这个传输时延是端系统A传输产生的。
也就是说,端到端时延表示为: ∑ i = 1 3 d i / s i + L / R \sum_{i=1}^{3}d_{i}/s_{i}+L/R i=1∑3di/si+L/R
Pl2.一台分组交换机接收一个分组并决定该分组应当转发的出链路。当某分组到达时,另一个分组正在该出链路上被发送到一半,还有4个其他分组正等待传输。这些分组以到达的次序传输。假定所有分组是1500字节并且链路速率是2Mbps。该分组的排队时延是多少?在更一般的情况下,当所有分组的长度是L,传输速率是R,当前正在传输的分组已经传输了x比特,并且已经在队列中有n个分组,其排队时延是多少?
排队时延应该为:(nL(L-x))/R
总时延=4.5个分组*每个分组时延=27ms
Pl3.a.假定有N个分组同时到达一条当前没有分组传输或排队的链路。每个分组长为L,链路传输速率为R。对N个分组而言,其平均排队时延是多少?
b.现在假定每隔LW/R秒有N个分组同时到达链路。一个分组的平均排队时延是多少?
a.第⼀个分组的排队时延为0, 第⼆个L/R ,第三个 2L/R,第N个(N-1)L/R
因此平均排队时延为(N-1)L/2R
b.上一个分组已经传输完,平均排队时延为(N-1)L/2R
Pl4.考虑路由器缓存中的排队时延。令I表示流量强度;即l=La/R。假定排队时延的形式为IL/R(1-l),其中I<1。
a.写出总时延公式,即排队时延加上传输时延。
b.以L/R为函数画出总时延的图。
a. I L R ( 1 − I ) + L R = L / R 1 − I \frac{IL}{R(1-I)}+ \frac{L}{R}=\frac{L/R}{1-I} R(1−I)IL+RL=1−IL/R
b.防止颈椎病
P15.令a表示在一条链路上分组的到达率(以分组/秒计),令u表示一条链路上分组的传输率(以分组/秒计)。基于上述习题中推导出的总时延公式(即排队时延加传输时延),推导出以a和u表示的总时延公式。
u=R/L
L/R(1-I)=1/u-a
Pl6.考虑一台路由器缓存前面的一条出链路。在这个习题中,将使用李特尔(Little)公式,这是排队论中的一个著名公式。令N表示在缓存中的分组加上被传输的分组的平均数。令a表示到达链路的分组速率。令d表示一个分组历经的平均总时延(即排队时延加传输时延)。李特尔公式是N=a×d。假定该缓存平均包含10个分组,并且平均分组排队时延是10ms。该链路的传输速率是100分组/秒。使用李特尔公式,在没有丢包的情况下,平均分组到达率是多少?
N=10+1=11
d=10ms+1/100s=0.02s
a=N/d=11/0.02=550分组/s
Pl7.a.对于不同的处理速率、传输速率和传播时延,给出l.4.3节中式(1-2)的一般表达式。
b.重复(a),不过此时假定在每个结点有平均排队时延m…
P18.在一天的3个不同的小时内,在同一个大陆上的源和目的地之间执行Traceroute。
a.在这3个小时的每个小时中,求出往返时延的均值和方差。
b.在这3个小时的每个小时中,求出路径上的路由器数量。在这些时段中,该路径发生变化了吗?
c.试图根据源到目的地Traceroute分组通过的情况,辨明ISP网络的数量。具有类似名字和/或类似的IP地址的路由器应当被认为是同一个ISP的一部分。在你的实验中,在相邻的ISP间的对等接口处出现最大的时延了吗?
d.对位于不同大陆上的源和目的地重复上述内容。比较大陆内部和大陆之间的这些结果。
圣地亚哥超级计算机中⼼与www.poly.edu之间的追踪显⽰:
a)在三个⼩时中,往返时间的平均(平均)分别为71.18 毫秒、71.38 毫秒和71.55 毫秒。标准偏差分别为0.075、0.21 、 0.05ms。
b)在本例中,跟踪器在三个⼩时中的每⼀个路径上都有12个路由器。不,在任何⼀个⼩时内路径都没有改变。
c)跟踪数据包从源到⽬的地通过四个ISP⽹络。是的,在这个实验中,最⼤的延迟发⽣在相邻ISP之间的窥视接⼝上
d)该三⼩时的平均往返延误时间分别为 87.09ms、86.35ms 86.48ms及 。标准偏差分别为 0.53、0.18、0.23ms。在本例中,三个⼩时中的每⼀个路径上 都有11个路由器。不,在任何⼀个⼩时内路径都没有改变。Traceroute数据包将三个ISP⽹络从源传送到⽬的地。是的,在这个实验中,最⼤的延迟发⽣在相邻ISP之间的 窥视接⼝上。
Pl9.a.访问站点www.traceroule.org,并从法国两个不同的城市向位于美国的相同的目的主机执行Taceroute。
在这两个Traceroute中,有多少条链路是相同的?大西洋沿岸国家的链路相同吗?
b.重复(a),但此时选择位于法国的一个城市和位于德国的另一个城市。
c.在美国挑选一个城市,然后向位于中国的两个不同城市的主机执行Traceroute。在这两次Traceroute中有多少链路是相同的?在到达中国前这两个Traceroule分开了吗?
a)从法国的两个不同城市到美国的同⼀⽬的地东道国,有七个联系是共同的,包括跨⼤西洋连接。
b)在法国的⼀个城市和德国的另⼀个城市到美国同⼀个东道国的⽰踪剂的例⼦中,三个联系是共同的,包括跨⼤西洋的联系。
c)五个链接有两个相同。分开了。
P20.考虑对应于图1-20b吞吐量的例子。现在假定有M对客户-服务器而不是10对。用Rs、Rc和R分别表示服务器链路、客户链路和网绪链路的速率。假设所有的其他链路都有充足容量,并且除了由这M对客户-服务器产生的流量外,网络中没有其他流量。推导出由Rs、Rc、R和M表示的通用吞吐量表达式。
min Rs,Rc,R/M
P21.考虑图1-l9b。现在假定在服务器和客户之间有M条路径。任两条路径都不共享任何链路。路径(k=1,…,M)是由传输速率为、附、……R陆的N条链路组成。如果服务器仅能够使用一条路径向客户发送数据,则该服务器能够取得的最大吞吐量是多少?如果该服务器能够使用所有/条路径发送数据,则该服务器能够取得的最大吞吐量是多少?
P22.考虑图1-19b。假定服务器与客户之间的每条链路的丢包概率为p,且这些链路的丢包率是独立的。一个(由服务器发送的)分组成功地被接收方收到的概率是多少?如果在从服务器到客户的路径上分组丢失了,则服务器将重传该分组。平均来说,为了使客户成功地接收该分组,服务器将要重传该分组多少次?
N个路由器
所以是Ps=(1-P)^N
重传1/Ps-1次
P23.考虑图l-l9a。假定我们知道沿着从服务器到客户的路径的瓶颈链路是速率为Rs bps的第一段链路。假定我们从服务器向客户发送紧接着的一对分组,且沿这条路径没有其他流量。假定每个分组的长度为L比特,两条链路具有相同的传播时延dprop。
a.在目的地,分组的到达间隔时间有多大?也就是说,从第一个分组的最后一个比特到达到第二个分组最后一个比特到达所经过的时间有多长?
b.现在假定第二段链路是瓶颈链路(即Rc
a.L/Rs
b.
这里计算比较重要:
t1=L/Rs+L/Rc+dprop
t2=2l/rS+dprop+T
要求t2>t1所以T至少是L/Rc-L/RS
P24.假设你希望从波士顿到洛杉矶紧急传送40×10”字节数据。你有一条100Mbps专用链路可用于传输数据。你是愿意通过这条链路传输数据,还是愿意使用FedEx一夜快递?解释你的理由。
专用链路需要4010128/(100*106)=37天,所以一夜快递更好。
P25.假定两台主机A和B相隔20000km,由一条直接的R=2Mbps的链路相连。假定跨越该链路的传播速率是2.5×10^8m/s
a.计算带宽一时延积R·mg。
b.考虑从主机A到主机B发送一个800000比特的文件。假定该文件作为一个大的报文连续发送。在任何给定的时间,在链路上具有的比特数量最大值是多少?
e.给出带宽一时延积的一种解释。
d.在该链路上一个比特的宽度(以米计)是多少?它比一个足球场更长吗?
e.根据传播速率s、带宽R和链路m的长度,推导出一个比特宽度的一般表示式。
a.tprop=20000km/(2.5*10^8)=0.08s
R*tprop=1.6*10^5 bits
b.1.6*10^5bits
c.也就是说链路上的比特数量最大值就是带宽一时延积
d.125m,比足球场更长
e.s/R
P26.对于习题P25,假定我们能够修改R。对什么样的R值,一个比特的宽度能与该链路的长度一样长?
R=12.5bps
P27.考虑习题P25,但现在链路的速率是R=1Gbps。
a.计算带宽一时延积R·d h.考虑从主机A到主机B发送一个800000比特的文件。假定该文件作为一个大的报文连续发送。
在任何给定的时间,在链路上具有的比特数量最大值是多少?
c.在该链路上一个比特的宽度(以米计)是多少?
a.810^7
b.810^5
c.0.25m
P28.再次考虑习题P25。
a.假定连续发送,发送该文件需要多长时间?
b.假定现在该文件被划分为20个分组,每个分组包含40000比特。假定每个分组被接收方确认,确认分组的传输时间可忽略不计。最后,假定前一个分组被确认后,发送方才能发送分组。发送该文件需要多长时间?
c.比较(a)和(b)的结果。
a.0.48s
b.2s
c.分解一个文件需要更长的时间来传输,因为每个数据包以及其相应的确认包都会添加自己的传播延迟
P29.假定在同步卫星和它的地球基站之间有一条10Mbps的微波链路。每分钟该卫星拍摄一幅数字照片,并将它发送到基站。假定传播速率是2.4×10°m/s。
a该链路的传播时延是多少?
b.带宽一时延积R·dm是多少?
c.若x表示该照片的大小。对于这条微波链路,能够连续传输的x最小值是多少?
a.0.15s
b.1.5*10^6
c.60s*10Mbps=6*10^8bits
P30.考虑1.5节中我们在分层讨论中对航线旅行的类比,随着协议数据单元向协议栈底层流动,首部在增加。随着旅客和行李移动到航线协议找底部,有与上述首部信息等价的概念吗?
假设乘客和他/她的⾏李对应到达协议栈顶部的数据单元。当旅客办理登机⼿续时,他/她的⾏李会被检查,并在⾏李和⻋票上贴上标签。这是在⾏李层中添加的附加 信息,如果图1.20允许⾏李层在发送⽅实现服务或分离乘客和⾏李,然后将它们重新统⼀(希望如此)在⽬的地那边。当乘客经过安检时,通常会在⻋票上加盖额外的印 章,表⽰乘客通过了安全检查。这些信息⽤于确保(例如,通过以后对安全信息的检查)⼈员的安全转移。
P31.在包括因特网的现代分组交换网中,源主机将长应用层报文(如一个图像或音乐文件)分段为较小的分组并向网络发送。接收方则将这些分组重新装配为初始报文。我们称这个过程为根文分段。
图1-27显示了一个报文在报文不分段或报文分段情况下的端到端传输。考虑一个长度为8×10°比特的报文,它在图1-27中从源发送到目的地。假定在该图中的每段链路是2Mbps。忽略传播、排队和处理时延。
a.考虑从源到目的地发送该报文且没有报文分段。从源主机到第一台分组交换机移动报文需要多长时间?记住,每台交换机均使用存储转发分组交换,从源主机移动该报文到目的主机需要多长时间?
b.现在假定该报文被分段为800个分组,每个分组10000比特长。从源主机移动第一个分组到第一台交换机需要多长时间?从第一台交换机发送第一个分组到第二台交换机,从源主机发送第二个分组到第一台交换机各需要多长时间?什么时候第二个分组能被第一台交换机全部收到?
c.当进行报文分段时,从源主机向目的主机移动该文件需要多长时间?将该结果与(a)的答案进行比较并解释之。
d.除了减小时延外,使用报文分段还有什么原因?
e.讨论报文分段的缺点。
a.4s;12s
b.5*10^-3s
10^-2s
c.4.01s比a快很多
d…便于检测错误并重传;不分段的⼤包容易使路由器缓存不⾜导致丢包
e…分组需要排序;需加上⾸部信息;
P32.用本书的Web网站上的报文分段小Java小程序进行实验。该程序中的时延与前一个习题中的时延相当吗?链路传播时延是怎样影响分组交换(有报文分段)和报文交换的端到端总时延的?
是的,Applet中的延迟对应于问题31中的延迟。对于分组交换和消息交换,传播延迟都会影响整个端到端延迟。
P33.考虑从主机A到主机B发送一个F比特的大文件。A和B之间有两段链路(和两台交换机),并且该链路不拥塞(即没有排队时延)。主机A将该文件分为每个为S比特的报文段,并为每个报文段增加一个80比特的首部,形成L=80+S比特的分组。每条链路的传输速率为Rbps。求出从A到B移动该文件时延最小的值S。忽略传播时延。
第一个路由器接收最后一个数据包的时间是(S+80)/R*F/S秒,
P34.Skype提供了一种服务,使你能用PC向普通电话打电话。这意味着语音呼叫必须通过因特网和电话网。讨论这是如何做到的。
电路交换电话⽹络和因特⽹在“⽹关”连接在⼀起。当Skype⽤⼾(连接到Internet)呼叫普通电话时,通过电路交换⽹在⽹关和电话⽤⼾之间建⽴电路。Skype⽤⼾的语⾳通过互联⽹以数据包的形式发送到⽹关。在⽹关处,对语⾳信号进⾏重构,然后通过电路发送。另⼀⽅⾯,语⾳信号通过电路交换⽹络发送到⽹关。⽹关对语⾳信号进 ⾏分组,并将语⾳分组发送给Skype⽤⼾。
笔者在阅读《计算机网络——自顶向下方法》这本书之前阅读了思科的CCNA学习与实践指南的大部分章节。但是也发现CCNA的论述集中在网际层和网络接口层,并多用来解决在小型网络中存在的网络配置问题,不能对于整个体系有着很好的理解,也难以获得网络编程需要的详细知识,因而决定转而学习自顶向下方法这本书,这就是这一系列博客的由来。
当然,如果想要获取成为网络工程师需要的实践经验的话,CCNA仍然是一种好的入门学习策略。希望后来者能以此为借鉴。