虚拟IP地址(VIP) 是一个不与特定计算机或一个计算机中的网络接口卡(NIC)相连的IP地址。数据包被发送到这个VIP地址,但是所有的数据还是经过真实的网络接口。VIPs大部分用于连接冗余;一个VIP地址也可能在一台计算机或NIC发生故障时可用,交由另一个可选计算机或NIC响应连接。虚拟IP地址的例子如:一个Loopback(无电路IP地址)作为不与在主机或路由器中任何一个特定接口(或电路)相关的IP地址。
IP技术的一种,增强网络管理,发挥出VLAN的优势,改变了网络结构,合理分配网络资源,均衡网络负载,有效降低网上广播信息,方便对用户的分组管理。
通常情况下,两台服务器都具有一块以上的网卡,每块网卡都应该有一个IP地址,同时,还应该有一个漂移IP地址,该地址为工作IP地址。因此,最简单的主从方式下,双机系统要占用3个网络地址。
在分配IP地址时,要分清工作IP地址和主机自由地址。如在主从方式、单网卡的情况下,主机一地址为200.10.10.1,主机二的地址为200.10.10.2,工作地址为200.10.10.3,正常情况下,工作主机的自由地址是被工作地址取代的(若主机一在工作,主机一得地址由200.10.10.1变为200.10.10.3)。在发生主机切换的情况下,主机一的地址恢复为200.10.10.1,而主机二的地址会由200.10.10.2变为200.10.10.3,这就是地址漂移。

高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。

实现HA的方式,一般采用两台机器同时完成一项功能,比如数据库服务器,平常只有一台机器对外提供服务,另一台机器作为热备,当这台机器出现故障时,自动动态切换到另一台热备的机器。

怎么实现故障检测的那?

心跳,采用定时发送一个数据包,如果机器多长时间没响应,就认为是发生故障,自动切换到热备的机器上去。

怎么实现自动切换那?

虚IP。何为虚IP那,就是一个未分配给真实主机的IP,也就是说对外提供数据库服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的 任意一个都可以连接到这台主机,所有项目中数据库链接一项配置的都是这个虚IP,当服务器发生故障无法对外提供服务时,动态将这个虚IP切换到备用主机。

开始我也不明白这是怎么实现的,以为是软件动态改IP地址,其实不是这样,其实现原理主要是靠TCP/IP的ARP协议。因为ip地址只是一个逻辑 地址,在以太网中MAC地址才是真正用来进行数据传输的物理地址,每台主机中都有一个ARP高速缓存,存储同一个网络内的IP地址与MAC地址的对应关 系,以太网中的主机发送数据时会先从这个缓存中查询目标IP对应的MAC地址,会向这个MAC地址发送数据。操作系统会自动维护这个缓存。这就是整个实现 的关键。

下边就是我电脑上的arp缓存的内容。

(192.168.1.219) at 00:21:5A:DB:68:E8 [ether] on bond0
(192.168.1.217) at 00:21:5A:DB:68:E8 [ether] on bond0
(192.168.1.218) at 00:21:5A:DB:7F:C2 [ether] on bond0

192.168.1.217、192.168.1.218是两台真实的电脑,

192.168.1.217为对外提供数据库服务的主机。

192.168.1.218为热备的机器。

192.168.1.219为虚IP。

大家注意红字部分,219、217的MAC地址是相同的。

再看看那217宕机后的arp缓存

(192.168.1.219) at 00:21:5A:DB:7F:C2 [ether] on bond0
(192.168.1.217) at 00:21:5A:DB:68:E8 [ether] on bond0
(192.168.1.218) at 00:21:5A:DB:7F:C2 [ether] on bond0

这就是奥妙所在。当218 发现217宕机后会向网络发送一个ARP数据包,告诉所有主机192.168.1.219这个IP对应的MAC地址是00:21:5A:DB:7F:C2,这样所有发送到219的数据包都会发送到mac地址为00:21:5A:DB:7F:C2的机器,也就是218的机器。

虚拟IP技术 ip地址漂移技术相关推荐

  1. 浮动IP地址(Float IP)与 ARP欺骗技术

    浮动IP地址: 一个网卡是可以添加多个IP的. 就是多个主机工作在 同一个集群中,即两台主机以上.每台机器除了自己的实IP外,会设置一个浮动IP,浮动IP与主机的服务(HTTP服务/邮箱服务)绑在一起 ...

  2. 查询局域网电脑的IP,端口号,MAC地址(黑客技术入门)

    原文地址:http://blog.csdn.net/qq_21792169/article/details/51954815 网上看到很多都是使用nmap工具,这个工具我没有使用过,我自己实现nmap ...

  3. 查询局域网电脑的IP,端口号,MAC地址 黑客技术入门

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 网上看到 ...

  4. ubuntu18的网关ip在哪里配_技术|如何在 Ubuntu 18.04 LTS 中配置 IP 地址

    在 Ubuntu 18.04 LTS 中配置 IP 地址的方法和以往使用的配置方法有很大的不同.和旧版本的不同之处在于,Ubuntu 18.04 使用 Netplan 来配置 IP 地址,Netpla ...

  5. 两台服务器虚拟成一个ip地址,两台服务器如何用一个ip地址

    两台服务器如何用一个ip地址 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 检 ...

  6. 2022-09-07 网工进阶(三十)以太网交换安全-端口隔离、MAC地址表安全、端口安全、MAC地址漂移防止与检测、链路层安全、流量抑制、风暴控制、IPSG(IP Source Guard)

    概述 目前网络中以太网技术的应用非常广泛.然而,各种网络攻击的存在,不仅造成了网络合法用户无法正常访问网络资源,而且对网络信息安全构成严重威胁,因此以太网交换的安全性越来越重要. 端口隔离 大型网络中 ...

  7. 中科院 鲁士文 计算机网络,《计算机网络-鲁士文》10_基于IP的多协议标记交换技术.pptx...

    文档介绍: 2014/11/28中科院大学授课教师:鲁士文中科院大学计算机网络硕士课程计算机网络课程I n t r a n e tI n t e r n e t第10单元基于IP的多协议标记交换技术1 ...

  8. Linux下配置Apache虚拟主机(基于IP地址)

    Linux下配置Apache虚拟主机(基于IP地址) 一.虚拟主机 虚拟主机,又称虚拟服务器,是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术.虚拟主机之间完全独立,并可 ...

  9. 语音技术IP电话的原理结构

    随着光网络的飞速发展和数字传输技术的应用,原来在数据通信网中被视为应用"瓶颈"的带宽和服务质量等问题一一得到解决,推动了IP技术的飞速发展,带动各种应用向IP靠拢, IP电话(又称 ...

  10. 基于SIP协议的IP电话增值业务实现技术

    基于SIP协议的IP电话增值业务实现技术 王瑜,乐正友 (清华大学电子工程系,北京 100084)    摘  要:讨论了SIP协议以及基于SIP协议的IP电话增值业务实现技术,并对SIP CGI.C ...

最新文章

  1. 关于学习Python的一点学习总结(3->标识符->if->模块->字符)
  2. linux系统ip策略筛选器,在Linux下基于路由策略的IP地址控制
  3. 全国大学生智能汽车竞赛英飞凌AURIXTM培训--应用篇 : 3月30日直播
  4. DB2 导出数据文件
  5. 提升网站优化排名的前提是什么?
  6. 基于python的打印进度条、计算用时
  7. 请求转发和请求重定向的区别?
  8. 乘风破浪的前端小姐姐,是如何一步步走向成功的?
  9. 云计算实战系列七(管道及重定向)
  10. MySQl Search JSON Values
  11. Centos 6.9 编译安装gcc 4.8.5
  12. Nonebot部署机器人常见问题
  13. CISSP 重点知识点总结3
  14. 百度收购YY:第三次直播大战开启
  15. 硬件PCB发热严重,天线信号不良的整改
  16. wps文档忘记保存关闭了怎么恢复
  17. Rabbitmq取消预取机制配置,配置手动确认后仍然java.lang.IllegalStateException: Channel closed; cannot ack/nack的问题
  18. h5大前端常用网站以及npm模块整理
  19. PF-TD2PO1,PF-TD2DV2,PFSO-BT1,PFSO-DTBT1光电中间体材料
  20. windows查看端口占用情况

热门文章

  1. C语言|编程|判断素数
  2. 什么是WEBserver? 经常使用的WEBserver有哪些?
  3. 【C 语言】文件操作 ( fread 函数 )
  4. Kali WiFi嗅探破解与字典生成
  5. 抖音自动上号源码分享
  6. SQL基础语句汇总-学习
  7. 好看的vscode字体
  8. 免费证件照制作的软件有哪些?来看看这几个好用的软件
  9. H5利用JS调用摄像头实现拍照效果
  10. web版文件管理系统_临沂管家婆母婴版进销存软件产品特色