《第9章应用层课件.ppt》由会员分享,可在线阅读,更多相关《第9章应用层课件.ppt(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第9章 应用层 9.1应用层概述n应用层是网络体系统结构的最高层。应用层的任务是为最终用户提供服务。每一种应用层协议都是为了解决某一类问题,而每一个问题都对应一个应用程序,在应用层中运行的每一个应用程序称为一个应用进程。而应用层的具体内容就是规定应用进程在通信时所遵循的协议。应用层中协议很多,主要可分为以下几类:n文件传输类:如HTTP(超文本传输协议)、FTP(文件传输协议)、TFTP(简单文件传输协议)。n远程登录类:如Telnet。n电子邮件类:如SMTP(简单邮件传输协议)、POP(邮局协议)。n网络管理类:如SNMP(简单网络管理协议)、DHCP(动态主机配置协议)。n域名解析类:如
2、DNS(域名解析协议)n应用层协议虽然种类繁多,但它们有一个共同的特点,都采用客户-服务器方式。客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户-服务器方式都是指通信中所涉及的两个应用进程。客户-服务器方式描述的是进程之间服务和被服务的关系。客户是服务请求方,服务器是服务提供方。客户软件和服务器软件通常还具有以下一些主要特点:客户软件:n(1)在进行通信时临时成为客户,但它也可在本地进行其他的计算。n(2)被用户调用并在用户的计算机上运行,在打算通信时主动向远地服务器发起通信。n(3)可与多个服务器进行通信。n(4)不需要特殊的硬件和很复杂的操作系统。服务器软
3、件:n(1)是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。n(2)在共享计算机上运行。当系统启动时即自动调用并一直不断地运行着。n(3)被动地等待并接受来自多个客户的通信请求。n(4)一般需要强大的硬件和高级的操作系统支持。图9-1给出客户和服务器进程的通信示意图。功能较强的计算机可同时运行多个服务器进程。 9.2域名解析协议DNSn域名系统n20世纪70年代,Internet的前身ARPANET的规模比较小,它只由几百台主机组成。美国的Menlepark的SRI网络信息中心的host.txt文件就包含了所有主机的信息,同时也包括了连接到ARPANET上每台主机的名字到
4、主机IP地址的映射。Host.txt文件由SRI网络信息中心负责进行维护。SRI网络信息中心每周更新数据一次到两次,每次更新后的数据由SRI网络信息中心的主机向外发送。ARPANET管理人员也将它们的改动用E-mail发送给SRI网络信息中心,同时定期从SRI网络信息中心的主机获取最新的host.txt文件。但是随着ARPANET的增长,这种工作方式无法再维持下去。一方面,host.txt 文件的大小随ARPANET的规模在增长,同时更新过程所带来的通信量增长更快。这就带来了通信量、名字冲突与一致性等一系列新的问题。n为此,1983年Internet开始采用层次结构的命名树作为主机的名字,并使
5、用域名系统DNS(Domain Name System)。Internet的域名系统DNS被设计成一个联机分布式数据库系统,并采用客户-服务器方式。DNS使大多数名字都在本地映射,仅少量映射需要在Internet上通信,这就使得系统的效率大大提高。nInternet采用层次树状结构的命名方法。任何一个连接在Internet上的主机或路由器,都有惟一的层次结构的名字,即域名(Domain Name)。域(Domain)是名字空间中一个可被管理的划分。域还可以继续划分为子域,如二级域、三级域等。n域名的结构由若干个分量组成,各分量之间用点隔开。三级域名二级域名项级域名n每一级的域名都由英文字母和数
6、字组成(不超过63个字符,且不区分大小写)完整的域名不超过255个字符。 Internet的域名结构如图9-2所示。顶级域名有三大类:国家顶级域名、国际顶级域名、通用顶级域名,表9-1中列出了部分示例。类别域名含义国家顶级域名.cn中国.us美国.uk英国.ca加拿大国际顶级域名.int国际性组织通用顶级域名.com公司、企业.edu教育机构.gov政府部门.org非赢利性组织.net网络服务机构域名解析n虽然主机域名比IP地址更容易记忆,但在通信时必须将其映射成能直接用于TCP/IP协议通信的IP地址。这个将主机域名映射为IP地址的过程叫域名解析。n域名解析有两个方向:从主机域名到IP地址的
7、正向解析;从IP地址到主机域名的反向解析。域名的解析是由一系列的域名服务器来完成的。域名服务器器是回答域名服务查询的计算机,它允许为私人TCP/IP网络和连接公共Internet的用户提供并管理DNS服务,维护DNS名字数据并处理DNS客户端主机名的查询。DNS服务器保存了包含主机名和相应IP地址的数据库,例如,如果提供了名字,DNS服务将返回新浪网站的IP地址。域名服务器提供服务的监听端口为53。域名解析过程是一个递归查询的过程。下面用一个例子说明这个过程。 图9-3域名解析的递归查询过程9.2文件传输协议n文件传输协议FTPn文件传输协议FTP是TCP/IP提供的标准机制,用来从一个主机把
8、文件复制到另一个主机。从一台计算机向另一台计算机传送文件是在联网或互联网环境中最常见的任务。nFTP与其他客户-服务器应用程序的不同就是它在主机之间使用两条连接。一条连接用于数据传送,而另一条则用于传送控制信息(命令和响应)。把命令和数据的传送分开使得FTP的效率更刘。控制连接使用非常简单的通信规则。我们需要传送的只是一次一行命令或一行响应。另一方面,数据传送需要更加复杂的规则,因为要传送的数据类型比较多。nFTP使用两个熟知端口:端口21用作控制连接,而端口20用于数据连接。图9-4给出了FTP的基本模型。客户有三个构件:用户接口、客户控制进程和客户数据传送进程。服务器有两个构件:服务器控制
9、进程和服务器数据传送进程。控制连接是在控制进程之间进行的。数据连接是在数据传送进程之间进行的。n在整个FTP会话中,控制连接始终是处于连接状态。数据连接则是在每一次文件传送时,先打开然后关闭。每当涉及到传送文件的命令被使用时,数据连接就被打开,而当数据传送完毕时连接就关闭。换言之,当用户开始FTP会话时,控制连接就打开。在控制连接处于打开状态时,若传送多个文件,则数据连接可以打开和关闭多次。FTP一般都是交互式地工作。图9-5给出了使用FTP时用户机器上显示出的信息。01 ftp nic.ddn.mil02 connected to nic.ddn.mil03 220 nic FTP serv
10、er (Sunos 4.1)ready.04 Name: anonymous05 331 Guest login ok, send ident as password.06 Password: abcxyz.math.yale.edu07 230 Guest login ok, access restrictions apply.08 ftp cd rfc09 250 CWD command successful.10 ftp get rfc1261.txt nicinfo11 200 PORT command successful.12 150 ASCII data connection f
11、or rfc1261.txt (128.36.12.27,1401) (4318 bytes).13 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds (0.3 Kbytes/s).14 ftp quit15 221 Goodbye.简单文件传送协议TFTPn简单文件传输协议(Trivial File Transfer Protocol ,TFTP)是一个简单而开销很小的文件传送协议。与FTP协议相比,TFTP协议具有以下特点:n(1)TFTP按客户
12、机/服务器模式工作,通信建立在UDP运输服务之上。收发双方以512字节大小的带序号文件块为单位,依靠类似等待协议的确认、超时和重传机制保证数据的到达。n(2)TFTP不像FTP一样支持交互,而只能支持最基本的文件传输,因此用户不能通过列目录或向服务器发出询问来确定可得到哪些文件。另外,TFTP不支持存取权限,用户不需要用户帐号和口令,但只能存取全局共享的文件。n(3)TFTP在设计时是用于小文件传输的,它对内存和处理器的要求很低,速度快。TFTP代码所占的内存比FTP小。 nTFTP的适用范围不像FTP那么广泛,目前,TFTP多用于交换机、路由器等设备Internet网络操作系统镜像和配置文件
13、的备份和升级。9.3 远程终端协议Telnetn在分布式计算环境中,常常需要调用远程计算机资源同本地计算机协同工作,这样,就可以用多台计算机来共同完成一个较大的任务。协同操作的工作方式要求用户能够登录到远程计算机中,启动某个进程,并使进程之间能够相互通信。为了达到这个目的,人们开发了远程终端协议(Telnet协议)。Telnet协议是TCP/IP协议族的一部分,它定义了客户机与远程服务器之间的交互过程。n远程登录服务是用户使用Telnet命令,使自己的计算机暂时成为远程计算机的一个仿真终端的过程。一旦用户成功地实现了远程登录,用户的计算机就可以像一台与远程计算机直接相连的本地终端一样工作。远程
14、登录服务采用的是典型的客户-服务器模式,它的工作原理如图9-6所示。 图9-6 Telnet工作原理n当用Telnet登录进入远程计算机系统时,事实上启动了两个程序,一个叫Telnet客户程序,它运行在本地机上,另一个叫Telnet服务器程序,它运行在要登录的远程计算机上,本地机上的客户程序要完成如下功能:n(1)建立与服务器的TCP连接。n(2)从键盘上接收输入的字符。n(3)把输入的字符串变成标准模式并送给远程服务器。n(4)从远程服务器接收输出的信息。n(5)把该信息显示在屏幕上。n远程计算机的“服务”程序,一旦接到你的请求,它马上活动起来,并完成如下功能:n(1)通知计算机,远程计算机
15、已经准备好了。n(2)等候输入命令。n(3)对命令作出反应(如显示目录内容,或执行某个程序等)。n(4)把执行命令的结果送回给计算机。n(5)重新等候命令。n当运行远程登录时,应首先运行Telnet程序进行联机,有两种运行Telnet的方法: n1.运行telnet的第一种方法: n输入下列命令,并以回车换行结束(下同) 。n命令格式:telnet 主机网络地址 端口号(默认可缺省)n例如:假设用户要连接一台名叫dns的计算机,它的网络地址为, IP地址为,则连接时应输入命令telnet 或。n如果用户要登录的主机与用户的计算机在同一个本地网上,通常可以只输入主机的名字,而不用输入完整的地址,
16、例如上例可以输入:n命令:telnet dns 2.运行telnet程序的第二种方法:n输入命令:telnet n此时程序运行,但并未进行连接(因未指明主机) n然后屏幕显示:telnet n这是telnet的提示符,它表明telnet程序已经运行,并正在等待用户输入使用telnet的命令,如要连接一台远程主机,则使用open命令,即输入命令open,并附上该主机的网络地址,如 ntelnet open n假如Telnet的运行不能与主机确定连接,则用户将会看到主机找不到的信息。例如,假设用户想要连接的远程主机为,而用户的输入为: ntelnet n则在屏幕上用户将会看到: : unknown
17、 hostntelnet9.3 电子邮件n电子邮件(Electronic mail,简写为E-mail)是因特网上使用最广泛的一种服务。电子邮件是以电子方式存放在计算机中,称为报文(Message)。计算机网络传送报文的方式与普通邮电系统传递信件的方式类似,采用的是存储转发机制。n电子邮件报文中除了可包含文件信息外,还可以包含声音、图形和图像等多媒体形式的信息。 1电子邮件系统构成n一个电子邮件系统应具有图9-7所示的三个主要组成构件,这就是用户代理、邮件服务器,以及电子邮件使用的协议,如SMTP和POP3等。用户代理用户代理邮件服务器邮件服务器发送邮件SMTP发送邮件SMTP读取邮件POP3
18、电子邮件的典型发送和接收过程如下所示:n(1)发信人调用用户代理来编辑要发送的邮件。用户代理用SMTP将邮件传送给发送端邮件服务器。n(2)发送端邮件服务器将邮件放入邮件缓存队列中,等待发送。n(3)运行在发送端邮件服务器的SMTP客户进程,发现在邮件缓存中有待发送的邮件,就向运行在接收端邮件服务器的SMTP服务器进程发起TCP连接的建立。 n(4)当TCP连接建立后,SMTP客户进程开始向远程的SMTP服务器进程发送邮件。如果有多个邮件在邮件缓存中,则SMTP客户一一将它们发送到远程的SMTP服务器。当所有的待发邮件发完了,SMTP就关闭所建立的TCP连接。n(5)运行在接收端邮件服务器中的
19、SMTP服务器进程收到邮件后,将邮件放入收信人用户邮箱里,等待收信人在他方便时进行读取。n(6)收信人在打算收信时,调用用户代理,使用POP3协议将自己的邮件从接收端邮件服务器的用户邮箱中取回。nSMTP(Simple Mail Transfer Protocol)称为简单邮件传输协议,目标是向用户提供高效、可靠的邮件传输。SMTP的一个重要特点是它能够在传送中接力传送邮件,即邮件可以通过不同网络上的主机接力式传送。SMTP工作在两种情况下:一是电子邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器。SMTP是个请求/响应协议,它监听25端口,用于接收用户的邮件请求,并与远端邮件服
20、务器建立SMTP连接。nPOP3(Post Office Protocol)即邮局协议,用于电子邮件的接收。它使用TCP的110端口,现在常用的是第三版,所以简称为POP3。POP3仍采用客户-服务器工作模式。当客户机需要服务时,客户端的软件将与POP3服务器建立TCP连接,此后要经过POP3协议的三种工作状态,首先是认证过程,确认客户机提供的用户名和密码,在认证通过后便函转入处理状态,在此状态下用户可收取自己的邮件或删除邮件,在完成响应的操作后,客户机发出quit命令,此后便进入更新状态,将做删除标记的邮件从服务器端删除掉。至此,整个POP过程完成。2邮件地址与基本格式nInternet上的
21、电子邮件地址由两部分组成:用户名和邮箱所在的邮件服务器的主机域名,中间用“”隔开,如下所示:n用户名邮箱所在主机域名n根据因特网文本报文格式RFC822文档,每个标准的电子邮件信息由两部分组成:报文头(header),“信封”,收件人地址、投递日期、邮件主题、发件人地址;报文体(body),邮件正文,就相当于装在信封内的信。nRFC822中规定报文头邮系统头字段(header fields)组成,标准详细规定了各种头字段的语法和语义。每个头字段的形式是:n字段名(field-name):字段体(field-body)电子邮件报文主要头字段及其语义如表9-2所示:首部字段名含义Return-pa
22、th由最后一个MTA添加,用于标识返回给发件人的地址Received传送途中,每个MTA加上的与之有关的一行内容From邮件书写者的个人或多人的名字To收件人的地址Cc抄送收件人的地址Bcc暗送收件人的地址,这一行在首选和抄送收信人邮件中不出现Sender实际发件人的地址Subject主题行,可用于显示本邮件的简短摘要Date发送邮件的日期和时间Message-id邮件的惟一标识号Reply-to回信应送达的地址3通用Internet邮件扩展协议MIMEn由于因特网的SMTP只能传送7位的ASC码邮件,非ASC码的信息如非英语文字、可执行文件、声音图像文件等二进制文件不能附在邮件中传输,因此在
23、1993年提出了通用因特网邮件扩充MIME(multipurpose internet mail extensions)。MIME并没有改动SMTP或取代它。MIME的目的是继续使用目前的因特网文本报文格式,但增加了邮件主体的结构,并定义了传送非ASC码的编码规则。 图9-8表明了MIME与SMTP的关系。图9-8 SMTP与MIME的关系MIME 主要包括三个部分 :n(1)增加了5 个新的邮件首部字段,它们可包含在RFC 822首部中。这些字段提供了有关邮件主体的信息。nMIME-Version: 标志 MIME 的版本。现在的版本号是 1.0。若无此行,则为英文文本。nContent-D
24、escription: 这是可读字符串,说明此邮件是什么。和邮件的主题差不多。nContent-Id: 邮件的唯一标识符。 nContent-Transfer-Encoding: 在传送时邮件的主体是如何编码的。nContent-Type: 说明邮件的性质。 (2)定义了邮件内容类型,对多媒体电子邮件的表示方法进行了标准化。n表9-3 MIME基本内容类型类型textimage audio videoapplicationmessageMultipart含义文本数据图像数据声音数据运动图像数据要求额外处理数据含有嵌套和链接的数据包含多个部分的数据n(3)定义了主体内容传送编码。凡在首部中定义了
25、内容类型的数据都可以包装成基本格式的电子邮件,这种包装实质上是进行一种编码转换,将任意格式的数据编码转换为标准ASC码用于传送。MIME定义了7位ASC码、8位ASC码、二进制、可打印引用和Base64等五种内容传送编码方法。9.4 万维网n万维网即WWW(World Wide Web),简称3W。它是目前Internet上最方便、最受欢迎的信息服务类型,它的影响力已远远超出了专业技术范畴,并且已经进入广告、新闻、销售、电子商务与信息服务等各个行业。nWWW同样是建立在客户-服务器模型之上的。WWW是以超文本标注语言HTML(Hyper Text Markup Language)与超文本传输协
26、议HTTP(Hyper Text Transfer Protocol)为基础,能够提供面向Internet服务的、一致的用户界面的信息浏览系统。其中,WWW服务器采用超文本链路来链接信息页,这些信息页既可放置在同一主机上,也可放置在不同地理位置的主机上;文本链路由统一资源定位器(Uniform Resource Locator ,URL)维持,WWW客户端软件(即WWW浏览器)负责信息显示与向服务器发送请求。nInternet采用超文本和超媒体的信息组织方式,将信息的链接扩展到整个Internet上。目前,用户利用WWW不仅能访问到Web Server的信息,而且可以访问Gopher、FTP等
27、网络服务。因此,它已成为Internet上应用最广泛和最有前途的工具,并在商业范围内日益发挥着越来越重要的作用。1.超文本和超媒体n要想了解WWW,首先要了解超文本(Hypertext)与超媒体(Hypermedia)的基本概念,因为它们正是WWW的信息组织形式。n一个超文本由多个信息源链接成,而这些信息源的数目实际上是不受限制的。利用一个链接可使用户找到另一个文档,而这又可链接到其他的文档。这些文档可以位于世界上任何一个接在因特网上的超文本系统中。超文本是万维网的基础。n超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动
28、画以及活动视频图像。万维网就是一个分布式的超媒体系统,它是超文本系统的扩充。2.HTTP协议n超文本传输协议(Hyper Text Transfer Protocol,HTTP)位于TCP/IP协议的应用层,是最广为人知的协议,也是互连网中最核心的协议之一。同样,HTTP也是基于客户-服务器模型实现的。事实上,我们使用的浏览器如IE,是实现HTTP协议中的客户端,而一些常用的Web服务器软件如Apache、IIS是实现HTTP协议中的服务器端。Web页由服务器端资源定位,传输到浏览器,经过浏览器的解释后,被客户所看到。nHTTP协议是Web浏览器和Web服务器之间的应用层协议,是通用的,无状态
29、的和面向对象的协议。一个完整的HTTP协议会话过程包括4个步骤:n(1)连接,Web浏览器与Web服务器建立连接,打开一个Socket连接,标志着连接建立成功。n(2)请求,Web浏览器通过Socket向Web服务器提交请求。HTTP的请求一般是GET或POST命令;n(3)应答,Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面。n(4)关闭连接,应答结束后Web浏览器与Web服务器必须断开,以保证其他Web浏览器能够与Web服务器建立连接。n了解HTTP功能最好的方法
30、就是研究HTTP的报文结果。HTTP有两类报文:n(1)请求报文从客户向服务器发送请求报文,见图9-9(a)。n(2)响应报文从服务器向客户发送回答报文,见图9-9(b)。方法URL版本首部字段名首部行:值首部字段名值:实体主体(通常不用)请求行空格回车换行:CRLFCRLFCRLFCRLF方法URL版本首部字段名首部行:值首部字段名值:实体主体(通常不用)请求行空格回车换行:CRLFCRLFCRLFCRLF版本状态码短语首部字段名首部行:值首部字段名值:实体主体(有些响应报文不用)状态行空格回车换行:CRLFCRLFCRLFCRLF(a)请求报文 (b)响应报文图9-9 HTTP的报文结构:
31、(a)请求报文(b)响应报文3超文本标记语言HTMLn超文本标记语言HTML(HyperText Markup Language)就是一种制作万维网页面的标准语言,它消除了不同计算机之间信息交流的障碍。nHTML定义了许多用于排版的命令,即“标签(tag)”。例如,表示后面开始用斜体字排版,而则表示斜体字排版到此结束。HTML 把各种标签嵌入到万维网的页面中。这样就构成了所谓的 HTML 文档。HTML 文档是一种可以用任何文本编辑器创建的 ASCII 码文件。 当浏览器从服务器读取某个页面的HTML文档后,就按照HTML文档中的各种标签,根据浏览器所使用的显示器的尺寸和分辩率大小,重新进行排
32、版并恢复出所读取的页面。n元素(element)是HTML文档结构的基本组成部分。 nHTML用一对标签(即一个开始标签和一个结束标签)或几对标签来标识一个元素。 图9-10是个简单例子,用来说明HTML文档中标签的用法。 一个 HTML 的例子HTML 很容易掌握这是第一个段落。 这是第二个段落。4.URL与信息定位nHTML的超链接使用URL来定位信息资源所在的位置。URL是Uniform Resource Location的缩写,译为“统一资源定位符”。通俗地说,URL是Internet上用来描述信息资源的字符串,主要用来在各种WWW客户程序和服务器程序上。采用URL可以用一种统一的格式
33、来描述各种信息资源,包括文件、服务器的地址和目录等。URL的一般格式如下: :/:/n从上式可以看出,URL由三部分组成:n第一部分是协议(或称为服务方式,也就是访问方式);n第二部分是存有该资源的主机IP地址(有时也包括端口号);n 第三部分是主机资源的具体地址,如目录和文件名等。n第一部分和第二部分之间用“:/”符号隔开,第二部分和第三部分用“/”符号隔开。第一部分和第二部分是不可缺少的,第三部分有时可省略。URL通过访问类型来表示访问方式或使用的协议 n(1)文件的URLn(2)HTTP的URLn(3)FTP的URL9.5 动态主机配置协议DHCPnDHCP 是 Dynamic Host
34、 Configuration Protocol(动态主机配置协议)缩写,由IETF(Internet 网络工程师任务小组)设计,详尽的协议内容在RFC文档rfc2131和rfc1541里。它的前身是 BOOTP。BOOTP 原本是用于无磁盘主机连接的网络上面的,网络主机使用 BOOT ROM 而不是磁盘起动并连接上网络,BOOTP 则可以自动地为那些主机设定 TCP/IP 环境。但 BOOTP 有一个缺点:在设定前须事先获得客户端的硬件地址,而且,与 IP 的对应是静态的。换而言之,BOOTP 非常缺乏“动态性”,若在有限的 IP 资源环境中,BOOTP 的一对一对应会造成非常可观的浪费。 D
35、HCP 可以说是 BOOTP 的增强版本。n在以下场合通常利用DHCP服务器来完成IP地址分配:网络规模较大,手工配置需要很大的工作量,并难以对整个网络进行集中管理。网络中主机数目大于该网络支持的IP地址数量,无法给每个主机分配一个固定的IP地址。大量用户必须通过DHCP服务动态获得自己的IP地址,而且,对并发用户的数目也有限制。 网络中具有固定IP地址的主机比较少,大部分主机可以不使用固定的IP地址。n与bootp相比,DHCP也采用客户-服务器通信模式,由客户端向服务器提出配置申请(包括分配的IP地址、子网掩码、缺省网关等参数),服务器根据策略返回相应配置信息,两种协议的报文都采用udp进
36、行封装,并使用基本相同的报文结构。n bootp运行在相对静态(每台主机都有固定的网络连接)的环境中,管理员为每台主机配置专门的bootp参数文件,该文件会在相当长的时间内保持不变。 n DHCP从两方面对bootp进行了扩展:DHCP可使计算机仅用一个消息就获取它所需要的所有配置信息;DHCP允许计算机快速、动态地获取IP地址,而不是静态为每台主机指定地址。1. DHCP的IP地址分配n (1)IP地址分配策略n 对于IP地址的占用时间,不同主机有不同的需求:对于服务器,可能需要长期使用固定的IP地址;对于某些主机,可能需要长期使用某个动态分配的IP地址;而某些个人则可能只在需要时分配一个临
37、时的IP地址就可以了。针对这些不同的需求,DHCP服务器提供三种IP地址分配策略:n手工分配地址:由管理员为少数特定主机(如www服务器等)配置固定的IP地址。n自动分配地址:为首次连接到网络的某些主机分配固定IP地址,该地址将长期由该主机使用。n 动态分配地址:以“租借”的方式将某个地址分配给客户端主机,使用期限到期后,客户端需要重新申请地址。大多数客户端主机得到的是这种动态分配的地址。(2)IP地址分配的优先次序n DHCP服务器按照如下次序为客户端选择IP地址:n DHCP服务器的数据库中与客户端mac地址静态绑定的IP地址;n 客户端以前曾经使用过的IP地址,即客户端发送的DHCP-r
38、equest报文中请求IP地址选项(requested IP addr option)的地址;n 在DHCP地址池中,顺序查找可供分配的IP地址,最先找到的IP地址;n 如果未找到可用的IP地址,则依次查询超过租期、发生冲突的IP地址,如果找到则进行分配,否则报告错误。2. DHCP服务器的基本原理n在DHCP的典型应用中,一般包含一台DHCP服务器和多台客户端(如PC和便携机),如图9-11所示:DHCP客户端为了获取合法的动态IP地址,在不同阶段与服务器之间交互不同的信息,通常存在以下三种模式:n(1)DHCP客户端首次登录网络nDHCP客户端首次登录网络时,主要通过四个阶段与DHCP服务
39、器建立联系。n发现阶段: n提供阶段: n选择阶段: n确认阶段: (2)DHCP客户端再次登录网络n当DHCP客户端再次登录网络时,主要通过以下几个步骤与DHCP服务器建立联系。nDHCP客户端首次正确登录网络后,以后再登录网络时,只需要广播包含上次分配IP地址的DHCP_request报文即可,不需要再次发送DHCP_discover报文。nDHCP服务器收到DHCP_request报文后,如果客户端申请的地址没有被分配,则返回DHCP_ack确认报文,通知该DHCP客户端继续使用原来的IP地址。n如果此IP地址无法再分配给该DHCP客户端使用(例如已分配给其它客户端),DHCP服务器将返回DHCP_nak报文。客户端收到后,重新发送DHCP_discover报文请求新的IP地址。(3)DHCP客户端延长IP地址的租用有效期nDHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约(如延长IP地址租约)。n实际使用中,在DHCP客户端启动或IP地址租约期限达到一半时,DHCP客户端会自动向DHCP服务器发送DHCP_request报文,以完成IP租约的更新。如果此IP地址有效,则DHCP服务器回应DHCP_ack报文,通知DHCP客户端已经获得新IP租约。
限制150内