15-441 Computer Networking Lecture 9 – IP Addressing and Forwarding.

Slides:



Advertisements
Similar presentations
IP Addressing Introductory material.
Advertisements

© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Introduction to IPv4 Introduction to Networks.
4: Network Layer4a-1 IP Addressing: introduction r IP address: 32-bit identifier for host, router interface r interface: connection between host, router.
8-1 Last time □ Network layer ♦ Introduction forwarding vs. routing ♦ Virtual circuit vs. datagram details connection setup, teardown VC# switching forwarding.
An Engineering Approach to Computer Networking
Week 5: Internet Protocol Continue to discuss Ethernet and ARP –MTU –Ethernet and ARP packet format IP: Internet Protocol –Datagram format –IPv4 addressing.
Winter CMPE 155 Week 8. Winter Router demos: background.
15-744: Computer Networking L-3 Addressing/Forwarding.
Computer Networking Lecture 8 – IP Addressing and Forwarding.
1 K. Salah Module 5.1: Internet Protocol TCP/IP Suite IP Addressing ARP RARP DHCP.
Oct 26, 2004CS573: Network Protocols and Standards1 IP: Routing and Subnetting Network Protocols and Standards Autumn
Computer Networking Lecture 9 – IP Packets.
11- IP Network Layer4-1. Network Layer4-2 The Internet Network layer forwarding table Host, router network layer functions: Routing protocols path selection.
15-744: Computer Networking L-4 Routers. L -4; © Srinivasan Seshan, Routing How do routers process IP packets Forwarding lookup algorithms.
CSE5803 Advanced Internet Protocols and Applications (7) Introduction The IP addressing scheme discussed in Chapter 2 are classful and can be summarised.
Oct 21, 2004CS573: Network Protocols and Standards1 IP: Addressing, ARP, Routing Network Protocols and Standards Autumn
Computer Networking Lecture 7 – Bridging, Addressing and Forwarding Copyright ©, Carnegie Mellon University.
1 Peter Steenkiste Departments of Computer Science and Electrical and Computer Engineering Networking, Spring 2008
15-744: Computer Networking
TDC365 Spring 2001John Kristoff - DePaul University1 Interconnection Technologies Routing I.
IP Address 0 network host 10 network host 110 networkhost 1110 multicast address A B C D class to to
Lecture 7 – IP Addressing and Forwarding
CS 6401 Efficient Addressing Outline Addressing Subnetting Supernetting.
TCP/IP Protocol Suite 1 Chapter 6 Upon completion you will be able to: Delivery, Forwarding, and Routing of IP Packets Understand the different types of.
IP Addressing. Dotted Decimal Notation IP addresses are written in a so-called dotted decimal notation Each byte is identified by a decimal number in.
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.
IP Addressing Introductory material. An entire module devoted to IP addresses.
G64INC Introduction to Network Communications Ho Sooi Hock Internet Protocol.
Network Layer (3). Node lookup in p2p networks Section in the textbook. In a p2p network, each node may provide some kind of service for other.
4: Network Layer4a-1 IP addresses: how to get one? Hosts (host portion): r hard-coded by system admin in a file r DHCP: Dynamic Host Configuration Protocol:
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
IP Addressing Introductory material. A module devoted to IP addresses.
IP Forwarding.
Copyright © Lopamudra Roychoudhuri
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.
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.
Efficient Addressing Outline Addressing Subnetting Supernetting CS 640.
Chapter 18 IP: Internet Protocol Addresses
Chapter 4, slide: 1 CS 372 – introduction to computer networks* Friday July 23, 2010 Announcements: r Midterms are graded. r Lab 4 is posted. Acknowledgement:
ICS 156: Lecture 2 (part 1) Today:  IP addressing  Data link protocols and ARP  Notes about lab.
CS 640: Introduction to Computer Networks
Computer Networking Lecture 9 – IP Addressing & Packets.
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 7 Internet Protocol (IP) Routing.
1 Network Layer Lecture 15 Imran Ahmed University of Management & Technology.
CS 640: Introduction to Computer Networks Aditya Akella Lecture 7 - IP: Addressing and Forwarding.
IP Addressing.
Computer Networking Lecture 8 – IP Addressing and Forwarding.
Lectu re 1 Recap: “Operational” view of Internet r Internet: “network of networks” m Requires sending, receiving of messages r protocols control sending,
IP Addressing Introductory material.
Univ. of TehranComputer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
1 Lecture, November 20, 2002 Message Delivery to Processes Internet Addressing Address resolution protocol (ARP) Dynamic host reconfiguration protocol.
1 COMP 431 Internet Services & Protocols The IP Internet Protocol Jasleen Kaur April 21, 2016.
IP Addressing Introductory material. An entire module devoted to IP addresses.
IP – Subnetting and CIDR
IP Addressing Introductory material.
Computer Communication Networks
Scaling the Network Chapters 3-4 Part 2
IP: Addressing, ARP, Routing
Scaling the Network: The Internet Protocol
CS4470 Computer Networking Protocols
CS 457 – Lecture 10 Internetworking and IP
Lecture 8 – Bridging, Addressing and Forwarding
Wide Area Networks and Internet CT1403
Lecture 8 – IP Addressing & Packets
Lecture 7 – IP Addressing and Forwarding
Network Layer: Control/data plane, addressing, routers
Scaling the Network: The Internet Protocol
An Engineering Approach to Computer Networking
Computer Networks Protocols
Presentation transcript:

Computer Networking Lecture 9 – IP Addressing and Forwarding

Lecture 9: What is an Internetwork? Multiple incompatible LANs can be physically connected by specialized computers called routers The connected networks are called an internetwork The “Internet” is one (very big & successful) example of an internetwork host LAN 1... host LAN 2... router WAN LAN 1 and LAN 2 might be completely different, totally incompatible LANs (e.g., Ethernet and ATM)

Lecture 9: Designing an Internetwork How do I designate a distant host? Addressing / naming How do I send information to a distant host? Underlying service model What gets sent? How fast will it go? What happens if it doesn’t get there? Routing Challenges Heterogeneity Assembly from variety of different networks Scalability Ensure ability to grow to worldwide scale

Lecture 9: Outline Methods for packet forwarding Traditional IP addressing CIDR IP addressing Forwarding examples

Lecture 9: Logical Structure of Internet Ad hoc interconnection of networks No particular topology Vastly different router & link capacities Send packets from source to destination by hopping through networks Router forms bridge from one network to another Different packets may take different routes host router

Lecture 9: Routing Through Single Network Path Consists of Series of Hops Source – Router Router – Router (typically high-speed, point-to-point link) Router – Destination Each Hop Uses Link-Layer Protocol Determine hop destination Based on destination destination Send over local network Put on header giving MAC address of intermediate router (or final destination) host/ router router/ host

Lecture 9: Forwarding Packets Table of virtual circuits Connection routed through network to setup state Packets forwarded using connection state Source routing Packet carries path Table of global addresses (IP) Routers keep next hop for destination Packets carry destination address

Lecture 9: Global Addresses (IP) Each packet has destination address Each router has forwarding table of destination  next hop At v and x: destination  east At w and y: destination  south At z: destination  north Distributed routing algorithm for calculating forwarding tables

Lecture 9: Global Address Example Receiver Packet R Sender R2 R3 R1 RR R  3 R  4 R  3 R

Lecture 9: Router Table Size One entry for every host on the Internet 100M entries,doubling every year One entry for every LAN Every host on LAN shares prefix Still too many, doubling every year One entry for every organization Every host in organization shares prefix Requires careful address allocation

Lecture 9: Outline Methods for packet forwarding Traditional IP addressing CIDR IP addressing Forwarding examples

Lecture 9: Addressing in IP IP addresses are names of interfaces Domain Name System (DNS) names are names of hosts DNS binds host names to interfaces Routing binds interface names to paths

Lecture 9: Addressing Considerations Hierarchical vs. flat Issues What information would routers need to route to Ethernet addresses? Need hierarchical structure for designing scalable binding from interface name to route! Hierarchical How many levels? Fixed? Variable?

Lecture 9: IP Addresses Fixed length: 32 bits Initial classful structure (1981) Total IP address size: 4 billion Class A: 128 networks, 16M hosts Class B: 16K networks, 64K hosts Class C: 2M networks, 256 hosts High Order Bits Format 7 bits of net, 24 bits of host 14 bits of net, 16 bits of host 21 bits of net, 8 bits of host Class A B C

Lecture 9: IP Address Classes (Some are Obsolete) Network IDHost ID Network IDHost ID 816 Class A 32 0 Class B 10 Class C 110 Multicast Addresses Class D 1110 Reserved for experiments Class E

Lecture 9: Interaction with Link Layer How does one find the Ethernet address of a IP host? ARP Broadcast search for IP address E.g., “who-has tell ” sent to Ethernet broadcast (all FF address) Destination responds (only to requester using unicast) with appropriate 48-bit Ethernet address E.g, “reply is-at 0:d0:bc:f2:18:58” sent to 0:c0:4f:d:ed:c6

Lecture 9: Original IP Route Lookup Address would specify prefix for forwarding table Simple lookup address www.cmu.edu Class B address – class + network is Lookup in forwarding table Prefix – part of address that really matters for routing Forwarding table contains List of class+network entries A few fixed prefix lengths (8/16/24) Large tables 2 Million class C networks

Lecture 9: Subnet Addressing RFC917 (1984) Class A & B networks too big Very few LANs have close to 64K hosts For electrical/LAN limitations, performance or administrative reasons Need simple way to get multiple “networks” Use bridging, multiple IP networks or split up single network address ranges (subnet) CMU case study in RFC Chose not to adopt – concern that it would not be widely supported

Lecture 9: Subnetting Add another layer to hierarchy Variable length subnet masks Could subnet a class B into several chunks Network Host Network HostSubnet Subnet Mask

Lecture 9: Subnetting Example Assume an organization was assigned address Assume < 100 hosts per subnet How many host bits do we need? Seven What is the network mask?

Lecture 9: Forwarding Example H1H2 H3H4R To Internet Assume a packet arrives with address Step 1: AND address with class + subnet mask

Lecture 9: Outline Methods for packet forwarding Traditional IP addressing CIDR IP addressing Forwarding examples

Lecture 9: IP Address Problem (1991) Address space depletion In danger of running out of classes A and B Why? Class C too small for most domains Very few class A – very careful about giving them out Class B – greatest problem Class B sparsely populated But people refuse to give it back Large forwarding tables 2 Million possible class C groups

Lecture 9: IP Address Utilization (‘98)

Lecture 9: Classless Inter-Domain Routing (CIDR) – RFC1338 Allows arbitrary split between network & host part of address Do not use classes to determine network ID Use common part of address as network number E.g., addresses have the first 20 bits in common. Thus, we use these 20 bits as the network number  /20 Enables more efficient usage of address space (and router tables)  How? Use single entry for range in forwarding tables Combined forwarding entries when possible

Lecture 9: IP Addresses: How to Get One? Network (network portion): Get allocated portion of ISP’s address space: ISP's block /20 Organization /23 Organization /23 Organization /23... ….. …. …. Organization /23

Lecture 9: IP Addresses: How to Get One? How does an ISP get block of addresses? From Regional Internet Registries (RIRs) ARIN (North America, Southern Africa), APNIC (Asia-Pacific), RIPE (Europe, Northern Africa), LACNIC (South America) How about a single host? Hard-coded by system admin in a file DHCP: Dynamic Host Configuration Protocol: dynamically get address: “plug-and-play” Host broadcasts “DHCP discover” msg DHCP server responds with “DHCP offer” msg Host requests IP address: “DHCP request” msg DHCP server sends address: “DHCP ack” msg

Lecture 9: CIDR Example ISP is allocated 8 class C chunks, to Allocation uses 3 bits of class C space Remaining 20 bits are network number, written as /21 Replaces 8 class C routing entries with 1 combined entry Routing protocols carry prefix with destination network address Longest prefix match for forwarding

Lecture 9: CIDR Illustration Provider is given / / / / /23 Provider

Lecture 9: CIDR Implications Longest prefix match / / / / /23 or Provider 2 address Provider 1Provider /23

Lecture 9: Important Concepts Hierarchical addressing critical for scalable system Don’t require everyone to know everyone else Reduces amount of updating when something changes Non-uniform hierarchy useful for heterogeneous networks Initial class-based addressing too coarse CIDR helps

Lecture 9: Outline Methods for packet forwarding Traditional IP addressing CIDR IP addressing Forwarding examples

Lecture 9: Host Routing Table Example Host when plugged into CS ethernet Dest  routing to same machine Dest  other hosts on same ethernet Dest  special loopback address Dest  default route to rest of Internet Main CS router: gigrouter.net.cs.cmu.edu ( ) Destination Gateway Genmask Iface eth eth lo eth0

Lecture 9: Routing to the Network H2 H3 H4 R / Provider 10.1/ / / /23 R H1 Packet to arrives Path is R2 – R1 – H1 – H2

Lecture 9: Routing Within the Subnet Routing table at R2 H2 H3 H4 R / / / / /23 R H1 DestinationNext HopInterface lo0 Default or 0/0provider / / / Packet to Matches /

Lecture 9: Routing Within the Subnet H2 H3 H4 R / / / / /23 R H1 Routing table at R1 DestinationNext HopInterface lo0 Default or 0/ / / / Packet to Matches /31 Longest prefix match /

Lecture 9: Routing Within the Subnet H2 H3 H4 R / / / / /23 R H1 Routing table at H1 DestinationNext HopInterface lo0 Default or 0/ / / Packet to Direct route Longest prefix match

EXTRA SLIDES The rest of the slides are FYI

Lecture 9: How is IP Design Standardized? IETF Voluntary organization Meeting every 4 months Working groups and discussions “We reject kings, presidents, and voting; we believe in rough consensus and running code” (Dave Clark 1992) Need 2 independent, interoperable implementations for standard

Lecture 9: Addressing Considerations Fixed length or variable length? Issues: Flexibility Processing costs Header size Engineering choice: IP uses fixed length addresses

Lecture 9: Virtual Circuits/Tag Switching Connection setup phase Use other means to route setup request Each router allocates flow ID on local link Creates mapping of inbound flow ID/port to outbound flow ID/port Each packet carries connection ID Sent from source with 1 st hop connection ID Router processing Lookup flow ID – simple table lookup Replace flow ID with outgoing flow ID Forward to output port

Lecture 9: Virtual Circuits Examples Receiver Packet 1,5  3,7 Sender ,7  4, ,2  3,6 R2 R3 R1 5726

Lecture 9: Virtual Circuits Advantages More efficient lookup (simple table lookup) More flexible (different path for each flow) Can reserve bandwidth at connection setup Easier for hardware implementations Disadvantages Still need to route connection setup request More complex failure recovery – must recreate connection state Typical uses ATM – combined with fix sized cells MPLS – tag switching for IP networks

Lecture 9: Source Routing List entire path in packet Driving directions (north 3 hops, east, etc..) Router processing Strip first step from packet Examine next step in directions Forward to next step

Lecture 9: Source Routing Example Receiver Packet R1, R2, R3, R Sender R2 R3 R1 R2, R3, R R3, RR

Lecture 9: Source Routing Advantages Switches can be very simple and fast Disadvantages Variable (unbounded) header size Sources must know or discover topology (e.g., failures) Typical use Ad-hoc networks (DSR) Machine room networks (Myrinet)

Lecture 9: Global Addresses Advantages Stateless – simple error recovery Disadvantages Every switch knows about every destination Potentially large tables All packets to destination take same route Need routing protocol to fill table

Lecture 9: Comparison Source RoutingGlobal Addresses Header SizeWorstOK – Large address Router Table SizeNone Number of hosts (prefixes) Forward OverheadBestPrefix matching Virtual Circuits Best Number of circuits Pretty Good Setup OverheadNone Error RecoveryTell all hostsTell all routers Connection Setup Tell all routers and Tear down circuit and re-route

Lecture 9: Some Special IP Addresses : local host (a.k.a. the loopback address Host bits all set to 0: network address Host bits all set to 1: broadcast address

Lecture 9: CIDR Supernets Assign adjacent net addresses to same org Classless routing (CIDR) How does this help routing table? Combine forwarding table entries whenever all nodes with same prefix share same hop

Lecture 9: Aggregation with CIDR Original Use: Aggregate Class C Addresses One organization assigned contiguous range of class C’s e.g., Microsoft given all addresses X X Specify as CIDR address /18 Represents 2 6 = 64 class C networks Use single entry in routing table Just as if were single network address cf2ec xx xxxxxxxx Decimal Hexadecimal Binary Upper 18 bits frozenLower 14 bits arbitrary

Lecture 9: Size of Complete Routing Table Source: report.org Shows that CIDR has kept # table entries in check Currently require 124,894 entries for a complete table Only required by backbone routers