第二章应用层

网络应用体系结构 

客户机/服务器结构

服务器:

  • 7*24小时提供服务
  • 永久性访问地址/域名
  • 利用大量服务器实现可扩展性

客户机:

  • 与服务器通信,使用服务器提供的服务;
  • 间歇性接入网络;
  • 可能使用动态IP地址;
  • 不会与其他客户机直接通信;

点对点结构

  • 妹有永远在线等待服务器
  • 任意端系统/节点之间可以直接通讯
  • 节点间歇性接入网络
  • 节点可能改变IP地址

优点:高度可伸缩

缺点:难于管理

混合结构

文件传输使用P2P结构;

文件搜索采用C/S结构-集中式:

  • 每个节点向中央服务器等级自己的内容;
  • 每个节点向中央服务器提交查询请求,查找感兴趣的内容;

网络应用进程通信

套接字(SOCKET)

进程间通信利用socket发送/接受消息实现

进程标识符:IP地址 + 端口号

应用层协议内容:

①消息类型:

  • 请求消息
  • 响应消息

②消息语法:

  • 消息中有哪些字段
  • 每个字段如何描述

③字段的语义

④规则:进程何时发送/响应消息

网络应用的需求与传输层服务

数据丢失/可靠性:容忍一定数据丢失,百分百可靠传输。

时间延迟:对于延迟的要求不同。

带宽:有些应用需要带宽达到最低要求,有些应用可以适应任何带宽。

Internet提供的传输服务

 

Web应用

寻址:

  • URL:统一资源定位器
  • hostname + pathname

HTTP协议

超文本传输协议:C/S协议

客户:请求、接受、展示Web对象

服务器:响应客户的请求,发送对象

使用TCP传输服务

无状态协议:服务器不维护任何有关客户端过去所发请求的信息。

TIPS:有状态的协议面临的问题:①需要维护状态;②如果客户或服务器失效,会产生生状态的不一致,解决这种不一致的代价高。

HTTP连接

非持久性连接HTTP

响应时间:

  • 发起、建立TCP连接:1个RTT;
  • 发送HTTP请求消息到HTTP响应消息的前几个字节到达:1个RTT;
  • 响应消息中所含文件/对象传输时间;

total = 2 * RTT + 文件发送

 非持久性连接的问题:

  • 每个对象需要两个RTT;
  • 操作系统需要为每个TCP连接开销资源;
  • 打开多个并行的TCP连接会给服务器带来很大压力;

持久性HTTP

特点:

  • 发送响应后,服务器保持TCP连接的打开;
  • 后续的HTTP消息可以通过这个连接发送;

无流水的持久性连接:客户端只有收到前一个响应后才发送新的请求,每个被引用的的对象耗时一个RTT.

带有流水机制的持久性连接:客户端只要遇到一个引用对象就尽快发出请求,理想情况下,收到所有的引用对象只需耗时约一个RTT

HTTP消息格式

消息:

  • 请求消息
  • 响应消息

 上传输入方法:

  • POST方法
  • URL方法

方法类型:

  • GET,POST,HEAD(请Server不要将所请求的对象放入响应信息中)
  • PUT 
  • DELETE

Cookie技术

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

Web缓存技术

在不访问服务器的前提下满足客户端的HTTP请求。

Email应用

构成:

  • 邮件客户端
  • 邮件服务器
  • SMTP协议

基于TCP连接进行email消息的可靠传输,传输过程三个阶段:

  1. 握手
  2. 消息的传输
  3. 关闭

命令/响应交互模式:

  • 命令:ASCⅡ文本
  • 响应:状态代码和语句

SMTP协议:

  • 使用持久性连接
  • 要求消息必须由七位ASCⅡ码构成
  • SMTP服务器利用CRLF.确定消息的结束

Email消息格式与POP协议

SMTP协议

POP协议

邮件访问协议:从服务器获取邮件

下载并删除如果换了客户端软件,则无法重读该邮件;下载并保持,不同客户端都可以保留消息的拷贝。

 POP3是无状态的

IMAP协议

所有消息保存在一个地方:服务器(有状态)

允许用户利用文件夹组织消息

IMAP支持跨会话的用户状态:

  • 文件夹的名字
  • 文件夹与消息ID之间的映射

DNS应用

DNS:域名解析系统(互联网核心功能,但在应用层上实现)

DNS服务:

  • 域名向IP地址的翻译
  • 主机别名
  • 邮件服务器别名
  • 负载均衡

分布式层次数据库

域是名字空间中一个可被管理的划分。域还可以划分为子域,从而形成了顶级域、二级域、三级域等等。每个域名都由标号序列组成,各个标号之间用.隔开。

本地域名服务器解析服务器无法解析域名时,访问根域名服务器;

根域名服务器:

  • 如果不知道映射,访问权威域名服务器
  • 获得映射
  • 向本地域名返回映射

顶级域名服务器:负责com,org,net,edu等顶级域名和国家顶级域名,例如cn,uk等。

权威域名服务器:组织域名解析服务器,提供组织内部服务器的解析服务。

本地域名解析服务器

不严格属于层级体系

每个ISP有一个本地域名服务器(默认域名解析服务器)

当主机进行DNS查询时,查询被发送到本地域名服务器。

DNS查询

迭代查询:被查询服务器返回域名解析服务器的名字。

递归查询:将域名解析的任务交给所联系的服务器。

DNS记录缓存和更新

只要域名解析服务器获得域名-IP映射,即缓存这一映射

DNS记录

资源记录

DNS协议与消息

DNS协议:查询和回复

消息头部

 

P2P应用

P2P:

  • 妹有服务器
  • 任意端系统之间直接通信
  • 节点阶段性接入Internet
  • 节点可能更换IP地址

文件分发

瞄一眼bittorrent

索引

P2P索引:信息到节点位置(IP地址 + 端口号)的映射

文件共享

即时消息

集中式索引:

  • 单点失效问题
  • 性能瓶颈
  • 版权问题

泛洪式查询:每个节点都参与

层次式覆盖网络:超级节点与普通结点使用TCP连接

文件传输协议

FTP的工作原理

FTP功能:

  • 提供不同种类主机系统之间的文件传输能力;
  • 以用户权限管理的方式提供用户对远程FTP服务器上的文件传输能力;
  • 以匿名FTP的方式提供公用文件分享的能力;

使用C/S架构,使用TCP可靠的传输服务。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值