【★】交换层网关协议大总结!

简介: 网关冗余与负载分担读这篇文档之前,请读者先理清有关的专业术语和名词,尤其其中的同义词和并列词。还要知道,人们之所以把计算机中的一些非常简单的逻辑复杂化,形成一个难以理解的协议,是由于“电脑实在没人脑聪明”,cpu对逻辑语言的计算能力实在有限,所以只能把一个简单逻辑拆分成更多更简单的逻辑让计算机识别。

网关冗余与负载分担

读这篇文档之前,请读者先理清有关的专业术语和名词,尤其其中的同义词和并列词。

还要知道,人们之所以把计算机中的一些非常简单的逻辑复杂化,形成一个难以理解的协议,是由于“电脑实在没人脑聪明”,cpu对逻辑语言的计算能力实在有限,所以只能把一个简单逻辑拆分成更多更简单的逻辑让计算机识别。

网关的概念在企业网中有多种含义,本章主要探索交换层(本地接入网)的网关。

首跳冗余性协议FHRPfirst hop redundancy protocols)包括:

1.热备份路由器协议HSRPhot standby router protocol)。

2.虚拟路由冗余协议VRRP(virtual router redundancy protocol)

3.网关负载均衡协议GLBPgateway load balancing protocol)。

它们是工作在接入层与汇聚层(交换与路由)之间的网关路由器或多层交换机上的网关协议。其中HSRPVRRP的功能机制基本相同但只能实现网关备份,GLBP既能备份网关又能均衡负载(充分利用资源)。

先给大家普及一下需要用到的底层知识:

一般来说,一个网段就是一个子网(即使某一主类网没划分子网,它也可以看成是一子网网段)。一般一个子网内有以下设备:若干个主机,若干个二层交换机,若干个网关(它们是分层的,即交换机连接主机和网关)。可以看出,一个子网网络属于交换层,在子网中流量是通过mac地址来“寻路”的(子网内的主机之间通讯前通过发送arp广播来获取对方mac),其中交换机帮助转发流量。当主机想要与子网外的PC或服务器通讯,它不需要知道对方的mac,只要知道该子网的网关mac(由arp获得)就行,将信息流量发给网关,剩下的事情交给网关解决就行(路由到其他子网)。所以一台主机刚开始需要知道自身ip地址,对方电脑ip地址以及网关ip地址这三个基本信息才能正常通讯。

然后暂且先附上一张关于三个协议的表格(方便之后返回查看):

HSRP

VRRP(模仿HSRP

GLBP

思科私有RFC2281

IEEE标准RFC3768

思科私有

UDP1985

IP协议112(端口号)

UDP3222

224.0.0.2

224.0.0.18(通告地址)

224.0.0.102

每组通常2台网关

最多16个网关

最多4个网关

最多16组?

最多255组(每个路由器)

最多1024

0000.0c07.acXX

0000.5e00.01XX(虚拟mac

0007.b4XX.XXYY

1个活跃和备份(其余候选)

1个主用,若干备用

1AVG若干AVF

一个ip一个mac

一个ip一个mac

一个ip多个mac

虚拟ip与接口ip不同

虚拟ip可与接口ip相同

虚拟ip与真接口ip不同

可追踪接口或对象

只可追踪对象

只可追踪对象

默认hello 3shold 10s

默认hello 1s,有skew时间

默认hello 3shold 10s

明文认证

/密文认证

明文认证

好了,先来聊聊HSRPVRRP。理想化的情况下子网中有一台路由器充当网关,它的一个接口的ip充当网关ip。为了防止单点故障,子网中又添加了几个备用网关(处于闲置状态)。为了使故障发生后其中一个备用网关能够自动切换成主用(活跃)网关,才诞生了这两个网关冗余协议。

因为站在子网内的主机的角度,子网内只能存在一个网关,不然流量就不知道该发向哪一个网关了(不知为什么,交换层不能自动负载均衡,必须选出唯一的路径,而路由表中只要ADmetric相同就会出现负载均衡)(优先级相同就比较接口ip)。所以这个冗余机制的基本思想是:将多个路由器组合成一个虚拟网关(一个备份组),它有一个虚拟ip和一个虚拟mac。子网内的主机们只知道有一个(虚拟)网关的存在,并不知情真实网关的情况。而所有通往子网外的流量只经过这个组中的某一个路由器(竞选选出)。其余备份网关处于不工作状态但一直监听active/master的工作状态,在必要时刻替代它的角色。

HSRPVRRP的三个重要区别:

一:HSRP组内通常只放2台网关,一台active一台standby,若不止两台,再添入的网关都保持在初始状态(可以给备份做备份,但客户难以接受);VRRP中却有一台master和若干个backup

二:备份组正常运行时activestandby之间默认间隔3秒相互发送hello包(包含:active信息,standby信息,自身信息,认证口令,时间参数等信息)(有点类似BPDU)(组播地址映射mac地址)以维护组内关系,而master默认间隔一秒向外发送hello包,backup只接收不发送。

三:standby的默认holdtime3*3+1=10秒(可手动改),backup的默认holdtime=3*1+skew)秒,其中skew=256-priority/256(取值范围01,与优先级反比)。!!注意,此区别与前两个区别有重要联系,以为HSRP组中只有一台standbyholdtime到期后自觉上任,但VRRP组中有多个backupholdtime到期后并不要竞选出某一个去上任,因为优先级最大的backupholdtime最小!

此外HSRP默认关闭抢占而VRRP默认开启,所谓的的抢占机制就是确保备份组中优先级最大的网关成为active/master(前提是网关连接子网的接口没有出错,即可以向其他网关发送hello包)。在非抢占情况下备份网关收到active/masterhello包中更大的优先级也不会去抢占它。给一副拓扑图:

【】交换层网关协议大总结!



该图也适用于glbp。接下来实现网关备份的具体过程:

若这些PCip都在同一个子网内,那给这个子网分配一个网关备份组(组编号)将若干路由器(不同协议有数量限制)加入到这个组中给这个组分配唯一的一个虚拟ip(即该子网内随便一个主机号),系统给这个组自动分配一个虚拟mac(注:虚拟ip可以与路由器接口真实ip在同一子网,也可以是接口真实ip所在子网下再划分的子网的主机号~)。将每台PC的网关ip都手动设置成这个虚拟ip(因为在交换层“寻路”都是通过mac地址,PC解析这个ip时,备份组回复给它虚拟mac值,同时备份组告诉交换机这个虚拟mac指向active/master)(!!!二层交换机“寻路”依靠mac地址表中的三个条目:PCmac,网关接口mac,邻居交换机接口mac),由此PC向外通讯都将数据帧中目的mac字段值写为该虚拟mac

    Active/master有两种情况被取代。第一种情况:因备份网关的holdtime到期后接任;第二种情况:Active/master所追踪的对象“挂了”导致自降优先级至小于某台开启了抢占的备份机,于是被抢占。

    当然,这幅物理拓扑图可以按组划分为多幅逻辑图,即有多个子网多个备份组,一台PC只能加入一个组但一个网关可以加入到多个组中。!注:若网关是多层交换机则可以使用SVIswitch virtual interface),为每个vlan安排一个备份组,在SVI下设置ip

!!补充实验:

问题描述:子网内只有一个多层交换机充当网关,要实现网关的链路冗余,即使用EC将连接多层交换机的两个接口捆绑在一起(路由器貌似做不到)。拓扑图:

【】交换层网关协议大总结!

这是用Packet Tracer模拟实验的截图,可以看出,子网中只有vlan1但出现了“环路”,其实是因为EC逃避了stp计算(注:EC只能在交换网中玩儿)。

GLBPGLBP除了提供冗余还可以让组中所有成员共同承担流量的转发。它的具体思想如下:

前期与HSRP一样,将多个物理网关加入到一个备份组中。组中的成员都叫AVFactive virtual forwarder)(顾名思义,所有AVF都负责转发数据),其中某一个AVF还叫做AVGactive virtual gateway)(竞选而来)。该组有一个虚拟ip但有多个虚拟mac地址:AVG给每个AVF分配一个虚拟mac。当备份组对应的子网内的某个PC解析虚拟ip时,AVG返回其中的一个虚拟mac

这里有一个简单易懂的循环负载分担算法:当收到一个个PC发来的arp时,AVG在自己的虚拟mac列表中按顺序循环的分发这些地址给PC,以保证每个AVF所负责的PC数量相同(或相差不超过一台)。

其实用HSRPVRRP也能实现负载分担,方法是:将多个物理网关共同加入到多个组,每个组虚拟ip都属于同一个子网,物理网关在不同组有不同角色,为每个PC分配不同的网关ip(其实一个子网可以有多个网关,关键看给PC设置的网关ip,但一个PC只能有一个对应网关)。但这个方法配置工作量很大,因此才出现了GLBP

!!!补充知识:

【1】      FHRP的配置都是在接口下(除了多层交换机的svi)。网关因此知道,这个接口连接的是该接口ip所在的子网。

【2】      FHRP的认证机制是为了防止恶意网关加入到某个备份组中。和动态路由协议的认证原理相同,都是相互hello时自动进行的。

【3】      当某vlan生成树的根桥与该vlan热备份组的active/master不是同一台多层交换机时,可能会产生次优路径(同理于没有备份组只有唯一网关的子网)。

【4】      数据流量从互联网回来的时候,可能从active/master走也可能从备份网关走(假如它们都将子网宣告进路由协议)。

    以上就是FHRP机制原理详解。若发现遗漏或错误之处,还请自行纠正。欲求更多信息请登录思科官网查询。(www.cisco.com

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
2天前
|
网络协议 Linux 网络架构
|
17天前
|
负载均衡 网络协议 安全
【计网·湖科大·思科】实验七 路由信息协议RIP、开放最短路径优先协议OSPF、边界网关协议BGP
【计网·湖科大·思科】实验七 路由信息协议RIP、开放最短路径优先协议OSPF、边界网关协议BGP
30 2
|
17天前
|
网络协议 网络架构
ensp中BGP(边界网关协议)基础原理及配置命令
ensp中BGP(边界网关协议)基础原理及配置命令
|
17天前
|
网络协议 算法 安全
【专栏】硬核干货:BGP(边界网关协议)是自治系统间交换路由信息的关键协议,用于大型网络的高效路由选择
【4月更文挑战第28天】BGP(边界网关协议)是自治系统间交换路由信息的关键协议,用于大型网络的高效路由选择。它基于路径向量算法,通过TCP连接建立邻居关系,交换并选择最优路径。BGP支持丰富的路由属性和多种消息类型,允许灵活的路由控制。配置与应用包括启用BGP、配置邻居、路由宣告、过滤及社区属性使用。虽然BGP具备强大路由控制和可扩展性,但其配置复杂,存在安全挑战。理解BGP对于网络管理和优化至关重要。
|
17天前
|
网络协议 算法 数据库
【专栏】IS-IS协议是内部网关协议,常用于大型网络路由器间的路由信息交换,基于OSI的CLNP标准和Dijkstra算法
【4月更文挑战第28天】IS-IS协议是内部网关协议,常用于大型网络路由器间的路由信息交换,基于OSI的CLNP标准和Dijkstra算法。其特点是分层设计、快速收敛、高效资源利用和强故障恢复能力。在现代网络中,IS-IS广泛应用于服务提供商、企业网络及与其他协议的融合,是构建稳定、高效网络的关键。了解和应用IS-IS能提升网络系统的可靠性和效率。
|
17天前
|
网络协议 算法 安全
【专栏】RIP是一种古老的内部网关协议,使用距离矢量算法,基于跳数更新路由表,最古老的距离矢量协议
【4月更文挑战第28天】RIP是一种古老的内部网关协议,使用距离矢量算法,基于跳数更新路由表。其工作原理包括周期性更新、度量标准、路由表更新和防止计数到无穷问题的技术。RIP简单易用,适合小规模网络,但在大规模网络中效率低且有限制。随着OSPF和EIGRP等协议的发展,RIP在大型网络中的应用减少,但在中小型网络和遗留系统中仍有其地位。RIPv2的改进提高了安全性与灵活性。尽管逐渐被替代,RIP在理解路由协议基本概念和历史中仍具价值。
|
17天前
|
域名解析 网络协议 Linux
TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍
TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍
|
9月前
|
安全 网络架构
外部网关协议详解
外部网关协议详解
243 0
|
网络架构
IP组播路由协议(组播内部网关协议)
IP组播路由协议(组播内部网关协议)
68 0
|
17天前
|
运维 网络协议 安全
长连接网关技术专题(十):百度基于Go的千万级统一长连接服务架构实践
本文将介绍百度基于golang实现的统一长连接服务,从统一长连接功能实现和性能优化等角度,描述了其在设计、开发和维护过程中面临的问题和挑战,并重点介绍了解决相关问题和挑战的方案和实践经验。
127 1