CN111600972B - 双栈地址的配置方法、服务器和可读存储介质 - Google Patents

双栈地址的配置方法、服务器和可读存储介质 Download PDF

Info

Publication number
CN111600972B
CN111600972B CN202010411108.5A CN202010411108A CN111600972B CN 111600972 B CN111600972 B CN 111600972B CN 202010411108 A CN202010411108 A CN 202010411108A CN 111600972 B CN111600972 B CN 111600972B
Authority
CN
China
Prior art keywords
address
network port
ipv6
ipv4
network
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.)
Active
Application number
CN202010411108.5A
Other languages
English (en)
Other versions
CN111600972A (zh
Inventor
孙群英
司品涛
杜金海
厉章忠
田露
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Migu Cultural Technology Co Ltd
China Mobile Communications Group Co Ltd
MIGU Video Technology Co Ltd
Original Assignee
Migu Cultural Technology Co Ltd
China Mobile Communications Group Co Ltd
MIGU Video Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Migu Cultural Technology Co Ltd, China Mobile Communications Group Co Ltd, MIGU Video Technology Co Ltd filed Critical Migu Cultural Technology Co Ltd
Priority to CN202010411108.5A priority Critical patent/CN111600972B/zh
Publication of CN111600972A publication Critical patent/CN111600972A/zh
Application granted granted Critical
Publication of CN111600972B publication Critical patent/CN111600972B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/251Translation of Internet protocol [IP] addresses between different IP versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2542Translation of Internet protocol [IP] addresses involving dual-stack hosts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/686Types of network addresses using dual-stack hosts, e.g. in Internet protocol version 4 [IPv4]/Internet protocol version 6 [IPv6] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例涉及云计算领域,公开了一种双栈地址的配置方法、服务器和可读存储介质。本发明中,上述双栈地址的配置方法包括:获取网络端口的IPv4地址;根据所述网络端口的IPv4地址,生成所述网络端口的IPv6地址;根据所述IPv4地址和所述IPv6地址,将所述网络端口配置为具有双栈地址的双栈端口,使得可以避免IP地址丢失风险,且有利于保证同一业务的虚拟机的IPv6地址连续。

Description

双栈地址的配置方法、服务器和可读存储介质
技术领域
本发明实施例涉及云计算领域,特别涉及一种双栈地址的配置方法、服务器和可读存储介质。
背景技术
随着互联网的迅速发展,网际协议版本4(Internet Protocol version 4,IPv4),地址空间短缺的矛盾日益凸显,因此互联网协议第6版(Internet Protocol version 6,IPv6)被设计并提出作为下一代互联网协议,以重新定义地址空间,解决地址短缺问题。目前,为实现同一虚拟机既能够与IPv4系统通信,又能够与IPv6系统通信,即在同一个端口实现双栈功能,通常采用动态主机配置协议(Dynamic Host Configuration Protocol,简称:DHCP)方式获取IPv6地址。
然而,发明人发现相关技术中至少存在如下问题:通过DHCP方式获取IPv6地址,存在IPv6地址丢失风险,且可能出现同一业务的虚拟机的IPv6地址不连续的问题。
发明内容
本发明实施方式的目的在于提供一种双栈地址的配置方法、服务器和可读存储介质,使得可以避免IP地址丢失风险,且有利于保证同一业务的虚拟机的IPv6地址连续。
为解决上述技术问题,本发明的实施方式提供了一种双栈地址的配置方法,包括获取网络端口的IPv4地址;根据所述网络端口的IPv4地址,生成所述网络端口的IPv6地址;根据所述IPv4地址和所述IPv6地址,将所述网络端口配置为具有双栈地址的双栈端口。
本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的双栈地址的配置方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的双栈地址的配置方法。
本发明实施方式相对于现有技术而言,获取网络端口的IPv4地址,根据网络端口的IPv4地址,生成网络端口的IPv6地址;根据IPv4地址和IPv6地址,将网络端口配置为具有双栈地址的双栈端口。即配置后的双栈端口的双栈地址包括IPv4地址和IPv6地址。由于IPv6地址不是通过动态分配得到的,而是根据IPv4地址生成的,所以是静态化的,从而有利于避免IPv6地址丢失的风险。而且IPv6地址根据IPv4地址生成,因此,IPv6地址会和IPv4地址存在对应关系。而通常针对同一业务分配的IPv4地址是连续的,因此,有利于保证同一业务下根据IPv4地址生成的IPv6地址也是连续的,方便了管理和使用。
另外,所述后预设位为后16位,所述IPv6地址的后16位利用所述IPv4地址的后16位填充,采用后16位既可以保证能够识别到该IPv6地址对应的虚拟机,同时也能避免对于IPv6地址的浪费。
另外,在所述根据所述网络端口的IPv4地址,生成所述网络端口的IPv6地址之后,还包括:确定生成的所述IPv6地址与正在使用的地址是否存在地址冲突;若确定存在地址冲突,则对生成的所述IPv6地址进行更新,获取更新后的IPv6地址;所述根据所述IPv4地址和所述IPv6地址,将所述网络端口配置为具有双栈地址的双栈端口,包括:根据所述IPv4地址和所述更新后的IPv6地址,将所述网络端口配置为具有双栈地址的双栈端口。即配置后的双栈端口的双栈地址包括IPv4地址和更新后的IPv6地址。考虑到IPv6地址不是动态分配的,而是根据IPv4地址生成的,生成的IPv6地址可能存在地址冲突的可能。因此,在生成IPv6地址后,如果确定生成的IPv6地址与正在使用的地址存在地址冲突,则对生成的IPv6地址进行更新,获取更新后的IPv6地址,使得最终确定的双栈地址中的IPv6地址与正在使用的地址不存在地址冲突的情况。
另外,所述网络端口为新创建的第一网络端口;所述获取网络端口的IPv4地址,包括:获取为所述第一网络端口动态分配的IPv4地址;在所述根据所述IPv4地址和所述IPv6地址,将所述网络端口配置为具有双栈地址的双栈端口之后,还包括:创建关联所述第一网络端口的第一虚拟机,并将所述IPv6地址写入所述第一虚拟机的操作系统;对动态分配的所述IPv4地址进行静态化处理。获取动态分配的IPv4地址,有利于保证namespace不会丢失,即保留了统一运维入口,便于通过namespace统一运维处于同一个网段的虚拟机。另外,通过对动态分配的IPv4地址进行静态化处理,使得最终IPv4地址和IPv6地址都是静态化的,有利于避免地址丢失的风险。
另外,所述对动态分配的所述IPv4地址进行静态化处理,包括:生成用于进行IPv4地址静态化的定制化脚本;运行所述定制化脚本,对动态分配的所述IPv4地址进行静态化处理。通过生成用于进行IPv4地址静态化的定制化脚本,可以方便的通过运行定制化脚本,对动态分配的IPv4地址进行静态化处理。
另外,所述网络端口为已配置有IPv4地址的第二网络端口,所述第二网络端口为已分配至用户的第二虚拟机的网络端口;所述获取网络端口的IPv4地址,包括:从所述第二虚拟机的操作系统中读取所述第二网络端口的IPv4地址;在所述根据所述IPv4地址和所述IPv6地址,将所述网络端口配置为具有双栈地址的双栈端口之后,还包括:将所述IPv6地址,配置到所述第二虚拟机的网卡。也就是说,对于已分配至用户的虚拟机,如果需要增加IPv6地址,则从第二虚拟机的操作系统中读取第二网络端口的IPv4地址,根据读取的IPv4地址生成IPv6地址,然后将IPv6地址,配置到第二虚拟机的网卡。由于IPv6地址不是通过动态分配得到的,而是根据IPv4地址生成的,即IPv6地址会和IPv4地址存在对应关系。而通常针对同一业务分配的IPv4地址是连续的,因此,对于已分配至用户的第二虚拟机,也有利于保证同一业务的IPv6地址是连续的,方便了管理和使用。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是根据本发明第一实施方式中的双栈地址的配置方法的流程图;
图2是根据本发明第二实施方式中的双栈地址的配置方法的流程图;
图3是根据本发明第三实施方式中的双栈地址的配置方法的流程图;
图4是根据本发明第四实施方式中的服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施方式涉及一种双栈地址的配置方法,可以理解为云计算平台open stack资源池中IP双栈的实现方法。其中,双栈地址即IPv4地址和IPv6地址,即对于网络端口同时配置有IPv4地址和IPv6地址。在具体实现中,双栈地址的配置方法可以包括:对于新增资源的双栈地址的配置方法以及对于存量资源的双栈地址的配置方法。新增资源是指在还不存在虚拟机的情况下,需要新创建网络端口,对新创建的网络端口配置IPv4地址和IPv6地址,然后再创建基于该网络端口的虚拟机;也就是说,新增资源可以理解为新增虚拟机。存量资源是指对于已分配至用户的且已配置IPv4地址的虚拟机,需要增加IPv6地址;也就是说,存量资源可以理解为已经存在的且已配置有IPv4地址的虚拟机。下面对本实施方式的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的双栈地址的配置方法的流程图如图1所示,包括:
步骤101:获取网络端口的IPv4地址。
其中,本实施方式中的网络端口以新创建的第一网络端口为例,即本实施方式中的双栈地址的配置方法为对于新增资源的双栈地址的配置方法。本步骤中,可以获取为第一网络端口动态分配的IPv4地址。
在一个例子中,可以在同一网络下创建IPv4子网和IPv6子网,使得可以通过单网卡同时管理IPv4子网下的IPv4地址以及IPv6子网下的IPv6地址。在另一个例子中,也可以分别在不同网络下创建IPv4子网和IPv6子网,从而通过双网卡分别管理IPv4子网下的IPv4地址以及IPv6子网下的IPv6地址。
在具体实现中,可以获取在创建的IPv4子网下,云计算平台open stack为第一网络端口动态分配的IPv4地址,比如通过DHCP方式获取第一网络端口的IPv4地址。
步骤102:根据网络端口的IPv4地址,生成网络端口的IPv6地址。
在一个例子中,可以先确定IPv4地址所在的网络端口对应的IPv6网段,然后根据IPv6网段以及IPv4地址的后预设位,生成网络端口的IPv6地址。其中,IPv4地址所在的网络端口对应的IPv6网段,可以理解为上述步骤101中创建的IPv6子网。根据IPv6网段,可以确定网络端口对应的IPv6网络规划段,通过将IPv6网络规划段的后预设位,设置为网络端口的IPv4地址的后预设位,得到该网络端口的IPv6地址。也就是说,一个网络端口的IPv6地址的后预设位,利用该网络端口的IPv4地址的后预设位填充,使得该网络端口的IPv6地址和IPv4地址之间建立联系,有利于保证IPv6地址的连续性。比如后预设位为后n位,可以理解的是一个网络端口的IPv6地址有128位,则IPv6地址的最后n位采用该网络端口的IPv4地址的后n位填充,IPv6地址的前128-n位为根据IPv6网段确定的IPv6网络规划段。其中,后预设位可以根据实际需要进行设置,即n可以根据实际需要进行设置,比如设置为8、16、32等。
在一个例子中,后预设位为后16位,即n等于16,IPv6地址的后16位利用IPv4地址的后16位填充。采用后16位既可以保证能够识别到该IPv6地址对应的虚拟机,同时也能避免对于IPv6地址的浪费。
本实施方式中,由于网络端口为新创建的第一网络端口,则本步骤中即为根据第一网络端口的IPv4地址,生成第一网络端口的IPv6地址。
步骤103:根据IPv4地址和IPv6地址,将网络端口配置为具有双栈地址的双栈端口。
其中,双栈地址包括步骤101中获取的IPv4地址和步骤102中获取的IPv6地址。
在具体实现中,可以利用open stack port-update接口更新ipv4地址所在的网络端口,使得更新后的网络端口既具有ipv4地址还具有ipv6地址,从而可以将网络端口配置为具有双栈地址的双栈端口。
步骤104:创建关联第一网络端口的第一虚拟机,并将IPv6地址写入第一虚拟机的操作系统。
也就是说,在新创建第一网络端口后,将该第一网络端口配置为具有双栈地址的双栈端口后,创建关联该第一网络端口的第一虚拟机,使得第一虚拟机在还未被分配给用户之前就已经配置好了ipv4地址和ipv6地址。由于IPv6地址为根据ipv4地址生成的,即ipv6地址是静态化的,可以理解为ipv6地址是静态获取的。利用open stack的cloud-init功能,可将ipv6地址自动写入第一虚拟机的操作系统,且保证ipv6地址静态化。其中,cloud-init是为云环境中虚拟机的初始化而开发的工具,可以从各种数据源读取相关数据并据此对虚拟机进行配置。
步骤105:对动态分配的IPv4地址进行静态化处理。
在一个例子中,可以生成用于进行IPv4地址静态化的定制化脚本,运行定制化脚本,对动态分配的IPv4地址进行静态化处理。其中,定制化脚本可以理解为对第一虚拟机定制的镜像,通过定制的该镜像可以实现IPv4地址的静态化。
在一个例子中,可以将以下操作(操作a至操作d)转换为可执行脚本,从而将转换得到的可执行脚本,作为用于进行IPv4地址静态化的定制化脚本:
操作a:将第一虚拟机的网卡的启动地址协议设置为静态模式。
比如,可以通过命令“BOOTPROTO=static”即启动地址协议=使用static(静态地址协议),实现将第一虚拟机的网卡的启动地址协议设置为静态模式。
操作b:关闭第一虚拟机的网卡的网络管理器Network Manager服务。
比如,将第一虚拟机的网卡设置为使用传统方式管理而不使用Network Manager服务,以避免使用Network Manager服务可能造成的干扰。
操作c:从第一虚拟机的操作系统中获取第一虚拟机的网卡的IP地址和子网掩码地址,并将IP地址和子网掩码地址写入网卡配置文件中;其中,IP地址为动态分配的IPv4地址。
操作d:重启第一虚拟机的网卡。
可以理解的是,运行上述定制化脚本时,即可以依次执行上述的操作a至操作d。
在具体实现中,运行定制化脚本,对动态分配的IPv4地址进行静态化处理的方式,可以如下:将第一虚拟机的网卡的启动地址协议设置为静态模式,关闭第一虚拟机的网卡的网络管理器Network Manager服务,从第一虚拟机的操作系统中获取第一虚拟机的网卡的IP地址和子网掩码地址,并将IP地址和子网掩码地址写入网卡配置文件中,重启第一虚拟机的网卡,得到静态化处理后的IPv4地址。
在一个例子中,第一虚拟机的启动流程可以如下:
首先,宿主机上启用config drive,其中,config drive是一个特殊的文件系统,云计算平台open stack将第一虚拟机的元数据metadata写到config drive。
接着,第一虚拟机启动时config drive会被自动挂载mount,并从config drive中读取metadata,第一虚拟机的操作系统安装有cloud-init,cloud-init从config drive中获取metadata,将metadata写入网卡配置文件中,至此第一虚拟机已正确获取了动态分配的ipv4地址。
然后,open stack读取需要进行静态化的数据,即动态分配的ipv4地址,根据生成的定制化脚本实现ipv4地址的静态化。
也就是说,本实施方式中,对于新增资源一开始获取动态分配的IPv4地址,保证namespace不会丢失,即保留了统一运维入口,便于通过namespace(名称空间,通过namespace可以标识网段)统一运维处于同一个网段的虚拟机。最后,再对IPv4地址进行静态化,从而避免IPv4地址丢失的风险。另外,虽然IPv6地址是静态化的,可能存在namespace丢失的风险,但对于同时配置有IPv4地址和IPv6地址的网络端口,只要该网络端口的一个地址对应的namespace不会丢失(本实施方式中即通过一开始时获取的动态分配的IPv4地址以保证namespace不会丢失),就可以通过namespace统一运维处于同一个网段的虚拟机。
需要说明的是,本实施方式中的上述各示例均为为方便理解进行的举例说明,并不对本发明的技术方案构成限定。
与现有技术相比,本实施方式由于IPv6地址不是通过动态分配得到的,而是根据IPv4地址生成的,所以是静态化的,从而有利于避免IPv6地址丢失的风险。而且IPv6地址根据IPv4地址生成,因此,IPv6地址会和IPv4地址存在对应关系。而通常针对同一业务分配的IPv4地址是连续的,因此,有利于保证同一业务下根据IPv4地址生成的IPv6地址也是连续的,方便了管理和使用。对于新增资源,获取动态分配的IPv4地址,有利于保证namespace不会丢失,即保留了统一运维入口,便于通过namespace统一运维处于同一个网段的虚拟机。另外,通过对动态分配的IPv4地址进行静态化处理,使得最终IPv4地址和IPv6地址都是静态化的,有利于避免地址丢失的风险。
本发明的第二实施方式涉及一种双栈地址的配置方法。下面对本实施方式的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的双栈地址的配置方法的流程图如图2所示,包括:
步骤201:获取网络端口的IPv4地址。
其中,本实施方式中的网络端口以已配置有IPv4地址的第二网络端口为例,即本实施方式中的双栈地址的配置方法为对于存量资源的双栈地址的配置方法。第二网络端口为已分配至用户的第二虚拟机的网络端口,也就是说,第二虚拟机在分配至用户时,仅配置了IPv4地址,在后续使用的过程中需要增加IPv6地址。
在具体实现中,可以从第二虚拟机的操作系统中读取第二网络端口的IPv4地址。
步骤202:根据网络端口的IPv4地址,生成网络端口的IPv6地址。
也就是说,根据步骤201中获取的第二网络端口的IPv4地址,生成第二网络端口的IPv6地址。
在具体实现中,可以在IPv4子网所在的网络下创建IPv6子网;其中,IPv4子网为已配置有IPv4地址的第二虚拟机所运行的网络。在创建的IPv6子网下,根据第二网络端口的IPv4地址,生成第二网络端口的IPv6地址。比如,根据创建的IPv6子网,可以确定第二网络端口对应的IPv6网络规划段,通过将IPv6网络规划段的后预设位,设置为第二网络端口的IPv4地址的后预设位,得到该第二网络端口的IPv6地址。需要说明的是,由于根据第二网络端口的IPv4地址,生成第二网络端口的IPv6地址的实现方式与第一实施方式中的步骤102的是实现方式大致相同,为避免重复,在此不再赘述。在IPv4子网所在的网络下创建IPv6子网,即IPv4子网和IPv6子网属于同一网络下,在IPv6子网下,根据已配置的IPv4地址生成第二网络端口的IPv6地址,使得可以在单网卡下实现双栈地址的配置,通过单网卡实现双栈地址的配置使得只需管理一个网卡,方便了管理。
步骤203:根据IPv4地址和IPv6地址,将网络端口配置为具有双栈地址的双栈端口。
也就是说,将原本仅配置有IPv4地址的第二网络端口,配置为同时具有IPv4地址和IPv6地址的双栈端口。比如,可以利用open stack port-update接口更新第二网络端口,使得更新后的第二网络端口既具有ipv4地址还具有ipv6地址,从而可以将第二网络端口配置为具有双栈地址的双栈端口。
步骤204:将IPv6地址,配置到第二虚拟机的网卡。
可以理解的是,由于第二虚拟机为已分配至用户的虚拟机,用户可能已经更改了第二虚拟机的操作系统的登陆密码。因此,在一个例子中可以将第二网络端口的IPv6地址发送给用户,通过用户人为干预将第二网络端口的IPv6地址配置到第二虚拟机的网卡。在另一个例子中,也可以在不需要用户参与的情况下,通过open stack自动将第二网络端口的IPv6地址,配置到第二虚拟机的网卡。然而,本实施方式对此不做具体限定,在具体实现中可以根据实际需要进行设置。
与现有技术相比,本实施方式中对于已分配至用户的虚拟机,如果需要增加IPv6地址,则从第二虚拟机的操作系统中读取第二网络端口的IPv4地址,根据读取的IPv4地址生成IPv6地址,然后将IPv6地址,配置到第二虚拟机的网卡。由于IPv6地址不是通过动态分配得到的,而是根据IPv4地址生成的,即IPv6地址会和IPv4地址存在对应关系。而通常针对同一业务分配的IPv4地址是连续的,因此,对于已分配至用户的第二虚拟机,也有利于保证同一业务的IPv6地址是连续的,方便了管理和使用。
本发明的第三实施方式涉及一种双栈地址的配置方法,下面对本实施方式的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的双栈地址的配置方法的流程图如图3所示,包括:
步骤301:获取网络端口的IPv4地址。
步骤302:根据网络端口的IPv4地址,生成网络端口的IPv6地址。
其中,步骤301至步骤302与第一实施方式中的步骤101至步骤102大致相同,或者与第二实施方式中的步骤201至步骤202大致相同,为避免重复,在此不再赘述。
步骤303:确定生成的Pv6地址与正在使用的地址是否存在地址冲突;如果是,则执行步骤304,否则执行步骤306。
在具体实现中,考虑到动态分配地址的方式为:在没有被用到的地址中选择一个地址进行分配,而IPv6地址不是动态分配的,是根据IPv4地址生成的,生成的IPv6地址可能存在地址冲突的可能。因此,在生成IPv6地址后,可以将生成的该IPv6地址与正在使用的地址进行比较,确定生成的该IPv6地址是否与正在使用的地址存在地址冲突,即生成的该IPv6地址是否正在被其他设备使用。
步骤304:对生成的IPv6地址进行更新,获取更新后的IPv6地址。
在一个例子中,对生成的IPv6地址进行更新的方式可以为:对原有地址(生成的IPv6地址)加N取模的方式,获取更新后的IPv6地址。其中,N为大于1的自然数,在具体实现中可以根据实际需要进行设置,比如设置为20,然而,本实施方式对此不做具体限定。
需要说明的是,本实施方式中对生成的IPv6地址进行更新旨在解决地址冲突的问题,对具体的更新方式不做具体限定。
步骤305:根据IPv4地址和更新后的IPv6地址,将网络端口配置为具有双栈地址的双栈端口。
也就是说,当存在地址冲突时,对生成的IPv6地址进行了更新,从而根据IPv4地址和更新后的IPv6地址,将网络端口配置为具有双栈地址的双栈端口。其中,该双栈地址包括:IPv4地址和更新后的IPv6地址。
步骤306:根据IPv4地址和生成的IPv6地址,将网络端口配置为具有双栈地址的双栈端口。
也就是说,当不存在地址冲突时,直接根据IPv4地址和生成的IPv6地址,将网络端口配置为具有双栈地址的双栈端口。其中,双栈地址包括IPv4地址和生成的IPv6地址。
与现有技术相比,本实施方式中,考虑到IPv6地址不是动态分配的,而是根据IPv4地址生成的,生成的IPv6地址可能存在地址冲突的可能,因此,在生成IPv6地址后,如果确定生成的IPv6地址与正在使用的地址存在地址冲突,则对生成的IPv6地址进行更新,获取更新后的IPv6地址,使得最终确定的双栈地址中的IPv6地址与正在使用的地址不存在地址冲突的情况。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第四实施方式涉及一种服务器,如图4所示,包括至少一个处理器401;以及,与至少一个处理器401通信连接的存储器402;其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401能够执行第一至第三实施方式中的双栈地址的配置方法。
其中,存储器402和处理器401采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器401和存储器402的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器401处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器401。
处理器401负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器402可以被用于存储处理器401在执行操作时所使用的数据。
本发明第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (7)

1.一种双栈地址的配置方法,其特征在于,包括:
获取网络端口的IPv4地址;
根据所述网络端口的IPv4地址,生成所述网络端口的IPv6地址;
根据所述IPv4地址和所述IPv6地址,将所述网络端口配置为具有双栈地址的双栈端口;
其中,所述根据所述网络端口的IPv4地址,生成所述网络端口的IPv6地址,包括:
确定所述IPv4地址所在的网络端口对应的IPv6网段;
根据所述IPv6网段以及所述IPv4地址的后预设位,生成所述网络端口的IPv6地址;
所述后预设位为后16位,所述IPv6地址的后16位利用所述IPv4地址的后16位填充;
所述网络端口为新创建的第一网络端口;所述获取网络端口的IPv4地址,包括:
获取为所述第一网络端口动态分配的IPv4地址;
在所述根据所述IPv4地址和所述IPv6地址,将所述网络端口配置为具有双栈地址的双栈端口之后,还包括:
创建关联所述第一网络端口的第一虚拟机,并将所述IPv6地址写入所述第一虚拟机的操作系统;
对动态分配的所述IPv4地址进行静态化处理。
2.根据权利要求1所述的双栈地址的配置方法,其特征在于,在所述根据所述网络端口的IPv4地址,生成所述网络端口的IPv6地址之后,还包括:
确定生成的所述IPv6地址与正在使用的地址是否存在地址冲突;
若确定存在地址冲突,则对生成的所述IPv6地址进行更新,获取更新后的IPv6地址;
所述根据所述IPv4地址和所述IPv6地址,将所述网络端口配置为具有双栈地址的双栈端口,包括:
根据所述IPv4地址和所述更新后的IPv6地址,将所述网络端口配置为具有双栈地址的双栈端口。
3.根据权利要求1所述的双栈地址的配置方法,其特征在于,所述对动态分配的所述IPv4地址进行静态化处理,包括:
生成用于进行IPv4地址静态化的定制化脚本;
运行所述定制化脚本,对动态分配的所述IPv4地址进行静态化处理。
4.根据权利要求3所述的双栈地址的配置方法,其特征在于,运行所述定制化脚本,对动态分配的所述IPv4地址进行静态化处理,包括:
将所述第一虚拟机的网卡的启动地址协议设置为静态模式;
关闭所述第一虚拟机的网卡的网络管理器Network Manager服务;
从所述第一虚拟机的操作系统中获取所述第一虚拟机的网卡的IP地址和子网掩码地址,并将所述IP地址和子网掩码地址写入网卡配置文件中;其中,所述IP地址为所述动态分配的IPv4地址;
重启所述第一虚拟机的网卡,得到静态化处理后的IPv4地址。
5.根据权利要求1所述的双栈地址的配置方法,其特征在于,所述网络端口为已配置有IPv4地址的第二网络端口,所述第二网络端口为已分配至用户的第二虚拟机的网络端口;
所述获取网络端口的IPv4地址,包括:
从所述第二虚拟机的操作系统中读取所述第二网络端口的IPv4地址;
在所述根据所述IPv4地址和所述IPv6地址,将所述网络端口配置为具有双栈地址的双栈端口之后,还包括:
将所述IPv6地址,配置到所述第二虚拟机的网卡。
6.一种服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至5中任一所述的双栈地址的配置方法。
7.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的双栈地址的配置方法。
CN202010411108.5A 2020-05-15 2020-05-15 双栈地址的配置方法、服务器和可读存储介质 Active CN111600972B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010411108.5A CN111600972B (zh) 2020-05-15 2020-05-15 双栈地址的配置方法、服务器和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010411108.5A CN111600972B (zh) 2020-05-15 2020-05-15 双栈地址的配置方法、服务器和可读存储介质

Publications (2)

Publication Number Publication Date
CN111600972A CN111600972A (zh) 2020-08-28
CN111600972B true CN111600972B (zh) 2023-04-07

Family

ID=72189747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010411108.5A Active CN111600972B (zh) 2020-05-15 2020-05-15 双栈地址的配置方法、服务器和可读存储介质

Country Status (1)

Country Link
CN (1) CN111600972B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111818197A (zh) * 2020-08-31 2020-10-23 四川新网银行股份有限公司 一种虚拟机IPv6地址自动分配方法
CN113852573A (zh) * 2021-10-18 2021-12-28 杭州安恒信息技术股份有限公司 一种容器跨宿主机的通信方法、装置、设备及介质
CN114221929A (zh) * 2021-11-04 2022-03-22 招银云创信息技术有限公司 地址转换方法、装置、设备、介质和计算机程序产品
CN114070818B (zh) * 2021-11-17 2024-04-02 山石网科通信技术股份有限公司 网站访问系统、方法和装置
CN115190109A (zh) * 2022-07-12 2022-10-14 中国工商银行股份有限公司 IPv6地址配置方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176164A (ja) * 2009-01-27 2010-08-12 Seiko Epson Corp サーバー及びデータ受信方法
CN102938940A (zh) * 2012-11-02 2013-02-20 中兴通讯股份有限公司 一种无线数据终端及其支持IPv4/IPv6双栈的方法
CN109005251A (zh) * 2018-08-01 2018-12-14 深圳市天威视讯股份有限公司 用于双栈机顶盒的IPv6地址获取方法和系统
CN110213391A (zh) * 2019-07-12 2019-09-06 腾讯科技(深圳)有限公司 一种网络协议地址的配置方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8909812B2 (en) * 2009-06-03 2014-12-09 China Mobile Group Beijing Co., Ltd. Method and device for communication for host device with IPv4 application
JP6040711B2 (ja) * 2012-10-31 2016-12-07 富士通株式会社 管理サーバ、仮想マシンシステム、プログラム及び接続方法
US10498694B2 (en) * 2017-06-30 2019-12-03 Microsoft Technology Licensing, Llc Mapping IPv4 knowledge to IPv6

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176164A (ja) * 2009-01-27 2010-08-12 Seiko Epson Corp サーバー及びデータ受信方法
CN102938940A (zh) * 2012-11-02 2013-02-20 中兴通讯股份有限公司 一种无线数据终端及其支持IPv4/IPv6双栈的方法
CN109005251A (zh) * 2018-08-01 2018-12-14 深圳市天威视讯股份有限公司 用于双栈机顶盒的IPv6地址获取方法和系统
CN110213391A (zh) * 2019-07-12 2019-09-06 腾讯科技(深圳)有限公司 一种网络协议地址的配置方法及装置

Also Published As

Publication number Publication date
CN111600972A (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
CN111600972B (zh) 双栈地址的配置方法、服务器和可读存储介质
US11960430B2 (en) Remote mapping method, apparatus and device for computing resources, and storage medium
US8331263B2 (en) Discovery of network nodes and routable addresses
CN109981493B (zh) 一种用于配置虚拟机网络的方法和装置
CN109558212B (zh) 一种物理设备的虚拟化管理方法、系统、物理设备及介质
US9614789B2 (en) Supporting multiple virtual switches on a single host
US11928493B2 (en) Sharing of FPGA board by multiple virtual machines
CN111404753A (zh) 一种扁平网络配置方法、计算机设备及存储介质
CN108347472B (zh) Ip地址的配置方法、云服务器、云平台及可读存储介质
CN104077239A (zh) Ip硬盘与存储系统,及其数据操作方法
EP3528116A1 (en) Operating method for storage device, and physical server
CN109088957B (zh) Nat规则管理的方法、装置和设备
CN114285695B (zh) 通信方法、装置、设备、系统和存储介质
CN110688237A (zh) 转发报文的方法、中间设备和计算机设备
JP6448012B2 (ja) 仮想マシン名を表示するための方法、装置、およびシステム
CN104571934A (zh) 一种内存访问的方法、设备和系统
CN105827496A (zh) 管理pe设备的方法及装置
US20200021862A1 (en) Multimedia streaming and routing apparatus and operation method of the same
CN112860595B (zh) Pci设备或pcie设备、数据存取方法及相关组件
CN115333933A (zh) 一种机房上架的服务器的自动管理方法、介质及设备
JP2024523633A (ja) 外部接続機器の通信方法、装置、電子機器及び記憶媒体
CN113472823A (zh) 一种服务器访问方法、装置、智能终端及存储介质
EP4451642A1 (en) Address space recommendation method and apparatus, and related device
US20230319531A1 (en) Network system and network slice generation method
CN116302252A (zh) 一种ros2节点远程控制方法及系统

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
GR01 Patent grant
GR01 Patent grant