IP Addressing & Forwarding

Similar documents
Announcements. IP Addressing & Forwarding. Designing IP s Addresses. Goals of Today s Lecture. Grouping Related Hosts. IP Addresses (IPv4)

CS 457 Networking and the Internet. Addressing. Topics 9/15/16. Fall 2016 Indrajit Ray

Internet Addresses Reading: Chapter 4. 2/11/14 CS125-myaddressing

Computer Networks Prof. Ashok K. Agrawala

Goals of Todayʼs Lecture! IP Addressing! Designing IPʼs Addresses! IP Addressing! Examples! IP Addresses (IPv4)! IP addressing. Address allocation

Transport and TCP. EE122 Fall 2011 Scott Shenker

Announcements. IP Forwarding & Transport Protocols. Goals of Today s Lecture. Are 32-bit Addresses Enough? Summary of IP Addressing.

Agenda. Forwarding (after a little more addressing) Follow-up from last time. Dealing with Address Scarcity. Sharing a Block of Addresses

IP Addressing and Forwarding

Network Layer. IP Protocol Stack: Key AbstracHons. Best- Effort Global Packet Delivery. Circuit Switching (e.g., Phone Network)

Fragmentation. Agenda for Today. IP Addressing and Forwarding (with some review of IP) Why do I care about fragmentation?

IP Addressing and Forwarding (with some review of IP)

COMP 631: NETWORKED & DISTRIBUTED SYSTEMS 9/6/16 COMP 631: NETWORKED & DISTRIBUTED SYSTEMS. IP Addressing. Jasleen Kaur. Fall 2016

EE 122: IP Forwarding and Transport Protocols

ECE 158A: Lecture 7. Fall 2015

Network layer: Overview. Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing

L3 Addressing and data plane. Benjamin Baron

Network layer: Overview. Network Layer Functions

Introduction to Internetworking

1 Connectionless Routing

Internet Design Principles

Midterm Logistics. Midterm Review. The test is long.(~20 pages) Today. My General Philosophy on Tests. Midterm Review

Midterm Review. EE122 Fall 2012 Scott Shenker

CS 43: Computer Networks. 21: The Network Layer & IP November 7, 2018

Computer Networks and Data Systems

Networking and IP Addressing TELECOMMUNICATIONS AND NETWORKING

Lecture 3: Packet Forwarding

Network Performance: Queuing

Lecture 12: Aggregation. CSE 123: Computer Networks Alex C. Snoeren

Network Layer: Control/data plane, addressing, routers

Lecture 12: Addressing. CSE 123: Computer Networks Alex C. Snoeren

Computer Networks and Data Systems

Interdomain Routing Reading: Sections P&D 4.3.{3,4}

TDC 563 Protocols and Techniques for Data Networks

IP Addressing Week 6. Module : Computer Networks Lecturer: Lucy White Office : 324

CS4450. Computer Networks: Architecture and Protocols. Lecture 13 THE Internet Protocol. Spring 2018 Rachit Agarwal

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 12

Announcements. Network Performance: Queuing. Goals of Today s Lecture. Window Scaling. Window Scaling, con t. Window Scaling, con t

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 6. September 16 CMSC417 Set 3 1

2/22/2008. Outline Computer Networking Lecture 9 IP Protocol. Hop-by-Hop Packet Forwarding in the Internet. Internetworking.

COMP/ELEC 429/556 Introduction to Computer Networks

Solutions for Homework #2

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 6. April 12 CMSC417 Set 6 1

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 6. February 15 CMSC417 Set 6 1

TCP Performance. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim

CSC 4900 Computer Networks: Network Layer

IPv4 addressing, NAT. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.

OSI Data Link & Network Layer

Introduction to Communication Networks Spring Unit 16 Global Internetworking

RSC Part II: Network Layer 3. IP addressing (2nd part)

EEC-684/584 Computer Networks

CSCI-1680 Network Layer: IP & Forwarding John Jannotti

IP Addresses. IP Addresses

Chapter 3 Internetworking

Inter-networking. Problem. 3&4-Internetworking.key - September 20, LAN s are great but. We want to connect them together. ...

Lecture 8 Network Layer: Logical addressing

Lecture 8. Reminder: Homework 3, Programming Project 2 due on Thursday. Questions? Tuesday, September 20 CS 475 Networks - Lecture 8 1

OSI Data Link & Network Layer

ITTC Science of Communication Networks The University of Kansas EECS 784 Identifiers, Names, and Addressing

Internet Network Protocols IPv4/ IPv6

Top-Down Network Design

1-1. Switching Networks (Fall 2010) EE 586 Communication and. October 25, Lecture 24

Network Layer PREPARED BY AHMED ABDEL-RAOUF

IP Addressing and Subnetting

Department of Computer and IT Engineering University of Kurdistan. Network Layer. By: Dr. Alireza Abdollahpouri

OSI Data Link & Network Layer

Communication Networks

Computer Network Fundamentals Spring Week 4 Network Layer Andreas Terzis

CIDR VLSM AS. รศ.ดร. อน นต ผลเพ ม Asso. Prof. Anan Phonphoem, Ph.D.

Lecture 8. Basic Internetworking (IP) Outline. Basic Internetworking (IP) Basic Internetworking (IP) Service Model

Lecture 10: Addressing

Addressing and Routing

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

ECE 4450:427/527 - Computer Networks Spring 2017

Internet Addresses (You should read Chapter 4 in Forouzan)

Internetworking Part 2

Computer Networking Introduction

Unit C - Network Addressing Objectives Purpose of an IP Address and Subnet Mask Purpose of an IP Address and Subnet Mask

Network Layer (Routing)

Network Protocols - Revision

Chapter 18. Introduction to Network Layer

CSC458 Lecture 6. Administrivia. Inter-domain Routing IP Addressing. Midterm will Cover Following Topics (2) Midterm will Cover Following Topics

Networking Acronym Smorgasbord: , DVMRP, CBT, WFQ

Announcements. Designing IP. Our Story So Far (Context) Goals of Today s Lecture. Our Story So Far (Context), Con t. The Internet Hourglass

Lecture 1: Introduction

Internet Protocol (IP) Computer Networking. What is an Internetwork? Logical Structure of Internet. Lecture 8 IP Addressing and Forwarding

Chapter Motivation For Internetworking

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

Chapter 3 - Implement an IP Addressing Scheme and IP Services to Meet Network Requirements for a Small Branch Office

Internet Protocol (IP) Computer Networking. What is an Internetwork? Designing an Internetwork. Lecture 8 IP Addressing and Forwarding

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Midterm Review. EE122 Fall 2011 Scott Shenker

Network Performance: Queuing

The Interconnection Structure of. The Internet. EECC694 - Shaaban

Lecture 17: Network Layer Addressing, Control Plane, and Routing

LOGICAL ADDRESSING. Faisal Karim Shaikh.

CS 348 Computer Networks. IP and Routing. Indian Institute of Technology, Bombay

TCP/IP. Model and Layers Bits and Number Bases IPv4 Addressing Subnetting Classless Interdomain Routing IPv6

CSC 401 Data and Computer Communications Networks

Layering and Addressing CS551. Bill Cheng. Layer Encapsulation. OSI Model: 7 Protocol Layers.

Transcription:

IP Addressing & Forwarding EE 122: Intro to Communication Networks Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Jennifer Rexford, Ion Stoica, and colleagues at Princeton and UC Berkeley 1 Announcements Homework #2 out, due Oct. 11 Your solutions to be submitted using the standard EECS Unix interface, not via email Lectures 8 & 9 swapped: we ll now first do Email & FTP (as well as finishing DNS) before The Web 2 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 3 Designing IP s Addresses Question #1: what should an address be associated with? E.g., a telephone number is associated not with a person but with a handset Question #2: what structure should addresses have? What are the implications of different types of structure? Question #3: who determines the particular addresses used in the global Internet? What are the implications of how this is done? 4 2

IP Addresses (IPv4) A unique 32-bit number Identifies an interface (on a host, on a router, ) Represented in dotted-quad notation. E.g, 12.34.158.5: 12 34 158 5 00001100 00100010 10011110 00000101 5 Grouping Related Hosts The Internet is an inter-network Used to connect networks together, not hosts Needs a way to address a network (i.e., group of hosts) host host... host host host... host LAN 1 router router router LAN 2 LAN = Local Area Network = Wide Area Network 6 3

Scalability Challenge Suppose hosts had arbitrary addresses Then every router would need a lot of information to know how to direct packets toward the host 1.2.3.4 5.6.7.8 2.4.6.8 1.2.3.5 5.6.7.9 2.4.6.9 host host... host host host... host LAN 1 router router router LAN 2 1.2.3.4 1.2.3.5 forwarding table 7 Hierarchical Addressing in U.S. Mail Addressing in the U.S. mail Zip code: 94704 Street: Center Street Building on street: 1947 Location in building: Suite 600 Name of occupant: Vern Paxson??? Forwarding the U.S. mail Deliver letter to the post office in the zip code Assign letter to mailman covering the street Drop letter into mailbox for the building/room Give letter to the appropriate person 8 4

Hierarchical Addressing: IP Prefixes Divided into network & host portions (left and right) 12.34.158.0/24 is a 24-bit prefix with 2 8 addresses Terminology: Slash 24 12 34 158 5 00001100 00100010 10011110 00000101 Network (24 bits) Host (8 bits) 9 IP Address and a 24-bit Subnet Mask Address 12 34 158 5 00001100 00100010 10011110 00000101 11111111 11111111 11111111 00000000 Mask 255 255 255 0 10 5

Scalability Improved Number related hosts from a common subnet 1.2.3.0/24 on the left LAN 5.6.7.0/24 on the right LAN 1.2.3.4 1.2.3.7 1.2.3.156 5.6.7.8 5.6.7.9 5.6.7.212 host host... host host host... host LAN 1 router router router LAN 2 1.2.3.0/24 5.6.7.0/24 forwarding table 11 Easy to Add New Hosts No need to update the routers E.g., adding a new host 5.6.7.213 on the right Doesn t require adding a new forwarding entry 1.2.3.4 1.2.3.7 1.2.3.156 5.6.7.8 5.6.7.9 5.6.7.212 host host... host host host... host LAN 1 1.2.3.0/24 5.6.7.0/24 router router router LAN 2 host 5.6.7.213 forwarding table 12 6

Classful Addressing Originally, only fixed allocation sizes Class A: 0* (first quad ranges from 0-127) Very large /8 blocks (e.g., MIT has 18.0.0.0/8) Class B: 10* (first quad 128-191) Large /16 blocks (e.g,. UCB has* 128.32.0.0/16) Class C: 110* (first quad 192-223) Small /24 blocks (e.g., ICIR has 192.150.187.0/24) Class D: 1110* Multicast groups Class E: 11110* Reserved for future use This is why we use dotted-quad notation What problems can classful addressing lead to? Only comes in 3 sizes Routers can end up knowing about a lot of class C s 13 Growth of Routing Tables (1988-1994) Growth faster than improvements in equipment capability14 7

Classless Inter-Domain Routing (CIDR) Use two 32-bit numbers to represent a network. Network number = IP address + Mask IP Address : 12.4.0.0 IP Mask: 255.254.0.0 Address 00001100 00000100 00000000 00000000 Mask 11111111 11111110 00000000 00000000 Network Prefix for hosts Written as 12.4.0.0/15 15 CIDR: Hierarchal Address Allocation Prefixes are key to Internet scalability Addresses allocated in contiguous chunks (prefixes) Routing protocols and packet forwarding based on prefixes 12.0.0.0/8 12.0.0.0/16 12.1.0.0/16 12.2.0.0/16 12.3.0.0/16 : : : 12.254.0.0/16 12.3.0.0/24 12.3.1.0/24 : : 12.3.254.0/24 12.253.0.0/19 12.253.32.0/19 12.253.64.0/19 12.253.96.0/19 12.253.128.0/19 12.253.160.0/19 : : : 16 8

Scalability: Address Aggregation Provider is given 201.10.0.0/21 Provider 201.10.0.0/22 201.10.4.0/24 201.10.5.0/24 201.10.6.0/23 Routers in the rest of the Internet just need to know how to reach 201.10.0.0/21. The provider can direct the IP packets to the appropriate customer. 17 CIDR Deployed (1994-1996): Much Flatter Efforts to aggregate. (Even some decreases - why?) 18 9

CIDR Growth (1996-1998): Roughly Linear Good use of aggregation, and peer pressure in CIDR report 19 But, Aggregation Not Always Possible 201.10.0.0/21 Provider 1 Provider 2 201.10.0.0/22 201.10.4.0/24 201.10.5.0/24 201.10.6.0/23 Multi-homed customer with 201.10.6.0/23 has two providers. Other parts of the Internet need to know how to reach these destinations through both providers. 20 10

Boom Period (1998-2001): Steep Growth Internet boom, increased multi-homing. What next? 21 Long-Term View (1989-2005): Post-Boom 22 11

Scalability Through Non-Uniform 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) gains much more flexibility 23 5 Minute Break Questions Before We Proceed? 24 12

Address Allocation 25 Obtaining a Block of Addresses Separation of control Prefix: assigned to an institution Addresses: assigned by the institution to their nodes Who assigns prefixes? Internet Corporation for Assigned Names and Numbers Allocates large address blocks to Regional Internet Registries ICANN is politically charged Regional Internet Registries (RIRs) E.g., ARIN (American Registry for Internet Numbers) Allocates address blocks within their regions Allocated to Internet Service Providers and large institutions Internet Service Providers (ISPs) Allocate address blocks to their customers (could be recursive) 26 13

Figuring Out Who Owns an Address Address registries Public record of address allocations Internet Service Providers (ISPs) should update when giving addresses to customers However, records are notoriously out-of-date Ways to query UNIX: whois h whois.arin.net 169.229.60.27 http://www.arin.net/whois/ http://www.geektools.com/whois.php 27 Example Output for 169.229.60.27 University of California, Office of the President UCNET-BLK (NET-169-228-0-0-1) 169.228.0.0-169.233.255.255 University of California at Berkeley ISTDATA (NET-169-229-0-0-1) 169.229.0.0-169.229.255.255 28 14

Example Output for ISTDATA OrgName: University of California at Berkeley OrgID: UCAB-1 Address: IST Communication and Network Services Address: ATTN Network Services Group Address: 2484 Shattuck Ave, #1640 City: Berkeley StateProv: CA PostalCode: 94720-1640 Country: US NetRange: 169.229.0.0-169.229.255.255 CIDR: 169.229.0.0/16 NetName: ISTDATA NetHandle: NET-169-229-0-0-1 Parent: NET-169-228-0-0-1 NetType: Reassigned 29 Example Output for ISTDATA, con t NameServer: ADNS1.BERKELEY.EDU NameServer: ADNS2.BERKELEY.EDU NameServer: UCB-NS.NYU.EDU Comment: DMCA Designated Agent is Jacqueline Craig <policy@uclink.berkeley.edu> RegDate: 1996-05-01 Updated: 2006-09-13 OrgTechHandle: UCB-NOC-ARIN OrgTechName: IST Communication and Network Services OrgTechPhone: +1-510-643-3267 OrgTechEmail: noc@nak.berkeley.edu 30 15

Are 32-bit Addresses Enough? Not all that many unique addresses 2 32 = 4,294,967,296 (just over four billion) Plus, some (many) reserved for special purposes And, addresses are allocated in larger blocks And, many devices need IP addresses Computers, PDAs, routers, tanks, toasters, Long-term solution (perhaps): larger address space IPv6 has 128-bit addresses (2 128 = 3.403 10 38 ) Short-term solutions: limping along with IPv4 Private addresses Network address translation (NAT) Dynamically-assigned addresses (DHCP) 31 Hard Policy Questions How much address space per geographic region? Equal amount per country? Proportional to the population? What about addresses already allocated? 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 often out of date 32 16

Packet Forwarding 33 Hop-by-Hop Packet Forwarding Each router has a forwarding table Maps destination addresses to outgoing interfaces Upon receiving a packet Inspect the destination IP address in the header Index into the table Determine the outgoing interface Forward the packet out that interface Then, the next router in the path repeats And the packet travels along the path to the destination 34 17

Separate Table Entries Per Address If a router had a forwarding entry per IP address Match destination address of incoming packet to the forwarding-table entry to determine the outgoing interface 1.2.3.4 5.6.7.8 2.4.6.8 1.2.3.5 5.6.7.9 2.4.6.9 host host... host host host... host LAN 1 router router router LAN 2 1.2.3.4 1.2.3.5 forwarding table 35 Separate Entry Per 24-bit Prefix If the router had an entry per 24-bit prefix Look only at the top 24 bits of the destination address Index into the table to determine the next-hop interface Could also do this based on class (A/B/C/ ) 1.2.3.4 1.2.3.7 1.2.3.156 5.6.7.8 5.6.7.9 5.6.7.212 host host... host host host... host LAN 1 router router router LAN 1.2.3.0/24 5.6.7.0/24 forwarding table 36 18

CIDR Makes Packet Forwarding Harder Router can no longer determine network prefix just by inspecting the address Forwarding table may have multiple matches E.g., table entries for 201.10.0.0/21 and 201.10.6.0/23 The IP address 201.10.6.17 would match both! 201.10.0.0/21 Provider 1 Provider 2 201.10.0.0/22 201.10.4.0/24 201.10.5.0/24 201.10.6.0/23 37 Longest-Prefix-Match Forwarding Router needs to identify longest-matching prefix forwarding table destination 201.10.6.17 4.0.0.0/8 4.83.128.0/17 201.10.0.0/21 201.10.6.0/23 126.255.103.0/24 outgoing link Serial0/0.1 Algorithmic problem: how do we do this fast? 38 19

Simple Algorithms Are Too Slow Scan the forwarding table one entry at a time See if the destination matches the entry If so, check the size of the mask for the prefix Keep track of the entry with longest-matching prefix Overhead is linear in size of the forwarding table Today, that means 150,000-200,000 entries! And, the router may have just a few nanoseconds before the next packet is arriving Need greater efficiency to keep up with line rate Better algorithms Hardware implementations 39 Patricia Tree Store the prefixes as a tree One bit for each level of the tree Some nodes correspond to valid prefixes... which have next-hop interfaces in a table When a packet arrives Traverse the tree based on the destination address Stop upon reaching the longest matching prefix 0 1 00 10 11 0* 00* 100 101 11* 40 20

Even Faster Lookups Patricia tree is faster than linear scan Proportional to number of bits in the address Patricia tree can be made faster Can make a k-ary tree E.g., 4-ary tree with four children (00, 01, 10, and 11) Faster lookup, though requires more space Can use special hardware Content Addressable Memories (CAMs) Allows look-ups on a key rather than flat address Huge innovations in the mid-to-late 1990s After CIDR was introduced (in 1994) and longest-prefix match was a major bottleneck 41 Where do Forwarding Tables Come From? Routers have forwarding tables Map prefix to outgoing link(s) Entries can be statically configured E.g., map 12.34.158.0/24 to Serial0/0.1 But, this doesn t adapt To failures To new equipment To the need to balance load That is where other technologies come in Routing protocols, DHCP and ARP (later in course) 42 21

How Does Sending End Host Forward? End host with single network interface PC with an Ethernet link Laptop with (just) a wireless link Don t need to run a routing protocol Packets to the host itself (e.g., 1.2.3.4/32) Delivered locally Packets to other hosts on the LAN (e.g., 1.2.3.0/24) Sent out the interface with LAN address (ARP) Packets to external hosts (e.g., 0.0.0.0/0) Sent out interface to local gateway How this information is learned Static setting of address, subnet mask, and gateway Dynamic Host Configuration Protocol (DHCP) 43 What About Reaching the End Hosts? How does the last router reach the destination? 1.2.3.4 1.2.3.7 1.2.3.156 host host... host LAN router Each interface has a persistent, global identifier MAC address (Media Access Control) Programmed into adaptor (ROM/EEPROM) Usually flat address structure (i.e., no hierarchy) Constructing an address resolution table Mapping MAC address to/from IP address Address Resolution Protocol (ARP) 44 22

Summary IP address A 32-bit number identifying an interface Allocated in prefixes Non-uniform hierarchy for scalability and flexibility Packet forwarding Based on IP prefixes Longest-prefix-match forwarding Issues to be covered later Populating the forwarding table (routing) How hosts get their addresses (DHCP) How to map from an IP address to a link address (ARP) 45 Next Lecture Transport Protocols & DNS Read P&D: 2.5, 5.1, 9.1 46 23