40 KiB
VRRP协议&DHCP协议
作者:行癫
第一节:VRRP原理与配置
一:VRRP技术概述
1.单网关面临的问题
当网关Router出现故障时,本网段内以该设备为网关的主机都不能与Internet进行通信
2.VRRP概述
通过把几台路由设备联合组成一台虚拟的“路由设备”,使用一定的机制保证当主机的下一跳路由设备出现故障时,及时将业务切换到备份路由设备,从而保持通讯的连续性和可靠性
VRRP的运行结果是在局域网上提供一个虚拟路由器
本例中:
局域网中有两个路由器R1和R2,R1端口IP地址为192.168.1.251/24,R2端口IP地址为192.168.1.252/24
配置R1和R2关联到同一个虚拟路由器,该虚拟路由器使用192.168.1.254做为端口IP地址
所有的PC使用192.168.1.254做为默认网关
3.VRRP的基本概念
VRRP路由器:运行VRRP协议的路由器,如R1和R2。VRRP是配置在路由器的接口上的,而且也是基于接口来工作的
VRID:一个VRRP组(VRRP Group)由多台协同工作的路由器(的接口)组成,使用相同的VRID(Virtual Router Identifier,虚拟路由器标识符)进行标识。属于同一个VRRP组的路由器之间交互VRRP协议报文并产生一台虚拟“路由器”。一个VRRP组中只能出现一台Master路由器
虚拟路由器:VRRP为每一个组抽象出一台虚拟“路由器”(Virtual Router),该路由器并非真实存在的物理设备,而是由VRRP虚拟出来的逻辑设备。一个VRRP组只会产生一台虚拟路由器
虚拟IP地址及虚拟MAC地址:虚拟路由器拥有自己的IP地址以及MAC地址,其中IP地址由网络管理员在配置VRRP时指定,一台虚拟路由器可以有一个或多个IP地址,通常情况下用户使用该地址作为网关地址。而虚拟MAC地址的格式是“0000-5e00-01xx”,其中xx为VRID
Master路由器:“Master路由器”在一个VRRP组中承担报文转发任务。在每一个VRRP组中,只有Master路由器才会响应针对虚拟IP地址的ARP Request。Master路由器会以一定的时间间隔周期性地发送VRRP报文,以便通知同一个VRRP组中的Backup路由器关于自己的存活情况
Backup路由器:也被称为备份路由器。Backup路由器将会实时侦听Master路由器发送出来的VRRP报文,它随时准备接替Master路由器的工作
Priority:优先级值是选举Master路由器和Backup路由器的依据,优先级取值范围0-255,值越大越优先,值相等则比较接口IP地址大小,大者优先
4.VRRP报文格式
VRRP只有一种报文,即Advertisement报文,基于组播方式发送,因此只能在同一个广播域传递。 Advertisement报文的目的组播地址为224.0.0.18
Ver:VRRP目前有两个版本,其中VRRPv2仅适用于IPv4网络,VRRPv3适用于IPv4和IPv6两种网络
Virtual Rtr ID:该报文所关联的虚拟路由器的标识
Priority:发送该报文的VRRP路由器的优先级
Count IP Addrs:该VRRP报文中所包含的虚拟IP地址的数量
Auth Type:VRRP支持三种认证类型:不认证、纯文本密码认证、MD5方式认证,对应值分别为0、1、2
Adver Int:发送VRRP通告消息的间隔。默认为1秒
IP Address:所关联的虚拟路由器的虚拟IP地址,可以为多个
Authentication Data:验证所需要的密码信息
5.VRRP定时器
在VRRP协议工作过程中,VRRP定义了两个定时器:
ADVER_INTERVAL定时器:Master发送VRRP通告报文时间周期,缺省值为1秒
MASTER_DOWN定时器:Backup设备监听该定时器超时后,会变为Master状态
MASTER_DOWN定时器计算公式如下:
MASTER_DOWN =(3* ADVER_INTERVAL)+ Skew_time(偏移时间)
其中,Skew_Time=(256–Priority)/256
二:VRRP技术原理
1.VRRP状态机
VRRP协议状态机有三种状态:Initialize(初始状态)、Master(活动状态)、Backup(备份状态)
一个Startup事件可以由系统在VRRP配置完成后自动触发,也可以是在已经配置VRRP的端口上,底层链路由不可用变为可用而触发
2.VRRP协议状态
Master状态
定期(ADVER_INTERVAL)发送VRRP报文
以虚拟MAC地址响应对虚拟IP地址的ARP请求
转发目的MAC地址为虚拟MAC地址的IP报文
默认允许ping通虚拟IP地址
当多台设备同时为Master时,若设备收到与自己优先级相同的报文时,会进一步比较IP地址的大小。如果收到报文的源IP地址比自己大,则切换到Backup状态,否则保持Master状态
Backup状态
接收Master设备发送的VRRP报文,判断Master设备的状态是否正常
对虚拟IP地址的ARP请求,不做响应
丢弃目的MAC地址为虚拟MAC地址的IP报文
丢弃目的IP地址为虚拟IP地址的IP报文
如果收到优先级和自己相同或者比自己优先级大的报文时,重置MASTER_DOWN定时器,不进一步比较IP地址的大小
3.VRRP主备选举
VRRP优先级不相等时主备选举过程
R1的接口VRRP优先级为200,R2的接口VRRP优先级为100,两台设备完成初始化后首先切换至Backup状态
R1与R2根据各自MASTER_DOWN定时器超时时间由Backup切换到Master状态,所以R1比R2更快切换至Master状态
R1和R2通过相互发送VRRP报文进行Master选举,优先级高的被选举为Master设备,因此R1被选为Master路由器
R1被选举为Master路由器后,立即发送免费ARP报文将虚拟MAC地址通告给与它连接的设备和主机
注意:
初始创建VRRP的设备工作在Initialize状态,收到接口Up的消息后,若此设备的优先级小于255,则会先切换至Backup状态,等待MASTER_DOWN定时器超时后再切换至Master状态
如果优先级高的设备先启动,优先级低的设备后启动,则优先级高的设备先进入Master状态,优先级低的设备收到高优先级的VRRP通告报文,自己仍处于Backup状态
如果优先级低的先启动,优先级高的后启动,则优先级低的先由Backup状态切换为Master状态,优先级高的设备收到优先级低的VRRP通告报文,重新进行选举,将优先级高的设备切换为Master状态
VRRP优先级相等时主备选举过程
R1与R2的GE0/0/0接口VRRP优先级都是200,两台设备完成初始化后首先切换至Backup状态
由于优先级相同,R1与R2的MASTER_DOWN定时器超时后,同时由Backup状态切换至Master状态
R1与R2交换VRRP报文,优先级一样,通过比较接口IP地址选举Master路由器,由于R2的接口IP地址大于R1的接口IP地址,因此R2被选举为Master路由器
R2被选举为Master路由器后,立即发送免费ARP报文将虚拟MAC地址通告给与它连接的设备和主机
注意:
初始创建VRRP的设备工作在Initialize状态,收到接口Up的消息后,若此设备的优先级小于255,则会先切换至Backup状态,等待MASTER_DOWN定时器超时后再切换至Master状态
如果优先级高的设备先启动,优先级低的设备后启动,则优先级高的设备先进入Master状态,优先级低的设备收到高优先级的VRRP通告报文,自己仍处于Backup状态
如果优先级低的先启动,优先级高的后启动,则优先级低的先由Backup状态切换为Master状态,优先级高的设备收到优先级低的VRRP通告报文,重新进行选举,将优先级高的设备切换为Master状态
当路由器接口被配置为VRRP的IP地址拥有者时(接口IP地址与Virtual IP相同),路由器无需等待任何定时器超时,可以直接切换至Master状态
配置为IP地址拥有者时主备选举过程
R1与R2的GE0/0/0接口VRRP优先级都采用默认配置(默认为100),但是R1的GE0/0/0接口IP地址与Virtual IP地址相同
R1的GE0/0/0接口直接切换至Master状态,R1成为Master路由器
注意: 通常情况下,VRRP路由器的接口IP地址不会与虚拟路由器的IP地址重叠,也就是说我们会为虚拟路由器单独规划一个IP地址,而不会使用某台路由器的接口IP地址。当然也存在一个特殊的情况,例如在某些网络中IP地址资源比较紧缺,那么也有可能会将某台路由器的接口IP地址用于虚拟路由器,此时该路由器将无条件成为Master
无法手动将VRRP接口优先级配置为255,当接口IP地址为IP地址拥有者时,优先级自动成为255
4.VRRP主备切换
当Master设备主动放弃Master地位(如Master设备退出备份组)时,会发送优先级为0的通告报文,用来使Backup设备快速切换成Master设备,而不用等到MASTER_DOWN定时器超时。这个切换的时间称为Skew_time
当Master设备发生网络故障而不能发送通告报文的时候,Backup设备并不能立即知道其工作状况。等到MASTER_DOWN定时器超时后,才会认为Master设备无法正常工作,从而将状态切换为Master
5.VRRP主备回切
正常情况下,由Master设备负责转发用户报文,如图所示,所有用户流量通过R1到达Internet。
当R1出现故障时,网络会重新进行VRRP主备选举,如图所示,此时R2会成为新的Master设备负责转发用户报文
当R1从故障恢复后,网络将重新进行VRRP主备选举,由于R1的优先级大于R2,所以R1又重新成为新的Master设备负责转发用户报文
VRRP抢占模式(Preempt Mode) :
抢占模式(默认激活):如果Backup路由器激活了抢占功能,那么当它发现Master路由器的优先级比自己更低时,它将立即切换至Master状态,成为新的Master路由器
非抢占模式:如果Backup路由器没有激活抢占功能,那么即使它发现Master路由器的优先级比自己更低,也只能依然保持Backup状态,直到Master路由器失效
三:VRRP典型应用
1.VRRP负载分担
通过创建多个虚拟路由器,每个物理路由器在不同的VRRP组中扮演不同的角色,不同虚拟路由器的Virtual IP作为不同的内网网关地址可以实现流量转发负载分担
2.VRRP监视上行端口
VRRP可监视(Track)上行端口状态,当设备感知上行端口或者链路发生故障时,可主动降低VRRP优先级,从而保证上行链路正常的Backup设备能够通过选举切换为Master状态,指导报文转发
如果用户未配置VRRP监视上行端口,则当VRRP备份组中的Master设备R1的上行接口或者链路出现故障时,VRRP备份组无法感知,Master无法向外转发流量。但是由于主备不会发生切换,导致出现流量黑洞
3.VRRP与BFD联动
通过配置VRRP与BFD联动,当Backup设备通过BFD感知故障发生之后,不再等待Master_Down_Timer计时器超时而会在BFD检测周期结束后立即切换VRRP状态,此时可以实现毫秒级的主备切换
当VRRP备份组之间的链路出现故障时,由于此时VRRP报文无法正常交互,Backup设备需要等待Master_Down_Timer计时器超时后才会切换为Master设备,在等待切换期间内,业务流量仍会发往Master设备,此时会造成业务流量丢失
通过在Master设备和Backup设备之间建立BFD会话并与VRRP备份组进行绑定,由BFD机制快速检测VRRP备份组之间的通信故障,并在出现故障时及时通知VRRP备份组进行主备切换,从而大大减少应用中断时间
在普通BFD联动中,VRRP备份组会根据BFD会话的状态进行优先级调整,并根据调整后的优先级判断是否进行主备切换。在实际应用中,通常Master设备配置延时抢占,而Backup设备配置立即抢占,当Backup设备检测到BFD会话状态出现DOWN后,通过增加自身优先级大于Master优先级实现快速切换,当故障排除,BFD会话状态出现UP时,新的Master通过减小自己的优先级,发送vrrp通告报文,经过延迟时间后再次切换为Backup
4.VRRP与MSTP结合应用
MSTP是将一个或多个VLAN映射到一个生成树的实例,若干个VLAN共用一个生成树,MSTP可以实现负载均衡
VRRP配置网关可以灵活根据网络拓扑变化而自动切换,提高网络可靠性
VRRP+MSTP可以在实现负载分担的同时保证网络冗余备份
四:VRRP基本配置
1.VRRP常用配置命令
2.VRRP基础配置实例
配置要求:
R1与R2组成一个VRRP备份组,其中R1为Master,R2为Backup
Master设备故障恢复时采用抢占模式,抢占延时10秒
Master设备监视上行接口状态实现VRRP主备自动切换
配置:
[R1] interface GigabitEthernet0/0/0
[R1-GigabitEthernet0/0/0] ip address 192.168.1.253 24
[R1-GigabitEthernet0/0/0] vrrp vrid 1 virtual-ip 192.168.1.254
[R1-GigabitEthernet0/0/0] vrrp vrid 1 priority 120
[R1-GigabitEthernet0/0/0] vrrp vrid 1 preempt-mode timer delay 10
[R1-GigabitEthernet0/0/0] vrrp vrid 1 track interface GigabitEthernet0/0/1 reduced 30
[R2] interface GigabitEthernet0/0/0
[R2-GigabitEthernet0/0/0] ip address 192.168.1.252 24
[R2-GigabitEthernet0/0/0] vrrp vrid 1 virtual-ip 192.168.1.254
[R2-GigabitEthernet0/0/0] vrrp vrid 1 priority 110
VRRP基础配置验证
[R1]display vrrp
GigabitEthernet0/0/0 | Virtual Router 1 #VRRP组ID为 1
State : Master #本设备在组中状态为Master
Virtual IP : 192.168.1.254
Master IP : 192.168.1.253
PriorityRun : 120 #接口在本VRRP组中优先级为120
PriorityConfig : 120
MasterPriority : 120
Preempt : YES Delay Time : 10 s #开启抢占模式,且延迟时间为10秒
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-0101
Check TTL : YES
Config type : normal-vrrp
Track IF : GigabitEthernet0/0/1 Priority reduced : 30
IF state : UP
[R2]display vrrp
GigabitEthernet0/0/0 | Virtual Router 1
State : Backup #本设备在组中状态为Backup
Virtual IP : 192.168.1.254
Master IP : 192.168.1.253
PriorityRun : 110 #接口在本VRRP组中优先级为110
PriorityConfig : 110
MasterPriority : 120
Preempt : YES Delay Time : 0 s #开启抢占模式,延迟时间为0秒
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-0101
Check TTL : YES
Config type : normal-vrrp
第二节:DHCP原理与配置
一:DHCP产生背景
1.手工配置网络参数存在的问题
手工配置网络参数存在以下问题:
灵活性差
容易出错
IP地址资源利用率低
工作量大
人员素质要求高
手工配置主机IP地址、网络掩码、网关地址、DNS服务器地址等网络参数时,需要经过地址规划、地址分配、地址配置、地址维护等复杂的操作流程。这使地址分配灵活性差,IP地址资源利用低,同时较大的工作量导致配置容易出错,对人员素质要求较高
2.DHCP的基本概念
DHCP是一种用于集中对用户IP地址进行动态管理和配置的协议
DHCP采用C/S(Client/Server,客户端/服务器)通信模式,协议报文基于UDP的方式进行交互,采用67(DHCP服务器)和68(DHCP客户端)两个端口号:正常工作时由客户端向服务器提出配置申请;服务器返回为客户端分配的IP地址等相应的配置信息
DHCP相对于手工配置有如下优点:
效率高
灵活性强
易于管理
网络终端设备,例如主机、打印机、笔记本电脑、手机和AP,作为DHCP客户端,向DHCP服务器请求分配相关网络参数。DHCP服务器响应DHCP客户端请求进行动态分配
二:DHCP工作原理与配置
1.DHCP客户端首次接入网络的工作原理
发现阶段,即DHCP客户端发现DHCP服务器的阶段
DHCP客户端发送DHCP DISCOVER报文来发现DHCP服务器。DHCP DISCOVER报文中携带了客户端的MAC地址、需要请求的参数列表选项、广播标志位等信息
提供阶段,即DHCP服务器提供网络配置信息的阶段
服务器接收到DHCP DISCOVER报文后,选择跟接收DHCP DISCOVER报文接口的IP地址处于同一网段的地址池,并且从中选择一个可用的IP地址,然后通过DHCP OFFER报文发送给DHCP客户端
选择阶段,即DHCP客户端选择IP地址的阶段
如果有多个DHCP服务器向DHCP客户端回应DHCP OFFER报文,则DHCP客户端一般只接收第一个收到的DHCP OFFER报文,然后以广播方式发送DHCP REQUEST报文,该报文中包含客户端想选择的DHCP服务器标识符和客户端IP地址
确认阶段,即DHCP服务器确认所分配IP地址的阶段
DHCP客户端收到DHCP ACK报文,会广播发送免费ARP报文,探测本网段是否有其他终端使用服务器分配的IP地址
2.DHCP报文格式
重要字段说明:
Op(op code):表示报文的类型,取值为1或2,1:客户端请求报;服务器响应报文
Secs(seconds):由客户端填充,表示从客户端开始获得IP地址或IP地址续借后所使用了的秒数,缺省值为3600s
Flags:客户端请求服务器发送响应报文的形式,只有最高位有意义,其余15位置0。最高位为0时请求发送单播响应,最高位为1时请求发送广播响应
Yiaddr(your client ip address):表示服务器分配给客户端的IP地址。当服务器进行DHCP响应时,将分配给客户端的IP地址填入此字段
Siaddr(server ip address):DHCP服务器的IP地址
Chaddr(client hardware address):客户端的MAC地址
Options:DHCP通过此字段包含了服务器分配给终端的配置信息
Htype (hardware type): 表示硬件地址的类型
Hlen(hardware length): 表示硬件地址的长度
Hops(hops): 表示当前DHCP报文经过的DHCP Relay数目。该字段由客户端设置为0,每经过一个DHCP Relay时,该字段加1。此字段的作用是限制DHCP报文所经过的DHCP Relay数目
Xid:表示DHCP客户端选取的随机数,使DHCP服务器的回复与DHCP客户端的报文相关联
Sname(server host name): 表示客户端获取配置信息的服务器名字。此字段由DHCP服务器填写,是可选的。如果填写,必须是一个以0结尾的字符串
File(file name): 表示客户端启动DHCP相关配置的文件名。此字段由DHCP服务器填写,随着DHCP地址分配的同时下发至客户端。本字段是可选的,如果填写,必须是一个以0结尾的字符串
3.Options预定义选项字段介绍
DHCP报文中Options字段为可变长度字段,最多为312Byte,此字段包含了DHCP报文类型,服务器分配给终端的配置信息,如网关IP地址,DNS服务器的IP地址,客户端可以使用IP地址的有效租期等信息
Options字段由Type、Length和Value三部分组成。其中Type字段取值范围1~255。常见的Options如下表所示:
Type | **Length (**Byte) | Value | 作用 |
---|---|---|---|
1 | 4 | Subnet Mask | 设置子网掩码选项。 |
3 | 4 | Router(网关) | 设置网关地址选项。 |
50 | 4 | Requested IP Address | 设置请求IP地址选项。 |
51 | 4 | IP Address Lease Time | 设置IP地址租约时间选项。 |
53 | 1 | Message Type | 设置DHCP消息类型。 |
54 | 4 | DHCP Server Identifier | 设置服务器标识。 |
55 | 9 | Parameter Request List | 设置请求选项列表。客户端利用该选项指明需要从服务器获取哪些网络配置参数。 |
58 | 4 | Rebinding Time Value | 设置续约T1时间,一般是租期时间的50%。 |
59 | 4 | Renewal Time Value | 设置续约T2时间。一般是租期时间的87.5%。 |
4.DHCP的消息类型
DHCP报文通过Options选项中的Type=53来表示DHCP的报文类型。如下图所示,当Type=53,Length=1,Value取值从01到08分别表示不同的DHCP报文类型
1-DHCP DISCOVER:DHCP客户端首次登录网络时进行DHCP交互过程发送的第一个消息,用来寻找DHCP服务器
2-DHCP OFFER:DHCP服务器用来响应DHCP DISCOVER消息,此消息携带了各种配置信息
3-DHCP REQUEST:DHCP客户端广播请求回应DHCP服务器OFFER消息;DHCP客户端重启广播确认之前的IP地址等配置信息;续租
4-DHCP DECLINE:当客户端发现服务器分配给它的IP地址发生冲突时会通过发送此消息来通知服务器
5-DHCP ACK:DHCP服务器对客户端的DHCP REQUEST消息的确认响应消息
6-DHCP NAK:服务器对客户端的DHCP REQUEST消息的拒绝响应消息
7-DHCP RELEASE:客户端可通过发送此消息主动释放服务器分配给它的IP地址
8-DHCP INFORM:DHCP客户端获取IP地址后,如果需要向DHCP服务器获取更为详细的配置信息(网关地址、DNS服务器地址),则向DHCP服务器发送DHCP INFORM请求消息
5.Options自定义选项字段介绍
除了标准协议中规定的字段选项外,还有部分选项内容没有统一规定,统称为用户自定义选项,例如Option 82和Option 43
Option 82称为中继代理信息选项
Option 82中可以包含最多255个Sub-Option,若定义了Option 82,至少要定义一个Sub-Option
DHCP中继或DHCP Snooping设备接收到DHCP客户端发送给DHCP服务器的请求报文后,在该报文中添加Option 82,并转发给DHCP服务器。管理员可以从Option 82中获得DHCP客户端的信息,例如DHCP客户端所连接交换机端口的VLAN ID、二层端口号、中继设备的MAC地址等
Option 43称为厂商特定信息选项
DHCP服务器和DHCP客户端通过Option 43交换厂商特定的信息。当DHCP服务器接收到请求Option 43信息的DHCP请求报文(Option 55中带有Option 43参数)后,将在回复报文中携带Option 43,为DHCP客户端分配厂商指定的信息
在WLAN组网中,AP作为DHCP客户端,DHCP服务器可以为AP指定AC的IP地址,以方便AP与AC建立连接
6.Option 43应用举例
在WLAN三层组网中,当AP上线时,需要获取AC的IP地址,并与AC之间建立CAPWAP隧道
AP的IP地址通过DHCP服务器分配,当AC的IP地址与AP不在同一个广播域,AP无法通过广播的方式获取AC的IP地址,则CAPWAP隧道无法建立成功
AP通过DHCP报文中的Option 43选项字段获取AC的IP地址,当AP获取AC的IP地址后,可以进一步完成CAPWAP隧道的建立,从而实现AP上线
AC的IP地址是10.23.101.2,AP所在网络的网关地址为10.23.100.1,AP通过DHCP的方式从IP地址池Huawei1中获取IP地址,DHCP服务器通过option 43选项字段向AP通告AC的IP地址
7.DHCP地址续租
DHCP服务器给每个分配给客户端的IP地址定义一个使用期限,该使用期限被称为租期。在租期到期前,DHCP客户端如果仍需要使用该IP地址,可以请求延长租期;如果不需要,可以主动释放该IP地址。在没有其他空闲地址可用的情况下,DHCP服务器会把客户端主动释放的IP地址分配给其他客户端
DHCP客户端根据IP地址的剩余租期的不同而产生不同形式的续租请求
当租期达到50%(T1)时,DHCP客户端会自动以单播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功
当租期达到87.5%(T2)时,如果仍未收到DHCP服务器的应答,DHCP客户端会自动以广播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功
如果租期时间到时都没有收到服务器的回应,客户端停止使用此IP地址,重新发送DHCP DISCOVER报文请求新的IP地址
注意:
DHCP客户端无论在T1还是T2时刻发送DHCP REQUEST报文后,如果收到DHCP NAK报文,则重新发送DHCP DISCOVER报文请求新的IP地址
客户端在租期时间到之前,如果用户不想使用分配的IP地址(例如客户端网络位置需要变更),会触发DHCP客户端向DHCP服务器发送DHCP RELEASE报文,通知DHCP服务器释放IP地址的租期。DHCP服务器会保留这个DHCP客户端的配置信息,将IP地址列为曾经分配过的IP地址中,以便后续重新分配给该客户端或其他客户端。客户端可以通过发送DHCP INFORM报文向服务器请求更新配置信息
8.DHCP客户端重用曾经使用过的地址
DHCP客户端非首次接入网络时,可以重用曾经使用过的地址。例如,网络中的主机作为DHCP客户端,在关机再开机的过程中,需要重新获取相关网络参数,则可以请求分配曾经使用过的IP地址
选择阶段
客户端广播发送包含前一次分配的IP地址的DHCP REQUEST报文,报文中的Option 50(请求的IP地址选项)字段填入曾经使用过的IP地址
确认阶段
DHCP服务器收到DHCP REQUEST报文后,根据DHCP REQUEST报文中携带的MAC地址来查找有没有相应的租约记录。如果有则返回DHCP ACK报文,通知DHCP客户端可以继续使用这个IP地址,如果没有租约记录,则不响应
9.DHCP分配IP地址顺序
DHCP服务器的数据库中与客户端MAC地址静态绑定的IP地址
客户端以前曾经使用过的IP地址,即客户端发送的请求报文中请求IP地址选项的地址
在DHCP地址池中,顺序查找可供分配的空闲IP地址,最先找到的IP地址
如果在DHCP地址池中未找到可供分配的空闲IP地址,则依次查询超过租期、发生冲突的IP地址,如果找到可用的IP地址,则进行分配,否则报告错误
10.DHCP配置命令介绍
11.DHCP配置举例
实验要求:
采用基于全局地址池的方式为PC1分配IP地址
配置:
[R1]DHCP enable
[R1]ip pool HW
[R1-ip-pool-HW]gateway-list 192.168.1.1
[R1-ip-pool-HW]network 192.168.1.0 mask 24
[R1-ip-pool-HW]excluded-ip-address 192.168.1.200 192.168.1.254
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]DHCP select global #选择全局地址池
实验要求:
采用基于接口地址池的方式为PC2和PC3分配IP地址,且PC3获取固定的IP地址
配置:
[R1]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.2.1 24
[R1-GigabitEthernet0/0/1]DHCP select interface #选择接口地址池
[R1-GigabitEthernet0/0/1]DHCP server excluded-ip-address 192.168.2.254
[R1-GigabitEthernet0/0/1]DHCP server static-bind ip-address 192.168.2.2 mac-address 00e0-fc00-00aa #为PC3分配固定的IP地址
DHCP配置结果
[R1]display ip pool
Pool-name : HW
Gateway-0 : 192.168.1.1
Mask : 255.255.255.0
IP address Statistic
Total: 253
Used: 2 Idle: 198
Expired: 0 Conflict: 0 Disable: 55
PC3>ipconfig
IPv4 address......................: 192.168.2.2
Subnet mask.......................: 255.255.255.0
Gateway...........................: 192.168.2.1
Physical address..................: 54-89-98-86-2B-F4
根据IP地址的使用情况,地址池中的IP地址可以分为多种状态:
Used:表示此IP地址已使用
Idle:表示此IP地址处于空闲状态
Expired:表示此IP地址租期已过,处于空闲状态
Conflict:表示此IP地址与网络上其他地址冲突
Disable:表示此IP地址无法使用
三:DHCP Relay工作原理与配置
1.什么是DHCP Relay
随着网络规模的不断扩大,网络设备不断增多,企业内不同的用户可能分布在不同的网段,一台DHCP服务器在正常情况下无法满足多个网段的地址分配需求。如果还需要通过DHCP服务器分配IP地址,则需要跨网段发送DHCP报文
DHCP Relay即DHCP中继,它是为解决DHCP服务器和DHCP客户端不在同一个广播域而提出的,提供了对DHCP广播报文的中继转发功能,能够把DHCP客户端的广播报文“透明地”传送到其它广播域的DHCP服务器上,同样也能够把DHCP服务器端的应答报文“透明地”传送到其它广播域的DHCP客户端
2.DHCP Relay报文格式
DHCP Relay主要负责转发DHCP客户端与DHCP服务器之间的DHCP报文,所以DHCP Relay的报文格式只是把DHCP的报文部分字段做了相应的修改,报文格式没有发生变化
Hops:表示当前的DHCP报文经过的DHCP中继的数目。该字段由客户端或服务器设置为0,每经过一个DHCP中继时,该字段加1
Giaddr(gateway ip address):表示第一个DHCP中继的IP地址。当客户端发出DHCP请求时,第一个DHCP中继在将DHCP请求报文转发给DHCP服务器时,会把自己的IP地址填入此字段
3.DHCP Relay工作原理
有中继场景时DHCP客户端首次接入网络的工作原理:
发现阶段:DHCP中继接收到DHCP客户端广播发送的DHCP DISCOVER报文后,通过路由转发将DHCP报文单播发送到DHCP服务器或下一跳中继
提供阶段:DHCP服务器根据DHCP DISCOVER报文中的Giaddr字段选择地址池为客户端分配相关网络参数,DHCP中继收到DHCP OFFER报文后,以单播或广播方式发送给DHCP Client
选择阶段:中继接收到来自客户端的DHCP REQUEST报文的处理过程同“发现阶段”
确认阶段:中继接收到来自服务器的DHCP ACK报文的处理过程同“提供阶段”
注意:
DHCP中继收到DHCP DISCOVER报文后,处理规则为:
检查DHCP报文中的Hops字段,如果大于16,则丢弃DHCP报文;否则,将Hops字段加1(表明经过一次DHCP中继),并继续下面的操作
检查DHCP报文中的Giaddr字段。如果是0,将Giaddr字段设置为接收DHCP DISCOVER报文的接口IP地址。如果不是0,则不修改该字段,继续下面的操作
将DHCP报文的目的IP地址改为DHCP服务器或下一跳中继的IP地址,源地址改为中继连接客户端的接口地址,通过路由转发将DHCP报文单播发送到DHCP服务器或下一跳中继
DHCP服务器接收到DHCP DISCOVER报文后,选择与报文中Giaddr字段为同一网段的地址池,并为客户端分配IP地址等参数,然后向Giaddr字段标识的DHCP中继单播发送DHCP OFFER报文,DHCP中继收到DHCP OFFER报文后,会进行如下处理:
检查报文中的Giaddr字段,如果不是接口的地址,则丢弃该报文;否则,继续下面的操作
DHCP中继检查报文的广播标志位。如果广播标志位为1,则将DHCP OFFER报文广播发送给DHCP客户端;否则将DHCP OFFER报文单播发送给DHCP客户端
4.DHCP Relay配置命令
DHCP Relay配置举例
配置要求:
R1通过DHCP获取IP地址
R2的GE0/0/0接口开启DHCP Relay功能,并且指定DHCP Server的IP地址为10.1.1.2
R3创建地址池名字为”HW-1”,地址范围为192.168.10/24,网关为192.168.1.1
配置:
[R1]interface GigabitEthernet0/0/0
[R1-GigabitEthernet0/0/0]ip address DHCP-alloc
[R1-GigabitEthernet0/0/0]quit
[R2]DHCP server group HW
[R2-DHCP-server-group-HW]DHCP-server 10.1.1.2
[R2-DHCP-server-group-HW]quit
[R2]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]ip address 10.1.1.1 24
[R2-GigabitEthernet0/0/1]quit
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.1.1 24
[R2-GigabitEthernet0/0/0]DHCP select relay
[R2-GigabitEthernet0/0/0]DHCP relay server-select HW
[R2-GigabitEthernet0/0/0]quit
[R3]ip pool HW-1
[R3-ip-pool-HW-1]network 192.168.1.0 mask 24
[R3-ip-pool-HW-1]gateway-list 192.168.1.1
[R3-ip-pool-HW-1]quit
[R3]interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1]ip address 10.1.1.2 24
[R3-GigabitEthernet0/0/1]DHCP select global
[R3-GigabitEthernet0/0/1]quit
[R3]ip route-static 192.168.1.0 255.255.255.0 10.1.1.1
DHCP Relay配置验证
查看R1的GE0/0/0接口获取到的IP地址信息:
<R1>display DHCP client
DHCP client lease information on interface GigabitEthernet0/0/0 :
Current machine state : Bound
Internet address assigned via : DHCP
Physical address : 00e0-fce6-4691
IP address : 192.168.1.254
Subnet mask : 255.255.255.0
Gateway ip address : 192.168.1.1
DHCP server : 10.1.1.2
……
查看R2 DHCP Relay信息:
<R2>display DHCP relay all
DHCP relay agent running information of interfaceGigabitEthernet0/0/0 :
Server group name : HW
Gateway address in use : 192.168.1.1
<R2>display DHCP relay statistics
The statistics of DHCP RELAY:
DHCP packets received from clients : 2
DHCP packets sent to clients : 2
DHCP packets received from servers : 2
DHCP packets sent to servers : 2
……