David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Helping IP with ARP, DHCP (§5.6.4)

Slides:



Advertisements
Similar presentations
TCP/IP Protocol Suite 1 Chapter 27 Upon completion you will be able to: Next Generation: IPv6 and ICMPv6 Understand the shortcomings of IPv4 Know the IPv6.
Advertisements

CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
Transitioning to IPv6 April 15,2005 Presented By: Richard Moore PBS Enterprise Technology.
PRIVATE NETWORK INTERCONNECTION (NAT AND VPN) & IPv6
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Addressing the Network – IPv4 Network Fundamentals – Chapter 6.
CS 457 – Lecture 16 Global Internet - BGP Spring 2012.
Network Layer IPv6 Slides were original prepared by Dr. Tatsuya Suda.
Internet Control Protocols Savera Tanwir. Internet Control Protocols ICMP ARP RARP DHCP.
8-1 Last time □ Network layer ♦ Introduction forwarding vs. routing ♦ Virtual circuit vs. datagram details connection setup, teardown VC# switching forwarding.
CSCI 4550/8556 Computer Networks Comer, Chapter 23: An Error Reporting Mechanism (ICMP)
Week 5: Internet Protocol Continue to discuss Ethernet and ARP –MTU –Ethernet and ARP packet format IP: Internet Protocol –Datagram format –IPv4 addressing.
Network Layer introduction 4.2 virtual circuit and datagram networks 4.3 what’s inside a router 4.4 IP: Internet Protocol  datagram format  IPv4.
The Network Layer Chapter 5. The IP Protocol The IPv4 (Internet Protocol) header.
Chapter 5 The Network Layer.
Network Layer4-1 IP: Internet Protocol r Datagram format r IPv4 addressing r DHCP: Dynamic Host Configuration Protocol r NAT: Network Address Translation.
Subnetting.
Chapter 23: ARP, ICMP, DHCP IS333 Spring 2015.
Network Layer4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side,
12 – NAT, ICMP, IPv6 Network Layer4-1. Network Layer4-2 Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd.
21.1 Chapter 21 Network Layer: Address Mapping, Error Reporting, and Multicasting Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
Support Protocols and Technologies. Topics Filling in the gaps we need to make for IP forwarding work in practice – Getting IP addresses (DHCP) – Mapping.
Network Layer4-1 NAT: Network Address Translation local network (e.g., home network) /24 rest of.
DHCP: Dynamic Host Configuration Protocol
Network LayerII-1 RSC Part II: Network Layer 3. IP addressing (2nd part) Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides.
Adapted from: Computer Networking, Kurose/Ross 1DT066 Distributed Information Systems Chapter 4 Network Layer.
1 ECE453 – Introduction to Computer Networks Lecture 12 – Network Layer (IV)
CS 1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Jack Lange.
12 – IP, NAT, ICMP, IPv6 Network Layer.
Network Technologies essentials Week 4: Internetworking Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall, University of.
1 IP: putting it all together Part 2 G53ACC Chris Greenhalgh.
21.1 Chapter 21 Network Layer: Address Mapping, Error Reporting, and Multicasting Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
Network Layer4-1 DHCP: Dynamic Host Configuration Protocol Goal: allow host to dynamically obtain its IP address from network server when it joins network.
Computer Science & Engineering Introduction to Computer Networks Network Layer Overview.
Transport Layer 3-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012  CPSC.
CIS 3360: Internet: Network Layer Introduction Cliff Zou Spring 2012.
1 Chapter 4: Network Layer r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms m Hierarchical routing.
RSC Part II: Network Layer 3. IP addressing Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are, mainly, part of the.
Chapter 4, slide: 1 Chapter 4: Network Layer r Introduction r IP: Internet Protocol  IPv4 addressing  NAT  IPv6 r Routing algorithms  Link state 
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Fall 2005Computer Networks20-1 Chapter 20. Network Layer Protocols: ARP, IPv4, ICMPv4, IPv6, and ICMPv ARP 20.2 IP 20.3 ICMP 20.4 IPv6.
1 Network Layer Lecture 15 Imran Ahmed University of Management & Technology.
Internet Protocols. Address Resolution IP Addresses are not recognized by hardware. If we know the IP address of a host, how do we find out the hardware.
1 Network Layer Lecture 16 Imran Ahmed University of Management & Technology.
Network Layer4-1 IP: Internet Protocol r Datagram format r IPv4 addressing r DHCP: Dynamic Host Configuration Protocol r NAT: Network Address Translation.
Network Layer4-1 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol.
Network Layer4-1 The Internet Network layer forwarding table Host, router network layer functions: Routing protocols path selection RIP, OSPF, BGP IP protocol.
Lectu re 1 Recap: “Operational” view of Internet r Internet: “network of networks” m Requires sending, receiving of messages r protocols control sending,
Sharif University of Technology, Kish Island Campus Internet Protocol (IP) by Behzad Akbari.
Transport Layer3-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Wide Area Networks and Internet CT1403 Lecture-7: Internet Network Layer (Part-2) 1.
ICMPv6 Error Message Types Informational Message Types.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 19 Omar Meqdadi Department of Computer Science and Software Engineering University.
Network Layer4-1 Chapter 4 Network Layer All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down.
Network Layer IP Address.
CSE 421 Computer Networks. Network Layer 4-2 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside.
Lecture 13 IP V4 & IP V6. Figure Protocols at network layer.
4: Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
12 – IP, NAT, ICMP, IPv6 Network Layer.
Chapter 4: Network Layer
Chapter 4: Network Layer
COMPUTER NETWORKS CS610 Lecture-33 Hammad Khalid Khan.
CS 1652 Jack Lange University of Pittsburgh
CS 457 – Lecture 10 Internetworking and IP
Advanced Computer Networks
Wide Area Networks and Internet CT1403
Overview The Internet (IP) Protocol Datagram format IP fragmentation
DHCP and NAT.
CS4470 Computer Networking Protocols
DHCP: Dynamic Host Configuration Protocol
Computer Networks Protocols
Presentation transcript:

David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Helping IP with ARP, DHCP (§5.6.4)

CSE 461 University of Washington2 Topic Filling in the gaps we need to make for IP forwarding work in practice – Getting IP addresses (DHCP) » – Mapping IP to link addresses (ARP) » What link layer address do I use? What’s my IP?

CSE 461 University of Washington3 Getting IP Addresses Problem: – A node wakes up for the first time … – What is its IP address? What’s the IP address of its router? Etc. – At least Ethernet address is on NIC Hey, where am I?

CSE 461 University of Washington4 Getting IP Addresses (2) 1.Manual configuration (old days) – Can’t be factory set, depends on use 2.A protocol for automatically configuring addresses (DHCP) » – Shifts burden from users to IT folk Use A.B.C.D What’s my IP?

CSE 461 University of Washington5 DHCP DHCP (Dynamic Host Configuration Protocol), from 1993, widely used It leases IP address to nodes Provides other parameters too – Network prefix – Address of local router – DNS server, time server, etc.

CSE 461 University of Washington6 DHCP Protocol Stack DHCP is a client-server application – Uses UDP ports 67, 68 Ethernet IP UDP DHCP

CSE 461 University of Washington7 DHCP Addressing Bootstrap issue: – How does node send a message to DHCP server before it is configured? Answer: – Node sends broadcast messages that delivered to all nodes on the network – Broadcast address is all 1s – IP (32 bit): – Ethernet (48 bit): ff:ff:ff:ff:ff:ff

CSE 461 University of Washington8 DHCP Messages Client Server One link

CSE 461 University of Washington9 DHCP Messages (2) Client Server DISCOVER REQUEST OFFER ACK Broadcast

CSE 461 University of Washington10 DHCP Messages (3) To renew an existing lease, an abbreviated sequence is used: – REQUEST, followed by ACK Protocol also supports replicated servers for reliability

CSE 461 University of Washington11 Sending an IP Packet Problem: – A node needs Link layer addresses to send a frame over the local link – How does it get the destination link address from a destination IP address? Uh oh … My IP is

CSE 461 University of Washington12 ARP (Address Resolution Protocol) Node uses to map a local IP address to its Link layer addresses Source Ethernet Dest. Ethernet Source IP Dest. IP Payload … Link layer From DHCP From NIC From ARP

CSE 461 University of Washington13 ARP Protocol Stack ARP sits right on top of link layer – No servers, just asks node with target IP to identify itself – Uses broadcast to reach all nodes Ethernet ARP

CSE 461 University of Washington14 ARP Messages Node Target One link

CSE 461 University of Washington15 ARP Messages (2) Node Target REQUEST Broadcast Who has IP ? REPLY I do at 1:2:3:4:5:6

CSE 461 University of Washington16 Discovery Protocols Help nodes find each other – There are more of them! E.g., zeroconf, Bonjour Often involve broadcast – Since nodes aren’t introduced – Very handy glue

CSE 461 University of Washington17 Topic What happens when something goes wrong during forwarding? – Need to be able to find the problem Yikes! What happened? XXXXXXX

CSE 461 University of Washington18 Internet Control Message Protocol ICMP is a companion protocol to IP – They are implemented together – Sits on top of IP (IP Protocol=1) Provides error report and testing – Error is at router while forwarding – Also testing that hosts can use

ICMP Errors When router encounters an error while forwarding: – It sends an ICMP error report back to the IP source address – It discards the problematic packet; host needs to rectify CSE 461 University of Washington19 Report then toss it! Oh, now I see … XXXXXXX ICMP report

ICMP Message Format Each ICMP message has a Type, Code, and Checksum Often carry the start of the offending packet as payload Each message is carried in an IP packet CSE 461 University of Washington20

ICMP Message Format (2) Each ICMP message has a Type, Code, and Checksum Often carry the start of the offending packet as payload Each message is carried in an IP packet CSE 461 University of Washington21 Src=router, Dst=A Protocol = 1 Type=X, Code=Y Src=A, Dst=B XXXXXXXXXXXXXXX Portion of offending packet, starting with its IP header ICMP header IP header ICMP data

Example ICMP Messages CSE 461 University of Washington22 NameType / CodeUsage Dest. Unreachable (Net or Host)3 / 0 or 1Lack of connectivity Dest. Unreachable (Fragment)3 / 4Path MTU Discovery Time Exceeded (Transit)11 / 0Traceroute Echo Request or Reply8 or 0 / 0Ping Testing, not a forwarding error: Host sends Echo Request, and destination responds with an Echo Reply

Traceroute IP header contains TTL (Time to live) field – Decremented every router hop, with ICMP error if it hits zero – Protects against forwarding loops CSE 461 University of Washington23

Traceroute (2) Traceroute repurposes TTL and ICMP functionality – Sends probe packets increasing TTL starting from 1 – ICMP errors identify routers on the path CSE 461 University of Washington24... Local Host Remote Host 1 hop 2 hops 3 hops N-1 hops N hops

CSE 461 University of Washington25 Topic IP version 6, the future of IPv4 that is now (still) being deployed Why do I want IPv6 again?

CSE 461 University of Washington26 At least a billion Internet hosts and growing … And we’re using 32-bit addresses! Internet Growth

The End of New IPv4 Addresses Now running on leftover blocks held by the regional registries; much tighter allocation policies CSE 461 University of Washington27 IANA (All IPs) ARIN (US, Canada) APNIC (Asia Pacific) RIPE (Europe) LACNIC (Latin Amer.) AfriNIC (Africa) ISPs Companies Exhausted on 2/11! End of the world ? 12/21/12? Exhausted on 4/11 and 9/12!

CSE 461 University of Washington28 IP Version 6 to the Rescue Effort started by the IETF in 1994 – Much larger addresses (128 bits) – Many sundry improvements Became an IETF standard in 1998 – Nothing much happened for a decade – Hampered by deployment issues, and a lack of adoption incentives – Big push ~2011 as exhaustion looms

IPv6 Deployment CSE 461 University of Washington29 Time for growth! Source: Google IPv6 Statistics, 30/1/13 Percentage of users accessing Google via IPv6

CSE 461 University of Washington30 IPv6 Features large addresses – 128 bits, most of header New notation – 8 groups of 4 hex digits (16 bits) – Omit leading zeros, groups of zeros Ex: 2001:0db8:0000:0000:0000:ff00:0042:8329  32 bits

CSE 461 University of Washington31 IPv6 (2) Lots of other, smaller changes – Streamlined header processing – Flow label to group of packets – Better fit with “advanced” features (mobility, multicasting, security) 32 bits

CSE 461 University of Washington32 IPv6 Transition The Big Problem: – How to deploy IPv6? – Fundamentally incompatible with IPv4 Dozens of approaches proposed – Dual stack (speak IPv4 and IPv6) – Translators (convert packets) – Tunnels (carry IPv6 over IPv4) »

Tunneling Native IPv6 islands connected via IPv4 – Tunnel carries IPv6 packets across IPv4 network CSE 461 University of Washington33

Tunneling (2) Tunnel acts as a single link across IPv4 network CSE 461 University of Washington34 User Tunnel

Tunneling (3) Tunnel acts as a single link across IPv4 network – Difficulty is to set up tunnel endpoints and routing CSE 461 University of Washington35 IPv6 Link User IPv4 Link IPv6 Link IPv6 Link IPv4 Link IPv6 Link Native IPv4 Native IPv6 Tunnel

CSE 461 University of Washington36 Topic What is NAT (Network Address Translation)? How does it work? – NAT is widely used at the edges of the network, e.g., homes I’m a NAT box too! Internet

Layering Review Remember how layering is meant to work? – “Routers don’t look beyond the IP header.” Well … CSE 461 University of Washington37 TCP IP App IP IP Ethernet TCP IP App IP IP Ethernet Router

Middleboxes Sit “inside the network” but perform “more than IP” processing on packets to add new functionality – NAT box, Firewall / Intrusion Detection System CSE 461 University of Washington38 TCP IP App IP IP Ethernet TCP IP App IP IP Ethernet Middlebox App / TCP

CSE 461 University of Washington39 Middleboxes (2) Advantages – A possible rapid deployment path when there is no other option – Control over many hosts (IT) Disadvantages – Breaking layering interferes with connectivity; strange side effects – Poor vantage point for many tasks

CSE 461 University of Washington40 NAT (Network Address Translation) Box NAT box connects an internal network to an external network – Many internal hosts are connected using few external addresses – Middlebox that “translates addresses” Motivated by IP address scarcity – Controversial at first, now accepted

CSE 461 University of Washington41 NAT (2) Common scenario: – Home computers use “private” IP addresses – NAT (in AP/firewall) connects home to ISP using a single external IP address ISP Unmodified computers at homeLooks like one computer outside NAT box

CSE 461 University of Washington42 How NAT Works Keeps an internal/external table – Typically uses IP address + TCP port – This is address and port translation Need ports to make mapping 1-1 since there are fewer external IPs Internal IP:portExternal IP : port : : : : : : 1502 What ISP thinks What host thinks

How NAT Works (2) Internal  External: – Look up and rewrite Source IP/port CSE 461 University of Washington43 Internal IP:portExternal IP : port : : 1500 NAT box External destination IP=X, port=Y Internal source Src = Dst = Src = Dst =

How NAT Works (3) External  Internal – Look up and rewrite Destination IP/port CSE 461 University of Washington44 Internal IP:portExternal IP : port : : 1500 NAT box External source IP=X, port=Y Internal destination Src = Dst = Src = Dst =

How NAT Works (4) Need to enter translations in the table for it to work – Create external name when host makes a TCP connection CSE 461 University of Washington45 Internal IP:portExternal IP : port : 5523 NAT box External destination IP=X, port=Y Internal source Src = Dst = Src = Dst =

CSE 461 University of Washington46 NAT Downsides Connectivity has been broken! – Can only send incoming packets after an outgoing connection is set up – Difficult to run servers or peer-to-peer apps at home Doesn’t work so well when there are no connections (UDP apps) Breaks apps that unwisely expose their IP addresses (FTP)

CSE 461 University of Washington47 NAT Upsides Relieves much IP address pressure – Many home hosts behind NATs Easy to deploy – Rapidly, and by you alone Useful functionality – Firewall, helps with privacy Kinks will get worked out eventually – “NAT Traversal” for incoming traffic