应用层

应用层

应用层协议原理

应用层_第1张图片

网络应用程序体系结构

应用程序体系结构,由应用程序研发者设计,规定了如何在各种端系统上组织该应用程序。
常用的两种主流体系结构:客户-服务器体系结构,对等体系结构

客户-服务器体系结构:
- 客户相互之间不直接通信
- 该服务器具有固定的,周知的地址,且服务器总是打开的。

P2P体系结构:
- 应用程序在间断连接的主机对之间直接通信,这些主机对称为对等方。

进程通信

在两个不同端系统上的进程,通过跨越计算机网络交换报文而相互通信。

客户和服务器进程

在一对进程之间的通信会话场景中,
发起通信【即在该会话开始时发起与其他进程的联系】的进程被标识为客户,
在会话开始时等待联系的进程是服务器。

进程与计算机网络之间的接口

进程通过一个称为套接字的软件接口向网络发送报文和从网络接受不报文。
套接字是同一台主机内应用层和运输层之间的接口。
套接字也成为应用和网络间的应用程序编程接口。

进程寻址

- 主机的地址【IP地址,一个32比特的量,能够唯一标识该主机】
- 在目的主机中指定接收进程的标识符【端口号】
所有因特网标准协议的周知端口号的列表在http://www.iana.org找到。

可供应用程序使用的运输服务

在发送端,应用程序将报文推进该套接字。
另一侧,运输层协议负责从接收进程的套接字得到报文。
一个运输层协议能为调用它的应用程序提供的服务:
- 可靠数据传输
传输层支持可靠与不可靠传输
- 吞吐量
发送进程能向接收进程交付比特的速率。
传输层支持吞吐量保证,无保证
- 定时
比特传输时间保证
- 安全性

因特网提供的运输服务

TCP服务

应用层_第2张图片

- 面向连接服务
应用层数据报文开始流动前,
TCP让客户和服务器互相交换运输层控制信息。
之后,一个TCP连接就在两个进程的套接字间建立了。

- 可靠数据传输服务
无差错,顺序交付,无冗余

TCP加强版本,安全套接字层SSL。

UDP服务

无连接
不可靠【丢失,乱序,无拥塞控制】

因特网运输协议所不提供的服务

应用层_第3张图片

应用层协议

应用层协议定义了运行在不同端系统上的应用程序如何相互传递报文。
- 交换的报文类型,
- 各种报文类型的语法,
- 字段的语义
- 何时,如何发送报文,响应规则

本书涉及的网络应用

Web
文件传输
电子邮件
目录服务
流式视频
P2P

Web和Http

HTTP概况

Web的应用层协议是超文本传输协议,它是Web的核心。
Http由客户程序和服务器程序实现。

Web页面由对象组成,一个对象是一个文件。且它们可通过一个URL地址寻址。
多数Web页面含一个HTML基本文件及几个引用对象。
HTML基本文件通过对象的URL地址引用页面的其他对象。
每个URL地址由两部分组成:
存放对象的服务器主机名,对象的路径名。
Web浏览器实现了HTTP的客户端。
Web服务器实现了HTTP的服务器端,用于存储Web对象,每个对象由URL寻址。

HTTP定义了Web客户向Web服务器请求Web页面的方式,及服务器向客户传送Web页面的方式。

客户端套接字接口是客户进程与TCP连接的门。
服务端套接字接口是服务器进程与TCP连接的门。
HTTP服务器不保存客户的信息,所以称为无状态协议。

非持续连接和持续连接

每个请求/响应对是经一个单独TCP连接发送,还是所有请求及其响应经相同TCP连接发送?
前一种,称为非持续连接
后一种,称为持续连接

采用非持续连接的HTTP

非持续连接下,从服务器向客户传一个Web页面。
设页面含一个HTML基本文件,10个JPEG图形。
11个对象位于同一台服务器上。
进一步假设该HTML文件的URL为:http://www.someSchool.edu/someDepartment/home.index

你可能感兴趣的:(Network--Theory,应用层)