《计算机网络》第二章作业
复习题
-
R5 运行在一台主机上的一个进程,使用什么信息来标识运行在另一台主机上的进程?
在两个不同端系统上的进程,通过跨域计算机网络交换报文(message)而相互通信。发送进程生成并向网络中发送报文;接收进程接收这些报文并可能通过回送报文进行响应。
修改:端口号和IP地址
-
R11 为什么HTTP、SMTP、POP3都运行在TCP上,而不是UDP上?
因为TCP比UDP在传输过程中更加安全。HTTP是Web应用层协议,SMTP是因特网电子邮件中主要的应用层协议,POP3是一个极为简单的邮件访问协议,这3个协议在传输过程中都需要保证文件数据完整准确。相比于UDP可能会丢失部分数据,不对交付提供任何保证,面向连接的TCP协议,能为两个端系统之间的数据流动提供可靠的字节流通道,所以对于HTTP、SMTP、和POP3运行在TCP上更好。 -
R12 考虑一个电子商务网站需要保留每一个客户的购买记录。描述如何使用cookie来完成该功能?
当一个客户访问该电子商务网站时,该web站点,将为这个客户产生一个唯一识别码,并将这个识别码作为索引在它后端数据库中产生一个表项。接下来电子商务网站服务器用一个包含Set-cookie:首部的HTTP报文对客户的浏览器进行响应,其中Set-cookie:首部中含有识别码。
当客户浏览器收到了该HTTP响应报文时,他会看到该Set-cookie:首部。浏览器就会在他管理的特定cookie文件中添加一行,该行就包括服务器的主机名和在set-cookie首部中的识别码。当客户继续浏览电子商务网站时,其浏览器就会查询该cookie文件并抽取浏览器对这个网站的识别码,并放到HTTP请求报文中包括识别码的cookie首部行中。 -
R13 描述web缓存器是如何减少接收被请求对象的时延的。web缓存器将减少一个用户请求的所有对象或只是其中的某些对象的时延吗?为什么?
当浏览器正在请求某个对象时,(1)浏览器创建一个到Web缓存器的TCP连接,并向Web缓存器中的对象发送一个HTTP请求。 (2)Web缓存器进行检查,看看本地是否存储了该对象副本。如果有,Web缓存器就向客户浏览器用HTTP响应报文返回该对象。 (3)如果Web缓存器中没有该对象,他就会打开一个与该对象的初始服务器的TCP连接。Web缓存器则在这个缓存器到服务器的TCP连接上发送一个对该对象的HTTP请求。在收到该请求后,初始服务器向该Web缓存器发送具有该对象的HTTP响应。 (4)当web缓存器接收到该对象时,他在本地存储空间存储一份副本,并向客户的浏览器用HTTP响应报文发送该副本。
Web缓存器将减少一个用户请求的所有对象的时延,因为一个缓存器满足的请求比率在0.2~0.7之间,假设缓存器的命中率是0.4,因为客户机和缓存器在同一个高速LAN上,这40%的请求将几乎立即得到响应,剩下的60%要通过访问初始服务器才能满足。但是只有60%的被请求对象通过介入链路传送,其流量强度从1减少到0.6。因此用户请求的所有对象的时延都能减少。 -
R16 假定Alice使用一个基于Web的电子邮件账户向Bob发送报文,而Bob使用POP3从他的邮件服务器访问自己的有键。讨论该报文是如何从Alice主机到Bob主机的。
Alice发送一封基于Web的电子邮件时,该电子邮件的报文首先要从她的浏览器发送到她的邮件服务器,使用的协议是HTTP。Alice的邮件服务器向Bob的有键服务器发送邮件报文时,使用的协议是SMTP。Bob的用户代理要从邮件服务器中取出报文时,使用的协议是POP3。
习题
-
P3 考虑一个要获取给定URL的web文档的HTTP客户。该HTTP服务器的IP地址开始时并不知道,在这种情况下,除了HTTP外,还需要什么运输层和应用层协议?
由于服务器的IP地址开始时并不知道,所以首先就要通过DNS将主机名转换为IP地址,所以应用层需要DNS和HTTP协议;DNS的运输协议为UDP,HTTP的运输层协议为TCP。 -
P9考虑图2-12,其中有一个机构的网络和因特网相连。 假定对象的平均长度为850000比特,从这个机构网的浏览器到初始服务器的平均请求率是每秒16个请求。还假定从接人链路的因特网一侧的路由器转发一个HTTP请求开始,到接收到其响应的平均时间是3秒(参见2.2.5节)。将总的平均响应时间建模为平均接入时延(即从因特网路由器到机构路由器的时延)和平均因特网时延之和。对于平均接入时延,使用△/(1-△β),式中△是跨越接人链路发送一个对象的平均时间,B是对象对该接入链路的平均到达率。
a.求出总的平均响应时间。
b.现假定在这个构 LAN 中安装了一个缓存器。假定命中率为0.4,求出总的响应时间。
a. 由题意:总平均响应时间=平均接入时延+平均因特网时延。
其中,平均因特网时延=3秒
平均接入时延=△/(1-△β)
△=850000bit/15Mbps=850000bit / 15000000bit/s=0.0567s
β=16请求/s
平均接入时延=0.0567/(1-16*0.0567)=0.611s
总平均响应时延=0.611+3=3.611s
b.命中率0.4,所以有40%可以通过缓存器立即响应,平均响应时间850000bit/100Mbps=0.0085s
有60%未命中,此时β=16 * 0.6=9.6请求/s
平均接入时延=△/(1-△β)=0.0567/(1-0.0567 * 9.6)=0.1244s
所以总响应时间=0.0085 * 0.4 +(0.1244+3) * 0.6 = 1.878s
需要注意:比特(bit)和Mbps的除法,以及字节的单位换算
- bit(比特,1比特等于1个位)是表示数字信号数据的最小单位。
- Byte代表字节,8个二进制位为一个字节,即1Byte=8bit,Byte为数据量常用单位
- “Mbps”,其全称为Million bits per second,意为每秒传输百万位(比特)数量的数据。1Mbps代表每秒传输1,000,000位(bit),Mbps=Mb/s。
字母大小写的区别,小写b代表bit,大写B代表Byte,不能混用;Mbps缩写中严格限定M为大写,b、p、s为小写。
常用单位还有Kbps、Gbps。