Address Resolution Protocol
Address Resolution Protocol
A client station broadcasts an ARP request onto the network with the IP address of the target node it wishes to communicate with, and the node with that address responds by sending back its physical address so that packets can be transmitted. ARP returns the layer 2 address for a layer 3 address. Since an ARP gets the message to the target machine, one might wonder why bother with IP addresses in the first place. The reason is that ARP requests are broadcast onto the network, requiring every station in the subnet to process the request. See RARP.
ARP'ing The IP protocol broadcasts the IP address of the destination station onto the network, and the node with that address responds.
The Reverse Address Resolution Protocol (RARP) is a computer networking protocol used by a host computer to request its Internet Protocol (IPv4) address from an administrative host, when it has available its Link Layer or hardware address, such as a MAC address. RARP is described in Internet Engineering Task Force (IETF) publication RFC 903.[1] It has been rendered obsolete by the Bootstrap Protocol (BOOTP) and the modern Dynamic Host Configuration Protocol (DHCP), which both support a much greater feature set than RARP. RARP requires one or more server hosts to maintain a database of mappings of Link Layer addresses to their respective protocol addresses. Media Access Control (MAC) addresses needed to be individually configured on the servers by an administrator. RARP was limited to serving only IP addresses.
Internet Protocol version 4 (IPv4) is the fourth revision in the development of the Internet Protocol (IP) and it is the first version of the protocol to be widely deployed. Together with IPv6, it is at the core of standards-based internetworking methods of the Internet. IPv4 is still by far the most widely deployed Internet Layer protocol, as IPv6 is still in its infancy of deployment.[when?] IPv4 is described in IETF publication RFC 791 (September 1981), replacing an earlier definition (RFC 760, January 1980). IPv4 is a connectionless protocol for use on packet-switched Link Layer networks (e.g., Ethernet). It operates on a best effort delivery model, in that it does not guarantee delivery, nor does it assure proper sequencing, or avoid duplicate delivery. These aspects, including data integrity, are addressed by an upper layer transport protocol (e.g., Transmission Control Protocol).
Addressing
IPv4 uses 32-bit (four-byte) addresses, which limits the address space to 4,294,967,296 (232) possible unique addresses. However, some are reserved for special purposes such as private networks (~18 million addresses) or multicast addresses (~270 million addresses). This reduces the number of addresses that can potentially be allocated for routing on the public Internet. As addresses are being incrementally delegated to end users, an IPv4 address shortage has been developing, however network addressing architecture redesign via classful network design, Classless Inter-Domain Routing, and network address translation (NAT) has significantly delayed the inevitable exhaustion. This limitation has stimulated the development of IPv6, which is currently in the early stages of deployment, and is the only long-term solution.
Address representations
IPv4 addresses are usually written in dot-decimal notation, which consists of the four octets of the address expressed in decimal and separated by periods. This is the base format used in the conversion in the following table: Notation Dot-decimal notation Dotted Hexadecimal Dotted Octal Hexadecimal Decimal Octal Value
192.0.2.235 0xC0.0x00.0x02.0xEB
Each octet is individually converted to hexadecimal form 0300.0000.0002.0353 Each octet is individually converted into octal Concatenation of the octets from the dotted 0xC00002EB hexadecimal 3221226219 The 32-bit number expressed in decimal 030000001353 The 32-bit number expressed in octal
(Internet Protocol Version 6) The next generation IP protocol. Started in 1991, the specification was completed in 1997 by the Internet Engineering Task Force (IETF). IPv6 is backward compatible with and is designed to fix the shortcomings of IPv4, such as data security and maximum number of user addresses. Virtually Unlimited Addresses IPv6 increases the address space from 32 to 128 bits, providing for a virtually unlimited (for all intents and purposes) number of networks and systems. It also supports quality of service (QoS) parameters for real-time audio and video. Originally called "IP Next Generation" (IPng), IPv6 is expected to slowly replace IPv4, with the two existing side by side for many years. IPv6 was officially deployed in July 2004 when ICANN added IPv6 records to its DNS root server for the .jp (Japan) and .kr (Korea) country codes. What Happened to IPv5? IPv5 was an experimental streaming audio/video protocol, which had nothing to do with the fundamental structure of IP addressing.
Multicast
Multicast, the ability to send a single packet to multiple destinations, is part of the base specification in IPv6. This is unlike IPv4, where it is optional (although usually implemented).
The packet header in IPv6 is simpler than that used in IPv4, with many rarely used fields moved to separate options; in effect, although the addresses in IPv6 are four times larger, the (option-less) IPv6 header is only twice the size of the (option-less) IPv4 header. IPv6 routers do not perform fragmentation. IPv6 hosts are required to either perform PMTU discovery, perform end-to-end fragmentation, or to send packets smaller than the IPv6 minimum MTU size of 1280 octets. The IPv6 header is not protected by a checksum; integrity protection is assumed to be assured by both a link layer checksum and a higher layer (TCP, UDP, etc.) checksum. In effect, IPv6 routers do not need to recompute a checksum when header fields (such as the TTL or Hop Count) change. This improvement may have been made less necessary by the development of routers that perform checksum computation at link speed using dedicated hardware, but it is still relevant for software based routers. The Time-to-Live field of IPv4 has been renamed to Hop Limit, reflecting the fact that routers are no longer expected to compute the time a packet has spent in a queue.
Mobility
Unlike mobile IPv4, Mobile IPv6 (MIPv6) avoids triangular routing and is therefore as efficient as normal IPv6. IPv6 routers may also support Network Mobility (NEMO) [RFC 3963] which allows entire subnets to move to a new router connection point without renumbering. However, since neither MIPv6 nor MIPv4 or NEMO are widely deployed today, this advantage is mostly theoretical.
Packet format
The IPv6 packet is composed of three main parts: the fixed header, optional extension headers and the payload.
Fixed header
The fixed header makes up the first 40 octets (320 bits) of an IPv6 data packet. The format of the fixed header is presented in the table below. The octet (byte) offsets are in hexadecimal (base 16) and the bit offsets are in decimal (base 10). Octet Offse t
4 8 C 10 14 18 1C 20 24
Payload Length
Next Header
Hop Limit
Source Address
Destination Address
Version: The number 6 encoded (bit sequence 0110). Traffic class: The packet priority (8 bits). Priority values subdivide into ranges: traffic where the source provides congestion control and non-congestion control traffic. Flow label: Used for QoS management (20 bits). Originally created for giving real-time applications special service, but currently unused.[13] Payload length: The size of the payload in octets (16 bits). When cleared to zero, the option is a "Jumbo payload" (hop-by-hop). Next header: Specifies the next encapsulated protocol. The values are compatible with those specified for the IPv4 protocol field (8 bits). Hop limit: Replaces the time to live field of IPv4 (8 bits). Source and destination addresses: 128 bits each.