传输编码类型Shortlines:行的长度不能超过1000字符。Unlimited-lengthlines:不限制行的长度不推荐使用扩展ASCII字符集和二进制编码进行传输。MIME定义了Base64和Quoted-printable两种编码形式。第94页,共142页,星期日,2025年,2月5日Base64编码每24比特数据被分成4个6比特的单元,每个单元编码成一个合法的ASCII字符,其对应关系为:0~25编码成‘A’~‘Z’,26~51编码成‘a’~‘z’,52~61编码成‘0’~‘9’,62和63分别编码成‘+’和‘/’,‘==’和‘=’分别表示最后一组只有8比特和16比特,回车和换行忽略。第95页,共142页,星期日,2025年,2月5日引用可打印编码若数据的绝大部分为ASCII字符,只有一小部分是非ASCII码字符,则只对非ASCII字符进行转换。将该字符的十六进制表示用两个ASCII字符标记,前面冠以特殊字符“=”。(更正:图中“5”应为“=”)第96页,共142页,星期日,2025年,2月5日22.3SMTP邮件的真正传送由MTA完成,SMTP定义了MTA客户和MTA服务器之间的交互方式。SMTP使用命令和响应在MTA客户和MTA服务器之间传送报文。SMTP定义了14种命令,有5个是每一种实现都必须支持的,有3种是高度推荐的,还有6种很少使用。第97页,共142页,星期日,2025年,2月5日SMTP命令Helo:客户用来标识自己Mailfrom:客户用来标识发信人Rcptto:客户用来标识收信人Data:用来发送真正的报文Quit:结束报文。第98页,共142页,星期日,2025年,2月5日邮件传送阶段建立连接MTA客户与MTA服务器在熟知端口25建立TCP连接。服务器发送服务就绪报文客户发送HELO报文,用域名标识自己服务器响应第99页,共142页,星期日,2025年,2月5日报文传送客户发送MIALFROM报文,通报信件的发送方,服务器响应。客户发送RCPT报文,通报收信人的邮件地址。若接收人信箱在服务器上,服务器通知客户继续。客户发送DATA报文,服务器响应。客户用连续的行发送报文内容。服务器将信件放入相应的信箱后进行响应。重复以上过程,将信件全部发完。第100页,共142页,星期日,2025年,2月5日数据结构文件结构(默认):这种文件没有结构,是连续的字节流。记录结构:文件被划分为一些记录,只能用于文本文件。页面结构:文件被划分为一些页面,每一个页面有页号和页首部,页面可以被随机或顺序存取。第62页,共142页,星期日,2025年,2月5日传输模式流模式:默认模式。数据作为连续的字节流从FTP交付给TCP,TCP将数据划分成适当大小的报文段。块模式:数据可以按块从FTP交付给TCP。每一个块有3个字节的首部,包括一个字节的块描述符、和两个字节定义的块长度。压缩模式:当文件很大时,可对数据进行压缩,通常使用的压缩方法是游程长编码。第63页,共142页,星期日,2025年,2月5日FTP命令FTP命令包括六类命令:接入命令:使用户能够接入远程系统,如要求用户标识、口令、注销等。文件管理命令:使用户接入到远程计算机的文件系统,包括对目录及文件的操作。数据格式化命令:让用户定义数据结构、文件类型及传输模式。端口定义命令:定义客户端数据连接使用的端口号。文件传送命令:让用户传送文件。杂项命令:用于将信息交付给客户端的FTP用户。第64页,共142页,星期日,2025年,2月5日FTP响应每一个FTP命令产生至少一个响应。响应包括两部分:一个3比特的数字:定义代码正文:定义所需的参数或额外的解释第65页,共142页,星期日,2025年,2月5日FTP交互第66页,共142页,星期日,2025年,2月5日用户接口大多数操作系统提供用户友好接口来接入FTP服务。接口提示用户作适当的输入,将其转换为相应的FTP命令。第67页,共142页,星期日,2025年,2月5日第21章简单文件传送协议TFTPTFTP协议为仅需要复制一个文件的应用而设计,如无盘工作站在被引导时下载引导和配置文件。TFTP使用UDP协议,以使软件包可被放入无盘工作站的ROM中。UDP不提供连接建立/终止、差错控制和流量控制的功能,这些功能需要TFTP来提供。第68页,共142页,星期日,2025年,2月5日TFTP的传输控制机制TFTP将文件划分成若干数据块并编号,除最后一块外,每块为512字节,最后一块必须在0~511字节之间。TFTP用发送小于512字节的块表示发送结束。TF