`

虚拟IP原理

 
阅读更多
高可用性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讲解.txt

    在探讨动态、固定、实体IP与虚拟IP的概念及其应用时,我们首先需要理解IP地址的基本原理。IP地址(Internet Protocol Address)是互联网协议提供的一种数字标识,用于唯一地标识网络中的每一台设备。一个标准的IPv4...

    把ip信号转换成虚拟串口的软件,无毒附说明

    本文将深入探讨虚拟串口的工作原理、应用以及如何将IP信号转换为虚拟串口。 虚拟串口工作原理: 虚拟串口软件的核心是创建一个或多个逻辑串口,这些逻辑串口与物理串口在应用程序层面上并无太大区别,都可以进行...

    TCP-IP原理和子网规划

    总的来说,TCP/IP原理和子网规划是网络工程师必须掌握的基础知识,它们对于理解互联网的工作机制以及设计和管理复杂网络系统至关重要。通过深入学习这些概念,可以更好地理解和解决网络中的各种问题,提升网络服务的...

    五口交换机IP175G技术手册+PDF参考设计+ALTIUM设计PCB+封装库文件.zip

    1. 原理图设计:导入IP175G的原理图,清晰规划信号路径,确保电路的正确性。 2. PCB布局:根据IP175G的电气特性和散热需求,合理安排元器件位置,优化信号传输性能。 3. 布线策略:运用自动和手动布线工具,遵循最佳...

    华为-IP基本原理.pdf

    ### 华为-IP基本原理.pdf 知识点解析 #### 一、网络基础知识 - **网络演进:** - 早期网络概念基于主机架构的低速串行连接,如IBM的SNA架构和非IBM公司的X.25公用数据网络。 - 随着个人电脑的普及,网络逐渐发展...

    基于IP隧道的Linux虚拟服务器.pdf

    通过阅读本文档,读者可以了解基于IP隧道的Linux虚拟服务器的实现原理和步骤,提高自己的开发和管理能力。 在基于IP隧道的Linux虚拟服务器中,负载均衡器是关键组件之一。负载均衡器负责将请求包分发到物理服务器,...

    IP技术原理实验

    本实验旨在深入理解IP技术原理,通过一系列实际操作来熟悉网络设备的配置与管理。 首先,我们来看“实验1交换机的命令模式及基本配置.doc”。交换机是局域网中的关键设备,它通过学习和维护MAC地址表来转发数据帧。...

    F5-BIG/IP 流量控制&工作原理

    【F5 BIG/IP 流量控制与工作原理详解】 F5 BIG/IP 是一款业界领先的负载均衡和应用交付控制器,它提供了高效、智能的流量管理解决方案,确保了网络服务的高可用性和性能。本文将深入探讨 BIG/IP 的流量控制机制及其...

    windows下虚拟网卡

    本文将深入探讨虚拟网卡的概念、工作原理、应用场景及如何在Windows系统中配置和管理虚拟网络适配器。 一、虚拟网卡概念 虚拟网卡,也称为虚拟网络适配器,是软件模拟的网络接口,它可以模拟实际物理网卡的功能,但...

    服务IP(VIP)的作用.docx

    1. 创建虚拟IP地址:创建一个VIP地址,并将其分配给多个服务器。 2. 配置ARP缓存:在每个服务器上配置ARP缓存,存储VIP地址与MAC地址的对应关系。 3. 实现IP地址映射:使用VIP地址将多个服务器的IP地址映射到一个...

    ipip隧道详细配置

    在IT网络领域,IP隧道技术是一种重要的数据传输方式,它能够在不同的网络之间建立虚拟的连接,使得数据包能够像在本地网络中一样进行传输。其中,“ipip隧道”是一种基于Internet Protocol (IP)的隧道技术,它允许在...

    CISCO_IP_nat_常用命令及原理详解

    ### CISCO IP NAT 常用命令及原理详解 #### 一、IP NAT 接口配置 ##### 1.1 命令介绍 - **语法**:`ip nat {inside|outside}` - **功能**:该命令用于指定路由器上的接口为内部(inside)或外部(outside)接口,...

    虚拟拨号网络下 取外网/公网IP

    在易语言中实现取外网IP的功能,可以不依赖特定的模块,而是通过网络编程的基本原理和API调用来完成。下面将介绍一种基本的实现方法: 1. **发起网络请求**:可以使用HTTP或HTTPS协议向一个公共的IP查询服务发送...

    TCP/IP知识

    虚拟IP交换机的输入和输出端口可以位于物理上不同的机箱中,而且在建立第二层交换路径时,可能会依赖于ATM网络的拓扑结构、信令以及路由协议。 #### 四、IP交换的两种模型对比 IP交换机和虚拟IP交换机之间的主要...

    IP地址漂移技术详解

    IP 地址漂移技术的原理是通过虚拟 IP 地址来绑定主服务器,使得多台服务器集群之间能够实现信息交互。当主服务器出现故障时,备用服务器将接管主服务器的网络 IP 地址,确保系统的连续运行。 知识点2: 双机集群方式...

    Linux apache服务器基于ip,端口,域名的虚拟地址配置.zip

    本教程将深入探讨如何在Linux Apache服务器上配置基于IP、端口和域名的虚拟主机,以便在一个服务器上托管多个独立的网站。通过这种方法,我们可以高效地利用服务器资源,同时管理多个不同的在线服务。 首先,我们...

    基于Linux系统下IP隧道的建立及其应用.pdf

    在Linux操作系统环境下,利用IP隧道技术,可以实现跨越不同的网络环境,如VLAN、VPNs(虚拟专用网络)等,从而有效地整合和管理网络资源。本文将详细讨论Linux系统下IP隧道的建立方法以及其在实际应用中的价值。 ...

    IP实现基本原理.docx

    标题中的“IP实现基本原理”指的是TCP/IP协议在计算机网络中的具体实现方法和技术。描述中提到了TCP/IP实现涉及的一些关键技术,包括TSR常驻内存程序、DLL动态链接库和VxD虚拟设备,以及网络配置的基本参数。这些...

    LVS基本原理.docx

    它的核心思想是通过虚拟IP(VIP)和虚拟端口,将来自用户的网络请求分散到一组真实的服务器上,使得外部用户无感知地与这些服务器交互,从而实现了IP收敛和高可用性。LVS在企业架构中扮演着负载均衡服务器的角色,...

Global site tag (gtag.js) - Google Analytics