IP Addressing and Forwarding COS 461: Computer Networks Spring 2011 Mike Freedman 1.

Slides:



Advertisements
Similar presentations
Delivery and Forwarding of
Advertisements

4 IP Address (IPv4)  A unique 32-bit number  Identifies an interface (on a host, on a router, …)  Represented in dotted-quad notation
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Introduction to IPv4 Introduction to Networks.
Fundamentals of Computer Networks ECE 478/578 Lecture #14: InternetWorking Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
IPv4 Addresses. Internet Protocol: Which version? There are currently two versions of the Internet Protocol in use for the Internet IPv4 (IP Version 4)
Week 5: Internet Protocol Continue to discuss Ethernet and ARP –MTU –Ethernet and ARP packet format IP: Internet Protocol –Datagram format –IPv4 addressing.
IP Address 1. 2 Network layer r Network layer protocols in every host, router r Router examines IP address field in all IP datagrams passing through it.
Internet Routing (COS 598A) Today: Addressing and Routing Jennifer Rexford Tuesdays/Thursdays 11:00am-12:20pm.
1 EE 122: IP Addressing Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern Paxson, Jennifer.
1 K. Salah Module 5.1: Internet Protocol TCP/IP Suite IP Addressing ARP RARP DHCP.
Internet Routing (COS 598A) Today: BGP Routing Table Size Jennifer Rexford Tuesdays/Thursdays 11:00am-12:20pm.
CSE5803 Advanced Internet Protocols and Applications (7) Introduction The IP addressing scheme discussed in Chapter 2 are classful and can be summarised.
IP Address 1. 2 Network layer r Network layer protocols in every host, router r Router examines IP address field in all IP datagrams passing through it.
IP Addressing and Forwarding COS 461: Computer Networks Spring 2009 (MW 1:30-2:50 in COS 105) Michael Freedman
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.
TDC365 Spring 2001John Kristoff - DePaul University1 Interconnection Technologies Routing I.
Network Layer IS250 Spring 2010
Q and A, Ch. 21 IS333, Spring 2015 Victor Norman.
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.
1 Internet Routing Jennifer Rexford Princeton University
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.
1 26-Aug-15 Addressing the network using IPv4 Lecture # 2 Engr. Orland G. Basas Prepared by: Engr. Orland G. Basas IT Lecturer.
Fall 2006Computer Networks19-1 Chapter 19. Host-to-Host Delivery: Internetworking, Addressing, and Routing 19.1 Internetworks 19.2 Addressing 19.3 Routing.
ECE 4110 – Internetwork Programming Subnetting, Supernetting, and Classless Addressing.
Addressing Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 4: Addressing in an Enterprise Network Introducing Routing and Switching in the.
IP Addressing Introductory material. An entire module devoted to IP addresses.
IPv4 Addresses. Internet Protocol: Which version? There are currently two versions of the Internet Protocol in use for the Internet IPv4 (IP Version 4)
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.
22.1 Chapter 22 Network Layer: Delivery, Forwarding, and Routing Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP Addressing & Subnetting Unit objectives Discuss TCP/IP addressing and determine the IP address class and default subnet mask Discuss subnetting.
CIS 3360: Internet: Network Layer Introduction Cliff Zou Spring 2012.
ES 101. Module 2 IP Addressing & Routing. Last Lecture Wide area networking Definition of “packets”
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:
Chapter 6 VLSM and CIDR.
Chapter 6 VLSM and CIDR CIS 82 Routing Protocols and Concepts Rick Graziani Cabrillo College Last Updated: 3/30/2008.
Delivery, Forwarding, and Routing of IP Packets
ICS 156: Lecture 2 (part 1) Today:  IP addressing  Data link protocols and ARP  Notes about lab.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 4: Addressing in an Enterprise Network Introducing Routing and Switching in the.
1 TCP/IP Networking. 2 TCP/IP TCP/IP is the networking protocol suite most commonly used with UNIX, Windows, NT and most other OS’s. TCP/IP defines a.
1 Network Layer Lecture 15 Imran Ahmed University of Management & Technology.
IP Addressing.
2010 paro, bhutan IP Basics IP/ISP Services Workshop July, 2010 Paro, Bhutan.
Lectu re 1 Recap: “Operational” view of Internet r Internet: “network of networks” m Requires sending, receiving of messages r protocols control sending,
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
© Cengage Learning 2014 How IP Addresses Get Assigned A MAC address is embedded on a network adapter at a factory IP addresses are assigned manually or.
IP Addressing Introductory material.
CS470 Computer Networking Protocols
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 19 Omar Meqdadi Department of Computer Science and Software Engineering University.
1 Lecture, November 20, 2002 Message Delivery to Processes Internet Addressing Address resolution protocol (ARP) Dynamic host reconfiguration protocol.
1 Variable Length Subnet Masks ( VLSM ) “ Classful Route” Means if a route to a network starting with is received, it is a class A => mask length.
Q and A, Ch. 21 IS333, Spring 2016 Victor Norman.
Computer Networks 0110-IP Gergely Windisch
IP Logical Networks COMP 3270 Computer Networks Computing Science Thompson Rivers University.
IP Addressing - The Problem
IP.
Q and A, Ch. 21 CS332, Fall 2017 Victor Norman.
CS 457 – Lecture 10 Internetworking and IP
IPv4 Addresses.
CS 457 – Lecture 14 Global Internet
Dr. John P. Abraham Professor UTPA
Delivery, Forwarding, and Routing of IP Packets
Network Layer Mike Freedman COS 461: Computer Networks
COS 461: Computer Networks
Network Layer: Control/data plane, addressing, routers
Presentation transcript:

IP Addressing and Forwarding COS 461: Computer Networks Spring 2011 Mike Freedman 1

Goals of Today’s Lecture IP addresses – Dotted-quad notation – IP prefixes for aggregation Address allocation – Classful addresses – Classless InterDomain Routing (CIDR) – Growth in the number of prefixes over time Packet forwarding – Forwarding tables – Longest-prefix match forwarding – Where forwarding tables come from 2

IP Address (IPv4) A unique 32-bit number Identifies an interface (on a host, on a router, …) Represented in dotted-quad notation

Grouping Related Hosts The Internet is an “inter-network” – Used to connect networks together, not hosts – Needs way to address a network (i.e., group of hosts) 4 LAN= Local Area Network WAN = Wide Area Network host router LAN 1 LAN 2 WAN

Scalability Challenge Suppose hosts had arbitrary addresses – Then every router would need a lot of information – …to know how to direct packets toward every host 5 host... host... router forwarding table LAN 1 LAN 2 WAN a.k.a. FIB (forwarding information base)

Scalability Challenge Suppose hosts had arbitrary addresses – Then every router would need a lot of information – …to know how to direct packets toward every host Back of envelop calculations – 32-bit IP address: 4.29 billion (2 32 ) possibilities – How much storage? Minimum: 4B address + 2B forwarding info per line Total: GB just for forwarding table – What happens if a network link gets cut? 6

Standard CS Trick Have a scalability problem? Introduce hierarchy… 7

Hierarchical Addressing in U.S. Mail Addressing in the U.S. mail – Zip code: – Street: Olden Street – Building: 35 – Room: 308 – Occupant: Mike Freedman Forwarding the U.S. mail – Deliver to post office in zip code – Assign to mailman covering street – Drop into mailbox for building/room – Give to appropriate person 8 ???

Hierarchical Addressing: IP Prefixes IP addresses can be divided into two portions – Network (left) and host (right) /24 is a 24-bit prefix – Which covers 2 8 addresses (e.g., up to 255 hosts) Network (24 bits)Host (8 bits)

Scalability Improved Number related hosts from a common subnet – /24 on the left LAN – /24 on the right LAN 10 host LAN 1... host LAN 2... router WAN / /24 forwarding table

Easy to Add New Hosts No need to update the routers – E.g., adding a new host on the right – Doesn’t require adding a new forwarding-table entry 11 host LAN 1... host... router WAN / /24 forwarding table host LAN 2

Address Allocation 12

Classful Addressing In olden days, only fixed allocation sizes – Class A:0* : Very large /8 blocks (MIT has /8) – Class B:10* : Large /16 blocks (Princeton has /16) – Class C:110* : Small /24 blocks – Class D:1110* : Multicast groups – Class E:11110* : Reserved for future use Why folks use dotted-quad notation! Position of “first 0” made it easy to determine class of address in hardware (hence, how to parse) 13

Classless Inter-Domain Routing (CIDR) Address Mask for hostsNetwork Prefix Written as /15 Introduced in 1993 RFC IP prefix = IP address (AND) subnet mask IP Address : , Mask: $ ifconfig en1: flags=8863 mtu 1500 inet netmask 0xffffff00 broadcast ether 21:23:0e:f3:51:3a

CIDR: Hierarchal Address Allocation / / / / / /16 :::::: / /24 :::: / / / / / / /19 :::::: Prefixes are key to Internet scalability –Address allocated in contiguous chunks (prefixes) –Routing protocols and packet forwarding based on prefixes –Today, routing tables contain ~350,000 prefixes (vs. 4B)

Scalability: Address Aggregation 16 Provider is given / / / / /23 Provider Other Internet Routers just know how to reach /21 Provider can direct IP packets to appropriate customer

But, Aggregation Not Always Possible / / / / /23 Provider 1Provider 2 Multi-homed customer ( /23) has two providers Other parts of Internet need to know how to reach destinations through both providers

Scalability Through Hierarchy 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 of different sizes – Initial class-based addressing was far too coarse – Classless InterDomain Routing (CIDR) helps Next few slides – History of the number of globally-visible prefixes – Plots are # of prefixes vs. time 18

Pre-CIDR ( ): Steep Growth 19 Growth faster than improvements in equipment capability

CIDR Deployed ( ): Much Flatter 20 Efforts to aggregate (even decreases after IETF meetings!) Good use of aggregation, and peer pressure in CIDR report

Boom Period ( ): Steep Growth 21 Internet boom and increased multi-homing “Dot-com” bubble of 2001 saw slow down

Long-Term View ( ): Post-Boom 22

Obtaining a Block of Addresses Separation of control – Prefix: assigned to an institution – Addresses: assigned by the institution to their nodes Who assigns prefixes? 23 Internet Corp. for Assigned Names and Numbers (IANA) Regional Internet Registries (RIRs) Internet Service Providers (ISPs)

Figuring Out Who Owns an Address Address registries – Public record of allocations – ISPs should update when allocating to customers – Records often out-of-date Ways to query – UNIX: “ whois –h whois.arin.net ” – – … 24 OrgName:Princeton University OrgID: PRNU Address: Office of Info Tech Address: 87 Prospect Avenue City: Princeton StateProv: NJ PostalCode: Country: US NetRange: – CIDR: /16 NetName: PRINCETON NetHandle: NET Parent: NET NetType: Direct Allocation NameServer: DNS.PRINCETON.EDU NameServer: NS1.FAST.NET NameServer: NS2.FAST.NET NameServer: NS1.UCSC.EDU NameServer: ARIZONA.EDU NameServer: NS3.NIC.FR Comment: RegDate: Updated:

Are 32-bit Addresses Enough? Not all that many unique addresses – 2 32 = 4,294,967,296 (just over four billion) – Some are reserved for special purposes – Addresses are allocated non-uniformly My fraternity/dorm at MIT has as many IP addrs as Princeton! More devices need addr’s: smartphones, toasters, … Long-term solution: a larger address space – IPv6 has 128-bit addresses (2 128 = × ) Short-term solutions: limping along with IPv4 – Private addresses (RFC 1918): /8, /12, /16 – Network address translation (NAT) – Dynamically-assigned addresses (DHCP) 25

No more IPv4 prefixes for IANA! 26

Hard Policy Questions How much address space per geographic region? – Equal amount per country? – Proportional to the population? – What about addresses already allocated? MIT still has >> IP addresses than most countries? Address space portability? – Keep your address block when you change providers? – Pro: avoid having to renumber your equipment – Con: reduces the effectiveness of address aggregation Keeping the address registries up to date? – What about mergers and acquisitions? – Delegation of address blocks to customers? – As a result, the registries are horribly out of date 27

Hop-by-Hop Packet Forwarding 28

Separate Entry Per Address If router had a forwarding entry per IP addr – Match destination addr of incoming packet – Uniquely determine outgoing interface 29 host LAN 1... host LAN 2... router WAN forwarding table

Separate Entry Per 24-bit Prefix If router had an entry per 24-bit prefix – Look only at the top 24 bits of destination addr – Index into table to determine next-hop interface 30 host LAN 1... host LAN 2... router WAN forwarding table / /

Separate Entry Classful Address If the router had an entry per classful prefix – Mixture of Class A, B, and C addresses – Depends on the first couple of bits of the destination Identify the mask automatically from the address – First bit of 0: class A address (/8) – First two bits of 10: class B address (/16) – First three bits of 110: class C address (/24) Then, look in the forwarding table for the match – E.g., If addr is , lookup up entry for /24 So far, everything is exact matching 31

CIDR Makes Packet Forwarding Harder Efficient use of address space vs. overlapping rules Forwarding table may have many matches – matches both /21 and /23 – Entries may map to different outgoing interfaces / / / / /23 Provider 1Provider 2

Another reason FIBs get large / / / / /23 Provider 1Provider 2 If customer /23 prefers to receive traffic from Provider 1 (it may be cheaper), then P1 needs to announce /23, not /21 Can’t always aggregate! [See “Geographic Locality of IP Prefixes” M. Freedman, M. Vutukuru, N. Feamster, and H. Balakrishnan. Internet Measurement Conference (IMC), 2005

Longest Prefix Match Forwarding How to resolve multiple matches? – Router identifies most specific prefix: longest prefix match (LPM) – Cute algorithmic problem to achieve fast lookups / / / / / destination forwarding table Serial0/0.1 outgoing link

Simplest Algorithm is Too Slow Scan the forwarding table one entry at a time – Keep track of entry with longest-prefix (by netmask) Overhead is linear in size of forwarding table – Today, that means 350,000 entries! – How much time do you have to process? Consider 10Gbps routers and 64B packets / 8 / 64: 19,531,250 packets per second 51 nanoseconds per packet Need greater efficiency to keep up with line rate – Better algorithms – Hardware implementations 35

Patricia Tree (1968) Store prefixes as a tree – One bit for each level of tree – Some nodes correspond to valid prefixes –... which have next-hop interfaces in a table When a packet arrives – Traverse tree based on destination address – Stop upon reaching longest matching prefix * 0* 11*

Even Faster Lookups Patricia tree is faster than linear scan – Proportional to number of bits in address – Speed-up further by time vs. space tradeoff Each node in 4-ary tree has 4 children, cuts depth by half Still somewhat slow, major concern in mid-to-late 1990s – … after CIDR was introduced and LPM major bottleneck – Reintroduction of circuit switching via pre-established paths: individual paths named by labels added to packets (MPLS) Innovation of special hardware – Content Addressable Memories (CAMs): assoc. array in h/w Compares key in parallel to each entry – Ternary CAMs (TCAMS): Stored data is 0, 1, Least sig. bits represented by (netmask=0) 37

Where do Forwarding Tables Come From? Entries can be statically configured – E.g., “map /24 to Serial0/0.1” But, this doesn’t adapt – To failures, new equipment, … – To need to balance load, … That is where other technologies come in… – Routing protocols, DHCP, and ARP (later in course) 38

How Do End Hosts Forward Packets? End host with single network interface Don’t need a routing protocol – Packets to host itself (e.g., /32) Delivered locally – Packets to other hosts on LAN (e.g., /24) Sent out interface: Broadcast medium! – Packets to external hosts (e.g., /0) Sent out interface to local gateway How is information learned? – Static setting of address, subnet mask, and gateway – Dynamic Host Config Protocol (DHCP): Local server tells you settings when you join network 39

Conclusions IP addresses – Dotted-quad notation – IP prefixes for aggregation Address allocation – Classful addr’s, Classless routing (CIDR), FIB growth Packet forwarding – Forwarding tables – Longest-prefix match forwarding – Where forwarding tables come from Next lecture: Transport protocols (UDP and TCP) Routing protocols come later 40