OSI Application Layer

OSI层次应用层

注意这里的应用层指的是 OSI 模型中的 Session Layer, Presentation Layer and Application Layer

1. 会话层

会话层 (Session Layer)是建立在传输层之上,利用传输层提供的服务,使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的文件极为重要。

1.1. 会话层功能

控制应用程序之间会话的建立,管理和终止

1.2. 检查点

会话层包含了一种称为检查点 (Checkpoint) 的机制来维持可靠会话。检查点定义了一个最接近成功通信的点,并且定义了当发生内容丢失或损坏时需要回滚以便恢复丢失或损坏数据的点,即断点下载的原理。

  • 检查点用于分离部分会话,过去被称为对话

  • 对话分离是有序地初始化、终止和通讯控制

1.3. 会话层的应用

2. 展示层

2.1. 基本功能

负责以接收设备可以理解的方式呈现数据

2.2.主要功能

①格式化数据

  • 文本文件格式化
    • 想象两个不同的系统
      • 一个用广义二进制编码的十进制交换码(EBCDIC)格式文本
      • 另一个用ASCII格式文本
    • 第六层提供不同的两种编码间的翻译
  • 图片文件格式化
    • 因特网通常使用两种二进制文件格式来展示图像
      • Graphic Interchange Format (GIF)
      • Joint Photographic Experts Group (JPEG)
    • 无论什么类型的电脑,只要有 GIF 和JPEG阅读器,都可以查看这些文件格式
  • 多媒体文件格式
    • 多媒体文件格式是另一种二进制文件类型,用于存储声音、音乐和音频
      • 先将文件全部下载,然后播放;或是边下边放
      • 后一种方式又被称为流式音频

②压缩数据

  • 展示层也负责文件压缩

③数据加密

  • 数据加密在传输过程中保护信息

3. 应用层

3.1. 概述

  • 应用层(最接近用户) 支持应用的通讯部分
  • 应用层:
    • 识别并建立有意通讯双方的可用性
    • 同步化合作应用
    • 建立错误修复流程的协议
    • 控制数据完整

3.2. 使用方式

  • 通过使用网络应用(如:www, e-mail, ftp, telnet远程登录),提供一个直接接口给 OSI 模型的剩余部分
  • §或者通过使用独立应用程序(如:word processors 文字处理软件, spreadsheets 电子表格, presentation managers 绘图, network redirector 网络转发程序),提供一个不直接的接口

3.3. HTTP

  • HTTP 是面向事务的客户服务器协议。

  • HTTP 1.0 协议是无状态的(stateless)。

  • HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务。

  • 万维网浏览器就是一个 HTTP 客户,而在万维网服务器等待 HTTP 请求的进程常称为 HTTP daemon,有的文献将它缩写为 HTTPD。

  • HTTP daemon 在收到 HTTP 客户的请求后,把所需的文件返回给 HTTP 客户。

  • HTTP的报文结构(请求报文)

    • 报文由三个部分组成,即开始行、首部行和实体主体;在请求报文中,开始行就是请求行

    • 方法(操作) 意义
      OPTION 请求一些选项的信息
      GET 请求读取由URL所标志的信息
      HEAD 请求读取由URL所标志的信息的首部
      POST 给服务器添加信息(例如,注释)
      PUT 在指明的URL下存储一个文档
      DELETE 删除指明的URL所标志的资源
      TRACE 用来进行环回测试的请求报文
      CONNECT 用于代理服务器

      上表为HTTP请求报文的一些方法

3.4. URL

统一资源定位符, Uniform Resource Locator

  • 统一资源定位符 URL 是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示

  • URL 给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。

  • 只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性。

  • URL 相当于一个文件名在网络范围的扩展。因此 URL 是与因特网相连的机器上的任何可访问对象的一个指针。

    1
    <URL的访问方式>://<主机>:<端口>/<路径>

3.5. HTML

  • 定义了许多用于排版的命令(标签)
  • HTML 文档是一种可以用任何文本编辑器创建的 ASCII 码文件。
  • 仅当 HTML 文档是以.html 或 .htm 为后缀时,浏览器才对此文档的各种标签进行解释。
  • 当浏览器从服务器读取 HTML 文档,针对HTML 文档中的各种标签,根据浏览器所使用的显示器的尺寸和分辨率大小,重新进行排版并恢复出所读取的页面。
  • HTML 用一对标签(一个开始标签和一个结束标签)或几对标签来标识一个元素。

3.6. FTP和TFTP

  • FTP 是使用TCP来传输文件的,可靠的,面向连接的服务
    • FTP 首先建立一个客户端和服务器之间的控制连接(端口 21)
    • 然后建立第二个连接,连接数据传输要经过的电脑 (端口20)
  • TFTP 是使用UDP的,不需要连接的服务
    • 小且容易实施
    • 如,TFTP用于路由器来传输配置文件和思科IOS 镜像

3.7. Telnet远程登录

  • Telnet客户端软件提供了登录正在运行Telnet服务器应用的远程网络主机的能力,然后执行命令行的命令

3.8. SMTP和POP

  • E-mail服务器通过SMTP发送邮件,POP接收邮件,来交互

    • SMTP (Simple Mail Transfer Protocol)简单邮件传输协议
    • POP3 (Post Office Protocol version 3)第三版电子邮局协议
  • SMTP只能传ASCII文件

  • MIME增加的5个新的邮件首部

    • MIME-Version: 标志 MIME 的版本。现在的版本号是 1.0。若无此行,则为英文文
    • Content-Description: 这是可读字符串,说明此邮件主体是否是图像、音频或视
    • Content-Id: 邮件的惟一标识符
    • Content-Transfer-Encoding: 在传送时邮件的主体是如何编码的
    • Content-Type:说明邮件主体的数据类型和子类型

3.9. 内容传送编码

  • 最简单的编码就是 7 位 ASCII 码,而每行不能超过 1000 个字符。MIME 对这种由 ASCII 码构成的邮件主体不进行任何转换
  • 另一种编码称为 quoted-printable,这种编码方法适用于当所传送的数据中只有少量的非 ASCII 码
  • 对于任意的二进制文件,可用 base64 编码

3.10. SNMP

  • 简单网络管理协议(SNMP)是一个用于在网络设备之间管理信息交换的应用层协议

3.11. DNS域名系统

  • 域名系统(DNS)是一个网络服务,负责管理域名,并对客户端的请求做出回应,将域名翻译成相联系的IP地址
  • 域名
    • TLD顶级域名
      • 国家 TLD(nTLD)
        • .cn(CHINA), .us (United States), .uk (United kingdom), etc.
      • 通用 TLD(gTLD),最早的域名包括:
        • .com 企业和公司
        • .net 网络服务供应商
        • .org 非营利性机构
        • .edu 教育设施
        • .gov 政府 (only for U.S.A)
        • .mil 军事设施(only for U.S.A)
        • .int 国际组织
      • 基础结构域名
        • 只有一个:arpa,用于解决域名问题
      • 最近,新的TLD域名增加:
        • .aero (航空运输企业)
        • .biz (公司和企业)
        • .cat (加泰隆人的语言和文化团体)
        • .coop (合作团体)
        • .info (各种资讯)
        • .jobs (人力资源管理者)
        • .mobi (移动产品与服务的用户和提供者)
        • .museum (博物馆)
        • .name (个人)
        • .pro (经过认证的专业人员)
        • .travel (旅游业)
  • 域名服务器
    • 域名服务器系统建立于一个分层结构,创建了不同等级的DNS服务器
    • 每一层的DNS服务器判断它本身能否把域名翻译成相对应的IP地址:
      • 如果它可以这么做,它就翻译,并把结果返回给客户端
      • 如果不可以,它就向更高层发送请求

3.12. 应用层:通讯方式

  • 通讯处理发生的一种途径:
    • 当打开一个浏览器,它连接到了默认页面,这一页的文件被传送到了客户机
    • 当该流程结束后,连接断开
  • 第二种途径:
    • 像Telnet和FTP, 建立连接到服务器,并保持连接直到所有流程被执行
    • 当用户觉得他已经结束了,客户端断开连接
  • 所有通讯活动都可以归纳到这两种分类之一

现在的Web应用一般采用如下的工作方式