《6种服务器的工作原理》由会员分享,可在线阅读,更多相关《6种服务器的工作原理(20页珍藏版)》请在金锄头文库上搜索。
1、六种服务器的工作原理一、FTP服务器工作原理起初, FTP 并不是应用于 IP 网络上的协议,而是 Arpanet 网络中计算机间的文件传输协议,FTP是TCP/IP的一种具体应 用,它工作在OSI模型的第七层,TCP模型的第四层上,即应用 层,使用TCP传输而不是UDP,这样FTP客户在和服务器建立 连接前就要经过一个被广为熟知的三次握手的过程,它带来的 意义在于客户与服务器之间的连接是可靠的,而且是面向连接, 为数据的传输提供了可靠的保证。FTP 的默认端口是 21), FTP 需要 2 个端口,一个端口是作 为控制连接端口,也就是21这个端口,用于发送指令给服务器以 及等待服务器响应;另
2、一个端口是数据传输端口,端口号为 20(仅 PORT 模式),是用来建立数据传输通道的,主要有3个作用从客户向服务器发送一个文件。 从服务器向客户发送一个文件。从服务器向客户发送文件或目录列表。其次,FTP的连接模式有两种,PORT和PASVo PORT模 式是一个主动模式, PASV 是被动模式,这里都是相对于服务器 而言的。当FTP客户以PORT模式连接服务器时,他动态的选 择一个端口号连接服务器的 21 端口,注意这个端口号一定是 1024以上的,因为1024以前的端口都已经预先被定义好,被一 些典型的服务使用,当然有的还没使用,保留给以后会用到这些 端口的资源服务。当经过TCP的三次握
3、手后,连接(控制信道) 被建立,用户要列出服务器上的目录结构(使用Is或dir命令), 那么首先就要建立一个数据通道,因为只有数据通道才能传输目 录和文件列表,此时用户会发出PORT指令告诉服务器连接自己 的什么端口来建立一条数据通道(这个命令由控制信道发送给服 务器),当服务器接到这一指令时,服务器会使用 20端口连接用 户在PORT指令中指定的端口号,用以发送目录的列表当完成这 一操作时,FTP客户也许要下载一个文件,那么就会发出get指 令,请注意,这时客户会再次发送PORT指令,告诉服务器连接 他的哪个新端口,你可以先用nets tat -an这个命令验证,上一 次使用的端口已经处于T
4、IME_WAIT状态。当这个新的数据传输 通道建立后,就开始了文件传输的工作。然而,当 FTP 客户以 PASV 模式连接服务器时,情况就有些不同了。在初始化连接这 个过程即连接服务器这个过程和 PORT 模式是一样的,不同的 是,当FTP客户发送Is. dir. get等这些要求数据返回的命令时, 他不向服务器发送PORT指令而是发送PASV指令,在这个指令 中,用户告诉服务器自己要连接服务器的某一个端口,如果这个 服务器上的这个端口是空闲的可用的,那么服务器会返回 ACK 的确认信息,之后数据传输通道被建立并返回用户所要的信息(根据用户发送的指令,如ls. dir. get等);如果服务器
5、的这个 端口被另一个资源所使用,那么服务器返回UNACK的信息,那 么这时,FTP客户会再次发送PASV命令,这也就是所谓的连接 建立的协商过程。为了验证这个过程我们不得不借助 CUTEFTP Pro这个大家经常使用的FTP客户端软件,因为微软自带的FTP 命令客户端,不支持PASV模式。可在命令模式下用netstat查看ftp的使用情况!二、WEB服务器的使用原理一个Web服务器也被称为HTTP服务器,它通过HTTP协 议与客户端通信。这个客户端通常指的是Web浏览器。Web 服务器的工作原理简单的可以归纳为:客户机连 接服务器,客户端向服务器发送请求,服务器向客户机发送应答, 客户机与服务
6、器断开。需要注意的是客户机与服务器直接的通信 是非连接的,也就是当服务器发送了应答后就与客户机断开连 接,等待下一次请求。HTTP是一种让 Web服务器与浏览器(客户端)通 过Internet发送与接收数据的协议。它是一个请求、响应协议- 客户端发出一个请求,服务器响应这个请求。HTTP运用可靠 的TCP连接,通常用的TCP 80端口。在 HTTP 中,客户端总是通过建立一个连接与发送一 个 HTTP 请求来发起一个事务。服务器不能主动去与客户端联 系,也不能给客户端发出一个回叫连接。客户端与服务器端都可 以提前中断一个连接,http协议使 Web服务器和浏览器可以通 过Web交换数据。它是一
7、种请求/响应协议,即服务器等待并响 应客户方请求。http不维护与客户方的连接,它使用可靠的T C P 连接,通常采用 TCP 80 端口。客户 /服务器传输过程可分为四 个基本步骤:浏览器与服务器建立连接; 浏览器向服务器请求文档;服务器响应浏览器请求;断开连接。H T T P 是一种无状态协议,它不维护连接的状态信息。 客户请求客户请求包含以下信息:请求方法请求头请求数据(1)请求方法是用于特定U R L或We b页面的程序HTTP 请求方法:方法 描述GET 请求指定的文档HEAD 仅请求文档头POST 请求服务器接收指定文档作为可执行的信息PUT 用从客户端传送的数据取代指定文档中的内
8、容DELETE 请求服务器删除指定页面OPTIONS 允许客户端查看服务器的性能TRACE 用于测试允许客户端查看消息回收过程(2)头信息是可选项,它用于向服务器提供客户端的其他信息 如果客户采用某种方法获取数据(如P O S T ),数据就放在头(h e a d e r )之后;否则客户机等待从服务器传来的响应。2. 服务器响应服务器响应包括以下关键部分:状态码响应头响应数据HTTP 定义了多组返回给浏览器的状态码。响应头向客户方提供服务器和/或请求文档的信息HTTP响应头: 方法描述ServerWeb 服务器信息Date当前日期/时间Last Modified 请求文档最近修改时间Expi
9、res请求文档过期时间Content-length 数据长度(字节)Content-type 数据 M I M E 类型WWW-authenticate 用于通知客户方需要的认证信息 (如用户 名、口令等)如果有客户方请求的数据,数据放在响应头之后,否则服务器断 开连接。3.通信实例:1. 请求在 本 例 中 , 浏 览 器 请 求 文 档 的 U R L 为 http:/ /index.html HTTP/1.1Accept: text/plainAccept: text/htmlUser-Agent: Mozilla/4.5(WinNT)(blank line)(DATA)浏览器使用Get
10、方法请求文档/indexhtml。浏览器声明它只能接 收纯丈本和html数据,它使用Mozilla/45(Netscape)引擎。2. 响应 服务响应包括状态码、一些头信息(以空行结束)及请求数据,假 设数据存在,则响应信息如下:HTTP/11 200 OKDate Sunday, 15-Jul-05 12:18:33 GMTServer: Apache/136MIME-version: 10Content-type: test/htmlLast-modified: Thursday,02-Jun-05 20:43:56 GMTContent-length: 1432(blank line)
11、(此行开始为数据部分,与前面头部要空一行)Example Server-Browser Communication 假设文档未找到,响应信息如下HTTP/1.1 404 NOT FOUNDDate Sunday, 15-Jul-05 12:19:33 GMTServer: Apache/1.3.6注意:每行换行时用:/r/n,头部与数据段之间要多空已行,即 用两次/r/n三、DNS服务器的工作原理DNS 分为 Client 和 Server, Client 扮演发问的角色,也就是问 Server 一个 Domain Name,而 Server 必须要回答此 DomainName的真正IP地址。
12、而当地的DNS先会查自己的资料库。如果自己的资料库没有,则会往该DNS上所设的DNS询问,依此 得到答案之后,将收到的答案存起来,并回答客户。DNS服务器会根据不同的授权区(Zone),记录所属该网域下 的各名称资料,这个资料包括网域下的次网域名称及主机名称。在每一个名称服务器中都有一个快取缓存区(Cache),这个 快取缓存区的主要目的是将该名称服务器所查询出来的名称及 相对的 IP 地址记录快取缓存区中,这样当下一次还有另外一个 客户端到次服务器上去查询相同的名称 时,服务器就不用在到 别台主机上去寻找,而直接可以从缓存区中找到该笔名称记录资 料,传回给客户端,加速客户端对名称查询的速度。
13、例如:当 DNS 客户端向指定的 DNS 服务器查询网际网路上的某一台主机名称 DNS服务器会在该资料库中找寻用户所指定的名称 如果没有, 该服务器会先在自己的快取缓存区中查询有无该笔纪录,如果找 到该笔名称记录后,会从DNS服务器直接将所对应到的IP地址 传回给客户端 ,如果名称服务器在资料记录查不到且快取缓存 区中也没有时,服务器首先会才会向别的名称服务器查询所要的 名称。例如:DNS客户端向指定的DNS服务器查询网际网路上某 台主机名称,当DNS服务器在该资料记录找不到用户所指定的 名称时,会转向该服务器的快取缓存区找寻是否有该资料 ,当 快取缓存区也找不到时,会向最接近的名称服务器去要
14、求帮忙找 寻该名称的IP地址,在另一台服务器上也有相同的动作的查询, 当查询到后会回复原本要求查询的服务器,该 DNS 服务器在接 收到另一台 DNS 服务器查询的结果后,先将所查询到的主机名 称及对应IP地址记录到快取缓存区中,最后在将所查询到的结 果回复给客户端 。一、客户机请求 IP (DHCPdiscover)二、服务器响应(DHCPoffer)三、客户机选择IP (DHCPrequest)四、服务器确认IP租釣(DHCPack/DHCPnakJ以下为详细过程:一、客户机请求 IP (DHCPdiscover)当客户机设置使用DHCP协议获取IP时,客户机将使用0.0.0.0作为源地址
15、,使用255.255.255.255作为目标地址来广 播请求IP地址的信息。广播信息中包含DHCP客户机的MAC 地址和计算机名。二、服务器响应(DHCPoffer)由于是广播所以同一网段内的计算机都会“听” 到! DHCP服务器当然也不例外。DHCP服务器“听”到后,它首先会针对该次 请求的信息所携带的MAC地址与DHCP服务器本身的设置值 进行对比。如果DHCP服务器的设置中有针对该MAC提供的 静态IP(每次都给一个固定IP),则提供给客户机相关的固定IP 与相关的网络参数;如果该信息的MAC并不在DHCP月服务器 的设置中,则DHCP主机会选取当前网段内没有使用的IP给客 户机使用!当然这里的响应,服务器也是采用255. 255.255.255 的广播,因为此时客户机还没有IP,这里有几个要注意的地方:1、如果同一网段内有多台DHCP服务器,那么客户机是看谁先 响应,谁先响应就选择谁。2、在DHCP主机发给客户端的信息中,会附带一个“租约期 限”信息,用来告诉客户机这个IP能用多久! 三、客户机选择IP (DHCPrequest)当客户机接收到响应的