IP Library Granted Patent US 7,457,255
Granted Patent B2
US 7,457,255 · App. 10/877,533 · Granted Nov 25, 2008

Method and apparatus for providing link-local IPv4 addressing across multiple interfaces of a network node

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,457,255
App. No.
10/877,533
Granted
Nov 25, 2008
Kind
B2
Abstract

A system to provide link-local IPv4 addressing across multiple interfaces of a network-node. The network-node broadcasts an Address Resolution Protocol (ARP) request packet on multiple interfaces which asks for the hardware address of a network node whose link-local IPv4 address is Y. In response, the network-node receives an ARP-reply packet on an interface from a target network-node. If Y is present in the ARP cache and is associated with a different interface, the source network-node chooses a winner interface, and updates the ARP cache so that Y is associated with the winner interface. The network-node sends one or more contention-resolution packets on the loser interface to cause a loser network-node to choose another link-local IPv4 address for itself.

Claims (64)

1. A method for providing link-local addressing across multiple interfaces of a source network-node, comprising:

broadcasting an address-resolution request packet on interfaces Z 1 and Z 2 of the source network-node, wherein the source network-node currently associates the link-local protocol-layer address Y with interface Z 1 , and wherein the address-resolution request packet requests an hardware address which is associated with link-local protocol-layer address Y;

receiving an address-resolution reply packet at the source network-node on interface Z 2 , thereby causing a contention between interfaces Z 1 and Z 2 ;

determining a winner between interfaces Z 1 and Z 2 ; and

in response to determining that Z 2 is the winner, associating link-local protocol-layer address Y with interface Z 2 , and sending a contention-resolution packet on interface Z 1 , thereby causing a target network-node whose link-local protocol-layer address is Y to choose a link-local protocol-layer address which is different from Y.

2. The method of claim 1 , wherein the interface is one of:

an Ethernet interface;

a USB interface;

a Firewire interface; or

an AirPort interface.

3. The method of claim 1 , wherein the link-local protocol-layer address is an IPv4 link-local address within the 169.254/16 prefix.

4. The method of claim 1 , wherein the contention-resolution packets is an ARP packets.

5. The method of claim 1 , wherein sending the contention-resolution packets involves broadcasting the contention-resolution packets on interface Z 1 .

6. A method for providing link-local addressing across multiple interfaces of a source network-node, comprising:

broadcasting a request packet on multiple interfaces of the source network-node, wherein the request packet asks for the hardware address of a network node whose link-local protocol-layer address is Y;

receiving a reply packet at the source network-node on interface Z 1 from a target network-node whose link-local protocol-layer address is Y and whose hardware address is X;

if Y is not present in the address cache of the source network-node, adding an entry in the address cache which specifies that protocol-layer address Y is at the hardware address X on interface Z 1 ;

otherwise, if Y is already present in the address cache of the source network-node and is associated with a different interface Z 2 , resolving the contention by

choosing a winner interface out of Z 1 and Z 2 ,

if interface Z 1 is chosen as the winner, updating the address cache so that it specifies that protocol-layer address Y is at the hardware address X on interface Z 1 , and

sending one or more contention-resolution packets on the loser interface to cause the loser network-node to choose another link-local protocol-layer address for itself.

7. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for providing link-local addressing across multiple interfaces of a source network-node, comprising:

broadcasting an address-resolution request packet on interfaces Z 1 and Z 2 of the source network-node, wherein the source network-node currently associated the link-local protocol-layer address Y with interface Z 1 , and wherein the address-resolution request packet requests an hardware address which is associated with link-local protocol-layer address Y;

receiving an address-resolution reply packet at the source network-node on interface Z 2 , thereby causing a contention between interfaces Z 1 and Z 2 ; from a target network-node;

determining a winner between interfaces Z 1 and Z 2 ; and

in response to determining that Z 2 is the winner, associated link-local protocol-layer address Y with interface Z 2 , and sending a contention-resolution packet on interface Z 1 , thereby causing a target network-node whose link-local protocol-layer address is Y to choose a link-local protocol-layer address which is different from Y.

8. The computer-readable storage medium of claim 7 , wherein the interface is one of:

an Ethernet interface;

a USB interface;

a Firewire interface; or

an AirPort interface.

9. The computer-readable storage medium of claim 7 , wherein the link-local protocol-layer address is an IPv4 link-local address within the 169.254/16 prefix.

10. The computer-readable storage medium of claim 7 , wherein the contention-resolution packets is an ARP packets.

11. The computer-readable storage medium of claim 7 , wherein sending the contention-resolution packet involves broadcasting the contention-resolution packets on interface Z 1 .

12. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for providing link-local addressing across multiple interfaces of a source network-node, comprising:

broadcasting a request packet on multiple interfaces of the source network-node, wherein the request packet asks for the hardware address of a network node whose link-local protocol-layer address is Y;

receiving a reply packet at the source network-node on interface Z 1 from a target network-node whose link-local protocol-layer address is Y and whose hardware address is X;

if Y is not present in the address cache of the source network-node, adding an entry in the address cache which specifies that protocol-layer address Y is at the hardware address X on interface Z 1 ;

otherwise, if Y is already present in the address cache of the source network-node and is associated with a different interface Z 2 , resolving the contention by

choosing a winner interface out of Z 1 and Z 2 ,

if interface Z 1 is chosen as the winner, updating the address cache so that it specifies that protocol-layer address Y is at the hardware address X on interface Z 1 , and

sending one or more contention-resolution packets on the loser interface to cause the loser network-node to choose another link-local protocol-layer address for itself.

13. An apparatus for providing link-local addressing across multiple interfaces of a source network-node, the apparatus comprising:

a broadcasting mechanism configured to broadcast an address-resolution request packet on interfaces Z 1 and Z 2 of the source network-node, wherein the source network-node currently associates the link-local protocol-layer address Y with interface Z 1 , and wherein the address-resolution request packet requests an hardware address which is associated with link-local protocol-layer address Y;

a receiving mechanism configured to receive an address-resolution reply packet at the source network-node on interface Z 2 , thereby causing a contention between interfaces Z 1 and Z 2 ; and

a determining mechanism configured to determine a winner between interfaces Z 1 and Z 2 ; and

a resolving mechanism configured to, in response to determining that Z 2 is the winner, associate link-local protocol-layer address Y with interface Z 2 , and send a contention-resolution packet on interface Z 1 , thereby causing a target network-node whose link-local protocol-layer address is Y to choose a link-local protocol-layer address which is different from Y.

14. The apparatus of claim 13 , wherein the interface is one of:

an Ethernet interface;

a USB interface;

a Firewire interface; or

an AirPort interface.

15. The apparatus of claim 13 , wherein the link-local protocol-layer address is an Ipv4 link-local address within the 169.254/16 prefix.

16. The apparatus of claim 13 , wherein the contention-resolution packets is an ARP packets.

17. The apparatus of claim 13 , wherein the contention-resolution mechanism is further configured to broadcast the contention-resolution packets on interface Z 1 .

18. An apparatus for providing link-local Ipv4 addressing across multiple interfaces of a source network-node, the apparatus comprising:

a broadcasting mechanism configured to broadcast an Address Resolution Protocol (ARP) request packet on multiple interfaces of the source network-node, wherein the ARP-request packet asks for the hardware address of a network node whose link-local Ipv4 address is Y;

a receiving mechanism configured to receive an ARP-reply packet at the source network-node on interface Z 1 from a target network-node whose link-local Ipv4 address is Y and whose hardware address is X;

an adding mechanism, wherein if Y is not present in an ARP cache of the source network-node, the adding mechanism is configured to add an entry in the ARP cache which specifies that IP address Y is at the hardware address X on interface Z 1 ;

a determination mechanism configured to determine if Y is already present in the ARP cache of the source network-node and is associated with a different interface Z 2 ; and

a contention-resolution mechanism, wherein if Y is already present in the ARP cache of the source network-node and is associated with a different interface Z 2 , then contention resolution mechanism is configured to resolve the contention between interfaces Z 1 and Z 2 .

19. The apparatus of claim 18 , wherein when resolving the contention the contention-resolution mechanism is configured to:

choose a winner interface out of Z 1 and Z 2 ,

if interface Z 1 is chosen as the winner, to update the ARP cache so that it specifies that IP address Y is at the hardware address X on interface Z 1 , and to send one or more contention-resolution packets on the loser interface to cause the network-node on a losing interface to choose another link-local Ipv4 address for itself.

Assignments (2)
CHANGE OF NAME Recorded May 7, 2007
From: APPLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 019265/0922 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2004
From: CHESHIRE, STUART D.
To: APPLE COMPUTER INC.
Reel/Frame 015523/0768 →