CN108696601A - 检测计算机网络中的硬件地址冲突 - Google Patents
检测计算机网络中的硬件地址冲突 Download PDFInfo
- Publication number
- CN108696601A CN108696601A CN201810272351.6A CN201810272351A CN108696601A CN 108696601 A CN108696601 A CN 108696601A CN 201810272351 A CN201810272351 A CN 201810272351A CN 108696601 A CN108696601 A CN 108696601A
- Authority
- CN
- China
- Prior art keywords
- hardware address
- address
- network equipment
- target
- target hardware
- 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.)
- Withdrawn
Links
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/5046—Resolving address allocation conflicts; Testing of addresses
-
- 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
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
总体上,描述了用于检测计算机网络的网络设备中的重复硬件地址的技术。第一网络设备可以发送指定目标硬件地址的请求。如果第二网络设备接收到请求并且确定目标硬件地址与第二网络设备的硬件地址相匹配,则第二网络设备发送指示目标硬件地址的响应。否则,第二网络设备不发送对请求的响应。如果第一网络设备没有接收到指定目标硬件地址的响应,则第一网络设备确定目标硬件地址可用。如果第一网络设备接收到指定目标硬件地址的响应,则第一网络设备确定目标硬件地址不可用。
Description
技术领域
本发明涉及计算机网络,并且更具体地涉及用于由计算机网络内的网络设备使用的硬件地址。
背景技术
计算机网络是交换数据和共享资源的互连计算设备的集合。在诸如以太网等一些网络中,每个网络设备分配有唯一的硬件地址,诸如媒体访问控制(MAC)地址。连接到网络的每个网络设备可以接收在网络上发送的帧,但是网络设备忽略该帧,除非该帧的目的地地址字段指定了与网络设备的硬件地址相匹配的硬件地址,或者除非该帧的目的地址字段指定了与专用广播地址相匹配的硬件地址。在网络上发送帧的网络设备在帧的源地址字段中指定其自己的硬件地址。通常,硬件地址在网络设备制造时分配给网络设备。分配给网络设备的硬件地址通常是不可变的。
网络设备经常使用地址解析协议(ARP)来确定连接到网络的其他网络设备的硬件地址。在ARP中,请求网络设备发送具有指定广播地址的目的地址字段并且具有指定诸如因特网协议(IP)地址等较高层协议的地址(即,协议地址)的有效载荷的帧。如果网络上的另一网络设备与指定的协议地址相关联,则另一网络设备发送指定另一网络设备的硬件地址的响应。以这种方式,请求网络设备可以建立协议地址和硬件地址的映射。
发明内容
总体上,描述了用于检测计算机网络中的硬件地址冲突的技术。尽管在网络设备的制造期间分配的诸如媒体访问控制(MAC)地址等硬件地址通常是唯一的,但是存在出现重复硬件地址的情况。例如,可能希望向虚拟机(VM)分配硬件地址,使得VM可以在网络上交互,就好像它们是在制造期间分配了硬件地址的物理机器一样。然而,向VM分配硬件地址的系统可能向VM分配硬件地址,而不管硬件地址是否已经(例如,在制造期间)被分配给连接到网络的另一网络设备。具有相同硬件地址(例如,两个本地管理的MAC地址)的两个网络设备在同一网络上的存在可能导致各种问题,诸如两个独立的网络设备对预期仅针对一个网络设备的消息作出响应。
本公开描述了可以检测网络中存在重复硬件地址的协议。例如,请求网络设备可以在网络上发送帧。帧可以包括目的地地址字段和有效载荷。帧的目的地地址字段可以指定广播地址。有效载荷可以包括指定目标硬件地址的请求消息。如果目标硬件地址与响应网络设备(即,连接到网络的另一网络设备)的硬件地址不匹配,则响应网络设备可以忽略请求消息。
然而,响应于确定请求消息指定分配给响应网络设备的硬件地址,响应网络设备可以在网络上发送帧。由响应网络设备发送的帧可以包括包含响应消息的有效载荷。响应消息指定目标硬件地址。基于接收到指定目标硬件地址的响应消息,请求网络设备确定目标硬件地址不可用。相应地,在一些示例中,请求网络设备可以选择另一目标硬件地址。然而,如果请求网络设备没有接收到指定目标硬件地址的响应消息,则请求网络设备确定目标硬件地址可用。
在一个示例中,本公开描述了一种用于检测计算机网络中的硬件地址冲突的方法,该方法包括:由网络设备确定目标硬件地址;由网络设备在网络上发送请求消息,请求消息指定目标硬件地址;由网络设备确定网络设备是否已经在时间限制内接收到指定目标硬件地址的响应消息;以及响应于确定网络设备已经在时间限制内接收到指定目标硬件地址的响应消息,确定目标硬件地址不可用。
在另一示例中,本公开描述了一种用于检测计算机网络中的硬件地址冲突的方法,该方法包括:由网络设备接收指定目标硬件地址的请求消息;由网络设备确定目标硬件地址是否与网络设备的硬件地址相匹配;并且响应于确定目标硬件地址与网络设备的硬件地址相匹配,由网络设备发送指定目标硬件地址的响应消息。
在另一示例中,本公开描述了一种网络设备,其包括:网络接口控制器(NIC);以及实现一个或多个处理器的处理电路,一个或多个处理器被配置为:确定目标硬件地址;在网络上发送请求消息,请求消息指定目标硬件地址;确定网络设备是否已经在时间限制内接收到指定目标硬件地址的响应消息;以及响应于确定网络设备已经在时间限制内接收到指定目标硬件地址的响应消息,确定目标硬件地址不可用。
在另一示例中,本公开描述了一种网络设备,其包括:网络接口控制器(NIC);以及实现一个或多个处理器的处理电路,一个或多个处理器被配置为:接收指定目标硬件地址的请求消息;确定目标硬件地址是否与网络设备的硬件地址相匹配;以及响应于确定目标硬件地址与网络设备的硬件地址相匹配,发送指定目标硬件地址的响应消息。
在附图和下面的描述中阐述了这些技术的一个或多个实施例的细节。这些技术的其他特征、目的和优点根据说明书、附图和权利要求将是清楚的。
附图说明
图1是示出本地网络设备在其中实现本公开的硬件地址冲突检测技术的示例网络系统的框图;
图2是示出根据本公开的一个或多个技术的示例重复MAC地址检测(DMAD)分组格式的框图;
图3是示出根据本公开的一个或多个技术的可以用于DMAD的示例地址解析协议(ARP)分组格式的框图;
图4是示出根据本公开的一个或多个技术的请求网络设备的示例操作的流程图;
图5A是示出根据本公开的一个或多个技术的请求网络设备与响应网络设备之间用于实现DMAD协议的示例交互的流程图;
图5B是示出图5A的示例交互的继续的流程图;以及
图5C是示出图5A的示例交互的继续的流程图。
具体实施方式
图1是示出本地网络设备12在其中实现本公开的硬件地址冲突检测技术的示例性网络系统10的框图。如图1所示,网络系统10包括本地网络设备12、网络14和远程网络设备16A至16N(统称为“远程网络设备16”)。本地网络设备12在本公开的上下文中是“本地的”,因为本公开将本地网络设备12描述为本公开的硬件地址冲突检测技术的发起设备。类似地,远程网络设备16在本公开的上下文中是“远程的”,因为远程网络设备16远离本地网络设备12。
本地网络设备12可以包括各种类型的计算设备。例如,本地网络设备12可以包括服务器计算机、刀片服务器、个人计算机、移动计算设备(例如,平板电脑、智能手机)、中间网络设备(例如,路由器、网关、入侵检测设备)或另一类型的网络配备的计算设备。远程网络设备16每个可以包括相似类型的网络配备的计算设备。
网络14可以包括促进本地网络设备12与远程网络设备16之间的通信的各种设备和网络链路。例如,网络14可以包括一个或多个集线器、中继器和/或交换机。网络14包括支持到连接到网络14的所有网络设备的广播通信并且依赖于具有唯一地址的每个设备的以太网或其他类型的网络。为了便于解释,本公开主要讨论网络14作为以太网。
如图1的示例所示,本地网络设备12包括网络接口控制器(NIC)18。NIC 18包括将本地网络设备12连接到网络14的计算机硬件组件。在一些示例中,NIC 18被内置到本地网络设备12的母板中。NIC 18具有NIC硬件地址20。例如,物理硬件地址20可以存储在NIC 18的存储器单元(例如,只读存储器(ROM)单元、可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM))中。NIC硬件地址20可以是媒体访问控制(MAC)地址。NIC 18的制造方可以在NIC 18的制造期间向NIC 18分配硬件地址20。通常,NIC的硬件地址在NIC的寿命期间不改变,并且在一些情况下可能是不可变的。然而,在一些示例中,NIC硬件地址20可以改变。在一些示例中,NIC硬件地址20可以是由本公开的硬件地址非重复技术验证的硬件地址。
当在网络14上通信时,网络设备可以发送指定源地址、目的地地址、有效载荷协议类型字段和有效载荷的消息(以下称为“帧”)。帧的源地址是发送网络设备的硬件地址。在帧中发送源地址可以允许接收网络设备通过将帧发回给初始发送设备来进行响应。帧的目的地址标识帧的预期接收方。目的地地址可以是广播地址(例如,ff:ff:ff:ff:ff),其指示网络上的所有网络设备都是帧的预期接收方。帧的有效载荷协议类型字段标识帧的有效载荷的通信协议。在以太网的上下文中,有效载荷协议类型字段可以被称为EtherType(以太类型)字段。例如,有效载荷协议类型字段可以指示有效载荷用地址解析协议(ARP)、互联网协议(IP)、IPSec协议或另一类型的通信协议被格式化。
此外,如图1的示例所示,本地网络设备12可以包括虚拟机(VM)主机软件22。VM主机软件22可以包括托管VM 24的各种类型的软件系统。例如,VM主机软件22可以包括操作系统。在另一示例中,VM主机软件22可以包括管理程序。
每个VM 24是相应计算机系统的模拟。由于每个VM 24模拟相应的计算机系统,所以每个VM 24应当具有用于在网络14上通信时使用的相应硬件地址。因此,硬件地址分配模块(HAAM)26可以向每个相应的VM 24分配相应的虚拟硬件地址28。随后,当NIC 18接收到指定VM的虚拟硬件地址作为目的地地址的帧时,VM主机软件22接受帧并且将帧转发给VM。当VM生成用于在网络14上传输的帧时,帧指定VM的虚拟硬件地址作为帧的源地址。VM主机软件22然后将帧传递给NIC 18用于在网络14上传输。
在NIC的制造期间分配的硬件地址通常是唯一的(至少在区域上),因为这样的硬件地址通常包括与制造方相对应的前缀,并且制造方不会对其自己的产品复用硬件地址。然而,对于虚拟硬件地址28可能没有这样的保证。换言之,当将VM 24视为不同的网络设备时,可能不能保证两个网络设备不具有相同的硬件地址。例如,HAAM 26可以分配虚拟硬件地址28,使得每个虚拟硬件地址不同,但是可能发生远程网络设备16之一具有与分配给VM24的虚拟硬件地址28之一相匹配的硬件地址。在同一网络上具有硬件地址相同的两个网络设备可能会导致严重问题。例如,两个网络设备可能会对同一帧进行响应,导致混淆错误。
本公开描述了可以克服与虚拟硬件地址的分配的可能性相关联的某些问题的技术。特别地,本公开描述了用于确定网络上是否存在声称相同硬件地址的多个网络设备的技术。
在一个示例中,HAAM 26可以运行重复MAC地址检测(DMAD)协议。在第一步骤中,HAAM 26生成指定NIC硬件地址20和目标硬件地址的请求消息。如本公开中的其他部分提及的,NIC硬件地址20可以在本地网络设备12的NIC 18的制造时被分配给NIC 18。目标硬件地址可以是HAAM 26计划分配给VM 24之一的硬件地址。然后,HAAM 26指示NIC 18在网络14上发送包括请求消息并且具有指定广播地址的目的地地址字段的帧。因此,连接到网络14的每个网络设备(例如,远程网络设备16,已经配置的VM 24)可以接收和接受帧。在一些示例中,帧的源硬件地址字段可以指定从互联网号码分配机构(IANA)预留的用于与DMAD一起使用的单播硬件地址。
响应于接收到帧,网络设备确定在请求消息中指定的目标硬件地址是否与网络设备的硬件地址相匹配。在VM的情况下,VM就好像分配给VM的虚拟硬件地址是VM的硬件地址一样行动。因此,VM像非虚拟网络设备那样对请求消息进行响应。
响应于确定在请求消息中指定的目标硬件地址与网络设备的硬件地址相匹配,网络设备生成响应消息。响应消息指定目标硬件地址。网络设备然后在网络14上发送包括响应消息的帧。在一些示例中,帧的目的地硬件地址指定广播地址。在一些示例中,帧的目的地硬件地址指定在请求消息中指定的NIC硬件地址(即,NIC硬件地址20)。在一些示例中,帧的源硬件地址字段可以指定从IANA预留的用于与DMAD一起使用的单播硬件地址。
另一方面,响应于确定在请求消息中指定的目标硬件地址与网络设备的分配的硬件地址不匹配,网络设备不生成响应消息。如果HAAM 26没有接收到指定目标硬件地址的响应消息,则HAAM 26可以确定目标硬件地址可用并且可以将目标硬件地址分配给VM。另一方面,如果HAAM 26接收到指定目标硬件地址的响应消息,则HAAM 26可以选择新的虚拟硬件地址并且以新的虚拟硬件地址作为目标硬件地址来执行上述过程。
因此,在图1的示例中,网络设备(例如,本地网络设备12)可以确定第一目标硬件地址(例如,MAC地址)。另外,网络设备可以在网络14上发送第一请求消息,第一请求消息指定目标硬件地址。网络设备可以确定网络设备是否已经在时间限制内接收到指定第一目标硬件地址的第一响应消息。响应于确定网络设备已经在时间限制内接收到指定第一目标硬件地址的响应消息,网络设备确定第一目标硬件地址不可用。此外,在一些示例中,网络设备可以确定第二目标硬件地址并且在网络上发送第二请求消息。第二请求消息指定第二目标硬件地址。在这个示例中,网络设备可以确定网络设备是否已经在时间限制内接收到指定第二目标硬件地址的响应消息。响应于确定网络设备没有在时间限制内接收到指定第二目标硬件地址的响应消息,网络设备可以确定第二目标硬件地址可用。基于第二目标硬件地址可用,网络设备可以将第二目标硬件地址分配给物理或虚拟机器,诸如VM(例如,VM 24之一)。
此外,在图1的示例中,网络设备(例如,本地网络设备12、远程网络设备16之一)可以接收指定第一目标硬件地址(例如,MAC地址)的第一请求消息,并且可以确定第一目标硬件地址是否与网络设备的硬件地址相匹配。响应于确定第一目标硬件地址与网络设备的硬件地址相匹配,网络设备可以发送指定第一目标硬件地址的响应消息。此外,在一些示例中,网络设备可以接收指定第二目标硬件地址的第二请求消息,并且可以确定第二目标硬件地址是否与网络设备的硬件地址相匹配。响应于确定第二目标硬件地址与网络设备的硬件地址不匹配,网络设备不发送任何消息对第二请求消息进行响应。
在图1的示例中,本地网络设备12可以包括数据库30。数据库30可以存储连接到网络14的网络设备的指示硬件地址。VM主机软件24(例如,HAAM 26)可以响应于接收到指定硬件地址的响应消息,响应于成功地向VM 24之一分配硬件地址,或者响应于其他事件来向数据库30添加指定硬件地址的条目。此外,在一些示例中,响应消息可以包括设备标识符。设备标识符可以包括标识发送响应的网络设备的字符串。数据库30中的条目可以将这样的设备标识符映射到硬件地址。
图2是示出根据本公开的一个或多个技术的示例重复MAC地址检测(DMAD)分组格式的框图。在图2的示例中,请求消息和响应消息可以具有相同的格式。因此,在图2的示例中,消息50可以包括操作码字段52、发送方硬件地址字段54、设备标识符字段56和目标硬件地址字段58。
操作码字段52指定操作码。操作码指定消息50是DMAD请求还是DMAD响应。例如,操作码的第一值指定消息50是DMAD请求,并且操作码的不同的第二值指定消息50是DMAD响应。
在DMAD请求中,发送方硬件地址字段54指定发送DMAD请求的网络设备(例如,本地网络设备12)的NIC硬件地址,例如,NIC硬件地址20(图1)。设备标识符字段56可以指定发送消息50的网络设备的设备标识符。在一些示例中,设备标识符字段56从消息50中省略。设备标识符可以是人或设备可以用来标识发送消息50的网络设备的掩码(opaque)字符串。例如,设备标识符可以指定诸如“RACK_01_BLADE_12”等字符串。目标硬件地址字段58可以指定目标硬件地址。在消息50是DMAD请求的情况下,目标硬件地址字段58可以指定被建议分配给VM的硬件地址。在消息50是DMAD响应的情况下,目标硬件地址字段58可以指定发送DMAD响应的网络设备的硬件地址。
图3是示出根据本公开的一个或多个技术的可以用于DMAD的示例地址解析协议(ARP)分组格式的框图。ARP是用于基于已知协议地址(例如,IP地址)来解析MAC地址的通常实现的协议。根据本公开的技术,可以修改实现ARP的模块(例如,实现ARP的硬件和/或软件)以使用根据ARP构造的分组来执行DMAD。
因此,请求消息和响应消息可以符合ARP格式。此外,网络设备(例如,本地网络设备14)可以发送或接收包括请求消息或响应消息的帧(例如,以太网帧),该帧具有指定与ARP相对应的值的有效载荷协议字段(例如,EtherType字段)。
如图3所示,ARP分组100包括硬件地址空间字段102(缩写为“HRD”)、协议地址空间字段104(缩写为“PRO”)、硬件地址长度字段106(缩写为“HLN”)、协议地址长度字段108(缩写为“PLN”)、操作码字段110(缩写为“OP”)、包括发送方硬件地址字段112(缩写为“SHA”)的多达三个2字节字段112A至112C、包括发送方协议地址字段114(缩写为“SPA”)的多达两个2字节字段114A至114B、包括目标硬件地址字段116(缩写为“THA”)的多达三个2字节字段116A至116C、以及包括目标协议地址字段118(缩写为“TPA”)的多达两个2字节字段118A至118B。目标地址空间字段102也可以被称为硬件类型(HTYPE)字段。协议地址空间字段104也可以被称为协议类型(PTYPE)字段。
根据本公开的技术,可以为硬件地址空间字段102定义新的值,例如,“DMAD-over-Ethernet”(“以太网上的DMAD”),其将ARP分组100标识为属于DMAD。协议地址空间字段104、硬件地址长度字段106和协议地址长度字段108的语义可以与在ARP中的相同。例如,协议地址空间字段104可以指定ARP请求预期针对的协议。例如,值0x0800可以指定IPv4。协议地址空间104的许可值可以与用于EtherType的那些空间共享编号空间。硬件地址长度字段106指定硬件地址的八位字节的长度。以太网地址(例如,MAC地址)的长度为6个八位字节。协议地址长度字段108指定由协议地址空间字段104指定的上层协议中使用的地址的八位字节的长度。
根据本公开的技术,可以定义操作码字段110的新的值以指示DMAD请求(mac-verify_req)和DMAD响应(mac_verify_resp)。此外,发送方硬件地址字段112指定ARP分组100的发送方的硬件地址。例如,如果ARP分组100是DMAD请求,则发送方硬件地址字段112可以指定发送网络设备(例如,本地网络设备12(图1))的NIC硬件地址(例如,NIC硬件地址20(图1))。如果ARP分组100是DMAD响应,则发送方硬件地址字段112可以指定发送网络设备(例如,远程网络设备16之一(图1))的硬件地址。
此外,发送方协议地址字段114可以指定发送ARP分组100的网络设备的设备标识符。如上所指示的,网络设备的设备标识符可以包括可以用于标识网络设备的掩码字符串。
目标硬件地址字段116指定目标硬件地址。例如,如果ARP分组100是DMAD请求,则目标硬件地址可以是发送DMAD请求的网络设备正在确定可用性的硬件地址。在极少数情况下,多个网络设备可以具有相同的NIC硬件地址。此外,具有特定硬件地址的网络设备可以在这个特定硬件地址已经作为虚拟硬件地址被成功地分配给网络上的VM(例如,VM 24之一(图1))之后加入网络,例如,网络14(图1)。因此,为了避免与在网络上具有硬件地址相同的多个设备相关联的问题,网络设备可以在发送方硬件地址字段112和目标硬件地址字段116两者中发送指定其NIC硬件地址的DMAD请求。
在DMAD请求和DMAD响应两者中,目标协议地址字段118可以是未定义的。在DMAD响应中,目标硬件地址字段116可以是未定义的。因此,DMAD请求消息可以包括16位硬件地址空间字段、16位协议地址空间字段、8位硬件地址长度字段、8位协议地址长度字段、16位操作码字段、n位发送方硬件地址字段、m位发送方协议地址字段,n位目标硬件地址字段和m位目标协议地址字段。在这个示例中,n由硬件地址长度字段定义,并且m由协议地址长度字段定义。操作码字段可以指定指示请求消息是重复硬件地址检测请求消息的值,并且源硬件地址字段可以指定网络设备的NIC硬件地址。NIC硬件地址可以在网络设备的NIC的制造时被分配给NIC。源协议地址字段可以指定网络设备的设备标识符,并且目标硬件地址字段可以指定目标硬件地址。目标协议地址字段可以是未定义的。类似地,DMAD响应消息可以包括16位硬件地址空间字段、16位协议地址空间字段、8位硬件地址长度字段、8位协议地址长度字段、16位操作码字段、n位发送方硬件地址字段、m位发送方协议地址字段、n位目标硬件地址字段和m位目标协议地址字段,其中n由硬件地址长度字段定义,并且m由协议地址长度字段定义。在DMAD响应中,操作码字段可以指定指示响应消息是重复硬件地址检测响应消息的值,源硬件地址字段可以指定目标硬件地址,并且源协议地址字段可以指定第二网络设备的设备标识符。在DMAD响应中,目标硬件地址字段和目标协议地址字段是未定义的。
图4是示出根据本公开的一个或多个技术的请求网络设备的示例操作的流程图。本公开的流程图作为示例呈现。其他示例可以包括更多的、更少的或不同的动作,或者动作可以并行或以不同的顺序执行。在图1的上下文中,请求网络设备可以是本地网络设备12、任何远程网络设备16、或发送DMAD请求以验证硬件地址的可用性的另一设备。
在图4的示例中,请求网络设备确定目标硬件地址(150)。例如,在请求网络设备不分配虚拟硬件地址,而仅仅验证其自己的硬件地址未被分配给网络上的另一网络设备(例如,虚拟机或其他网络设备)的情况下,确定目标硬件地址可以仅包括读取请求网络设备的NIC的NIC硬件地址。在请求网络设备正在分配硬件地址(例如,将虚拟硬件地址分配给VM)的情况下,请求网络设备可以以各种方式确定目标硬件地址。例如,请求网络设备可以使用伪随机数生成器来确定目标硬件地址。在另一示例中,请求网络设备可以通过递增先前分配的虚拟硬件地址来确定目标硬件地址。
在确定目标硬件地址之后,请求网络设备可以发送DMAD请求消息(152)。DMAD请求消息指定目标硬件地址。例如,在图2的示例中,目标硬件地址字段58可以指定目标硬件地址。在图2的示例中,目标硬件地址字段116可以指定目标硬件地址。
然后请求网络设备可以确定请求网络设备是否已经在时间限制内接收到指定目标硬件地址的DMAD响应消息(154)。在各种示例中,时间限制可以具有各种值。例如,时间限制可以是1秒、2秒或另一时间长度。响应于在时间限制内接收到指定目标硬件地址的DMAD响应消息(154的“是”分支),请求网络设备可以确定目标硬件地址不可用(156)。例如,请求网络设备可以在存储器中设置指示目标硬件地址不可用的值。另外,请求网络设备可以执行地址冲突动作(158)。例如,请求网络设备可以向系统管理员通知重复目标硬件地址。在一些示例中,请求网络设备可以选择不同的目标硬件地址(150)并且发送另一DMAD请求消息(152)。
另一方面,响应于确定请求网络设备没有在时间限制内接收到指定目标硬件地址的DMAD响应消息(154的“否”分支),请求网络设备可以确定是否已经达到尝试限制(158)。在一些示例中,尝试限制等于3或另一值。响应于确定尚未达到尝试限制(158的“否”分支),请求网络设备可以循环并且发送具有相同目标硬件地址的另一DMAD请求消息(152)。然而,响应于确定已经达到尝试限制(158的“是”分支),请求网络设备可以确定目标硬件地址可用(160)。例如,请求网络设备可以在存储器中设置指示目标硬件地址可用的值。因此,在确定目标硬件地址可用之前,请求网络设备可以发送指定目标硬件地址的若干DMAD请求消息。例如,如果尝试限制是3,则在确定目标硬件地址可用之前,请求网络设备可以发送指定目标硬件地址的3个DMAD请求消息。
图5A是示出根据本公开的一个或多个技术的请求网络设备与响应网络设备之间用于实现DMAD协议的示例交互的流程图。在图1的上下文中,请求网络设备可以是本地网络设备12或任何远程网络设备16。同样,在图1的上下文中,响应网络设备可以是本地网络设备12或任何远程网络设备16。
如图5A的示例所示,请求网络设备可以确定目标硬件地址(200)。请求网络设备可以根据在本公开中的其他部分提供的示例来确定目标硬件地址。
另外,请求网络设备可以生成DMAD请求消息(202)。作为生成DMAD请求消息的一部分,请求网络设备可以在DMAD请求消息中包括操作码(204)。操作码可以将消息标识为DMAD请求消息。请求网络设备还可以在DMAD请求消息中包括请求网络设备的NIC硬件地址(206)。例如,在图1的上下文中,请求网络设备可以在DMAD请求消息中包括NIC硬件地址20。请求网络设备可以在发送方硬件地址字段54(图2)或112A(图3)中包括NIC硬件地址。
请求网络设备还可以在DMAD请求消息中包括设备标识符(208)。例如,请求网络设备可以在设备标识符字段56(图2)或发送方协议地址字段114(图3)中包括设备标识符。
此外,请求网络设备可以在DMAD请求消息中包括目标硬件地址(210)。例如,请求网络设备可以在目标硬件地址字段58(图2)或目标硬件地址字段116(图3)中包括目标硬件地址。
请求网络设备然后可以在网络上广播包括DMAD请求消息的帧(例如,以太网帧)(212)。换言之,请求网络设备可以发送包括指定广播地址作为目的地地址的DMAD请求消息的帧。例如,请求网络设备可以在帧的源硬件地址字段中指定从IANA保留的用于与DMAD一起使用的单播硬件地址。随后,响应网络设备可以接收帧(214)。响应网络设备然后可以确定帧是否包括DMAD请求消息(216)。假定帧包括DMAD请求消息,图5A的交互如图5B所示继续(如标记为“A”的圆圈所示)。
图5B是示出图5A的示例交互的继续的流程图。如图5B的示例所示,响应网络设备可以确定DMAD请求消息的目标硬件地址是否与响应网络设备的硬件地址相匹配(250)。响应于确定DMAD请求消息的目标硬件地址与响应网络设备的硬件地址不匹配(250的“否”分支),响应设备不生成DMAD响应消息(252)。
另一方面,响应于确定DMAD请求消息的目标硬件地址与响应网络设备的硬件地址相匹配(250的“是”分支),响应网络设备可以记录DMAD请求消息中指定的设备标识符、NIC硬件地址、和/或目标硬件地址(254)。此外,响应于确定由DMAD请求消息指定的目标硬件地址与响应设备的硬件地址相匹配,响应网络设备可以生成DMAD响应消息(256)。作为生成DMAD响应消息的一部分,响应网络设备可以在DMAD响应消息中包括操作码(258)。操作码指定消息是DMAD响应消息。另外,响应网络设备可以在DMAD响应消息中包括响应设备的设备标识符(260)。例如,响应网络设备可以在设备标识符字段56(图2)或发送方协议地址字段114(图3)中包括设备标识符。响应网络设备还在DMAD响应消息中包括目标硬件地址(262)。换言之,响应网络设备在DMAD响应消息中包括响应网络设备的硬件地址。响应网络设备可以在发送方硬件地址字段54(图2)或发送方硬件地址字段112(图3)中包括目标硬件地址。
响应网络设备然后可以发送包括DMAD响应消息的帧(例如,以太网帧)(264)。在一些示例中,响应网络设备可以广播帧。在一些示例中,帧可以将在DMAD请求消息中指定的NIC硬件地址指定为帧的目的地地址。随后,请求网络设备可以接收帧(266)。图5A和图5B的交互然后在图5C中继续。
图5C是示出图5A的示例交互的继续的流程图。在图5C的示例中,请求网络设备可以确定帧是否包括DMAD响应消息(300)。请求网络设备可以使用操作码字段来确定帧是否包括DMAD响应消息。响应于确定帧不包括DMAD响应消息(300的“否”分支),请求网络设备可以对帧执行一些其他处理,这在本公开内容的范围之外。然而,响应于确定帧包括DMAD响应消息(300的“是”分支),请求网络设备可以确定DMAD响应消息的发送方硬件地址是否与DMAD请求消息的目标硬件地址相匹配(304)。
响应于确定DMAD响应消息的发送方硬件地址与DMAD请求消息的目标硬件地址相匹配(304的“是”分支),请求网络设备可以确定目标硬件地址不可用(306)。响应于确定DMAD响应消息的发送方硬件地址与DMAD请求消息的目标硬件地址不匹配(304的“否”分支),请求网络设备可以不需要采取关于DMAD响应的动作(308)。
然而,在一些示例中,可以记录在DMAD响应消息中指定的设备标识符以及DMAD响应消息的发送方硬件地址/目标硬件地址。以这种方式,请求网络设备可以针对标识符到硬件地址的映射建立数据库设备。此外,当请求网络设备随后确定要分配给VM的硬件地址时,请求网络设备可以检查数据库以确保潜在的目标硬件地址尚未被分配给连接到网络的另一网络设备。这样做可以降低请求网络设备发送指定与连接到网络的网络设备的硬件地址相匹配的目标硬件地址的DMAD请求消息的可能性。因此,在这个示例中,网络设备可以(例如,在确定目标硬件地址之前)接收具有指定广播地址的目的地地址字段并且包括第一响应消息的帧,第一响应消息指定硬件地址。在这个示例中,响应于接收到第一响应消息,网络设备可以将由第一响应消息指定的硬件地址存储在数据库中。另外,在这个示例中,网络设备可以基于数据库中存储的由响应消息指定的硬件地址来确定目标硬件地址,使得目标硬件地址与由响应消息指定的硬件地址不匹配。
如上所述,在一些示例中,网络设备广播DMAD响应消息。因此,每个网络设备接收DMAD响应消息,而不管网络设备是否发送了相应的DMAD请求消息。然而,不管网络设备是否发送了与DMAD响应消息相对应的DMAD请求消息,网络设备仍然可以向数据库添加将由DMAD响应消息指定的设备标识符和目标硬件地址相关联的数据。当随后确定用于分配的目标硬件地址时,网络设备可以使用数据库中的这个信息。这可以进一步降低网络设备确定已经与连接到网络的网络设备相关联的目标硬件地址的可能性。
在一个或多个示例中,所描述的功能可以用硬件、软件、固件或其任何组合来实现。如果以软件实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传输并且由基于硬件的处理单元执行。计算机可读介质可以包括与诸如数据存储介质等有形介质相对应的计算机可读存储介质、或者包括例如根据通信协议促进计算机程序从一处传送到另一处的任何介质的通信介质。以这种方式,计算机可读介质通常可以对应于(1)非暂态的有形计算机可读存储介质或(2)诸如信号或载波等通信介质。数据存储介质可以是可以由一个或多个计算机或一个或多个处理器访问以获取用于实现本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,这样的计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、闪速存储器、或者可以用于以指令或数据结构的形式存储所需程序代码并且可以由计算机访问的任何其他介质。而且,任何连接都被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波等无线技术从网站、服务器或其他远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或者诸如红外线、无线电和微波等无线技术都包括在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他暂态介质,而是针对非暂态有形存储介质。如本文中使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地再现数据,而光盘使用激光来光学地再现数据。上述的组合也应当被包括在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等同的集成或离散逻辑电路。因此,如本文中使用的术语“处理器”可以是指任何前述结构或适用于实施本文中描述的技术的任何其他结构。另外,在一些方面,本文中描述的功能可以在被配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入合并的编解码器中。而且,这些技术可以完全在一个或多个电路或逻辑元件中实现。
本公开的技术可以在包括无线手持机、集成电路(IC)或一组IC(例如,芯片组)在内的各种各样的设备或装置中实现。本公开中描述了各种组件、模块或单元以强调被配置为执行所公开的技术的设备的功能方面,但是不一定需要通过不同的硬件单元来实现。相反,如上所述,可以将各种单元组合在编解码器硬件单元中,或者通过互操作性硬件单元的集合来提供,包括结合合适的软件和/或固件来实现上述的一个或多个处理器的处理电路。
已经描述了这些技术的各种实施例。这些和其他实施例在以下权利要求的范围内。
除了或代替上述内容,描述以下示例。任何以下示例中描述的特征可以与本文中描述的任何示例一起使用。
示例1.一种用于检测计算机网络中的硬件地址冲突的方法,所述方法包括:由网络设备确定目标硬件地址;由所述网络设备在网络上发送请求消息,所述请求消息指定所述目标硬件地址;由所述网络设备确定所述网络设备是否已经在时间限制内接收到指定所述目标硬件地址的响应消息;以及响应于确定所述网络设备已经在所述时间限制内接收到指定所述目标硬件地址的响应消息,确定所述目标硬件地址不可用。
示例2.根据示例1所述的方法,其中所述目标硬件地址是第一目标硬件地址并且所述请求消息是第一请求消息,所述方法还包括:由所述网络设备确定第二目标硬件地址;由所述网络设备在所述网络上发送第二请求消息,所述第二请求消息指定所述第二目标硬件地址;由所述网络设备确定所述网络设备是否已经在所述时间限制内接收到指定所述第二目标硬件地址的响应消息;以及响应于确定所述网络设备在所述时间限制内没有接收到指定所述第二目标硬件地址的响应消息,确定所述第二目标硬件地址可用。
示例3.根据示例2所述的方法,还包括:基于所述第二目标硬件地址可用,向虚拟机分配所述第二目标硬件地址。
示例4.根据示例1所述的方法,其中所述目标硬件地址是媒体访问控制(MAC)地址。
示例5.根据示例1所述的方法,其中发送所述请求消息包括:由所述网络设备发送包括所述请求消息的帧,所述帧具有指定广播地址的目的地地址字段。
示例6.根据示例1所述的方法,其中所述方法还包括:在所述请求消息中包括所述网络设备的网络接口卡(NIC)硬件地址,所述NIC硬件地址是在所述网络设备的NIC的制造时向所述NIC分配的。
示例7.根据示例1所述的方法,其中所述请求消息符合地址解析协议格式。
示例8.根据示例7所述的方法,其中发送所述请求消息包括:由所述网络设备发送包括所述请求消息的以太网帧,所述以太网帧具有指定与所述地址解析协议相对应的值的EtherType字段。
示例9.根据示例7所述的方法,其中:所述请求消息包括16位硬件地址空间字段、16位协议地址空间字段、8位硬件地址长度字段、8位协议地址长度字段、16位操作码字段、n位发送方硬件地址字段、m位发送方协议地址字段、n位目标硬件地址字段和m位目标协议地址字段,n由所述硬件地址长度字段定义,m由所述协议地址长度字段定义,所述操作码字段指定指示所述请求消息是重复硬件地址检测请求消息的值,所述源硬件地址字段指定所述网络设备的网络接口控制器(NIC)硬件地址,所述NIC硬件地址是在所述网络设备的NIC的制造时向所述NIC分配的,所述源协议地址字段指定所述网络设备的设备标识符,所述目标硬件地址字段指定所述目标硬件地址,以及所述目标协议地址字段未定义。
示例10.根据示例7所述的方法,其中所述响应消息符合所述地址解析协议格式。
示例11.根据示例10所述的方法,其中:所述网络设备是第一网络设备,所述响应消息包括16位硬件地址空间字段、16位协议地址空间字段、8位硬件地址长度字段、8位协议地址长度字段、16位操作码字段、n位发送方硬件地址字段、m位发送方协议地址字段、n位目标硬件地址字段和m位目标协议地址字段,n由所述硬件地址长度字段定义,m由所述协议地址长度字段定义,所述操作码字段指定指示所述响应消息是重复硬件地址检测响应消息的值,所述源硬件地址字段指定所述目标硬件地址,所述源协议地址字段指定第二网络设备的设备标识符,以及所述目标硬件地址字段和所述目标协议地址字段未定义。
示例12.根据示例1所述的方法,其中:所述响应消息是第二响应消息,所述方法还包括在确定所述目标硬件地址之前:由所述网络设备接收具有指定广播地址的目的地址字段并且包括第一响应消息的帧,所述第一响应消息指定硬件地址;响应于接收到所述第一响应消息,由所述网络设备将由所述第一响应消息指定的硬件地址存储在数据库中;以及确定所述目标硬件地址包括由所述网络设备基于所述数据库中存储的、所述响应消息指定的硬件地址来确定所述目标硬件地址,使得所述目标硬件地址与由所述响应消息指定的硬件地址不匹配。
示例13.一种用于检测计算机网络中的硬件地址冲突的方法,所述方法包括:由网络设备接收指定目标硬件地址的请求消息;由所述网络设备确定所述目标硬件地址是否与所述网络设备的硬件地址相匹配;以及响应于确定所述目标硬件地址与所述网络设备的硬件地址相匹配,由所述网络设备发送指定所述目标硬件地址的响应消息。
示例14.根据示例13所述的方法,其中所述请求消息是第一请求消息并且所述目标硬件地址是第一目标硬件地址,所述方法还包括:由所述网络设备接收指定第二目标硬件地址的第二请求消息;由所述网络设备确定所述第二目标硬件地址是否与所述网络设备的硬件地址相匹配;以及响应于确定所述第二目标硬件地址与所述网络设备的硬件地址不匹配,由所述网络设备不发送任何消息对所述第二请求消息进行响应。
示例15.根据示例13所述的方法,其中所述目标硬件地址是媒体访问控制(MAC)地址。
示例16.根据示例13所述的方法,其中接收所述请求消息包括由所述网络设备接收具有指定广播地址的目的地地址字段的帧。
示例17.根据示例13所述的方法,其中发送所述响应消息包括由所述网络设备接收具有指定广播地址的目的地地址字段的帧。
示例18.根据示例13所述的方法,其中所述请求消息符合地址解析协议格式。
示例19.根据示例18所述的方法,其中接收所述请求消息包括:由所述网络设备接收包括所述请求消息的以太网帧,所述以太网帧具有指定与所述地址解析协议相对应的值的EtherType字段。
示例20.根据示例13所述的方法,其中:所述网络设备是第一网络设备,所述请求消息包括16位硬件地址空间字段、16位协议地址空间字段、8位硬件地址长度字段、8位协议地址长度字段、16位操作码字段、n位发送方硬件地址字段、m位发送方协议地址字段、n位目标硬件地址字段和m位目标协议地址字段,n由所述硬件地址长度字段定义,m由所述协议地址长度字段定义,所述操作码字段指定指示所述请求消息是重复硬件地址检测请求消息的值,所述源硬件地址字段指定第二网络设备的网络接口控制器(NIC)硬件地址,所述NIC硬件地址是在所述第二网络设备的NIC的制造时向所述NIC分配的,所述源协议地址字段指定所述第二网络设备的设备标识符,所述目标硬件地址字段指定所述目标硬件地址,以及所述目标协议地址字段未定义。
示例21.根据示例13所述的方法,其中所述响应消息符合所述地址解析协议格式。
示例22.根据示例21所述的方法,其中:所述响应消息包括16位硬件地址空间字段、16位协议地址空间字段、8位硬件地址长度字段、8位协议地址长度字段、16位操作码字段、n位发送方硬件地址字段、m位发送方协议地址字段、n位目标硬件地址字段和m位目标协议地址字段,n由所述硬件地址长度字段定义,m由所述协议地址长度字段定义,所述操作码字段指定指示所述响应消息是重复硬件地址检测响应消息的值,所述源硬件地址字段指定所述目标硬件地址,所述源协议地址字段指定所述网络设备的设备标识符,以及所述目标硬件地址字段和所述目标协议地址字段未定义。
示例23.一种网络设备,包括:网络接口控制器(NIC);以及实现一个或多个处理器的处理电路,所述一个或多个处理器被配置为:确定目标硬件地址;在网络上发送请求消息,所述请求消息指定所述目标硬件地址;确定所述网络设备是否已经在时间限制内接收到指定所述目标硬件地址的响应消息;以及响应于确定所述网络设备在所述时间限制内接收到指定所述目标硬件地址的响应消息,确定所述目标硬件地址不可用。
示例24.根据示例23所述的网络设备,其中所述目标硬件地址是第一目标硬件地址并且所述请求消息是第一请求消息,所述一个或多个处理器还被配置为:确定第二目标硬件地址;在所述网络上发送第二请求消息,所述第二请求消息指定所述第二目标硬件地址;确定所述网络设备是否已经在时间限制内接收到指定所述第二目标硬件地址的响应消息;以及响应于确定所述网络设备在所述时间限制内没有接收到指定所述第二目标硬件地址的响应消息,确定所述第二目标硬件地址可用。
示例25.根据示例23所述的网络设备,其中所述一个或多个处理器还被配置为:基于所述第二目标硬件地址可用,向虚拟机分配所述第二目标硬件地址。
示例26.根据示例23所述的网络设备,其中所述请求消息和所述响应消息符合地址解析协议格式。
示例27.根据示例23所述的网络设备,还包括数据库,所述响应消息是第二响应消息,所述一个或多个处理器还被配置为在确定所述目标硬件地址之前:接收具有指定广播地址的目的地地址字段并且包括第一响应消息的帧,所述第一响应消息指定硬件地址;响应于接收到所述第一响应消息,将由所述第一响应消息指定的硬件地址存储在所述数据库中;以及其中所述一个或多个处理器被配置,以使得作为确定所述目标硬件地址的一部分,所述一个或多个处理器基于所述数据库中存储的、由所述响应消息指定的硬件地址来确定所述目标硬件地址,使得所述目标硬件地址与由所述响应消息指定的硬件地址不匹配。
示例28.一种网络设备,包括:网络接口控制器(NIC);以及实现一个或多个处理器的处理电路,所述一个或多个处理器被配置为:接收指定目标硬件地址的请求消息;确定所述目标硬件地址是否与所述网络设备的硬件地址相匹配;以及响应于确定所述目标硬件地址与所述网络设备的硬件地址相匹配,发送指定所述目标硬件地址的响应消息。
示例29.根据示例28所述的网络设备,其中所述请求消息是第一请求消息并且所述目标硬件地址是第一目标硬件地址,所述一个或多个处理器还被配置为:接收指定第二目标硬件地址的第二请求消息;确定所述第二目标硬件地址是否与所述网络设备的硬件地址相匹配;以及响应于确定所述第二目标硬件地址与所述网络设备的硬件地址不匹配,不发送任何消息对所述第二请求消息进行响应。
示例30.根据示例28所述的网络设备,其中所述请求消息和所述响应消息符合地址解析协议格式。
示例31.一种编码有指令的计算机可读存储介质,所述指令用于使一个或多个可编程处理器执行由示例1至12或13至22中的任何一项所述的方法。
此外,上述任何示例中阐述的任何特定特征可以组合成所描述的技术的有益示例。也就是说,任何具体特征通常适用于本发明的所有示例。已经描述了本发明的各种示例。
Claims (30)
1.一种用于检测计算机网络中的硬件地址冲突的方法,所述方法包括:
由网络设备确定目标硬件地址;
由所述网络设备在网络上发送请求消息,所述请求消息指定所述目标硬件地址;
由所述网络设备确定所述网络设备是否已经在时间限制内接收到指定所述目标硬件地址的响应消息;以及
响应于确定所述网络设备已经在所述时间限制内接收到指定所述目标硬件地址的响应消息,确定所述目标硬件地址不可用。
2.根据权利要求1所述的方法,其中所述目标硬件地址是第一目标硬件地址,并且所述请求消息是第一请求消息,所述方法还包括:
由所述网络设备确定第二目标硬件地址;
由所述网络设备在所述网络上发送第二请求消息,所述第二请求消息指定所述第二目标硬件地址;
由所述网络设备确定所述网络设备是否已经在所述时间限制内接收到指定所述第二目标硬件地址的响应消息;以及
响应于确定所述网络设备在所述时间限制内没有接收到指定所述第二目标硬件地址的响应消息,确定所述第二目标硬件地址可用。
3.根据权利要求2所述的方法,还包括:
基于所述第二目标硬件地址可用,向虚拟机分配所述第二目标硬件地址。
4.根据权利要求1所述的方法,其中所述目标硬件地址是媒体访问控制(MAC)地址。
5.根据权利要求1所述的方法,其中发送所述请求消息包括:
由所述网络设备发送包括所述请求消息的帧,所述帧具有指定广播地址的目的地地址字段。
6.根据权利要求1所述的方法,其中所述方法还包括:
在所述请求消息中包括所述网络设备的网络接口卡(NIC)硬件地址,所述NIC硬件地址是在所述网络设备的NIC的制造时向所述NIC分配的。
7.根据权利要求1所述的方法,其中所述请求消息符合地址解析协议格式。
8.根据权利要求7所述的方法,其中发送所述请求消息包括:
由所述网络设备发送包括所述请求消息的以太网帧,所述以太网帧具有指定与所述地址解析协议相对应的值的以太类型EtherType字段。
9.根据权利要求7所述的方法,其中:
所述请求消息包括16位硬件地址空间字段、16位协议地址空间字段、8位硬件地址长度字段、8位协议地址长度字段、16位操作码字段、n位发送方硬件地址字段、m位发送方协议地址字段、n位目标硬件地址字段和m位目标协议地址字段,
n由所述硬件地址长度字段定义,
m由所述协议地址长度字段定义,
所述操作码字段指定指示所述请求消息是重复硬件地址检测请求消息的值,
所述源硬件地址字段指定所述网络设备的网络接口控制器(NIC)硬件地址,所述NIC硬件地址是在所述网络设备的NIC的制造时向所述NIC分配的,
所述源协议地址字段指定所述网络设备的设备标识符,
所述目标硬件地址字段指定所述目标硬件地址,以及
所述目标协议地址字段未被定义。
10.根据权利要求7所述的方法,其中所述响应消息符合所述地址解析协议格式。
11.根据权利要求10所述的方法,其中:
所述网络设备是第一网络设备,
所述响应消息包括16位硬件地址空间字段、16位协议地址空间字段、8位硬件地址长度字段、8位协议地址长度字段、16位操作码字段、n位发送方硬件地址字段、m位发送方协议地址字段、n位目标硬件地址字段和m位目标协议地址字段,
n由所述硬件地址长度字段定义,
m由所述协议地址长度字段定义,
所述操作码字段指定指示所述响应消息是重复硬件地址检测响应消息的值,
所述源硬件地址字段指定所述目标硬件地址,
所述源协议地址字段指定第二网络设备的设备标识符,以及
所述目标硬件地址字段和所述目标协议地址字段未被定义。
12.根据权利要求1所述的方法,其中:
所述响应消息是第二响应消息,
所述方法还包括:在确定所述目标硬件地址之前:
由所述网络设备接收具有指定广播地址的目的地址字段、并且包括第一响应消息的帧,所述第一响应消息指定硬件地址;
响应于接收到所述第一响应消息,由所述网络设备将由所述第一响应消息指定的所述硬件地址存储在数据库中;以及
确定所述目标硬件地址包括:由所述网络设备基于所述数据库中存储的、由所述响应消息指定的所述硬件地址,来确定所述目标硬件地址,使得所述目标硬件地址与由所述响应消息指定的所述硬件地址不匹配。
13.一种用于检测计算机网络中的硬件地址冲突的方法,所述方法包括:
由网络设备接收指定目标硬件地址的请求消息;
由所述网络设备确定所述目标硬件地址是否与所述网络设备的硬件地址相匹配;以及
响应于确定所述目标硬件地址与所述网络设备的所述硬件地址相匹配,由所述网络设备发送指定所述目标硬件地址的响应消息。
14.根据权利要求13所述的方法,其中所述请求消息是第一请求消息,并且所述目标硬件地址是第一目标硬件地址,所述方法还包括:
由所述网络设备接收指定第二目标硬件地址的第二请求消息;
由所述网络设备确定所述第二目标硬件地址是否与所述网络设备的所述硬件地址相匹配;以及
响应于确定所述第二目标硬件地址与所述网络设备的所述硬件地址不匹配,由所述网络设备不发送任何消息对所述第二请求消息进行响应。
15.根据权利要求13所述的方法,其中所述目标硬件地址是媒体访问控制(MAC)地址。
16.根据权利要求13所述的方法,其中接收所述请求消息包括:由所述网络设备接收具有指定广播地址的目的地地址字段的帧。
17.根据权利要求13所述的方法,其中发送所述响应消息包括:由所述网络设备接收具有指定广播地址的目的地地址字段的帧。
18.根据权利要求13所述的方法,其中所述请求消息符合地址解析协议格式。
19.根据权利要求18所述的方法,其中接收所述请求消息包括:
由所述网络设备接收包括所述请求消息的以太网帧,所述以太网帧具有指定与所述地址解析协议相对应的值的以太类型EtherType字段。
20.根据权利要求13所述的方法,其中:
所述网络设备是第一网络设备,
所述请求消息包括16位硬件地址空间字段、16位协议地址空间字段、8位硬件地址长度字段、8位协议地址长度字段、16位操作码字段、n位发送方硬件地址字段、m位发送方协议地址字段、n位目标硬件地址字段和m位目标协议地址字段,
n由所述硬件地址长度字段定义,
m由所述协议地址长度字段定义,
所述操作码字段指定指示所述请求消息是重复硬件地址检测请求消息的值,
所述源硬件地址字段指定第二网络设备的网络接口控制器(NIC)硬件地址,所述NIC硬件地址是在所述第二网络设备的NIC的制造时向所述NIC分配的,
所述源协议地址字段指定所述第二网络设备的设备标识符,
所述目标硬件地址字段指定所述目标硬件地址,以及
所述目标协议地址字段未被定义。
21.根据权利要求13所述的方法,其中所述响应消息符合所述地址解析协议格式。
22.根据权利要求21所述的方法,其中:
所述响应消息包括16位硬件地址空间字段、16位协议地址空间字段、8位硬件地址长度字段、8位协议地址长度字段、16位操作码字段、n位发送方硬件地址字段、m位发送方协议地址字段、n位目标硬件地址字段和m位目标协议地址字段,
n由所述硬件地址长度字段定义,
m由所述协议地址长度字段定义,
所述操作码字段指定指示所述响应消息是重复硬件地址检测响应消息的值,
所述源硬件地址字段指定所述目标硬件地址,
所述源协议地址字段指定所述网络设备的设备标识符,以及
所述目标硬件地址字段和所述目标协议地址字段未被定义。
23.一种网络设备,包括:
网络接口控制器(NIC);以及
处理电路,其实现一个或多个处理器,所述一个或多个处理器被配置为:
确定目标硬件地址;
在网络上发送请求消息,所述请求消息指定所述目标硬件地址;
确定所述网络设备是否已经在时间限制内接收到指定所述目标硬件地址的响应消息;以及
响应于确定所述网络设备已经在所述时间限制内接收到指定所述目标硬件地址的响应消息,确定所述目标硬件地址不可用。
24.根据权利要求23所述的网络设备,其中所述目标硬件地址是第一目标硬件地址,并且所述请求消息是第一请求消息,所述一个或多个处理器还被配置为:
确定第二目标硬件地址;
在所述网络上发送第二请求消息,所述第二请求消息指定所述第二目标硬件地址;
确定所述网络设备是否已经在所述时间限制内接收到指定所述第二目标硬件地址的响应消息;以及
响应于确定所述网络设备在所述时间限制内没有接收到指定所述第二目标硬件地址的响应消息,确定所述第二目标硬件地址可用。
25.根据权利要求23所述的网络设备,其中所述一个或多个处理器还被配置为:
基于所述第二目标硬件地址可用,向虚拟机分配所述第二目标硬件地址。
26.根据权利要求23所述的网络设备,其中所述请求消息和所述响应消息符合地址解析协议格式。
27.根据权利要求23所述的网络设备,
还包括数据库,
所述响应消息是第二响应消息,
所述一个或多个处理器还被配置为在确定所述目标硬件地址之前:
接收具有指定广播地址的目的地地址字段、并且包括第一响应消息的帧,所述第一响应消息指定硬件地址;
响应于接收到所述第一响应消息,将由所述第一响应消息指定的所述硬件地址存储在所述数据库中;以及
其中所述一个或多个处理器被配置成使得作为确定所述目标硬件地址的一部分,所述一个或多个处理器基于所述数据库中存储的、由所述响应消息指定的所述硬件地址来确定所述目标硬件地址,使得所述目标硬件地址与由所述响应消息指定的所述硬件地址不匹配。
28.一种网络设备,包括:
网络接口控制器(NIC);以及
处理电路,其实现一个或多个处理器,所述一个或多个处理器被配置为:
接收指定目标硬件地址的请求消息;
确定所述目标硬件地址是否与所述网络设备的硬件地址相匹配;以及
响应于确定所述目标硬件地址与所述网络设备的所述硬件地址相匹配,发送指定所述目标硬件地址的响应消息。
29.根据权利要求28所述的网络设备,其中所述请求消息是第一请求消息,并且所述目标硬件地址是第一目标硬件地址,所述一个或多个处理器还被配置为:
接收指定第二目标硬件地址的第二请求消息;
确定所述第二目标硬件地址是否与所述网络设备的所述硬件地址相匹配;以及
响应于确定所述第二目标硬件地址与所述网络设备的所述硬件地址不匹配,不发送任何消息对所述第二请求消息进行响应。
30.根据权利要求28所述的网络设备,其中所述请求消息和所述响应消息符合地址解析协议格式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201715472832A | 2017-03-29 | 2017-03-29 | |
US15/472,832 | 2017-03-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108696601A true CN108696601A (zh) | 2018-10-23 |
Family
ID=61827539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810272351.6A Withdrawn CN108696601A (zh) | 2017-03-29 | 2018-03-29 | 检测计算机网络中的硬件地址冲突 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP3382998A1 (zh) |
CN (1) | CN108696601A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111614791A (zh) * | 2019-02-25 | 2020-09-01 | 国基电子(上海)有限公司 | 用于实体链接分析的接入装置及其方法 |
WO2024021109A1 (zh) * | 2022-07-29 | 2024-02-01 | 华为技术有限公司 | 一种地址冲突检测方法及装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10992637B2 (en) | 2018-07-31 | 2021-04-27 | Juniper Networks, Inc. | Detecting hardware address conflicts in computer networks |
US10931628B2 (en) * | 2018-12-27 | 2021-02-23 | Juniper Networks, Inc. | Duplicate address detection for global IP address or range of link local IP addresses |
US11165744B2 (en) | 2018-12-27 | 2021-11-02 | Juniper Networks, Inc. | Faster duplicate address detection for ranges of link local addresses |
US10965637B1 (en) | 2019-04-03 | 2021-03-30 | Juniper Networks, Inc. | Duplicate address detection for ranges of global IP addresses |
CN113360081A (zh) * | 2020-03-06 | 2021-09-07 | 华为技术有限公司 | 数据处理方法及其设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0130531D0 (en) * | 2001-12-20 | 2002-02-06 | Marconi Comm Ltd | Duplicate address detection in networks |
US8792502B2 (en) * | 2012-08-07 | 2014-07-29 | Cisco Technology, Inc. | Duplicate MAC address detection |
-
2018
- 2018-03-27 EP EP18164108.5A patent/EP3382998A1/en not_active Withdrawn
- 2018-03-29 CN CN201810272351.6A patent/CN108696601A/zh not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111614791A (zh) * | 2019-02-25 | 2020-09-01 | 国基电子(上海)有限公司 | 用于实体链接分析的接入装置及其方法 |
CN111614791B (zh) * | 2019-02-25 | 2022-10-04 | 富联国基(上海)电子有限公司 | 用于实体链接分析的接入装置及其方法 |
WO2024021109A1 (zh) * | 2022-07-29 | 2024-02-01 | 华为技术有限公司 | 一种地址冲突检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3382998A1 (en) | 2018-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108696601A (zh) | 检测计算机网络中的硬件地址冲突 | |
US10110671B2 (en) | Method, system, and device for managing server hardware resources in a cloud scheduling environment | |
CN104221331B (zh) | 用于以太网交换机的没有查找表的第2层分组交换 | |
CN110784557B (zh) | 检测计算机网络中的硬件地址冲突 | |
CN106921578B (zh) | 一种转发表项的生成方法和装置 | |
CN109194525A (zh) | 一种网络节点配置方法及管理节点 | |
CN110012118B (zh) | 一种提供网络地址转换nat服务的方法及控制器 | |
CN105450585A (zh) | 一种信息传输方法及装置 | |
CN111614580A (zh) | 一种数据转发方法、装置及设备 | |
CN110545230B (zh) | 用于转发vxlan报文的方法和装置 | |
CN109819064B (zh) | 模块间通信的方法、操作系统模块和会议平板 | |
CN113676390B (zh) | 基于vxlan的触发式动态安全通道的方法、用户端及中央控制台 | |
CN112565018B (zh) | 一种流量统计方法、装置,网关设备及存储介质 | |
CN113163028B (zh) | 一种业务数据传输方法、装置及系统 | |
CN114050998A (zh) | 实现远程直接内存访问的方法、装置、电子设备及介质 | |
CN104426816A (zh) | 一种虚拟机通信方法及装置 | |
CN109286564B (zh) | 一种报文转发方法及装置 | |
CN111679918B (zh) | 一种消息传输方法及装置 | |
CN109862134B (zh) | 一种ip地址的租约时间配置方法和系统及dhcp客户端 | |
CN114629744B (zh) | 基于macvlan主机网络的数据访问方法、系统及相关装置 | |
CN101309154B (zh) | 报文的发送方法、发送装置和传输系统 | |
CN103532852A (zh) | 一种路由调度方法、装置及网络设备 | |
CN114679370B (zh) | 一种服务器托管方法、装置、系统及存储介质 | |
CN106797344B (zh) | 通过远端网元端口通信的方法和装置 | |
US10826828B2 (en) | Systems and methods for encoding and decoding IoT messages |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20181023 |