声明:原文转载链接出自:
哈工大Mooc——计算机网络:作业3
假设你在浏览某网页时点击了一个超链接,URL为“https://www.kicker.com.cn/index.html”,且该URL对应的IP地址在你的计算机上没有缓存;文件index.html引用了8个小图像。域名解析过程中,无等待的一次DNS解析请求与响应时间记为RTTd,HTTP请求传输Web对象过程的一次往返时间记为RTTh。请回答下列问题:
1)你的浏览器解析到URL对应的IP地址的最短时间是多少?最长时间是多少?
2)若浏览器没有配置并行TCP连接,则基于HTTP1.0获取URL链接Web页完整内容(包括引用的图像,下同)需要多长时间(不包括域名解析时间,下同)?
3) 若浏览器配置5个并行TCP连接,则基于HTTP1.0获取URL链接Web页完整内容需要多长时间?
4) 若浏览器没有配置并行TCP连接,则基于非流水模式的HTTP1.1获取URL链接Web页完整内容需要多长时间?基于流水模式的HTTP1.1获取URL链接Web页完整内容需要多长时间?
我的答案
[本图用于帮助理解HTTP请求过程]
答:
1)浏览器解析到URL对应的IP地址的最短时间是:
在主机没有缓存的情况下,本地DNS服务器有该域名的IP地址缓存,则最短时间为 RTTd。
最长时间是:
在主机没有缓存,且使用递归查询的情况下,本地local DNS 服务器就会将该DNS请求发给Root DNS服务器,
然后Root DNS服务器将DNS请求发给顶级域名服务器TLD,然后顶级域名服务器TLD将该DNS请求发给权威域名服务器,
权威域名服务器找到DNS请求的IP地址后按原路一层一层返回请求,最长时间为 (4+1)RTTd = 5*RTTd。
2)若浏览器没有配置并行TCP连接,则基于HTTP1.0(使用非持久连接,一次TCP连接最多允许传输一个对象,共1个html内容+8个图像,共打开9次tcp连接,也就多了9次RTT的时间。)
若浏览器没有配置并行TCP连接,则基于HTTP1.0获取URL链接Web页完整内容(包括引用的图像,下同)需要多长时间(不包括域名解析时间,下同)?
获取URL链接Web页完整内容需要多长时间(不包括域名解析时间)为:
第一次建立TCP连接用掉一个RTTh,获取Html文件用掉一个RTTh;
因为是非持久连接,所以每次传输文件都要重新打开TCP连接,用掉一个RTTh,
后面还有8个小图像,就需要打开8次TCP连接,同时有8次传输小图像所用8个RTTh,
综上,共计:1RTTh+1RTTh+8RTTh+8RTTh=18RTTh。
2 *( 一次建立TCP连接的时间+(html内容的传输时间+8次的小图像传输所需时间))
= 2*(RTTh+RTTh+8*RTTh) = 18*RTTh。
3)若浏览器配置5个并行TCP连接,则基于HTTP1.0(使用非持久连接,每个TCP连接最多允许传输一个对象)
获取URL链接Web页完整内容需要的时间为:
因为使用非持久连接,所以每次传输文件或请求都要打开TCP连接,所以
(首次 建立TCP连接RTTh+获得html文件内容RTTh)+ 2轮 * 获取8个图像地址信息RTTH = 2RTTh + 2*2个RTTh = 6RTTh。
【注】:
两轮是指:因为每次5个并行TCP连接,一共有8个小图像,第一次传输5个,第二次传输剩余的3个,所以为2轮。
而每轮都要打开一次TCP连接用了1个RTTh,又同时传输图像用了一个RTTh,所以为2轮*2个RTTh=4RTTh,
再加上最初的2个用于开TCP连接和获取Html文件的RTTh,共计2+4=6RTTh。
4)
若浏览器没有配置并行TCP连接,则基于非流水模式的HTTP1.1获取URL链接Web页完整内容需要时间为:
1RTTh(TCP持久连接)+ 1RTTh(1次html内容获取)+ 8RTTh(8个图像传输时间) = 10RTTh。
基于流水模式的HTTP1.1获取URL链接Web页完整内容需要时间为:
1RTTh(TCP持久连接)+ 1RTTh (1次html内容获取)+ 1RTTh(8个图像传输时间)= 3RTTh。
参考答案:
1)浏览器解析到URL对应的IP地址的最短时间是:RTTd;(2分)最长时间是:5RTTd。(2分)
2)若浏览器没有配置并行TCP连接,则基于HTTP1.0获取URL链接Web页完整内容需要的时间:18RTTh。(2分)
3) 若浏览器配置5个并行TCP连接,则基于HTTP1.0获取URL链接Web页完整内容需要的时间:6RTTh。(2分)
4) 若浏览器没有配置并行TCP连接,则基于非流水模式的HTTP1.1获取URL链接Web页完整内容需要的时间:10RTTh;(2分)基于流水模式的HTTP1.1获取URL链接Web页完整内容需要的时间:3RTTh。(2分)