《基础TCPIP服务(应用层).ppt》由会员分享,可在线阅读,更多相关《基础TCPIP服务(应用层).ppt(31页珍藏版)》请在三一办公上搜索。
1、1,第9章 基础TCP/IP服务(应用层),应用层协议允许用户访问网络,提供了用户接口,并且支持许多服务,如果电子邮件、共享的数据库管理、文件访问、文件传输等。这些服务是TCP/IP协议簇的组成部分。本章主要介绍应用层协议和服务的基本原理、文件传输协议(FTP)、远程登录(Telnet)、简单邮件传送协议(SMTP)、超文本传输协议(HTTP)、简单网络管理协议(SNMP)等多种基础的TCP/IP服务的功能及工作原理。,2,本章知识要点:,应用协议和服务的基本工作原理文件传输协议远程登录简单邮件传送协议超文本传输协议简单网络管理协议,3,9.1 应用层协议概述,Internet和TCP/IP协
2、议簇的主要目的是为用户提供必要的服务,以便它们可以在遥远的地方执行各种应用程序。一种方法是为每种服务创建客户/服务器应用软件,但这种方法的效率非常低,而且实现的费用高昂,这是网络管理员最害怕的事情。可靠的流传输协议可以使远程机器通过使用发送信息然后读取响应的击键与服务器交互。,9.2 文件传输协议(FTP),文件传输协议(FTP)使得主机间可以共享文件。FTP使用TCP生成一个虚拟连接用于控制信息,然后再生成一个单独的TCP连接用于数据传输。控制连接使用类似后面要介绍的TELNET协议在主机间交换命令和消息。,4,9.2.1 FTP概述,FTP(文件传输协议)为通过可靠的面向连接的传输协议传输
3、文件提供了一种方法。FTP是TCP/IP协议簇中将文件从一台主机传输到另一台主机的标准软件机制,文件传输也许是联网环境中执行的最常的任务。FTP客房软件用于在本地硬盘驱动器和远程服务器之间传输文件。由于服务器是存储和分布Web页面的计算机,所以还可以使用FTP将WEB浏览器文件从远程Web服务器传输到本地计算机上。从而在显示器上以图形方式显示Web信息。,5,9.2.2 FTP连接概述,建立FTP控制连接需要两个步骤,首先,控制连接以通常的客户服务器方式建立。服务器以被动方式打开FTP的端口21,等待客户的连接。其次,客户则以主动方式打开TCP端口21,来建立连接。控制连接始终等待客户与服务器
4、之间的通信。该连接将命令从客户传给服务器,并传回服务器的应答。由于命令通常是由用户键入的,所以IP对控制连接的服务类型就是“最大限度地减小迟延”。,6,9.2.2 FTP操作及命令,使用FTP时,用户将执行如下一些操作:(1)连接到远程主机(2)选择目录(3)列出可用于传输的文件(4)定义传输模式(5)传输文件(6)使用被动模式(7)使用代理传输(8)终止传输的会话,7,9.2.3 FTP实例,FTP是一种信赖于TCP应用层协议,FTP命令紧跟TCP题头。要想理解FTP在网络上如何工作的最好的方法是在一个FTP通信中一次只观察一个数据包。,8,9.3 远程登录(Telnet),Telnet协议
5、提供了一种标准接口,通过这个接口,一台主机(Telnet客户)上的程序能够访问另一台主机(Telnet)上的资源,从而客户就像是与服务器直接相连的一个本地终端一样,9,9.3.1 Telnet概述,Telnet在通常情况下被认为远程终端协议,它可以使计算机完成本地登录或者使用计算机使用本地Telnet程序通过Internet远程登录到其他计算机上。也许这是它最初的意图,但是现在它可以用于许多其他的目的。一台计算机中的Telnet客户程序将使用Telnet协议和TCP/IP与在另一台计算机上运行的服务器程序建立虚拟连接。Telnet协议的服务端允许远程用户像直接连接到服务器的哑终端那样登录和操作
6、,这样,终端就可以执行远程登录,并执行存储在使用Telnet服务器程序处理通信需要的服务器上的应用程序。Telnet服务器可以把从客户机接收的数据传送给包括远程登录服务器在内的其他进程。,10,11,9.3.2 网络虚拟终端NVT,NVT(网络虚拟终端)有一个打印机或者显示器和一个键盘。键盘产生输出数据,并通过Telnet连接发送数据。打印机接收输入数据。除非通过互相达成一致的选项修改了NVT的基本特征外,NVT还有如下特征:数据表示是以8位字节传输的7位ASCII。NVT是一种以线性缓冲模式操作的半双工设备。NVT提供了一种本地回应功能,12,9.3.3 Telnet选项,Telnet选项是
7、具有比普通终端更高级的终端的用户可以使用的参数、约定以及额外的特性和能力。但是,具有不那么高级的终端的用户仍然可以使用Telnet的最少特性。Telnet允许客户和服务器重新配置它们的连接。,9.3.4 操作模式,默认模式非常简单。如果没通过选项协商指定其他模式,就认为使用的是默认模式。利用默认的操作模式,客户机将进行回送。用户输入一个字符,客户计算机把这个字符回送到屏幕或打印机,但是在输入一整行文本以前,它并不实际发送这个字符。在把一整行文本发送到服务器以后,客户机在允许用户输入另一行文本以前将等待前进命令。因此,默认的操作模式是半双工的,这不是使用TCP连接的有效方法。,13,9.3.5
8、Telnet实例,Telnet操作过程:,14,15,9.4 简单邮件传输协议(SMTP),电子邮件可能是使用最广泛的TCP/IP应用,也是Internet提供的最流行的网络服务之一。对于大多数人来讲,电子邮件已经成为了日常生活中不可缺少的一部分。SMTP(简单邮件传输协议)是TCP/IP协议簇用来支持电子邮件的标准协议。SMTP使用TCP通过端口25建立连接和可靠地传输电子邮件消息。,16,9.4.1 SMTP概述,SMTP(简单邮件传输协议)的目的是通过Internet在客户机和服务器之间可靠和有效地传输电子邮件。但是,SMTP没有规定邮件系统如何接受用户的邮件,或者用户界面如何响应用户显
9、示收到的邮件。SMTP与传输子系统无关,因为它只需要可靠的有序数据流通道。SMTP没有规定如何存储邮件以及邮件系尝试发送邮件消息的频率。SMTP非常简单,因为客户机和服务器之间的通信是以人类容易阅读的ASCII文件的形式发生的。,9.4.2 SMTP工作机制,SMTP基于端到端传送,SMTP客户机可以直接联系目的主机的SMTP服务器以传送邮件。它将一直传输邮件项目,直到已经成功地将邮件拷贝到接收方的SMTP。这种机制不同于许多邮件系统中常见的保存和转发原则,在保存和转发原则中,邮件项目在发往目的的途中,可以通过同一个网络中的许多中间主机,并且发送方的成功传输只是表明邮件已经到达了第一个中间跳步
10、。,17,9.4.3 SMTP组成,发送方SMTP和接收方SMTP进程是支持SMTP功能的客户机或服务器应用程序。通常情况下是发送方SMTP在接收方SMTP服务器端口25发送一个初始化SMTP连接请求。一旦底层TCP连接建立起来,接收方SMTP就以数字代码220响应,表示服务器已经准备好接收SMTP命令和消息。,18,9.4.4 SMTP实例,SMTP通信序列:,19,9.5 超文本传输协议(HTTP),HTTP(超文本传输协议)是应用层协议,由于其简捷、快速的方式,适用于分布式和合作式超媒体信息系统。自1990年起,HTTP就已经被应用于WWW(World Wide Web)全球信息服务系统
11、。,20,9.5.1 HTTP概述,HTTP允许使用自由答复的方法表明请求目的,它建立在统一资源识别器(URI)提供的参考原则下,作为一个地址(URL)或名字(URN),用以标志采用哪种方法,它用法类似于网络邮件和多用途网际邮件扩充协议(MIME)的格式传递消息。,21,9.5.2 HTTP组成,由于HTTP是无状态协议,所以客户机和服务器之间的事务只能使用TCP的服务,TCP将使用端口80提供有保证的消息传输。HTTP客户机发送包含一个表明客户机需要的方法或命令的HTTP请求,并且该请求也包含一个URI以指明目标资源,服务器将以响应进行应答。,22,9.5.3 HTTP题头,HTTP题头用于
12、在服务器和客户机之间交换附加信息,如客户机请求以某种特殊的格式发送文档,或者服务器发送有关文档的附加信息。HTTP题头可以是一个或多个题头行,其中每个题头行都有由题头名、冒号、空格和题头值组成。,23,9.5.4 HTTP实例,HTTP通信序列:,24,9.6 其他的TCP/IP服务,完整的TCP/IP协议簇包括大量增强基本TCP/IP协议栈功能的应用程序。除了上面介绍过的,还有下面一些比较常见:SNMP(简单网络管理协议)NetBIOFingerWhoisTFTP(次要文件传输协议)EchoQOD(每日语录),25,9.6.1 SNMP,SNMP(简单网络管理协议)通常用来管理网络设备并获取
13、设备信息。SNMP使网络管理变得简单,因此通常用在TCP/IP网络,尤其是大规模网络,SNMP同样可用来将自身的状态发送给特殊的SNMP服务器软件,显示错误隐患及其他可能出现的问题。网络管理员使用SNMP可以在一个地方获取所有支持SNMP的网络节点的信息,并且可对其进行远程配置。,26,9.6.2 NetBIOS,NetBIOS(网络基本输入/输出系统)最初由IBM,Sytek作为API开发,使用户软件能使用局域网的资源。自从诞生,NetBIOS成为许多其他网络应用程序的基础。严格意义上,NetBIOS是接入网络服务的接口标准。,27,9.6.3 Finger,Finger既是协议名也是应用程
14、序名,它允许我们查询互联网上主机或用户的状态。它最典型的应用为查询互联网用户是否登录或定位他们的邮件地址、用户名等。Finger使用TCP端口79。,28,9.6.4 Whois,Whois是TCP/IP协议和服务,用于获取互联网主机和域的信息。它最初在互联网“白皮书”中设计,用于连接大型个人数据库。但是随着互联网的增长,不可能维护包含所有主机、域信息的数据库。因此,Whois信息被限制在特定的主机和域内。今天,流行的Whois数据库包含诸如主机、域、组织和地址等信息。Whois也用于在注册一个域时判断域是否已以被使用。,29,9.6.5 TFTP,TFTP(简单文件传输协议)其于UDP协议而
15、实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的。因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据。传输中有三种模式:netascii,这是8位的ASCII码形式,另一种是octet,这是8位源数据类型;最后一种mail已经不再支持,它将返回的数据直接返回给用户而不是保存为文件。,30,9.6.6 Echo,Echo是一种将在侦听端口收到的所有字符回显到发送方的TCP或者UDP服务。因为某些路由设置为拒绝接收的ICMP Echo请求,所以可以使用UDP或者TCP Echo命令以确定路由是不是活动。Echo还通常用于调试网络应用程序以确保它们能正确地发送输出(通过接收方返回的针对Echo请求的应答判断)。,31,