ARP packet to preserve canonical form of addresses
AssigneeCisco Technology, Inc.
InventorDevi Prasad Ivaturi
Life of this patent
Estimating the term…
Abstract
The invention is a new field in an ARP packet which designates the canonical format of the addresses written into fields such as ar$sha (the source station hardware address) and ar$spa (the source station protocol address) ar$tha (the target station hardware address), ar$tpa (the target station protocol address) so that a receiving station can determine the canonical format used to create these fields. The station receiving the ARP request or ARP response packet can then write its ARP table entry in the correct canonical format for its computer network.
Claims8
A method for determining a hardware address of a first computer by a remote computer, when a protocol address of said remote computer is known to said first computer, comprising:
- transmitting an address resolution protocol request (ARP Request) packet by said first computer to said remote computer, said ARP Request packet containing a canonical field, said canonical field indicating a canonical format of bytes written into said ARP Request packet, said ARP Request packet having a broadcast address in a layer 2 destination address field, and said ARP Request packet containing fields for a hardware address and a protocol address of said first computer, and having a field containing said protocol address of said remote computer;
- receiving said ARP packet by said remote computer in response to said layer 2 broadcast address;
- determining by said remote computer, in response to said canonical field, whether or not said canonical format of said ARP Request packet is consistent with a LAN canonical format used by a local area network (LAN) connected to said remote computer;
- deciding, in response to said determining step, whether or not to perform a bit swapping operation on data stored in said ARP packet before storing said data into memory of said remote computer as canonically correct data;
- updating, in response to said deciding step, an ARP table in said remote computer using canonically correct data of said hardware address of said first computer and said protocol address of said first computer in said canonical format used by said LAN connected to said remote computer, and performing said bit swapping operation on said hardware address and said protocol address before said updating step, in the event that said canonical field indicates that said canonical format of said data written into said data field of said ARP packet differs from said LAN canonical format.
A method for determining a hardware address of a remote computer by a first computer, when a protocol address of said remote computer is known to said first computer, comprising:
- transmitting an address resolution protocol request packet (ARP Request packet) by said first computer with said protocol address of said remote computer written into said ARP Request packet, said ARP Request packet having a canonical field indicating a request canonical format in which said ARP Request packet was written so that said remote computer can interpret data written into fields of said ARP Request packet;
- receiving an ARP Reply packet by said first computer from said remote computer, said ARP Reply packet transmitted by said remote computer in response to receiving said ARP Request packet and in response to using said request canonical field to interpret said ARP Request packet, said ARP Reply packet having a reply canonical field, said reply canonical field indicating a canonical format of data written into said ARP Reply packet, said ARP Reply packet containing both said hardware address and said protocol address of said remote computer written in a canonical format indicated by said reply canonical field;
- determining by said first computer, in response to said reply canonical field, whether or not said canonical format of data written into said ARP Reply packet is consistent with a LAN canonical format used by a local area network (LAN) connected to said first computer;
- deciding, in response to said determining step, whether or not to perform a bit swapping operation on data stored in said ARP Reply packet before storing said data into memory of said first computer as canonically correct data;
- updating, in response to said deciding step, an ARP table in said first computer using canonically correct data of both said hardware address and said protocol address of said remote computer in said canonical format used by said LAN connected to said first computer, and performing said bit swapping operation on said hardware address and said protocol address before said updating step, in the event that said reply canonical bit indicates that said canonical format of data written into said ARP Reply packet differs from said LAN canonical format.
A computer comprising:
- means for receiving an address resolution protocol request (ARP Request) packet transmitted by a remote computer to said computer, said ARP Request packet containing a canonical field, said canonical field indicating a canonical format of bytes written into said ARP Request packet, said ARP Request packet having a broadcast address in a layer 2 destination address field, and said ARP Request packet containing fields for a hardware address and a protocol address of said computer, and having a field containing said protocol address of said remote computer;
- means for determining by said computer, in response to said canonical field, whether or not said canonical format of said ARP Request packet is consistent with a LAN canonical format used by a local area network (LAN) connected to said computer;
- means for deciding, in response to said determining step, whether or not to perform a bit swapping operation on data stored in said ARP packet before storing said data into memory of said computer as canonically correct data;
- and
- means for updating, in response to said deciding step, an ARP table in said computer using canonically correct data of said hardware address of said remote computer and said protocol address of said remote computer in said canonical format used by said LAN connected to said remote computer, and performing said bit swapping operation on said hardware address and said protocol address before said updating step, in the event that said canonical field indicates that said canonical format of said data written into said data field of said ARP packet differs from said LAN canonical format.
Dependencies are inferred from the claim text.