第4章TCPIP应用层常用协议.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 TCP/IP应用层常用协议 4.1 Telnet 协 议 4.2 文件传输协议FTP 4.3 电子邮件的工作原理及其协议 4.4 文本传输协议HTTP 习题 4.1 Telnet协议 4.1.1 远程登录 在计算机网络产生的初期,其主要目标就是能让一台终端(或计算机)连接到远程的一台计算机上,使普通用户也可以使用远程大型主机上的计算机资源。为了实现这样的目标,系统起码应该具备如下条件: ● 具有一个本地系统,它可以是一台终端或一台主机(我们主要讨论主机时的情况); ● 具有一个远程系统,它是运行着某种操作系统的一台独立的主机; ● 本地系统和远程系统可以互相通信; ● 本地系统的用户在远程多用户系统中有用户账号。 具备以上条件的系统,当远程主机在运行并提供相应的服务时,本地系统的用户就可以通过网络,使用他在远程系统的账号登录到远程主机,即进行远程登录(Remote Login)。远程登录成功后,用户就可以访问远程系统中自己权限范围内的资源。 如果进行远程登录的本地主机和远程主机使用的是相同的操作系统,那么远程登录的过程实现起来是比较简单的,如Unix系统中使用的Rlogin。 Telnet(RFC 854定义了该协议的规范)是一个可用于异种系统的远程登录协议,有些人把它直接叫远程登录命令,因为它本身也是一个命令。 4.1.2 Telnet的工作原理 在工作时,本地客户Telnet进程首先提出远程登录的请求,远程Telnet服务器进程在23端口进行守候,这样通过3次握手就在客户传输层与服务器传输层之间建立了一条TCP连接,在此连接上进行它们之间的交互通信,其工作原理可用图4-1表示。 (1) 用户从客户终端上的输入被送到操作系统内核的终端驱动进程,由终端驱动进程将用户的输入送到Telnet客户进程。 (2) Telnet客户进程工作在应用层,它把收到的数据送到客户TCP,由客户TCP通过它和服务器之间已经建立的TCP连接把数据传输到服务器的对等层(即服务器TCP层),再由服务器TCP层将收到的数据送到其应用层的Telnet服务器进程。 (3) ?Telnet服务器进程不能直接处理(解释或执行)收到的数据,因为服务器操作系统有很多可执行的命令,用户可能会提出执行各种命令的请求,显然,Telnet服务器进程不具备这个能力,这只能由服务器上运行的操作系统来完成。 (4) 由于对服务器端的操作系统内核来说,Telnet服务器进程就好像是它的一个终端,因此在服务器内核中有一个“伪终端(Pseudo-terminal)驱动进程”,它是Telnet服务器进程到服务器操作系统内核的接口,可以把从Telnet服务器进程接收的输入数据送到登录外壳(Shell)进程,这就使得对于登录外壳进程来讲,它好像直接被Telnet服务器进程调用,任何运行在登录外壳进程处的程序都感觉是直接和一个终端在进行交互。 (5) 登录外壳进程对数据(一般是命令)进行处理,把处理后的结果(如一个命令的执行情况)沿原路反向传输给客户终端。 4.1.3 网络虚拟终端(NVT)的概念 1.什么是网络虚拟终端 原理如图4-2所示。 2. NVT ASCII码 如表4-1所示。 3. NVT控制命令 Telnet通信的客户端和服务器端都采用专用的控制命令来协调或控制双方的通信过程。 为了区别普通的NVT ASCII码字符,这些NVT控制命令用最高位为1的8个比特(1个字节)表示。NVT控制命令的格式固定为所有命令都以字节0xff(对应十进制数的255)开始,即0xff是一个NVT控制命令开始的标记,该字节后面的一个字节才是命令字节,命令字节后面是一个字节的选项字段,如图4-3所示。 因为1个字节的0xff表示后面紧跟着的是命令,所以把它称为IAC(Interpret As Command,意思是“作为命令来解释”)。所有的NVT控制命令如表4-2所示,在后面将举例说明它们的用法。 4.1.4 Telnet协议选项协商 NVT可以使不同的系统互操作,但是由于通信的双方互不了解对方可以提供哪些功能,多数用户有比较复杂的终端,因而它们都希望对方能提供更多的服务。Telnet协议解决这个问题采用的方法是提供一组选项,在要使用某项功能(选项)时,通信的双方先进行选项协商,使通信的双方明白哪些功能由对方提供,哪些功能无法完成,即在通信时双方可以达成一致,这就是选项协商。 表4-2NVT控制命令选项协商的基本策略是任一方可以在初始化时提出一个选项生效的请求,另一方可以接受,也可以拒绝这一请求。 对于任何给定的选项,连接的任何一方都

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档