计算机网络-06 网络应用

第六讲:网络应用

DNS

方案1:本地文件存储DNS映射,扁平化命名空间,其他主机定期从该主机更新副本,缺点是主机数目增加时需要频繁更新副本,越来越多更新副本要下载

方案2:集中服务器存储,所有映射保存在同一个地方,所有查询请求都转发到该服务器,缺点是单点失效,可扩展性,节点到服务器的距离

所以需要分布式、层次化的系统

DNS设计

域名到地址的映射查询,层次化、分布式的域名空间存储和管理(根服务器、顶级域名服务器、权威服务器依次降低)

根服务器一共就13个,顶级域名服务器包括一般域名(.com, .cn啥的)、国家域名(.cn,.uk啥的),由专业机构维护,权威服务器是一个组织内的映射关系,通常是该组织提供的服务,自己维护管理

DNS查询

递归+迭代查询,可以通过DNS缓存降低查询延迟,缓存在本地DNS服务器或者浏览器

DNS服务可靠性

可以由多个DNS提供服务,非单点失效,可以在多个服务器之间做负载均衡(

使用UDP查询,非可靠传输

超时之后可以选其他的DNS服务器,同一服务器超时后进行指数退避

对所有查询都使用同一个ID,不关心是哪个服务器返回的结果

使用DNS做负载均衡(区分于DNS服务器的负载均衡)

DNS对同一域名解析请求返回多个IP地址,但是每次返回的顺序不同,客户端会选择第一个IP访问

WEB

每个资源由URL唯一标识,使用HTTP传输

URL

对资源位置和访问方法的描述

HTTP请求行

GET POST DELETE等等

怎样标识消息结束

显式关闭、CONTENT-LENGTH(传输前确认长度)、没有消息内容的用CRLF结尾、分块传输(每传一个chunk前写明它的长度,最后一个chunk写0)

分块传输

对于动态生成内容非常有效

如何追踪一个web用户
cookie

web站点使用,由服务器发送给客户端,由客户端保存一定时间,之后的每次请求都把cookie发送给服务器,在HTTP中传输,其他使用该浏览器的用户也会使用该cookie,可以从其他机器拷贝cookie来继续访问服务器

session

标识浏览器到站点的一系列请求/应答,可以持续很长时间,第一次请求时对用户进行认证,之后的每次请求都和该用户绑定

HTTP持久连接

可使用多个请求复用已有的TCP连接,节约额外建立TCP连接的时间,类似亭等机制,每单位时间只能处理一个请求

HTTP管道

提升并行性,尽早发送,不用每次被应答阻塞

HTTP多连接

允许并行打开多个TCP连接,相应报文可以交错到达,相比于单连接cwnd扩大好几倍,绕过了TCP初始窗口小的问题,但多连接的维护需要消耗两端更多资源,复杂性高,多个TCP流之间也存在竞争,可能造成网络拥塞

域名分区

web服务商把页面资源分散到多个域名,域名分区越多并发性越强,缺点是每个新的主机名都需要一次DNS查询,且web服务提供商需要做手动剥离并部署到不同的服务器

可以通过DNS选择就近服务器

web缓存可以减少网络流量,同时提升传输性能

内容分发(cdn)

优点

从用户角度:改进用户体验,减少延迟和丢包

从链路角度:减轻网络拥塞

从内容提供商角度:减轻服务器负载,增加服务可扩展和稳定性,降低运营成本

页面加载时间

典型web应用的性能目标

解决:构建资源关系有向无环图,根据依赖关系调度传输

HTTP安全(HTTPS)

优点是很大程度上解决了互联网安全和隐私问题

缺点是加重了web服务器的性能负担,破坏了缓存机制

互联网视频

方案1:基于TCP的视频传输

浏览器向服务器请求视频元数据,请求播放器,播放器与服务器建立TCP连接,请求视频文件并播放

优点是实现简单,元数据与视频文件分离,支持CDN,支持不同码率

缺点是TCP的尽力而为会浪费网络带宽;数据传输和视频播放的播放/跳过/停止机制不匹配;不能自适应网络带宽调整码率

方案2:带状态的视频流传输

把数据传输和播放控制分离,视频服务器维护每个视频播放的状态,播放控制包括播放停止啥的,数据传输基于TCP或UDP

优点是可以精确控制,可以自适应码率

缺点是维护状态需要额外开销;middlebox可能阻断视频流传输

方案3:HTTP流传输

视频文件分割成多个块,每个块由独立帧开头,每个块都有不同码率的版本,以适应不同的网络带宽,用户可以在同一个会话中请求不同码率的块

优点是完全基于HTTP协议,实现简单;会话和控制逻辑由客户端维护,减轻服务器负担

自适应码率问题

本质是吞吐率预测问题

难点在于可用带宽变化非常快,QoE指标之间相互冲突,基于吞吐率预测的码率选择对后续有影响

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值