第一章 计算机网络和因特网

课后习题和问题

复习题

1.1节
R1.“主机”和“端系统”之间有什么不同?列举几种不同类型的端系统。Web服务器是一种端系统吗?
他们并没有不同,全书中“主机”和“端系统”是交替使用的。端系统包括计算机、工作站、Web服务器、邮件服务器、PDA终端手持机、联网游戏主机等。
R2.“协议”一词常被用于描述外交关系。维基百科是怎样描述外交协议的?
维基百科指出:外交礼仪通常被定义为一套国际礼节规范。这些历经岁月沉淀的既定准则,为各国人民的交流合作提供了便利。礼仪规范的核心要素始终包含对在场各方社会地位的尊重,其制定原则基于文明礼仪的基本准则。
R3.标准对于协议为什么重要?
标准对于协议至关重要,以便人们能够创建可互操作的网络系统和产品。

1.2节
R4.列出4种接入技术。将它们分类为住宅接入、公司接入或广域无线接入。

  1. 电话线拨号调制解调器:家庭使用;2. 电话线DSL:家庭或小型办公室使用;3. 有线电视至HFC:家庭使用;4. 100 Mbps交换式以太网:企业级使用。
    R5.HFC传输速率在用户间是专用的还是共享的?在下行HFC信道中,可能出现碰撞吗?为什么?
    HFC带宽由所有用户共享。在下行信道中,所有数据包均源自单一源——即前端设备,因此下行信道不会发生数据包冲突。
    R6.列出你所在城市中的可供使用的住宅接入技术。对于每种类型的接入方式,给出所宣称的下行速率、上行速率和每月的价格。
    在美国大多数城市,目前可用的网络连接方式包括:拨号上网;DSL;有线调制解调器;光纤到户(FTTH)。
    R7.以太LAN的传输速率是多少?
    以太网链路的传输速率分别为10 Mbps、100 Mbps、1 Gbps和10 Gbps。
    R8.能够运行以太网的物理媒介是什么?
    如今,以太网最常用的传输介质是双绞线铜缆,也可通过光纤链路进行传输。
    R9.拨号调制解调器、HFC、DSL和FTTH都用于住宅接入。对于这些技术,给出每种技术的传输速率的范围,并讨论它们的传输速率是共享的还是专用的。
    ADSL:下行速率最高可达24 Mbps,上行速率最高可达2.5 Mbps,带宽为专用;HFC:速率最高可达42.8 Mbps,上行速率最高可达30.7 Mbps,带宽为共享;FTTH:上传速率2–10 Mbps;下载速率10–20 Mbps;带宽不共享。
    R10.描述今天最为流行的无线因特网接入技术,并对它们进行比较。
    目前主要有两种流行的无线互联网接入技术:
    a. Wi-Fi(802.11):在无线局域网中,用户可在数十米半径范围内与基站(即无线接入点)进行数据包的收发。该基站通常连接有线互联网,从而将无线用户接入有线网络;
    b. 3G和4G广域无线接入网络:在这些系统中,数据包通过与蜂窝电话相同的无线基础设施进行传输,因此基站由电信运营商管理。这种技术可为基站周边数十公里范围内的用户提供无线接入服务。

1.3节
R11. 假定在发送主机和接收主机间只有一台分组交换机。发送主机和交换机间以及交换机和接收主机间的传输速率分别是R1和R2。假设该交换机使用存储转发分组交换方式,发送一个长度为L的分组的端到端总时延是什么?(忽略排队时延、传播时延和处理时延。)
在时间 t0,发送主机开始传输数据。在时间 t1 = L/R1,发送主机完成传输,整个数据包被路由器接收(无传播延迟)。由于路由器在 t1 时刻已收到完整数据包,因此可立即在 t1 时刻将数据包传输给接收主机。在时间 t2 = t1 + L/R2,路由器完成传输,整个数据包被接收主机接收(同样无传播延迟)。因此,端到端延迟为 L/R1 + L/R2。
R12. 与分组交换网络相比,电路交换网络有哪些优点?在电路交换网络中,TDM 与 FDM 相比有哪些优点?
电路交换网络能够在通话期间保证一定的端到端带宽。目前大多数分组交换网络(包括互联网)无法提供任何端到端的带宽保证。FDM技术需要复杂的模拟硬件来将信号转换到相应的频段。
R13. 假定用户共享一条 2Mbps 链路。同时假定当每个用户传输时连续以 1Mbps 传输,但每个用户仅传输 20%的时间。
a. 当使用电路交换时,能够支持多少用户?
系统可支持2名用户,因为每位用户仅需占用一半的链路带宽。
b. 假定使用分组交换。为什么如果两个或更少的用户同时传输的话,在链路前面基本上没有排队时延?为什么如果3个用户同时传输的话,将有排队时延?
由于每个用户在传输时均需1 Mbps带宽,当两个或更少用户同时传输时,所需最大带宽为2 Mbps。由于共享链路的可用带宽为2 Mbps,因此链路前不会产生排队延迟;而当三个用户同时传输时,所需带宽将增至3 Mbps,超过了共享链路的可用带宽。此时,链路前将出现排队延迟。
c. 求出某指定用户正在传输的概率。
特定用户正在传输数据的概率 = 0.2
d. 假定现在有3个用户。求出在任何给定的时间,所有3个用户在同时传输的概率。求出队列增长的时间比率。
所有三个用户同时传输的概率 = (0.2)^3 = 0.008。由于所有用户同时传输时队列会增长,因此队列增长的时间占比(即所有三个用户同时传输的概率)为 0.008。
R14. 为什么等级结构中级别相同的两个 ISP 通常互相对等?某 IXP 是如何挣钱的?
如果两家互联网服务提供商(ISP)之间没有建立对等互联关系,那么当它们互相传输数据流量时,就必须通过第三方提供商(即中介服务商)来传输流量,并为此支付传输费用。通过直接建立对等互联关系,两家ISP可以降低向各自提供商ISP支付的费用。互联网交换点(IXP)(通常位于独立建筑内并配备专用交换机)是多家ISP连接或建立对等互联的汇聚节点。ISP通过向接入IXP的各ISP收取相对较低的费用来获取收入,具体费用金额取决于传输至IXP或从IXP接收的数据流量量。
R15. 某些内容提供商构建了自己的网络。描述谷歌的网络。内容提供商构建这些网络的动机是什么?
谷歌的私有网络将旗下所有数据中心——无论规模大小——紧密连接在一起。谷歌数据中心之间的数据流量均通过其私有网络传输,而非公共互联网。这些数据中心大多位于或邻近较低层级的互联网服务提供商(ISP)所在地。因此,当谷歌向用户推送内容时,通常能够绕过较高层级的ISP。是什么促使内容提供商构建这些网络?首先,由于需要使用的中间ISP数量较少,内容提供商能更好地掌控用户体验;其次,通过减少向ISP网络传输的数据流量,可以节省成本;第三,如果ISP决定向利润丰厚的内容提供商收取更高费用(尤其是在网络中立性原则不适用的国家),内容提供商便能避免支付这些额外费用。

1.4节
R16. 考虑从某源主机跨越一条固定路由向某目的主机发送一个分组。列出端到端时延中的时延组成成分。这些时延中的哪些是固定的,哪些是变化的?
延迟成分包括处理延迟、传输延迟、传播延迟和排队延迟。除排队延迟为可变参数外,其余所有延迟均为固定值。
R17. 访问配套 Web 网站上有关传输时延与传播时延的交互动画。在速率、传播时延和可用的分组长度之中找出一种组合,使得该分组的第一个比特到达接收方之前发送方结束了传输。找出另一种组合,使得发送方完成传输之前,该分组的第一个比特到达了接收方。
a) 1000 km, 1 Mbps, 100 bytes
b) 100 km, 1 Mbps, 100 bytes
R18. 一个长度为 1000 字节的分组经距离为 2500km 的链路传播,传播速率为 2.5×10^8 m/s 并且传输速率为 2Mbps,它需要用多长时间?更为一般地,一个长度为L的分组经距离为d的链路传播,传播速率为s并且传输速率为 R bps,它需要用多长时间?该时延与传输速率相关吗?
10msec; d/s; no; no
(加粗代表我有疑问)
R19. 假定主机 A 要向主机 B 发送一个大文件。从主机 A 到主机 B 的路径上有 3 段链路,其速率分别为 R1=500kbps,R2=2Mbps,R3=1Mbps。
a. 假定该网络中没有其他流量,该文件传送的吞吐量是多少?
a) 500 kbps
b. 假定该文件为 4MB。用文件长度除以吞吐量,将该文件传输到主机 B 大致需要多长时间?
b) 64 seconds
c. 重复(a)和(b),只是这时R2减小到 100kbps。
c) 100kbps; 320 seconds
R20. 假定端系统 A 要向端系统 B 发送一个大文件。在一个非常高的层次上,描述端系统怎样从该文件生成分组。当这些分组之一到达某分组交换机时,该交换机使用分组中的什么信息来决定将该分组转发到哪一条链路上?因特网中的分组交换为什么可以与驱车从一个城市到另一个城市并沿途询问方向相类比?
端系统将大文件分割成多个数据块,并为每个数据块添加头部信息,从而将文件分割成多个数据包。每个数据包的头部包含目标地址(即终端系统b)的IP地址。数据包交换机根据数据包中的目标IP地址来确定相应的出站链路。这种路径选择机制,类似于数据包根据其目标地址来决定应通过哪条出站链路进行转发。
R21. 访问配套 Web 站点的排队和丢包交互动画。最大发送速率和最小传输速率是多少?对于这些速率,流量强度是多大?用这些速率运行该动画并确定出现丢包要花费多长时间。然后第二次重复该实验,再次确定出现丢包花费多长时间。这些值有什么不同?为什么会有这种现象?
最大发送速率为500数据包/秒,最小传输速率为350数据包/秒。相应的流量强度为500/350 = 1.43 > 1。每次实验最终都会发生数据丢失;但由于发射过程具有随机性,首次发生数据丢失的时间在不同实验中会有所不同。
1.5节
R22. 列出一个层次能够执行的 5 个任务。这些任务中的一个(或两个)可能由两个(或更多)层次执行吗?
R23. 因特网协议栈中的 5 个层次是什么?在这些层次中,每层的主要任务是什么?
R24. 什么是应用层报文?什么是运输层报文段?什么是网络层数据报?什么是链路层帧?
R25. 路由器处理因特网协议栈中的哪些层次?链路层交换机处理的是哪些层次?主机处理的是哪些层次?
1.6节
R26. 病毒和蠕虫之间有什么不同?
R27. 描述如何产生僵尸网络,以及僵尸网络是怎样被用于DDoS攻击的。
R28. 假定Alice和Bob经计算机网络互相发送分组。假定Trudy将自己安置在网络中,使得她能够俘获Alice发送的所有分组,并发送她希望给Bob的东西;她也能够俘获由Bob发送的所有分组,并发送她希望给Alice的东西。列出在这种情况下Trudy能够做的某些恶意的事情。


习题

P1. 设计并描述在自动柜员机和银行的中央计算机之间使用的一种应用层协议。你的协议应当允许验证用户的银行卡和口令,查询账目结算(这些都在中央计算机中进行维护),支取账目(即向用户支付)。你在报文传输和接收过程中交换的报文和采取的操作来定义你的协议。使用类似于图1-2所示的图,假定在简单无差错取钱情况下该协议的操作。明确地阐述在该协议中关于底层端到端运输服务所做的假设。

P2. 式(1-1)给出了经传输速率为 (R) 的 (N) 段链路发送长度 (L) 的一个分组的端到端时延。对于经过 (N) 段链路一个接一个地发送 (P) 个这样的分组,给出一般化的计算公式。

P3. 考虑一个应用程序以稳定的速率传输数据(例如,发送方每 (k) 个时间单元产生一个 (N) 比特的数据单元,其中 (k) 较小且固定)。另外,当这个应用程序启动时,它将连续运行相当长的一段时间。回答下列问题,简要论证你的回答:
a. 是分组交换网还是电路交换网更适合这种应用?为什么?
b. 假定使用了分组交换网,并且该网中的所有流量都来自如上所述的这种应用程序。此外,假定该应用程序数据传输速率的总和小于每条链路的各自容量。需要某种形式的拥塞控制吗?为什么?

P4. 考虑在图1-13中的电路交换网。回想在每条链路上有4条链路,以顺时针方向标记四台交换机A、B、C和D。
a. 在该网络中,任何时候能够进行同时连接的最大数量是多少?
b. 假定所有连接位于交换机A和C之间。能够进行同时连接的最大数量是多少?
c. 假定我们要在交换机A和C之间建立4条连接,在交换机B和D之间建立另外4条连接。我们能够让这些呼叫通过这4条链路建立路由以容纳所有8条连接吗?

P5. 回顾1.4节中的车队类比。假定传播速度为100km/h。
a. 假定车队旅行150km:在一个收费站前面开始,通过第二个收费站,并且正好在第三个收费站后面结束。其端到端时延是多少?
b. 重复(a),现在假定车队中有8辆汽车而不是10辆。

P6. 本题开始探讨传播时延和传输时延,这是数据网络中的两个重要概念。考虑两台主机A和B由一条速率为 (R)(bps)的链路相连。假定这两台主机相隔 (m)(m),沿该链路的传播速率为 (s)(m/s)。主机A向主机B发送长度为 (L)(bit)的分组。
a. 用 (m) 和 (s) 来表示传播时延 (d_{\text{prop}})。
b. 用 (L) 和 (R) 来确定该分组的传输时间 (d_{\text{trans}})。
c. 忽略处理和排队时延,得出端到端时延的表达式。
d. 假定主机A在时刻 (t=0) 开始传输该分组。在时刻 (t=d_{\text{trans}}),该分组的最后一个比特在什么地方?
e. 假定 (d_{\text{prop}}) 大于 (d_{\text{trans}})。在时刻 (t=d_{\text{trans}}),该分组的第一个比特在何处?
f. 假定 (d_{\text{prop}}) 小于 (d_{\text{trans}})。在时刻 (t=d_{\text{trans}}),该分组的第一个比特在何处?
g. 假定 (s=2.5\times10^8,\text{m/s}),(L=120,\text{bit}),(R=56,\text{kbps})。求出使 (d_{\text{prop}}) 等于 (d_{\text{trans}}) 的距离 (m)。

P7. 在本题中,我们考虑从主机A向主机B通过分组交换网发送语音(VoIP)。主机A将模拟语音转换为传输中的64kbps数字比特流。然后主机A将这些比特分为56字节的分组。A和B之间有一条链

(注:部分题目右侧被裁剪,仅提取可见文本)

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐