计算机网络:自顶向下 第一章 课后习题参考答案(官方文档中文解析)

本文详细探讨了计算机网络中协议的作用,通过ATM机与服务器通信的示例阐述了不同消息类型及其目的。接着,分析了N端电路发送P个分组的时延计算,以及电路交换与分组交换在网络性能中的差异。还讨论了在不同场景下,如VoIP、拥塞控制、路由器缓存和带宽-时延积等问题,深入理解网络通信中的关键概念和技术。

前言

对于知识点的掌握不能仅仅是知晓,能够加以应用才能熟练掌握,计算机网络:自顶向下这本书中为读者提供了合适的习题来帮助我们练习。接下来我将和大家一起解读官方答案文档(英文),并给出我所理解的中文翻译(英语好的读者建议直接观看官方英语文档,部分问题笔者能力有限无法解答)。

Chapter 1 Problems

Problem 1

在这里插入图片描述
在这里插入图片描述

英文:

There is no single right answer to this question. Many protocols would do the trick. Here’s a simple answer below:

Messages from ATM machine to Server
Msg name purpose
HELO Let server know that there is a card in the ATM machine and ATM card transmits user ID to Server
PASSWD User enters PIN, which is sent to server
BALANCE User requests balance
WITHDRAWL User asks to withdraw money
BYE user all done
Messages from Server to ATM machine (display)
Msg name purpose
PASSWD Ask user for PIN (password)
OK last requested operation (PASSWD, WITHDRAWL)
ERR last requested operation (PASSWD, WITHDRAWL) in ERROR
AMOUNT sent in response to BALANCE request
BYE user done, display welcome screen at ATM
Correct operation:
client server
HELO (userid) --------------> (check if valid userid)
<------------- PASSWD
PASSWD --------------> (check password)
<------------- OK (password is OK)
BALANCE -------------->
<------------- AMOUNT
WITHDRAWL --------------> check if enough $ to cover withdrawl
<------------- OK
ATM dispenses $
BYE-------------->
<-------------BYE
In situation when there’s not enough money:
client server
HELO (userid) --------------> (check if valid userid)
<------------- PASSWD
PASSWD --------------> (check password)
BALANCE -------------->
<------------- AMOUNT
ATM <------------- OK (password is OK)
WITHDRAWL --------------> check if enough $ to cover withdrawl
<------------- ERR (not enough funds)
error msg displayed -------------->no $ given out
BYE -------------->
<------------- BYE

中文

这里不仅有一种解法,许多协议都可以满足条件,以下给出一个简单的版本

从ATM机到服务器的消息
消息名称 目的
HELO 让服务器知道ATM机上有卡,ATM卡将用户ID传送给服务器
PASSWD 用户输入 PIN,发送到服务器
BALANCE 用户请求取款
WITHDRAWL 用户请求取款的金额
BYE 完成服务
从ATM机到服务器的消息(显示屏打印)
消息名称 目的
PASSWD 向用户询问密码
OK 上次请求的动作(输入密码,取款)完成了
ERR 上次请求的动作(输入密码,取款)失败了
AMOUNT 输入请求金额
BYE 完成,打印下次光临
正确操作:
客户端 总服务器
HELO (userid) --------------> (检查是用户否合法)
(请输入密码) <------------- PASSWD
PASSWD --------------> (检查密码)
密码正确 <------------- OK (密码正确)
BALANCE --------------> (请求取款)
(输入取款金额) <------------- AMOUNT
WITHDRAWL --------------> (检查余额是否足够)
(账户余额足够) <------------- OK
(ATM 发钱)
BYE--------------> (服务结束)
(服务结束) <-------------BYE
在用户没有足够金额下的情况
客户端 总服务器
HELO (userid) --------------> (检查是用户否合法)
请输入密码 <------------- PASSWD
PASSWD --------------> (检查密码)
密码正确 <------------- OK (密码正确)
BALANCE --------------> (请求取款)
(输入取款金额) <------------- AMOUNT
WITHDRAWL --------------> (检查余额是否足够)
<------------- ERR (没有足够金额)
(打印金额不错的消息) -------------->(无金钱支出)
BYE --------------> 服务结束
服务结束 <------------- BYE

答案解析

可以看出,答案首先定义了几个名词的简写,随后在客户端与服务器之间做交互应答(如图1-2)

Problem 2

对于N端电路发送P个分组,请计算端到端距离为L链路速度为R的时延

在这里插入图片描述
一个分组从一个路由器到另外一个路由器的时间为 L R \frac{L}{R} RL,在时刻 N ∗ L R \frac{N*L}{R} RNL第一个分组到达目的地,第二个分组储存在倒数第一个路由器中。第三个分组储存在倒数第二个路由器中,以此类推。在时刻 N ∗ L R + L R \frac{N*L}{R}+\frac{L}{R} RNL+RL时第二个分组到达目的地,同时第三个分组储存在倒数第一个分组中以此类推,根据这个逻辑,我们可以知道当时刻 N ∗ L R + ( P − 1 ) ∗ L R = ( N + P − 1 ) ∗ L R \frac{N*L}{R}+\frac{(P-1)*L}{R}=\frac{(N+P-1)*L}{R} RNL+

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值