1 / 22

CSCI 4550/8556 Computer Networks

CSCI 4550/8556 Computer Networks. Comer, Chapter 19: Binding Protocol Addresses (ARP). Introduction. The upper levels of a protocol stack use protocol addresses . The network hardware must use a hardware address for eventual delivery.

leala
Download Presentation

CSCI 4550/8556 Computer Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSCI 4550/8556Computer Networks Comer, Chapter 19: Binding Protocol Addresses (ARP)

  2. Introduction • The upper levels of a protocol stack use protocol addresses . • The network hardware must use a hardware address for eventual delivery. • Protocol addresses must be translated into hardware addresses for delivery; will discuss three methods of achieving this translation.

  3. Address Translation • Upper levels use only protocol addresses to • provide a “virtual network” addressing scheme, and to • hide hardware details. • The address translation occurs at the data link layer: • the upper layer hands down a protocol address of the destination, and • the data link layer translates it into a hardware address for use by hardware layer.

  4. Address Resolution • Finding the hardware address for a protocol address • is called address resolution, because • the data link layer resolves the protocol address to the hardware address. • Resolution is local to a network. • The network component only resolves addresses for other components on same network.

  5. Address Resolution Example • A resolves protocol address for B for protocol messages from an application on A sent to an application on B . • A does not resolve a protocol address for F . • Through the internet layer, A delivers to F by routing through R1 and R2 • A resolves R1 hardware address. • Network layer on A passes packet containing destination protocol address F for delivery to R1 .

  6. Address Resolution Techniques • The association between a protocol address and a hardware address is called a binding . • There are three techniques to finding the binding: • Table lookup • Bindings stored in memory with protocol address as key • Data link layer looks up protocol address to find hardware address • Closed-form computation • Protocol address based on hardware address • Data link layer derives hardware address from protocol address • Dynamic • Network messages used for "just-in-time" resolution • Data link layer sends message requesting hardware address; destination responds with its hardware address

  7. Table Lookup • Use a simple list containing IP address and hardware address for each host on net. • Search on the IP address and extract the corresponding hardware address. • Note that all IP addresses have same prefix; we can save space by dropping the prefix.

  8. Table Lookup (continued) • A sequential search may be prohibitively expensive. • We can use indexing or hashing for faster lookup. • Indexing – use the hostid part of an IP address as a list (array) index. • Hashing – use a hashing function on hostid to generate a list index.

  9. Closed-form Computation • If the hardware technology uses a small, configurable hardware address, the network administrator can choose the hardware address based on the IP address. • Example – the hardware uses a one octet address that can be configured. • Now simply choose hardware address to be hostid . • Thus any host can determine a hardware address as:hardware_address = ip_address & 0xff;

  10. Dynamic Resolution • This technique uses the network to resolve IP addresses! • A message exchange with other computer(s) returns the hardware address to the source of the query. • Two designs: • Server-based – a computer sends a query message to a server to resolve an address. This design requires to users to • know the addresses of a list of servers, or • broadcast to locate the servers. • Distributed - all computers participate; the destination machine provides its hardware address to the host that asked for it.

  11. Dynamic Resolution Techniques • Server-based - centralized, easier to manage, used on non-broadcast media (e.g., ATM). • Distributed - requires no dedicated computers, no administration. • T = table lookup • C = closed form • D = dynamic

  12. ARP • IP uses a distributed resolution technique. • Address Resolution Protocol (ARP) – essentially a part of the TCP/IP protocol suite. • It is a two-part protocol: • A request is sent from the source asking for the hardware address for an IP address. • A reply from the destination provides the hardware address.

  13. ARP Message Exchange • The ARP request message is dropped into a hardware frame and broadcast. • It sses separate protocol type in hardware frame (Ethernet = 0x0806) • The sender inserts the desired IP address into the message and broadcasts it. • Every other computer on the (local) network examines the request. • The computer whose IP address is in the request responds: • It puts its hardware address in the response frame, and • unicasts the frame to the sender. • The original requester can then extract the hardware address and send the desired IP packet to the destination.

  14. ARP Example

  15. ARP Message Contents • Maps protocol address to hardware address . • Both protocol address and hardware address sizes are variable: • Ethernet = 6 octets • IP = 4 octets • ARP can be used for other protocols and hardware types.

  16. ARP Message Format • HARDWARE ADDRESS TYPE = 1 for Ethernet • PROTOCOL ADDRESS TYPE = 0x0800 for IP • OPERATION = 1 for request, 2 for response • Contains both target and sender mappings from protocol address to hardware address • Request sets hardware address of target to 0 • Target can extract hardware address of sender (saving an ARP request) • Target exchanges sender/target in response

  17. Sending an ARP Message • The sender constructs an ARP message. • The ARP message is then carried as data in a hardware frame – this technique is called encapsulation .

  18. Caching ARP Packets • Using ARP for each IP packet adds two packets of overhead for each IP packet. • To minimize this overhead, a computer caches ARP responses, but • flushes cache at system startup time, and • periodically discards old entries. • The cache is searched prior to sending an ARP request.

  19. Identifying ARP Frames • ARP uses a separate frame type. • Ethernet, for example, uses frame type 0x0806.

  20. Processing ARP Messages • The receiver extracts sender's hardware address and updates local ARP table • The receiver checks the type operation - request or response: • If a response: • Adds sender's address to the local cache. • Sends pending IP packet(s). • If a request: • If receiver is the target of the ARP query, it forms the response, and • unicasts the response to the sender, and • the sender's address is added to the local cache. • Note: • Target computers are likely to respond “soon.” • Computers have finite storage for the ARP cache. • Only the target adds sender to cache; others only update their caches if the target is already in the cache.

  21. Layering and Address Resolution • Address resolution (ARP) is a network interface layer function. • Protocol addresses are used in all higher layers. • Address resolution hides the ugly details and allows generality in upper layers.

  22. Summary • Address resolution - translates protocol addresses to hardware addresses • Three techniques • Static - table lookup • Computation - extract a hardware address from a protocol address • Dynamic - use network messages to resolve a protocol address • ARP - TCP/IP protocol for address resolution.

More Related