810 likes | 1.07k Views
The Internet Protocol. Contents. Understand the role of the Internet Protocol (IP) Examine IP address classes Use Address Resolution Protocols (ARPs) Decode IP packet structure Examine IP on various physical networks. The Internet Protocol. Internetworking Concepts. Internet
E N D
Contents • Understand the role of the Internet Protocol (IP) • Examine IP address classes • Use Address Resolution Protocols (ARPs) • Decode IP packet structure • Examine IP on various physical networks
Internetworking Concepts • Internet • Different networks connected together
IP layer • Provides powerful logical abstraction • Hides Physical Layer dependency • Upper layer processes see a logical IP network
Functions of Internet Protocol • Internet Protocol (IP) provides • Datagram service • Phisical network independence for higher layer processing • Logical address for computers on network • Independence from maximum transmission unit size • Fragmentation and reassembly control • These topics are examined in the next several viewgraphs
IP Datagram Service • Ip makes use of “best efforts” service • Similar to postal services • Advantages • Simplicity and less overhead • Upper layers can build more reliable service • Adequate for many networks -- LANs, frame relay
Need for Uniform Addresses(Logical Addresses) • Phisical networks use different addressing schemes • Ethernet networks use 6-byte addresses • X.25 networks use 14-digit decimal codes • ARCNET networks use 1-byte addresses • How should nodes on a logical network be identified? • Solution: Use a logical address to provide a uniform way of addressing all network nodes rregardless of their physical network connections
Message Size Limitations • Physical networks support different maximum frame size • Example: 1518 bytes for Etherne, 512 bytes for ARCNET, etc. • Upper layers (TCP) del with message size of arbitrary length • Problem: How do you send arbitrarily long messages to networks with packet-size constraints? • A solution: datagrams, fragmentation, and reassembly
Names and Addresses • LAN Addressing • NIC addresses (like National Insurance Number) • Broadcast technology • No geography • Network Addressing • IP addresses (telephone numbers) • Permits subnetting (like county and area codes) • Gives routing capability • Maps to NIC address through ARP • Human Friendly Names • Shows affiliations (like a normal mail address) • Structured independently of IP • Used to identify people, computers, networks, organistations. • Maps to IP through DNS
Typical MTU Size *Assuming a token-holding time of 9 ms. MTU = maximum transmission unit
Fragmentation andReassembly Control • Many applications on hosts tend to use large message size • File transfer, graphic applications • Many wide area networks prefer smaller packet size in comparison with some applications • Better use of buffer memory • Smaller probability of error for each packet • Smaller delay for priority packets • Larger packet size in networks (such as LANs) can result in more efficient data transfer
Freagmentation andReassembly Control (continued) • What would happen to packets going from Host Bto Host A? • Note: TCP messages can be fragmented by sender
Range of Assignable Addresses N/A = not applicable • Why is address 127.x.x.x not assigned?
Software Loopback • Local machne can be addressed by 127.x.x.x • “x” can be any value -- Typically, 127.0.0.1 is used for local host • Also referred to software loopback test -- Packets never transmitted -- Packets copied from transmit buffer to receive buffer
Hostid and Broadcast Addresses • Hostid of 0 is never assigned to an individual host • An internet address with hostid of 0 refers to the network itself -- Example: 144.19.0.0 -- Refers to class B network 144.19.0.0 • Directed broadcast addresses • By convention, broadcast addresses have all 1 s in hostid field -- Example: 144.19.255.255 • Important exception is software derived from BSD 4.2 UNIX -- Uses all 0s broadcast -- Example: 144.19.0.0 • Limited broadcast address • Broadcast address of 255.255.255.255 • IP packets with this address usually do not cross router boudary • Not all TCP/IP implementations support it
The Problem: Need for Address Resolution • How does a host know about another host’s physical address? • Hard code knowledge of physical addresses? • Can you logical (IP address) to determine physical address? -- Address resolution protocols
Dynamic Address ResolutionProtocol Mechanism • Host A broadcasts ARP request on network containing B’s IP address • All nodes receive ARP request, but only B responds because its IP • address is included in the ARP request • B replies to A, with B’s physical address • Assumption: requires broadcast capability on network (i.e., • Ethernet, Token Ring, etc.)
ARP Request/ResponsePacket Structure • Numbers in ( ) represent bits
ARP Refinements: Caching • In previous example • Host A uses ARP reply to build a local cache -- Cache contains <IP addr., Physical addr.> pair Host B is likely to reply to A • Use ARP request to store A’s <IP addr., Psysical addr.> in cache • Other host extract A’s <IP addr., Physical addr> from ARP request • Machines booting on netork announce their <IP addr., Physical addr.> • Other machines cache this information • Also used for duplicate IP address detection
IP Address for Disless Nodes • Workstations store their IP addresses in local storage media • How do diskless workstations store their IP addresses? • A solution: use Reverse ARP (RARP) -- Keep <IP addr., Physical addr.? Bindings on RARP server -- Potential for simplifying IP adress administration?
RARP Operation Sender address – PA Destination address = broadcast Ethertype = 8035 hex • RARP uses same packet structure as ARP
RARP Operation (continued) • Send broadcasts RARP request • SENDER HA ← Sender’s physical address • TARGET HA← Sender’s physical address • RARP servers respond with • OPERATION TYPE ← reply • TARGET IP ← Answer (requester’s IP address) • DATA LINK DA ← Requester’s physical address • Lssues • RARP request storms • Primary and backup RARP servers
BOOTP • BOOTP makes use of UDP/IP to obtain IP addresses and other information • BOOTP does not provide clients with bootstrap image • It provides the nameof the boot image • Boot image is transferred using Trivial File Transfer Protocol (TFTP) • To forward BOOTP requests across routers, routers must be configured with rekay agents to foeward BOOTP packets
Troubleshooting Duplicate IP Addresses and ARP Tables • Nodes on an IP network must have unique IP addresses • Otherwise, ARP tables are initialized with incorrect <IP addr., Physical addr.> mappings • Symptoms of bad ARP tables are -- Users unable to access TCP/IP hosts -- Workstations and servers crashing -- Intermittent problems with applications not working • Common results of duplicate IP addresses are • ARP table corruption at workstations • ARP table corruption at servers
Duplicate IP Addresses at Workstation • Step 1 • Workstation initiates FTP session to server
Duplicate IP Addresses at Workstation (continued) • Step 2 • Second workstation with duplicate IP address initiates FTP session to server
Duplicate IP Addresses at Workstation (continued) • If the server receives a TCP/IP connection request from a second workstation with a duplicate IP address, the TCP/IP software may • Ignore the second request • Overwrite the server ARP cache entry with hardware address from second workstation • Get confused and crash • In either of the above choices, one or both of the workstations with the duplicate IP address will have connection problems
Duplicate IP Addresses at the Server • Workstation tries to connect to VAX at IP address 144.19.74.102 • If the SUN server at duplicate IP address 144.19.74.102 returns an ARP reply faster than the VAX, the workstation connects to the SUN server instead of the VAX • What happens if the SUN server and VAX server also act as routers?
ARP Display Utilities • Resolving duplicate IP address problems can be a challenging task on large networks • Keeping good records of IP address assignments and hardware addresses of devices can help • Use utilities to display and fix ARP cache entries -- Most UNIX systems have the arp utility Display all ARP entries in table Delete an entry from ARP table Add a new entry in ARP table. Entry is not timed out! arp -a arp -d hostname arp -s hostname hardware_addr
Hands-On Exercise 3.1: Address Resolution • Your instructor will guide you to Hands-On Exercise 3.1 in the Exercise Manual
Hands-On Exercise 3.2: Observing Effects of Duplicate IP Addresses • Your instructor will guide you to Hands-On Exercise 3.2 in the Exercise Manual
IP Packet Structure Background: This exercise is a guided tour on the structure of IP packets. It will be done concurrently with the lecture, which will explain the IP structure. You will use the packet trace that you saved in an earlier exercise for understanding the IP packet structure. Objectives: • Examine the IP packet fields • Understand the functionality of the IP protocol
IP Packet Structure (continued) • Run LANWatch at your workstation. If you forgot how to run LANWatch, see page 16 in the Exercise Manual. • Load the filt TELNET. TR1 that contains the TELNET packet trace youstored in an earlier exercise. • Highlight one of the red packets that contain IP protocol information and display it in the detailed format. Follow the instructions given to you by the instructor.
IP Field: Version • Version field • Indicates format of IP header • Declares version of protocol to which datagram belongs • Allows development of new protocols while network is operational • What is the version of the IP packet on your screen?
IP Field: Internet Header Length • Internet header length • Measured in 32-bit words • Required because IP header contains variable length options field • What is the internet header length of the IP packet on your screen?___________________________ • Does the IP packet have an options field? Yes No
IP Field: Type of Service (TOS) • Type of service • Informs networks on Quality Of Service (QOS) desired
IP Field: Type of Service (TOS) • What is the bit pattern for TOS of IP packet on your screen? __________________________ • What is the TOS value? _________________
IP Field: Total Length • Total length • Length of datagram (octets), including IP header and data portion • Maximum datagram size is 65,535 octets • All hosts must be preparedto receive datagrams of 576 octets • 512 octets of data and 64 octets of protocol overhead • What is the total length for the IP packet on your screen? _________________ octets?
IP Field: Identification • Identification • Set uniquely for each datagram • Used as an aid in assembling fragments of a datagram • What is the identification value for the IP packet on your screen? ___________
IP Field: Identification (continued) • Use cursor keys (↑, ↓) to examine identification field values of IP packets before and after this IP packet • What is the identification value of the previous IP packet?______ • What is the identification value of the next IP packet?________
IP Field: Flags • What are the flag settings for the IP packet on yourscreen? DF flag =_______ MF flag = _______
IP Field: Fragment Offset • Fragment offset • Position of fragment's data relative to the beginning of data carried in original datagram • Maximum of 8192 fragments per datagram • Identification field is same for all fragments