计算机网络 自顶向下方法-第8版-Chapter2-Problems_计算机网络自顶向下方法第八版答案

假定你在浏览器中点击一条超链接获得 Web 页面。相关联的 URL 的 IP 地址没有缓存在本地主机上,因此必须使用 DNS lookup以获得该 IP 地址。如果主机从 DNS 得到 IP 地址之前已经访问了 n 个 DNS 服务器;相继产生的 RTT 依次为 RTT1、…、RTTn。进一步假定与链路相关的 Web 页面只包含一个对象,即由少量的 HTML 文本组成。令 RTT0表示本地主机和包含对象的服务器之间的 RTT 值。假定该对象传输时间为零,则从客户点击该超链接到它接收到该对象需要多长时间?

经过n个RTT后已经知道目标主机的IP, 则此时建立TCP连接。

因为TCP连接会有3次握手, 所以会额外产生一个RTT0 , 在第三次握手时开始请求对象, 在2个额外RTT0结束后, 接收到该对象。

所以客户点击该超链接到它接收到该对象需要

2

R

T

T

0

i

=

1

n

R

T

T

i

2RTT_0 + \sum\limits_{i=1}^{n}RTT_i

2RTT0​+i=1∑n​RTTi​

P8

参照习题 P7,假定在同一服务器上某 HTML,文件引用了 8 个非常小的对象。忽略发送时间,在下列情况下需要多长时间。

a. 没有并行 TCP 连接的非持续 HTTP。

b. 配置有 5 个并行连接的非持续 HTTP。

c. 持续 HTTP。

a

首先请求HTML, 产生1个TCP连接。再依次请求-接收8个小对象, 产生8个TCP连接, 总共9个TCP连接, 而每个TCP连接(握手到接收响应)耗时2个RTT0, 所以耗时为18个RTT0

所以在P7题目的基础上的总耗时为:

(

9

×

2

)

R

T

T

0

i

=

1

n

R

T

T

i

18

R

T

T

0

i

=

1

n

R

T

T

i

(9 \times 2)RTT_0 + \sum\limits_{i=1}^{n}RTT_i \ 18RTT_0 + \sum\limits_{i=1}^{n}RTT_i

(9×2)RTT0​+i=1∑n​RTTi​18RTT0​+i=1∑n​RTTi​

b

首先请求HTML, 产生1个TCP连接。再并行建立5个TCP连接请求5个小对象并接收, 再并行建立3个TCP连接请求3个小对象, 共产生3个同步的TCP连接, 即6个RTT0

所以在P7题目的基础上的总耗时为:

(

3

×

2

)

R

T

T

0

i

=

1

n

R

T

T

i

6

R

T

T

0

i

=

1

n

R

T

T

i

(3 \times 2)RTT_0 + \sum\limits_{i=1}^{n}RTT_i \ 6RTT_0 + \sum\limits_{i=1}^{n}RTT_i

(3×2)RTT0​+i=1∑n​RTTi​6RTT0​+i=1∑n​RTTi​

c

首先请求HTML, 产生1个TCP连接, 并保持。

如果客户端采用流水线式发送请求, 即在一次请求中包含所有8个小对象, 会产生1个RTT0。

所以在P7题目的基础上的总耗时为:

(

2

1

)

R

T

T

0

i

=

1

n

R

T

T

i

3

R

T

T

0

i

=

1

n

R

T

T

i

(2 + 1)RTT_0 + \sum\limits_{i=1}^{n}RTT_i \ 3RTT_0 + \sum\limits_{i=1}^{n}RTT_i

(2+1)RTT0​+i=1∑n​RTTi​3RTT0​+i=1∑n​RTTi​
如果客户端不采用流水线式发送请求, 则请求8个小对象会花费8个RTT0。

所以在P7题目的基础上的总耗时为:

(

2

8

)

R

T

T

0

i

=

1

n

R

T

T

i

10

R

T

T

0

i

=

1

n

R

T

T

i

(2 + 8) RTT_0 + \sum\limits_{i=1}^{n}RTT_i \ 10RTT_0 + \sum\limits_{i=1}^{n}RTT_i

(2+8)RTT0​+i=1∑n​RTTi​10RTT0​+i=1∑n​RTTi​

P9

考虑图 2-12,其中有一个机构的网络和因特网相连。

假定对象的平均长度为 850 000 比特,从这个机构网的浏览器到初始服务器的平均请求率是每秒 16 个请求。还假定从接入链路的因特网一侧的路由器转发一个 HTTP 请求开始,到接收到其响应的平均时间是 3 秒(参见 2.2.5 节)。将总的平均响应时间建模为平均接入时延(即从因特网路由器到机构路由器的时延)和平均因特网时延之和。对于平均接入时延,使用

Δ

/

(

1

Δ

β

)

\Delta/(1 - \Delta \beta)

Δ/(1−Δβ),式中

Δ

\Delta

Δ 是跨越接入链路发送一个对象的平均时间,

β

\beta

β 是对象对该接入链路的平均到达率。

a.求出总的平均响应时间。

b. 现在假定在这个机构 LAN 中安装了一个缓存器。假定错失率为 0.4(命中率为 0.6),求出总的响应时间。

a

总的平均响应时间为平均接入时延和平均因特网时延之和

因为假设了HTTP请求报文很小, 所以忽略发送请求的时延, 发送对象后的时延

Δ

\Delta

Δ 是跨越接入链路发送一个对象的平均时间, 则用对象大小 / 接入链路带宽计算

Δ

=

8.5

×

1

0

5

15

×

1

0

6

=

0.0567

s

\Delta = \frac{8.5\times 10^5}{ 15\times10^6} \ = 0.0567s

Δ=15×1068.5×105​=0.0567s

β

\beta

β 是对象对该接入链路的平均到达率, 因为这个机构网的浏览器到初始服务器的平均请求率是每秒 16 个请求, 因为每个请求经历的时延时相同的, 所以每个请求之间的间隔不变, 到达接入链路的频率与发送请求的频率相同

β

=

16

\beta = 16

β=16
所以平均接入时延:

Δ

1

Δ

β

=

0.0567

1

16

×

0.0567

=

0.0567

0.0928

=

0.611

s

\frac{\Delta}{1 - \Delta \beta} \ = \frac{0.0567}{1 - 16 \times 0.0567} \ = \frac{0.0567}{0.0928} \ = 0.611s

1−ΔβΔ​=1−16×0.05670.0567​=0.09280.0567​=0.611s
因特网时延为3s, 所以总的平均响应时间为:

3.611

s

3.611s

3.611s

b

60%的对象在web缓存被命中, 所以直接考虑从web缓存发送对象到客户主机的时延, 即一个对象大小 / 局域网带宽, 这个时延小到可以忽略。

40%的对象要经过因特网到web缓存, 在从web缓存中发送到客户主机

所以, 总的响应时间:

0.6

×

8.5

×

1

0

5

100

×

1

0

6

0.4

×

(

3.611

8.5

×

1

0

5

100

×

1

0

6

)

=

0.6

×

8.5

×

1

0

3

0.4

×

(

3.611

0.0085

)

=

0.6

×

0

0.4

×

(

3.611

0

)

=

1.44

s

0.6 \times \frac{8.5\times 105}{100\times106} + 0.4 \times (3.611+\frac{8.5\times 105}{100\times106}) \ = 0.6\times 8.5\times10^{-3} + 0.4 \times (3.611 + 0.0085) \ = 0.6\times 0 + 0.4\times (3.611 + 0) \ = 1.44s

0.6×100×1068.5×105​+0.4×(3.611+100×1068.5×105​)=0.6×8.5×10−3+0.4×(3.611+0.0085)=0.6×0+0.4×(3.611+0)=1.44s

P10

考虑一条 10 米短链路,某发送方经过它能够以 150 bps 速率双向传输。假定包含数据的分组是 100 000 比特长,仅包含控制(比如 ACK 和握手)的分组是 200 比特长。假定 N 个并行连接每个都获得 1/N 的链路带宽。现在考虑 HTTP 协议,并且假定每个下载对象是 100 kb 长,这些初始下载对象包含 10 个来自相同发送方的引用对象。在这种情况下,经非持续 HTTP 的并行实例的并行下载有意义吗?现在考虑持续 HTTP。你期待这比非持续的情况有很大增益吗?评价并解释你的答案。

T

p

T_p

Tp​表示客户端与服务器之间的单向传播时延, 假设光的传播速率为

3

×

1

0

8

m

/

s

3\times10^8 m/s

3×108m/s, 一直链路长度为10m

T

p

=

10

3

×

1

0

8

=

0.03

μ

s

T_p = \frac{10}{3\times10^8} = 0.03\mu s

Tp​=3×10810​=0.03μs
考虑使用非持续 HTTP 请求1个对象后, 然后并行请求10个引用对象的时延, 每个并行连接分到的带宽为15 bps

第一次, 建立一个TCP连接, 获取初始对象

(

200

150

)

T

p

(

200

150

)

T

p

(

200

150

)

T

p

(

100

,

000

150

)

T

p

(\frac{200}{150}) + T_p + (\frac{200}{150}) + T_p + (\frac{200}{150}) + T_p + (\frac{100,000}{150}) + T_p

(150200​)+Tp​+(150200​)+Tp​+(150200​)+Tp​+(150100,000​)+Tp​
然后, 并行建立10个TCP连接, 获取引用对象

(

200

15

)

T

p

(

200

15

)

T

p

(

200

15

)

T

p

(

100

,

000

  • 25
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值