ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:41.50KB ,
资源ID:9148340      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9148340.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(IP地址漂移的实现与原理.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

IP地址漂移的实现与原理.doc

1、IP地址漂移的实现与原理 当前备份软件比较流行,其中用到的关键技术是IP 地址漂移, 实际上IP地址漂移技术是利用共享的“虚拟”IP地址,当本地进行节点切换与路由切换,使另一端的发送和收方端没有感觉到本地节点地址有变化,保证了通信的连续性,起到断点保护的功效。 举例说明:假设最简单的主从方式、单网卡的情况下,双机系统要占用3个网络地址。主机一地址为200.10.20.1,主机二的地址为200.10.20.2, 同时,还应该有一个“虚拟”IP地址,该地址为工作IP地址,用来做“漂移”,即工作地址为200.10.20.3。 在分配IP地址时,要分清工作IP地址和主机自有地址。

2、正常情况下,工作主机的自有地址是被工作地址取代的(若主机一在工作,主机一的地址由200.10.10.1变为200.10.10.3)。在发生主机切换的情况下,主机一的地址恢复为200.10.10.1,而主机二的地址会由200.10.10.2变为200.10.10.3,这就是我们所说的地址漂移。 采用地址漂移技术, 利用虚拟IP地址来绑定主服务器,可有效解决不能利用组播的情况下多台服务器集群之间的信息交互问题。此方法具有一定的代表性,在很多行业可以采用双机集群方式广泛应用于工业控制、重要事件的备份。两台中心服务器通过网络构成一套高可靠性双机热备份系统,同步工作、互为备份,当主机发生故障时,自动切

3、换到备机工作,系统不间断运行。而地址漂移技术是当其中一台主机有故障时,另一主机接管故障主机的网络IP地址,使网络仍能正常运行。 通常系统采用双机热备软件或双活技术,具有负载均衡功能,将信息处理、数据库记录、进程监控等各项功能在两台服务器间进行动态分配,主服务器主要负责完成信息处理、进程监控等,备用服务器完成数据库的记录工作。当主服务器发生故障后,能够进行检测并告警,自动将主服务器上的信息处理和进程监控等应用转移到备用服务器上继续处理,备用服务器切换为主服务器,先前的数据库记录应用仍然保留。双服务器主要用来工业控制数据采集或SCADA系统的数据通信与处理。 一般情形下,双服务器都有各自的I

4、P地址,如果选择其中一台服务器IP地址进行通信,当此服务器出故障将无法接收信息时,这就为通信之间采用哪一个IP地址来交换信息造成选择困难。解决多台服务器集群间信息交互的办法有三个: 一是采用组播,该方法最简单。只要将两台计算机加入一个组播地址,则发送方将目的地址设置为此组播的IP地址即可,双服务器都能够收到包文,但对于双向系统而言,在应用层要解决的问题比较多,人为地将系统复杂化,简单的应用可以采用,但复杂的情形下此方法不可行。二是采用一份数据分别多次传递相应的多台服务器,虽然这样能够保证多台服务器均能够收到数据,但是对网络的占用时间、数据的同步性和实时性带来了新的问题,如果在传输数据量大时,造

5、成带宽浪费,信道无法承受。 三是采用地址漂移技术,假设两地A节点与B节点要进行通信业务,每个节点有三台服务器做集群,先给A节点与B节点分配相应的虚拟IP 地址a和b,两地A、B之间传递数据采用a和b地址,A节点的主服务器与a地址绑定,B节点的主服务器与b地址绑定。同时在主服务器启动一个三通进程,所谓三通进程是指此进程负责接收信息,然后将收到的信息分别转发到集群内两台服务器。主服务器收到数据后,送往局域网内主服务器和备服务器的接收进程。当主机切换为备机时,此服务器卸载此虚拟IP地址,切换为主机的服务器加载虚拟IP地址,并启用三通进程 负责接收和分发数据。虚拟IP地址在主备服务器之间漂移,也称之

6、为地址漂移技术,目前很多集群软件也采用此技术来解决集群内多台计算机只有惟一IP地址的问题。 技术实现地址漂移需要涉及一些关键技术。 当主机加载虚拟IP地址后,必须利用ARP协议包通知路由器,告诉路由器虚拟IP地址在哪台主机上,这样当路由器收到目的地址为虚拟IP时,会自动将数据包传递给主用计算机。 有两种方式可产生ARP 数据包: 一是通过程序生成ARP数据包,并由链路层接口发送给路由器,这需要对网络编程、特别是链路层编程有一定经验的技术人员才可以实现。二是利用ARP命令,在程序中执行system(“arp”)即可,将本计算机的ARP表发送给局域网内的路由器。 路由器收到ARP数据包后

7、将MAC地址和IP地址的配对更新,当路由器接收到数据后,根据ARP表来寻找虚拟IP地址所在计算机的MAC地址,重新指定路由。 建立三通进程,负责接收数据,并将接收的数据分发给备份服务器。通常将三通进程作为系统守侯进程,这样它随着操作系统的启动而自动执行,增强其可靠性。 如何实现IP地址漂移,假设在Unix操作系统下,首先需要随着操作系统的启动而自动启用三通进程,在/etc/rc2.d目录下建立脚本文件,如下: #!/bin/sh findproc() { # 查询进程ID pid=`/usr/bin/ps -e | /usr/bin/grep " $1" | /

8、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 三通进程的实现步骤为: 首先是要脱离开原有进程组,单独建立进程组并成为进程组的首进程,建立守护进程; 其

9、次是接收到报文后增加报文头格式,后续紧跟网络发送方IP地址,然后紧跟为原始数据。其数据格式如表所示: 最后是将组合后的数据报文在局域网内发送给双服务器的接收进程。下面介绍三个步骤的实现方法。 步骤1: 脱离开原有进程并建立守护进程。程序如下: pid = fork(); //建立进程 if ( pid< 0 ) return ; if ( pid!=0 ) exit(0); //父进程退出 setsid (); //建立对话期 setpgrp(); //建立进程组,并成为进程组的首进程 chdir("/"); //更换工作目录为根目录 umask(0);

10、 步骤2: 三通进程负责接收数据。 //建立socket Sid = socket (AF_INET, SOCK_DGRAM, 0); if (sid < 0) { perror(" n IN distribute.c create socket41432:"); exit(1); } //从/etc/services文件中获得服务名称,得到服务端口号。 sp = getservbyname ("head", "udp"); if (sp == NULL) { printf(": head not found in /etc/servicesn");

11、 exit(1); } addr.sin_port = sp->s_port; addr.sin_family = AF_INET; addr.sin_addr.s_addr = INADDR_ANY; //打开地址重用机制 on = 1; setsockopt(sid, SOL_SOCKET,SO_REUSEADDR,&on,sizeof(on) ); //绑定此服务名 if ( bind ( sid, (struct sockaddr *)&addr, sizeof(struct sockaddr_in) )< 0 ) { perror ( " n

12、 bind addr"); exit(0); } addrLen=sizeof(struct sockaddr_in); //设定目的地址为组播地址 local_net.sin_family = AF_INET; local_net.sin_addr.s_addr = inet_addr(multicast_ip); sp = getservbyname ("mult_portt", "udp"); if (sp == NULL) { printf(": hjff_port not found in /etc/servicesn"); exit(1)

13、 } local_net.sin_port = sp->s_port; //循环等待接收和处理数据 for(;;) { memset ( buff,0,2048 ); num = recvfrom ( sid, buff,2048,0, (struct sockaddr *)&srcAddr, &addrLen); if ( num< 0 ) { perror ( "n recvfrom "); continue; } 步骤3: 收到报文后,组织和封装数据并在局域网内利用组播来将数据转发给双服务器。 链接ARP协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务。 其实备份软件的实现是个比较复杂的过程,技术上除了有IP 地址漂移外,还有数据同步,负载同步和任务队列的栈进程保持一致,才能做到连续数据的断点保护和业务的连续。以上IP地址的生成与三通进程的源码,学习和借用了网上的开源码,在此表示感谢。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服