4.3.5 应用层协议

4.3.5 应用层协议

应用层协议主要有文件传送协议(FTP)、远程终端协议(TELNET)、简单邮件传送协议(SMTP)、超文本传输协议(HTTP)和动态主机配置协议(DHCP)等。

下面首先讨论许多应用层协议都要使用的域名系统,然后介绍几种常用的应用层协议。

1.域名系统

(1)域名系统的作用

Internet中的IP(IPv4)地址由32 bit组成,对于这种数字型地址,用户很难记忆和理解。Internet允许每个用户为自己的计算机命名,并且允许用户输入计算机的名字来代替机器的IP地址。

但主机处理IP数据报时必须使用IP地址,为此TCP/IP开发了一种命名协议,即域名系统(Domain Name System,DNS),用于实现主机名与主机IP地址之间的转换。

(2)命名机制

对主机命名的首要要求是全局唯一性,这样才可在整个网络中通用;其次要便于管理,这里包括名字的分配、确认和回收等工作;再者要便于主机名与IP地址之间的转换。对这样3个问题的特定解决方法,便构成了Internet特定的命名机制。

①域名结构

TCP/IP采用的是层次结构的命名机制,任何一个连接在Internet上的主机或路由器,都有一个唯一的层次结构的名字,即域名。

域名的结构由标号序列组成(各标号分别代表不同级别的域名),各标号之间用点隔开:

四级域名.三级域名.二级域名.顶级域名

例如,mail.cctv.com是中央电视台用于收发电子邮件的计算机(即邮件服务器)的域名,mail.tsinghua.edu.cn是清华大学某台计算机的域名。

②顶级域名

顶级域名(Top Level Domain,TLD)分为3类。

(a)国家顶级域名n TLD

例如,cn表示中国,us表示美国,uk表示英国等。

(b)通用顶级域名g TLD

最早出现的7个通用顶级域名是:com(公司和企业),net(网络服务机构),org(非营利性组织),int(国际组织),edu(美国专用的教育机构),gov(美国专用的政府部门),mil(美国专用的军事部门)。

新增加的11个通用顶级域名是:aero(航空运输企业),biz(公司和企业),cat(加泰隆人的语言和文化团体),coop(合作团体),info(各种情况),jobs(人力资源管理者),mobi(移动产品与服务的用户和提供者),museum(博物馆),name(个人),pro(有证书的专业人员),travel(旅游业)。

(c)基础结构域名(infrastructure domain)

这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称为反向域名。

③二级域名

国家顶级域名下注册的二级域名由各国家自行确定,我国把二级域名划分为“类别域名”和“行政区域名”两大类。

“类别域名”共7个,分别为:ac(科研机构),com(工、商、金融等企业),edu(中国的教育机构),gov(中国的政府机构),mil(中国的国防机构),net(提供互联网络服务的机构),org(非营利性组织)。

“行政区域名”共34个,适用于我国的各省、自治区和直辖市。例如,bj(北京市),js(江苏省)等。

④三级域名

一般在某个二级域名下注册的单位可获得一个三级域名。

⑤四级域名

四级域名一般是一个单位里某台计算机的名字。

Internet的域名空间如图4-27所示。

图4-27 Internet的域名空间

(3)域名服务器

在Internet中,IP数据报传送时必须使用IP地址,而用户输入的是主机名字,使用域名服务,可以实现IP地址的解析(即地址转换)。一般在网络中心设置域名服务器,即配置DNS。这是一个软件,可以在任意一台指定的计算机上运行。

每个DNS服务器都只对域名系统中的一部分进行管理,域名服务器有以下4种类型:

·根域名服务器;

·顶级域名服务器;

·权限域名服务器;

·本地域名服务器。

①根域名服务器

根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对Internet中任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。

Internet共有13个不同IP地址的根域名服务器,它们的名字是用一个英文字母命名,从a一直到m(前13个字母)。

②顶级域名服务器

顶级域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的IP地址)。

③权限域名服务器

一个服务器所负责管辖的(或有权限的)范围叫作区(zone),区可能等于域,也可能小于域。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。

当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器。

④本地域名服务器

本地域名服务器(有时也称为默认域名服务器)对域名系统非常重要。当一台主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。每一个Internet服务提供者(ISP),或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器。

2.文件传输协议(FTP)

文件传输协议(File Transfer Protocol,FTP)是Internet最早、最重要的网络服务之一。(1)FTP的特点

FTP具有以下特点:

(a)FTP只提供文件传送的一些基本的服务,它是面向连接的服务,使用TCP作为传输协议,以提供可靠的传输服务。

(b)FTP的主要作用是在不同计算机系统间传送文件,它与这两台计算机所处的位置、连接的方式以及使用的操作系统无关。

(c)FTP使用客户/服务器方式。

(2)FTP的基本工作原理

FTP需要在客户与服务器间建立两个连接:一条连接专用于控制,另一条为数据连接。控制连接用于传送客户与服务器之间的命令和响应,数据连接用于客户与服务器间交换数据信号。如图4-28所示。

图4-28 FTP使用的两个TCP连接

FTP是一个交互式会话的系统,FTP服务器进程在知名端口21上监听来自FTP客户机的连接请求。客户每次调用FTP,便可与FTP服务器建立一个会话。

控制连接在整个会话期间一直保持打开,FTP客户发出的传输请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传输文件。

实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。

数据传送进程实际完成文件的传送(传输),在传送完毕后关闭“数据连接”并结束运行。

(3)简单文件传输协议(TFTP)

简单文件传输协议(Trivial File Transfer Protocol,TFTP)是TCP/IP协议簇中的一个很小但易于实现的文件传输协议。

TFTP支持客户/服务器方式,使用的传输层协议是UDP,需要有自己的检错措施。TFTP只支持文件传输,不支持交互。主要有以下特点:

(a)可用于UDP环境;

(b)TFTP代码所占内存较小;

(c)支持ASCII码或二进制传送;

(d)可对文件进行读或写;

(e)每次传送的数据单元中有512 B的数据,最后一次可以不足512 B;

(f)具有发送确认和重发确认。

3.远程终端协议(TELNET)

TELNET是Internet上强有力的功能,也是最基本的服务之一。利用该功能,用户既可以实时地使用远地计算机上对外开放的全部资源,也可以查询数据库、检索资料或利用远程计算机完成大量计算工作。

(1)TELNET的主要功能

TELNET的主要功能有:

(a)在用户终端与远程主机之间建立一种有效的连接;

(b)共享远程主机上的软件及数据资源;

(c)利用远程主机上提供的信息查询服务,进行信息查询。

(2)TELNET的特点

(a)TELNET是一个简单的远程终端协议,也是Internet的正式标准。

(b)用户使用TELNET就可在其所在地通过TCP连接注册(即登录)到远地的另一个主机上(使用主机名或IP地址)。

(c)TELNET能将用户的击键传到远地主机,同时也能将远地主机的输出通过TCP连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。

(d)TELNET也使用客户/服务器方式。在本地系统运行TELNET客户进程,而在远地主机则运行TELNET服务器进程。

(3)TELNET的远程登录方式

实现远程登录的工具软件是由两部分程序组成的,一部分是寻求服务的程序,装在本地机上,即为客户程序;另一部分是提供服务的程序,装在远地机上,可称为服务程序。两者之间必须建立一种协议,使双方可以通信。登录名与口令是双方协议的具体体现。当用户通过本地主机向远地主机发出上网登录请求后,该远端的宿主机将返回一个信号,要求本地用户输入自己的登录名(login)和口令(password)。只有用户返回的登录名与口令正确,登录才能成功。这一方面是出于网络安全的考虑,另一方面也表示双方的通信已经建立。

在Internet中,很多主机同时装载有寻求服务的程序和提供服务的程序,这样的主机既可以作为本地主机访问其他主机,也可以作为远地主机被其他主机或终端访问,具有客户机与服务器双重身份。

远程登录方式很多,不同的计算机,不同的操作系统,远程登录方式不尽相同。TCP/IP协议支持的登录到Ianternet上的软件工具称为TELNET。TELNET可用DOS或UNIX行命令模式实现,也可利用WWW浏览器以图形界面实现。界面友好、方便,功能也趋向于多元化。除可进行远程登录访问外,还可以对检索到的结果进行编辑、剪切等。

现在由于PC的功能越来越强,用户已较少使用TELNET了。

4.电子邮件

电子邮件(Electronic Mail,E-mail)是Internet中使用频率最高的服务系统之一,也是最基本的Internet服务。它具有方便、快捷和廉价等优于传统邮政邮件的特点。任何能够获得Internet服务的用户都有E-mail功能,只要具有E-mail功能,就能和世界各地的Internet用户通“电子信件”。

(1)E-mail的功能及特点

使用E-mail必须首先拥有一个电子邮箱,它是由E-mail服务提供者为其用户建立在E-mail服务器上专门用于电子邮件的存储区域,并由E-mail服务器进行管理。用户使用Email客户软件在自己的电子邮箱里收发邮件。

①E-mail的功能

E-mail的主要功能有:

(a)信件的起草和编辑;

(b)信件的收发;

(c)信件回复与转发;

(d)退信说明、信件管理、转储和归纳;

(e)电子邮箱的保密。

②E-mail的特点

E-mail主要特点如下:

(a)传送速度快,可靠性高;

(b)用户发送E-mail时,接收方不必在场,发送方也不需知道对方在网络中的位置;

(c)E-mail实现了人与人非实时通信的要求;

(d)E-mail实现了一对多的传送。

(2)E-mail的主要组成构件

E-mail的主要组成构件包括用户代理和邮件服务器,如图4-29所示。

图4-29 E-mail的主要组成构件

用户代理(UA)就是用户与电子邮件系统的接口,是电子邮件客户端软件。用户代理的功能主要有:撰写、显示、处理和通信。

邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。邮件服务器按照客户/服务器方式工作。邮件服务器需要使用发送和读取两个不同的协议。

(3)简单邮件传送协议(SMTP)

电子邮件的标准主要有:

·发送邮件的协议——SMTP;

·读取邮件的协议——POP3和IMAP。

下面重点介绍简单邮件传送协议(SMTP)。

①SMTP的特点

(a)SMTP所规定的就是在两个相互通信的SMTP进程之间应如何交换信息。

(b)SMTP使用客户/服务器方式,因此负责发送邮件的SMTP进程就是SMTP客户,而负责接收邮件的SMTP进程就是SMTP服务器。

(c)SMTP规定了14条命令和21种应答信息。每条命令用4个字母组成,而每一种应答信息一般只有一行信息,由一个3位数字的代码开始,后面附上(也可不附上)很简单的文字说明。

(d)SMTP采用TCP作为传输协议,提供的是面向连接的服务。

②SMTP通信的3个阶段

(a)连接建立:连接是在发送主机的SMTP客户和接收主机的SMTP服务器之间建立的。SMTP不使用中间的邮件服务器。

(b)邮件传送。

(c)连接释放:邮件发送完毕后,SMTP应释放TCP连接。

5.动态主机配置协议(DHCP)

(1)DHCP的作用

动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)提供了即插即用连网的机制。这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。

(2)DHCP的工作原理

DHCP使用客户端/服务器方式。

需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为DHCP客户。本地网络上所有主机都能收到此广播报文,但只有DHCP服务器才回答此广播报文。DHCP服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的IP地址池(Address Pool)中取一个地址分配给该计算机。DHCP服务器的回答报文叫作提供报文(DHCPOFFER)。

通常,DHCP服务器至少向客户端提供以下信息:IP地址、子网掩码和默认网关,还可以提供其他信息,如DNS服务器的地址等。

DHCP服务器为客户端分配IP地址有3种方式:手工分配、自动分配和动态分配。

(a)手工分配地址:由管理员为少数特定客户端(如WWW服务器等)静态绑定固定的IP地址。通过DHCP将配置的固定IP地址发给客户端。

(b)自动分配地址:DHCP为客户端分配租期为无限长的IP地址。

(c)动态分配地址:DHCP为客户端分配具有一定有效期限的IP地址,到达使用期限后,客户端需要重新申请地址。绝大多数客户端得到的都是这种动态分配的地址。

需要说明的是,并不是每个网络上都有DHCP服务器,因为这样会使DHCP服务器的数量太多。现在是每一个网络至少有一个DHCP中继代理(Relay Agent),它配置了DHCP服务器的IP地址信息。

DHCP中继代理收到主机发送的发现报文后,就以单播方式向DHCP服务器转发此报文,并等待其回答。收到DHCP服务器回答的提供报文后,DHCP中继代理再将此提供报文发回给主机,如图4-30所示。

图4-30 DHCP中继代理以单播方式转发发现报文