Note2- 应用层

知识点

网络应用程序体系结构

TCP 服务与 UDP 服务

Web 应用遵循什么协议?

HTTP(超文本传输协议)

非持续连接和持续连接

HTTP 请求消息格式?

格式:

某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据

组件:

Web 缓存技术

条件性 GET 方法:

在 HTTP 请求消息中声明所持有版本的日期:if-modified-since:<date>,服务器接收到后,如果确认缓存版本是最新的,则响应消息中不包含对象且返回 304 状态码。

SMTP 协议

与 HTTP 对比:

POP3 协议

认证过程:

IMAP 协议

为什么不使用集中式的 DNS?

域名服务器有哪几种?

DNS 域名解析过程?

DNS 记录格式是什么样的?

RR format: (name, value, type, ttl)

Type 记录形式
A (主机域名,IP 地址,type,ttl)
NS (域,主机域名,type,ttl)
CNAME (域名的别名,真实域名,type,ttl)
MX (name,邮件服务器,type,ttl)

假如你创建了一个公司“Network Utopia”,你如何注册域名?

文件最小分发时间怎么计算?

us 为服务器上传带宽,ui 为节点 i 的上传带宽,di 为节点 i 的下载带宽,有 N 个节点

C/S 结构:Dcs=max{NFus,Fdmin}

P2P 结构:DP2P=max{Fus,Fdmin,NFus+i=1Nui}

BitTorrent 协议的基本流程?

文件被划分为不同的 chunk,节点向 tracker 注册以获得节点清单,与邻居建立连接。节点下载的同时,也需要向其它节点上传 chunk。

课后习题

P9. (缓存的作用)考虑下图,其中有一个机构的网络和因特网相连。假定对象的平均长度为 850 000 比特,从这个机构网的浏览器到初始服务器的平均请求率是每秒 16 个请求。还假定从接入链路的因特网一侧的路由器转发一个 HTTP 请求开始,到接收到其响应的平均时间是 3 秒。将总的平均响应时间建模为平均接入时延(即从因特网路由器到机构路由器的时延)和平均因特网时延之和。对于平均接人时延,使用 Δ/(1Δβ),式中 Δ 是跨越接入链路发送一个对象的平均时间,β 是对象对该接入链路的平均到达率。

  1. 求出总的平均响应时间。
  2. 现在假定在这个机构 LAN 中安装了一个缓存器。假定命中率为 0.4,求出总的响应时间。

L=850kbit,Ra=15Mbps,Rl=100Mbpsα=16/s

  1. 传输时延 dtrans=L/Ra,流量强度 I=αL/Ra=0.907,由前一章的 P14 题,排队时延为 dqueue=IL/Ra(1I)。则总时间 d=L/Ra+L/Rl+IL/Ra(1I)+3s=3.57s
  2. h=0.4,则流量强度为 I=α(1h)L/Ra=0.544,后面同理,得 d1=3.124s,故总的平均相应时间为 d=(1h)d1+hL/Rl=1.8s

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

非持久并行:

如图,设 Tp 表示客户端和服务器之间的单向传播延迟,控制分组单向传输时间设为 t1=200/150,获取初始对象的时间为 t2=3(t1+Tp)+100k/150+Tp

当传输引用对象时,由于是 10 个并行传输,速率为 150/10=15bps,故 t3=3×(200/15+Tp)+100k/15+Tp

总时间 t=t2+t3=7377s+8Tp

持续连接:

t=3(t1+Tp)+100k/150+Tp+10(t1+100k/150+2Tp)=7351s+24Tp,因为对象太少,并行完全可以处理,而持久连接只不过省了一次建立连接的时间,差别不大。

P23. (C/S 模式文件分发时间的理解)考虑使用一种客户 - 服务器体系结构向 N 个对等方分发一个 F 比特的文件。假定一种某服务器能够同时向多个对等方传输的流体模型,只要组合速率不超过 us,,则以不同的速率向每个对等方传输。

  1. 假定 us/Ndmin。定义一个具有 NF/us 分发时间的分发方案。
  2. 假定 us/Ndmin。定义一个具有 F/dmin 分发时间的分发方案。
  3. 得出最小分发时间通常是由 max{NF/us,F/dmin} 所决定的结论。
  1. 这是说当前的瓶颈是服务器的上载能力。所以最小分发时间为 NF/us,令服务器向每个客户端分发的带宽均为 us/N 即可达到这个最小值。
  2. 这种情况下,只需要令服务器向每个客户端分发的带宽均为 dmin 即可。

P24. (P2P 模式文件分发时间的理解)考虑使用 P2P 体系结构向 N 个对等方分发一个 F 比特的文件。假定一种流体模型。为了简化起见,假定 dmin 很大,因此对等下载带宽不会成为瓶颈。

  1. 假定 us(us+u1++uN)/N。定义一个具有 F/us 分发时间的分发方案。
  2. 假定 us(us+u1++uN)/N。定义一个具有 NF/(us+u1++uN) 分发时间的分发方案。

u=u1++uN

  1. 说明服务器的上载能力稍弱。分发方案为:将文件按 N 个对等方上载带宽的比值划分成 N 份。同时,服务器也按对等方上载带宽的比值划分服务器的上载带宽。而每个对等方均向其它对等方划分与从服务器下载带宽相同的带宽。如下图所示:P1 为例,从节点上载角度来看,由 us(us+u)/N,得 (N1)u1uusu1,所以,每个节点可以这样分配带宽。从节点下载角度来看,每个节点下载带宽为 u1+u2++uNuus=us,即时间为 F/us
  2. 将文件分为 N+1 份,方案如图:证明略

MOOC 习题

假设你在浏览某网页时点击了一个超链接,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 页完整内容需要多长时间?
  1. 本地域名解析服务器中包含要访问的 URL 对应的 IP 地址时,所需时间最短,为 RTTh。若不包含,且需要请求到根域名服务器,则顺序为:客户端 -> 本地域名服务器 -> 根域名服务器 -> cn -> com.cn -> kicker.com.cn。共 5 RTTd
  2. 需要 18RTTh。因为 HTTP1.0 是非持久性链接的,每个 TCP 连接最多允许 1 个对象传输,所以一共建立 9 次 TCP 连接,耗时 2 × 9=18RTTh。
  3. 需要 6RTTh。浏览器配置 5 个并行 TCP 连接,一开始建立 TCP 连接,获得 index.html 文件耗时 2 个 RTTh。然后由图像地址信息,在 2 轮并行处理下完成 8 个图像的加载工作。2 × 2 个 RTTh。所以耗时 2+4=6RTTh。
  4. 非流水:2 + 8 = 10 RTTh,流水:2 + 1 = 3 RTTh