高毅资产怎么样:应用层

来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 12:15:18
1 DNS协议
1. 域名空间与资源记录
(1) 域名空间
(2) 资源记录
2. 域名服务器
3. 解析器
2 HTTP协议
1. HTTP协议
(1) 请求块
(2) 应答块
2. Web服务器软件
3. Web客户软件
3 FTP协议
1. FTP系统组成
2. FTP使用操作
4 Telnet协议
1. Telnet系统组成
2. Telnet使用操作
5 电子邮件协议
1 电子邮件系统组成
2 邮件传输协议
(1) SMTP
(2) MIME
(3) POP3
3.邮件系统使用
基于TCP/IP协议的应用层协议有很多,因为面向网络的应用是多种多样的,每一种网络应用都可能对应一种应用层协议。例如,在Internet中,几乎所有的应用系统都有相应的应用层协议提供支持,如HTTP协议支持Web应用、SMTP支持电子邮件应用、Telnet协议支持远程登录应用、FTP协议支持文件传输应用、Gopher协议支持信息检索应用以及DNS协议支持域名系统等。此外,应用层协议还有用于网络安全的安全协议(如SHTTP)、用于网络管理的网管协议(如SNMP)以及用于多媒体会议的通信协议等。    为支持网络应用的开发,TCP/IP协议提供了一种称为套接字(Socket)网络编程接口,开发者可以通过Socket接口调用传输层或网络层服务功能来开发面向特定应用的应用层协议。
1 DNS协议
在IP网络(如Internet)中, 每一种网络资源或服务站点都要使用惟一的IP地址来标识。由于IP地址不便于记忆和理解,在很多情况下使用一种更为直观的域名(Domain Name)来标识网络站点,以方便用户的使用。然而,在TCP/IP协议中,必须使用IP地址来标识站点,而不能使用域名。因此,在必要时必须将域名映射成IP地址。在TCP/IP协议中,由域名系统DNS(Domain Name System)来提供这种地址映射服务。
DNS是一种周知的公共网络服务,主要提供域名与IP地址之间的映射服务。在RFC 1034和RFC 1035文档中详细描述了DNS功能。DNS由三部分组成:域名空间与资源记录、域名服务器和解析器。
1. 域名空间与资源记录
(1) 域名空间

域名空间采用树形结构来组织和管理, 参见图5.14。它的顶部是根, 根名为空标记“”, 但在文本格式中写成“.”。树中的每一个节点都是域名空间的一部分, 称为域名空间的域。域可以进一步划分成子域, 每个域都有一个域名, 定义它在域名空间中的位置。在DNS中,一个完整的域名是从该域向上直到根的所有标记组成的字符串, 标记之间要用“.”分隔开,例如nisi.nwpu.edu.cn。
在一个域名中, 每个子域名都有其特定的含义。从右到左, 子域名分别是表示国家或地区的顶级域名、组织类型、组织名称、分组织名称和计算机名称等。例如, 在www.nisi.nwpu.edu.cn域名中, 从右到左分别表示:顶级域名cn表示中国,子域edu表示是教育机构,nwpu表示一个学校的名称,nisi表示是该学校中一个院系或研究所名称,www 表示是一个Web服务器。在域名中, 大小写字母可以混合使用, 但作为一般原则, 最好全部使用小写字母。
顶级域名大致上可以分成两类:一类是组织性顶级域名;另一类是地理性顶级域名。组织性顶级域名表示 Internet服务提供者(ISP)所属的组织类型,由RFC 1691文档规定,表5.5为组织分类及它们所对应的组织性顶级域名。地理性顶级域名用两个字母的缩写形式来表示某个国家和地区,由ISO 3166国际标准规定,表5.6为部分国家和地区的顶级域名。
由于Internet起源于美国, 后来才扩展到美国以外的国家。因此,Internet 地址的物理性顶级域名的默认值是美国(即可缺省)。虽然表6.6中也有美国的顶级域名, 但通常没有必要使用, 而其它国家和地区则必须使用。
域名 含义 例子
com
商业组织
公司
edu
教育机构
大学或科研机构
gov
政府机构
美国国家宇航局(NASA)
int
国际性组织
国际标准化组织(ISO)
mil
军队
海军
net
网络技术组织
网络管理及安全
org
非盈利组织
基金会
表5.5组织性顶级域名
在域名空间中, 每个域可以由不同的组织机构来管理, 每个组织可以将它所属的域再分成一系列子域, 并可将这些子域交给下属的组织来管理。例如, Internet网络信息中心负责管理edu域, 但把子域nwpu.edu授权给nwpu大学管理。如果用户要在一个域上创建一个新的子域,必须经过该域管理者的同意,并为新子域命名一个惟一的域名。这种层次结构的优点是各个组织在其内部可以自由地选择域名, 只要保证该组织内的惟一性即可,而不必担心与其它组织内的域名相冲突。
域名 含义 域名 含义
aq
南极大陆
it
意大利
ar
阿根廷
jp
日本
at
奥地利
kr
韩国
au
澳大利亚
kw
科威特
br
比利时
li
列支敦士敦
bg
保加利亚
lt
立陶宛
br
巴西
lu
卢森堡
ca
加拿大
lv
拉脱维亚
ch
瑞士
mx
墨西哥
cl
智利
my
马来西亚
cn
中国
nl
荷兰
cr
哥斯达黎加
no
挪威
cs
捷克斯洛伐克
nz
新西兰
de
德国
pl
波兰
dk
丹麦
pr
波多黎各
ec
厄瓜多尔
pt
葡萄牙
ee
爱沙尼亚
re
留尼汪岛
eg
埃及
se
瑞典
es
西班牙
sg
新加坡
fi
芬兰
si
斯洛伐尼亚
fr
法国
su
(前)苏联
gb
大不列颠(与uk等同)
th
泰国
gr
希腊
tn
突尼西亚
hk
香港地区
tw
台湾地区
hr
克罗爱西亚
uk
英国(英格兰、苏格兰、威尔士和北爱尔兰)
in
匈亚利
us
美国
is
爱尔兰
ve
委内瑞拉
il
以色利
yu
南斯拉夫
in
印度
za
南非
is
冰岛
表5.6地理性顶级域名
(2) 资源记录
每个主机对应于域名空间的一个节点,每个节点都有一个资源记录,与特定名字的资源信息相联系。当解析器查询一个域名时,它所获得信息就是与该域名相关的资源记录。实际上,DNS的功能就是把域名映射到资源记录上。一条资源记录共有5项,其格式如下:
Domain_name
Time_to_live
Type
Class
Value
Domain_name:资源记录所在的域名,它是作为查询的主关键字,并返回所有匹配的记录。
Time_to_live:资源记录的生存期,用32 位整数来表示资源记录存活时间。
Type:资源记录类型,主要有下列记录类型:
·A:一个主机的IP地址,32位整数,这是最重要的记录类型。
·CNAME:规范名,指示一个别名的规范名。
·HINFO:主机描述,指示一个主机的CPU和OS类型。
·MX:邮件交换,指示一个愿意接收特定域电子邮件的域名。
·NS:名字服务器,指示一个可信的名字服务器。
·PTR:指针,指向另一个域名空间部分的指针。
·SOA:认证开始,指示一个可信区域(Zone)的开始。
Class:信息类别,对于Internet信息,其值为IN;对于非Internet信息,则为其它值。
Value:它可以是数字或字符串,其语义取决于资源记录类型。
下面是一个有关资源记录的例子:
Domain_nameTime_to_liveTypeClassValue
nwpu.edu.cn86400MXINmail.nwpu.edu.cn
nwpu.edu.cn86400MXINpop3.nwpu.edu.cn
www.nwpu.edu.cn86400HINFOINIntelLinux
www.nwpu.edu.cn86400AIN192.202.200.150
ftp.nwpu.edu.cn86400AIN192.202.200.160
nisi.nwpu.edu.cn86400AIN192.202.200.40
www.nwpu.edu.cn86400CNAMEINweb.nwpu.edu.cn
其中,86400为24小时的秒数。
2. 域名服务器
域名服务器(Domain Name Server)也称名字服务器。理论上,一个名字服务器可以保存整个DNS数据库信息,供所有客户查询。然而,这将会引起名字服务器过载而崩溃。实际上,整个域名空间被划分成一些互不交叉的区域(Zone),每个区域包含域名空间的一部分信息,一个名字服务器可以管理一个或多个区域。通常,名字服务器可以分为以下几种:
(1) 主名字服务器。每个区域至少有两个主名字服务器来保存所有的区域内信息。换句话说, 每一个给定的区域数据至少可以从两个名字服务器上得到:一个是主名字服务器,它从磁盘文件中得到区域数据;另一个是备份名字服务器,它从主名字服务器那里得到数据。当主名字服务器发生故障或过载时,备份服务器可以接替工作或分担部分负载。
(2) Caching Only服务器。所有的名字服务器都是Caching服务器,这表明名字服务器将接收到的信息保存在cache中,直到数据失效。此外, 还有一种叫做Caching Only的名字服务器, 它将接收到的信息转发到其它名字服务器上, 直到得到所需信息, 但它自己不保存任何可靠的数据。
(3) 转发服务器(Forwarding Server)。它建立一个“转发服务表”,记录它的上级名字服务器。当服务器收到地址映射请求时, 首先在自己的cache中查找。如果找不到, 就请求送到上一级名字服务器中, 而不是送给根。该服务器按表中给出的顺序依次查询上一级名字服务器, 直到查到该数据为止。如果查不到, 则返回无此数据的出错信息。这种服务器的优点是主机可以建立非常大的数据cache, 从而减少从本机访问网络的次数。
3. 解析器
解析器(Resolver)是客户方, 主要负责接收客户查询请求;向名字服务器发出查询;解释从名字服务器返回的应答信息;将信息提交给客户等。
为了说明DNS的工作过程, 现举一个例子。假设一个用户在域名为ncti.xjtu.edu.cn的计算机上发出查询“www.nisi.nwpu.edu.cn”的命令, 则DNS 的工作过程如下:
①解析器向本地名字服务器发出请求, 查询nisi. nwpu.edu.cn的地址;
②本地名字服务器向根cn名字服务器发出查询nisi.nwpu.edu.cn地址的请求;
③根名字服务器返回给本地名字服务器一个IP地址, 指向edu.cn名字服务器;
④本地名字服务器向edu名字服务器发出查询nisi.nwpu.edu.cn地址的请求;
⑤ edu名字服务器返回给本地名字服务器一个IP地址, 指向nwpu.edu.cn名字服务器;
⑥本地名字服务器向nwpu.edu.cn名字服务器发出查询nisi.nwpu.edu.cn地址请求;
⑦ nwpu.edu.cn名字服务器将nisi.nwpu.edu.cn名字服务器的IP地址返回给本地名字服务器;
⑧本地名字服务器将该地址返回给解析器。
整个过程可能有些繁琐, 但由于使用了Caching 技术, 其查询过程是很快的。
从上述过程不难看出, 本地名字服务器为了得到一个IP地址往往需要查询多个名字服务器。于是, 在查询地址的同时, 本地名字服务器也就得到了许多其它名字服务器的信息, 像它们的IP地址、所负责的区域等。
本地名字服务器将这些信息连同最终查询到的主机IP地址全部存放在它的Cache 中, 供以后查询使用。当下次解析器再查询与这些域名相关的信息时, 就可以直接引用。这样, 就可以大大减少查询时间了。如果名字服务器Cache中保存有客户所请求的IP地址, 则名字服务器就可直接给出应答。即使没有, 它也知道负责该区域的名字服务器信息, 可以直接查询这些名字服务器, 而不必从根开始逐级查询。
例如, 名字服务器已经查询到了nisi.nwpu.edu.cn的IP地址, 那么在查询过程中, 它已把nisi. nwpu.edu.cn的IP地址和nwpu.edu.cn名字服务器IP地址存放在Cache中。现在如果某个解析器需要查询ncti. nwpu.edu.cn地址的话, 名字服务器就会跳过根名字服务器, 而直接查询nwpu.edu.cn名字服务器。
可见, Caching方法除了能够加速查询过程外, 还能够避免重复查询根名字服务器, 从而减轻了根名字服务器的负担。需要指出的是,Cache中所保存的资源记录将受到生存期的限制,超过生存期,该资源记录将被清除掉,
另外,解析器与名字服务器之间,名字服务器与名字服务器之间可以采用TCP或UDP协议进行通信,表5.3和表5.4中给出了它们的周知端口号。在实际的DNS中,一般采用UDP协议进行通信。
2 HTTP协议
WWW(World Wide Web,简称Web)是Internet中最受欢迎的一种多媒体信息服务系统,它基于客户/服务器模式, 整个系统由Web服务器、浏览器(Browser)和通信协议等三部分组成。其中, 通信协议采用超文本传输协议HTTP(HyperText Transfer Protocol)。HTTP是专门为Web服务系统设计的应用层协议,能够传送任意类型数据对象,以满足Web服务器与浏览器之间的多媒体通信需要。
在Web服务器上, 多媒体信息以网页(Home Page)的形式来发布,网页采用超文本标记语言HTML(Hyper Text Markup Language)编写。客户使用浏览器连接到指定的Web服务器并获取网页后, 由浏览器来解释执行网页所包含的信息,并显示在客户机的屏幕上。
在Web系统中, 使用了一种简单的命名机制:统一资源定位器URL(Universal Resource Locator)来惟一地标识和定位Internet中的资源。它由以下三部分组成:
①客户与服务器之间所使用的通信协议;
②存放信息的服务器地址;
③存放信息的路径和文件名。
例如:URL:http://some.site.edu/somedir/welcome.html。这里, URL并不仅限于描述Web服务器资源, 而且还可以描述其它服务器资源, 如Telnet、FTP、Gopher、Wais和Usenet News等。
Web最初是由欧洲高能物理研究中心CERN开发的, 目的是为科研人员共享学术信息提供一种有效的信息服务手段,时隔不久, Web就作为一种通用的信息发布和服务系统被广泛应用于Internet。
2.1 HTTP协议
HTTP协议是一种基于TCP的应用层协议,它采用客户/服务器模式,为Web客户与服务器之间的通信提供一种公共的方法。因此,HTTP服务器(即Web服务器)作为一种公共的网络服务,使用了一个周知的TCP端口号80。一个典型的HTTP事务处理包括如下的过程:
①客户与服务器之间建立HTTP连接;
②客户向服务器提出服务请求;
③服务器接受请求, 并根据请求返回相应的文件作为应答;
④关闭客户与服务器之间的HTTP连接。
HTTP采用一次性连接策略,每次连接只处理一个请求, 当服务器返回本次请求的应答后便立即关闭连接, 下次请求再重新建立连接。这种一次性连接策略主要考虑到Web服务器只能提供有限个连接,却要面对网络中成千上万个用户,为了避免一个连接处于长时间等待状态而降低服务器的执行效率,故HTTP服务器在一次传输完成后立即释放该连接。
HTTP是一种无状态的协议,服务器不保留与客户交易时的任何状态。这就大大减轻了服务器的存储负担, 从而保持较快的响应速度。
HTTP是一种面向对象的协议, 允许传送任意类型的数据对象。它通过数据类型和长度来标识所传送的数据内容和大小, 并允许对数据进行压缩传送。
当用户在一个HTML文档中定义了一个超文本链后, 浏览器将通过TCP/IP协议与指定的服务器建立连接。首先,客户打开80号TCP端口请求建立一个TCP连接。如果该服务器一直在这个周知的端口上侦听连接请求,则该连接便会建立起来。然后客户通过该连接发送一个包含HTTP方法 (或称命令)的请求块。HTTP规范定义了七种方法, 参见表5.7。每种方法规定了客户和服务器之间不同的信息交换方式, 常用的方法是GET和POST。Web服务器将根据客户请求完成相应操作, 并以应答块形式返回给客户, 最后关闭连接。
方法 说明
GET
请求读取网页
HEAD
请求读取网页的头
PUT
请求存储网页
POST
附加一个命名的资源,如一个网页等
DELETE
删除网页
LINK
连接两个已有的资源
UNLINK
断开两个已有的资源之间的连接
表5.7HTTP方法
在HTTP中, 通过下列两种信息块结构来实现客户与服务器间的信息交换。
1.请求块
在HTTP中, 客户的请求信息将按下列结构来组织:
description: method URL HTTP version
GeneralHeader
RequestHeader
EntityHeader
EntityBody
请求块中的各个字段是根据不同的请求方法任选的。
①描述行(description)定义了方法(method)、URL和HTTP协议版本号。由于这时已建立了连接, 故这里的URL不再包含协议名、服务器名和端口号。
在七种HTTP方法中,最常用的方法是GET和POST。
·GET: 该方法的目的是取回由URL指定的资源, 主要用于取回由一个超文本链所定义的对象。如果对象是文件, 则GET取回的是文件内容; 如果对象是程序或描述, 则GET取回的是该程序执行的结果或该描述的输出; 如是对象是数据库查询, 则GET取回的是本次查询的结果。例如, 如果用户在浏览器中选定一个超文本链, 则浏览器将会用GET方法取回该网页。GET还可以用来指定一个数据库查询。例如: GET/cgi bin/wais.pl? key1+key2?
其中,key1和key2是查找WAIS数据库的关键字(即查询条件)。查询结果是满足查询条件的数据组合。
·POST: 当客户向服务器传送大量的数据,并要求服务器和公共网关接口CGI(Common GatewayInterface)程序作进一步处理时要使用POST方法。例如, 发送HTML FORM内容, 可让CGI程序进行处理。这时, FORM内容的URL编码将随请求一起发出。
②普通头(General Header)是对请求信息的一般说明。
③请求头(Request Header)给出了所传送数据对象的类型、长度、压缩方法以及编程语言等。服务器将根据请求头来解释和处理本次请求。例如, 服务器将根据数据的类型和长度动态地分配空间, 以存放FORM的内容。
④实体头(Entity Header)提供了对实体的进一步描述。
⑤实体体(Entity Body)是客户进行POST请求时的FORM内容, 提供给服务器的CGI程序作进一步处理。
2.应答块
在HTTP中, 服务器的应答信息将按下列结构来组织:
description: HTTPversion Statuscode Reasonphrase
GeneralHeader
ResponseHeader
EntityHeader
EntityBody
同样, 应答块中的各个字段也是根据不同的应答内容任选的。
①描述行(description)给出了HTTP协议版本号、状态码和原因短语。主要说明了服务器是否成功地执行了客户请求及其原因。
②普通头(General Header)是对返回信息的一般说明。
③应答头(Response Header)主要给出了服务器程序名、通知客户所请求的URL需要认证、所请求的资源需要经过多长时间才能使用等信息。
④实体头(Entity Header)提供了有关本次所返回对象的信息。浏览器将根据这些信息来解释所返回的对象。它主要有实体信息的类型、长度、压缩方法、最后一次修改的时间及数据有效期等。
⑤实体体(Entity Body)是服务器应答对象的本身, 可以是任何格式的超媒体文件。
2.2 Web服务器软件
Web服务器软件提供多媒体信息发布服务,这些信息按网页形式来组织和存储,而网页则采用 HTML 语言来编写。对于Web服务器软件来说, 除了提供响应浏览器的请求发送网页的基本功能外, 还提供了很多其它系统功能,如系统管理、安全管理、编程接口、网页编辑、用户跟踪等。
目前,Web服务器软件有很多种,这些Web服务器软件一般都基于某种操作系统平台,并各具特色。例如,Microsoft公司的基于Windows NT平台的IIS(Internet Information Server);Netscape公司的基于Windows NT和UNIX平台的Enterprise Server;Silicon Ghaphics公司的基于UNIX平台的WebFore Series以及基于Linux平台的共享软件Apache等。
2.3 Web客户软件
通常把Web客户软件称为浏览器。它主要用于连接Web服务器、解释执行由HTML 编写的文档, 并将执行结果显示在客户机屏幕上。Web浏览器不仅提供了网页的查找和显示功能,而且还提供了网页管理功能以及其它客户工具。
目前, 浏览器软件有很多种,比较著名的浏览器有Microsoft公司的IE(Internet Explorer)、Netscape通信公司的Navigator以及SUN公司的Hot Java等。最流行的Web浏览器是IE浏览器,Microsoft公司采取将IE浏览器与Windows平台捆绑一起销售的策略,使IE浏览器拥有众多的用户,占有很大的市场份额。
3 FTP协议
FTP是一种基于TCP的应用层协议, 也是UNIX系统中提供的一种重要的网络服务,并被广泛用于Internet中。FTP主要用于在两个主机之间传输各种文件,它采用客户/服务器模式,FTP客户程序必须与远程的FTP服务器建立连接并登录后, 才能进行文件传输。通常, 一个用户必须在FTP服务器进行注册, 即建立用户账号, 拥有合法的用户名和口令后, 才有可能进行有效的FTP连接、登录和传输文件。RFC 959文档详细描述了FTP功能。
在Internet中,存在着成千上万个FTP服务器, 要求用户在每个FTP服务器上都建立用户账号是不现实, 也是不可能的。实际上, Internet中的FTP服务采用匿名(anonymous)FTP服务方式, 即FTP服务器的提供者设置了一个特殊的用户名anonymous提供公众使用, 任何用户都可以使用这个用户名与提供这种匿名FTP服务的主机建立连接, 并共享这个主机对公众开放的资源。匿名FTP的用户名是anonymous; 而密码通常是“guest”或者是使用者的E-mail地址。
当用户登录到匿名FTP服务器后, 其工作方式与常规FTP相同。通常, 出于安全的目的, 大多数匿名FTP服务器只允许下载(Download)文件, 而不允许上载(Upload)文件。也就是说, 用户只能从匿名FTP服务器拷贝所需的文件, 而不能将文件拷贝到匿名FTP服务器上。此外, 匿名FTP服务器中的文件还加入一些保护措施, 确保这些文件不能被修改和删除, 同时也可以防止计算机病毒的侵入。
Internet上众多的匿名FTP服务器形成一个巨大的文件库, 这些文件包含了各种各样的信息、数据和软件(源程序和可执行程序)。通过FTP传输的文件可以是文本文件(ASCII码), 也可以是二进制(binary)文件,用户可使用FTP命令(ASCII/binary)来定义文件类型。
3.1 FTP系统组成
FTP是基于客户/服务器模式的服务系统。它由客户软件、服务器软件和FTP通信协议等三部分组成。
FTP客户软件运行在用户计算机上。用户装入FTP客户软件后, 便可以使用FTP内部命令与远程FTP服务器建立连接,上载或下载文件。
FTP服务器软件运行在远程主机上, 可以为一些可信的用户注册用户账号, 也可以设置一个名叫anonymous的公共用户账号, 向公众开放。
FTP协议在客户与服务器之间建立两条TCP连接:一条是控制连接,TCP端口为21, 主要用于传输命令和参数; 另一条是数据连接, TCP端口为20,主要用于传送数据。
FTP服务器不断在一个周知的21号TCP端口上侦听用户的连接请求。当用户发出连接请求后, 其控制连接便会建立起来;然后,客户使用已注册的用户名和口令,或者使用“anonymous”用户名和“guest/用户E-mail地址”口令进行登录。这时, 用户名和口令通过控制连接发送给服务器。服务器接收到这个请求后, 首先认证用户身份, 然后向客户回送确认或拒绝的应答信息。用户看到登录成功的信息后, 便可以发出文件传输的命令。服务器从控制连接上接收到文件名和传输命令(如get) 后, 便在20号TCP端口上发起数据连接, 在这个连接上进行数据传输,将文件名所指明的文件传输给客户。只要用户不使用close或者bye/quit命令关闭连接, 就可以继续传输其它文件。
3.2 FTP使用操作
FTP的使用操作也很简单。首先运行FTP客户程序, 这时可以直接后缀一个域名或IP地址与远程FTP服务器建立连接(>ftp 域名/IP地址), 或者进入FTP后使用open命令来建立连接(ftp>open 域名/IP地址)。当连接建立起来后, 系统会提示用户输入用户名和密码。当用户输入正确的用户名和口令后, 系统会给出登录成功的显示信息。这时, 用户就可以使用FTP命令进行文件传输或其它操作了。
FTP命令有很多, 但常用的命令只有几种, 对于匿名FTP更是如此。表5.8给出了FTP常用的命令。
常用命令 功能描述
help(或?)
显示所有ftp命令的清单
help命令(或? 命令)
显示指定ftp命令的简介
!
暂停ftp, 在本地主机上调用一个shell
! 命令
在本地主机上调用一个指定的shell
bye (或quit)
终止与ftp服务器的连接, 退出ftp程序
close
终止与ftp服务器的连接, 但不退出ftp程序
open [主机地址]
与指定的ftp服务器建立连接
user[用户名[密码]
在远程ftp服务器上进行用户登录
ascii
传输文件类型设置为文本文件
binary
传输文件类型设置为二进制文件
hash
设置每传输一个数据块将显示一个“#”字符
prompt
设置多文件传输交互会话提示
status
显示ftp各选项的当前状态
cd[远程目录]
改变远程服务器上的工作目录
cdup
将远程服务器上的当前目录转换到父目录
dir [远程目录 [本地文件]]
显示远程目录清单, 可将显示结果存入本地文件
lcd [本地目录]
改变本地主机上的工作目录
ls[远程目录 [本地文件]]
显示远程服务器上指定目录内容的清单
pwd
显示远程服务器当前的工作目录名
get [远程文件 [本地文件]]
获取远程文件并把它存入本地文件
put [本地文件 [远程文件]]
将本地文件传输到远程服务器上存储起来
表5.8常用FTP命令一览表
4 Telnet协议
Telnet协议是一种基于TCP的应用层协议, 也是UNIX系统中提供的一种重要的网络服务,并被广泛用于Internet中。在Telnet协议支持下,用户计算机可以与远程主机建立远程连接, 并作为该远程主机的终端来使用。由于这种服务基于Telnet协议且使用Telnet命令进行远程登录, 故称为Telnet远程登录。当
用户使用Telnet登录远程主机时, 该用户必须在这个远程主机上拥有合法的账号和口令, 否则远程主机将会拒绝登录。RFC 959文档详细描述了Telnet功能。
此外, 很多Internet中的主机都提供了某种形式的公众Telnet服务, 这种服务对每一个Internet用户都是开放的, 只要知道远程主机的地址, 无需口令就能登录到这个远程主机上。
Telnet的主要用途有:
①在用户终端与远程主机之间建立一种有效的连接;
可以共享远程主机上的软件和数据资源;
可以利用远程主机上提供的信息查询服务进行信息查询。
4.1 Telnet系统组成
Telnet采用客户/服务器模式,由客户软件、服务器软件以及Telnet 通信协议等三部分组成。
Telnet客户软件运行在用户的计算机上。当用户执行Telnet命令进行远程登录时,客户软件将完成下列功能:
①建立与远程主机的TCP连接。它在一个周知的23号TCP端口上打开一个套接字。如果远程主机上的Telnet服务器软件一直在这个周知的端口上侦听连接请求, 则这个连接便会建立起来。
②以终端方式为用户提供人机界面。
③将用户输入的信息通过Telnet协议传送给远程主机。
④接收远程主机发送来的信息, 并经过适当的转换显示在用户计算机的屏幕上。
远程主机必须运行Telnet服务器软件, 这样才能提供Telnet远程登录服务。Telnet 服务器软件将完成下列功能:
①通知网络系统已做好提供远程连接服务的准备。
②不断地在周知的23号TCP端口上侦听用户的连接请求。
③处理用户的请求。
④将处理的结果通过Telnet协议返回给客户程序。
⑤继续侦听用户的请求。
4.2 Telnet使用操作
Telnet的使用操作比较简单。首先, 运行Telnet客户程序, 在运行Telnet程序时, 可以直接后缀一个远程主机的域名或IP地址来建立与该远程主机的连接(>Telnet域名/IP地址), 或者进入Telnet后用open命令来建立连接(Telnet>open域名/IP地址)。当连接建立起来后, 系统会提示用户进行登录, 即在“Login: ”后面键入用户的注册名。除非是一个公共账户, 否则系统提示用户输入口令。当用户的注册名和口令被远程主机确认后, 用户计算机就成为该远程主机的一个终端, 就可以进行联机操作了。
Telnet本身是一种应用层协议, 故在使用Telnet时可以把它看成是一种系统命令。Telnet 命令有很多, 但经常使用的命令只有几种, 表5.9给出了Telnet常用的命令。
常用命令 功能描述
Help
联机帮助命令(特殊的Telnet命令)
Open
建立与远程主机的连接
Close
正常结束远程会话, 回到命令方式
display
显示工作参数
mode
进入行命令或字符方式
send
向远程主机发送特别字符
set
设置工作参数
status
显示状态信息
toggle
改变工作参数(toggle? 可显示详细参数)
quit
关闭Telnet会话, 退出Telnet程序
Z
退出Telnet, 进入暂停状态
CR〉
退出命令方式, 返回Telnet的会话方式
与help命令等同, 显示联机帮助信息
表5.9常用Telnet命令一览表
5 电子邮件协议
电子邮件(Electronic Mail, 简称E-mail)是一种通过计算机网络与其他用户进行联系的快速、简便、高效、价廉的现代化通信手段, 也是Internet中最广泛使用的应用服务之一。很多用户都是从收发电子邮件开始熟识Internet的。
最初的电子邮件系统采用的是文件传输协议,随着时间的推移,这种电子邮件系统暴露出很多的缺陷。于是,人们研究和开发出了更加完善的电子邮件系统。
首先,在RFC 821(传输协议)和RFC 822(消息格式)中发表了ARPANET电子邮件建议,后来被Internet采纳,成为事实上的Internet电子邮件标准。
ISO/OSI则定义了一种称为MOTIS (Message-Oriented Txet Interchange Systems)的电子邮件协议,提出了电子邮件系统的体系结构,引入一些新的概念,为理解和实现电子邮件系统提供了理论参考模型。ITU提出了一种称为 X.400的电子邮件建议书,它和MOTIS基本一致。     由于X.400电子邮件系统过于复杂,实现成本太高。因此,现在的大多数电子邮件系统都是基于Internet电子邮件标准。
5.1 电子邮件系统组成
电子邮件与普通信件一样要有一定的书写格式。一个电子邮件由邮件头(Mail Header)和邮件体(Mail Body)组成。邮件头相当于“信封”,由收信人电子邮箱地址(To:)、发信人电子邮箱地址(From:)和信件标题(Subject:)等三部分构成;邮件体相当于“信纸”,即是实际要传送的内容。
电子邮件地址采用标准Internet地址的形式:用户名@域名。其中,域名指示用户邮箱所在的E-mail服务器的地址,用户名是用户邮箱的名称。
通常,一个电子邮件系统应具备下列功能:
(1) 消息生成:为用户提供邮件撰写和编辑功能,并用户提交的邮件头部加入地址信息和其它控制信息,按规定的格式生成标准的邮件消息。
(2) 消息传输:将邮件消息传送给接收者。一般情况下,需要在目的节点与一些中间节点之间建立连接,然后传送消息,最后释放连接。
(3) 状态报告:向发送者报告电子邮件的传输状态,如送到、拒绝或丢失等,这是很重要的功能,以便于发送者了解电子邮件是否传输到接收者。
(4) 邮件显示:为用户显示所接收到的邮件。对于某些格式的邮件,可能需要进行格式转化,或者启动一个特定的阅读器,如音频邮件等。
(5) 邮件处理:接收者对收到的邮件进行处理,如读前丢弃、读后丢弃、读后保存、读后转发以及其它一些处理。
根据MOTIS协议,一个电子邮件系统由两部分组成:用户代理UA (User Agent)和消息传输代理MTA (Message Transfer Agent)。UA运行在用户的个人计算机上,它提供一种用户界面,负责处理邮件编辑、接收、回复以及邮箱管理等;MTA是电子邮局,运行在一个E- mail服务器上,它为用户提供电子邮箱,并负责电子邮件传送和投递。
在实际电子邮件系统中,用户必须首先拥有一个电子邮箱,才能利用E-mail系统来收发邮件。电子邮箱是建立在E-mail服务器磁盘上的专用存储区域,由系统管理员管理,并分配给用户。当用户登录到自己的电子邮箱后,便可以使用E-mail客户软件来收发电子邮件了。E-mail服务器充当“电子邮局”的角色,它除了为用户提供电子邮箱外, 还承担着信件的投递业务。当用户与E-mail服务器建立连接发送一个电子邮件后,E-mail服务器将按收信人地址选择适当的路径把电子邮件发送给网络中的下一个节点,通过网络若干中间节点的“存储—转发”式的传递,最终把邮件投递到目的地,即收信人的电子邮箱里。当收信人联机进入自己电子邮件箱时,就可以查阅到该邮件了。
5.2 邮件传输协议
邮件传输协议规定了在发信人和收信人之间传输邮件消息时所采用的通信机制和方法。在 TCP/IP网络环境中,常用的邮件传输协议有简单邮件传输协议SMTP(Simple Mail Transfer Protocol)、多用途因特网邮件扩展MIME (Multipurpose Internet Mail Extensions)协议、邮局协议POP3(Post Office Protocol)、交互式电子邮件访问协议IMAP(Interactive Mail Access Protocol)以及分布式邮件系统协议DMSP(Distributed Mail System Protocol)等。为了保护电子邮件的隐私性和安全性,人们还提出和开发了一些安全电子邮件协议,如PGP(Pretty Good Privacy)、PEM(Privacy Enganced Mail)和S/MIME等,它们主要采用电子邮件加密和签名等方法来保护电子邮件的安全。PGP和PEM主要用于保护个人电子邮件,而S/MIME协议主要为企业网环境中的电子邮件系统提供了安全保护.
1.SMTP
SMTP协议描述了电子邮件的消息格式及其传输方法,保证被传送的电子邮件能够正确地寻址和可靠地传输。在SMTP协议中,发送主机(作为客户)首先使用25号TCP端口与接收主机(作为服务器)建立TCP连接,然后两者之间通过交换一些控制消息来协商邮件传输,如果接收主机同意接收邮件,则发送主机发出邮件消息,接收主机根据邮件地址将所接收的邮件存放在适合的邮箱里,如果发现邮件无法投递,则向发送主机返回错误消息。当两者之间的所有邮件都交换完后,则释放该连接。
如果发信人和收信人处于同一邮件服务器上,它们之间可以直接交换邮件。否则,需要通过一个或多个SMTP服务器进行转发和中继。在SMTP协议中,邮件消息格式是由RFC 822定义的,一个邮件消息由邮件头和邮件体组成,邮件头包括收信人电子邮箱地址、发信人电子邮箱地址、邮件转发说明、收信人返回路径以及其它一些标志和说明信息等字段。邮件体在邮件头之后,它是用ASCII码表示的邮件内容。
2.MIME
SMTP是一个面向文本的传输协议,只支持文本形式的电子邮件的传输。如果通过E-mail 系统来传输二进制数据或文件,则要使用MIME协议,它除了支持二进制文件传输外,也支持常规的文本文件传输。MIME协议是由RFC 1341和RFC1521文档定义的,RFC1521是RFC 1341的修订版。MIME协议扩展了电子邮件的消息格式,它由邮件头和邮件体组成,邮件头定义了邮件的发送方和接收方有关信息;邮件体是邮件数据,可以是各种数据类型。在MIME协议中,数据类型一般是复合型的,也称为复合数据,它允许将不同类型的数据(如图像、音频和格式化文本等)嵌入到同一个邮件体中进行传送。在包含复合数据的邮件体中,设有边界标志,以标明每种类型数据的开始和结束。在支持MIME协议的E-mail系统中,一个二进制文件将作为电子邮件的附件随电子邮件一起发送出去。接收端的MIME协议将会通知收信人该电子邮件含有附件,并自动将附件分离出来,存入到一个文件中,供收信人读取。由于MIME协议大大扩展了电子邮件的应用范围,因此一般的电子邮件系统都支持MIME协议。
3.POP3
在一个内部网中,用户所使用的PC机并不是直接连入Internet上,不能在 Internet上接收或发送邮件,一般由内部网设立的E-mail服务器来接收或发送邮件。在这种情况下,用户PC机必须使用POP3协议从远程的E- mail服务器邮箱中读取邮件。POP3协议由RFC 1225文档定义,它提供了用户登录、读取邮件、删除邮件和退出等命令,协议本身由ASCII文本和一些类似于SMTP的文件组成,它的关键之处是从远程邮箱中读取邮件,然后存放用户PC机上,以便于以后阅读。因此,对于一个拥有远程邮箱的用户来说,发送邮件时使用SMTP协议,而从远程邮箱读取邮件时使用POP3协议。
5.3 邮件系统使用
用户在E-mail系统时,必须首先在E-mail服务器注册一个用户名,并获得一个电子邮箱。然后可以使用E-mail客户软件来收发电子邮件。E-mail客户软件是用户用来收发和管理电子邮件的软件,在UNIX/Linux系统上的E- mail客户软件大都是基于命令行的,而Windows系统上的E-mail客户软件采用图形化方式,具有形象直观、无需记忆很多繁杂的命令、操作方便、简单易学等特点,典型的是微软公司的Outlook Express软件。