应用层

概述

  • 应用层协议:每个应用层协议都是为了解决一类应用问题,而解决问题需要通过位于不同主机的多个应用进程之间的通信和协同来完成,应用层的具体内容就是定义这些通信规则

  • **应用层的具体内容就是规定应用进程在通讯时候所遵循的协议

    • 客户/服务器(C/S,Client/Server)方式
    • **对等(P2P,Peer to Peer)方式

应用进程

为解决具体应用问题而彼此通信的进程


应用进程的通讯方式

①客户/服务器(C/S, Client/Server)方式

  • 应用层的许多协议是基于C/S方式,例如,在移动互联网环境下,每个应用APP都是一个客户端
    • 客户(client)和服务器(server)是指通信中所涉及的2个应用进程
    • 客户/服务器方式描述的是应用进程之间服务和被服务的关系
    • 客户是服务请求方(主动请求服务,被服务
    • 服务器是服务提供方(被动接受服务请求,提供服务)
  • C/S方式可以是面向连接的,也可以是无连接的
  • 面向连接时,C/S通信关系一旦建立,通信就是双向的,双方地位平等,都可发送和接收数据

客户进程的特点

  • 在进行通信时临时成为客户,它也可以在本地进行其他的计算
  • 用户计算机上运行,在打算通信时主动向远地服务器发起通信
  • 客户方必须知道服务器所在的主机的IP地址才能发出服务请求
  • 需要时可以与多个服务器进行通信

服务器进程的特点

  • 专门用来提供某种服务的程序,可同时处理多个远地和本地客户的请求
  • 必须始终处于运行状态才有可能提供服务
  • 通信开始之前服务器进程不需要知道客户进程所在的IP地址,无论客户请求来自哪里,服务器进程被动等待服务请求的到来即可
  • 通常是当系统启动时即自动调用并一直运行着。某些服务器程序也可以由用户或其他的进程在通信前启动
  • 被动等待并接受来自多个客户的通信请求

②对等(P2P,Peer to Peer)方式

  • 对等方式是指两个进程在通讯时并不区分服务的请求方和服务的提供方。
    • 只要两个主机都运行P2P软件,那么就可以进行平等,对等的通信。
    • 如果权限允许的话,双方都可以下载彼此存储在硬盘中的共享文件。
  • 音频以及视频应用推动了P2P的对等通信方式的发展(BitTorrent)。
  • 音频以及视频流量已经是占主要比。
  • P2P方式从本质上看仍然是使用了C/S方式,但强调的是通信过程中的对等,这时每一个P2P进程是客户的同时也是服务器

服务器进程 工作方式

  • 循环方式(iterative mode)
    • 一次只运行一个服务器
    • 当有多个客户进程请求服务时,服务进程就会按照请求的先后顺序来依次做出响应**(阻塞方式)**
    • 并发方式(concurrent mode)
    • 可以同时运行多个服务器进程,
    • 每个服务器进程都对某个特定的客户进程进行响应(非阻塞方式)
  • 无连接循环方式服务
    • 使用无连接的UDP服务进程通常都工作在循环方式,即一个服务器进程在同一时间只能向一个客户进程提供服务.(顺序服务)
    • 服务器进程收到客户进程的请求后,会发送UDP用户数据报响应该客户
    • 对其他客户进程发送的请求则暂时不予理睬,这些请求都在服务端的队列中排队等候服务进程的处理
    • 当服务进程处理完一个请求时,会从队列中读取来自下一个客户进程的请求,然后继续处理

图1.1

  • 面向链接的并发方式服务
    • 面向连接的TCP服务进程通常都在工作在并发服务方式,服务进程可在同一时间同时向多个客户进程提供服务(并发服务)
    • 在TCP服务进程与多个客户进程之间必须建立多条TCP连接,每条TCP连接在其数据传送完毕后释放
    • 一个TCP连接对应一个(熟知)服务端口
    • 主服务进程在熟知端口等待客户进程发送请求,一旦接受到客户进程的请求,就会创建一个从属服务进程,并指明从属服务进程使用临时的套接字与该客户建立TCP连接,然后主服务进程会继续在熟知端口等待其他客户进程的请求.

在这里插入图片描述

域名系统

概述

域名系统:是互联网使用的命名系统,用来便于人们使用的机器名字转换为IP地址
许多应用层软件进程使用域名系统DNS,但是计算机的用户只是间接而不是直接使用DNS。
互联网采取层次结构的命名树作为主机的名字,并使用分布式的域名系统DNS。DNS使大多数的名字放在本地分析,仅留下少量的解析需要互联网上通信。

域名的解析过程

首先是把主机名字解析成为IP地址,然后应用进程会调用解析程序,并且成为DNS的一名客户,把待解析的域名放在DNS的请求报告中,以UDP用户数据报方式发给本地域名服务器,本地域名服务器在查找域名后,会把IP地址放在回答报文中返回,应用进程获得目的主机的IP地址后即可通信

在这里插入图片描述


域名的递归查询

在这里插入图片描述


域名的迭代查询

在这里插入图片描述

域名结构

  • 互联网是采取层次结构的命名方法
  • 任何一个连接在互联网的主机或路由器都有一个唯一的层次结构名字,即域名。
  • 域时名字空间中可以被管理的划分,域还可以被划分成子域,而子域还能继续划分

在这里插入图片描述


电子邮件

简单邮件传输协议SMTP—-邮件服务器之间传递邮件使用的协议

  • 最终交付(邮件访问)
    +第三版邮局协议 POP3
    • Internet邮件访问协议 IMAP
    • 基于Web的电子邮件 Webmail(HTTP)
    • 在这里插入图片描述

Webmail

  • 提供电子邮件服务的IMAP和SMTP替代方案
  • 使用Web作为界面,用户代理就是普通的浏览器
  • 用户以及其远程邮件之间的通信通过HTTP进行

WWW

HTTP服务器与客户端

  • 服务器

    • Web页面(HTML文档):包含多种对象或者连接
    • Web对象(包含:静态对象以及动态对象):可以是HTML文档,视频文件,音频文件,图像文件以及脚本文件等
    • 对象用URL(统一资源定位符)编址:协议类型://主机名:端口//路径和文件名
  • 客户端

    • 发出请求,接收响应,解析HTML文档并显示
    • 有些对象需要浏览器安装插件
    • 在这里插入图片描述

www协议

  • 在这里插入图片描述

HTTP

概述

  • 超文本传输协议HTTP在传输层通常使用TCP协议,缺省使用TCP的80端口
  • HTTP为无状态协议:服务器端不保留之前请求的状态信息
    • 无状态协议:效率低,但简单
    • 有状态协议:维护状态相对复杂,需要维护历史信息,在客户端或服务器出翔故障时,需要保持状态的一致性等。

Web安全隐私:Cookie

HTTP无状态协议,服务器用cookies保持用户状态

  • HTTP在响应的首部行里面使用一个关键字Set-cookie:选择的cookie号具有唯一性
  • 后继的HTTP请求中使用服务器响应分配的cookie
  • Cookie文件保存在用户的主机之中,内容是服务器返回的附加消息,由用户的主机的浏览器管理
  • 在这里插入图片描述

流媒体

概述

  • 流媒体概念
    • 连续媒体(音视频)经压缩编码,数据打包后,经过网络发送给接收方
    • 接受方对数据进行重组,解码和播放
  • 流媒体的特性
    • 端到端时延约束
    • 时序性约束:流媒体数据必须按照一定的顺序连续播放
    • 具有一定程度的容错性:丢失部分数据包也可以完成基本功能
  • 流媒体面临的挑战
    • 网络特性(宽带有限,动态变化,延迟与抖动,丢失,异构性)
    • 目标:流媒体服务质量要素(画质,启动延迟,平滑,交互性)

流媒体动态自适应传输

  • DASH
    • 动态自适应流媒体协议DASH,由MPEG组织制定的标准
    • 类似协议:苹果HTTP Live Streaming;Adobe的HTTP Dynamic Streaming,微软的Microsoft Smooth Streaming
  • 基本思想
    • 完整视频被拆分为固定时长的视频片段,每段提供不同码率
    • 视频片段与其对应的元文件(URL)一同存放于DASH服务器
    • 客户端基于网络条件,缓冲大小等,对每个视频片段,自适应选择合适的视频码率来下载