Skip to main content

应用层

网络应用模型

客户/服务器 (C/S) 模型

总是打开的主机被称为 服务器

  1. 处于接受请求的状态;
  2. 受到请求后分析,进行必要处理,将结果返回给客户

常见的应用如 Web、文件传输协议(FTP),远程登陆和电子邮件等。

该模型的主要特点还有:

  1. 网络中各个计算机地位不平等,服务器可以通过对用户权限的限制来管理客户机,使其不能随意存储/删除数据,或进行其他受限的网络活动;整个网络的管理工作由少数服务器担当,使得网络管理十分集中和方便;
  2. 客户机之间不能直接通信;
  3. 可扩展性不佳,受到服务器硬件和网络带宽的限制,服务器支持的客户机数量有限。

P2P 模型

tip

C/S 模型中服务器的性能决定了整个系统的性能,当大量用户请求时,服务器就成为系统的瓶颈。P2P 模型的思想是整个网络中的传输内容不再被保存在服务器上,每个结点都具有下载和上传的功能,其权利和义务都是大体对等的。

任意一对计算机(称为 Peer)直接通信,较流行的应用有 PPlive,Bittorrent 和电驴等。

主要优点有:

  1. 减轻服务器的计算压力,消除对某个服务器的完全以来,可以将任务分配给任意结点,大大提高系统效率和资源利用,如播放流媒体时对服务器的压力过大,可以使用大量的客户机来提供服务;
  2. 多个客户机之间可以直接共享文档;
  3. 可扩展性好,传统服务器受限于响应和带宽的限制,只能接受一定数量的请求;
  4. 网络健壮性强,单个结点的失效不会影响其他部分的结点。

缺点有:

  1. 同时需要获取服务和提供服务,内存占用大;
  2. P2P 下载会对硬盘造成很大的伤害。

域名系统(DNS)

用于将便于人们记忆的域名(如 www.baidu.com )转换为便于机器处理的 IP 地址。

层次域名空间

因特网采用层次树状结构的命名方法,分为顶级域名、二级域名、三级域名等,其中:

  1. 不区分英文大小写;
  2. 标点只能使用连字符;
  3. 每段域名不超过 64 个字符,完整域名不超过 255 个字符;
  4. 级别最低的域名写在最左,顶级域名写最右。

顶级域名分为如下三大类:

  1. 国家地区顶级域名,如 .cn,.us.cn, .us
  2. 通用顶级域名,如 .com,.net,.org,.gov.com,.net, .org, .gov
  3. 基础结构域名,只有一个 arpaarpa,用于反向域名解析,又称 反向域名

域名服务器

因特网的域名系统被设计为一个联机分布式的数据库系统,采用 C/S 模型,地址解析在域名服务器上完成,一个服务器所负责管辖的范围被称为 ,当自己不能解析域名时,需要知道到什么地方去找其他的域名服务器。

根域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的 IP 地址,任何域名服务器无法解析域名,都首先要求助于根域名服务器。因特网上有 13 个根域名服务器(实际上是冗余服务器的集群)。根域名服务器只用于管辖顶级域名,不负责转换。

顶级域名服务器,负责管理在该顶级域名下注册的二级域名。

授权域名服务器(权限域名服务器),每台主机都必须在授权域名服务器上登记;实际上许多域名服务器都同时充当授权和本地域名服务器。

本地域名服务器,主机发出 DNS 查询请求时,该报文就是发送给该主机的本地域名服务器。

域名解析过程

域名映射为 IP 地址的过程是正向解析,反之为反向解析,域名解析有两种方式:

  1. 递归查询,用得比较少,本地服务器只要向根服务器查询一次即可,根服务器会递归地在对应的顶级域名服务器中查询,查找到之后根服务器再将 IP 地址返回给本地域名服务器;这样会对根服务器造成较大压力;
  2. 迭代和递归相结合,若本地域名服务器不知道对应域名的 IP 地址,向根服务器发送请求,根服务器要么 直接 给出 IP 地址,要么给出下一步应该向哪个顶级域名服务器查询,对顶级域名同理,要么直接给出地址,要么告诉本地域名服务器下一个向哪个权限域名服务器查询。
info

域名服务器中有高速缓存,由于 IP 地址到域名之间的映射不是永久的,因此服务器会在一段时间后丢弃缓存中的信息。

文件传输协议(FTP)

tip

提供以下功能:

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

同样采用 C/S 模型,使用 TCP 传输,一个 FTP 服务器进程可以同时为多个客户进程提供服务,FTP 的服务器进程由两大部分组成:

  1. 主进程,负责接受请求;
  2. 若干从属进程,负责处理单个请求。

工作步骤如下:

  1. 打开熟知端口 21;
  2. 等待客户请求;
  3. 启动从属进程处理请求,处理完毕即终止;
  4. 回到等待状态。

控制连接与数据连接

使用两个并行的 TCP 连接,一个控制连接(端口号 21),一个数据连接(端口号 20).

控制连接,用于传送控制信息,控制信息都以 7 位 ASCII 格式传送;

数据连接,接收到请求之后就创建数据传送进程和数据连接,有两种传输模式:

  1. 主动 PORT,客户端连接后,随即开放一个端口,告知服务器,通过 20 端口和客户端开放的端口连接;
  2. 被动 PASV,服务器在本地随机开放端口,告知客户端。

模式的选择权在客户。

使用 FTP 修改服务器上的文件时,需要先将文件传送到本地,再将修改后的文件副本传回服务器;而网络文件系统(NFS)允许进程打开一个远程文件,并在该文件的某个特定位置读写数据,这样 NFS 可以是用户复制大文件中的很小片段,节省传输时间。

电子邮件

异步通信方式,不需要通信双方都在场;主要组成构件有:

  1. 用户代理,用户与电子邮件系统的接口,向用户提供友好的接口,至少具有撰写、显示和邮件处理的功能,通常用户代理就是一个运行在 PC 上的客户端程序,常见的有 Outlook 和 Foxmail ;
  2. 邮件服务器,功能是发送和接收邮件,同时要向发信人报告邮件传送的情况(已交付、被拒绝和丢失等),采用 C/S 模式,但其必须同时充当客户和服务器来接收和转发邮件;
  3. 电子邮件使用协议,有 SMTP、POP3(IMAP)等。前者是用于用户代理向邮件服务器发送邮件,或在邮件服务器之间发送邮件;后者是用户代理从邮件服务器读取邮件。SMTP 是推,POP3 是拉。
tip

SMTP 采用的是 TCP 联机而,端口号 25;POP3 在传输层使用 TCP 端口号 110,接收方的用户代理上必须运行 POP 客户程序,有两种工作方式,下载后删除/保留服务器上的邮件。

现在出现了很多基于万维网的电子邮件,如 Gmail,使用 HTTP,仅在不同邮件服务器之间传送邮件时才使用 SMTP。

多用途网际邮件扩称(MIME)

SMTP 只能传送一定长度的 ASCII 码邮件,许多非英语国家的文字就无法传送。

MIME 并非改动或取代 SMTP,而是继续使用目前的格式,但是增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则。

万维网

World Wide Web, WWW 是一个分布式、联机式的信息存储空间,该空间中,有用的事物被称为资源,并由一个全域 统一资源定位符(URL) 标识,通过 HTTP(超文本传输协议)传送给使用者。

万维网的内核有三个标准组成:

  1. 统一资源定位符(URL),负责标识万维网上的各种文档,并使每个文档在整个万维网上有唯一标识;
  2. 超文本传输协议(HTTP),应用层协议,使用 TCP 进行可靠的传输;
  3. 超文本标记语言(HTML),一种文档结构的标记语言。