欢迎来到163文库! | 帮助中心 精品课件PPT、教案、教学设计、试题试卷、教学素材分享与下载!
163文库
全部分类
  • 办公、行业>
  • 幼教>
  • 小学>
  • 初中>
  • 高中>
  • 中职>
  • 大学>
  • 各类题库>
  • ImageVerifierCode 换一换
    首页 163文库 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    《TCP IP协议与网络编程》课件第4章 TCP应用层常用协议.ppt

    • 文档编号:7864048       资源大小:1.66MB        全文页数:90页
    • 资源格式: PPT        下载积分:15文币     交易提醒:下载本文档,15文币将自动转入上传用户(momomo)的账号。
    微信登录下载
    快捷注册下载 游客一键下载
    账号登录下载
    二维码
    微信扫一扫登录
    下载资源需要15文币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    优惠套餐(点此详情)
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、试题类文档,标题没说有答案的,则无答案。带答案试题资料的主观题可能无答案。PPT文档的音视频可能无法播放。请谨慎下单,否则不予退换。
    3、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者搜狗浏览器、谷歌浏览器下载即可。。

    《TCP IP协议与网络编程》课件第4章 TCP应用层常用协议.ppt

    1、第第4章章 TCP/IP应用层常用协议应用层常用协议第第4章章 TCP/IP应用层常用协议应用层常用协议4.1 Telnet 协协 议议4.2 文件传输协议文件传输协议FTP 4.3 电子邮件的工作原理及其协议电子邮件的工作原理及其协议 4.4 文本传输协议文本传输协议HTTP习题习题第第4章章 TCP/IP应用层常用协议应用层常用协议4.1 Telnet协议协议4.1.1 远程登录在计算机网络产生的初期,其主要目标就是能让一台终端(或计算机)连接到远程的一台计算机上,使普通用户也可以使用远程大型主机上的计算机资源。为了实现这样的目标,系统起码应该具备如下条件:第第4章章 TCP/IP应用层常

    2、用协议应用层常用协议 具有一个本地系统,它可以是一台终端或一台主机(我们主要讨论主机时的情况);具有一个远程系统,它是运行着某种操作系统的一台独立的主机;本地系统和远程系统可以互相通信;本地系统的用户在远程多用户系统中有用户账号。具备以上条件的系统,当远程主机在运行并提供相应的服务时,本地系统的用户就可以通过网络,使用他在远程系统的账号登录到远程主机,即进行远程登录(Remote Login)。远程登录成功后,用户就可以访问远程系统中自己权限范围内的资源。第第4章章 TCP/IP应用层常用协议应用层常用协议如果进行远程登录的本地主机和远程主机使用的是相同的操作系统,那么远程登录的过程实现起来是

    3、比较简单的,如Unix系统中使用的Rlogin。Telnet(RFC 854定义了该协议的规范)是一个可用于异种系统的远程登录协议,有些人把它直接叫远程登录命令,因为它本身也是一个命令。第第4章章 TCP/IP应用层常用协议应用层常用协议4.1.2 Telnet的工作原理在工作时,本地客户Telnet进程首先提出远程登录的请求,远程Telnet服务器进程在23端口进行守候,这样通过3次握手就在客户传输层与服务器传输层之间建立了一条TCP连接,在此连接上进行它们之间的交互通信,其工作原理可用图4-1表示。第第4章章 TCP/IP应用层常用协议应用层常用协议客户终端Telnet 客户进程终端驱动进

    4、程TCP/IP操作系统内核TCP连接TCP/IP伪终端驱动进程操作系统内核Telnet服务器进程 登录外壳进程图4-1 Telnet工作原理 第第4章章 TCP/IP应用层常用协议应用层常用协议(1)用户从客户终端上的输入被送到操作系统内核的终端驱动进程,由终端驱动进程将用户的输入送到Telnet客户进程。(2)Telnet客户进程工作在应用层,它把收到的数据送到客户TCP,由客户TCP通过它和服务器之间已经建立的TCP连接把数据传输到服务器的对等层(即服务器TCP层),再由服务器TCP层将收到的数据送到其应用层的Telnet服务器进程。(3)Telnet服务器进程不能直接处理(解释或执行)收

    5、到的数据,因为服务器操作系统有很多可执行的命令,用户可能会提出执行各种命令的请求,显然,Telnet服务器进程不具备这个能力,这只能由服务器上运行的操作系统来完成。第第4章章 TCP/IP应用层常用协议应用层常用协议(4)由于对服务器端的操作系统内核来说,Telnet服务器进程就好像是它的一个终端,因此在服务器内核中有一个“伪终端(Pseudo-terminal)驱动进程”,它是Telnet服务器进程到服务器操作系统内核的接口,可以把从Telnet服务器进程接收的输入数据送到登录外壳(Shell)进程,这就使得对于登录外壳进程来讲,它好像直接被Telnet服务器进程调用,任何运行在登录外壳进程

    6、处的程序都感觉是直接和一个终端在进行交互。(5)登录外壳进程对数据(一般是命令)进行处理,把处理后的结果(如一个命令的执行情况)沿原路反向传输给客户终端。第第4章章 TCP/IP应用层常用协议应用层常用协议4.1.3 网络虚拟终端(NVT)的概念1什么是网络虚拟终端原理如图4-2所示。第第4章章 TCP/IP应用层常用协议应用层常用协议用户终端客户系统格式Telnet客户进程NVT格式TCP连接Telnet服务器进程服务器系统格式用户终端图4-2 NVT工作原理图第第4章章 TCP/IP应用层常用协议应用层常用协议2.NVT ASCII码如表4-1所示。第第4章章 TCP/IP应用层常用协议应

    7、用层常用协议表4-1 NVT重定义的8个ASCII码控制字符ASCII 控制字符 ASCII 码数值 NVT 中的意义 NUL(Null)0 无操作(对输出无影响)BEL(Bell)7 发声光信号(光标不动)BS(Back Space)8 左移一个光标位置 HT(Horizontal Tab)9 将光标水平右移到下一个 TAB 位置 LF(Line Feed)10 将光标移动到下一行的相同垂直位置 VT(Vertical Tab)11 将光标垂直下移到下一个 TAB 位置 FF(Form Feed)12 将光标移到下一页头部 CR(Carriage Return)13 将光标移至当前行的左边界

    8、处 其他 无操作 第第4章章 TCP/IP应用层常用协议应用层常用协议3.NVT控制命令Telnet通信的客户端和服务器端都采用专用的控制命令来协调或控制双方的通信过程。为了区别普通的NVT ASCII码字符,这些NVT控制命令用最高位为1的8个比特(1个字节)表示。NVT控制命令的格式固定为所有命令都以字节0 xff(对应十进制数的255)开始,即0 xff是一个NVT控制命令开始的标记,该字节后面的一个字节才是命令字节,命令字节后面是一个字节的选项字段,如图4-3所示。第第4章章 TCP/IP应用层常用协议应用层常用协议IAC(0 xff,1个字节)命令代码(1个字节)选项(1个字节)图4

    9、-3 NVT工作原理图 第第4章章 TCP/IP应用层常用协议应用层常用协议因为1个字节的0 xff表示后面紧跟着的是命令,所以把它称为IAC(Interpret As Command,意思是“作为命令来解释”)。所有的NVT控制命令如表4-2所示,在后面将举例说明它们的用法。第第4章章 TCP/IP应用层常用协议应用层常用协议表4-2 NVT控制命令 命 令 名 称 命令代码 描 述 EOF(End Of File)236 文件结束符 SUSP(SUSPend)237 挂起当前进程(作业控制)ABORT 238 异常中止进程 EOR(End Of Record)239 记录结束符 SE(Se

    10、lect End)240 用于选项协商,表示子选项结束 NOP 241 无操作 DM(Data Mark)242 数据标记 BRK(BReaK)243 中断 IP(Interrupt Process)244 中断进程 AO(Abort Output)245 异常中止输出 AYT(Are You There)246 对方是否还在运行 第第4章章 TCP/IP应用层常用协议应用层常用协议表4-2 NVT控制命令 EC(Erase Character)247 删除字符 EL(Erase Line)248 删除行 GA(Go Ahead)249 继续进行 SB(Select Begin)250 用于选

    11、项协商,表示子选项开始 WILL 251 用于选项协商,表示同意执行指定选项或证实设备现已开始执行指定的选项 WONT 252 用于选项协商,表示拒绝执行指定选项或拒绝继续执行指定的选项 DO 253 用于选项协商,表示同意另一方执行的请求 DONT 254 用于选项协商,表示另一方停止执行命令 IAC(Interpret As Command)255 作为命令来解释 第第4章章 TCP/IP应用层常用协议应用层常用协议4.1.4 Telnet协议选项协商NVT可以使不同的系统互操作,但是由于通信的双方互不了解对方可以提供哪些功能,多数用户有比较复杂的终端,因而它们都希望对方能提供更多的服务。

    12、Telnet协议解决这个问题采用的方法是提供一组选项,在要使用某项功能(选项)时,通信的双方先进行选项协商,使通信的双方明白哪些功能由对方提供,哪些功能无法完成,即在通信时双方可以达成一致,这就是选项协商。表4-2NVT控制命令选项协商的基本策略是任一方可以在初始化时提出一个选项生效的请求,另一方可以接受,也可以拒绝这一请求。第第4章章 TCP/IP应用层常用协议应用层常用协议对于任何给定的选项,连接的任何一方都可以发送下面4种请求中的任意一个请求:WILL:发送方本身将激活选项。接收方可以同意(用DO应答),也可以不同意(用DONT应答)。DO:发送方想让接收方激活选项。接收方可以同意(用W

    13、ILL应答),也可以不同意(用WONT应答)。WONT:发送方本身想禁止选项。接收方只能同意(用DONT应答)。DONT:发送方想让接收方去禁止选项。接收方只能同意(用WONT应答)。以上4种请求共有6种不同的组合(下面用X表示要协商的某个选项),见表4-3。第第4章章 TCP/IP应用层常用协议应用层常用协议表4-3 Telnet选项协商的6种情况序号 选项协商格式 说 明 发送方 WILL X 接收方 发送方问接收方“我想激活我的选项 X,你是否同意?”1 发送方 DO X 接收方 接收方说“同意”发送方 WILL X 接收方 发送方问接收方“我想激活我的选项 X,你是否同意?”2 发送方

    14、 DONT X 接收方 接收方说“不同意”发送方 DO X 接收方 发送方问接收方“可以激活你的选项 X 吗?”3 发送方 WILL X 接收方 接收方说“同意”发送方 DO X 接收方 发送方问接收方“可以激活你的选项 X 吗?”4 发送方 WONT X 接收方 接收方说“不同意”发送方 WONT X 接收方 发送方问接收方“我想禁止我的选项 X,你是否同意?”5 发送方 DONT X 接收方 接收方只能说“同意”发送方 DONT X 接收方 发送方问接收方“可以禁止你的选项 X 吗?”6 发送方 WONT X 接收方 接收方只能说“同意”第第4章章 TCP/IP应用层常用协议应用层常用协议

    15、选项协商的格式如图4-3所示,它由3个字节组成:第一个字节必须为IAC;第二个字节是WILL、DO、WONT或DONT 4者之一;第三个字节指明要激活或禁止的选项。现有40多个可以协商的选项,表4-4列出了其中的一部分。表4-4 Telnet协议选项代码表 表略表略第第4章章 TCP/IP应用层常用协议应用层常用协议4.1.5 Telnet协议选项协商实例在这个例子中,我们在一台运行着BSD操作系统的主机上启动Telnet客户进程,它试图激活很多选项,但我们将看到有很多选项被服务器拒绝;另一台运行着SVR4操作系统的计算机作为Telnet服务器。为了看到服务器和客户机之间选项协商的内容,我们激

    16、活客户进程的toggle options选项来显示所有的选项协商过程。Telnet协议常用的工作方式是用户在终端输入的每个字符都将由终端发送到服务器进程,服务器进程的响应也将以字符方式回显到终端上,这就是所谓的单字符方式。常用的各种操作系统都使用这种方式作为默认方式。第第4章章 TCP/IP应用层常用协议应用层常用协议当然Telnet协议也可以工作在行方式下,只是一般情况下很少使用。Telnet协议选项协商的整个过程如表4-5所示。表4-5 Telnet协议选项协商实例 表略第第4章章 TCP/IP应用层常用协议应用层常用协议4.2 文件传输协议文件传输协议FTP 4.2.1 FTP简介4.2

    17、.2 FTP支持的文件类型和文件结构1文件类型FTP可以使用的文件类型有以下4种:(1)ASCII码文件,这是FTP默认的文本文件格式。(2)EBCDIC码文件,它也是一种文本类型文件,用8位代码表示一个字符,该文本文件在传输时要求两端都使用EBCDIC码。第第4章章 TCP/IP应用层常用协议应用层常用协议(3)图像(Image)文件,也称为二进制文件类型,发送的数据为连续的比特流,通常用于传输二进制文件。实际传输时,发送方将数据打包成8位,然后以字节为单位进行传输。(4)本地文件(Local),字节的大小由本地主机定义,也就是说每一字节的比特数由发送方规定。第第4章章 TCP/IP应用层常

    18、用协议应用层常用协议2文件的数据结构文件的数据结构有以下3种:(1)文件结构,这是FTP默认的方式,文件被认为是一个连续的字节流,文件内部没有表示结构的信息。(2)记录结构,该结构只适用于文本文件(ASCII码或EBCDIC码文件)。记录结构文件是由连续的记录构成的。(3)页结构,在FTP中,文件的一个部分被称为页。当文件是由非连续的多个部分组成时,使用页结构,这种文件称为随机访问文件。每页都带有页号发送,以便收方能随机地存储各页。第第4章章 TCP/IP应用层常用协议应用层常用协议3文件的传输方式文件的传输方式包括以下3种:(1)流方式,这是文件传输的默认方式,文件以字节流的形式传输。(2)

    19、块方式,文件以一系列块来传输,每块前面都带有自己的头部。(3)压缩方式,用来对连续出现的相同字节进行压缩,现在已很少使用。第第4章章 TCP/IP应用层常用协议应用层常用协议4.2.3 FTP的工作原理下面以客户要从FTP服务器上下载一个文件为例,来说明FTP的完整工作过程。其工作原理可用图4-4表示。第第4章章 TCP/IP应用层常用协议应用层常用协议用户界面用户协议解释器用户数据传输进程FTP客户用户终端文件系统控制连接FTP命令FTP响应数据连接传输文件服务器数据传输进程服务器协议解释器FTP服务器文件系统图4-4 文件传输工作原理 第第4章章 TCP/IP应用层常用协议应用层常用协议1

    20、启动FTP2建立控制连接3建立数据连接和进行文件传输用户协议解释器对该命令进行如下处理:(1)首先在客户端请求分配一个临时的TCP端口号。(2)然后在客户端由客户协议解释器通过控制连接向服务器协议解释器发送两条命令:一条命令(使用PORT命令)是把客户端的IP地址和刚申请到的临时端口号这两个参数告诉服务器协议解释器;另一条命令是把服务器上某文件传输到客户端的服务请求。第第4章章 TCP/IP应用层常用协议应用层常用协议 (3)服务器协议解释器收到客户端的IP地址和临时端口号后,以该IP地址和端口号为目标,使用服务器的20端口(该端口是TCP协议层用于传输数据的端口)向客户发出主动建立连接的请求

    21、。(4)服务器的数据传输进程从它的文件系统中找到客户进程请求传输的文件。(5)服务器的数据传输进程通过数据连接把该文件发送到用户数据传输进程。(6)用户数据传输进程把该文件将交给客户端文件系统进行存储。(7)文件传输完成后,由服务器端发出主动关闭数据连接的请求,关闭该数据连接。第第4章章 TCP/IP应用层常用协议应用层常用协议4关闭FTP在下列3种情况下都要在客户和服务器之间自动建立数据连接:从客户向服务器发送一个文件;从服务器向客户发送一个文件;从服务器向客户发送文件目录列表。时控制连接和数据连接可以分别表示为:控制连接:数据连接:第第4章章 TCP/IP应用层常用协议应用层常用协议4.2

    22、.4 FTP命令和应答1FTP命令 FTP命令都是由3个或4个大写ASCII码字符组成的,表4-6列出了FTP命令,共分为三大类。第第4章章 TCP/IP应用层常用协议应用层常用协议表4-6 FTP命令 表略第第4章章 TCP/IP应用层常用协议应用层常用协议2FTP应答FTP命令的应答是服务器对FTP命令执行情况的响应,它主要有两方面的功能:一是服务器对数据传输的请求和过程进行同步,这是TCP协议所要求的,TCP要求对接收到的数据都要进行确认;二是让用户了解服务器的状态,用户可以根据收到的状态信息对服务器是否正常执行了有关操作进行判断。详细内容见表4-7。第第4章章 TCP/IP应用层常用协

    23、议应用层常用协议表4-7 FTP应答信息 应 答 说 明 1yz 肯定预备应答。它仅仅是在发送另一个命令前期待另一个应答时启动 2yz 肯定完成应答。一个新命令可以发送 3yz 肯定中介应答。该命令已被接受,但另一个命令必须被发送 4yz 暂时否定完成应答。请求的动作没有发生,但差错状态是暂时的,所以命令可以过后再发 第 一位 数 字 5yz 永久性否定完成应答。命令不被接受,并且不再重试 x0z 语法错误 x1z 信息 x2z 连接。用于应答控制或数据连接 x3z 鉴别和记账。用于应答注册或记账命令 x4z 未使用 第 二位 数 字 x5z 文件系统状态 第第4章章 TCP/IP应用层常用协

    24、议应用层常用协议下面举一些常见应答信息的实例:125 数据连接已经打开,传输开始。200 准备就绪。214 帮助报文(面向用户)。331 用户名就绪,要求输入口令。425 不能打开数据连接。500 语法错误(未认可的命令)。501 语法错误(无效参数)。502 未实现的MODE(方式命令)类型。通常每个FTP命令都产生一行回答。例如,QUIT命令可以产生如下应答:221 Goodbye.第第4章章 TCP/IP应用层常用协议应用层常用协议4.2.5 FTP工作实例下面的FTP工作实例中,我们在FTP客户主机Host1上只输入了3条交互式FTP用户命令,如表4-8所示。表4-8 FTP工作实例表

    25、略第第4章章 TCP/IP应用层常用协议应用层常用协议4.3 电子邮件的工作原理及其协议电子邮件的工作原理及其协议 4.3.1 TCP/IP协议下E-mail的工作原理图4-5为在主机1上工作的用户Li,通过Internet要给在主机2上工作的用户Wang发送电子邮件时的示意图。第第4章章 TCP/IP应用层常用协议应用层常用协议图4-5 邮件传输过程示意图主机1邮件服务器1主机2邮件服务器2SMTP邮件发送者,邮箱为Lilz.edu邮件发送者Li所在的邮件服务器,域名为lz.eduPOP3邮件接收者,邮箱为Wangbj.edu邮件接收者Wang所在的邮件服务器,域名为bj.eduSMTPIn

    26、ternet第第4章章 TCP/IP应用层常用协议应用层常用协议现在设用户Li给用户Wang开始发送电子邮件,可用图4-6表示电子邮件传输原理模型,其过程如下:(1)用户Li首先利用主机1上的电子邮件应用软件编写好邮件,邮件至少应包括发件人地址、收件人地址和邮件正文。(2)用户Li利用主机1上的电子邮件应用软件发送邮件。发送的具体工作是由主机1上的电子邮件应用软件把邮件交给一个叫SMTP客户进程的邮件传输模块来完成的,如图4-6所示。第第4章章 TCP/IP应用层常用协议应用层常用协议用户邮箱邮件应用软件POP3POP3客户器进程POP3服务器进程SMTP服务器进程SMTPSMTP客户进程SM

    27、TP服务器进程邮件应用软件SMTP客户进程SMTP图4-6 邮件传输原理模型图第第4章章 TCP/IP应用层常用协议应用层常用协议(3)主机1的SMTP客户进程主动发起与邮件服务器1的SMTP服务器进程建立连接的请求,连接建立好后,按SMTP协议的要求,将该邮件传输到邮件服务器1。(4)对邮件服务器1来说,它首先要根据收到的邮件目标地址检查收件人是否为本邮件服务器的用户,如果是就将该邮件保存在收件人的邮箱中,如果不是则要将该邮件交由邮件服务器1的SMTP客户进程进行处理。第第4章章 TCP/IP应用层常用协议应用层常用协议(5)邮件服务器1的客户进程向本地申请一个临时端口号后,直接向收件人信箱

    28、所在的邮件服务器2发出建立连接的请求(邮件服务器1是根据邮件中收件人的目标地址来判别要与哪个邮件服务器建立连接的),当邮件服务器1和邮件服务器2之间的连接建立好之后,把该邮件按SMTP协议的要求传输到邮件服务器2。(6)邮件服务器2在收到邮件后,按收件人的用户名Wang,将该邮件存入收件人的邮箱中。至此,使用SMTP协议进行邮件传输的过程结束。下一步就是收件人Wang在某个时候从其在邮件服务器2上的邮箱中取走邮件的过程了。第第4章章 TCP/IP应用层常用协议应用层常用协议(7)当用户Wang要查看自己的邮件时,启动主机2上的电子邮件应用软件,该软件中的取信协议进程POP3向邮件服务器2发出建

    29、立连接的请求。(8)主机2上的POP3客户进程将收到的邮件交给主机2的电子邮件应用软件,供用户Wang查看和处理。至此一个完整的电子邮件收发过程结束。第第4章章 TCP/IP应用层常用协议应用层常用协议4.3.2 SMTP协议原理与工作实例1.SMTP邮件传输模型 前面我们说过,SMTP是基于客户/服务器模式工作的,邮件服务器在TCP的25端口守候客户的请求。首先,要发送邮件的SMTP客户TCP协议层向SMTP服务器TCP协议层的25端口发出建立连接的请求,当服务器接受请求后,建立一条从客户到邮件服务器的TCP连接,以后所有从客户发出的SMTP请求和由服务器产生的SMTP应答以及邮件内容都是通

    30、过该连接进行传输的,如图4-7所示。第第4章章 TCP/IP应用层常用协议应用层常用协议用户文件系统SMTP客户SMTP命令、应答和邮件内容TCP连接SMTP服务器文件系统图4-7 SMTP邮件传输模型 第第4章章 TCP/IP应用层常用协议应用层常用协议 连接建立后,发送一个电子邮件要经过以下三步:(1)客户方发送MAIL命令(下小节介绍),此命令告诉接收者(邮件服务器)新的发送操作已经开始,请复位所有状态表和缓冲区。同时它还告诉接收者一个完整的邮件发送者地址,以便接收者进行应答(如果请求被接收,接收方返回一个“250 OK”应答)或返回错误信息。(2)客户方用RCPT命令发送邮件接收者的目

    31、标地址,以便接收者可以把邮件内容最终送到收件人的邮箱中。如果命令被接收,则返回一个“250 OK”应答,并存储邮件的目标地址;如果接收者不能识别,就返回一个“550 Failure”应答。第第4章章 TCP/IP应用层常用协议应用层常用协议 (3)客户发送DATA命令告诉邮件服务器下面将要发送邮件内容。如果命令被接收,则接收方返回一个“354 Intermediate”应答,并认定以下的各行都是邮件内容。当邮件的结束标识收到并存储后,接收者发送一个“250 Mail accepted”应答,客户收到应答后,就可以进行下次邮件传输或结束邮件传输服务了。SMTP通过在邮件正文的最后一行仅发送一个句

    32、号来表示邮件内容的结束。当所有邮件传输完成后,就可以关闭TCP连接,结束邮件传输过程。第第4章章 TCP/IP应用层常用协议应用层常用协议2.SMTP命令和应答邮件传输过程中,客户和邮件服务器的会话是通过SMTP命令的应答进行的。SMTP命令的应答与FTP类似,也用NVT ASCII字符表示。客户向服务器发出的命令用4个字母表示,命令与参数之间用一个空格分隔,如表4-9所示。表4-9 SMTP命令表略第第4章章 TCP/IP应用层常用协议应用层常用协议SMTP服务器的应答用3位数字表示,第一位数字表示一般意义,第二位数字表示特指某一事件,第三位数字则对第二位所特指的事件进行说明。也就是说,从第

    33、一位到第三位,接收方可以一步比一步更精确地确定接收方的状态。在数字后面跟可读ASCII码字符串,以对应答进行描述,如表4-10所示。第第4章章 TCP/IP应用层常用协议应用层常用协议表4-10 SMTP 应答应 答 说 明 1yz 部分完成应答。命令被接受,但是要求的操作被中止,原因在应答码中。发送方应该再次发送另一个命令以指明是否继续操作,或者放弃操作 2yz 全部完成应答。要求的操作已经完成,可以开始另一个新的请求 3yz 需要进一步信息的部分完成应答。命令被接受,但是要求的操作被中止,需要接收进一步的信息,发送方应该发送另一条命令指明下一步的操作信息 4yz 暂时未完成应答。命令未被接

    34、受,要求的操作也未执行,但是发生错误的状态是暂时的,可以再一次请求操作 第 一位 数 字 5yz 永久未完成应答。命令不被接受,并且不能被再重试 x0z 语法错误,符合语法但命令功能不存在,未完成或冗余的命令 x1z 此类型的应答是用于请求信息的,如状态或帮助信息 x2z 连接。此类型的应答是关于传输信道的 x3z 未使用 x4z 未使用 第 二位 数 字 x5z 邮件系统。此类型的应答指明接收方是关于请求传送或其他操作的状态的,如邮箱忙或邮箱未找到 500 语法错误,无法识别的命令 501 参数或命令行语法错误 502 命令不能实现 503 命令序列不正确 第 三位 数 字 504 命令参数

    35、无法实现 第第4章章 TCP/IP应用层常用协议应用层常用协议3SMTP邮件传输实例下面的SMTP邮件传输实例中,设Lilz.edu使用SMTP传输协议向Wangbj.edu发送电子邮件,则客户端(域名为lz.edu)与服务端(域名为bj.edu)之间先建立一条TCP连接,然后进入表4-11所示的会话过程。第第4章章 TCP/IP应用层常用协议应用层常用协议表4-11 SMTP邮件传输实例交互式过程(S 表示客户发送,R 表示收到的应答)说 明 R:220 bj.edu Simple Mail Transfer Service Ready S:HELO lz.edu R:250 bj.edu

    36、S:MAIL FROM:当连接建立完成时,SMTP 服务器发送已经准备就绪的应答 客户端通知自己的域名 lz.edu 给 SMTP 服务器 服务器正确收到域名,可以发送邮件了 邮件来自于 Lilz.edu R:250 OK 服务器正确收到 S:RCPT TO:邮件发向 Wangbj.edu R:250 OK 服务器正确收到 S:DATA 客户通知邮件服务器请做好准备,它要发送邮件内容了 R:354 Start mail input;end with.服务器同意发送邮件内容,要求用一个句号行结束 邮件 S:.邮件内容(这里省略了邮件内容)S:.邮件内容 S:.邮件内容结束 R:250 OK 服务

    37、器正确收到邮件内容 S:QUIT R:211 结束邮件传输过程,准备关闭连接 操作全部完成,当客户收到该应答后,连接随后就被关闭了 第第4章章 TCP/IP应用层常用协议应用层常用协议4.3.3 POP3协议原理与工作实例这主要有以下几个方面的原因:多个用户共享一台主机或用户经常使用不同的主机进行工作时,会造成很多不便;要求用户使用的主机要一直连接在Internet上,否则主机不在Internet上时,即使用户主机开着也无法接收邮件,因为用户不知道别人会在什么时候发送邮件,这对于有些用户,尤其是拨号上网的用户来说是很难办到的;当用户在异地时,无法阅读自己的邮件,因为邮件已经被发送到本地主机中去

    38、了。第第4章章 TCP/IP应用层常用协议应用层常用协议1POP3协议的工作过程在连接建立后,客户与邮件服务器之间使用POP3协议会话的过程可以分为以下三个阶段。(1)认证阶段:(2)邮件操作阶段:(3)更新阶段:第第4章章 TCP/IP应用层常用协议应用层常用协议2POP3会话命令与应答POP3的命令由可打印的ASCII字符组成,它们之间用空格分隔。命令一般由34个字母组成,一个命令可以带有一些参数,每个参数可长达40个字符。所有命令以结束。POP3的命令如表4-12所示。第第4章章 TCP/IP应用层常用协议应用层常用协议表4-12 POP3命令命令 说 明 USER USER 命令用于对

    39、用户名进行确认,客户必须首先发送 USER 命令,告诉POP3 服务器要操作的邮箱用户名 PASS 当客户收到对 USER 命令的“确认”响应后,就可以发送PASS 命令,告诉POP3 服务器用户邮箱的口令 QUIT 服务器物理删除已经加了删除标记的邮件,然后关闭连接 STAT 查询客户邮箱中邮件的总长度和邮件总数 UIDL 返回邮件的惟一标识符,被返回的行称为信件的“独立 ID 表”LIST 列出各邮件长度 RETR 从邮箱中取出(下载)指定编号的邮件 DELE 对指定编号的邮件加上删除标记 NOOP 服务器只返回一个有效的应答,而不进行任何操作 RSET 复位操作,清除所有带有删除标记的邮

    40、件的删除标记 第第4章章 TCP/IP应用层常用协议应用层常用协议3POP3协议工作过程实例现在如果Wangbj.edu要从图4-5所示的邮件服务器2中取邮件,则客户Wang启动主机2上的邮件应用程序,并发出从邮件服务器2上取信的操作,这时主机2上的POP3客户进程会主动发出与邮件服务器2建立一条TCP连接的请求,连接建立后就开始了如表4-13所示的POP3客户与POP3服务器的会话过程。第第4章章 TCP/IP应用层常用协议应用层常用协议表4-13 POP3协议工作过程实例交互式过程(S 表示客户发送,R 表示收到的应答)说 明 R:+OK POP3 server ready S:USER

    41、Wang R:+OK Wang is welcome here S:PASS 123456 连接建立后 POP3 服务器发送准备好的应答,进入客户身份认证阶段 客户端通知自己的用户名。这里假设为“Wang”POP3 服务器通过对用户名的认证 客户发送口令。这里假设为“123456”,口令用明文发送 R:+OK 2 message(s)800byte(s)通过认证,用户有 2 份邮件,共 800 个字节 S:STAT 客户查询自己邮箱中邮件的总长度和总件数 R:+OK 2 800 用户邮箱中共有 2 封邮件,长度为 800 个字节 S:LIST 列出每个邮件的长度 R:+OK 2 800 邮件总

    42、数,下面是邮件列表 1 300 第 1 个邮件长度为 300 个字节 2 500 R:.第 2 个邮件长度为 500 个字节 邮件列表结束 S:RETR 1 R:+OK 300 octets R:R:.S:DELE 1 R:+OK message 1 deleted 请求传输第 1 个邮件 服务器接受请求,该邮件长度为 300 个字节 第 1 个邮件内容,共有 300 个字节 第 1 个邮件传输完成 给第 1 个邮件加上删除标记 第 1 个邮件完成了加删除标记的工作 第第4章章 TCP/IP应用层常用协议应用层常用协议续表 交互式过程(S 表示客户发送,R 表示收到的应答)说 明 S:RETR

    43、 2 R:+OK 500 octets R:R:.S:DELE 2 R:+OK message 2 deleted 服务器接受请求,请求传输第 2 个邮件 该邮件长度为 500 个字节 第 2 个邮件内容,共有 500 个字节 第 2 个邮件传输完成 给第 2 个邮件加上删除标记 第 2 个邮件完成了删除标记的工作 S:QUIT R:+OK POP3 mail server signing off 结束邮件传输过程,准备关闭连接 POP3 服务器将加了删除标记的邮件物理删除,然后连接就被关闭 第第4章章 TCP/IP应用层常用协议应用层常用协议4.3.4 电子邮件报文的格式与实例表4-14是一

    44、个在Internet上收到的电子邮件报文格式实例。第第4章章 TCP/IP应用层常用协议应用层常用协议表4-14 电子邮件报文格式实例 邮 件 报 文 说 明 Return-Path:Delivered-To: Received:from (unknown 210.192.99.117)by (Postfix)with ESMTP id 355B02E3E3 for;Wed,14 Aug 2002 17:22:05+0800(CST)Date:Wed,14 Aug 2002 17:22:47+0800 Message-Id:From:work Reply-To:To:Subject:感谢您的来

    45、稿 X-Mailer:返回路径,用于收件人复信 邮件投递给 每经过一个邮件传送,就要由代理自动加上它收到邮件的日期、时间和路由等信息。这 4 行就是通过一个代理时的情况 发送邮件的日期和时间 以后引用该邮件时的惟一标识 邮件发送人的个人信息 回信地址 第一个收件人地址 邮件主题,这里为“感谢您的来稿”以 X 开始的域不是 RFC 822 中定义的,是用户定义的域 邮件头和邮件体之间用一个空行分隔 感谢您的来稿。稿件需要审核,所以不能立刻答复您是否采用 欢迎您继续投稿 邮件内容 第第4章章 TCP/IP应用层常用协议应用层常用协议4.3.5 多用途因特网邮件扩展MIME1扩展的邮件头部MIME新

    46、定义了5种邮件头部扩展字段,如表4-15所示。第第4章章 TCP/IP应用层常用协议应用层常用协议表4-15 MIME邮件头部扩展字段 字 段 名 含 义 MIME-Version:MIME 版本号。它用来声明使用的 Internet 邮件体格式标准的版本号,如MIME-Version:1.0 内容类型,说明邮件体的数据类型。MIME 定义了 7 种邮件体内容类型和一系列的子类型 plain 无格式文本 text richtext 简单格式文本,如粗体、斜体或下划线等 gif Gif 格式的静态图形 image JPEG JPEG 格式的静态图形 audio basic 声音 Content-

    47、Type:video MPEG MPEG 格式的动态图像 第第4章章 TCP/IP应用层常用协议应用层常用协议字 段 名 含 义 MIME-Version:MIME 版本号。它用来声明使用的 Internet 邮件体格式标准的版本号,如MIME-Version:1.0 内容类型,说明邮件体的数据类型。MIME 定义了 7 种邮件体内容类型和一系列的子类型 plain 无格式文本 text richtext 简单格式文本,如粗体、斜体或下划线等 gif Gif 格式的静态图形 image JPEG JPEG 格式的静态图形 audio basic 声音 video MPEG MPEG 格式的动态

    48、图像 octet-steam 任意二进制数据 application postscript 一个以 PostScript 格式组织的可打印文档 rfc822 内容是另一个 RFC 822 邮件报文 partial 内容是一个邮件报文的片断 message external-body 内容是指向实际报文的指针 mixed 有多个正文部分,各部分可顺序处理 alternative 有多个正文部分,各部分格式不同,但有相同的语义,可从中选择一个 parallel 有多个正文部分,可并行处理 Content-Type:multipart digest 每一部分都是一条完整的 RFC 822 摘要 表4

    49、-15 MIME邮件头部扩展字段 第第4章章 TCP/IP应用层常用协议应用层常用协议Content-ID:邮件的惟一标识 7bit 这是默认的格式,编码为 NVT ASCII 码 8bit 包含字符行,其中某些为非 ASCII 字符,且第 8 bit 置 1 binary 二进制编码,无需包含多行的 8 bit 数据结构 quoted-printable 当内容只有很少一部分是第 8 bit 为 1 时使用(非 ASCII码字符较少),(下面介绍)Content-Transfer-Encoding:base64 内容是由大部分二进制数据组成时所采用的格式(下面 介绍)Content-Desc

    50、ription:对邮件内容的描述,一般使用 ASCII 码文本 表4-15 MIME邮件头部扩展字段 第第4章章 TCP/IP应用层常用协议应用层常用协议(1)内容类型是text时,还要用charset指出所用的字符集,例如:MIME-Version:1.0 Content-Type:text/plain;charset=gb2312Content-Transfer-Encoding:base64该例说明邮件所用字符集为国标2312汉字码,传输内容编码为base64。第第4章章 TCP/IP应用层常用协议应用层常用协议(2)内容类型是multipart时,还要用boundary指出各部分的分界


    注意事项

    本文(《TCP IP协议与网络编程》课件第4章 TCP应用层常用协议.ppt)为本站会员(momomo)主动上传,其收益全归该用户,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!




    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库