【计网学习-应用层】


1.应用层协议原理

网络应用程序体系结构:

  • 客户-服务器体系结构:有一个总是打开的主机作为服务器,C-S和B-S都是这种体系结构。由于单服务器主机经常不能满足客户端要求,所以经常使用数十万台服务器组成的数据中心向外提供服务。
  • P2P体系结构:不依赖于某个服务端(或具有极小依赖)。应用程序在主机之间直接通信,不经过服务器。P2P最重要的特性是自扩展性,比如:在P2P文件共享应用中,每一个对等方在下载文件时会产生负载,同时每个对等方会向其他对等方分发文件,这样增加了系统的服务能力。
  • 混合体系结构:某些应用结合了以上两种体系结构,例如,对于许多即时通信应用,服务器用于跟踪用户的IP地址,但用户到用户之间的报文通过用户主机直接发送。

进程通信:

应用程序之间的通信实际上是进程之间的通信,在两个不同端系统上的进程通过报文进行通信。

  • 客户和服务器进程:在一对进程之间的通信中,发起通信的进程被称为客户,等待联系的进程被称为服务器
  • 进程与计算机网络之间的接口:进程通过socket软件接口向网络发送报文和接收报文。socket是同一台主机中应用层和传输层之间的接口。开发者可以控制socket在应用层端的一切,但对于传输层的控制很有限,仅限于选择传输层协议和设置部分传输层参数。
  • 进程寻址:一台主机上的进程需要向另一台主机中的进程发送报文时,需要识别到接收进程的地址,需要定义两个信息,主机的地址(IP地址)指定接收进程的标识符(端口号)

供应用程序使用的传输层服务:

  • 可靠数据传输:保证不丢包、不乱序。
  • 吞吐量:对于某些带宽敏感的应用,吞吐量能够保证应用正常运行。
  • 定时:无论网络状况如何,保证报文能够按时送达
  • 安全性:对发送内容加密、保证数据完整性和断点鉴别等。

因特网提供的运输协议:

  • TCP:保证可靠数据传输,TCP的SSL拓展保证安全性。对于吞吐量和安全性,不能严格保证,但是尽量满足。
  • UDP:仅提供最小服务。

2.Web和HTTP:

HTTP:

  • 无状态协议
  • 长连接:默认情况下,每次HTTP请求都会建立一次TCP连接,这样会对Web服务器加重负担而且会增加每次请求中新建连接的时间。在TCP的支持下,可以实现长连接,即发起HTTP连接之后,保留之前的TCP连接。

cookie:

因为HTTP服务器是无状态的,但有时需要识别用户或者将用户和内容联系起来,这时就用到了cookie。cookie技术有4个组件:

  • HTTP响应报文中的一个cookie首部行:Set-cookie:识别码,例如,Set-cookie:1678,由于浏览器中可能保存了多个cookie,用识别码来唯一标识站点。
  • HTTP请求报文中的一个cookie首部行:之后每个HTTP请求都将带上首部Set-cookie:识别码
  • 在用户端系统中保留有一个cookie文件,并由用户的浏览器进行管理。
  • 位于Web站点的后端数据库:当HTTP请求到达Web服务器时,该Web站点产生一个唯一识别码,并以此为索引在后端数据库中产生一个表项。

Web缓存:

Web缓存器,也叫代理服务器。

  • 减少网络延迟/提高用户体验:直接从缓存器中获取,避免了从远程服务器下载的时间延迟,大大减少客户请求的响应时间
  • 减少带宽消耗/降低服务器负载:缓存器能够在用户请求中拦截和提供已缓存的网页内容,而不是每次都从源服务器下载。

3.DNS

提供的服务:

  • 主机名->IP地址
  • 主机别名->规范主机名(主机名)
  • 邮件服务器别名->规范主机名/IP地址
  • 负载均衡:主机名->IP集合(服务器集合),将请求分配到多个IP地址中

DNS工作原理:

  • DNS层次:
    • 根DNS服务器
    • 顶级域(DNS)服务器(TLD):如.com/.cn/.org
    • 权威(DNS)服务器:实际上从主机查询到IP地址的服务器,对DNS的查询最终都会路由到这里。
    • 本地(DNS)服务器:每个ISP都有一个本地DNS服务器,当主机与某个ISP连接时,该ISP提供一个主机的IP地址,该主机具有一台或多台其本地DNS服务器的IP地址。
  • DNS工作过程:首先去根服务器查询,如www.google.com,根服务器发现.com,向本地 DNS 服务器发送.com的TLD服务器的IP地址列表。该本地DNS服务器再次向TLD服务器列表之一发送查询报文,该TLD服务器发现google.com,向本地DNS服务器发送google.com的权威服务器的IP地址。该本地服务器最后向返回的权威DNS服务器发送查询请求,得到www.google.com的IP地址。(这是不考虑DNS缓存的情况)
  • DNS缓存:当某个DNS服务器接收到一个DNS回答时,会把这个主机名->IP地址映射保存在服务器的本地存储中,当本地存储满了之后,会将不常用的映射删除。这也导致了,几乎所有的顶级DNS服务器都会被缓存,只有极少数的情况下会访问到根DNS服务器。
  • DNS记录:4元组(Name,Value,Type,TTL),Name和Value由Type决定
    • Type=A时,Name=主机名,Value=IP地址
    • Type=NS时,Name=域名,Value=查询该域名下主机名的权威DNS服务器IP地址
    • Type=CNAME时,Name=别名,Value=该别名对应的规范主机名
    • Type=MX时,Name=别名,Value=该别名对应的邮件服务器的规范主机名

4.P2P文件分发:

参与一个特定文件分发的所有对等方的集合被称为一个洪流

  • 请求文件块:依据最稀缺优先的技术。对于每个对等方而言,针对他的邻居,请求他所没有的而且整个洪流中数量最少的块。这样,最稀缺的块能够更为迅速地重新分发,其目的是均衡每个块在洪流中的数量。
  • 响应/分发文件块:实时统计以最高速率流入的4个对等方,每隔10s,更新这四个。只有这4个能够接收该对等方的文件。这样就防止了一些节点搭便车

5.视频流和CDN:

  • HTTP流和DASH:客户端发送HTTP GET请求,获取视频文件,在客户一侧,字节被收集在客户应用缓存中,一旦该缓存中的字节数量超过预先设定的门限,客户应用程序就开始播放。DASH被称为 经 HTTP 的动态适应性流。在 DASH 中,视频编码为几个不同的版本,其中每个版本具有不同的比特率,对应于不同的质量水平。
  • CDN用途:针对用户的请求,选择最优的服务器,为用户的当前请求响应。
  • CDN作用步骤:
    • 连接到CDN:本地DNS服务器将DNS请求中继到权威DNS服务器,为了将该请求移交给CDN,权威DNS服务器向本地DNS服务器发送CDN域的主机名。之后,本地DNS服务器通过CDN域的主机名查询其对应的IP地址,CDN服务器会将IP发送给本地DNS服务器。
    • CDN选择集群:为了基于当前流量条件为客户选择最好的集群,CDN对集群和客户之间的时延和丢包性能进行周期性的实时测量。例如,CDN能够让它的每个集群周期性地向位于全世界的所有LDNS发送探测分组。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倚风听雨.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值