CN117439968A - 一种虚拟ip地址跨网段部署的方法 - Google Patents
一种虚拟ip地址跨网段部署的方法 Download PDFInfo
- Publication number
- CN117439968A CN117439968A CN202311382161.7A CN202311382161A CN117439968A CN 117439968 A CN117439968 A CN 117439968A CN 202311382161 A CN202311382161 A CN 202311382161A CN 117439968 A CN117439968 A CN 117439968A
- Authority
- CN
- China
- Prior art keywords
- vip
- bgp
- gateway
- message
- route
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种虚拟IP地址跨网段部署的方法。本方法包括当VIP发生切换时,keepalived控制发送免费ARP报文告知网关VIP所在服务器MAC地址;BGP路由控制器发送BGP路由至网关通告VIP所在的服务器IP地址;网关根据BGP路由协议继续向客户端通告路由;客户端收到该路由后将访问VIP的流量由网关1切换至网关2,并通过网关2到达备服务器。本方法基于BGP路由通告协议发布VIP路由,使VIP跨机房部署变得更加简便易行,本方法中通过监听操作系统Netlink消息发布BGP路由的方案实现了路由发布无需人为介入,同时实现了VIP路由的实时切换,减少了服务不可用时间,提升了服务的高可用性。
Description
技术领域
本发明属于IP地址部署方法技术领域,尤其涉及一种虚拟IP地址(VIP)跨网段部署的方法。
背景技术
虚拟IP地址(VIP)是实现高可用系统的一种方案,高可用的目的是通过技术手段避免因为系统出现故障而导致停止对外服务,一般实现方式是部署备用服务器,在主用服务器出现故障时接管业务。VIP就是用于向客户提供一个固定的虚拟IP地址,这个VIP默认配置在主用服务器上,当主用服务器故障时,通过keepalived(一种管理虚拟IP地址的软件)控制,将VIP配置到备用服务器,实现VIP的漂移,以避免后端服务器出现故障时对客户端的影响。当前情况下,一般要求VIP与后端服务器IP地址处于同一网段,当前部署方式如图1所示,客户端只需能与主/备服务器以及VIP所在的网段通信,就能正常访问部署在主/备服务器上的业务。而要求VIP与后端服务器IP处于同一网段的原因是因为VIP所在的服务器会发送免费ARP报文(用于通告IP地址与MAC地址映射关系,仅相同网段内设备能收到),告知网关VIP目前所在的服务器MAC地址,客户端请求VIP将发送至服务器网段的网关,从而通过网关访问VIP。
但是,随着业务对高可用系统的要求日益提升,为了避免当主/备服务器部署在同一机房时,出现机房故障导致后端服务无法访问的情况,可能要求主/备服务器跨机房部署,在这种情况下主/备服务器以及VIP就可能不在同一网段,如果仅部署keepalived,将会出现VIP无法提供服务的情况,如图2所示,主/备服务器与VIP均为不同网段,主服务器网关为网关1,备服务器网关为网关2,当VIP出现切换时,备服务器发送免费ARP告知网关2,目前VIP(192.168.2.2)在备用服务器上,但是网关2无法告知客户端VIP在备用服务器上,导致客户端无法访问VIP。
发明内容
为了克服现有虚拟IP地址(VIP)部署方法存在的上述缺陷,本发明提出了一种新的虚拟IP地址(VIP)跨网段部署的方法,本方法基于BGP路由通告协议发布VIP路由,提供了VIP跨网段部署的方案,本方法中BGP路由控制器基于操作系统Netlink消息实现了VIP路由实时切换,减少了服务不可用时间,提高了服务的高可用性。
具体地,本发明提供了一种虚拟IP地址跨网段部署的方法,本方法包括:
S1.当VIP发生切换时,keepalived控制发送免费ARP报文,告知网关VIP所在服务器MAC地址;
S2.由BGP路由控制器发送BGP路由至网关通告VIP所在的服务器IP地址;
S3.网关根据BGP路由协议继续向客户端通告路由;
S4.客户端收到该路由后将访问VIP的流量由网关1切换至网关2,并通过网关2到达备服务器。
进一步地,根据本发明的一些实施例,本发明虚拟IP地址跨网段部署的方法步骤S4中所述网关1用于控制主服务器,所述网关2用于控制备服务器。
进一步地,本发明虚拟IP地址跨网段部署的方法步骤S2中所述由BGP路由控制器发送BGP路由至网关通告VIP所在的服务器IP地址,包括:
S21.当BGP路由控制器启动时自动监听操作系统的Netlink消息;
S22.当VIP发生切换时,keepalived将VIP配置到指定网卡,操作系统发送网卡增加IP的Netlink消息;
S23.当BGP路由控制器接收到该Netlink消息后,解析Netlink消息,判断该网卡上配置的VIP是否为指定的VIP;
S24.如果是指定的VIP就发送VIP的BGP路由至网关。
进一步地,根据本发明的一些实施例,本发明虚拟IP地址跨网段部署的方法中所述BGP路由控制器包括Netlink消息监听模块、BGP配置模块和BGP消息发送模块。
进一步地,根据本发明的一些实施例,本发明虚拟IP地址跨网段部署的方法中所述BGP路由控制器的工作过程包括:
(1)BGP路由控制器启动后,BGP消息发送模块开始监听BGP配置信息;
(2)Netlink消息监听模块收到操作系统发送的Netlink消息后解析Netlink消息,并将网卡增加VIP的消息发送至BGP配置模块;
(3)BGP配置模块收到该消息后修改BGP配置;
(4)BGP消息发送模块收到BGP配置更新后,根据新的配置发送VIP的BGP路由至网关。
进一步地,本发明还涉及上述虚拟IP地址跨网段部署的方法在Kubernetes容器集群管控节点的跨机房高可用部署中的应用。
另外,本发明还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现上述的虚拟IP地址跨网段部署的方法的步骤。
另一方面,本发明还提供了一种虚拟IP地址跨网段部署系统,本系统包括:
keepalived控制模块:当VIP发生切换时,发送免费ARP报文告知网关VIP所在服务器MAC地址,同时将VIP配置到指定网卡;
BGP路由控制器模块:发送BGP路由至网关通告VIP所在的服务器IP地址。
进一步地,根据本发明的一些实施例,本发明虚拟IP地址跨网段部署系统中所述BGP路由控制器模块包括:
Netlink消息监听子模块:接收操作系统发送的Netlink消息并解析Netlink消息,判断网卡上配置的VIP是否为指定的VIP,然后将网卡增加VIP的消息发送至BGP配置子模块;
BGP配置子模块:修改BGP配置;
BGP消息发送子模块:监听BGP配置信息,接收到BGP配置更新后,根据新的配置发送VIP的BGP路由至网关。
上述各模块按照前述的VIP跨网段部署的方法实施运行。
综上,本发明虚拟IP地址跨网段部署的方法具有以下优点:
(1)本方法基于BGP路由通告协议发布VIP路由,提供VIP跨网段访问的方案,解决了VIP跨网段部署客户端由于没有VIP的路由无法访问的问题,使VIP跨机房部署变得更加简便易行,有力提升了服务的高可用性。
(2)本方法中通过监听操作系统Netlink消息发布BGP路由的方案自动实现了路由发布且无需人为介入,同时实现了VIP路由的实时切换,降低了服务不可用时间,进一步提升了服务的高可用性。
附图说明
为了更清楚地说明背景技术和本发明实施例的技术方案,下面对背景技术和本发明实施例叙述中需要使用的附图作简要介绍,显而易见地,下述附图仅是本发明中记载的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中VIP与后端服务器IP地址部署方式示意图(VIP与后端服务器IP地址处于同一网段)。
图2为现有技术中主/备服务器与VIP部署方式示意图(主/备服务器与VIP均为不同网段,如果仅部署keepalived,将会出现VIP无法提供服务的情况)。
图3为本发明方法的实施流程图。
图4为本发明方法的设计框架示意图。
图5为本发明方法的工作过程示意图。
图6为本发明方法中BGP路由发送流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例,本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
同时,应理解,本发明的保护范围并不局限于下述特定的具体实施方案;还应当理解,本发明实施例中使用的术语是为了描述特定的具体实施方案,而不是为了限制本发明的保护范围。
实施例1:一种虚拟IP地址(VIP)跨网段部署的方法
如图3所示,本发明提出了一种基于BGP路由通告的VIP跨网段部署方案,目的是解决VIP跨网段部署时客户端无法访问的问题。
具体而言,如图4所示,当VIP发生切换时,keepalived控制发送免费ARP报文,告知网关VIP所在服务器MAC地址的同时由BGP路由控制器发送BGP路由通告VIP所在的服务器IP地址,网关将根据BGP路由协议继续向客户端通告路由,当客户端收到该路由后将访问VIP的流量从网关1切换至网关2,最终通过网关2到达备服务器。
如图5所示,BGP路由控制器启动时将监听操作系统的Netlink消息,当发生VIP切换时,keepalived将VIP配置到指定网卡,此时操作系统将发送网卡增加IP的Netlink消息,BGP路由控制器收到该Netlink消息后,解析该Netlink消息,判断网卡上配置的IP是否为指定的VIP,如果是指定VIP就发送VIP的BGP路由至网关。BGP路由控制器内部分为3个模块:Netlink消息监听模块、BGP配置模块以及BGP消息发送模块,具体VIP的BGP路由发送流程如图6所示,BGP路由控制器启动后,BGP消息发送模块将监听BGP配置信息,Netlink消息监听模块收到Netlink消息后解析Netlink消息,并将网卡增加VIP的消息发送至BGP配置模块,BGP配置模块收到该消息后修改BGP配置,当BGP消息发送模块收到BGP配置更新后,将根据新的配置发送VIP的BGP路由至网关。
举例来说,将本发明提出的方案实际应用于Kubernetes容器集群管控节点的跨机房高可用部署中,Kubernetes容器集群管控节点一般有3个节点,在跨机房高可用部署方案中3个节点分别置于3个不同机房A、B、C中,3个机房的网段各不相同;3个节点分别安装keepalived用于控制VIP主节点的选取,以及BGP路由控制器用于发送VIP的BGP路由,由此对外暴露VIP供客户端访问Kubernetes服务。假定初始状态下VIP位于A机房的管控节点上,当A机房断电或出现网络异常时,A机房内管控节点keepalived向B、C机房管控节点keepalived发送的心跳报文超时,B、C机房的管控节点keepalived将会选取新的VIP主节点,假定此时keepalived选取新的VIP主节点为B机房的管控节点,VIP将会配置在B机房管控节点的网卡上,B机房的管控节点上安装的BGP路由控制器通过监听Netlink消息得知VIP配在该节点上,BGP路由控制器将会重新配置BGP路由规则并发送BGP路由,这样VIP就完整地从A机房管控节点切换至B机房管控节点,客户端能继续通过VIP访问Kubernetes集群,整个故障切换流程在秒级内完成。
实施例2:一种虚拟IP地址(VIP)跨网段部署系统
本系统包括:
keepalived控制模块:当VIP发生切换时,发送免费ARP报文告知网关VIP所在服务器MAC地址,同时将VIP配置到指定网卡;
BGP路由控制器模块:发送BGP路由至网关通告VIP所在的服务器IP地址;BGP路由控制器模块包括:
(1)Netlink消息监听子模块:接收操作系统发送的Netlink消息并解析Netlink消息,判断网卡上配置的VIP是否为指定的VIP,然后将网卡增加VIP的消息发送至BGP配置子模块;
(2)BGP配置子模块:修改BGP配置;
(3)BGP消息发送子模块:监听BGP配置信息,接收到BGP配置更新后,根据新的配置发送VIP的BGP路由至网关。
上述各模块按照实施例1所述的VIP跨网段部署的方法实施运行。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰获得等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均应包含在本发明的权利要求保护范围之内。
Claims (9)
1.一种虚拟IP地址跨网段部署的方法,其特征在于,所述方法包括:
S1.当VIP发生切换时,keepalived控制发送免费ARP报文,告知网关VIP所在服务器MAC地址;
S2.由BGP路由控制器发送BGP路由至网关通告VIP所在的服务器IP地址;
S3.网关根据BGP路由协议继续向客户端通告路由;
S4.客户端收到该路由后将访问VIP的流量由网关1切换至网关2,并通过网关2到达备服务器。
2.根据权利要求1所述的虚拟IP地址跨网段部署的方法,其特征在于,步骤S4中所述网关1用于控制主服务器,所述网关2用于控制备服务器。
3.根据权利要求1所述的虚拟IP地址跨网段部署的方法,其特征在于,步骤S2中所述由BGP路由控制器发送BGP路由至网关通告VIP所在的服务器IP地址,包括:
S21.当BGP路由控制器启动时自动监听操作系统的Netlink消息;
S22.当VIP发生切换时,keepalived将VIP配置到指定网卡,操作系统发送网卡增加IP的Netlink消息;
S23.当BGP路由控制器接收到该Netlink消息后,解析Netlink消息,判断该网卡上配置的VIP是否为指定的VIP;
S24.如果是指定的VIP就发送VIP的BGP路由至网关。
4.根据权利要求3所述的虚拟IP地址跨网段部署的方法,其特征在于,所述BGP路由控制器包括Netlink消息监听模块、BGP配置模块和BGP消息发送模块。
5.根据权利要求4所述的虚拟IP地址跨网段部署的方法,其特征在于,所述BGP路由控制器的工作过程包括:
(1)BGP路由控制器启动后,BGP消息发送模块开始监听BGP配置信息;
(2)Netlink消息监听模块收到操作系统发送的Netlink消息后解析Netlink消息,并将网卡增加VIP的消息发送至BGP配置模块;
(3)BGP配置模块收到该消息后修改BGP配置;
(4)BGP消息发送模块收到BGP配置更新后,根据新的配置发送VIP的BGP路由至网关。
6.权利要求1-5任一项所述的虚拟IP地址跨网段部署的方法在Kubernetes容器集群管控节点的跨机房高可用部署中的应用。
7.一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现权利要求1-5任一项所述的虚拟IP地址跨网段部署的方法的步骤。
8.一种虚拟IP地址跨网段部署系统,其特征在于,所述系统包括:
keepalived控制模块:当VIP发生切换时,发送免费ARP报文告知网关VIP所在服务器MAC地址,同时将VIP配置到指定网卡;
BGP路由控制器模块:发送BGP路由至网关通告VIP所在的服务器IP地址。
9.根据权利要求8所述的虚拟IP地址跨网段部署系统,其特征在于,所述BGP路由控制器模块包括:
Netlink消息监听子模块:接收操作系统发送的Netlink消息并解析Netlink消息,判断网卡上配置的VIP是否为指定的VIP,然后将网卡增加VIP的消息发送至BGP配置子模块;
BGP配置子模块:修改BGP配置;
BGP消息发送子模块:监听BGP配置信息,接收到BGP配置更新后,根据新的配置发送VIP的BGP路由至网关。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311382161.7A CN117439968A (zh) | 2023-10-24 | 2023-10-24 | 一种虚拟ip地址跨网段部署的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311382161.7A CN117439968A (zh) | 2023-10-24 | 2023-10-24 | 一种虚拟ip地址跨网段部署的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117439968A true CN117439968A (zh) | 2024-01-23 |
Family
ID=89549235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311382161.7A Pending CN117439968A (zh) | 2023-10-24 | 2023-10-24 | 一种虚拟ip地址跨网段部署的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117439968A (zh) |
-
2023
- 2023-10-24 CN CN202311382161.7A patent/CN117439968A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5759024B2 (ja) | 地理的冗長ゲートウェイでセッションを復元するシステムおよび方法 | |
US6397260B1 (en) | Automatic load sharing for network routers | |
JP4680919B2 (ja) | ネットワークノードクラスタのための冗長なルーティング機能 | |
JPH1023074A (ja) | 高信頼化ネットワークシステム | |
CN112839072B (zh) | 数据处理方法、装置、系统、计算机设备和可读介质 | |
EP4164197A1 (en) | Virtual ip management method and apparatus, electronic device and storage medium | |
US7251813B2 (en) | Server apparatus having function of changing over from old to new module | |
CN101227333B (zh) | 一种容灾网管系统及其网管客户端的登陆方法 | |
CN111371625A (zh) | 一种双机热备的实现方法 | |
CN100563263C (zh) | 在网络存储业务中实现系统高可用性的方法和系统 | |
CN114124667A (zh) | 一种双网口冗余备份方法及系统 | |
CN113285874A (zh) | 一种基于vrrp单实例的网关备份方法与装置 | |
CN117439968A (zh) | 一种虚拟ip地址跨网段部署的方法 | |
CN109412943B (zh) | 一种sdn控制器集群流量处理方法、装置、设备及存储介质 | |
CN114143905B (zh) | 会话建立方法、通信系统、电子设备和存储介质 | |
US6970471B1 (en) | Communicating using IP addressing for redundant telephony modules | |
CN114268581A (zh) | 一种实现网络设备高可用和负载分担的方法 | |
CN117692458B (zh) | 一种基于标签的分布式负载均衡实现方法及系统 | |
EP4184822A1 (en) | Method and apparatus for keeping user terminal alive | |
US11575570B2 (en) | Communication apparatus, redundant communication system, and communication control method | |
WO2024065424A1 (zh) | 链路优化方法和系统 | |
JP2006054766A (ja) | 冗長構成ネットワークシステムにおける制御データ共有方法 | |
JP2009278436A (ja) | 通信システム及び冗長構成管理方法 | |
JPH10271143A (ja) | スイッチングhub対応フロー制御方式 | |
CN116743614A (zh) | 一种实现nfv的nat网关高可靠性的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |