Addressing Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.

Slides:



Advertisements
Similar presentations
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-
Advertisements

4 IP Address (IPv4)  A unique 32-bit number  Identifies an interface (on a host, on a router, …)  Represented in dotted-quad notation
Fundamentals of Computer Networks ECE 478/578 Lecture #14: InternetWorking Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
1 o Two issues in practice – Scale – Administrative autonomy o Autonomous system (AS) or region o Intra autonomous system routing protocol o Gateway routers.
CSE331: Introduction to Networks and Security Lecture 8 Fall 2002.
Cs/ee 143 Communication Networks Chapter 6 Internetworking Text: Walrand & Parekh, 2010 Steven Low CMS, EE, Caltech.
S305 – Network Infrastructure Chapter 5 Network and Transport Layers Part 2.
Chapter 18. IP: Internet Protocol Addresses
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.
Oct 26, 2004CS573: Network Protocols and Standards1 IP: Routing and Subnetting Network Protocols and Standards Autumn
Oct 21, 2004CS573: Network Protocols and Standards1 IP: Addressing, ARP, Routing Network Protocols and Standards Autumn
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.
Introduction to TCP/IP
IP Addressing and Forwarding COS 461: Computer Networks Spring 2011 Mike Freedman 1.
Addressing Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
IP Addressing and Forwarding COS 461: Computer Networks Spring 2009 (MW 1:30-2:50 in COS 105) Michael Freedman
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
Network Layer IS250 Spring 2010
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.
Network Redundancy Multiple paths may exist between systems. Redundancy is not a requirement of a packet switching network. Redundancy was part of the.
© 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.
G64INC Introduction to Network Communications Ho Sooi Hock Internet Protocol.
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.
NUS.SOC.CS2105 Ooi Wei Tsang Application Transport Network Link Physical you are here.
CIS 3360: Internet: Network Layer Introduction Cliff Zou Spring 2012.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
© 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.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Review: –Ethernet What is the MAC protocol in Ethernet? –CSMA/CD –Binary exponential backoff Is there any relationship between the minimum frame size and.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
1 Network Layer Lecture 15 Imran Ahmed University of Management & Technology.
15.1 Chapter 15 Connecting LANs, Backbone Networks, and Virtual LANs Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or.
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.
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.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
CCNA 1 v3.0 Module 9 TCP/IP Protocol Suite and 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.
5: DataLink Layer5-1 Virtualization of networks Virtualization of resources: powerful abstraction in systems engineering: r computing examples: virtual.
Computer Communication and Networking Lecture # 4 by Zainab Malik 1.
1 COMP 431 Internet Services & Protocols The IP Internet Protocol Jasleen Kaur April 21, 2016.
1 K. Salah Module 5.1: Internet Protocol TCP/IP Suite IP Addressing ARP RARP DHCP.
1 Layer 3: Routing & Addressing Honolulu Community College Cisco Academy Training Center Semester 1 Version
Computer Communication Networks
IP: Addressing, ARP, Routing
Link Layer 5.1 Introduction and services
A quick intro to networking
Chapter 5 Network and Transport Layers
Scaling the Network: The Internet Protocol
COMPUTER NETWORKS CS610 Lecture-45 Hammad Khalid Khan.
MAC Addresses and ARP 32-bit IP address:
Chapter 4 Data Link Layer Switching
Hubs Hubs are essentially physical-layer repeaters:
COS 561: Advanced Computer Networks
CS 457 – Lecture 8 Switching and Forwarding
Chapter 5 Network and Transport Layers
Hubs Hubs are essentially physical-layer repeaters:
CS 457 – Lecture 10 Internetworking and IP
CS 457 – Lecture 14 Global Internet
Network Layer Mike Freedman COS 461: Computer Networks
COS 461: Computer Networks
Network Layer: Control/data plane, addressing, routers
Scaling the Network: The Internet Protocol
Presentation transcript:

Addressing Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm

Goals of the Course Study networked systems –Large in size and scope –Heterogeneous components –Decentralized control Explore design trade-offs –Scalability, performance, reliability, flexibility, … And design principles –Layering, end-to-end argument, late binding, hierarchy, randomization, indirection, caching, … Today’s class: addressing

What is Addressing? Providing suitable identifiers to nodes –So you can direct data to a node –So you know which node sent the data –… and how to send data back to that node Addressing in the U.S. mail –Zip code: –Street: Olden Street –Building on street: 35 –Room in building: 306 –Name of occupant: Jennifer Rexford ???

Phone Numbers Hierarchical –Country code (1) –Area code (609) –Local exchange (258) –Subscriber number (5182) Some exceptions –800: indirection service (free for the caller) –900: indirection service (billed to the caller) –Cell phone numbers, where the node is mobile –... blurring distinction between name and address

Overview of Today’s Lecture Two widely-used addressing schemes –Medium Access Control (MAC) addresses –Internet Protocol (IP) addresses Key concepts in addressing –Number of unique addresses –Allocating addresses to nodes –Flat vs. hierarchical structure –Persistent vs. temporary identifiers –Handling diminishing address space –Spoofing of source addresses Discussion of the Cerf/Kahn 1974 paper

Some Questions Could every host on the Internet have an arbitrary, unique numerical address? –Would it scale? If hierarchy is necessary, how to do it? –Tying the addressing to the topology & routing? –What about mobile hosts? Temporary addresses? Who should allocate the addresses? –Network provider? Device manufacturer? Does the sender of the traffic need to authenticate itself? The destination? –What about spoofing and impersonation?

Comparing MAC and IP Addresses MACIP AssignmentHard-coded in the adaptor Configured or learned Size48 bits32 bits (in v4) StructureFlatHierarchical PortabilityConstant over life of the adapter Changes with time and location PurposeDelivery within a single network Delivery across an inter-network E.g., social security number vs. postal address

MAC Addresses

Flat name space of 48 bits –Typically written in six octets in hex –E.g., C A9 for my Ethernet Organizationally unique identifier –Assigned by IEEE Registration Authority –Determines the first 24 bits of the address –E.g., C5 corresponds to “Dell Inc” Remainder of the MAC address –Allocated by the manufacturer –E.g., A9 for my Ethernet card

Scalability Challenges MAC addresses are flat –Multiple hosts on the same network –No relationship between MAC addresses Data plane –Forwarding based on MAC address –Table size? Look-up overhead? Control plane –Determining where the host is located –Keeping the information up-to-date

Forwarding Frames to Destination Adapter Shared media –Forward all frames on the shared media –Adapter grabs frames with matching dest address Multi-hop switched networks –Flood every frame over every link? –Learn where the MAC address is located? host... host

When to Learn? When the adapter connects to the network? –Requires adaptor to register its presence –Overhead even when not sending/receiving –Leading to control messages and large tables When the adapter sends a frame? –Source MAC address is in the frame –Allows switch to learn about the adapter When the adapter needs to receive a frame? –Destination MAC address is in the frame –Switch needs to figure out how to get there

Motivation For Self Learning Switches forward frames selectively –Forward frames only on segments that need them Switch table –Maps dest MAC address to outgoing interface –Goal: construct the switch table automatically switch A B C D

Self Learning: Building the Table When a frame arrives –Inspect the source MAC address –Associate the address with the incoming interface –Store the mapping in the switch table –Use a TTL field to eventually forget the mapping A B C D Switch learns how to reach A.

Self Learning: Handling Misses When frame arrives with unfamiliar dest –Forward the frame out all of the interfaces –… except for the one where the frame arrived –Hopefully, this case won’t happen very often A B C D Switch floods frame that is destined to C.

Switch Filtering/Forwarding When switch receives a frame: index switch table using MAC dest address if entry found for destination then { if dest on segment from which frame arrived then drop the frame else forward the frame on interface indicated } else flood forward on all but the interface on which the frame arrived

MAC Addresses Disadvantages –Large forwarding tables in the data plane –Flooding overhead to learn location information –Lack of privacy Advantages –Persistent identifier (well, except for spoofing) –Mobile hosts are easy to handle –Forwarding-table look-up is a simple match

COS 461: Internet Control Protocols (#8) Dynamic Host Configuration Protocol (DHCP) –End host learns how to send packets –Learn IP address, DNS servers, and gateway Address Resolution Protocol (ARP) –Others learn how to send packets to the end host –Learn mapping between IP and MAC addresses host DNS... host DNS... router / / ??? router

COS 461: Hubs and Switches (#11) Different devices switch different things –Physical layer: electrical signals (repeaters, hubs) –Link layer: frames (bridges, switches) –Network layer: packets (routers) Key ideas in switches –Self learning of the switch table –Cut-through switching –Spanning trees Virtual LANs (VLANs) Frame header Packet header TCP header User data Application gateway Transport gateway Router Bridge, switch Repeater, hub

IP Addresses

IP Addressing: Scalability Through Hierarchy Hierarchy through IP prefixes –Routing between networks –Allocation of address blocks Non-uniform hierarchy –More efficient address allocation –More complex packet forwarding Dealing with limited address space –Larger address space (IPv6 with 128 bits) –Sharing a small set of addresses (NAT) –Dynamic assignment of addresses (DHCP)

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

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

Hierarchy Through Prefixes Divided into network and host portions /24 is 24-bit prefix (2 8 addresses) Network (24 bits)Host (8 bits)

Example IP Address and Subnet Mask Address Mask

Scalability Improved Number related hosts from a common subnet – /24 on the left LAN – /24 on the right LAN 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 entry host LAN 1... host LAN 2... router WAN / /24 forwarding table host

Classful Addressing (and Dotted Quad Notation) In the olden days… –Class A: 0* Very large /8 blocks (e.g., MIT has /8) –Class B: 10* Large /16 blocks (e.g,. Princeton has /16) –Class C: 110* Small /24 blocks (e.g., AT&T Labs has /24) –Class D: 1110* Multicast groups –Class E: 11110* Reserved for future use (sounds a bit scary…) And then, address space became scarce…

Classless Inter-Domain Routing (CIDR) IP Address : IP Mask: Address Mask for hostsNetwork Prefix Use two 32-bit numbers to represent a network. Network number = IP address + Mask Usually written as /15

CIDR = Hierarchy in Address Allocation / / / / / /16 :::::: / / /24 :::: / / / / / / / /19 :::::: Prefixes are key to Internet scalability –Routing protocols and packet forwarding based on prefixes –Today, routing tables contain ~150, ,000 prefixes

Obtaining a Block of Addresses Separation of control –Prefix: assigned to an institution –Addresses: assigned to nodes by the institution Who assigns prefixes? –Internet Corp. for Assigned Names and Numbers Allocates large blocks to Regional Internet Registries –Regional Internet Registries (RIRs) E.g., ARIN (American Registry for Internet Numbers) Allocated to ISPs and large institutions in a region –Internet Service Providers (ISPs) Allocate address blocks to their customers Who may, in turn, allocate to their customers…

whois –h whois.arin.net OrgName: Princeton University OrgID: PRNU Address: Office of Information Technology Address: 87 Prospect Avenue City: Princeton StateProv: NJ PostalCode: Country: US NetRange: CIDR: /16 NetName: PRINCETON NetHandle: NET Parent: NET NetType: Direct Allocation RegDate:

Longest Prefix Match Forwarding Forwarding tables in IP routers –Maps each IP prefix to next-hop link(s) Destination-based forwarding –Packet has a destination address –Router identifies longest-matching prefix –Pushing complexity into forwarding decisions / / / / / destination forwarding table Serial0/0.1 outgoing link

Are 32-bit Addresses Enough? Not all that many unique addresses –2 32 = 4,294,967,296 (just over four billion) –Plus, some are 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: a larger address space –IPv6 has 128-bit addresses (2 128 = × )

Short-Term Solutions: Limping Along Network Address Translation (COS 461 lecture #9) –Allowing multiple hosts to share an IP address –IP addresses not unique and not end-to-end NAT inside outside

Short-Term Solutions: Limping Along Dynamic Host Configuration Protocol (lecture #8) –Share a pool of addresses among many hosts –Dynamically assign an IP address upon request arriving client DHCP server DHCP discover (broadcast) DHCP offer DHCP request DHCP ACK (broadcast)

Growth in the Number of IP Prefixes CIDR pre-CIDR Internet boom Internet bust recovery?

Vint Cerf and Bob Kahn “A Protocol for Packet Network Intercommunication” (IEEE Trans. on Communications, May 1974) Written when Vint Cerf was an assistant professor at Stanford, and Bob Kahn was working at ARPA.

Life in the Early 1970s Multiple unconnected networks –ARPAnet –Data-over-cable –Packet satellite (Aloha) –Packet radio ARPAnet satellite net

Differences Across Packet-Switched Networks Addressing Maximum packet size Timing for handling success/failure of delivery Handling of lost or corrupted data Routing, fault detection, status information, … ARPAnet satellite net

Where to Handle Heterogeneity? Application process? End host? Packet switches? Someplace else? Compatible process and host conventions –Obviate the need to support all combinations Retain the unique features of each network –Avoid changing the local network components Introduce the notion of a gateway

Gateways Between Different Kinds of Networks ARPAnet satellite net Gateway “Embed internetwork packets in local packet format or extract them” Route (at internetwork level) to next gateway gateway Internetwork layer Internetwork appears as a single, uniform entity Despite the heterogeneity of the local networks Network of networks

Internetwork Packet Format Internetwork header in standard format –Interpreted by the gateways and end hosts Source and destination addresses –Uniformly and uniquely identify every host Ensure proper sequencing of the data –Include a sequence number and byte count Enable detection of corrupted text –Checksum for an end-to-end check on the text local header text checksum source address dest. address seq. # byte count flag field internetwork header

Process-Level Communication Enable pairs of processes to communicate –Full duplex –Unbounded but finite-length messages –E.g., keystrokes or a file Key ideas –Port numbers to (de)multiplex packets –Breaking messages into segments –Sequence numbers and reassembly –Retransmission and duplicate detection –Window-based flow control

Differences in Max Packet Size Select smallest packet size as the new max? Coordinate to determine max size on a path? Enable gateway to fragment a large packet? –Reassembly by the next gateway? The receiver? Design trade-offs –Coordination overhead for identifying the max –Overhead of sending many small packets –Overhead of buffering packets for reassembly

Discussion What did they get right? –Which ideas were key to the Internet’s success? –Which decisions still seem right today? What did they miss? –Which ideas had to be added later? –Which decisions seem wrong in hindsight? What would you do in a clean-slate design? –If your goal wasn’t to support communication between disparate packet-switched networks –Would you do anything differently?