IP地址漂移的实现与原理_第1页
IP地址漂移的实现与原理_第2页
IP地址漂移的实现与原理_第3页
IP地址漂移的实现与原理_第4页
IP地址漂移的实现与原理_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

IP 地址漂移的实现与原理地址漂移的实现与原理 当前备份软件比较流行 其中用到的关键技术是 IP 地址漂移 实际上 IP 地址漂移技术是利用共享的 虚拟 IP 地址 当本地进行 节点切换与路由切换 使另一端的发送和收方端没有感觉到本地节 点地址有变化 保证了通信的连续性 起到断点保护的功效 举例说明 假设最简单的主从方式 单网卡的情况下 双机系 统要占用 3 个网络地址 主机一地址为 200 10 20 1 主机二的地址为 200 10 20 2 同时 还应该有一个 虚拟 IP 地址 该地址为工作 IP 地址 用来做 漂移 即工作地址为 200 10 20 3 在分配 IP 地址 时 要分清工作 IP 地址和主机自有地址 正常情况下 工作主机的 自有地址是被工作地址取代的 若主机一在工作 主机一的地址由 200 10 10 1 变为 200 10 10 3 在发生主机切换的情况下 主机一的 地址恢复为 200 10 10 1 而主机二的地址会由 200 10 10 2 变为 200 10 10 3 这就是我们所说的地址漂移 采用地址漂移技术 利用虚拟 IP 地址来绑定主服务器 可有效 解决不能利用组播的情况下多台服务器集群之间的信息交互问题 此方法具有一定的代表性 在很多行业可以采用双机集群方式广泛 应用于工业控制 重要事件的备份 两台中心服务器通过网络构成 一套高可靠性双机热备份系统 同步工作 互为备份 当主机发生 故障时 自动切换到备机工作 系统不间断运行 而地址漂移技术 是当其中一台主机有故障时 另一主机接管故障主机的网络 IP 地址 使网络仍能正常运行 通常系统采用双机热备软件或双活技术 具有负载均衡功能 将信息处理 数据库记录 进程监控等各项功能在两台服务器间进 行动态分配 主服务器主要负责完成信息处理 进程监控等 备用 服务器完成数据库的记录工作 当主服务器发生故障后 能够进行 检测并告警 自动将主服务器上的信息处理和进程监控等应用转移 到备用服务器上继续处理 备用服务器切换为主服务器 先前的数 据库记录应用仍然保留 双服务器主要用来工业控制数据采集或 SCADA 系统的数据通信与处理 一般情形下 双服务器都有各自的 IP 地址 如果选择其中一 台服务器 IP 地址进行通信 当此服务器出故障将无法接收信息时 这就为通信之间采用哪一个 IP 地址来交换信息造成选择困难 解决 多台服务器集群间信息交互的办法有三个 一是采用组播 该方法 最简单 只要将两台计算机加入一个组播地址 则发送方将目的地 址设置为此组播的 IP 地址即可 双服务器都能够收到包文 但对于 双向系统而言 在应用层要解决的问题比较多 人为地将系统复杂 化 简单的应用可以采用 但复杂的情形下此方法不可行 二是采 用一份数据分别多次传递相应的多台服务器 虽然这样能够保证多 台服务器均能够收到数据 但是对网络的占用时间 数据的同步性 和实时性带来了新的问题 如果在传输数据量大时 造成带宽浪费 信道无法承受 三是采用地址漂移技术 假设两地 A 节点与 B 节 点要进行通信业务 每个节点有三台服务器做集群 先给 A 节点与 B 节点分配相应的虚拟 IP 地址 a 和 b 两地 A B 之间传递数据采 用 a 和 b 地址 A 节点的主服务器与 a 地址绑定 B 节点的主服务器 与 b 地址绑定 同时在主服务器启动一个三通进程 所谓三通进程 是指此进程负责接收信息 然后将收到的信息分别转发到集群内两 台服务器 主服务器收到数据后 送往局域网内主服务器和备服务 器的接收进程 当主机切换为备机时 此服务器卸载此虚拟 IP 地址 切换为主机的服务器加载虚拟 IP 地址 并启用三通进程 负责接收 和分发数据 虚拟 IP 地址在主备服务器之间漂移 也称之为地址漂 移技术 目前很多集群软件也采用此技术来解决集群内多台计算机 只有惟一 IP 地址的问题 技术实现地址漂移需要涉及一些关键技术 当主机加载虚拟 IP 地址后 必须利用 ARP 协议包通知路由器 告诉路由器虚拟 IP 地址在哪台主机上 这样当路由器收到目的地址 为虚拟 IP 时 会自动将数据包传递给主用计算机 有两种方式可 产生 ARP 数据包 一是通过程序生成 ARP 数据包 并由链路层接口 发送给路由器 这需要对网络编程 特别是链路层编程有一定经验 的技术人员才可以实现 二是利用 ARP 命令 在程序中执行 system arp 即可 将本计算机的 ARP 表发送给局域网内的路由 器 路由器收到 ARP 数据包后 将 MAC 地址和 IP 地址的配对更新 当路由器接收到数据后 根据 ARP 表来寻找虚拟 IP 地址所在计算机 的 MAC 地址 重新指定路由 建立三通进程 负责接收数据 并将接收的数据分发给备份服 务器 通常将三通进程作为系统守侯进程 这样它随着操作系统的 启动而自动执行 增强其可靠性 如何实现 IP 地址漂移 假设在 Unix 操作系统下 首先需要随着 操作系统的启动而自动启用三通进程 在 etc rc2 d 目录下建立脚本 文件 如下 bin sh findproc 查询进程 ID pid usr bin ps e usr bin grep 1 usr bin grep v usr bin grep v grep usr bin awk print 1 case 1 in start usr Tprocess stop 关闭三通进程 findproc Tprocess if pid then bin kill 15 pid Fi esac 三通进程的实现步骤为 首先是要脱离开原有进程组 单独 建立进程组并成为进程组的首进程 建立守护进程 其次是接收 到报文后增加报文头格式 后续紧跟网络发送方 IP 地址 然后 紧跟为原始数据 其数据格式如表所示 最后是将组合后的数 据报文在局域网内发送给双服务器的接收进程 下面介绍三个步 骤的实现方法 步骤 1 脱离开原有进程并建立守护进程 程序如下 pid fork 建立进程 if pid 0 return if pid 0 exit 0 父进程退出 setsid 建立对话期 setpgrp 建立进程组 并成为进程组的首进程 chdir 更换工作目录为根目录 umask 0 步骤 2 三通进程负责接收数据 建立 socket Sid socket AF INET SOCK DGRAM 0 if sid s port addr sin family AF INET addr sin addr s addr INADDR ANY 打开地址重用机制 on 1 setsockopt sid SOL SOCKET SO REUSEADDR 绑定此服务名 if bind sid struct sockaddr 循环等待接收和处理数据 for memset buff 0 2048 num recvfrom sid buff 2048 0 struct sockaddr if num 0 perror n recvfrom continue 步骤 3 收到报文后 组织和封装数据并在局域网内利用组 播来将数据转发给双服务器 链接 ARP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论