1 Transport and TCP EE122 Fall 2011 Scott Shenker Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson.

Slides:



Advertisements
Similar presentations
IP Addressing Introductory material.
Advertisements

4 IP Address (IPv4)  A unique 32-bit number  Identifies an interface (on a host, on a router, …)  Represented in dotted-quad notation
IPv4 Addresses. Internet Protocol: Which version? There are currently two versions of the Internet Protocol in use for the Internet IPv4 (IP Version 4)
CECS 474 Computer Network Interoperability Notes for Douglas E. Comer, Computer Networks and Internets (5 th Edition) Tracy Bradley Maples, Ph.D. Computer.
Chapter 18. IP: Internet Protocol Addresses
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.
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.
CSE5803 Advanced Internet Protocols and Applications (7) Introduction The IP addressing scheme discussed in Chapter 2 are classful and can be summarised.
Subnetting.
TDC365 Spring 2001John Kristoff - DePaul University1 Interconnection Technologies Routing I.
Q and A, Ch. 21 IS333, Spring 2015 Victor Norman.
CS 6401 Efficient Addressing Outline Addressing Subnetting Supernetting.
Lecture Week 8 The Routing Table: A Closer Look
NETWORK LAYER IP Addressing 1. ANNOUNCEMENT: Rescheduled  NO PRACTICAL SESSIONS ON TUESDAY 22, November 2010  Rescheduled sessions: MONDAY: November.
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.
Spring Ch 18 IP Addresses. 2 Internet Protocol  Only protocol at Layer 3  Defines Internet addressing Internet packet format Internet routing.
4: Addressing Working At A Small-to-Medium Business or ISP.
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.
1 Internet Addresses (You should read Chapter 4 in Forouzan) IP Address is 32 Bits Long Conceptually the address is the pair ( NETID, HOSTID ) Addresses.
Interdomain Routing EE 122, Fall 2013 Sylvia Ratnasamy Material thanks to Ion Stoica, Scott Shenker, Jennifer Rexford,
© 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.
Classless and Subnet Address Extensions (CIDR)
1 Internet Protocol: Forwarding IP Datagrams Chapter 7.
IP Addressing Introductory material. An entire module devoted to IP addresses.
G64INC Introduction to Network Communications Ho Sooi Hock Internet Protocol.
IPv4 Addresses. Internet Protocol: Which version? There are currently two versions of the Internet Protocol in use for the Internet IPv4 (IP Version 4)
IP Addressing Introductory material. A module devoted to IP addresses.
CIS 3360: Internet: Network Layer Introduction Cliff Zou Spring 2012.
Efficient Addressing Outline Addressing Subnetting Supernetting CS 640.
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.
SYSTEM ADMINISTRATION Chapter 8 Internet Protocol (IP) Addressing.
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 Forwarding (after a little more addressing) EE122 Fall 2011 Scott Shenker Materials with thanks to Jennifer Rexford,
1 Network Layer Lecture 15 Imran Ahmed University of Management & Technology.
Data Communications and Networks Chapter 7 – IP Addressing ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
IP Addressing.
Lectu re 1 Recap: “Operational” view of Internet r Internet: “network of networks” m Requires sending, receiving of messages r protocols control sending,
Page 1 Network Addressing CS.457 Network Design And Management.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
IP Addressing Introductory material.
21-IP addressing Dr. John P. Abraham Professor UTPA.
CS470 Computer Networking Protocols
IP Addressing.
Cisco Confidential © 2013 Cisco and/or its affiliates. All rights reserved. 1 Cisco Networking Training (CCENT/CCT/CCNA R&S) Rick Rowe Ron Giannetti.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 19 Omar Meqdadi Department of Computer Science and Software Engineering University.
Routing. Classless Inter-Domain Routing Classful addressing scheme wasteful – IP address space exhaustion – A class B net allocated enough for 65K hosts.
Q and A, Ch. 21 IS333, Spring 2016 Victor Norman.
Introduction to Internetworking. 2 The IP Addressing Scheme (IPv4) (psu.edu) Dotted Decimal Notation: A notation more convenient for humans.
1 COMP 431 Internet Services & Protocols The IP Internet Protocol Jasleen Kaur April 21, 2016.
TCP/IP Addressing and Subnetting. IP Addressing Roadmap Format of IP Addresses Traditional Class Networks Network Masks Subnetting Supernetting Special.
IP Addressing. A 32-bit logical naming convention A dotted-decimal notation is used: – –Each number represents 8 bits. Number is Part.
IP Addressing Introductory material. An entire module devoted to IP addresses.
IP Addressing Introductory material.
4 Network Layer Part I Computer Networks Tutun Juhana
CS4470 Computer Networking Protocols
IP Addressing Introductory material.
Q and A, Ch. 21 CS332, Fall 2017 Victor Norman.
IP Addressing Introductory material.
IPv4 Addresses.
CS 457 – Lecture 14 Global Internet
Dr. John P. Abraham Professor UTPA
Supernetting Recall: subnetting allows an organization to share a single IP network address among multiple physical networks Supernetting (a.k.a. classless.
IP Addressing Introductory material
Dr. John P. Abraham Professor UTRGV
Presentation transcript:

1 Transport and TCP EE122 Fall 2011 Scott Shenker Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson and other colleagues at Princeton and UC Berkeley

Announcements All account issues should be resolved by now –Please check your accounts one last time Project 2 released on Wednesday HW2 has been released HW1 key has been released We now have a grader (probably two!) –Will grade HW1 asap… No office hours this week –Will be available M, W, and Th of next week –But not at normal office hours….so contact me for time 2

Agenda Review of addressing Forwarding Transport Next lecture: TCP and starting DNS 3

Review of Addressing Notation: dotted quad (e.g., ) –Set of four 8-bit numbers Structure: (prefix, suffix) –Network component (prefix) –Host component (suffix) Slash notation: /x means that prefix is x bits long Addressing schemes: –Original: prefix of length 8 (all addresses in /8s) –Classful: opening bits determined length of prefix E.g., 0 meant /8, 10 meant /16, 110 meant /24, 1110 meant mcast –Classless (CIDR): explicit mask defines prefix 4

5 CIDR Addressing IP Address : IP Mask: Address Mask for hostsNetwork Prefix Use two 32-bit numbers to represent a network location Address + Mask Written as /15 or 12.4/15

6 Special-Purpose Address Blocks Private addresses –By agreement, not routed in the public Internet –For networks not meant for general Internet connectivity –Blocks: /8, /12, /16 Link-local –By agreement, not forwarded by any router –Used for single-link communication only –Intent: autoconfiguration (especially when DHCP fails) –Block: /16 Loopback –Address blocks that refer to the local machine –Block: /8 –Usually only /32 is used Limited broadcast –Sent to every host attached to the local network –Block: /32

Allocation Done Hierarchically ICANN gives large blocks to... Regional Internet Registries, which give blocks to... Large institutions (ISPs), which give addresses to... Individuals and smaller institutions Examples: ICANN  ARIN  AT&T  Customer ICANN  ARIN  UCB  Department 7

FAKE Example in More Detail ICANN gives ARIN several /8s, including 12.0/8 –Network Prefix: ARIN gives ACME Internet a /16, /16 –Network Prefix: ACME give XYZ Hosting a /24, /24 –Network Prefix: XYZ gives customer specific address –Address:

Addressing Structure All about address aggregation –Only way to make Internet scalable (2 billion users!) Want to represent routing tables more compactly –Using aggregation, which involves special structure –Otherwise, MAC or other random addresses would be ok Will now discuss this twice –General observations on route aggregation –Structure of forwarding tables 9

Aggregation in Phone Network? My work number is Country code1 Area/City code510 Exchange643 Number

11 Scalability via Address Aggregation Provider is given /21 ( x x) / / / /23 Provider Routers in the rest of the Internet just need to know how to reach /21. The provider can direct the IP packets to the appropriate customer. Each customer given smaller prefix

Global Picture /21  Port /21  Port 2 202/8  Port 4 …………… /22  Port /24  Port /24  Port /23  Port 4 Router in Internet Core Router in ISP Only /21 listed in core /22, /23, /24 only listed in ISP’s router

Prefix Expansion Original Prefix: /21= | |00000***|******* Subprefixes: (disjoint coverage of original prefix) /22= | |000000**|******* /24= | | |******* /24= | | |******* /23= | | *|******* 13

14 Aggregation Not Always Possible / / / / /23 Provider 1Provider 2 Multi-homed customer with /23 has two providers. Other parts of the Internet need to know how to reach these destinations through both providers.  /23 route must be globally visible

Multihoming Global Picture /21  Port /23  Port /21  Port 3 …………… /22  Port /24  Port /24  Port /23  Port 4 Router in Internet Core Router in ISP /23  Port /21  Port /21  Port /21  Port 4 Router in ISP2 Which ISP does core send /23 to? It depends…..

Addresses Advertised in Two Places? Provider 1 and Provider 2 both advertise prefix –That is, they both claim they can reach prefix What problems does this cause? –None, in terms of basic connectivity! DV: routers often offered two paths to destination –Pick the shorter path Here, situation is complicated by: –Length of prefix –Policy We will return to this example…. –Focus now on multihoming as impediment to aggregation 16

Two Countervailing Forces Aggregation reduces number of advertised routes Multi-homing increases number of routes 17

18 Growth in Routed Prefixes ( ) Initial growth super-linear; no aggregation Advent of CIDR allows aggregation: linear growth Internet boom: multihoming drives superlinear growth Dot-com implosion; Internet bubble bursts Back in business

Same Table, Extended to Present 19 Stock Market Crash of 2008 What Happened Here? Linear growth Superlinear growth

20 Summary of Addressing 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 –Class-based addressing was far too coarse –Classless InterDomain Routing (CIDR) more flexible Any questions?

21 Conceptual Problems with IP Addressing

What’s Wrong with IP Addressing? Multihoming not naturally supported –Causes aggregation problems No binding to identity (spoofing, etc.) Scarce (IPv6 solves this) Forwarding hard (discuss later) ….. 22

Design Exercise: Design better addressing scheme Take five minutes Work in groups Will take three proposals We will then vote on the winner…. 23

A Better Form of Addressing? Two (or more) layers of cryptographic names –Network name (domain, subdomain, etc.) –Host name Examples: –N:H –N1:N2:H Both tied to keys (e.g., hash of public key) 24

Advantages Addresses are verifiable (challenge-response) –Prove to me that this is your address! –Hosts can prove this by signing a nonce Multihoming natural: host is both N1:H and N2:H Routing is exact match (much easier) –If you have stack of network addresses –Keep pointer to where in the stack of addresses you are Scaling not a problem… –Not that many network addresses –And can aggregate them as necessary –Explicit hierarchies more flexible than implicit ones 25

26 Forwarding

27 Forwarding Table Plays Crucial Role Table maps IP addresses into output interfaces Forwards packets based on destination address ……

28 Hop-by-Hop Packet Forwarding Forwarding table derived from: –Routing algorithms (or static configuration) Upon receiving a packet –Inspect the destination IP address in the header –Index into the forwarding table –Forward packet out appropriate interface –If no match, take default route Default route –Configured to cover cases where no matches –Allows small tables at edge (w/o routing algorithms) o if it isn’t on my subnet, send it to my ISP

Using the Forwarding Table With classful addressing, this is easy: –Early bits in address specify mask oClass A [0]: /8 Class B [10]: /16 Class C [110]: /24 –Can find exact match in forwarding table oUse prefix as index into hash table Why won’t this work for CIDR? –What’s the network prefix in this address?

Finding Matches If address fields contained masks… –…we could do an exact match on network portion! But address in packet doesn’t specify mask! –Would just take five bits! All delicacy of forwarding lookups due to CIDR –Lack of mask prevents easy exact match over prefix 30

31 Example #1: Provider w/ 4 Customers PrefixPort /22Port /24Port /24Port /23Port / / / /23 Provider Port 1 Port 2 Port 3 Port 4

−−−−−−−−− Finding the Match (at ISP’s Router) No address matches more than one prefix –But can’t easily find match Consider –First 21 bits match 4 partial prefixes –First 22 bits match 3 partial prefixes –First 23 bits match 2 partial prefixes –First 24 bits match exactly one full prefix −−−−−−− −−−−−−− −−−−−−−− / / / /23

Finding Match Efficiently Testing each entry to find a match scales poorly –On average: (number of entries) × ½ (number of bits) Leverage tree structure of binary strings –Set up tree-like data structure Return to example: 33 PrefixPort ********** ******** ******** *********4 PrefixPort ********** ******** ******** *********4

Consider four three-bit prefixes Just focusing on the bits where all the action is…. 0**  Port  Port  Port 3 11*  Port 4 34

35 Tree Structure 00* * * * ** 01 1** 01 *** 0 1

36 Walk Tree: Stop at Prefix Entries 00* * * * ** 01 1** 01 *** 0 1

37 Walk Tree: Stop at Prefix Entries 00* * * * ** 01 1** 01 *** 0 1 P1 P2P3 P4

Slightly Different Example Several of the unique prefixes go to same port 0**  Port  Port  Port 1 11*  Port 1 38

39 Prefix Tree 00* * * * ** 01 1** 01 *** 0 1 P1 P2P1

40 More Compact Representation 10* ** 0 *** 1 P2 P1 Record port associated with first match, and only over-ride when it matches another prefix during walk down tree This is longest prefix match (LPM) If you ever leave path, you are done, last matched prefix is answer

Longest Prefix Match Representation ***  Port  Port 2 If address matches both, then take longest match 41

We Use LPM Every Day….. “Everyone go outside to play…. …except for John, who has to stay inside…” We routinely insert an “except” whenever we make a general statement and then a contradictory specific statement Point: we would never explicitly list the members of the class, but instead use the term for the aggregate and then specify the exceptions 42

43 Example #2: Aggregating Customers PrefixPort /21Provider /21Provider / / / / /23 Provider / / / / /23 Provider 1

Global Picture /21  Port /21  Port /21  Port 3 …………… /22  Port /24  Port /24  Port /23  Port 4 Router in Internet Core Router in ISP1 Router in ISP /22  Port /24  Port /24  Port /23  Port 4

45 Example #3: Complications / / / / /23 Provider / / / / /23 Provider 1 Forwarding table more complicated when addressing is non-topological

Global Picture /22  Port /24  Port /24  Port /23  Port /22  Port /24  Port /24  Port /23  Port 2 …………… /22  Port /24  Port /24  Port /23  Port 4 Router in Internet Core Router in ISP1 Router in ISP /22  Port /24  Port /24  Port /23  Port 4

Matching disjoint prefixes −−−−−−−−− −−−−−−− −−−−−−− −−−−−−−− −−−−−−−−− −−−−−−− −−−−−−− −−−−−−−− If match any of these prefixes, go to Provider 1 If match any of these prefixes, go to Provider 2

48 Focusing Only on Crucial Bits Prefix destined for Provider 1 Prefix destined for Provider 2 No packet will match more than one prefix All paths reach a unique prefix

49 More Compact Representation 0 Prefix destined for Provider 1 Prefix destined for Provider 2

Longest Prefix Match −−−−−−−−−− Provider /21 Arriving packet: New Arriving packet: −−−−−−− −−−−−−−−−− −−−−−−− Provider / / /24

51 Return to multihoming example / / / / /23 Provider 1Provider 2

Global Picture with Multihoming /21  Port /23  Port /21  Port 3 …………… /22  Port /24  Port /24  Port /23  Port 4 Router in Internet Core Router in ISP /23  Port /21  Port /21  Port /21  Port 4 Router in ISP2 Which ISP does core send /23 to? LPM says ISP2….. Need explicit decisions about prefix granularity ISP1 might also advertise specific prefix

Forwarding Summary Nontrivial to find matches in CIDR –Because can’t tell where network address ends –Must walk down bit-by-bit LPM decreases size of routing table –Reducing memory consumption Multihoming and LPM might have unintended consequences…. 53

54 5 Minute Break

Anagram Contest What does this numerical anagram have to do with this alphabetical one? Don’t ignore capitals…. –Alphabetical: Stern Alpaca –Numerical: