第4章 因特网应用.ppt
第第4 4章章 因特网的应用因特网的应用 v本章内容本章内容域名系统(域名系统(DNS)远程登录(远程登录(Telnet)电子邮件(电子邮件(E-mail)文件传输(文件传输(FTP)万维网(万维网(WWW)*因特网的多媒体应用因特网的多媒体应用14.1 域名系统(域名系统(DNS)v因特网编址机制:三种形式的地址管理机制因特网编址机制:三种形式的地址管理机制域名地址域名地址:v层次化的地址,便于人们记忆。层次化的地址,便于人们记忆。IP地址地址:202.117.0.20v32位逻辑编码,用来在因特网中定位主机和路由器的接口。位逻辑编码,用来在因特网中定位主机和路由器的接口。TCP/IP网络上的每台主机都必须有唯一的网络上的每台主机都必须有唯一的IP地址。地址。v域名地址转换到域名地址转换到IP地址由域名服务系统(地址由域名服务系统(Domain Name System,DNS)实现,这个转换过程又称为)实现,这个转换过程又称为域名解析域名解析(Name Resolution)。MAC地址地址:12-FA-9B-23-DB-11v48位物理编码,用来在局域网中识别主机位物理编码,用来在局域网中识别主机/路由器的接口。路由器的接口。v IP地址转换到地址转换到MAC地址由地址解析协议(地址由地址解析协议(ARP)实现。)实现。DNS(RFC 1035)也是也是TCP/IP的应用层的应用层协议之一。它利用了协议之一。它利用了UDP传输层协议,端传输层协议,端口为口为53。2因特网上计算机的名字因特网上计算机的名字vIP地址的优点和缺点地址的优点和缺点IP地址更适合计算机处理地址更适合计算机处理vIP地址包含足够的路由信息。地址包含足够的路由信息。IP地址不适合人们记忆地址不适合人们记忆无法通过无法通过IP地址猜测主机的用途地址猜测主机的用途v如一个主机到底是如一个主机到底是www服务器还是服务器还是FTP服务器?服务器?v如何取长补短如何取长补短域名系统域名系统域名:层次化的主机名域名:层次化的主机名域名系统:任务是将域名解析为对应的域名系统:任务是将域名解析为对应的IP地址。地址。优点:优点:v使用方便,易于记忆。使用方便,易于记忆。v一致性好,不会随一致性好,不会随IP地址的改变而改变。地址的改变而改变。3域名空间(域名树)域名空间(域名树)域名空间分为若干层次:根域(顶级域)和次级域域名空间分为若干层次:根域(顶级域)和次级域4主机域名的构成主机域名的构成v主机名是由一系列由主机名是由一系列由“.”分开的标签组成:分开的标签组成:每个标签不能超过每个标签不能超过6363个字符;个字符;全部的标签不能超过全部的标签不能超过255255个字符;个字符;书写顺序是书写顺序是从主机从主机开始直开始直到域名树的到域名树的根域为止。根域为止。例如:例如:v域域名名是是一个组织在域名空间中的名字:一个组织在域名空间中的名字:例如,西安交大的域名为例如,西安交大的域名为。该组织中已注册的主机都以组织的域名为后缀。该组织中已注册的主机都以组织的域名为后缀。5DNS系统的组织结构系统的组织结构vDNS是一个分布式的数据库是一个分布式的数据库DNS使用了分布式的域名数据库,运行域名数据库的计使用了分布式的域名数据库,运行域名数据库的计算机称为算机称为DNS服务器。服务器。vDNS服务器以层次型结构(和域名树相对应)分布在世界各地,服务器以层次型结构(和域名树相对应)分布在世界各地,每台每台DNS服务器只存储了一小部分服务器只存储了一小部分DNS数据。数据。每一个拥有域名的组织都必须要有每一个拥有域名的组织都必须要有DNS服务器,以提供服务器,以提供自己域内的域名到自己域内的域名到IP地址的映射服务。地址的映射服务。v例如,西安交大的例如,西安交大的DNS服务器为服务器为202.117.0.20,它负责进行,它负责进行域内的域名和域内的域名和IP之间的转换。之间的转换。通常每个域都有一台主通常每个域都有一台主DNS服务器,然后有一台或数台服务器,然后有一台或数台备份备份DNS服务器。服务器。v西安交大的备份西安交大的备份DNS服务器为服务器为202.117.0.21。6vDNS服务器分为三类服务器分为三类本地域名服务器本地域名服务器(Local Name Server)v即每个组织即每个组织/企业的企业的DNS服务器。服务器。根域名服务器根域名服务器(Root Name Server)v为下级域名服务器提供域名解析服务;为下级域名服务器提供域名解析服务;它需要知道全部根域名服务器(和部分二级域名服务器)的地址。它需要知道全部根域名服务器(和部分二级域名服务器)的地址。v数量很少,由于历史原因,主要分布在北美地区。数量很少,由于历史原因,主要分布在北美地区。认证域名服务器认证域名服务器(Authoritative Name Server)v每台因特网中的主机都应该在所在域的域名服务器中注册,提供每台因特网中的主机都应该在所在域的域名服务器中注册,提供注册的域名服务器就是该主机的认证域名服务器。注册的域名服务器就是该主机的认证域名服务器。v一般来说,认证域名服务器就是主机所在单位的一般来说,认证域名服务器就是主机所在单位的DNS服务器。服务器。DNS服务器服务器7vDNS服务器的功能服务器的功能能够直接处理域内的域名解析请求。能够直接处理域内的域名解析请求。能够向其他能够向其他DNS服务器发出查询请求来处理对其服务器发出查询请求来处理对其他域的域名解析请求。他域的域名解析请求。能够缓存对其他域的域名解析请求的结果。能够缓存对其他域的域名解析请求的结果。vDNS服务器服务器的操作的操作如果本地域名服务器不能解析域名,它就向根域如果本地域名服务器不能解析域名,它就向根域名服务器询问;名服务器询问;根域名服务器将告诉它与哪一个域名服务器联系;根域名服务器将告诉它与哪一个域名服务器联系;DNS再再向该域名服务器进行查询;向该域名服务器进行查询;一个一个DNS请求可能要请求可能要经过多个往返经过多个往返。有两种查询有两种查询DNS服务器的方法:服务器的方法:递归查询递归查询和和迭代查询迭代查询。递归查询迫使递归查询迫使DNS服务器做出查询成功或服务器做出查询成功或失败的响应。在递归查询中,如果需要的话,失败的响应。在递归查询中,如果需要的话,DNS服务器必须与其他的服务器必须与其他的DNS服务器通信。服务器通信。从其他的从其他的DNS服务器收到成功响应的信息后,服务器收到成功响应的信息后,它就将响应返回给客户机。它就将响应返回给客户机。在迭代查询中,在迭代查询中,DNS服务器根据本地的区服务器根据本地的区域文件或本地缓存文件,提供最好的信息。域文件或本地缓存文件,提供最好的信息。如果名字服务器没有能够回答解析的任何信如果名字服务器没有能够回答解析的任何信息,它不会仅仅返回一个简单的否定信息,息,它不会仅仅返回一个简单的否定信息,它会试着在本地域之外查找信息,为了解析它会试着在本地域之外查找信息,为了解析一个名字,它可能会查询很多外部的一个名字,它可能会查询很多外部的DNS服服务器。务器。8v域名解析的例子域名解析的例子某个用户要浏览西安交大的主页,用户主机(假定为某个用户要浏览西安交大的主页,用户主机(假定为A)必须获得)必须获得主机(以下简称为主机(以下简称为xjtu)的)的IP地址。地址。解析过程:解析过程:vA向本地域名服务器向本地域名服务器DNS1查询请求;查询请求;v如果如果DNS1上有上有xjtu的记录,就立即将的记录,就立即将JD的的IP地址返回给地址返回给A;v如果如果DNS1上没有上没有xjtu的记录,的记录,DNS1就会向根域名服务器发就会向根域名服务器发出查询请求;出查询请求;v根域名服务器把负责根域名服务器把负责cn域的域名服务器域的域名服务器B的的IP地址告诉给地址告诉给DNS1;vDNS1向向B查询,获得负责查询,获得负责域域DNS服务器服务器C的地址;的地址;vDNS1向向C查询,获得负责查询,获得负责域域DNS服务器服务器D的地址;的地址;vDNS1向向D查询,即可获得查询,即可获得的的IP地址。地址。v(注:在命令行下可用(注:在命令行下可用nslookup命令进行命令进行DNS查询)查询)9域名数据库中的记录类型域名数据库中的记录类型vA记录记录(Address记录)记录)A 记录是用来指定域名对应的记录是用来指定域名对应的IP地址。最常用地址。最常用vNS记录记录(Name Server记录)记录)域名服务器记录,用来指定该域名由哪个域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。服务器来进行解析。v别名记录(别名记录(CNAME记录记录)这种记录用于将多个名字映射到同一台计算机。这种记录用于将多个名字映射到同一台计算机。通常用于同时提供通常用于同时提供WWW、FTP和和MAIL服务的计算机。服务的计算机。例例 vMX记录记录(Mail Exchanger记录)记录)邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。信人的地址后缀来定位邮件服务器。例例 vPTR记录记录域名指针记录,用于反向域名指针记录,用于反向 DNS查找。例如,要查找查找。例如,要查找202.117.0.20的域名时就的域名时就需要借助于需要借助于PTR记录。记录。vSOA记录记录用于说明一个用于说明一个DNS系统的基本信息系统的基本信息例如,一台名为例如,一台名为“”(A记录)的计算机,记录)的计算机,它同时提供它同时提供WWW和和MAIL服务,为了便于用户访问服务,为了便于用户访问服务,可以为该计算机设置两个别名服务,可以为该计算机设置两个别名(CNAME):):WWW和和MAIL。这两个这两个别名的全称就是别名的全称就是“”和和“”,实际上它们,实际上它们都指向都指向“”。例如,当例如,当Internet上的某用户要发一封上的某用户要发一封信给信给 时,时,该用户的邮件系统通过该用户的邮件系统通过DNS查找查找这个域名的这个域名的MX记录,如果记录,如果DNS系统查找到该系统查找到该MX记录,记录,用户计算机就将邮件发送到用户计算机就将邮件发送到MX记录所记录所指定的邮件服务器上。指定的邮件服务器上。10vDNSDNS数据库中的资源纪录(数据库中的资源纪录(RRsRRs)11DNS与与ARP的比较的比较v地址类型地址类型DNS:域名:域名(应用层地址应用层地址)IP地址地址(网络层地址网络层地址)ARP:IP地址地址(网络层地址网络层地址)MAC地址地址(数据链路层地数据链路层地址址)v作用范围作用范围DNS:全局(整个因特网):全局(整个因特网)ARP:本地(仅限于:本地(仅限于LAN内部)内部)v工作方式工作方式DNS:本质上是对一个分布式数据库的查询过程:本质上是对一个分布式数据库的查询过程ARP:LAN内部的广播查询内部的广播查询124.2 远程登录(远程登录(Telnet)v什么是什么是Telnet?Telnet是是Telecommunication Network Protocol的英文的英文缩写。缩写。用户在本地发出命令,通过用户在本地发出命令,通过IP网络,进入网络,进入另一台机器另一台机器的系的系统,这个过程即称为远程登录。统,这个过程即称为远程登录。v用户通过本地计算机登录到其他计算机上,本地计用户通过本地计算机登录到其他计算机上,本地计算机就成为了那台计算机的算机就成为了那台计算机的“终端终端”,与那台机器,与那台机器本身的终端享有同样的待遇,在它的权限范围内操本身的终端享有同样的待遇,在它的权限范围内操作那台计算机。作那台计算机。v大多数提供远程登录的目标系统以大多数提供远程登录的目标系统以UNIX为主为主。v注意:远程登录中的注意:远程登录中的“远远”字并非指距离,而是指不是从本地登录到这字并非指距离,而是指不是从本地登录到这台计算机。台计算机。13Telnet Server Username:Password:InternetTelnet中国西安交通大学美国加州大学14Telnet是如何工作的是如何工作的vTelnet采用了采用了Client/Server工作方式,并使用工作方式,并使用TCP传输协议传输协议进行通信(有连接过程)。进行通信(有连接过程)。v客户端运行客户端运行Telnet客户端程序客户端程序建立与服务器端的建立与服务器端的TCP连接;连接;接收用户的输入命令及其他信息;接收用户的输入命令及其他信息;对命令及信息进行预处理;对命令及信息进行预处理;把信息用把信息用TCP协议发送给服务器端;协议发送给服务器端;接收服务器端返回的信息并做相应处理接收服务器端返回的信息并做相应处理,例如显示在屏幕上。例如显示在屏幕上。v服务器端运行服务程序服务器端运行服务程序Telnet(常驻进程)(常驻进程)通知正在准备接受连接的网络软件,通知正在准备接受连接的网络软件,Telnet服务已启动;服务已启动;网络软件建立与客户机的网络软件建立与客户机的TCP连接;连接;等候以标准格式出现的服务请求;等候以标准格式出现的服务请求;对到来的服务请求命令给予执行;对到来的服务请求命令给予执行;把服务结果按标准格式回送给客户机;把服务结果按标准格式回送给客户机;继续等待新到达的服务请求。继续等待新到达的服务请求。15如何使用如何使用Telnetv启动启动telnet客户端程序客户端程序telnet remote-system port-number其中其中vtelnet:命令名命令名。注意也有别的名称,如注意也有别的名称,如NVT220NVT220等。等。vremote-system:目标:目标主机名主机名(域名域名)或或目标主机的目标主机的IPIP地址地址。vport-number:端口号端口号。它它用于标识用于标识服务器上的服务器上的telnettelnet服务服务 程序进程程序进程。telnettelnet的的默认端口号是默认端口号是2323。vtelnet的的内部命令内部命令行提示符为行提示符为:telnettelnet16v启动客户程序例(启动客户程序例(UNIX)启动时直接指明要连接的目标主机启动时直接指明要连接的目标主机$telnet 指明目标指明目标主机名主机名$telnet 202.117.35.70 指明目标指明目标主机主机IPIP地址地址启动时不指明目标主机启动时不指明目标主机$telnetv这时将进入这时将进入telnettelnet内部命令状态内部命令状态telnet 内部命令提示符内部命令提示符v在内部命令状态下键入在内部命令状态下键入openopen命令连接远程主机命令连接远程主机 telnetopen telnetopen 202.117.35.7017v连接时远程主机将要求用户输入连接时远程主机将要求用户输入用户名用户名和和口令口令 login:password:如果通过了用户认证,用户就可以像在远程主机的如果通过了用户认证,用户就可以像在远程主机的终端上一样操作远程主机了。终端上一样操作远程主机了。在远程主机(服务器)提示符下,用户可以在本地在远程主机(服务器)提示符下,用户可以在本地计算机上输入远程系统命令,如计算机上输入远程系统命令,如emailemail、lynxlynx、picopico、lsls、pwdpwd等。等。v断开与远程主机的连接断开与远程主机的连接在远程系统提示符下键入命令:在远程系统提示符下键入命令:exitexit,logoutlogout或或Ctrl-DCtrl-D184.3 电子邮件(电子邮件(E-mail)v电子邮件是因特网上最典型的服务之一:电子邮件是因特网上最典型的服务之一:因特网中出现最早,应用最普遍、最广泛因特网中出现最早,应用最普遍、最广泛v因特网用户中因特网用户中9090以上使用过电子邮件以上使用过电子邮件方便、快捷、廉价方便、快捷、廉价v电子邮件系统的组成电子邮件系统的组成(用户代理、邮件服务器、电子邮件协议)(用户代理、邮件服务器、电子邮件协议)用户代理(用户代理(User Agent)v功能:编辑、发送、接收、阅读和管理电子邮件。功能:编辑、发送、接收、阅读和管理电子邮件。v常见的用户代理有:常见的用户代理有:Outlook、Outlook Express、Foxmail等。等。19邮件服务器(邮件服务器(E-mail Server)v功功能能:类类似似“邮邮局局”,接接收收和和转转发发电电子子邮邮件件,向向发发信信人报告邮件发送状态人报告邮件发送状态v按照客户服务器方式工作按照客户服务器方式工作既是客户,又是服务器既是客户,又是服务器电子邮件协议电子邮件协议v发送发送/转发邮件:转发邮件:SMTP(Simple Mail Transfer Protocol)RFC 821、822MIME(Multipurpose Internet Mail Extension)RFC 1521v读取邮件:读取邮件:POP3(Post Office Protocol)RFC 1939IMAP4(Internet Message Access Protocol)RFC 206020n点击观看点击观看电子邮件的发送和接收过程电子邮件的发送和接收过程TCP连接连接TCP连接连接TCP连接连接TCP连接连接l 发信人运发信人运行用户代理行用户代理编辑邮件。编辑邮件。发件人的邮件服务器收件人的邮件服务器l 发送端邮件服务发送端邮件服务器收到邮件后,将邮器收到邮件后,将邮件放入邮件缓存队列件放入邮件缓存队列,等待发送。,等待发送。l 发送端邮件服务器中的发送端邮件服务器中的SMTP客户进程发现邮件客户进程发现邮件队列中有待发送的邮件,队列中有待发送的邮件,就与接收端邮件服务器建就与接收端邮件服务器建立立TCP连接。连接。l 发送端的发送端的SMTP客户进客户进程使用程使用SMTP协议把邮件协议把邮件队列中的邮件发送给接收队列中的邮件发送给接收端的端的SMTP服务进程。服务进程。l 发送完后,关闭发送完后,关闭TCP连连接。接。l 接收端邮件服务接收端邮件服务器将收到的邮件放器将收到的邮件放入收件人的邮箱中。入收件人的邮箱中。l 收件人收信时,运行收件人收信时,运行用户代理,用户代理使用户代理,用户代理使用用POP3协议将用户邮协议将用户邮箱中的邮件下载到本地箱中的邮件下载到本地计算机。计算机。l 用户代理利用用户代理利用SMTP协议将邮协议将邮件传送给发件人件传送给发件人的邮件服务器。的邮件服务器。21电子邮件地址电子邮件地址v电子邮件用户必须有一个电子邮件地址电子邮件用户必须有一个电子邮件地址许多网站提供免费电子邮件服务,需要的话可到这些网许多网站提供免费电子邮件服务,需要的话可到这些网站上申请一个邮箱(电子邮件地址)。站上申请一个邮箱(电子邮件地址)。v电子邮件地址由两部分组成:电子邮件地址由两部分组成:用户名用户名邮箱所在的邮件服务器的主机域名邮箱所在的邮件服务器的主机域名v用户名和邮件服务器域名之间用用户名和邮件服务器域名之间用“”隔开隔开 用户名用户名邮件服务器域名邮件服务器域名例如:例如:22vSMTP是是因因特特网网上上通通用用的的电电子子邮邮件件传传输输协协议议。它它的的特特点点是是简单明了,容易实现。简单明了,容易实现。vSMTP定义了邮件格式及如何定义了邮件格式及如何通过通过TCP连接连接传输邮件。传输邮件。vSMTP使用使用25号端口在两个邮件服务器之间建立号端口在两个邮件服务器之间建立TCP连接。连接。vSMTP协议由两个文档进行描述:协议由两个文档进行描述:RFC821:描述了邮件服务器之间如何转发邮件;:描述了邮件服务器之间如何转发邮件;RFC822:定义邮件信息的格式。:定义邮件信息的格式。vSMTP规定邮件的全部内容(包括附件)规定邮件的全部内容(包括附件)无论是什么无论是什么类型的数据类型的数据都必须转换成都必须转换成7 7位位ASCII码进行传输。码进行传输。简单邮件传输协议简单邮件传输协议SMTP23邮件格式邮件格式RFC822v标准的电子邮件信息由两部分组成:标准的电子邮件信息由两部分组成:邮件头(邮件头(header):相当于):相当于“信封信封”,主要包,主要包括括v收件人地址收件人地址v投递日期投递日期v邮件主题邮件主题v发件人地址发件人地址邮件体(邮件体(body):邮件正文,相当于装在信封):邮件正文,相当于装在信封内的信。内的信。v邮件格式的例子邮件格式的例子 24Received:from (unknown 216.136.131.41)by 192.168.30.102(Coremail)with SMTP id XQEAACPEeD3FAIMp.1for;Fri,06 Sep 2004 23:05:16+0800(CST)Message-ID:Received:from 67.242.159.232 by via HTTP;Fri,06 Sep 2004 08:11:04 PDTDate:Fri,6 Sep 2004 08:11:04-0700(PDT)From:Joy Li Subject:ThanksTo:ChenWenge Cc:In-Reply-To:MIME-Version:1.0Content-Type:text/plain;charset=us-ascii陈老师:陈老师:我的第一次作业在附件中,请批阅。我的第一次作业在附件中,请批阅。李思李思 012345678 能动能动21班班25n邮件头信息都由一些关键词引导。邮件正文则没邮件头信息都由一些关键词引导。邮件正文则没有任何关键词引导,正文是用户编辑邮件时输入的。有任何关键词引导,正文是用户编辑邮件时输入的。n邮件头中的一些主要关键词的含义是:邮件头中的一些主要关键词的含义是:Received:接收邮件的路径、日期、时间以及邮件代理程序的版本号。接收邮件的路径、日期、时间以及邮件代理程序的版本号。From:表示邮件发送者,包括邮件地址和发送方的表示邮件发送者,包括邮件地址和发送方的“真实姓名真实姓名”。Date:发信时间。发信时间。Message-ID:由传输代理分配给该邮件的唯一标识。由传输代理分配给该邮件的唯一标识。To:收件人的电子邮件地址。收件人的电子邮件地址。Subject:邮件主题,是发件人写的,告诉收件人该邮件的目的。邮件主题,是发件人写的,告诉收件人该邮件的目的。Content-type:邮件正文的类型,是文本还是邮件正文的类型,是文本还是MIME格式。格式。Cc:表示抄送,它是表示抄送,它是“Carbon copy”的缩写,意为的缩写,意为“复写副本复写副本”,它用来指定那些将收到该邮件副本的人的邮件地址。它用来指定那些将收到该邮件副本的人的邮件地址。26SMTP通信通信v支持支持SMTP协议的邮件服务器之间采用客户协议的邮件服务器之间采用客户/服务器服务器方式工作,连接发起方称为客户,接收方称为服务方式工作,连接发起方称为客户,接收方称为服务器。一旦连接建立,邮件服务器之间通过器。一旦连接建立,邮件服务器之间通过SMTP协协议进行对话,完成邮件的转发功能。议进行对话,完成邮件的转发功能。vSMTP定义了几个非常简单的命令用来进行邮件的定义了几个非常简单的命令用来进行邮件的发送,其中包括:发送,其中包括:HELOMAIL FROMRCPT TODATAQUIT27下面是一个用下面是一个用Telnet进行进行SMTP协议对话的例子:协议对话的例子:$Telnet 25 Trying 202.117.1.21.Connected to .Escape character is.220 ESMTP ready 202.117.35.70/unknown HELO 250 MAIL FROM:250 OK RCPT TO:250 OK DATA 354 go ahead This is a test message.Be sure is send by Telnet.250 OK:has queued QUIT 221 close connection Connection closed by foreign host.TCP连接连接SMTP握手握手邮邮件件传传送送断开断开连接连接/连接到email服务器的25端口28SMTP的特点的特点v电子邮件无论内容多少(包括附件),均电子邮件无论内容多少(包括附件),均使用一个报文(使用一个报文(Message)发送。发送。v所有的邮件内容,必须使用所有的邮件内容,必须使用ASCII代码传送。代码传送。v所有的二进制文件内容必须使用所有的二进制文件内容必须使用MIME格式格式转换成转换成ASCII代码(膨化处理)。代码(膨化处理)。29E-mail的三种编码标准的三种编码标准vUU编码编码(Unix-to-Unix Encoding)原来是原来是Unix系统中使用的编码和解码程序,后来被改写成为在系统中使用的编码和解码程序,后来被改写成为在DOS中亦中亦可执行的程序。在早期传送非可执行的程序。在早期传送非ASCII码的文件时,最常用的便是这种码的文件时,最常用的便是这种UU编码方式。编码方式。vMIME标准标准(Multipurpose Internet Mail Extensions)多媒体邮件传送模式。它允许把各种格式的多媒体文件附加在电子邮件中一多媒体邮件传送模式。它允许把各种格式的多媒体文件附加在电子邮件中一起送出。起送出。MIME标准现已成为标准现已成为Internet电子邮件的主流。电子邮件的主流。MIME定义两种编码方式:定义两种编码方式:Base64与与QP(Quote-Printable)。QP的规则是对于信件中的的规则是对于信件中的7位数据无须重复编码,仅将位数据无须重复编码,仅将8位的数据转成位的数据转成7位。位。QP编码适用于非编码适用于非ASCII码的文字内容,例如码的文字内容,例如,我们的中文文件。我们的中文文件。QP编码的方编码的方式是将一个字节用两个式是将一个字节用两个16进制数值表示,然后在前面加进制数值表示,然后在前面加“=”。所以经过。所以经过QP编码后的文字通常是这个样子:编码后的文字通常是这个样子:=A4j=AEa=A6n=A1I=A7=DA=AC0=B1=E7=A9s=A7g=A1A=AB=DC=B0Base64。其编码规则是将整个文件重新编码成。其编码规则是将整个文件重新编码成7位,通常用于传送二进制文位,通常用于传送二进制文件。件。Base64编码后的文字通常是这个样子:编码后的文字通常是这个样子:pGquYaZuoUmn2qxPseepc6dnoUGr3LCqv70ms具有具有MIME功能的功能的Email软件大都能自动判别邮件是采用何种编码,然后自动软件大都能自动判别邮件是采用何种编码,然后自动选择用选择用QP或或Base64来解码。来解码。vBinhex编码编码 Binhex的编码方式常用于的编码方式常用于Apple公司的公司的Mac计算机,计算机,PC上较少使用。上较少使用。30邮件读取协议邮件读取协议v常用的有:常用的有:POP3和和IMAPvPOP3(邮局协议)(邮局协议)基于基于TCP协议协议客户客户/服务器方式服务器方式v客户端程序(客户端程序(Outlook Express、Foxmail等)等)v服务器程序(服务器程序(Exchange等)等)v客户与服务器建立客户与服务器建立TCP连接后才能读取邮件连接后才能读取邮件功能:功能:v为用户提供邮箱为用户提供邮箱v保存收到的邮件保存收到的邮件v把邮件传输给用户(邮件在客户端脱机处理)把邮件传输给用户(邮件在客户端脱机处理)邮件传输给用户后,邮件传输给用户后,POP服务器一般不再保留服务器一般不再保留31vIMAP(因特网报文存取协议)(因特网报文存取协议)基于基于TCP协议(同协议(同POP3)客户客户/服务器方式(同服务器方式(同POP3)功能功能v为用户提供邮箱为用户提供邮箱v保存收到的邮件保存收到的邮件v用户可直接操纵用户可直接操纵IMAP服务器上自己的邮件文件夹服务器上自己的邮件文件夹新建分类文件夹,移动邮件,删除邮件,查找邮件等新建分类文件夹,移动邮件,删除邮件,查找邮件等v仅需要打开邮件时,邮件才传输到客户端仅需要打开邮件时,邮件才传输到客户端邮件将一直保存在邮件将一直保存在IMAP服务器上,除非用户明确地发出删服务器上,除非用户明确地发出删除命令除命令典型例子:典型例子:Web Mail32Outlook Express的使用的使用v使用通信簿使用通信簿建立通信簿建立通信簿联系人联系人通信组通信组手工添加手工添加自动添加:自动添加:“工具工具”“添加到添加到通信簿通信簿”修改通信簿修改通信簿从通信簿发送邮件从通信簿发送邮件通信簿的导入和导出(通信簿的导入和导出(Outlook)33Outlook Express的使用的使用v电子邮件的脱机存储电子邮件的脱机存储一般的电子邮件存储在客户端的邮件数据库中,一般的电子邮件存储在客户端的邮件数据库中,对长期的存储不够方便对长期的存储不够方便可以将邮件作为分立的普通的文件存储在文件可以将邮件作为分立的普通的文件存储在文件系统中(磁盘、光盘上)系统中(磁盘、光盘上)邮件文件的文件名后缀为邮件文件的文件名后缀为.emlv可以将邮件导出到可以将邮件导出到Outlook或或ExcelOutlook比比OE要具备更丰富的处理功能;要具备更丰富的处理功能;导出到导出到Excel可以更方便地管理邮件。可以更方便地管理邮件。34353637Outlook Express的使用的使用v建立自己的文件夹建立自己的文件夹除了邮件客户程序提供的除了邮件客户程序提供的“收件箱收件箱”、“发件箱发件箱”等文件夹外,建立自己的文件夹有利于对邮件等文件夹外,建立自己的文件夹有利于对邮件的管理;的管理;自己的文件夹可以按邮件的类型建立;自己的文件夹可以按邮件的类型建立;也可按自己的喜好建立。也可按自己的喜好建立。v及时清理邮件,特别是垃圾邮件及时清理邮件,特别是垃圾邮件v电子邮件非常容易感染计算机病毒:电子邮件非常容易感染计算机病毒:安装防病毒软件;安装防病毒软件;不打开可疑的邮件(最好立即删除)。不打开可疑的邮件(最好立即删除)。384.4 文件传输(文件传输(FTP)vFTP是什么是什么?FTP是是File Transfer Protocol的英文缩写,的英文缩写,即即“文件传文件传输协议输协议”。用于在计算机之间用于在计算机之间传送传送文件文件v把文件从本地主机把文件从本地主机传送到传送到远程主机称为远程主机称为“上载上载”Upload,Putv把文件从远程主机把文件从远程主机传送到传送到本地主机称为本地主机称为“下载下载”Download,GetvFTP可以可以传输各种类型的文件传输各种类型的文件:文本文件(文本文件(ASCII)、)、二进二进制制文件(文件(Binary););压缩压缩文件文件、非压缩文件。、非压缩文件。v登录登录FTP服务器的用户需要注册才能登录,但有的服务器的用户需要注册才能登录,但有的FTP服务器也允许匿名(服务器也允许匿名(Anonymous)登录。)登录。39Software、ProgramDocumentsVideo,Audioftp Username:anonymousPassword:匿名登录匿名登录FTPAnonymous FTP S40FTP工作原理工作原理vFTP基于基于TCP协议,使用协议,使用TCP协议实现文件协议实现文件的传输。的传输。vFTP以客户以客户/服务器方式工作:服务器方式工作:FTP客户程序,如客户程序,如Cuteftp等,运行在用户计算等,运行在用户计算机上机上v用户通过它发出传输文件的请求用户通过它发出传输文件的请求FTP服务程序,如服务程序,如Serv-U等,运行在服务器上等,运行在服务器上v接收并响应客户程序的请求,把指定的文件发送到客接收并响应客户程序的请求,把指定的文件发送到客户端户端41v在进行文件传输时,在进行文件传输时,FTP的客户和服务器之的客户和服务器之间要建立两个间要建立两个TCP连接:连接:控制连接控制连接(Control Connection):v客户程序与客户程序与FTP服务器的端口服务器的端口21建立控制连接建立控制连接,并在整并在整个个FTP会话过程中维持连接;会话过程中维持连接;v控制连接用于传输请求和应答信息;控制连接用于传输请求和应答信息;v由由FTP客户端发起控制连接。客户端发起控制连接。数据连接数据连接(Data Connection):):v数据连接用于传输文件;数据连接用于传输文件;v每传输一个文件都要建立一个数据连接(在每传输一个文件都要建立一个数据连接(在FTP服务服务器的端口器的端口2020););v由由FTP服务器发起数据连接。服务器发起数据连接。42TCP数据传送数据传送控制控制FTP客户端客户端TCP数据传送数据传送控制控制FTP服务器端服务器端X21因特网因特网20Y由客户端发起由服务器端发起43FTP的文件传输过程的文件传输过程v建立控制连接(客户端发起)建立控制连接(客户端发起)(1)客户端发送一个客户端发送一个TCP SYN(TCP同步)包给服务器同步)包给服务器端,目的端口为端,目的端口为21,源端口为一个临时端口;,源端口为一个临时端口;(2)服务器端发送)服务器端发送SYN ACK(同步确认)包给客户端,(同步确认)包给客户端,源端口为源端口为21,目的端口为客户端上使用的临时端口;,目的端口为客户端上使用的临时端口;(3)客户端发送一个)客户端发送一个ACK(确认)包。(确认)包。控制连接建立后,客户端使用这个连接来发送控制连接建立后,客户端使用这个连接来发送FTP命令,命令,服务器端使用这个连接来发送服务器端使用这个连接来发送FTP应答。应答。44v建立数据连接建立数据连接当用户发出一个文件传输请求时,客户端软件通过控制当用户发出一个文件传输请求时,客户端软件通过控制连接向服务器发出一个连接向服务器发出一个PORT命令,在命令,在PORT命令中指定命令中指定一个临时端口,目的是希望服务器在建立数据连接时使一个临时端口,目的是希望服务器在建立数据连接时使用这个临时端口;用这个临时端口;(1)服务器端发送一个)服务器端发送一个SYN包给客户端,源端口为包给客户端,源端口为20,目,目的端口为客户端在的端口为客户端在PORT命令中指定的临时端口;命令中指定的临时端口;(2)客户端发送一个)客户端发送一个SYN ACK包,源端口为临时端口,包,源端口为临时端口,目的端口为目的端口为20;(3)服务器端发送一个)服务器端发送一个ACK包。包。v文件传输文件传输 数据连接建立后,发送数据的一方使用这个连接把文件数据连接建立后,发送数据的一方使用这个连接把文件传送给对方。传送给对方。45v断开数据连接断开数据连接当数据传输完成后:当数据传输完成后:(1)发送数据的主机发出一个)发送数据的主机发出一个FIN命令来结束数据连接;命令来结束数据连接;(2)接收方以)接收方以ACK确认;确认;(3)接收方紧接着也发送一个)接收方紧接着也发送一个FIN命令;命令;(4)发送数据的主机以)发送数据的主机以ACK确认。确认。v断开控制连接断开控制连接FTP会话结束后:会话结束后:(1)客户端以)客户端以FIN命令来关闭控制连接命令来关闭控制连接(2)服务器端以)服务器端以ACK确认;确认;(3)服务器端发送一个)服务器端发送一个FIN;(4)客户端以)客户端以ACK确认。确认。46 ftp Client ftp Server TCP:21 控制连接初始化控制连接初始化,控制端口控制端口 SYNPort xxxx-Port 21