Computer Science & Engineering Introduction to Computer Networks Network Layer Overview.

Slides:



Advertisements
Similar presentations
Internetworking II: MPLS, Security, and Traffic Engineering
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.
20.1 Chapter 20 Network Layer: Internet Protocol Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
IPv4 - The Internet Protocol Version 4
CS 457 – Lecture 16 Global Internet - BGP Spring 2012.
Network Layer IPv6 Slides were original prepared by Dr. Tatsuya Suda.
CSE 461: IP/ICMP and the Network Layer. Next Topic  Focus:  How do we build large networks?  Introduction to the Network layer  Internetworks  Service.
1 o Two issues in practice – Scale – Administrative autonomy o Autonomous system (AS) or region o Intra autonomous system routing protocol o Gateway routers.
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.
Network Layer Packet Forwarding IS250 Spring 2010
IP Suite© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer Science Department.
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.
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,
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Helping IP with ARP, DHCP (§5.6.4)
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.
IP (Internet Protocol) –the network level protocol in the Internet. –Philosophy – minimum functionality in IP, smartness at the end system. –What does.
Adapted from: Computer Networking, Kurose/Ross 1DT066 Distributed Information Systems Chapter 4 Network Layer.
G64INC Introduction to Network Communications Ho Sooi Hock Internet Protocol.
The Network Layer. Network Projects Must utilize sockets programming –Client and Server –Any platform Please submit one page proposal Can work individually.
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.
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 5 UDP and Its Applications.
CIS 3360: Internet: Network Layer Introduction Cliff Zou Spring 2012.
7-1 Last time □ Wireless link-layer ♦ Introduction Wireless hosts, base stations, wireless links ♦ Characteristics of wireless links Signal strength, interference,
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.
TCOM 515 IP Routing. Syllabus Objectives IP header IP addresses, classes and subnetting Routing tables Routing decisions Directly connected routes Static.
Chapter 81 Internet Protocol (IP) Our greatest glory is not in never failing, but in rising up every time we fail. - Ralph Waldo Emerson.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
20.1 Chapter 20 Network Layer: Internet Protocol Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 21.
1 Network Layer Lecture 16 Imran Ahmed University of Management & Technology.
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,
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.
Internet Protocols (chapter 18) CSE 3213 Fall 2011.
1 12-Jan-16 OSI network layer CCNA Exploration Semester 1 Chapter 5.
Cisco Confidential © 2013 Cisco and/or its affiliates. All rights reserved. 1 Cisco Networking Training (CCENT/CCT/CCNA R&S) Rick Rowe Ron Giannetti.
The Internet Network layer
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 19 Omar Meqdadi Department of Computer Science and Software Engineering University.
IP Protocol CSE TCP/IP Concepts Connectionless Operation Internetworking involves connectionless operation at the level of the Internet Protocol.
Network Layer4-1 Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m network layer service models m forwarding.
Computer Networks 0110-IP Gergely Windisch
Network Layer Protocols COMP 3270 Computer Networks Computing Science Thompson Rivers University.
Lecture 13 IP V4 & IP V6. Figure Protocols at network layer.
Graciela Perera Department of Computer Science and Information Systems Slide 1 of 18 INTRODUCTION NETWORKING CONCEPTS AND ADMINISTRATION CSIS 3723 Graciela.
Introduction to Networks
Computer Communication Networks
IP: Addressing, ARP, Routing
Chapter 4 Network Layer All material copyright
Chapter 4: Network Layer
Scaling the Network: The Internet Protocol
CS 457 – Lecture 10 Internetworking and IP
Internetworking Outline Best Effort Service Model
Chapter 20 Network Layer: Internet Protocol
Wide Area Networks and Internet CT1403
Net 323 D: Networks Protocols
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
Network Layer: Control/data plane, addressing, routers
Scaling the Network: The Internet Protocol
Introduction to Networks
ITIS 6167/8167: Network and Information Security
DHCP: Dynamic Host Configuration Protocol
Computer Networks Protocols
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Computer Science & Engineering Introduction to Computer Networks Network Layer Overview

CSE 461 University of Washington2 Where we are in the Course Starting the Network Layer! – Builds on the link layer. Routers send packets over multiple networks Physical Link Network Transport Application

CSE 461 University of Washington3 Why do we need a Network layer? We can already build networks with links and switches and send frames between hosts …

CSE 461 University of Washington4 Shortcomings of Switches 1.Don’t scale to large networks – Blow up of routing table, broadcast Table for all destinations in the world! Broadcast new destinations to the whole world!

CSE 461 University of Washington5 Shortcomings of Switches (2) 2.Don’t work across more than one link layer technology – Hosts on Ethernet + 3G … Can we play too? Go away!

CSE 461 University of Washington6 Shortcomings of Switches (3) 3.Don’t give much traffic control – Want to plan routes / bandwidth That was lame.

CSE 461 University of Washington7 Network Layer Approach Scaling: – Hierarchy, in the form of prefixes Heterogeneity: – IP for internetworking Bandwidth Control: – Lowest-cost routing – Later QOS (Quality of Service)

CSE 461 University of Washington8 Topics Network service models – Datagrams (packets), virtual circuits IP (Internet Protocol) – Internetworking – Forwarding (Longest Matching Prefix) – Helpers: ARP and DHCP – Fragmentation and MTU discovery – Errors: ICMP (traceroute!) IPv6, the future of IP NAT, a “middlebox” Routing algorithms This time Next time

CSE 461 University of Washington9 Routing vs. Forwarding Routing is the process of deciding in which direction to send traffic – Network wide (global) and expensive Which way?

CSE 461 University of Washington10 Routing vs. Forwarding (2) Forwarding is the process of sending a packet on its way – Node process (local) and fast Forward! packet

CSE 461 University of Washington11 Our Plan Forwarding this time – What routers do with packets Routing next time – Logically this comes first – But ignore it for now

Computer Science & Engineering Introduction to Computer Networks Network Services (§5.1)

CSE 461 University of Washington13 Topic What kind of service does the Network layer provide to the Transport layer? – How is it implemented at routers? Service? What’s he talking about?

CSE 461 University of Washington14 Two Network Service Models Datagrams, or connectionless service – Like postal letters – (This one is IP) Virtual circuits, or connection- oriented service – Like a telephone call

CSE 461 University of Washington15 Store-and-Forward Packet Switching Both models are implemented with store-and-forward packet switching – Routers receive a complete packet, storing it temporarily if necessary before forwarding it onwards – We use statistical multiplexing to share link bandwidth over time

Store-and-Forward (2) Switching element has internal buffering for contention CSE 461 University of Washington16... Input Buffer Output Buffer Fabric Input Output

Store-and-Forward (3) Simplified view with per port output buffering – Buffer is typically a FIFO (First In First Out) queue – If full, packets are discarded (congestion, later) CSE 461 University of Washington17 (FIFO) Queue Queued Packets Router =

Datagram Model Packets contain a destination address; each router uses it to forward each packet, possibly on different paths CSE 461 University of Washington18 ISP’s equipment

Datagram Model (2) Each router has a forwarding table keyed by address – Gives next hop for each destination address; may change CSE 461 University of Washington19 A’s table (initially) A’s table (later) C’s Table E’s Table B B

IP (Internet Protocol) Network layer of the Internet, uses datagrams (next) – IPv4 carries 32 bit addresses on each packet (often 1.5 KB) CSE 461 University of Washington20 Payload (e.g., TCP segment)

Virtual Circuit Model Three phases: 1.Connection establishment, circuit is set up Path is chosen, circuit information stored in routers 2.Data transfer, circuit is used Packets are forwarded along the path 3.Connection teardown, circuit is deleted Circuit information is removed from routers Just like a telephone circuit, but virtual in the sense that no bandwidth need be reserved; statistical sharing of links CSE 461 University of Washington21

Virtual Circuits (2) Packets only contain a short label to identify the circuit – Labels don’t have any global meaning, only unique for a link CSE 461 University of Washington22 ISP’s equipment

Virtual Circuits (3) Each router has a forwarding table keyed by circuit – Gives output line and next label to place on packet CSE 461 University of Washington23 A’s table C’s Table E’s Table 1 1 Circuit #1 Circuit #2 H3 H1 F F 55

Virtual Circuits (4) Each router has a forwarding table keyed by circuit – Gives output line and next label to place on packet CSE 461 University of Washington24 A’s table C’s Table E’s Table 1 1 Circuit #1 Circuit # H3 H1 1 1 F F 55

MPLS (Multi-Protocol Label Switching, §5.6.5) A virtual-circuit like technology widely used by ISPs – ISP sets up circuits inside their backbone ahead of time – ISP adds MPLS label to IP packet at ingress, undoes at egress CSE 461 University of Washington25

Datagrams vs Virtual Circuits Complementary strengths CSE 461 University of Washington26 IssueDatagramsVirtual Circuits Setup phaseNot neededRequired Router statePer destinationPer connection AddressesPacket carries full addressPacket carries short label RoutingPer packetPer circuit FailuresEasier to maskDifficult to mask Quality of serviceDifficult to addEasier to add

Computer Science & Engineering Introduction to Computer Networks Internetworking (§5.5, 5.6.1)

CSE 461 University of Washington28 Topic How do we connect different networks together? – This is called internetworking – We’ll look at how IP does it Hi there!Hi yourself

CSE 461 University of Washington29 How Networks May Differ Basically, in a lot of ways: – Service model (datagrams, VCs) – Addressing (what kind) – QOS (priorities, no priorities) – Packet sizes – Security (whether encrypted) Internetworking hides the differences with a common protocol. (Uh oh.)

Connecting Datagram and VC networks An example to show that it’s not so easy – Need to map destination address to a VC and vice-versa – A bit of a “road bump”, e.g., might have to set up a VC CSE 461 University of Washington30 Bump!

CSE 461 University of Washington31 Internetworking – Cerf and Kahn Pioneered by Cerf and Kahn, the “fathers of the Internet” – In 1974, later led to TCP/IP Tackled the problems of interconnecting networks – Instead of mandating a single network technology © 2009 IEEE Vint CerfBob Kahn

Internet Reference Model IP is the “narrow waist” of the Internet – Supports many different links below and apps above CSE 461 University of Washington32 4. Application 3. Transport 2. Internet 1. Link Ethernet IP TCP UDP HTTPSMTPRTPDNS 3G DSL Cable

CSE 461 University of Washington33 IP as a Lowest Common Denominator Suppose only some networks support QOS or security etc. – Difficult for internetwork to support Pushes IP to be a “lowest common denominator” protocol – Asks little of lower-layer networks – Gives little as a higher layer service

IPv4 (Internet Protocol) Various fields to meet straightforward needs – Version, Header (IHL) and Total length, Protocol, and Header Checksum CSE 461 University of Washington34 Payload (e.g., TCP segment)

IPv4 (2) Network layer of the Internet, uses datagrams – Provides a layer of addressing above link addresses (next) CSE 461 University of Washington35 Payload (e.g., TCP segment)

IPv4 (3) Some fields to handle packet size differences (later) – Identification, Fragment offset, Fragment control bits CSE 461 University of Washington36 Payload (e.g., TCP segment)

IPv4 (4) Other fields to meet other needs (later, later) – Differentiated Services, Time to live (TTL) CSE 461 University of Washington37 Payload (e.g., TCP segment) Later, with ICMP Later, with QOS

Computer Science & Engineering Introduction to Computer Networks IP Forwarding (§ )

CSE 461 University of Washington39 Topic How do routers forward packets? – We’ll look at how IP does it – (We’ll cover routing later) Forward! packet

CSE 461 University of Washington40 Recap We want the network layer to: – Scale to large networks Using addresses with hierarchy – Support diverse technologies Internetworking with IP – Use link bandwidth well Lowest-cost routing Next week Next lecture This lecture

IP Addresses IPv4 uses 32-bit addresses – Later we’ll see IPv6, which uses 128-bit addresses Written in “dotted quad” notation – Four 8-bit numbers separated by dots CSE 461 University of Washington41 aaaaaaaabbbbbbbbccccccccdddddddd ↔ A.B.C.D 8 bits ↔

IP Prefixes Addresses are allocated in blocks called prefixes – Addresses in an L-bit prefix have the same top L bits – There are 2 32-L addresses aligned on 2 32-L boundary CSE 461 University of Washington42

IP Prefixes (2) Written in “address/length” notation – Address is lowest address in the prefix, length is prefix bits – E.g., /16 is to – So a /24 (“slash 24”) is 256 addresses, and a /32 is one address CSE 461 University of Washington xxxxxxxx ↔ ↔ /16

Classful IP Addressing Originally, IP addresses came in fixed size blocks with the class/size encoded in the high-order bits – They still do, but the classes are now ignored CSE 461 University of Washington bits8 Class A, 2 24 addresses Class B, 2 16 addresses Class C, 2 8 addresses Network portionHost portion

IP Forwarding All addresses on one network belong to the same prefix Node uses a table that lists the next hop for prefixes CSE 461 University of Washington45 D C B A PrefixNext Hop /19D /22B

Longest Matching Prefix Prefixes in the table might overlap! – Combines hierarchy with flexibility Longest matching prefix forwarding rule: – For each packet, find the longest prefix that contains the destination address, i.e., the most specific entry – Forward the packet to the next hop router for that prefix CSE 461 University of Washington46

Longest Matching Prefix (2) CSE 461 University of Washington47 PrefixNext Hop /19D /22B /19 / IP address   More specific

Host/Router Distinction In the Internet: – Routers do the routing – Hosts send remote traffic to the nearest router CSE 461 University of Washington48 It’s my job to know which way to go … Not for my network? Send it to the router

CSE 461 University of Washington49 Host Forwarding Table Give using longest matching prefix – /0 is a default route that catches all IP addresses PrefixNext Hop My network prefixSend to that IP /0Send to my router

CSE 461 University of Washington50 Flexibility of Longest Matching Prefix Can provide default behavior, with less specifics – To send traffic going outside an organization to a border router Can special case behavior, with more specifics – For performance, economics, security, …

CSE 461 University of Washington51 Performance of Longest Matching Prefix Uses hierarchy for a compact table – Relies on use of large prefixes Lookup more complex than table – Used to be a concern for fast routers – Not an issue in practice these days

CSE 461 University of Washington52 Other Aspects of Forwarding It’s not all about addresses … Payload (e.g., TCP segment)

CSE 461 University of Washington53 Other Aspects (2) Decrement TTL value – Protects against loops Checks header checksum – To add reliability Fragment large packets – Split to fit it on next link Send congestion signals – Warns hosts of congestion Generates error messages – To help mange network Handle various options Coming later

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

CSE 461 University of Washington55 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 Washington56 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 Washington57 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 Washington58 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 Washington59 DHCP Protocol Stack DHCP is a client-server application – Uses UDP ports 67, 68 Ethernet IP UDP DHCP

CSE 461 University of Washington60 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 Washington61 DHCP Messages Client Server One link

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

CSE 461 University of Washington63 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 Washington64 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 Washington65 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 Washington66 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 Washington67 ARP Messages Node Target One link

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

CSE 461 University of Washington69 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

Computer Science & Engineering Introduction to Computer Networks Packet Fragmentation(§5.5.5)

Big packet CSE 461 University of Washington71 Topic How do we connect networks with different maximum packet sizes? – Need to split up packets, or discover the largest size to use It’s too big! Take that

CSE 461 University of Washington72 Packet Size Problem Different networks have different maximum packet sizes – Or MTU (Maximum Transmission Unit) – E.g., Ethernet 1.5K, WiFi 2.3K Prefer large packets for efficiency – But what size is too large? – Difficult because node does not know complete network path

CSE 461 University of Washington73 Packet Size Solutions Fragmentation (now) – Split up large packets in the network if they are too big to send – Classic method, dated Discovery (next) – Find the largest packet that fits on the network path and use it – IP uses today instead of fragmentation

IPv4 Fragmentation Routers fragment packets that are too large to forward Receiving host reassembles to reduce load on routers CSE 461 University of Washington74 Fragment!Reassemble! Fits on first link

IPv4 Fragmentation Fields Header fields used to handle packet size differences – Identification, Fragment offset, MF/DF control bits CSE 461 University of Washington75 Payload (e.g., TCP segment)

CSE 461 University of Washington76 IPv4 Fragmentation Procedure Routers split a packet that is too large: – Typically break into large pieces – Copy IP header to pieces – Adjust length on pieces – Set offset to indicate position – Set MF (More Fragments) on all pieces except last Receiving hosts reassembles the pieces: – Identification field links pieces together, MF tells receiver when it has all pieces

IPv4 Fragmentation (2) CSE 461 University of Washington77 ID = 0x12ef Data Len = 2300 Offset = 0 MF = 0 ID = Data Len = Offset = MF = ID = Data Len = Offset = MF = Before MTU = 2300 After MTU = 1500 (Ignore length of headers)

IPv4 Fragmentation (3) CSE 461 University of Washington78 ID = 0x12ef Data Len = 2300 Offset = 0 MF = 0 ID = 0x12ef Data Len = 1500 Offset = 0 MF = 1 ID = 0x12ef Data Len = 800 Offset = 1500 MF = 0 Before MTU = 2300 After MTU = 1500

CSE 461 University of Washington79 IPv4 Fragmentation (4) It works! – Allows repeated fragmentation But fragmentation is undesirable – More work for routers, hosts – Tends to magnify loss rate – Security vulnerabilities too

CSE 461 University of Washington80 Path MTU Discovery Discover the MTU that will fit – So we can avoid fragmentation – The method in use today Host tests path with large packet – Routers provide feedback if too large; they tell host what size would have fit

Path MTU Discovery (2) CSE 461 University of Washington81 Try 1200 Try 900 MTU=1200 bytes MTU=900 MTU=1400

Path MTU Discovery (3) CSE 461 University of Washington82 Try 1200 Try 900 Test #2Test #3 Test #1 MTU=1200 bytes MTU=900 MTU=1400

CSE 461 University of Washington83 Path MTU Discovery (4) Process may seem involved – But usually quick to find right size Path MTU depends on the path and so can change over time – Search is ongoing Implemented with ICMP (next) – Set DF (Don’t Fragment) bit in IP header to get feedback messages

Computer Science & Engineering Introduction to Computer Networks Error Handling with ICMP (§5.6.4)

CSE 461 University of Washington85 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 Washington86 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 Washington87 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 Washington88

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 Washington89 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 Washington90 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 Washington91

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 Washington92... Local Host Remote Host 1 hop 2 hops 3 hops N-1 hops N hops

Computer Science & Engineering Introduction to Computer Networks IP Version 6 (§5.6.3)

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

CSE 461 University of Washington95 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 Washington96 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 Washington97 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 Washington98 Time for growth! Source: Google IPv6 Statistics, 30/1/13 Percentage of users accessing Google via IPv6

CSE 461 University of Washington99 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 32 bits

CSE 461 University of Washington100 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 Washington101 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 Washington102

Tunneling (2) Tunnel acts as a single link across IPv4 network CSE 461 University of Washington103 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 Washington104 IPv6 Link User IPv4 Link IPv6 Link IPv6 Link IPv4 Link IPv6 Link Native IPv4 Native IPv6 Tunnel

Computer Science & Engineering Introduction to Computer Networks Network Address Translation (§5.6.2)

CSE 461 University of Washington106 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 Washington107 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 Washington108 TCP IP App IP IP Ethernet TCP IP App IP IP Ethernet Middlebox App / TCP

CSE 461 University of Washington109 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 Washington110 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 Washington111 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 Washington112 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 Washington113 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 Washington114 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 Washington115 Internal IP:portExternal IP : port : 5523 NAT box External destination IP=X, port=Y Internal source Src = Dst = Src = Dst =

CSE 461 University of Washington116 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 (Skype) 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 Washington117 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