《计算机网络》之应用层
《计算机网络》之应用层
一、引言
应用层作为和用户交互的最高层,其任务是直接为用户的应用进程提供服务。应用层的具体内容就是规定应用进程在通信时所遵循的协议。因特网的应用层协议有很多,如最为熟知的HTTP(端口号80)和FTP(端口号21)、支持电子邮件的SMTP(端口号25)、域名系统DNS(端口号53)等。下面我们来简单介绍域名系统DNS、万维网WWW (HTTP)和电子邮件 (SMTP/POP3)。
二、域名系统
域名系统DNS (Domain Name System)用来把便于人们使用的机器名字转换为IP地址。
一个域名,以小数点为分隔符,从右往左依次是*域名、二级域名、三级域名……*域名TLD (TopLevel Domain)有265个(2006.12统计),如国家*域名cn/us/uk/jp等和通用*域名com/net/org/edu/gov等。注意,www.abc.cn中的”abc”比www.abc.com.cn中的”abc”级别要高。
下面介绍一下域名服务器 (name server)。
域名服务器分为四种:根/*/权限/本地域名服务器。前三种构成域名服务器的层次结构:根域名服务器最重要,处于最顶层,存储着所有*域名服务器的域名和IP地址;*域名服务器负责管理自己的所有二级域名;再往下就都是权限域名服务器的工作了,它管理自己负责的区。请注意,一个域可以分成一个或多个区,每个区由一个权限域名服务器管辖,如:域abc.com可分为区abc.com和区x.abc.com,这时域abc.com比区abc.com大,区abc.com管理域abc.com中除了区x.abc.com的其他内容。不过,当有对x.abc.com的请求时,会先访问区abc.com的权限域名服务器,然后此服务器再引导至区x.abc.com的权限域名服务器,并非直接访问区x.abc.com的权限域名服务器(因为会按顺序先解析到域abc.com)。
而本地域名服务器是干什么的呢?它是专门为一个ISP/大学/组织等的主机服务的。主机的DNS查询请求会统一发送到它的本地域名服务器受理,然后由这个本地域名服务器给予响应(递归查询 recursive query——全权委托此服务器)。“递归”体现在什么地方呢?当本地域名服务器不知道答案时,它会自己去向根域名服务器(一定是根)发送查询请求,反正事情都自己办了,最后给出主机一个结果,“办事还是挺认真负责的”。这与下面的不同。本地域名服务器向根域名服务器的查询是迭代查询 (iterativequery)——为了避免负载过大,根域名服务器只会告诉本地域名服务器下一步该向哪个*域名服务器查询,而不会自己包揽剩下的活。本地域名服务器根据它的“指路”,自己再发起下一步查询。后面的也都是迭代的。
其实根域名服务器并不是只能接受迭代查询——当本地域名服务器很“懒”时,就会向根域名服务器发送递归查询,根还是会接受而全权代理的。只是一般情况下都采用迭代查询罢了。
三、万维网
万维网WWW (World Wide Web)是一个大规模的、联机式的信息储藏所,简称Web。它的灵魂就是“链接”,使得因特网上的资源相互连系了起来。
万维网使用统一资源定位符URL (Uniform Resource Locator)来标识WWW上的各种文档,使用超文本传送协议HTTP (HyperText Transfer Protocol)实现链接(使用TCP协议),使用超文本标记语言HTML (HyperText Markup Language)统一显示不同的文档。
URL:<协议>://<主机>:<端口>/<路径>
HTTP:面向事务的无连接、无状态的协议,但使用TCP协议实现可靠传输。HTTP/1.0的特点是每请求一个文档都要重新建立TCP链接和释放TCP链接,而HTTP/1.1作出了改进,使用了持续连接——为TCP连接保留一段时间。
HTML就不说了,一般能看到这篇文章的人都至少了解一点基础,而且网上的教程太丰富了,请利用手中的万维网信息检索系统(分为全文检索和分类检索)自行百度吧!
四、电子邮件
最重要的是简单邮件传送协议SMTP (Simple Mail Transfer Protocol)和邮局协议POP3 (Post Office Protocol version 3) ,都使用TCP连接。前者用于发送方用户代理UA (User Agent)向发送方邮件服务器发送邮件和发送方邮件服务器向接收方邮件服务器发送邮件;后者用于接收方邮件服务器给收件人UA发送邮件。其实就是下面这张图,理解了就结束了。
最后再补充一点内容。由于SMTP只能传送可打印的7位ASCII码,因此提出通用因特网邮件扩充MIME (Multipurpose Internet MailExtensions),可以传送包括多媒体在内的多种数据。它并没有取代SMTP,而是在中间套了一层,如下图。
POP3也有缺点,就是它设置为只要收件方UA读取了邮件,就把邮件删除。因此提出了网际报文存取协议IMAP (Internet MessageAccess Protocol),不仅不主动删除,还提供各种管理功能。可以发现,现在的邮箱都是IMAP的。