提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
提示:以下是本篇文章正文内容
一、应用层的作用
最贴近用户的一层,为用户提供服务。
通过位于不同主机中的多个应⽤进程之间的通信和协同⼯作来完成,应⽤层的内容就是具体定义通信规则。
特点:精确定义不同主机中的多个应用进程之间的通信规则。
包括:应用进程交换的报文类型,如请求报文和响应报文。各种报文类型的语法,如报文中的各个字段及其详细描述。字段的语义,即包含在字段中的信息的含义。进程何时、如何发送报文,以及对报文进行响应的规则。
应用层的许多协议都是基于客户服务器方式。客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务请求方,服务器是服务提供方。
二、网络服务模型
1. 客户/服务器模型(C/S模型)
在客户/服务器模型中,有一个总是打开的主机称为服务器,它服务于许多来自于其他称为客户机的主机请求,工作流程如下:
1)服务器处于接收请求的状态;
2)客户机发出服务请求,并等待接收结果;
3)服务器收到请求后,分析请求,进行必要的处理,得到结果后发送给客户端主机。
最主要特征:客户是请求方,服务器是服务提供方。当web服务器接收到来自客户机对某对象的请求时,它向该客户机发送所请求的对象以做出响应。常见的使用客户/服务器模型的应用包括web、文件传输协议(FTP)、远程登录和电子邮件。C/S模型非常适合资源相对集中的场合,并且它的实现也很简单,但其缺点也很明显:服务器是通信的中心,当访问量过大时,可能所有客户都将得到很慢的响应。

2. P2P模型
C/S模型中,服务器性能好坏决定了整个系统的性能,当大量用户请求服务时,服务器必然成为系统的瓶颈。
P2P模型的思想:整个网络的传输内容不再被保存到中心服务器上,每个结点同时具有下载、上传的功能,权利和义务都是对等的。
没有固定的客户和服务器划分。任意一对计算机-称为对等方(Peer)直接相互通信。
实际上,P2P模型从本质上仍然使用C/S方式,每个结点既作为客户访问其他节点的资源,也做为服务器提供资源给其他节点访问。
优点:1)减轻了服务器的计算压力,消除了对某个服务器的完全依赖,提供了系统效率和资源利用率;2)多个客户机之间可以直接共享文档;3)可扩展性好,传统服务器有响应和带宽的限制,因此只能接收一定数量的请求;4)网络健壮性强,单个节点的失效不会影响其他部分的节点;
缺点:获取服务的同时,还要给其他节点提供服务,因此会占用较多的内存,影响整机速度。例如,经常进行P2P下载还会对硬盘造成较大的损伤。当前P2P程序已占互联网50%-90%的流量,使网络变得非常拥塞,因此各大ISP(互联网服务提供商,如电信、网通)通常对P2P应用持反对态度。

三、应用层中常见的协议
1.域名系统DNS [端口号:53]
(1)域名系统概述
互联网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名转换为便于机器处理的IP地址,为互联网的各种网络应用提供了核心服务。
早期本地文件解析hosts(规模小),目前互联网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS(可靠性)。
名字到 IP 地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。
从概念上将DNS分为三部分:层次域名空间、域名服务器和解析。

(2)互联网的域名结构
- 域名结构
互联网采用了层次树状结构的命名方法。任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。
域名结构:域名的结构由标号序列组成,各标号之间用点隔开,格式为… .三级域名.⼆级域名.顶级域名。
以http://www.sina.com.cn/为例
http是通信使用的协议;www是服务器名(主机名),www代表一个万维网服务器;sina.com.cn是域名;www.sina.com.cn是主机名;http://www.sina.com.cn/是URL。因此服务器名+域名才是主机名。再举个例子,http://blog.sina.com.cn/中,blog是提供博客服务的那台机器的名字,sina.com.cn是域名,blog.sina.com.cn是主机名。
一旦某单位拥有了一个域名,它就可以自己决定是否要进一步划分其下属的子域,并且不必由上级机构批准。如youth.upc.edu.cn。



-
DNS的一些规定
域名中的标号都由英文和数字组成。
每个标号不超过63个字符,最好不超过12个字符。
不区分大小写。
由多个标号组成的完整域名总共不超过255个字符。
DNS既不规定一个域名需要包含多少个下级域名,也不规定每一级的域名代表什么意思。如中国石油大学自主管理,*.upc.edu.cn。
各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由ICANN进行管理。保证了每个域名在整个互联网范围内是唯一的。 -
域名只是一个逻辑概念
域名只是个逻辑概念,并不代表计算机所在的物理地点。
变长的域名和使用有助记忆的字符串,是为了便于人来使用。而 IP 地址是定长的 32 位二进制数字则非常便于机器进行处理。
域名中的“点”和点分十进制 IP 地址中的“点”并无一一对应的关系。点分十进制 IP 地址中一定是包含三个“点”,但每一个域名中“点”的数目则不一定正好是三个。 -
顶级域名
国家顶级域名 nTLD
.cn 表示中国;.us 表示美国;.uk 表示英国
通用顶级域名 gTLD
.com(公司和企业) .net(网络服务机构)
.org(非赢利性组织) .edu(美国专用的教育机构)
.gov(美国专用的政府部门)
基础结构域名 (infrastructure domain)
在国家顶级域名下注册的二级域名均由该国家自行确定。
我国把二级域名划分为“类别域名”和“行政区域名”两大类。

(3)域名服务器
- 域名服务器概述
DNS 是一个联机分布式数据库系统,采用客户服务器方式。
域名到 IP 地址的解析是由若干个分布在各地的域名服务器程序共同完成。
一个服务器所负责管辖的(或有权限的)范围叫做区 (zone)。
各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。
每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到 IP 地址的映射。
DNS 服务器的管辖范围不是以“域”为单位,而是以“区”为单位。
每个域名服务器都只对域名体系中的一部分进行管辖。


- 根域名服务器
根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址。
不管是哪一个本地域名服务器,若要对互联网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。
在互联网上共有 13 个不同 IP 地址的根域名服务器,它们的名字是用一个英文字母命名,从 a 一直到 m(前 13 个字母)。
若所有的根域名服务器都瘫痪了,整个互联网中的 DNS 系统就无法工作了。
根域名服务器共有 13 套装置,不是 13 个机器。
正是因为根服务器的特殊性,导致世界各国极度依赖美国互联网。一旦根域名服务器关闭,输入域名也无法获取对应的IP地址,所以就无法正常访问网络。
根域名服务器分布在全世界。为了提供更可靠的服务,在每一个地点的根域名服务器往往由多台机器组成。到2016年2月,全世界已经在 588 个地点安装了根域名服务器,使世界上大部分 DNS 域名服务器都能就近找到一个根域名服务器。
每个地点的根域名服务器还可由多台机器组成。
根域名服务器采用任播 (anycast) 技术,当DNS 客户向某个根域名服务器发出查询报文时,路由器能找到离这个 DNS 客户最近的一个根域名服务器。
注意:根域名服务器并不直接把域名转换成 IP 地址(根域名服务器也没有存放这种信息),而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。
根镜像服务器:镜像服务器其实就是分权,让域名服务器的影响力降低,因为分散在全球各国,确实在一定程度上,阻止美国一家独大。
-
顶级域名服务器
顶级域名服务器(即 TLD 服务器)负责管理在该顶级域名服务器注册的所有二级域名。
当收到 DNS 查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的 IP 地址)。 -
权限域名服务器
负责一个区的域名服务器。
当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的 DNS 客户,下一步应当找哪一个权限域名服务器。 -
本地域名服务器
本地域名服务器对域名系统非常重要。
当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器。
每一个互联网服务提供者 ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,当所要查询的主机也属于同一个本地 ISP 时,该本地域名服务器立即就能将所查询的主机名转换为它的 IP 地址,而不需要再去询问其他的域名服务器。
这种域名服务器有时也称为默认域名服务器。
在windows系统的客户端里设置。 -
提高域名服务器可靠性
DNS 域名服务器都把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器。
当主域名服务器出故障时,辅助域名服务器可以保证 DNS 的查询工作不会中断。
主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。
(4)域名的解析过程
主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。(替该主机继续查询)
本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。(不替本地域名服务器进行后续的查询)




(5)高速缓存
每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。
可大大减轻根域名服务器的负荷,使互联网上的 DNS 查询请求和回答报文的数量大为减少。
为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项(例如,每个项目只存放两天)。
当权限域名服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名转换的准确性。
主机中同样需要DNS高速缓存。
名字到地址的绑定并不经常改变。
nslookup 查询DNS的记录。
ipconfig/displaydns 显示DNS解析程序缓存的内容。
ipconfig/all
DNS服务的端口号53,基于UDP。
(6)DNS和ARP异同
相同点:
服务定位:DNS 和 ARP 都用于将一个地址解析为另一个地址,以便于网络通信。
缓存机制:都有缓存机制,但 ARP 通常有效期较短,且只在本地设备上有效。
不同点:
工作层面:DNS 工作在应用层,负责将域名解析为IP地址;ARP 工作在网络层,负责将IP地址解析为MAC地址。
解析对象:DNS 解析的是域名到 IP 地址的映射;ARP 解析的是 IP 地址到 MAC 地址的映射。作用域:DNS 全球性的服务,可以解析全球范围内的域名,ARP 局限于局域网内,用于解析同一局域网内的 IP 地址到 MAC 地址。
查询方式:DNS 可以通过递归查询或迭代查询的方式进行,客户端可以请求 DNS 服务器进行完整的域名解析;ARP 通常广播 ARP 请求到局域网内的所有设备,目标设备回应其MAC地址
2.文件传输协议FTP [端口号:21(连接)、20(传输)]
(1)FTP概述
使用TCP连接,传输数据。
文件传送协议 FTP (File Transfer Protocol) 是互联网上使用得最广泛的文件传送协议。
FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
FTP 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。
(2)FTP基本工作原理
网络环境中的一项基本应用就是将文件从一台计算机中复制到另一台可能相距很远的计算机中。
初看在两个主机之间传送文件是很简单的事情。
其实这往往非常困难。原因是众多的计算机厂商研制出的文件系统多达数百种,且差别很大。
网络环境下复制文件的复杂性:(1) 计算机存储数据的格式不同。(2) 文件的目录结构和文件命名的规定不同。(3) 对于相同的文件存取功能,操作系统使用的命令不同。(4) 访问控制方法不同。
(3)FTP特点
文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。
FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。
FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。
(4)主进程工作步骤
打开熟知端口(端口号为 21),使客户进程能够连接上。
等待客户进程发出连接请求。
启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。
回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。
(5)两个连接
- 控制连接
控制连接在整个会话期间一直保持打开,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。 - 数据连接
实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。
数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。 - FTP使用两个不同的端口号
当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口 (21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。
接着,服务器进程用自己传送数据的熟知端口 (20) 与客户进程所提供的端口号码建立数据传送连接。
由于 FTP 使用了两个不同的端口号,其优点是:使协议更加简单和更容易实现。在传输文件时还可以利用控制连接(例如客户发送请求终止传输)。

3.远程终端协议TELNET [端口号:23]
使⽤TCP连接,远程登录到远地的另⼀台主机上。
4.万维网WWW
(1)万维网概述
- 万维网
万维网 WWW (World Wide Web) 并非某种特殊的计算机网络。万维网是一个大规模的、联机式的信息储藏所。万维网(亦作“Web”、“WWW”、“W3”,英文全称为“World Wide Web”),是一个由许多互相链接的超文本组成的系统,通过互联网访问。
万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。这种访问方式称为“链接”。正是由于万维网的出现,互联网走入平常百姓家。
万维网提供分布式服务。

-
超媒体与超文本
万维网是分布式超媒体 (hypermedia) 系统,它是超文本 (hypertext) 系统的扩充。
一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于世界上任何一个接在互联网上的超文本系统中。
超文本是万维网的基础。
超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。 -
万维网的工作方式
万维网以客户-服务器方式工作。浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。
客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。
在一个客户程序主窗口上显示出的万维网文档称为页面 (page)。 -
万维网必须解决的4个问题
(1) 怎样标志分布在整个互联网上的万维网文档?
使用统一资源定位符 URL (Uniform Resource Locator) 来标志万维网上的各种文档。
使每一个文档在整个互联网的范围内具有唯一的标识符 URL。
(2) 用何协议实现万维网上各种超链的链接?
在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议 HTTP (HyperText Transfer Protocol)。
HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。
(3) 怎样使各种万维网文档都能在互联网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链?
超文本标记语言 HTML (HyperText Markup Language) 使得万维网页面的设计者可以很方便地用一个超链接从本页面的某处链接到互联网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。
(4) 怎样使用户能够很方便地找到所需的信息?
为了在万维网上方便地查找信息,用户可使用各种搜索工具(即搜索引擎)。
(2)统一资源定位符URL
- URL
资源定位符 URL 是对可以从互联网上得到的资源的位置和访问方法的一种简洁表示。
URL 给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。
只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性。
URL 相当于一个文件名在网络范围的扩展。因此 URL 是与互联网相连的机器上的任何可访问对象的一个指针。 - URL的一般形式
由以冒号隔开的两大部分组成,并且在 URL 中的字符对大写或小写没有要求。
URL 的一般形式由以下四个部分组成:<协议>://<主机>:<端口>/<路径> 。
协议:ftp —— 文件传送协议 FTP;http —— 超文本传送协议 HTTP;News —— USENET 新闻。
主机:存放资源的主机。在互联网中的域名,也可以是用点分十进制的 IP 地址。
端口:端口号。省略时使用默认端口号。
路径:资源所在目录位置。区分大小写。省略时使用所定义的默认路径。后面可能还有一些选项。 - 使用HTTP协议的URL

(3)超文本传输协议HTTP [端口号:80]
-
超文本传输协议
HTTP 是面向事务的 (transaction-oriented) 应用层协议,是⼀个简单的请求-响应协议。使用 TCP 连接进行可靠的传送。
定义了浏览器与万维网服务器通信的格式和规则。
是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。
HTTP 不仅传送完成超文本跳转所必需的信息,而且也传送任何可从互联网上得到的信息,如文本、超文本、声音和图像等。
是万维网WWW(World Wide Web)的数据通信的基础。在WWW的背后有一系列的协议和标准支持它完成如此宏大的工作,这就是Web协议族,其中就包括HTTP超文本传输协议。 -
HTTP的操作过程
HTTP 规定:在 HTTP 客户与 HTTP 服务器之间的每次交互,都由一个 ASCII 码串构成的请求和一个类似的通用互联网扩充,即“类MIME (MIME-like)”的响应组成。HTTP 报文通常都使用 TCP 连接传送。

-
用户浏览界面的两种方法
在浏览器的地址窗口中键入所要找的页面的 URL。
在某一个页面中用鼠标点击一个可选部分,这时浏览器会自动在互联网上找到所要链接的页面。 -
HTTP的主要特点
HTTP 使用了面向连接的 TCP 作为运输层协议,保证了数据的可靠传输。
HTTP 协议本身也是无连接的。
HTTP 是无状态的 (stateless),简化了服务器的设计,使服务器更容易支持大量并发的 HTTP 请求。 -
请求一个万维网文档所需的时间
所需的时间 >= RTT(三报文握手建立 TCP 连接) + RTT(请求和接收文档)+ 文档的传输时间= 2 RTT +文档的传输时间

(4)万维网的信息检索系统
使用户能够很方便地找到所需的信息。
在万维网中用来进行搜索的程序叫做搜索引擎 (search engine)。
-
全文检索搜索
一种纯技术型的检索工具。
通过搜索软件(例如一种叫做“蜘蛛”或“网络机器人”的 Spider 程序)到互联网上的各网站收集信息。
按照一定的规则建立一个很大的在线索引数据库。
用户在查询时只要输入关键词,从已经建立的索引数据库里查询(非实时)。
需要定期更新维护数据库。 -
分类目录搜索
不采集网站的任何信息,而是利用各网站向搜索引擎提交的网站信息时填写的关键词和网站描述等信息,经过人工审核编辑后,输入到分类目录的数据库中,供网上用户查询。
分类目录搜索也叫做分类网站搜索。
查询时只需要按照分类,不需要使用关键词,查询的准确性较好。
查询的结果不是具体的页面,而是被收录网站主页的 URL 地址。

(5)习题
下列关于Cookie的说法中,错误的是( ) 。
A.Cookie是由服务器产生的
B.Cookie会威胁用户的隐私
C. Cookie的作用是跟踪用户的访问和状态
D. Cookie存储在服务器端
【解析】D
Cookie是一个存储在用户主机中的文本文件。
5.电子邮件协议
(1)电子邮件概述
电子邮件 (e-mail) 指使用电子设备交换的邮件及其方法。电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可随时上网到自己使用的邮件服务器进行读取。
电子邮件不仅使用方便,而且还具有传递迅速和费用低廉的优点。现在电子邮件不仅可传送文字信息,而且还可附上声音和图像。由于电子邮件和手机的广泛使用,迫使传统的电报业务退出市场。与时俱进。
简单邮件发送协议:电⼦邮件传输协议SMTP [端口号:25]
读取邮件的协议:邮局协议版本3POP3 [端口号:110]和 IMAP
MIME:通用互联网邮件扩充Multipurpose Internet Mail Extensions
MIME 在其邮件首部中说明了邮件的数据类型(如文本、声音、图像、视像等),使用 MIME 可在邮件中同时传送多种类型的数据。
(2)电子邮件系统的组成
用户代理:用户与电子邮件系统的接口。又被称为电子邮件客户端软件。基本功能:撰写、显示、处理、通信。
邮件服务器:又被称为邮件传输代理。功能:发送和接收邮件,同时还要向发信人报告邮件传送的情况。按照客户服务器方式工作。邮件服务器必须能够同时充当客户和服务器。
邮件发送和读取协议:邮件发送和读取使用不同的协议。简单邮件发送协议 SMTP:用于在用户代理向邮件服务器 或 邮件服务器之间发送邮件。邮局协议 POP3:用于用户代理从邮件服务器读取邮件。SMTP 和 POP3(或 IMAP)都使用 TCP 连接可靠地传送邮件。

(3)发送和接受电子邮件的重要步骤
注意:邮件不会在互联网中的某个中间邮件服务器落地。

(4)电子邮件的组成
电子邮件由信封 (envelope) 和内容 (content) 两部分组成。
电子邮件的传输程序根据邮件信封上的信息来传送邮件。
用户在从自己的邮箱中读取邮件时才能见到邮件的内容。
(5)电子邮件地址的格式
在邮件的信封上,最重要的就是收件人的地址。
TCP/IP 体系的电子邮件系统规定电子邮件地址的格式如下:收件人邮箱名(这个用户名在该域名
的范围内是唯一的)@邮箱所在主机的域名(邮箱所在的主机的域名在全世界必须是唯一的)。例如: xiexiren@tsinghua.org.cn。
6.动态主机配置协议DHCP [端口号:68]
(1)动态主机配置协议
在协议软件中,给协议参数赋值的动作叫做协议配置。一个协议软件在使用之前必须是已正确配置的。具体的配置信息取决于协议栈。
连接到互联网的计算机的协议软件需要正确配置的参数包括:IP 地址、子网掩码、默认路由器的 IP 地址、域名服务器的 IP 地址。
动态主机配置协议 DHCP (Dynamic Host Configuration Protocol) 提供了即插即用连网 (plug-and-play networking) 的机制,允许一台计算机加入网络和获取 IP 地址,而不用手工配置。
DHCP 给运行服务器软件、且位置固定的计算机指派一个永久地址,给运行客户端软件的计算机分配一个临时地址。
指的是由服务器控制⼀段IP地址范围,客户机登录服务器时就可以⾃动获得服务器分配的IP地址和⼦⽹掩码。
(2)DHCP使用客户服务器模式
需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为 DHCP 客户。
本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文。
DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的 IP 地址池 (address pool) 中取一个地址分配给该计算机。DHCP服务器的回答报文叫做提供报文(DHCPOFFER)。
(3)DHCP工作方式
DHCP 使用客户服务器方式,采用请求/应答方式工作。
DHCP 基于 UDP 工作,DHCP 服务器运行在 67 号端口, DHCP客户运行在 68 号端口。

需要 IP 地址的主机向 DHCP 服务器广播发送发现报文 (DHCPDISCOVER) 。

DHCP 服务器回答提供报文 (DHCPOFFER) (单播),提供 IP 地址等配置信息。

(4)DHCP中继代理
问题:每个网络上都需要有 DHCP 服务器吗?
答案:不需要,因为会使 DHCP 服务器的数量太多。
问题:若没有 DHCP 服务器,如何自动获得地址?
解决:每一个网络至少有一个 DHCP 中继代理,它配置了 DHCP 服务器的 IP 地址信息。
DHCP 中继代理以单播方式转发发现报文:
DHCP 中继代理收到主机广播发送的发现报文后,就以单播方式向 DHCP 服务器转发此报文,并等待其回答。
收到 DHCP 服务器回答的提供报文后,DHCP 中继代理再将其发回给主机。

(5)租用期
DHCP 服务器分配给 DHCP 客户的 IP 地址的临时的,因此 DHCP 客户只能在一段有限的时间内使用这个分配到的 IP 地址。DHCP 协议称这段时间为租用期。
租用期的数值应由 DHCP 服务器自己决定。
DHCP 客户也可在自己发送的报文中(例如,发现报文)提出对租用期的要求。
(6)DHCP 协议的工作过程
1:DHCP 服务器被动打开 UDP 端口 67,等待客户端发来的报文。

2:DHCP 客户从 UDP 端口 68 发送 DHCP 发现报文 DHCPDISCOVER。

3:凡收到 DHCP 发现报文的 DHCP 服务器都发出 DHCP 提供报文 DHCPOFFER,因此 DHCP 客户可能收到多个 DHCP 提供报文 。

4:DHCP 客户从几个 DHCP 服务器中选择其中的一个,并向所选择的 DHCP 服务器发送 DHCP 请求报文 DHCPREQUEST。

5:被选择的 DHCP 服务器发送确认报文 DHCPACK,DHCP 客户可开始使用得到的临时 IP 地址了,进入已绑定状态。
DHCP 客户现在要根据服务器提供的租用期 T 设置两个计时器 T1 和 T2,它们的超时时间分别是 0.5T 和 0.875T。当超时时间到时,就要请求更新租用期。

6:租用期过了一半(T1 时间到),DHCP 发送请求报文 DHCPREQUEST,要求更新租用期。

7:DHCP 服务器若同意,则发回确认报文 DHCPACK。DHCP 客户得到了新的租用期,重新设置计时器。

8:DHCP 服务器若不同意,则发回否认报 DHCPNACK。这时 DHCP 客户必须立即停止使用原来的 IP 地址,而必须重新申请 IP 地址(回到步骤2)。

若 DHCP 服务器不响应步骤6的请求报文 DHCPREQUEST,则在租用期过了 87.5% 时 (T2 时间到),DHCP 客户必须重新发送请求报文 DHCPREQUEST(重复步骤6),然后又继续后面的步骤。

9:DHCP 客户可随时提前终止服务器所提供的租用期,这时只需向 DHCP 服务器发送释放报文 DHCPRELEASE 即可。


1075

被折叠的 条评论
为什么被折叠?



