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

网关冗余与负载分担

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

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

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

首跳冗余性协议FHRP(first
hop redundancy protocols)包括:

1.热备份路由器协议HSRP(hot
standby router protocol)。

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

3.网关负载均衡协议GLBP(gateway
load balancing protocol)。

它们是工作在接入层与汇聚层(交换与路由)之间的网关路由器或多层交换机上的网关协议。其中HSRP和VRRP的功能机制基本相同但只能实现网关备份,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个主用,若干备用


1个AVG若干AVF


一个ip一个mac


一个ip一个mac


一个ip多个mac


虚拟ip与接口ip不同


虚拟ip可与接口ip相同


虚拟ip与真接口ip不同


可追踪接口或对象


只可追踪对象


只可追踪对象


默认hello
3s,hold
10s


默认hello
1s,有skew时间


默认hello
3s,hold
10s


明文认证


明/密文认证


明文认证

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

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

HSRP与VRRP的三个重要区别:

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

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

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

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

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

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

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

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

!!补充实验:

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

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

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

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

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

其实用HSRP或VRRP也能实现负载分担,方法是:将多个物理网关共同加入到多个组,每个组虚拟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)

时间: 2024-09-10 23:58:21

【★】交换层网关协议大总结!的相关文章

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

网关冗余与负载分担 读这篇文档之前,请读者先理清有关的专业术语和名词,尤其其中的同义词和并列词. 还要知道,人们之所以把计算机中的一些非常简单的逻辑复杂化,形成一个难以理解的协议,是由于"电脑实在没人脑聪明",cpu对逻辑语言的计算能力实在有限,所以只能把一个简单逻辑拆分成更多更简单的逻辑让计算机识别. 网关的概念在企业网中有多种含义,本章主要探索交换层(本地接入网)的网关. 首跳冗余性协议FHRP(first hop redundancy protocols)包括: 1.热备份路由器

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

网关冗余与负载分担 读这篇文档之前,请读者先理清有关的专业术语和名词,尤其其中的同义词和并列词. 还要知道,人们之所以把计算机中的一些非常简单的逻辑复杂化,形成一个难以理解的协议,是由于"电脑实在没人脑聪明",cpu对逻辑语言的计算能力实在有限,所以只能把一个简单逻辑拆分成更多更简单的逻辑让计算机识别. 网关的概念在企业网中有多种含义,本章主要探索交换层(本地接入网)的网关. 首跳冗余性协议FHRP(first hop redundancy protocols)包括: 1.热备份路由器

内网服务器TCP协议层的协议种类单一么?

问题描述 内网服务器TCP协议层的协议种类单一么? RT,比如一台公司内网web服务器,对其每小时抓包能找出多少种协议?5个,10个,15个?发现其多少端口被占用?5个?10个?15个? 解决方案 这取决于你的网络环境所使用的应用等,使用的协议越多,自然端口越多. 解决方案二: 只要一个程序联网,就会默认占用至少一个端口,服务器上一般主要是应用服务,每个应用服务占用不同的端口 而协议指的是传输协议,相同的服务一般使用的协议都是一致的,但端口肯定是不一样的 比如,WEB服务器一般是80端口,你可以

交换链接的两大误区

链接 由于链接在网站排名中占据着一个非常重要的地位,也是搜索引擎优化一个很难实现的目标.因为这存在着相当大的主观原因.在进行交换链接的时候,平常很多人会容易犯下以下的两个错误. 误区1:PR越高越好: 1.很多站主在要求交换链接,第一个提出的要求就是pr要超过多少多少. 对于同类网站来说,网站PR是越高越好.这样不但会转换为你的反向链接,而且也可以有效地提高你网站的PR值.为你的网站排名也会作出很大的贡献(根据hilltop算法,排名的最后决定于链接网站的数量与质量) 但是如果交换链接的网站与你

支付宝易主激起千层浪协议控制涉万亿美元资产

支付宝股权转移一事的脉络渐渐清晰. 尽管支付宝股权在2009年6月及2010年8月分两次完成股权转让,但一直采取"协议控制"结构."直到今年一季度央行细则出来才终止协议控制","在申报牌照的第二天通报董事会",这在马云看来是"当时唯一正确的决定,也许并不完美". 马云的"分享",未能令支付宝事件平息,却诱发另外26家第三方支付企业"外资存疑"的话题,甚至将在中国发展10年的协议控制(VI

《TCP/IP路由技术(第二卷)》一第1章 外部网关协议

第1章 外部网关协议 TCP/IP路由技术(第二卷)本章将主要讨论以下主题. • EGP的起源:本节将讨论在RFC 827(1982)中定义的外部网关协议的发展历史. • EGP的操作:本节将讨论EGP的基本操作机制,重点是EGP拓扑结构.EGP功能及EGP消息格式. • EGP的不足:本节将探讨为什么EGP不再是一种可行的外部网关协议解决方案. • 配置EGP:本节将通过4个独立的案例研究--EGP末梢网关.EGP核心网关.间接邻居和默认路由,来说明不同类型的EGP配置方法. • 检测和排除E

监管层P2P十大原则 业内担忧“劣币驱逐良币”

网易财经9月28日讯 9月27日,银监会创新监管部主任王岩岫在深圳互联网金融论坛中发言时透露的"P2P监管最新十大原则",在网贷从业者的朋友圈内"疯传". 业内人士指出,相较于此前的四条红线,随着监管层对网贷行业了解的深入,监管思路和原则进一步细化. 其中,王岩岫提出落实实名制原则以及坚持小额化,据悉,这是监管层首度公开提出.业内人士指出,在推行实名制过程中,需要对所有企业一视同仁,以防止出现"劣币驱逐良币"现象. 另外,对于小额化原则,有企业人

边缘网关协议(BGP)简介

rpm -i ( or --install) options file1.rpm ... fileN.rpm 参数: file1.rpm ... fileN.rpm 将要安装的RPM包的文件名 详细选项: -h (or --hash) 安装时输出hash记号 (``#'') --test 只对安装进行测试,并不实际安装. --percent 以百分比的形式输出安装的进度. --excludedocs 不安装软件包中的文档文件 --includedocs 安装文档 --replacepkgs 强制

如何从代码层防御10大安全威胁中的 Xpath Injection?

普遍性和可检测性: Xpath 注入是 OWASP TOP10 安全威胁中 A1 Injection 中的一种,注入漏洞发生在应用程序将不可信的数据发送到解释器时.虽然注入漏洞很容易通过审查代码发现,但是却不容易在测试中发现. 影响严重: 注入能导致数据丢失或数据破坏.缺乏可审计性或者是拒绝服务.注入漏洞有时候甚至能导致完全主机接管. 从代码层次如何防御: 首先我们先来看一下在 Java 中引用 xpath 需要用的 lib 库: javax.xml.xpath org.jdom.xpath o