应用层
网络应用模型
客户/服务器 (C/S) 模型
总是打开的主机被称为 服务器:
- 处于接受请求的状态;
- 受到请求后分析,进行必要处理,将结果返回给客户
常见的应用如 Web、文件传输协议(FTP),远程登陆和电子邮件等。
该模型的主要特点还有:
- 网络中各个计算机地位不平等,服务器可以通过对用户权限的限制来管理客户机,使其不能随意存储/删除数据,或进行其他受限的网络活动;整个网络的管理工作由少数服务器担当,使得网络管理十分集中和方便;
- 客户机之间不能直接通信;
- 可扩展性不佳,受到服务器硬件和网络带宽的限制,服务器支持的客户机数量有限 。
P2P 模型
C/S 模型中服务器的性能决定了整个系统的性能,当大量用户请求时,服务器就成为系统的瓶颈。P2P 模型的思想是整个网络中的传输内容不再被保存在服务器上,每个结点都具有下载和上传的功能,其权利和义务都是大体对等的。
任意一对计算机(称为 Peer)直接通信,较流行的应用有 PPlive,Bittorrent 和电驴等。
主要优点有:
- 减轻服务器的计算压力,消除对某个服务器的完全以来,可以将任务分配给任意结点,大大提高系统效率和资源利用,如播放流媒体时对服务器的压力过大,可以使用大量的客户机来提供服务;
- 多个客户机之间可以直接共享文档;
- 可扩展性好,传统服务器受限于响应和带宽的限制,只能接受一定数量的请求;
- 网络健壮性强,单个结点的失效不会影响其他部分的结点。
缺点有:
- 同时需要获取服务和提供服务,内存占用 大;
- P2P 下载会对硬盘造成很大的伤害。
域名系统(DNS)
用于将便于人们记忆的域名(如 www.baidu.com )转换为便于机器处理的 IP 地址。
层次域名空间
因特网采用层次树状结构的命名方法,分为顶级域名、二级域名、三级域名等,其中:
- 不区分英文大小写;
- 标点只能使用连字符;
- 每段域名不超过 64 个字符,完整域名不超过 255 个字符;
- 级别最低的域名写在最左,顶级域名写最右。
顶级域名分为如下三大类:
- 国家地区顶级域名,如 ;
- 通用顶级域名,如 ;
- 基础结构域名,只有一个 ,用于反向域名解析,又称 反向域名。
域名服务器
因特网的域名系统被设计为一个联机分布式的数据库系统,采用 C/S 模型,地址解析在域名服务器上完成,一个服务器所负责管辖的范围被称为 区,当自己不能解析域名时,需要知道到什么地方去找其他的域名服务器。
根域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的 IP 地址,任何域名服务器无法解析域名,都首先要求助于根域名服务器。因特网上有 13 个根域名服务器(实际上是冗余服务器的集群)。根域名服务器只用于管辖顶级域名,不负责转换。
顶级域名服务器,负责管理在该顶级域名下注册的二级域名。
授权域名服务器(权限域名服务器),每台主机都必须在授权域名服务器上登记;实际上许多域名服务器都同时充当授权和本地域名服务器。
本地域名服务器,主机发出 DNS 查询请求时,该报文就是发送给该主机的本地域名服务器。
域名解析过程
域名映射为 IP 地址的过程是正向解析,反之为反向解析,域名解析有两种方式:
- 递归查询,用得比较少,本地服务器只要向根服务器查询一次即可,根服务器会递归地在对应的顶级域名服务器中查询,查找到之后根服务器再将 IP 地址返回给本地域名服务器;这样会对根服务器造成较大压力;
- 迭代和递归相结合,若本地域名服务器不知道对应域名的 IP 地址,向根服务器发送请求,根服务器要么 直接 给出 IP 地址,要么给出下一步应该向哪个顶级域名服务器查询,对顶级域名同理,要么直接给出地址,要么告诉本地域名服务器下一个向哪个权限域名服务器查询。
域名服务器中有高速缓存,由于 IP 地址到域名之间的映射不是永久的,因此服务器会在一段时间后丢弃缓存中的信息。
文件传输协议(FTP)
提供以下功能:
- 提供不同种类主机系统之间的文件传输能力;
- 以用户权限管理的方式提供用户对远程 FTP 服务器上的文件管理能力;
- 以匿名 FTP 的方式提供公用文件共享的能力。
同样采用 C/S 模型,使用 TCP 传输,一个 FTP 服务器进程可以同时为多个客户进程提供服务,FTP 的服务器进程由两大部分组成:
- 主进程,负责接受请求;
- 若干从属进程,负责处理单个请求。
工作步骤如下:
- 打开熟知端口 21;
- 等待客户请求;
- 启动从属进程处理请求,处理完毕即终止;
- 回到等待状态。
控制连接与数据连接
使用两个并行的 TCP 连接,一个控制连接(端口号 21),一个数据连接(端口号 20).
控制连接,用于传送控制信息,控制信息都以 7 位 ASCII 格式传送;
数据连接,接收到请求之后就创建数据传送进程和数据连接,有两种传输模式:
- 主动 PORT,客户端连接后,随即开放一个端口,告知服务器,通过 20 端口和客户端开放的端口连接;
- 被动 PASV,服务器在本地随机开放端口,告知客户端。
模式的选择权在客户。
使用 FTP 修改服务器上的文件时,需要先将文件传送到本地,再将修改后的文件副本传回服务器;而网络文件系统(NFS)允许进程打开一个远程文件,并在该文件的某个特定位置读写数据,这样 NFS 可以是用户复制大文件中的很小片段,节省传输时间。
电子邮件
异步通信方式,不需要通信双方都在场;主要组成构件有:
- 用户代理,用户与电子邮件系统的接口,向用户提供友好的接口,至少具有撰写、显示和邮件处理的功能,通常用户代理就是一个运行在 PC 上的客户端程序,常见的有 Outlook 和 Foxmail ;
- 邮件服务器,功能是发送和接收邮件,同时要向发信人报告邮件传送的情况(已交付、被拒绝和丢失等),采用 C/S 模式,但其必须同时充当客户和服务器来接收和转发邮件;
- 电子邮件使用协议,有 SMTP、POP3(IMAP)等。前者是用于用户代理向邮件服务器发送邮件,或在邮件服务器之间发送邮件;后者是用户代理从邮件服务器读取邮件。SMTP 是推,POP3 是拉。
SMTP 采用的是 TCP 联机而,端口号 25;POP3 在传输层使用 TCP 端口号 110,接收方的用户代理上必须运行 POP 客户程序,有两种工作方式,下载后删除/保留服务器上的邮件。
现在出现了很多基于万维网的电子邮件,如 Gmail,使用 HTTP,仅在不同邮件服务器之间传送邮件时才使用 SMTP。
多用途网际邮件扩称(MIME)
SMTP 只能传送一定长度的 ASCII 码邮件,许多非英语国家的文字就无法传送。
MIME 并非改动或取代 SMTP,而是继续使用目前的格式,但是增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则。
万维网
World Wide Web, WWW 是一个分布式、联机式的信息存储空间,该空间中,有用的事物被称为资源,并由一个全域 统一资源定位符(URL) 标识,通过 HTTP(超文本传输协议)传送给使用者。
万维网的内核有三个标准组成:
- 统一资源定位符(URL),负责标识万维网上的各种文档,并使每个文档在整个万维网上有唯一标识;
- 超文本传输协议(HTTP),应用层协议,使用 TCP 进行可靠的传输;
- 超文本标记语言(HTML),一种文档结构的标记语言。