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 是与因特网相连的机器上的任何可访问对象的一个指针

    <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应用一般采用如下的工作方式