TCP IP协议与网络编程 任泰明第4章 TCP应用层常用协议.ppt_第1页
TCP IP协议与网络编程 任泰明第4章 TCP应用层常用协议.ppt_第2页
TCP IP协议与网络编程 任泰明第4章 TCP应用层常用协议.ppt_第3页
TCP IP协议与网络编程 任泰明第4章 TCP应用层常用协议.ppt_第4页
TCP IP协议与网络编程 任泰明第4章 TCP应用层常用协议.ppt_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第4章TCP/IP应用层通用协议,4.1 telnet协议4.2文件传输协议FTP 4.3电子邮件的工作原理和协议4.4文本传输协议HTTP练习,4.1 telnet协议,4.1.1远程登录是在计算机网络创建初期启用终端(或计算机)的主要目标。要实现这一目标,系统必须至少具备以下条件:必须存在本地系统。此系统可以是终端或主机(主要在讨论主机时)。具有远程系统,远程系统是运行特定操作系统的独立主机。本地系统和远程系统可以徐璐通信。本地系统上的用户在远程多用户系统上具有用户帐户。具有这些条件的系统可以在远程主机运行并提供相应服务时,本地系统上的用户通过网络使用远程系统上的帐户登录到远程主机。也就是

2、说,您可以进行远程登录。远程登录成功后,用户可以访问远程系统自身权限范围内的资源。如果远程登录的本地主机和远程主机使用相同的操作系统,则远程登录过程相对简单,例如在Unix系统上使用的Rlogin。telnet(RFC 854定义了此协议的规范)是可用于异构系统的远程登录协议,有人称之为直接远程登录命令。因为它本身也是命令。在4.1.2 Telnet工作方式下,本地客户Telnet进程首先发出远程登录请求,远程Telnet服务器进程在端口23排队。因此,通过三次握手,在客户传输层和服务器传输层之间建立了TCP连接,在此连接上进行它们之间的相互通信,工作原理如图4-1所示,图4-1 Telnet

3、工作原理,(1)用户从客户终端的输入发送到操作系统内核的终端驱动进程,终端驱动进程将用户的输入发送到Telnet客户进程。(2)telnet客户进程在应用层工作,将接收的数据发送到客户TCP,将数据通过客户TCP与服务器建立的TCP连接发送到服务器的对等层(服务器TCP层),将从服务器TCP层接收的数据发送到该应用程序层的telnet服务器进程。(3) Telnet服务器进程无法直接处理(解释或运行)收到的数据。服务器操作系统包含许多可执行的命令,因此用户可以请求执行各种命令。显然,Telnet服务器进程没有此功能,只能在服务器上运行的操作系统上执行。(4) Telnet服务器进程类似于服务器

4、端操作系统内核的终端,因此服务器内核具有“伪终端-终端”驱动程序进程。这是Telnet服务器进程和服务器操作系统内核之间的接口,因此对于登录shell进程,这似乎是Telnet服务器进程直接调用的。登录shell进程中运行的所有程序都感觉像直接与终端交互。(5)登录shell进程处理数据(通常是命令),并将处理结果(例如,命令执行)沿原路线反向发送到客户终端。4.1.3网络虚拟终端(NVT)的概念1网络虚拟终端原理如图4-2所示。图4-2 NVT操作原理图,2 .NVT ASCII代码显示在表4-1中。表4-1 NVT复盖的8个ASCII代码控制字符,3 .NVT控制命令在telnet通信的客

5、户端和服务器端都使用专用控制命令调整或控制双方通信过程。为了区分常规NVT ASCII代码字符,这些NVT控制命令以8位(1字节)表示,最大值为1位。NVT控制命令的格式固定,所有命令都以字节0 xff(相当于十进制数的255)开始。也就是说,0 xff是NVT控制命令开始的标记,字节后的字节是命令字节,命令字节后是一个字节的可选字段,如图4-3所示。,图4-3 NVT操作原理图,1字节的0 xff表示命令之后,因此称为Interpret As Command(IAC,意思是“解释为命令”)。所有NVT控制命令都列在表4-2中,并举例说明了使用示例。表4-2 NVT控制命令,表4-2 NVT控

6、制命令,4.1.4 Telnet协议选项协商NVT徐璐实现其他系统的互操作性,但由于不知道徐璐通信的双方能徐璐提供什么功能,大多数用户都有相对复杂的终端,因此希望对方能提供更多的服务。telnet协议解决此问题的方法是使用特定功能(可选)时,通信双方首先进行选项协商,将通信双方提供给对方哪些功能,哪些功能不能完成,即在通信时提供双方同意的选项。这就是期权谈判。表4-2NVT控制命令选项协商的默认策略是,任何一方可以在初始化时提出一个选项适用的请求,另一方可以接受或拒绝此请求。对于指定的选项,连接方可以发送以下四个请求之一:WILL:发件人本身启用选项。收件人可以同意(以DO回应),也可以不同意

7、(以DONT回应)。DO:发件人希望收件人激活选项。收件人可以同意(以WILL回应),也可以不同意(以WONT回应)。WONT:发件人本身想禁止选项。收信人只能同意。DONT:发件人希望收件人禁止选项。收件者只能同意(以WONT回应)。以上四个请求均为6种徐璐其他组合(下面的X表示要协商的选项),请参阅表4-3。在表4-3 Telnet选项协商的6种情况下,可选协商的格式由3个字节组成,如图4-3所示。第一个字节是IAC必须是。第二个字节为以下之一:WILL、DO、WONT或DONT 4。第三个字节表示要启用或禁用的选项。现有40多个可协商选项,表4-4列出了其中的一些选项。表4-4 Teln

8、et协议选项代码表、表、表4.1.5 Telnet协议选项协商示例在此示例中,在运行BSD操作系统的主机上启动Telnet客户进程。此过程尝试激活很多选项,但有很多选项被服务器拒绝。运行SVR4操作系统的另一台计算机将用作telnet服务器。为查看服务器和客户端之间的选项协商内容,请激活客户流程的“toggle options”选项以显示所有选项协商流程。telnet协议的工作方式通常是,用户在终端中输入的每个字符从终端发送到服务器进程,服务器进程的响应也以字符方式回显到终端。这称为单一字元方式。在各种常用操作系统中,默认使用此方法。当然,Telnet协议可以以通常很少使用的方式工作。teln

9、et协议选项协商的整个过程见表4-5。表4-5 Telnet协议选项协商示例,表,表4.2文件传输协议FTP,4.2.1 FTP简介4.2.2 FTP支持文件类型和文件结构1文件类型FTP可用的文件类型为:(1) ASCII代码文件,(1) ascii代码文件(传输时,此文本文件必须在两端使用EBCDIC代码。(3)图像(Image)文件(也称为二进制文件类型)是连续的位流,通常用于传输二进制文件。在实际传输中,发送方将数据打包为8位,然后以字节为单位进行传输。(4)本地文件(Local),字节大小由本地主机定义。也就是说,每字节的位数由发送者指定。2文件的数据结构文件的数据结构被视为(1)文

10、件结构、FTP首选方法、文件是连续的字节流,文件内部没有表示结构的信息。(2)仅适用于文本文件(ASCII代码或EBCDIC代码文件)的记录结构。记录结构文件由连续记录组成。(3)页面结构,在FTP中,文件的一部分称为页面。如果文件由多个非连续部分组成,请使用称为随机访问文件的页面结构。每个页面都会发送页码,收件人可以随机存储每个页面。3文件传输方法文件传输方法包括:(1)流方法,文件传输的基本方法,文件以字节流的形式传输。(2)以块的方式,文件作为一系列块传输,每个块前面都有自己的头。(3)压缩连续出现的相同字节的压缩方法,现在很少使用。4.2.3 FTP工作原理以下示例说明了FTP的整个工

11、作过程,例如客户从FTP服务器下载文件。工作原理可以用图4-4表示。图4-4文件传输的工作原理,1启动FTP 2控制连接设置3数据连接设置和文件传输用户协议解释器按如下方式处理此命令:(1)首先,为客户端请求分配临时TCP端口号。(2)然后客户端上的客户协议解释器通过控制连接向服务器协议解释器发送两个命令。一个命令(使用PORT命令)向服务器协议解释器通知客户端的IP地址和刚刚请求的临时端口号。另一个命令是将文件从服务器传输到客户端的服务请求。(3)服务器协议解释程序接收到客户端的IP地址和临时端口号后,将使用服务器的20个端口(用于在TCP协议层传输数据的端口)向客户发送预连接请求。(4)服

12、务器上的数据传输过程在文件系统中查找客户进程请求传输的文件。(5)服务器上的数据传输进程通过数据连接将此文件传输到用户数据传输进程。(6)用户数据传输过程将此文件传递到客户端文件系统进行存储。(7)文件传输完成后,服务器端发送主动终止数据连接的请求,以关闭数据连接。4关闭FTP将自动在客户和服务器之间建立数据连接。从客户向服务器传输文件从服务器向客户发送文件。服务器向客户发送文件目录列表。时间控制连接和数据连接可以由三个或四个大写ASCII代码字符组成:控制连接:数据连接:4.2.4 FTP命令和响应1FTP命令FTP命令。表4-6列出了三类FTP命令。表4-6 FTP命令,表4-6 FTP命

13、令,表2FTP响应FTP命令的响应是服务器对执行FTP命令的响应。此回应有两个主要功能。一种是服务器同步数据传输请求和进程。这是TCP协议所必需的,TCP必须验证收到的所有数据。二是使用户知道服务器的状态。用户可以根据收到的状态信息确定服务器是否正常运行。详情见表4-7。表4-7 FTP响应信息,以下是一些典型响应信息的示例:125数据连接已打开,传输开始。200准备就绪。214帮助消息(适用于用户)。331用户名准备就绪,必须输入密码。425无法打开数据连接。500语法错误(未确认的命令)。501语法错误(参数无效)。502未实现的模式(方法命令)类型。通常,每个FTP命令都会生成一行响应。

14、例如,QUIT命令可以生成以下响应:221 Goodbye。在4.2.5 FTP操作实例下的FTP操作示例中,只在FTP客户主机Host1上输入了三个交互式FTP用户命令,如表4-8所示。表4-8 FTP作业实例、表、4.3电子邮件的工作方式和协议、4.3.1 TCP/IP协议下电子邮件的工作方式图4-5是在主机1上工作的用户Li,它通过internet为在主机2上工作的用户提供了Wang。图4-5邮件发送流程图,用户Li现在设置为开始向用户Wang发送电子邮件。图4-6表示电子邮件发送原理模型。流程如下:(1)用户Li首先使用主机1上的电子邮件应用程序创建消息。邮件必须至少包含发件人地址、收

15、件人地址和邮件正文。(2)用户Li使用主机1上的电子邮件应用程序发送邮件。发送的特定任务是通过主机1的电子邮件应用程序软件将邮件发送到名为SMTP客户流程的邮件发送模块来完成的,如图4-6所示。图4-6邮件发送原理模型图,(3)主机1上的SMTP客户进程主动启动到邮件服务器1上的SMTP服务器进程的连接请求,建立连接后,根据SMTP协议的要求将邮件发送到邮件服务器1。(4)在邮件服务器1中,首先根据接收的邮件目标地址确定收件人是否是邮件服务器的用户,并确定邮件是否存储在收件人的邮箱中。否则,必须将邮件移交给邮件服务器1的SMTP客户流程进行处理。(5)邮件服务器1的客户进程在本地申请临时端口号

16、后,将直接连接设置请求发送到收件人邮箱所在的邮件服务器2(邮件服务器1根据邮件的收件人目标地址确定要连接的邮件服务器)。建立邮件服务器1和邮件服务器2之间的连接后,根据SMTP协议将邮件发送到邮件服务器2。(6)在收到邮件服务器2消息后,根据收件人的用户名Wang将该消息存储在收件人的邮箱中。使用SMTP协议的邮件发送过程现在结束。下一步是收件人王从邮件服务器2的邮箱中获取邮件的过程。(7)用户Wang尝试查看自己的邮件时,在主机2上启动电子邮件应用程序。此软件的信任协议进程POP3向邮件服务器2发送建立连接的请求。(8)主机2上的POP3客户进程将接收的邮件转发给主机2上的电子邮件应用程序,以便用户Wang查看和处理。整个电子邮件发送和接收过程结束。4.3.2 SMTP协议原理和任务实例1。如在SMTP邮件传输模型之前所说,SMTP基于客户/服务器模型工作,邮件服务器在TCP的25端口等待客户的请求。首先,将邮件发送到的SMTP客户TCP协议层将连接建立请求发送到SMTP服务器TCP协议层的25个端口,如果服务器接受请求,则建立客户和邮件服务器之间的TCP连接。之后,客户的所有SMTP请求以及服务器生成的SMTP响应和消息内容将通过该连接发送,如图4-7所示。图4-7 SMTP邮件发送模型,建立连接后,电子邮件发送将

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论