在组建网络时为网络设计冗余方案已经成为提高网络可用性必不可少的一环,伴随着网络技术的发展实现网络冗余的技术方案也是层出不穷,例如应用于服务器端的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冗余链路网卡的更多相关文章

  1. 虚拟路由冗余(VRRP)协议

    1. 前言 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还 ...

  2. Keepalived原理与实战精讲--VRRP协议

    . 前言 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还简 ...

  3. VRRP协议介绍--转

    http://www.cnblogs.com/jony413/articles/2697404.html VRRP协议介绍 参考资料: RFC 3768 1. 前言 VRRP(Virtual Rout ...

  4. Keepalived原理及VRRP协议与应用配置(详细)

    转载自:https://blog.csdn.net/u010391029/article/details/48311699 1. 前言 VRRP(Virtual Router Redundancy P ...

  5. VRRP协议与原理

    VRRP协议与原理 目录: 一.VRRP协议概述 1.1.VRRP协议 1.2.单网关和多网关的缺陷 1.3.VRRP基本概述 二.VRRP工作原理 2.1.VRRP主备份备份工作工程 2.2.VRR ...

  6. 入木三分学网络第一篇--VRRP协议详解第一篇(转)

    因为keepalived使用了VRRP协议,所有有必要熟悉一下. 虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是解决局域网中配置静态网关时,静 ...

  7. VRRP(Virtual Router Redundancy Protocol) 虚拟路由器冗余协议简介

    因工作中使用Keepalived配置Nginx代理和MySQL代理的高可用,而Keepalived是VRRP协议在linux上的软件实现.因此了解了下VRRP的基础. 1. VRRP技术的引入 随着I ...

  8. VRRP协议具体解释

    转帖:http://blog.chinaunix.net/space.php?uid=11654074&do=blog&id=2857384 Contents              ...

  9. [转]VRRP协议详解

    原文地址:VRRP协议详解 文中涉及缩略语 缩略语 英文全名 中文解释 VRRP Virtual Router Redundancy Protocol 虚拟路由器冗余协议 NQA Network Qu ...

随机推荐

  1. 四、Jmeter 集合点(实际场景应用)

    一.jmeter集合点的作用域及作用范围 先明确一些概念:1)定时器是在每个sampler(采样器)之前执行的,而不是之后: 是的,你没有看错,不管这个定时器的位置放在sampler之后,还是之下,它 ...

  2. HTTP笔记4--HTTP 状态码

    状态码作用.组成 HTTP 状态码负责表示客户端 HTTP 请求的返回结果.标记服务器端的处理是否正常.通知出现的错误等工作.状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果. 状态码如 ...

  3. Dcoker命令使用详解

    Docker语法说明 docker [OPTIONS] COMMAND [arg...] OPTIONS --config=~/.docker :指定本地客户端配置文件. -D, --debug :开 ...

  4. docker-compose -----单机多容器管理

    Compose是用于定义和运行多容器Docker应用程序的工具.通过Compose,您可以使用YAML文件来配置应用程序的服务.然后,使用一个命令,就可以从配置中创建并启动所有服务. Docker-C ...

  5. gradle中的build script详解

    目录 简介 project和task 一个例子 task详细讲解 task脚本 task依赖 动态task 默认task build script的外部依赖 gradle中的build script详 ...

  6. proto3 协议指引

    一.protocal buffer 是什么? 一种序列化机制. 什么是序列化? 一种转化为可存储和传输对象的过程. 序列化的方式有很多,那么proto有什么特殊的呢? 它的英文介绍里提到了neutra ...

  7. 为什么国内的好多具备 HTTPS 的网站却没有使用 HTTPS 重定向功能

    为什么国内的好多具备 HTTPS 的网站却没有使用 HTTPS 重定向功能 HTTPS 重定向 good demos ️ HTTPS http://www.xgqfrms.xyz/ https://w ...

  8. TweenMax & GSAP & SVG Animation

    TweenMax & GSAP & SVG Animation svg animation https://greensock.com/tweenmax GSAP https://ww ...

  9. Java & Maven & Spring & Spring Boot

    Java & Maven & Spring & Spring Boot Spring Boot sb https://start.spring.io/ Spring 4 htt ...

  10. Electron in Action

    Electron in Action $ yarn add -D electron@latest # OR $ npm i -D electron@latest https://www.electro ...