应用层用来解决不同主机多个应用进程之间的通信和协同工作。
应用层的许多协议都是基于
客户服务器方式
。客户
(client)
和服务器
(server)
都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务请求方,服务器是服务提供方。
域名系统
DNS
域名系统概述
域名系统DNS:Internet使用的命名系统,便于将机器名字转换为IP地址。本质,就是名字系统。
任何一个连接在因特网上的主机或路由器,都有一个
唯一
的层次结构的名字,即
域名
。
机器处理IP数据报使用IP地址而非DN,是因为IP地址长度固定为32位,或者128位,而域名长度不定,机器处理困难。
许多应用层软件经常直接使用
域名系统
DNS (Domain Name System)
,但计算机的用户只是间接而不是直接使用域名系统。
因特网采用
层次结构的命名树作为主机的名字,并使用
分布式
的域名系统
DNS
。
名字到
IP
地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为
域名服务器
。
因特网的域名结构:
层次树状结构。
域名只是个逻辑概念,并不代表计算机所在的物理地点。
域名的结构由标号序列组成,各标号之间用
点
隔开:
…
.
三级域名
.
二级域名
.
顶级域名
域名分类:
国家顶级域名nTLD
域名服务器
一个服务器所负责管辖的(或有权限的)范围叫做
区
(zone)
。
每一个区设置相应的
权限域名服务器
,用来保存该区中的所有主机的域名到IP地址的映射。
DNS
服务器的管辖范围不是以“域”为单位,而是以“区”为单位。
最重要,所有的根域名服务器都知道所有的顶级域名服务器的域名和IP 地址。
不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。
在因特网上共有
13
个不同
IP
地址的根域名服务器,它们的名字是用一个英文字母命名,从
a
一直到
m
(前
13
个字母),目的:方便用户,使大部分DNS域名服务器都能就近找到一个根域名服务器。
根域名服务器并不直接把域名直接转换成
IP
地址。
在使用迭代查询时,根域名服务器把下一步应当找
的顶级域名服务器的
IP
地址告诉本地域名服务器。
负责一个区的域名服务器,
当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的
DNS
客户,下一步应当找哪一个权限域名服务器
当一个主机发出
DNS
查询请求时,这个查询请求报文就发送给本地域名服务器,
也称为
默认域名服务器
。
主机向本地域名服务器的查询一般都是采用
递归查询
。
本地域名服务器向根域名服务器的查询通常是采用
迭代查询
。
本地域名服务器采用递归查询
比较少用
文件传送协议
FTP
文件传送协议
交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。
FTP
的基本工作原理
只提供文件传送的一些基本的服务,它使用
TCP
可靠的运输服务。
FTP
的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。
FTP
使用
客户服务器方式
。一个
FTP
服务器进程可同时为多个客户进程提供服务。
FTP
的服务器进程由两大部分组成:一个
主进程
,负责接受新的请求;另外有若干个
从属进程
,负责处理单个请求。
传输过程必须建立的两个并行的TCP连接:
控制连接:
在整个会话期间一直保持打开,
FTP
客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。
数据连接:
实际用于传输文件。
服务器端的控制进程在接收到
FTP
客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程,
在传送完毕后关闭“数据传送连接”并结束运行。
简单文件传送协议
TFTP
远程终端协议
TELNET
万维网
WWW
概述
万维网是一个大规模的、联机式的信息储藏所,
万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。
万维网是
分布式超媒体
(hypermedia)
系统,它是
超文本
(hypertext)
系统的扩充。
超文本是万维网的基础。
万维网以客户
–
服务器方式工作。
统一资源定位符
URL
怎样标志分布在整个因特网上的万维网文档?
使用
统一资源定位符
URL (Uniform Resource Locator)
来标志万维网上的各种文档,
使每一个文档在整个因特网的范围内具有唯一的标识符
URL
。
URL
是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示,
相当于一个文件名在网络范围的扩展。因此
URL
是与因特网相连的机器上的任何可访问对象的一个指针。
<主机>:存放资源的主机在Internet的域名
HTTP
的默认端口号是
80,
可省略;
若再省略文件的
<
路径
>
项,则
URL
就指到因特网上的某个
主页
(homepage)
。
超文本传送协议
HTTP
用何协议实现万维网上各种超链的链接?
在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是
超文本传送协议
HTTP (
HyperText
Transfer Protocol)
。
HTTP
是一个应用层协议,它使用
TCP
连接进行可靠的传送。
层次角度看,HTTP
是
面向事务的
(transaction-oriented)
应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。
HTTP
有两类报文:
请求报文
——
从客户向服务器发送请求报文。
响应报文
——
从服务器到客户的回答。
怎样使各种万维网文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链?
超文本标记语言
HTML (
HyperText
Markup Language)
使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。
代理服务器
(proxy server)
又称为万维网高速缓存
(Web cache)
,它代表浏览器发出
HTTP
请求,把最近的一些请求和响应暂存在本地磁盘中。
当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按
URL
的地址再去因特网访问该资源。
万维网的文档
仅当
HTML
文档是以
.html
或
.
htm
为后缀时,浏览器才对此 文档的各种标签进行解释。
电子邮件
用户代理
UA (User Agent)是
用户与电子邮件系统的接口,是电子邮件客户端软件。功能:
撰写、显示、处理和通信
邮件服务器按照客户
–
服务器方式工作。
电子邮件的信息格式
收件人邮箱名
@
邮箱所在主机的域名
简单邮件传送协议
SMTP:
规定的就是在
两个相互通信的
SMTP
进程
之间应如何交换信息。采用客户服务方式,
负责发送邮件的
SMTP
进程就是
SMTP
客户,而负责接收邮件的
SMTP
进程就是
SMTP
服务器。
1,
SMTP
不能传送可执行文件或其他的二进制对象。
2,
SMTP
限于传送
7
位的
ASCII
码。许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送。
3,
SMTP
服务器会拒绝超过一定长度的邮件。
4,
某些
SMTP
的实现并没有完全按照
[RFC 821]
的
SMTP
标准
邮件读取协议
POP3
和
IMAP
都使用客户服务器的工作方式。
在接收邮件的用户
PC
机中必须运行
POP
客户程序,而在用户所连接的
ISP
的邮件服务器中则运行
POP
服务器程序。
IMAP
是一个联机协议。当用户
PC
机上的
IMAP
客户程序打开
IMAP
服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上。
最大的好处就是用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。
还允许收件人只读取邮件中的某一个部分。例如,收到了一个带有视像附件(此文件可能很大)的邮件。为了节省时间,可以先下载邮件的正文部分,待以后有时间再读取或下载这个很长的附件。
缺点是如果用户没有将邮件复制到自己的
PC
上,则邮件一直是存放在
IMAP
服务器上。因此用户需要经常与
IMAP
服务器建立连接。
通用因特网邮件扩充
MIME
基于STMP的各种缺点,用MIME进行改善。
MIME
并没有改动
SMTP
或取代它。
MIME
的意图是继续使用目前的
[RFC 822]
格式,但增加了邮件主体的结构,并定义了传送非
ASCII
码的编码规则。
在其邮件首部中说明了邮件的数据类型
(
如文本、声音、图像、视像等
)
,使用
MIME
可在邮件中同时传送多种类型的数据。