《计算机网络》第6章:应用层
第6章:应用层
6.1 网络应用模型
客户/服务器模型
在客户/服务器(Client/server,C/S)模型中,有一个总是打开的主机称为服务器,服务于许多来自其他称为客户机的主机请求,工作流程是:
1) 服务器处于接收请求的状态。
2) 客户机发出服务请求,并等待接收结果。
3) 服务器收到请求后,分析请求,进行必要的处理,得到结果并发送给客户机。
客户/服务器模型最主要的特征:客户使服务请求放,服务器是服务提供方。主要特点:
1) 网络中各计算机的地位不平等,服务器可以通过对用户权限的限制来达到管理客户机的目的,使它们不能随意存储/删除数据,或进行其他受限的网络活动。
2) 客户机相互之间不直接通信。
3) 可扩展性不佳。受服务器硬件和网络带宽的限制,服务器支持的客户机数有限。
P2P模型
P2P的思想是整个网络中的传输内容不再被保存在中心服务上,每个节点都同时具有下载、上传的功能,其权力和义务都是大体对等的。
P2P对比C/S模型的优点:
1) 减轻了服务器的计算压力,消除了对某个服务器的完全依赖,可以将任务分配到各个节点上,大大提高了系统效率和资源利用率。
2) 多个客户机之间可以直接共享文档。
3) 可扩展性好,传统服务器有响应和贷款的限制,因此只能接收一定数量的请求。
4) 网络健壮性强,单个结点的失效也不会影响其他部分结点。
6.2 DNS系统
域名系统的DNS(Domain Name System)是因特网使用的命名系统,用来把人们记忆的含有特定含义的主机名转换为便于机器处理的IP地址。DNS系统采用客户/服务器模型,其协议运行在UDP之上,使用53号端口。
层次域名空间
因特网采用层次树状的命名方法。
注意事项:
1) 标号中的英文不区分大小写
2) 标号中除连字符(-)外不能使用其他的标点符号。
3) 每一个标号不超过63个字符,多标号组成的完整域名最长不超过255个字符。
4) 级别最低的域名写在最左边,而级别最高的顶级域名写在最右边。
顶级域名(Top Level Domain,TLD)分类:
1) 国家顶级域名nTLD。国家和某些地区的域名,如『.cn』表示中国,『.us』表示美国。
2) 通用顶级域名gTLD。常见的有『.com』(公司企业)、『.net』(网络服务机构)、『.org』(非营利性的组织)。
3) 基础结构域名,只有一个arpa,用于反向域名解析,又称反向域名。
域名服务器
分类:
1) 根域名服务器:最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP地址。
2) 顶级域名服务器:负责管理在该顶级域名服务器注册的所有二级域名。
3) 授权域名服务器:每一个主机都必须在授权域名服务器处登记。
4) 本地域名服务器
域名解析过程
域名解析指把域名映射称IP地址(正向解析)或把IP地址映射成域名的过程(反向解析)。
域名解析的方式:
1) 主机向本地域名服务器的查询采用的是递归查询。
2) 本地域名服务器向根域名服务器查询采用迭代查询。
6.3 文件传输协议FTP
FTP的工作原理
文件传输协议FTP(File Transfer Protocol)是因特网上使用得最广泛的文件传输协议,提供交互式的访问,允许客户指明文件的类型和个事,允许文件具有存取权限。它屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。
FTP提供的功能:
1) 提供不同类型主机系统(硬、软件体系等都可以不同)之间的文件传输能力。
2) 以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力。
3) 以匿名FTP的方式提供公用文件共享的能力。
FTP采用客户/服务器的工作方式,工作步骤如下:
1) 打开端口21(控制端口),使客户进程能连接上。
2) 等待客户进程发连接请求。
3) 启动从属进程来处理客户进程发来的请求。主进程与从属进程并发执行,从属进程对客户的请求处理完毕后立即终止。
4) 回到等待状态,继续接收其他客户进程的请求。
控制链接
服务器监听在21号端口,等待客户连接,建立在这个端口上的连接称为控制连接,控制链接用来传输控制信息(如连接请求、传送请求等),控制信息都是以7位ASCII格式传送的。
数据连接
数据连接用来连接客户端和服务端的数据传送进程,数据传送路径进程实际完成文件的传送,在传送完毕后关闭『数据传送连接』并结束运行。
因为FTP使用了一个分离的控制链接,所以也称FTP的控制信息是带外(Out-of-Band)传送的。
6.4 电子邮件
电子邮件系统的最主要组成构件:
1) 用户代理(User Agent,UA):用户与电子邮件系统的接口,用户代理使用户能通过一个友好的接口来发松鹤接收电子邮件,用户代理至少应具有撰写、显示和邮件处理的功能。
2) 邮件服务器:是电子邮件系统的核心。邮件服务器的功能是发送和接收邮件,同时向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。
3) 邮件发送协议和读取协议:邮件发送协议用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件,常用SMTP;邮件读取协议用于用户代理从邮件服务器读取邮件,如POP3(邮局协议的第三个版本)。
电子邮件的收发过程:
1) 发信人调用用户代理来撰写和编辑要发送的邮件。用户代理用SMTP协议把邮件传送给发送方邮件服务器。
2) 发送方邮件服务器将邮件放入邮件缓存队列中,等待发送。
3) 运行在发送方邮件服务器的SMTP客户进程,发现在邮件缓存中有待发送的邮件,就向运行在接收方邮件服务器的SMTP服务器进程发起建立TCP连接。
4) TCP连接建立后,SMTP客户进程开始向远程的SMTP服务器进程发送邮件。当所有的待发送邮件发完了,SMTP服务器就关闭所建立的TCP连接。
5) 运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,将邮件放入收信人的用户邮箱中,等待收信人在方便时进行读取。
6) 收信人在打算收信时,调用用户代理,使用POP3(或IMAP)协议将自己的邮件从接收方邮件服务器的用户邮箱中取回(如果邮箱中有来信的话)。
电子邮件格式
电子邮件分为信封和内容。邮件内容分为首部和主体。[RFC 822]规定了邮件的首部格式,邮件的主体部分则让用户自由撰写。
MIME(多用途网际邮件扩充)
MIME主要包括以下内容:
1) 5个新的邮件首部字段,包括MIME版本、内容描述、内容标识、内容传送编码和内容类型。
2) 定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。
3) 定义了传送编码,可以对任何内容格式进行转换,而不会被邮件系统改变。
SMTP协议
简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是一种可靠且有效的电子邮件传输协议,控制两个互相通信的SMTP进程交换信息。SMTP通信有一下三个阶段:
1) 连接建立
2) 邮件传送
3) 连接释放
POP协议
邮局协议(Post Office Protocol, POP)是一个非常简单、功能优先的邮件读取协议,现在使用的是它的第3个版本POP3。
另一个邮件接收协议是网际报文存取协议IMAP,目前是因特网的建议标准。
6.5 万维网WWW
万维网WWW(World Wide Web)是一个资料空间,在这个空间中:一样有用的事物,称为一样『资源』,并且由一个全域『统一资源定位符』(URL)标识,这些资源通过超文本传输协议(HTTP)传送给使用者,使用者通过点击链接来获取资源。
万维网的内核部分由三个标准构成:
1) 统一资源定位符(URL),负责标识万维网上的各种文档,并使每个文档在整个万维网的范围内具有唯一的标识符URL。
2) 超文本传输协议(HTTP),它是一个应用层协议,使用TCP连接进行可靠的传输,HTTP是万维网客户程序之间交互所必须严格遵守的协议。
3) 超文本标记语言(HTML)是一种文档结构的标记语言,使用一些约定的标记对页面上的各种信息(包括文字、图像、声音、视频等)、格式进行描述。
万维网以客户/服务器方式工作。浏览器是在用户计算机上的万维网客户程序,而万维网文档所驻留的计算机则运行服务器程序,这个计算机称为万维网服务器。客户程序向服务器程序发出请求,服务器向客户程序送回客户所要求的文档。其工作流程如下:
1) Web用户使用浏览器(指定URL)与Web服务器建立连接,并发送浏览请求。
2) Web服务器把URL转换为文件路径,并返回信息给Web浏览器。
3) 通信完成,关闭连接。
超文本传输协议HTTP
HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
HTTP的操作过程
HTTP有两种报文:
1) 请求报文:从Web客户端向Web服务器发送服务请求。
2) 响应报文:从Web服务器对Web客户端请求的回答。
HTTP协议的特点
HTTP协议是无状态的。
HTTP协议本身是无连接的。
Cookie是存储在用户主机中的文本文件。
持久连接:万维网服务器在发送响应后仍然保持这条链接,使同一个客户和服务器可以继续在这条连接上传后续的HTTP请求和响应报文。
持久连接分为非流水线方式和流水线方式。非流水线方式:客户在收到前一个响应后才能发出下一个请求。
HTTP报文结构
HTTP是面向文本的(Text-Oriented),在报文中的每个字段都是一些ASCII串码,且每个字段都是不确定的。
两类HTTP报文:
1) 请求报文:从客户向服务器发送的报文请求。
2) 响应报文:从服务器到客户的回答。