计算机网络——VRRP(第一条冗余协议)
点赞后看,养成习惯
喜欢的话 可以点个关注哟
你们的点赞支持对博主们来说很重要哦 !!!
本文将针对以下问题逐条进行解答:
01 网关意味着什么?
02 针对网关突然挂掉的情况,有什么解决的方法吗?
03 VRRP是如何工作的?
04 如何防止第三方实施的ARP欺骗,假冒自己就是网关?
01 网关存在的意义
网关和主机的关系,就相当于大门对于在家呆着的我们的关系,我们要想去外面的花花世界,就必须得经过这道门。
如果网关挂了,那就意味这这道门被关上了,我们就像被囚禁起来的罪犯只能呆在自家房间小天地,十分拘束。也就是说,主机只能在内网直接互相访问,而连接不到外网了。
02 针对网关突然挂掉情况的解决方案
我们知道网关如此重要,那么我们是不是必须采取什么措施,以防万一呢?
联想一下实际,在现实生活中,公共场所里,有没有可能出现一扇门出故障不能使用的情况?
是会的,对吧。
那这种问题该如何解决呢?
很简单,多配几扇门。通过配备多扇门,多个出口,可以帮助我们在火灾、地震等突发灾难发生时,给与我们多几条逃生通道,有利于减少突发情况带来的损失。
通过VRRP技术,如果主机在VLAN10内,只要VLAN10内有两台物理网关,使用一样的虚拟IP 10.1.1.1,也有一样的虚拟MAC,如果一台网关死机,对于主机来说,其实一点关系也没有,流量可以自动切换到另外一台网关发送,接受
03 VRRP是如何工作机制
1、VRRP首席网关的选举
配置了VRRP的网关当启动完成后,会主动向组播地址 224.0.0.18 发送VRRP消息,VRRP消息里有优先级,首席网关的优先级为255,次席网关优先级默认为100,次席网关一旦发现有优先级255的首席网关存在,将会保持沉默,而网络上只会有首席网关周期性地发送VRRP消息。
关于优先级,一般位于0-255不等,越大越优先,255用于首席网关,1-254用于次席网关,次席网关优先级默认为100。
有一种手动调整首席网关的方法,那就是首席网关可以把自己的优先级设为0,那么次席网关一旦发现首席网关的优先级为0,就会上位,立马顶替掉首席网关的位置,而无需等待超时
2、首席网关主动ARP广播
就像很多古代换皇帝一样,新的皇帝上位做的第一件事情就是,昭告天下自己是天子。
首席网关也是这个尿性,那么它是如何嚣张地亮明自己的身份呢?
一方面首席网关主动告诉广播域内的主机自己的IP、MAC的对应关系,另一方面告诉交换机连接自己的端口、MAC对应信息。这样子主机知道首席网关的MAC,交换机知道首席网关对应的端口,那么主机与网关之间的通信就被打通了。不会出现由于交换机不知道首席网关的位置,而采用广播泛洪的方式扩散。
具体来说,首席网关会周期性的发送VRRP消息,默认情况一秒发一个消息,强调表明自己的存在。
如果该广播域下的主机,请求10.1.1.1,那么只能首席网关来回答,告诉主机对应的MAC地址。
而这时候次席主机,就只能安安静静地看着首席主机说活,屈居幕后,自己当个哑巴,不然会出现流量的震荡。
3、首席、次席网关身份切换
皇帝有名正言顺让位的时候,或许是因为年老体衰,或许是因为推举德才,首席网关也有这种情况。
当首席网关发现自己通往外部的接口断了,不能再帮助主机转发数据的时候,它就会自动降低优先级,主动让权,比如调到50,这样次席网关就会胜出,充当首席网关了。
除了名正言顺传皇位外,皇帝总有出意外的情况啊,要么是老死,或者是病故。
可这有一个问题,你说连续3次没听到,这个时间如何把握呢?你作为太子,你爸3s内不说自己是皇帝,你就觉得他驾崩了吗
如果VRRP消息发送间隔特别小,比如100毫秒,意味着300毫秒如果次席网关无法接受到首席网关发送的VRRP消息,次席就会自己顶替首席的位置。问题是,如果首席没有死,只是有点忙,比如说出口队列被各种包拥堵这,VRRP消息无法及时发送呢?如果这样的话,由于信息不对称,之后一下子出来两个皇帝,天下不就动荡了嘛。
所以,为了克服这个问题,需要将VRRP消息设置成最高优先级,这样就不会被堵在出口队列了,次席会及时接收到来自首席的消息。
4、次席网关顺利接过原首席网关的流量
对于主机来说,他们看到的网关一直都是 IP = 10.1.1.1 ,MAC地址也是一样的。不会因为首席、次席替换位置而改变,他们的ARP缓存里保存这这些关键信息,对于他们来说,把数据帧封装好扔到网卡就万事大吉了。
但是交换机不就傻了吗?他的MAC地址表里面网关对应的MAC地址还没有变的话,流量全部转发到原网关,最终不是会被丢弃嘛,这显然不合理。
为了避免交换机做傻事,就像前面提到的,一有新的首席网关上线就会立马发送VRRP消息,昭告自己的存在。这样交换机就会刷新自己对于网关的位置信息,不会丢失用户的流量。
相关知识点补充:
虚拟IP地址(VIP)、MAC地址:其实就是上文中主机认为的网关IP地址和网关MAC地址,主机知道的就是这两个,觉得一直没有变。
首席、次席网关真实IP、MAC地址:其实就是他们原本的IP、MAC地址,除了皇帝的身份外,他们还有自己的身份不是嘛。但是皇帝身份最大,其他身份只有当他们不再担任首席网关是,与别的主机通信时才可以用。
**VRRP的IP层封装格式:** VRRP工作在IP层上,协议号为112.消息发往一个IP组播地址,224.0.0.18,这是一个只存在于本地链路的组播,即除了VRRP消息的接受者,提取出VRRP消息内容后,就要把包丢弃掉,不能继续转发该组播。
凡是224.0.0.x组播地址,生存周期只有一跳,发送方发出,接收方接受,游戏就结束了
源IP地址就是发出VRRP消息物理接口的IP地址
以太帧头封装格式:
目的MAC= [01-00- 5E -00-00-12」
源MAC =「00-00-5E-00-01-0a」
那这两个MAC是怎么来的?
01-00-5E-00-00-12
其中01-00-5E为组播的OUI代码( Organizational Unique
Identifier ),剩下的「00-00-12」 是224.0.0.18从右往左数的23位,这
23位为「0.0.18」, 换算成16进制为「00-00-12」。
00-00-5E-00-01-0a
这个是根据这个公式来的: 00-00-5E-00-01 -[VRID]
其中VRID为VRRP组ID,由于VRRP ID = 10,对应的16进制就是
「a」。
这个组播对于二层交换机,和处理广播包-样处理,所以这个
VLAN 10里的所有主机、网关都会收到这些消息,只是小明的主机不感兴
趣,故忽略。
04 预防冒充网关的方案
为了防止第三方参与VRRP消息交互,要配置认证,这样第三方的信息就会由于没有认证,将无法和合法的网关进行消息交互,但是这些措施只会保护VRRP消息交互,并无法阻止第三方实施的ARP欺骗。
欺骗路由器不成,我欺骗主机还不行嘛?
比如主机请求网关的MAC,网关的MAC为: 00-00-5E-00-01-0a,
可是第三方不断欺骗主机,网关为: 00-33-33-33-33-33, 那么本来
发给网关的流量,会发给「00-33-33-33-33-33] 主机。
为了一劳永逸地克服以上困难,需要在交换机所有接入端口(连接主机)配置ACL,用于过滤掉VRRP消息、过滤掉ARP欺骗消息。这样主机既无法参与VRRP消息的选举,也无法欺骗其他主机,自己就是网关。
以上文章,作为自己的学习笔记,仅供参考
本文完,感谢你的阅读!!!
最后,如果本文对你有所帮助,希望可以点个赞支持一下。你们的鼓励将会是博主原创的动力。
- 点赞
- 收藏
- 关注作者
评论(0)