《路由交换技术与应用》课件第30章_第1页
《路由交换技术与应用》课件第30章_第2页
《路由交换技术与应用》课件第30章_第3页
《路由交换技术与应用》课件第30章_第4页
《路由交换技术与应用》课件第30章_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第30章动态网络地址分配(DHCP)30.1DHCP的概念和特点30.2DHCP工作原理小结

主要内容:

DHCP的概念和特点

DHCP工作原理

DHCPrelay和DHCPserver的概念、数据配置和应用

30.1.1基本概念

DHCP

Dynamic

Host

Configuration

Protocol

(动态主机分配协议)的缩写,前身是BOOTP协议。DHCP协议基于UDP协议之上,分为两个部分:服务器端、客户端。所有的IP网络设定资料都由

DHCP

服务器集中管理﹐并负责处理客户端的DHCP要求,而客户端则会使用从服务器分配下来的IP信息。30.1DHCP的概念和特点30.1.2协议特点

DHCP协议的主要特点有:

(1)整个IP分配过程自动实现,在客户端上,除了将DHCP选项打勾外,无需做任何IP环境设定;

(2)所有的IP网络设定资料都由DHCP服务器统一管理,还可以帮客户端指定netmask、DNS服务器、缺省网关等参数;

(3)通过IP地址租期管理(到达期限时,可能会延长“租约”或重新分配地址),实现IP地址分时复用;

(4)

DHCP采用广播方式交互报文,由于默认情况下路由器不会将收到的广播包从一个子网发送到另一个子网,因而当DHCP服务器与客户主机不在同一个子网时,必须使用DHCP中继(即DHCPrelay);

(5)

DHCP协议的安全性较差,服务器容易受到攻击。

30.2.1DHCP的组网方式

DHCP的组网方式分为两种:

(1)

DHCPServer和client在同一个子网里。如图30-1所示。

(2)

DHCPServer和client不在同一个子网里。如图30-2所示。30.2DHCP工作原理

图30-1DHCPServer和client在同一个子网里

图30-2DHCPServer和client不在同一个子网里

DHCP协议采用客户端/服务器体系结构,客户端靠发送广播方式的发现信息来寻找DHCP服务器,即向地址255.255.255.255发送特定的广播信息,服务器收到请求后进行响应。而路由器默认情况下是隔离广播域的,对此类报文不予处理,因此DHCP的组网方式分为同网段和不同网段两种方式。当DHCP服务器和客户机不在同一个子网时,充当客户主机默认网关的路由器必须将广播包发送到DHCP服务器所在的子网,这一功能称为DHCP中继。

标准的DHCP中继的功能相对来说也比较简单,只是重新封装、续传DHCP报文。30.2.2DHCP协议报文

DHCP封装格式如图30-3所示。

DHCP采用UDP作为传输协议,主机发送消息到DHCP服务器的67号端口,服务器返回消息给主机的68号端口。

图30-3DHCP封装格式

DHCP协议报文字段定义如图30-4所示,我们看几个经常用到的字段:

Op:Messageopcode/messagetype消息类型;

Giaddr:DHCP代理的IP地址,在DHCP代理的工作过程中会有详细的解释。

图30-4DHCP协议报文格式由于DHCP协议是初始化协议,简单地说,就是让终端获取IP地址的协议,既然终端连IP地址都没有,何以能够发出IP报文呢?服务器给客户端回送的报文该怎么封装呢?为了解决这个问题,DHCP报文的封装采取了如下措施:

(1)链路层的封装必须是广播形式,即让在同一物理子网中的所有主机都能够收到这个报文。在以太网中,就是目的MAC为全1。

(2)由于终端没有IP地址,IP头中的源IP规定填为0.0.0.0。

(3)当终端发出DHCP请求报文时,它并不知道DHCP服务器的IP地址,因此IP头中的目的IP填为子网广播IP——255.255.255.255,以保证DHCP服务器不丢弃这个报文。

(4)上面的措施保证了DHCP服务器能够收到终端的请求报文,但仅凭链路层和IP层信息,DHCP服务器无法区分出DHCP报文,因此终端发出的DHCP请求报文的UDP层中源端口为68,目的端口为67。即DHCP服务器通过知名端口号67来判断一个报文是否是DHCP报文。

(5)

DHCP服务器发给终端的响应报文将会根据DHCP报文中的内容决定是广播还是单播,一般都是广播形式。广播封装时,链路层的封装必须是广播形式,在以太网中,就是目的MAC为全1,IP头中的目的IP为广播IP——255.255.255.255。

(6)单播封装时,链路层的封装是单播形式,在以太网中,就是目的MAC为终端的网卡MAC地址。IP头中的目的IP填为有限的子网广播IP——255.255.255.255或者是即将分配给用户的IP地址(当终端能够接收这样的IP报文时)。两种封装方式中UDP层都是相同的,源端口为67,目的端口为68。终端通过知名端口号68来判断一个报文是否是DHCP服务器的响应报文。

DHCP协议采用客户端—服务器方式进行交互,其报文格式共有8种,由报文中“DHCPmessagetype”字段的值来确定,后面括号中的值即为相应类型的值。具体含义如下:

(1)

DHCPDISCOVER(0X01):此报文是客户端开始DHCP过程的第一个报文。

(2)

DHCPOFFER(0X02):此报文是服务器对DHCPDISCOVER报文的响应。

(3)

DHCPREQUSET(0X03):此报文是客户端开始DHCP过程中对服务器的DHCPOFFER报文的回应,或者是客户端续延IP地址租期时发出的报文。

(4)DHCPDECLINE(0X04):当客户端发现服务器分配给他的IP地址无法使用,如IP地址冲突时,将发出此报文,通知服务器禁止使用IP地址。

(5)

DHCPACK(0X05):此报文是服务器对客户端的DHCPREQUEST报文的确认响应报文,客户端收到此报文后,才真正获得了IP地址和相关的配置信息。

(6)

DHCPNAK(0X06):此报文是服务器对客户端的DHCPREQUEST报文的拒绝响应报文,客户端收到此报文后,一般会重新开始新的DHCP过程。

(7)

DHCPRELEASE(0X07):此报文是客户端主动释放服务器分配给他的IP地址的报文,当服务器收到此报文后,就可以回收这个IP地址,能够再分配给其他的客户端。

(8)

DHCPINFORM(0X08):客户端已经获得了IP地址,发送此报文,只是为了从DHCP服务器处获取其他的一些网络配置信息,如DNS等。这种报文的应用报文非常少见。30.2.3DHCP工作方式

1. DHCPServer工作方式

DHCP服务器需要提供给DHCP客户端分配IP地址和配置相关初始配置信息的功能,也就是通常所说的地址池管理功能,但这却不是DHCP协议本身的工作。

除了上述的地址池管理功能外,DHCP服务器的行为完全由DHCP客户端来驱使,因此其行为相对简单,只需根据收到的DHCP客户端的各种请求报文相应地响应不同的DHCP响应报文即可。当DHCP服务器收到DHCPDISCOVER报文后,就会从地址池中分配一个空闲IP,并获得DHCP客户端请求的参数,构造DHCPOFFER报文响应DHCP客户端。当DHCP服务器收到DHCPREQUEST报文时,就会根据报文中记录的DHCP客户端的硬件地址查找其地址分配表,如若找到,则响应DHCPACK报文,DHCP客户端成功获得IP地址和配置信息;否则,响应DHCPNAK报文,DHCP客户端会自动重新开始DHCP过程。当DHCP服务器收到DHCPRELEASE报文后,会解除这个IP地址与某个DHCP客户端的绑定,回收这个IP地址重新分配。当DHCP服务器收到DHCPDECL-INE报文后,会禁用报文中“客户机IP地址”字段的IP地址,不再分配这个IP地址。

DHCP服务器是如何知道给DHCP客户端分配哪个网段的IP地址呢?

DHCP服务器收到DHCP请求报文后,将会首先查看“giaddr”字段是否为0。如果不为0,则就会根据此IP地址所在网段从相应地址池中为客户端分配IP地址,并且把响应报文直接单播给这个“中继代理IP地址”指定的IP地址,就是DHCP中继,而且UDP的目的端口号填为67,而不是68;如果为0,则DHCP服务器认为客户端与自己在同一子网中,将会根据自己的IP地址所在网段从相应地址池中为客户端分配IP地址。

2.同网段的工作方式

同网段的工作方式如图30-5所示。

图30-5同网段的工作方式

DHCP服务器与DHCP客户端处于同网段的工作过程:

(1)客户端获取IP地址(阶段)。

(2)发现阶段,即DHCP客户端寻找DHCP服务器的阶段。DHCP客户端以广播方式(因为DHCP服务器的IP地址对于客户端来说是未知的)发送DHCP

discover发现信息来寻找DHCP服务器,即向地址255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应。

(3)提供阶段,即DHCP服务器提供IP地址的阶段。在网络中接收到DHCP

discover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户端,向DHCP客户端发送一个包含出租的IP地址和其他设置的DHCP

offer提供信息。

(4)选择阶段,即DHCP客户端选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户端发来的DHCP

offer提供信息,则DHCP客户端只接受第一个收到的DHCP

offer提供信息,然后它就以广播方式回答一个DHCP

request请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,它将选择某台DHCP服务器所提供的IP地址。

(5)确认阶段,即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCP

request请求信息之后,它便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP

ack确认信息,告诉DHCP客户端可以使用它所提供的IP地址。然后DHCP客户端便将其TCP/IP协议与网卡绑定,另外,除DHCP客户端选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址。获取IP地址后的延续过程如下:

DHCP服务器向DHCP客户端出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。在使用租期过去50%时刻处,客户端向服务器发送单播DHCPREQUEST报文续延租期,如果成功即收到DHCP服务器的DHCPACK报文,则租期相应向前延长;如果失败即没有收到DHCPACK报文,则客户端继续使用这个IP地址。在使用租期过去87.5%时刻处,向DHCP服务器发送广播DHCPREQUEST报文续延租期,如果成功即收到DHCP服务器的DHCPACK报文,则租期相应向前延长;如果失败即没有收到DHCPACK报文,则客户端继续使用这个IP地址。在使用租期到期时,客户端应自动放弃使用这个IP地址,并开始新的DHCP过程。

同网段更新租约如图30-6所示。

图30-6同网段更新租约

3.跨网段的工作方式

跨网段的工作方式如图30-7所示。

图30-7跨网段的工作方式跨网段的工作过程如下:

(1)客户端获得IP地址。由于DHCP报文都采用广播方式,是无法穿越多个子网的,当DHCP报文要穿越多个子网时,就要有DHCPRELAY的存在。当存在DHCP中继时,所有的DHCP报文都会经过DHCP中继进行转发。整个DHCP交互过程与同网段方式的类似,只是在报文封装时稍有不同。

DHCPRELAY可以是路由器,也可以是一台主机。DHCPRELAY的作用就是要监听UDP目的端口号为67的所有报文。当DHCPRELAY收到请求报文后,就将广播报文根据事先指定的DHCP服务器地址转换成单播报文发送给DHCP服务器。

那么服务器收到请求后如何确定应该从哪个地址池中分配地址呢?当DHCPRELAY收到目的端口号为67的报文时,会首先判断是否为用户的请求报文,若是且其中的“giaddr”字段为0,则把自己的IP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论