一、热备份路由选择协议(HSRP)
1、 作用:Cisco私有协议,确保了当网络边缘设备或接入链路出现故障时,用户通信能迅速并透明地恢复,以此为IP网络提供冗余性。通过使用同一个虚拟IP地址和虚拟MAC地址,LAN网段上的两台或者多台路由器可以作为一台虚拟路由器对外提供服务。HSRP使组内的cisco路由器能互相监视对方的运行状态。(Cisco私有协议)
2、HSRP组成员
活跃路由器、备份路由器、虚拟路由器(即该lan上的网关)、其他路由器
3、HSRP虚拟MAC地址格式
0000.0c07.ac2f
厂商编码0000.0c
HSRP虚拟MAC 地址,HSRP编码总是07.ac
HSRP组号2f
4、HSRP消息
HSRP中的所有路由器都发送或接收HSRP消息
使用用户数据报协议(UDP)端口号1985
默认版本1使用组播发送HSRP消息,组播地址224.0.0.2(不是专有,其他协议也用)
生存时间TTL=1(信息内网传递,外网没有,否则。暴露拓扑结构不安全,1决定了同网段连接router,相邻router)
5、HSRP状态
1)初始状态
2)学习状态:
3) 监听状态
4)发言状态:
5)备份状态:
6)活跃状态:
6、HSRP计时器
Hello间隔(默认3s)
保持时间(默认10s)
二、HSRP的配置
1、配置为HSRP的成员
进入路由器的网关接口
standby 2 ip 虚拟网关IP
2、配置HSRP的优先级
standby 2 priority 优先级
优先级范围0-255,默认为100
3、查看HSRP摘要信息
特权: show standby brief
4、HSRP端口跟踪
standby 2 track f0/1
5、HSRP占先权
standby 2 preempt
三、HSRP组网实验
由于EVE模拟器对于HSRP模拟出现过bug,该实验为保证实验效果和稳定性,使用GNS3进行:
对于基本的VLAN TRUNk 及IP地址配置需要了解的可以看之前的文档预习下,各个设备基本配置如下:
OR设备配置:
R1设备配置:
R2设备配置:
SW1设备配置:
下面进行HSRP的配置,,以VLAN10为例进行配置
R1配置:
R2配置:
优先级默认100,默认IP地址大的为Master ,抓包可以看到HSRP HEllo报文
客户端PC可以ping通互联网8.8.8.8 , 可以学习到虚拟IP254的MAC及路径跟踪,通过ping255广播地址可以了解到网络中的HSRP设备有两台。
R2为主,把R2设备的F0/0接口shutdown
R1 成为主
R2设备接口恢复后R2不会抢占为主,需要配置抢占,我们把R1配置优先级为120为主设备,并配置抢占
R1接口shutdown后 R2成为主
我们把R1接口no shutdown恢复后,R1重新抢占为主设备
HSRP结合TRACK实现接口联动优先级降低,配置接口联动接口down掉后优先级降低50,优先级由120变为70,R2优先级高于R1抢占为主
R2抢占为主
接口no shutdown恢复后R1从备恢复抢占为主:
配置PC2 属于VLAN20 ,PC2的数据走R2作为HSRP主,这样实现数据负载分担,PC1走R1 PC2走R2, R2配置0/0.20优先级为120, R1为默认100
PC1 走 R1, PC2 走R2
查看HSRP信息有两组
配置standby 20 版本使用的为版本2 standby version 2
通过抓包可以看出HSRP 版本2 使用的组播地址224.0.0.102 及 hello时间
四、DHCP用于自动获得IP
DHCP客户端通过和DHCP服务器的交互通讯以获得IP地址租约。为了从DHCP服务器获得一个IP地址,在标准情况下DHCP客户端和DHCP服务器之间会进行四次通讯。DHCP协议通讯使用端口UDP 67(服务器端)和UDP 68(客户端)进行通讯,UDP68端口用于客户端请求,UDP67用于服务器响应,并且大部分DHCP协议通讯使用广播进行。
DHCP客户端和DHCP服务器的这四次通讯过程
1、DHCP DISCOVER
当DHCP客户端计算机处于以下三种情况之一时,触发DHCPDISCOVER广播消息:
当TCP/IP协议作为DHCP客户端(自动获取IP地址)进行初始化(DHCP客户端启动计算机、启用网络适配器或者连接到网络时);
DHCP客户端请求某个IP地址被DHCP服务器拒绝,通常发生在已获得租约的DHCP客户端连接到不同的网络中;
此时,DHCP客户端发起DHCPDISCOVER广播消息,向所有DHCP服务器获取IP地址租约。此时由于DHCP客户端没有IP地址,因此在数据包中,使用0.0.0.0作为源IP地址,然后广播地址255.255.255.255作为目的地址。在此请求数据包中同样会包含客户端的MAC地址和计算机名,以便DHCP服务器进行区分。
如果没有DHCP服务器答复DHCP客户端的请求,DHCP客户端在等待1秒后会再次发送DHCPDISCOVER广播消息。除了第一个DHCPDISCOVER广播消息外,DHCP客户端还会发出三个DHCPDISCOVER广播消息,等待时延分别为9秒、13秒和16秒加上一个长度为0~1000毫秒之间的随机时延。如果仍然无法联系DHCP服务器,则认为自动获取IP地址失败,默认情况下将随机使用APIPA(自动专有IP地址,169.254.0.0/16)中定义的未被其他客户使用的IP地址,子网掩码为255.255.0.0,但是不会配置默认网关和其他TCP/IP选项,因此只能和同子网的使用APIPA地址的客户端计算机进行通讯。你可以通过注册表中的DWORD键值IPAutoconfigurationEnabled来禁止客户端计算机使用APIPA地址进行自动配置,此键值位于
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters
当其值设置为0时,则不使用APIPA地址进行自动配置。
在Windows XP和Windows Server 2003中,针对客户端计算机的TCP/IP选项中有一个备用配置选项,只有当客户端计算机配置为DHCP客户端(自动获取IP地址)时才有此备用配置。你可以通过备用配置来为DHCP客户端在无法联系DHCP服务器时为DHCP客户端指定静态IP地址,如下图所示:
如果没有配置APIPA地址和备用IP地址,则DHCP客户端会每隔5分钟再发送DHCPDISCOVER广播消息,直到从DHCP服务器获取IP地址为止。
2、DHCP OFFER
所有接收到DHCP客户端发送的DHCPDISCOVER广播消息的DHCP服务器会检查自己的配置,如果具有有效的DHCP作用域和富余的IP地址,则DHCP服务器发起DHCPOFFER广播消息来应答发起DHCPDISCOVER广播的DHCP客户端,此消息包含以下内容:
客户端MAC地址;
DHCP服务器提供的客户端IP地址;
DHCP服务器的IP地址;
DHCP服务器提供的客户端子网掩码;
其他作用域选项,例如DNS服务器、网关、WINS服务器等;
租约期限等。
因此DHCP客户端没有IP地址,所以DHCP服务器同样使用广播进行通讯:源IP地址为DHCP服务器的IP地址,而目的IP地址为255.255.255.255。同时,DHCP服务器为此客户保留它提供的IP地址,从而不会为其他DHCP客户分配此IP地址。如果有多个DHCP服务器给予此DHCP客户端回复DHCPOFFER消息,则DHCP客户端接受它接收到的第一个DHCPOFFER消息中的IP地址。
3、DHCP REQUEST
当DHCP客户端接受DHCP服务器的租约时,它将发起DHCPREQUEST广播消息,告诉所有DHCP服务器自己已经做出选择,接受了某个DHCP服务器的租约。
在此DHCPREQUEST广播消息中包含了DHCP客户端的MAC地址、接受的租约中的IP地址、提供此租约的DHCP服务器地址等,所有其他的DHCP服务器将收回它们为此DHCP客户端所保留的IP地址租约,以给其他DHCP客户端使用。
此时由于没有得到DHCP服务器最后确认,DHCP客户端仍然不能使用租约中提供的IP地址,所以在数据包中仍然使用0.0.0.0作为源IP地址,广播地址255.255.255.255作为目的地址。
4、DHCP ACK
提供的租约被接受的DHCP服务器在接收到DHCP客户端发起的DHCPREQUEST广播消息后,会发送DHCPACK广播消息进行最后的确认,在这个消息中同样包含了租约期限及其他TCP/IP选项信息。
如果DHCP客户端的操作系统为Windows 2000及其后版本,当DHCP客户端接收到DHCPACK广播消息后,会向网络发出三个针对此IP地址的ARP解析请求以执行冲突检测,确认网络上没有其他主机使用DHCP服务器提供的IP地址,从而避免IP地址冲突。如果发现该IP已经被其他主机所使用(有其他主机应答此ARP解析请求),则DHCP客户端则会广播发送(因为它仍然没有有效的IP地址)DHCPDECLINE消息给DHCP服务器拒绝此IP地址租约,然后重新发起DHCP DISCOVER进程。此时,在DHCP服务器管理控制台中,会显示此IP地址为BAD_ADDRESS。
如果没有其他主机使用此IP地址,则DHCP客户端的TCP/IP使用租约中提供的IP地址完成初始化,从而可以和其他网络中的主机进行通讯。至于其他TCP/IP选项,如DNS服务器和WINS服务器等,本地手动配置将覆盖从DHCP服务器获得的值。
租约续约
DHCP服务器将IP地址提供给DHCP客户端时,会包含租约的有效期,默认租约期限为8天(691200秒)。除了租约期限外,还具有两个时间值T1和T2,其中T1定义为租约期限的一半,默认情况下是四天(345600秒),而T2定义为租约期限的的7/8,默认情况下为7天(604800秒)。当到达T1定义的时间期限时,DHCP客户端会向提供租约的原始DHCP服务器发起DHCP REQUEST请求对租约进行更新,如果DHCP服务器接受此请求则回复DHCP ACK消息,包含更新后的租约期限;如果DHCP服务器不接受DCHP客户端的租约更新请求(例如此IP已经从作用域中去除),则向DHCP客户端位于回复DHCP NACK消息,此时DHCP客户端立即发起DHCP DISCOVER进程以寻求IP地址。如果DHCP客户端没有从DHCP服务器得到任何回复,则继续使用此IP地址直到到达T2定义的时间限制。此时,DHCP客户端再次向提供租约的原始DHCP服务器发起DHCP REQUEST请求对租约进行更新,如果仍然没有得到DHCP服务器的回复则发起DHCP DISCOVER进程以寻求IP地址。
下面演示DHCP配置
PC1把接口还原并配置DHCP
OR设备进行DHCP服务器的配置,并排除配置HSRP接口的IP地址
同时在R1接口0/0/0.10配置DHCP中继指向OR可达的IP地址
PC1通过DHCP正常获取IP地址
通过PC1接口重新获取IP地址进行抓包可以抓取DHCP 4个 报文
OR可查看获取的IP地址
欢迎关注和转发,想深入学习更多网络技术或者有问题需要咨询,可以单独私信交流!私信交流还可以免费下载大量网络技术资料文档,和行业内网工进行技术交流!