冗余网络构建方案对比:VRRP协议、多网卡绑定及WN202冗余链路网卡
在组建网络时为网络设计冗余方案已经成为提高网络可用性必不可少的一环,伴随着网络技术的发展实现网络冗余的技术方案也是层出不穷,例如应用于服务器端的HA、LB,应用于存储的SAN、DAS、NAS等。本文重点针对链路冗余方案中的VRRP和多网卡绑定这两种典型的冗余技术做简要介绍并对比其优缺点,其后将介绍一种可实现主备链路微妙级切换的冗余网卡WN202。
1. VRRP协议
1.1 VRRP协议简介
VRRP:虚拟路由冗余协议(Virtual Router Redundancy Protocol)是一种容错协议,多台具备VRRP功能的路由设备(路由器或三层交换机)可联合组成一台虚拟的路由设备,当同一备份组里的主设备出现故障时,VRRP通过一定机制可将业务切换到组内其它设备,从而保持通信的连续性和可靠性。
VRRP将局域网内的一组路由设备划分在一起,称为一个备份组。备份组由一个Master路由设备和多个Backup路由设备组成,功能上相当于一台虚拟路由设备。局域网内的主机只需要知道这个虚拟路由器的IP地址,并不需知道具体某台设备的IP地址,将网络内主机的缺省网关设置为该虚拟路由器的IP地址,主机就可以利用该虚拟网关与外部网络进行通信。
图1 VRRP备份组示意图
1.2 VRRP优缺点分析
优势:
组网方式成熟,现网有大量案例,在做上层设备替换时下层用户设备配置不需要改变。
劣势:
1) 互联心跳中断时会引发双主故障
2) 二层网络中,如果下联设备不是终端则可能导致环路
3) 当下联设备也为同厂家交换机且配置VRRP时,在VLAN号相同的情况下会导致虚拟MAC地址重复
4) 设备切换效率不高
VRRP的切换是通过监听主设备通告报文的方式实现的,Master路由设备向外发送通告报文的最短时间间隔为1s(Adver_Int的取值范围为1~255),而Master路由设备的死亡时间Master_Down_Interval = 3*Adver_Int + Skew_Time,假设一个VRRP虚拟路由设备的优先级为100,则Master_Down_Interval = 3*1 + (256-100)/256 = 3.609秒。这样的时间间隔对于一些时间敏感型的应用是不可接受的。
2. 多网卡绑定
2.1 多网卡bonding简介
Bonding(绑定)是一种linux系统下的网卡绑定技术,可以把服务器上n个物理网卡在系统内部抽象(绑定)成一个逻辑上的网卡,能够提升网络吞吐量、实现网络冗余、负载等功能。
Bonding技术是linux系统内核层面实现的,它是一个内核模块(驱动)。其原理是将多个物理网卡聚合成一个虚拟网卡,一张网卡正常工作,其余网卡作为备用,每隔一段时间(具体时间间隔与miimon参数相关,单位为毫秒),向正常工作的网卡发一状态询问,若没回复,则认为其运行失败,然后就会启用备用网卡,但是IP地址不会改变。
2.2 多网卡绑定技术优缺点分析
优势:
Linux系统自带功能,成本较低,除了可实现链路冗余之外还可以实现负载均衡、提升服务器吞吐率等功能。
劣势:
1) 网卡bonding的配置过程较为复杂,因配置错误引入的问题不容易排查。
2) 在Windows系统下想要通过多网卡绑定实现链路冗余需要安装额外软件,用在Windows系统下直接将多个网卡绑定同一IP的方式不能很好地实现冗余链路功能,往往还需要外部设备配合。
3) 聚合网卡的主备切换的方法与VRRP在原理上是相同的,因此切换时间同样受限于查询间隔时间。虽然在mode1下可以将miimon值尽量设置为很小,但是受限于设备硬件性能,实际切换时间最快也不会低于几十毫秒,这样的切换速率对于时间敏感型应用而言同样会产生影响。
3. WN202冗余链路网卡
3.1 WN202冗余链路网卡简介
WN202冗余链路网卡是一款具备冗余链路快速切换功能的4端口千兆网络接口卡,其中1、2端口组成互为主备的冗余网口,3、4口为普通千兆网口。WN202的总线接口为PCIE Gen2 ×4,可在PC机、服务器、工控机等设备上使用,支持Linux和Windows系统,免驱动,免配置。
WN202最大的优势在于其提供的冗余链路具备微秒级的自动切换能力,在链路连通的层面上让网络真正具备“永远在线”的能力。
同时,WN202还可以根据用户实际需求设定链路切换的判断条件,用以适应特殊的应用场景。
3.2 WN202工作原理
WN202的P1端口和P2端口从所在设备的操作系统上看呈现为一个网口,P1端口和P2端口对外呈现的IP和MAC地址相同。系统启动后默认P1端口为主链路端口,P2端口为备用链路端口,网卡上的控制系统会实时监测主链路的连接状态,当主链路状态异常时网卡会立即将P2端口切换为主链路,上下行数据通过P2端口所在链路进行传输。P1端口所在链路恢复正常后依然保持在备用链路状态,直到P2端口所在链路出现故障。
图3 WN202使用方式示意图
北京文展科技有限公司
电话:010-59713380,13718181901
网址:www.wenrise.com
邮编:100085
地址:北京市海淀区上地十街辉煌国际2号楼607
冗余网络构建方案对比:VRRP协议、多网卡绑定及WN202冗余链路网卡的更多相关文章
- 虚拟路由冗余(VRRP)协议
1. 前言 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还 ...
- Keepalived原理与实战精讲--VRRP协议
. 前言 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还简 ...
- VRRP协议介绍--转
http://www.cnblogs.com/jony413/articles/2697404.html VRRP协议介绍 参考资料: RFC 3768 1. 前言 VRRP(Virtual Rout ...
- Keepalived原理及VRRP协议与应用配置(详细)
转载自:https://blog.csdn.net/u010391029/article/details/48311699 1. 前言 VRRP(Virtual Router Redundancy P ...
- VRRP协议与原理
VRRP协议与原理 目录: 一.VRRP协议概述 1.1.VRRP协议 1.2.单网关和多网关的缺陷 1.3.VRRP基本概述 二.VRRP工作原理 2.1.VRRP主备份备份工作工程 2.2.VRR ...
- 入木三分学网络第一篇--VRRP协议详解第一篇(转)
因为keepalived使用了VRRP协议,所有有必要熟悉一下. 虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是解决局域网中配置静态网关时,静 ...
- VRRP(Virtual Router Redundancy Protocol) 虚拟路由器冗余协议简介
因工作中使用Keepalived配置Nginx代理和MySQL代理的高可用,而Keepalived是VRRP协议在linux上的软件实现.因此了解了下VRRP的基础. 1. VRRP技术的引入 随着I ...
- VRRP协议具体解释
转帖:http://blog.chinaunix.net/space.php?uid=11654074&do=blog&id=2857384 Contents ...
- [转]VRRP协议详解
原文地址:VRRP协议详解 文中涉及缩略语 缩略语 英文全名 中文解释 VRRP Virtual Router Redundancy Protocol 虚拟路由器冗余协议 NQA Network Qu ...
随机推荐
- 【luogu AT3957】[AGC023F] 01 on Tree
01 on Tree 题目链接:luogu AT3957 题目大意 有一棵根为 \(1\) 的树,每个节点有个值 \(0\) 或 \(1\). 然后每次你可以把一个没有父亲的点删除,然后把值放进一个数 ...
- BKDR字符串哈希
BKDR字符串哈希 bkdrhash冲突的可能性非常小,但是由于\(hash\)值非常大不能映射到哈希数组地址上,所以可以通过取余,用余数作为索引地址.但这样做造成了可能的地址冲突. #include ...
- Selenium刚玩一会儿,就感受了私人秘书的体验
学习python的过程中,少不了接触第三方库,毕竟作为胶水语言python的强大之处也就是第三方库体量庞大,无疑大大增强了python的战斗力. 有时候想完成网页自动化操作,这时候Selenium进入 ...
- Service Cloud 零基础(四)快速配置一个问卷调查(无开发)
本篇参考:https://trailhead.salesforce.com/content/learn/modules/survey-basics 我们在工作和生活中会经历过形形色色得调查问卷,有一些 ...
- 渗透技巧——如何逃逸Linux的受限制shell执行任意命令
导语:本文介绍了如何在受限制的shell中执行任意命令,实现交互.其相应的利用场景是说当我们通过一些手段拿到当前Linux机器的shell时,由于当前shell的限制,很多命令不能执行,导致后续的渗透 ...
- Hacker101 CTF-Micro-CMS v2
一.打开网站是这个样子 找到一个登录框,存在注入漏洞 3.我们可以这样更改用户名中的输入: admin' or 1=1 -- 4.错误消息显示Invalid Password,因此我们也应该尝试构造一 ...
- (数据科学学习手札107)在Python中利用funct实现链式风格编程
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 链式编程是一种非常高效的组织代码的方式,典型如p ...
- linux通识
linux是服务器应用领域的开源且免费的多用户多任务操作系统的内核. 以下是对上述论断的解释: 操作系统 简言之,操作系统乃是所有计算设备的大管家,小到智能手表,大到航天航空设备,所有需要操控硬件的地 ...
- Python求二维数组中某列的最大值
主要运用np.amax() import numpy as np help(np.amax) a = np.arange(9).reshape((3, 3)) max_all = np.amax(a) ...
- js 可选链 & 空值合并 In Action
js 可选链 & 空值合并 In Action const obj = { props: { name: 'eric', }, // prop, 不存在的属性 ️ }; console.log ...