声明
本书为《计算机网络:自顶向下方法》(第六版),也就是图片上的那本。所有的课后复习题和习题答案均为个人理解,若有错误或不足的地方欢迎大家在评论中指出。
全书答案:https://github.com/wonter/Computer-Networking-A-Top-Down-Approach-NOTES
1.1节
R1. “主机”和“端系统”之间有什么不同?列举几种不同类型的端系统。Web服务器是一种端系统吗?
没有不同,只是两种不同的叫法。
智能手机、电脑、电视、WEB服务器、游戏机等等。
如上所述,WEB服务器也是一种端系统。
R2. “协议”一词常被用于描述外交关系。维基百科是怎样描述外交协议的?
wiki百科描述:https://en.wikipedia.org/wiki/Protocol_(diplomacy)
R3. 标准对于协议为什么重要?
协议是基于某一个标准存在的,根据协议和标准,人们可以创造交互式的计算机网络。
1.2节
R4. 列出6种接入技术。将它们分类为住宅接入、公司接入或广域无线接入。
- 住宅接入:DSL(数字用户线)、电缆、FTTH(宽带到户)、拨号和卫星
- 公司接入:以太网和WiFi
- 广域无线接入:3G和LTF
R5. HFC宽带是专用的,还是用户间共享的?在下行HFC信道中,有可能发生碰撞吗?为什么?
用户共享的,在下行通道中,所有的分组都是由单独的端系统发出,所以不会发生碰撞。
R6. 列出你所在城市中的可供使用的住宅接入技术。对于每种类型的接入方式,给出所宣称的下行速率、上行速率和每月的价格。
就郑州市而言,有以下接入技术
- ISDN方案,数据传输率最高为128kbps
- ADSL方案,在双绞铜线上支持的上行速率为640Kbps-1Mbps,下行速率为1Mbps-8Mbps,有效传输距离为3-5公里。ADSL使用普通电话线作为传输介质
- CableModem方案,下行速率可以达到30Mpbs,但同轴电缆是按单行道模式设计的
- 以太网接入方案,容量分为10Mbps、100Mbps、1000Mbps3种等级,可按需升级,1Gbps的以太网技术也即将问世
R7. 以太LAN的传输速率是多少?
用户通常以100Mbps速率接入以太网交换机,而服务器可能具有1Gbps甚至10Gbps的接入速率。
R8. 能够运行以太网的一些物理媒体是什么?
最常见的是双绞铜线,也可以用光纤。
R9. 拨号调制解调器、HFC、DSL和FTTH都用于住宅接入。对于这些技术中的每一种,给出传输速率的范围。并讨论有关宽带是共享的还是专用的。
- 拨号调制解调器:宽带专用,56Kbps
- HFC:宽带专用,下行速率42.8Mbps,上行速率30.7Mbps
- DSL:宽带共享,下行速率24Mbps,上行速率2.5Mbps
- FTTH:宽带专享,下行速率10-20Mbps,上行速率2-10Mbps
R10. 描述今天最流行的无线因特网接入技术。对它们进行比较和对照。
当下最流程的无线因特网接入技术有WiFi和3G、4G,其中WiFi用户离基站较劲,3G、4G用户离基站较远
1.3节
R11. 假定在发送主机和接收主机间只有一台分组交换机。发送主机和交换机间以及交换机和接收主机间的传输速率分别是R1和R2。假设该交换机使用存储转发分组交换方式,发送一个长度为L的分组的端到端总时延是什么?(忽略排队时延、传播时延和处理时延)
端到端总时延为:L/R1 + L/R2,其中L/R1为发送主机到交换机需要的时延,L/R2为交换机到接收主机的时延。
R12. 与分组交换网络相比,电路交换网络有哪些优点?在电路交换网络中,TDM比FDM有哪些优点?
电路交换更适合实时服务,如电话会议、语音通话、视频等等。
R13. 假定用户共享一条2Mbps链路。同时假定当每个用户传输时连续以1Mbps传输,但每个用户仅传输20%的时间。
a. 当使用电路交换时,能够支持多少用户?
b. 作为该题的遗留问题,假定使用分组交换。为什么如果两个或更少的用户同时传输的话,在链路前面基本没有排队时延?为什么如果3个用户同时传输的话,将会有排队时延?
c. 求出某指定用户正在传输的概率。
d. 假定现在有3个用户。求出在任何给定时间,所有3个用户在同时传输的概率。求出队列增长的时间比率。
a. 当使用电路交换时,能够支持2个用户同时传输。
b. 因为当2个用户同时传输时,比特到达路由器的时间为2Mbps,路由器的传输时间为2Mbps,所以路由器的处理队列为空。当超过2个用户时,路由器的处理队列将不为空。
c. 0.2
d. 0.008
R14. 为什么在等级结构相同级别的两个ISP通常互相对等?某IXP是如何挣钱的?
当两个ISP之间需要传输流量时,如果没有对等,那么其中一个ISP需要先传输给提供商ISP然后再传递给另一个ISP,这时候产生了额外费用,如果对等的话则可以免去这些费用。IXP可以根据交换的流量额收取费用。
R15. 某些内容提供商构建了自己的网络。描述谷歌的网络。内容提供商构建这些网络的动机是什么?
- 可以跟较底层的ISP对等,或者接入IXP来减少对提供商ISP的费用
- 可以对其服务最终如何交付给端用户有了更多的控制
1.4
R16. 考虑从某源主机跨越一条固定路由向某目的主机发送一分组。列出端到端时延组成部分。这些时延中的哪些是固定的,哪些是变化的?
分别为处理时延、排队时延、传输时延、传播时延
其中排队时延是变化的,其他都是固定的。
R17. 访问在配套Web网站上有关传输时延与传播时延的Java小程序。在可用速率、传播时延和可用的分组长度之中找出一种组合,使得该分组的第一个比特到达接收方之前发送方结束了传输。找出另一种组合,使得发送方完成传输之前,该分组的第一个比特到达了接收方。
定义L:可用的分组长度,v:可用速率,t:传播时延
第一种组合:L/v < t
第二种组合:L/v > t
R18. 一个长度为1000字节的分组经距离2500km的链路传播,传播速率为2.5 x 10^8m/s并且传输速率为2Mbps,它需要多长时间?更为一般地,一个长度为L的分组经距离为d的链路传播,传输速率为s并且传播速率为Rbps,它需要用多长时间?该时延与传播速率相关吗?
10ms,用路径除以时间就可以了
d/s
不相关
R19. 假定主机A要向主机B发送一个大文件。从主机A到主机B的路径上有3段链路,其速率分别为R1 = 500kbps,R2 = 2Mbps,R3 = 1Mbps。
a. 假定该网络中没有其他流量,该文件传送的吞吐量是多少?
b. 假定该文件为4MB。传输该文件到主机B大致需要多长时间?
c. 重复(a)和(b),只是这时R2减小到100kbps。
a. 500kbps
b. 32Mb/0.5Mbps = 64s
c. 100kbps, 32Mb/0.1Mbps = 320s
注意计算机中的B是byte(字节),网络中的b是bit(比特)。1B = 8b,即1byte = 8bit
R20. 假定端系统A要向端系统B发送一个大文件。在一个非常高的层次上,描述端系统怎样从该文件生成分组。当这些分组之一到达某分组交换机时,该交换机使用分组中的什么信息来决定将该分组转发到哪一条路上?因特网中的分组交换为什么可以与驱车从一个城市到另一个城市并沿途询问方向相类比?
端系统在分组的首部加上了目的地的IP地址,当一个分组到达路由器时,路由器检查该分组的目的地址的一部分,并向另一台相邻路由器转发该分组。路由器使用转发表将目的地址的一部分映射为输出链路。所以这和只知道目的地名字但是不知道路线的司机到达该目的地的思路是一样的,只能够询问沿路的路人往哪里走。
R21. 访问配套Web站点的排队和丢包Java小程序。最大发送速率和最小的传输速率是什么?对于这些速率,流量强度是多少?用这些速率运行该Java小程序并确定出现丢包要花费多长时间?然后第二次重复该实验,再次确定出现丢包花费多长时间。这些值有什么不同?为什么会有这种现象?
最大发送速率500bps,最小传输速率350bps
流量强度为10/7
第一次出现丢包时间90msec
第二次出现丢包时间62msec
因为发送的分组不是周期性发送的,可能某个时间段发送了很多分组,发送速率仅代表平均发送速率
1.5
R22. 列出一个层次能执行的5个任务。这些任务中的一个(或两个)可能由两个(或更多)层次执行吗?
错误控制、流量控制、分段、重组、复用、连接设置等等。
是的,比如错误控制会有多个层次执行。
R23. 因特网协议栈中的5个层次有哪些?在这些层次中,每层的主要任务是什么?
应用层、运输层、网络层、链路层、物理层
- 应用层是网络应用程序及它们的应用层协议存留的地方。
- 运输层在应用程序端点之间传送应用层报文。
- 网络层负责将成为数据报的网络层分组从一台主机移动到另一台主机。
- 链路层沿着路径将数据报传递给下一个结点。
- 物理层的任务是将该帧中的一个一个比特从一个结点移动到下一个结点。
R24. 什么是应用层报文?什么是运输层报文段?什么是网络层数据报?什么是链路层帧?
- 一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息的分组叫做应用层报文。
- 对应用层分组封装后的运输层分组是运输层报文段
- 对运输层分组封装后的网络层分组是网络层数据报
- 对网络层分组封装后的链路层分组是链路层帧
R25. 路由器处理因特网协议栈中的哪些层次?链路层交换机处理的是哪些层次?主机处理的是哪些层次?
- 路由器处理网络层、链路层、物理层
- 链路层交换机处理链路层、物理层
- 主机处理应用层、运输层、网络层、链路层、物理层
1.6节
R26. 病毒和蠕虫之间有什么不同?
- 病毒是一种需要某种形式的用户交互来感染用户设备的而已软件
- 蠕虫是一种无需任何明显用户交互就能进入设备的恶意软件
举个例子,如果某个人想要用病毒侵入你,那么你可能需要打开他给你的某个exe文件或者其他交互行为。如果想要用蠕虫侵入你,那么你在正常的使用电脑做其他事情的时候,可能就被感染了,无需你和他做任何交互。
R27. 描述如何产生一个僵尸网络,以及僵尸网络是怎样被用于DDoS攻击的。
使用蠕虫或病毒感染某个电脑,紧接着它会去感染其他电脑并慢慢形成一个僵尸网络。
攻击者利用僵尸网络中的主机向被攻击者疯狂发送流量。
R28. 假定Alice和Bob经计算机网络相互发送分组。假定Trudy将自己安置在网络中,使得她能够俘获由Alice发送的所有分组,并发送她希望给Bob的东西;她也能俘获Bob发送的所有分组,并发送她希望给Alice的东西。列出在这种情况下Trudy能够做的某些恶意的事情。
- Trudy可能会盗取Alice和Bob的用户信息,比如社交密码、银行卡密码、Alice的个人隐私、Bob的个人隐私等等
- Trudy可以很容易的破坏两人的关系,比如篡改分组中的内容
- Trudy可能威胁到Alice和Bob的安全,比如以某人的名义将另一人单独约出来
网友评论