网络基础第6章应用层协议原理WEB服务器技术.docx
- 文档编号:23722621
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:16
- 大小:439.34KB
网络基础第6章应用层协议原理WEB服务器技术.docx
《网络基础第6章应用层协议原理WEB服务器技术.docx》由会员分享,可在线阅读,更多相关《网络基础第6章应用层协议原理WEB服务器技术.docx(16页珍藏版)》请在冰豆网上搜索。
网络基础第6章应用层协议原理WEB服务器技术
第5章应用层协议原理
【学习目标】
理解FTP协议的工作原理
理解DNS协议的工作原理
理解HTTP协议的工作原理
理解DHCP协议的工作原理
理解SMTP/POP3协议的工作原理
理解Telnet协议的工作原理
【重点难点】
ØDNS协议的工作原理
ØHTTP协议的工作原理
ØSMTP/POP3协议的工作原理
5.1文件传输协议
在互联网中,人们经常需要在远程主机和本地服务器之间传输文件,文件传输协议提供的应用服务满足了人们的该种需求。
FTP(FileTransferProtocol,文件传输协议)是互联网上文件传输的标准协议,其使用TCP作为传输层协议,支持用户的登录认证及访问权限的设置。
互联网上另一种常用的文件传输协议是TFTP(TrivialFileTransferProtocol,普通文件传输协议),它是一种简单的文件传输协议,不支持用户的登录认证,亦不具备复杂的命令,采用UDP作为传输层协议,并具有重传机制。
1FTP协议
(1)FTP协议简介
FTP主要用于远端服务器和本地主机间传输文件。
在万维网出现以前,用户传输文件最主要的服务即是FTP服务。
虽然目前大多数用户在通常情况下使用E-mail和WEB传输文件,但FTP仍然有较广泛的应用。
FTP采用C/S(Client/Server,客户端/服务器)模式,承载在TCP协议之上。
通过FTP服务进行文件传输时,需要在服务器和客户端间建立两个TCP连接:
FTP控制连接、FTP数据传输连接。
其中,FTP控制连接负责FTP客户端与FTP服务器间交互FTP控制命令及命令执行的应答信息,在整个FTP会话过程中一直保持;而FTP数据传输连接负责在FTP客户端和FTP服务器间进行文件传输,仅在需要传输数据的时候建立数据连接,数据传输结束就中止。
如图5-1所示,FTP服务器启动后,FTP服务打开TCP的21端口作为侦听端口,等待客户端的连接。
客户端随机选择一个TCP端口号作为控制连接的源端口,主动发起对FTP服务器端口号21的TCP连接。
控制连接建立后,FTP客户端和FTP服务器建通过该连接交互FTP控制命令与命令执行的应答。
图5-1
由于不同的操作系统对同一文件可能会有不同的存储表达方式,所以FTP协议定义了不同的文件传输模式以适应传输不同类型的文件:
ØASCII模式该种模式是默认的文件传输模式。
发送方将需传输的文件转换为标准的ASCII码,然后在网络中传输;接收方收到文件后,根据自己的文件存储表达方式进行转换。
ASCII模式通常适用于传输文本文件。
Ø二进制模式该种模式亦称图像文件传输模式。
发送法概念股不做任何转换,把文件以比特流的方式进行传输,故该种方式适用于传送程序文件。
ØEBCDIC模式要求文件传输两端均为EBCDIC系统。
Ø本地文件模式该模式是在具有不同字节大小的主机间传输二进制文件。
每一字节的比特数由发送方规定。
在这4种文件传输模式中,ASCII码模式和二进制模式是我们接触最多的、也是应用最广泛的传输模式。
(2)FTP数据传输方式
在FTP数据传输连接过程中有两种数据传输方式:
主动方式、被动方式。
FTP主动传输方式也称PORT方式,是FTP协议最初定义的数据传输方式。
采用主动方式建立数据传输连接时,FTP客户端会通过FTP控制连接向FTP服务器发送PORT命令,PORT命令携带如下格式的参数(A1,A2,A3,A4,P1,P2),其中,A1、A2、A3、A4表示需要建立数据连接的主机IP地址;而P1、P2表示客户端用于传输数据的临时端口号,临时端口号为256*P1+P2。
当需要传输数据时,服务器通过TCP端口号20与客户端提供的临时端口建立数据传输通道完成数据传输。
由于在整个过程中是服务器端主动发起连接,故称主动模式。
如果客户端位于防火墙内部,主动方式可能会遇到问题。
因为客户端提供的端口号是随机的,防火墙并不知道。
而为了安全起见,通常防火墙不会允许外部主机任意访问内部主机,只会允许外部主机访问内部提供服务的主机的部分端口,从而造成无法建立FTP数据连接。
FTP被动传输方式亦称PASV方式。
FTP控制通道建立后,希望通过被动方式建立数据传输通道的FTP客户端会利用控制通道向FTP服务器发送PASV命令,告诉服务器进入被动方式传输。
服务器选择临时端口号并告知客户端,其命令格式为:
EnteringPassiveMode(A1,A2,A3,A4,P1,P2),其中,A1、A2、A3、A4表示服务器的IP地址;P1、P2表示服务器的临时端口号,数值为256*P1+P2。
当需要传送数据时,客户端主动与服务器的临时端口建立数据传输通道,并完成数据传输。
由于在整个过程中,服务器总是被动接收客户端的连接,因此被称为被动方式。
采用被动方式时,控制连接、数据传输连接均由客户端发起。
由于一般防火墙不会因之从内部客户端发起的连接,故可解决主动方式下无法进行数据传输的问题。
2TFTP协议
相对于FTP,TFTP没有复杂的交互存取接口和认证控制,适用于客户端和服务器间不需要复杂交互的环境。
TFTP采用C/S模式,承载于UDP协议上,使用69端口侦听TFTP连接。
TFTP协议传输是由客户端发起的,当需要下载文件时,由客户端向TFTP服务器发送读请求包,然后从服务器接收数据,并向服务器发送确认;当需要上传文件时,由客户端向TFTP服务器发送写请求包,然后向服务器发送数据,并接收服务器的确认。
与FTP类似,TFTP传输文件也有两种模式:
netascii模式和octet模式。
其中,octet模式用于传输程序文件;netascii模式用于传输文本文件。
3配置FTP与TFTP
(1)FTP软件servU使用
(2)Cisco的TFTP服务器使用
5.2DNS
在TCP/IP网络中,IP地址是网络节点的标识,但IP地址难于记忆。
为便于识记,采用名称标记网络节点的技术,即DNS(DomainNameSystem,域名系统)。
1DNS概述
在TCP/IP网络发展初期,人们直接使用IP地址访问网络资源。
随着网络规模的扩大和网络所提供服务的增加,人们需要记住的IP地址越来越多,导致记忆IP地址越来越困难。
在Internet早期,由于网络中主机不多,计算机中采用一个叫Hosts的文件来实现主机名与IP地址间的映射。
但由于Hosts文件是主机本地文件,更新维护困难。
为解决这样的问题,20世纪80年代IETF发布了域名系统。
DNS系统采用C/S模式,DNS客户端提出查询请求,DNS服务器负责相应请求。
DNS客户端通过查询DNS服务器获得所需访问主机的IP地址信息,从而完成后续的TCP/IP通信过程。
从理论上讲,DNS可以采用集中式设计,即整个Internet只有一台DNS服务器,客户端简单地把所需查询的信息发给服务器,服务器相应查询。
然而,虽然该种设计具有诱人的简单性,但面对越来越多的Internet主机,这种做法却存在很大的问题:
Ø存在单点故障唯一的DNS服务器崩溃会导致整个DNS服务失效。
Ø服务处理的访问量巨大,性能不足。
Ø远距离访问,效率低下
Ø系统维护工作量巨大
因此,DNS系统最终设计为一个联机分布式数据库系统,名字到IP地址的解析由若干个域名服务器共同完成。
2DNS域名结构
DNS域的本质是因特网中一种管理范围的划分,最大的域称为根域,下面划分为顶级域、二级域、三级域、四级域等。
相对应的域名为根域名、顶级域名、二级域名、三级域名、四级域名等。
不同等级的域名间用点号分隔,越低级的域名越靠左边。
如域名中,com为顶级域名,baidu为二级域名,而www为二级域名中的主机。
每一级的域名均由英文字母和数字组成,余名不区分大小写,但长度不能超过63个字节,一个完整的域名不能超过255个字节。
根域名用“.”标识,如果一个域名以“.”结尾,则称为完全合格域名(FullQualifiedDomainName,FQDN)。
如图5-2所示,因特网的域名空间结构就像一棵倒置的树。
图5-2
根域名下属的顶级域名包括三大类。
Ø国家顶级域名如cn表示中国、uk表示英国等。
Ø国际顶级域名采用int,国际性的组织可以在int下注册。
Ø通用顶级域名早期共有6个,com表示公司企业,net表示网络服务机构,org表示非营利组织,edu表示教育机构,gov表示政府部门,mil表示军事部门。
后来又增加了7个,aero表示航空运输业,biz表示公司和企业,coop表示合作团体,info表示各种情况,museum表示博物馆,name表示个人,pro表示自由职业者。
在域名结构中,节点在所属域中的表示可以相同,但域名必须唯一。
如图5-2中,H3C公司和新浪公司下均有标识为mail的一台主机,但二者的域名却不同,一个为,另一个为。
3DNS域名解析过程
(1)DNS域名服务器类型
Ø本地域名服务器本地域名服务器一般离客户端较近,当一个DNS客户端发送DNS查询时,该查询首先被送往本地域名服务器,若在本地域名服务器中存在对应的主机域名,则本地域名服务器立即将所查询域名转换为IP地址返回客户端;若未找到,则向上一级域名服务器查询。
Ø根域名服务器通常根域名服务器用来管理顶级域,本身并不对域名进行解析,但它知道相关域名服务器的网址。
Ø授权域名服务器因特网上的每一个主机都必须在某个域名服务器上进行注册,这个域名服务器称为该主机的授权域名服务器。
通常,一个主机的授权域名服务器就是该主机的本地域名服务器,实际上,为了更可靠地工作,每个主机最好有两个授权域名服务器,以防止单点故障。
授权域名服务器上总是存在着注册主机域名与IP地址的映射信息,这样的DNS查询,授权域名服务器的回答是具备权威性的。
Ø主域名服务器完成一个或多个区域域名解析工作的主用域名服务器称为主域名服务器。
通常它是一个或多个区域的授权域名服务器。
Ø辅助域名服务器辅助域名服务器可以协助主域名服务器共同提供客户端请求的域名查询服务,在网络中主机很多的情况下,可以有效分担主域名服务器所承载的压力。
另外,辅助域名服务器也提供了冗余保护能力,在主域名服务器失效时,辅助域名服务器能搞在其数据信息有效期内继续对网络中的主机提供域名解析服务。
辅助域名服务器本身并不建立区域地址信息的数据文件,它通过区域传送的方式从主域名服务器上获得区域数据的最新副本。
(2)DNS域名完整解析过程
DNS客户端进行域名的解析过程如下:
DNS客户端向本地域名服务器发送请求,查询主机的IP地址。
本地域名服务器检查其数据库,发现数据库中没有域名为的主机,于是将此请求发送给根域名服务器。
根域名服务器查询其数据库,发现没有该主机记录,但根域名服务器知道能够解析该域名的cn域名服务器的地址,于是将cn域名服务器的地址返给本地域名服务器。
本地域名服务器向cn域名服务器查询主机的IP地址。
cn域名服务器查询其数据库,发现没有该主机记录,但是cn域名服务器知道能够解析该域名的域名服务器的地址,于是将的域名服务器的地址返回给本地域名服务器。
本地域名服务器再向域名服务器查询主机IP地址。
域名服务器查询其数据库,发现没有该主机记录,但是域名服务器知道能够解析该域名的域名服务器的IP地址,于是将的域名服务器的IP地址返回给本地域名服务器。
本地域名服务器向域名服务器发送查询主机的IP地址请求。
域名服务器查询其数据库,发现该主机记录,于是给本地域名服务器返回所对应的IP地址。
最后本地域名服务器将的IP地址返回给客户端。
至此,整个解析过程完成。
4DNS查询方式
DNS域名解析包括两种查询方式:
递归查询、迭代查询。
递归查询通常发生在主机发送查询请求到本地域名服务器时;迭代查询通常发生在主机发送查询请求到根域名服务器时。
(1)递归查询
在该种方式下,DNS服务器如果不能直接回应解析请求,它将以DNS客户端的方式继续请求其他DNS服务器,直到查询到该主机的域名解析结果,如图5-3所示。
图5-3
(2)迭代查询
在该种查询方式下,如果服务器查不到相应的记录,会向客户端返回一个可能知道结果的域名服务器地址,由客户端继续向新的服务器发送查询请求,直到查询到结果,如图5-4所示。
图5-4
5DNS反向查询
在DNS查询中,客户端希望知道域名所对应的IP地址的查询称为正向查询。
与正向查询相对应,有一种查询允许DNS客户端根据已知的IP地址查找主机所对应的域名,称为反向查询。
为了实现反向查询,在DNS标准中定义了特殊域in-addr.arpa域,并保留在Internet域名空间中,以便提供切实可靠的方式执行反向查询。
5.3HTTP
1WWW概述
WWW是一个基于Internet的、全球连接的、分布的、动态的、多平台的交互式图形平台。
WWW为用户提供了一个基于B/S(Browser/Server,浏览器/服务器)模式和多媒体技术的图形化信息查询界面。
WWW服务器上的Web页一般采用HTML(HypertextMarkupLanguage,超文本标记语言)语言编写。
Web服务器和浏览器的软件都比较多,浏览器软件有Windows系统自带的IE(InternetExplorer)、FireFox、360浏览器等;Web服务器软件有Windows系统下的IISWeb服务器、Apache服务器等。
2HTTP协议
超文本传输协议(HypertextTransferProtocol,HTTP)用来在Internet上传递Web页信息。
HTTP位于TCP/IP协议站的应用层,传输层采用面向连接的TCP。
在浏览器的地址栏里输入的网站地址称为URL(UniformResourceLocator,统一资源定位符)。
如同每家每户均有一个门牌地址一样,每个Web页也有一个Internet地址。
当用户在浏览器的地址框输入一个URL或在网页上单击一个超级连接时,URL就确定了要浏览的Web页的地址。
URL的一般格式为:
http:
//<主机名>[:
端口号]/<路径>/<文件名>
例如,
WWW服务的默认端口号为80。
如果WWW服务器在配置时修改了默认端口号,则需在URL中指明端口号。
例如,WWW服务器端口号为8080,则相应在客户端浏览器上输入的URL应为:
8080/Newdoc/mydoc.htm。
HTTP采用B/S通信模式,其信息交互过程如下:
(1)在客户端和服务器建建立TCP连接,通常情况下端口号为80
(2)客户端向服务器发送请求信息。
(3)服务器处理客户请求后,回复响应消息给客户端
(4)关闭客户端与服务器间的TCP连接。
5.4DHCP
1DHCP简介
随着网络规模的不断扩大、网络复杂度的提高以及笔记本电脑的广泛使用,计算机的位置经常发生变化,相应的IP地址也必须经常改变,导致网络配置月来月复杂。
DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)就是为满足这些需求发展起来的。
DHCP协议是从BOOTP(BootstrapProtocol)协议发展起来的。
在计算机网络发展初期,无盘工作站被大量使用,无盘主机通过BOOTROM启动并初始化系统,再通过BOOTP协议由服务器为无盘主机设定TCP/IP环境,从而使无盘主机能连接到网络并工作。
但BOOTP协议存在极大缺陷,最终被DHCP协议所取代。
DHCP除了能够动态为主机分配IP地址外,还能设定主机的其他信息,如网关、DNS服务器地址等。
而且DHCP向下完全兼容BOOTP。
DHCP运行在C/S模式,服务器负责集中管理IP配置信息(包括IP地址、子网掩码、默认网关、DNS服务器地址等),客户端主动向服务器提出请求,服务器根据其预先配置的策略返回相应的IP配置信息,客户端使用从服务器获得的IP配置信息与外部主机进行通信。
DHCP协议采用UDP方式封装。
DHCP服务器所侦听的端口号为67,客户端端口号为68。
通常情况下,DHCP采用广播方式实现报文交互,DHCP服务仅局限在本地网段。
如果需要跨网段实现DHCP,则需使用DHCP中继技术。
2DHCP服务器与客户机交互
当DHCP客户端接入网络后第一次进行IP地址申请时,DHCP服务器和客户端完成如图5-5所示过程。
(1)DHCP客户端在它所在物理网络中广播一个DHCPDiscover报文,目的是寻找能够分配IP地址的DHCP服务器。
(2)本地子网的所有DHCP服务器都将通过DHCPOffer报文来回应DHCPDiscover报文。
DHCPOffer报文包含了可用的网络地址和其他DHCP配置参数。
当DHCP服务器分配新的地址时,应确认提供的网络地址没有被其他DHCP客户端使用,然后DHCP服务器发送DHCPOffer报文给DHCP客户端。
(3)DHCP客户端收到一个或多个DHCP服务器发送的DHCPOffer报文后将从多个DHCP服务器中选择一个并广播DHCPRequest报文来表明哪个DHCP服务器被选择,同时也可包含其他配置参数。
若DHCP客户端在一定时间内未收到DHCPOffer报文,则它将重新发送DHCPDiscover报文。
(4)DHCP服务器收到DHCP客户端的DHCPRequest广播报文后,发送DHCPAck报文响应,其中包含DHCP客户端的配置参数。
图5-5
如果DHCP客户端探测到地址已经被分配,DHCP客户端会给DHCP服务器发送DHCPDecline报文,重新开始DHCP进程,如图5-6所示。
图5-6
当DHCP客户端从DHCP服务器获取到相应的IP地址等信息后,同时获得该IP地址的租期,租期到期后DHCP客户端必须放弃该IP地址的使用权并重新进行申请。
为避免上述情况,DHCP客户端必须在租期到期前重新进行更新,延长该IP地址的使用期限。
DHCP租期更新主要有两个状态:
更新状态(Renewing)、重新绑定状态(Rebinding)。
当DHCP客户端处于Renewing和Rebinding状态时,如果DHCP客户端发送的DHCPRequest报文没有被DHCP服务器回应,则DHCP客户端将在一定时间后重新发送DHCPRequest报文。
若一直到租期到期,DHCP客户端仍未收到响应报文,则DHCP客户端将被迫放弃所拥有的IP地址。
5.5SMTP/POP3
1电子邮件概述
电子邮件(ElectronicMail,E-mail)又称电子信箱,是一种利用电子手段提供信息交换的通信方式。
电子邮件地址的格式为“user@server”,其中,user表示用户的邮箱账号;@表示分隔符,用于分隔邮箱账号与邮件接收服务器;server表示用户邮箱的邮件接收服务器域名,用以标志邮箱所在位置。
电子邮件的工作过程基于C/S模式。
用户在电子邮件客户端程序上创建、编辑邮件,将电子邮件通过SMTP(SimpleMailTransferProtocol,简单邮件传输协议)向本方邮件服务器发送。
本方邮件服务器识别接收方地址,并通过SMTP协议向接收方邮件服务器发送。
接收方通过邮件客户端程序连接到邮件服务器后,使用POP3(PostOfficeProtocolversion3,邮局协议版本3)或IMAP(InternetMessageAccessProtocol,Internet邮件访问协议)协议将邮件下载到本地或在线查看、编辑。
2SMTP协议原理
SMTP是应用层的服务,可以适应于各种网络系统,是一种用于在邮件服务器检交换邮件的协议。
SMTP协议基于TCP连接,端口号为25。
SMTP协议经过3个阶段来完成邮件传输功能,描述如下:
(1)建立连接阶段。
发送方提出申请,要求与接收方的SMTP服务建立双向的通信渠道,接收方服务器确认可以建立连接后,双方开始通信。
(2)传输邮件阶段。
(3)释放连接阶段。
邮件传输完成,发送方断开TCP连接,SMTP连接结束。
SMTP服务器基于DNS中的邮件交换(MX)记录来路由电子邮件。
电子邮件系统发送邮件时,根据接收方的地址后缀来定位邮件服务器。
SMTP通过用户代理程序(UA)完成邮件的编辑、收取和阅读等功能;通过邮件传输代理程序(MTA)将邮件传送到目的地。
3POP3协议原理
电子邮件存储在网络上的邮件服务器上。
在早期,用户只能远程连接到邮件服务器上进行邮件的在线查看和编辑。
通过POP3协议,用户能够将邮件从服务器的邮箱中下载到本地主机上进行查看和编辑。
在电子邮件的传送过程中,接收方的邮件客户端程序首先使用TCP连接到POP3服务器的TCP端口110;再通过交互式命令进行用户认证、邮件列表查询、邮件下载、邮件删除等操作;完成后,客户端与服务器间再断开连接。
注意,POP3仅负责邮件的下载,又见从客户端到邮件服务器的上传工作由SMTP完成。
5.6Telnet
1Telnet概述
Telnet(TelecommunicationNetworkProtocol,远程通信网络协议)起源于ARPANET,是最古老的Internet应用之一。
使用Telnet时,用户通过网络使自己的计算机远程登陆到另一台网络设备上进行操作,从而克服了距离和设备的限制。
Telnet使用TCP为传输层协议,使用端口号为23,其通信模式如图5-7所示。
图5-7
2使用Telnet实现远程登陆
大部分操作系统都支持Telnet客户端功能。
然而微软自Windows7操作系统开始,Telnet客户端默认未安装,需要通过“控制面板”-“程序和功能”中的“启用或关闭windows功能”安装,如图所示。
在windows7系统中,利用命令提示符界面,输入telnet命令,后面跟服务器端IP地址或域名,系统即可对所指定的telnet服务器发起连接。
注意:
因为Telnet为明文传输,故现在已渐渐被SSH服务所取代。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 基础 应用 协议 原理 WEB 服务器 技术