15-744: Computer Networking

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

15-744: Computer Networking L-2 Design Considerations.
IST 201 Chapter 9. TCP/IP Model Application Transport Internet Network Access.
L-2 Internet Design Philosophy 1. 2 Today’s Lecture Layers and protocols Design principles in internetworks.
CS 268: Lecture 2 (Layering & End-to-End Arguments)
Review on Networking Technologies Linda Wu (CMPT )
15-744: Computer Networking L-2 Design Considerations.
Network Layer IS250 Spring 2010
Gursharan Singh Tatla Transport Layer 16-May
* EECS 582 Advanced Operating Systems James Priestley University of Michigan Day 4: Internetworking January 12, 2012 Credit for the majority of these slides.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Process-to-Process Delivery:
EPL606 Topic 1 Introduction Part B - Design Considerations 1 The majority of the slides in this course are adapted from the accompanying slides to the.
CS 268: Lecture 3 (Layering & End-to-End Arguments)
Chapter 1 Overview Review Overview of demonstration network
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Protocols and the TCP/IP Suite
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 5 UDP and Its Applications.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
Advance Computer Networking L-2 Design Considerations Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
CS 268: Computer Networking L-2 Design Considerations.
Protocol Layering Chapter 11.
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
The Transport Layer Implementation Services Functions Protocols
Design Considerations
Instructor Materials Chapter 9: Transport Layer
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Whirlwind Tour Of Lectures So Far
15-744: Computer Networking
Slides taken from: Computer Networking by Kurose and Ross
Chapter 5 Network and Transport Layers
Networking Devices.
Scaling the Network: The Internet Protocol
The Design Philosophy of the DARPA Internet Protocols [Clark 1988]
Distributed Systems (Section B)
Understand the OSI Model Part 2
CT1303 LAN Rehab AlFallaj.
TCP Transport layer Er. Vikram Dhiman LPU.
Lecture 2 Overview.
NET323 D: Network Protocols
CS 457 – Lecture 10 Internetworking and IP
Transport Layer Unit 5.
CPE 401 / 601 Computer Network Systems
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Advance Computer Networking
CS 268: Lecture 4 (TCP/IP Architecture)
15-744: Computer Networking
Chapter 20 Network Layer: Internet Protocol
NET323 D: Network Protocols
Process-to-Process Delivery:
TCP/IP Protocol Suite: Review
Lecture 6: TCP/IP Networking 1nd semester By: Adal ALashban.
TCP/IP Protocol Suite: Review
System Models and Networking Chapter 2,3
1 TRANSMISSION CONTROL PROTOCOL / INTERNET PROTOCOL (TCP/IP) K. PALANIVEL Systems Analyst, Computer Centre Pondicherry University, Puducherry –
CSCD 330 Network Programming
CS4470 Computer Networking Protocols
Scaling the Network: The Internet Protocol
Introduction to Networks
EE 122: Lecture 22 (Overlay Networks)
15-744: Computer Networking
OSI Reference Model Unit II
Process-to-Process Delivery: UDP, TCP
CSE 542: Operating Systems
OSI Model 7 Layers 7. Application Layer 6. Presentation Layer
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Presentation transcript:

15-744: Computer Networking L-3 Design Considerations

Announcements Project Lecture signup  will post assignment by Monday Project ideas list – will update by next Monday Meeting times on Friday to discuss possible project ideas (will bring signup to Wed lecture) Project proposal (~1pg – intro/related work/plan of work) – due by email noon 1/29 Lecture signup  will post assignment by Monday

Lecture: Design Considerations How to determine split of functionality Across protocol layers Across network nodes Assigned Reading [SRC84] End-to-end Arguments in System Design [Cla88] Design Philosophy of the DARPA Internet Protocols Optional Reading [CT90] Architectural Considerations for a New Generation of Protocols [Clark02] Tussle in Cyberspace: Defining Tomorrow’s Internet

Outline Design principles in internetworks IP problems Rethinking IP architecture

Connect existing networks Goals [Clark88] Connect existing networks initially ARPANET and ARPA packet radio network Survivability ensure communication service even in the presence of network and router failures Support multiple types of services Must accommodate a variety of networks Allow distributed management Allow host attachment with a low level of effort Be cost effective Allow resource accountability

Goal 0: Connecting Networks How to internetwork various network technologies ARPANET, X.25 networks, LANs, satellite networks, packet networks, serial links… Many differences between networks Address formats Performance – bandwidth/latency Packet size Loss rate/pattern/handling Routing What are some choices?

Challenge 1: Address Formats Map one address format to another? Bad idea  many translations needed Provide one common format Map lower level addresses to common format

Challenge 2: Different Packet Sizes Define a maximum packet size over all networks? Either inefficient or high threshold to support Implement fragmentation/re-assembly Who is doing fragmentation? Who is doing re-assembly?

Gateway Alternatives Translation Standardization Difficulty in dealing with different features supported by networks Scales poorly with number of network types (N^2 conversions) Standardization “IP over everything” (Design Principle 1) Minimal assumptions about network Hourglass design

IP Standardization Minimum set of assumptions for underlying net Minimum packet size Reasonable delivery odds, but not 100% Some form of addressing unless point to point Important non-assumptions: Perfect reliability Broadcast, multicast Priority handling of traffic Internal knowledge of delays, speeds, failures, etc Also achieves Goal 3: Supporting Varieties of Networks

Tradeoff: No assumptions, no guarantees. IP Hourglass Need to interconnect many existing networks Hide underlying technology from applications Decisions: Network provides minimal functionality “Narrow waist” email WWW phone... SMTP HTTP RTP... TCP UDP… IP ethernet PPP… CSMA async sonet... copper fiber radio... Applications Technology Tradeoff: No assumptions, no guarantees.

IP Layering (Principle 2) Relatively simple Sometimes taken too far Application Transport Network Link Host Router Router Host

Goal 1: Survivability If network disrupted and reconfigured Communicating entities should not care! No higher-level state reconfiguration How to achieve such reliability? Where can communication state be stored? Network Host Failure handing Replication “Fate sharing” Net Engineering Tough Simple Switches Maintain state Stateless Host trust Less More

Principle 3: Fate Sharing Connection State State No State Lose state information for an entity if and only if the entity itself is lost. Examples: OK to lose TCP state if one endpoint crashes NOT okay to lose if an intermediate router reboots Is this still true in today’s network? NATs and firewalls Survivability compromise: Heterogeneous network  less information available to end hosts and Internet level recovery mechanisms

Principle 4: Soft-state Announce state Refresh state Timeout state Penalty for timeout – poor performance Robust way to identify communication flows Possible mechanism to provide non-best effort service Helps survivability

Principle 5: End-to-End Argument Deals with where to place functionality Inside the network (in switching elements) At the edges Argument There are functions that can only be correctly implemented by the endpoints – do not try to completely implement these elsewhere Guideline not a law

Example: Reliable File Transfer Host A Host B Appl. Appl. OK OS OS Solution 1: make each step reliable, and then concatenate them Solution 2: end-to-end check and retry

E2E Example: File Transfer Even if network guaranteed reliable delivery Need to provide end-to-end checks E.g., network card may malfunction The receiver has to do the check anyway! Full functionality can only be entirely implemented at application layer; no need for reliability from lower layers Does FTP look like E2E file transfer? TCP provides reliability between kernels not disks Is there any need to implement reliability at lower layers?

Discussion Yes, but only to improve performance If network is highly unreliable Adding some level of reliability helps performance, not correctness Don’t try to achieve perfect reliability! Implementing a functionality at a lower level should have minimum performance impact on the applications that do not use the functionality See Clark’s comment on 1% loss rates

Examples What should be done at the end points, and what by the network? Reliable/sequenced delivery? Addressing/routing? Security? What about Ethernet collision detection? Multicast? Real-time guarantees?

Goal 2: Types of Service Principle 6: network layer provides one simple service: best effort datagram (packet) delivery All packets are treated the same Relatively simple core network elements Building block from which other services (such as reliable data stream) can be built Contributes to scalability of network No QoS support assumed from below In fact, some underlying nets only supported reliable delivery Made Internet datagram service less useful! Hard to implement without network support QoS is an ongoing debate…

Types of Service TCP vs. UDP Elastic apps that need reliability: remote login or email Inelastic, loss-tolerant apps: real-time voice or video Others in between, or with stronger requirements Biggest cause of delay variation: reliable delivery Today’s net: ~100ms RTT Reliable delivery can add seconds. Original Internet model: “TCP/IP” one layer First app was remote login… But then came debugging, voice, etc. These differences caused the layer split, added UDP

Goal 4: Decentralization Principle 7: Each network owned and managed separately Will see this in BGP routing especially Principle 7’: Be conservative in what you send and liberal in what you accept Unwritten rule Especially useful since many protocol specifications are ambiguous E.g. TCP will accept and ignore bogus acknowledgements

The “Other” goals 5. Attaching a host 6. Cost effectiveness But… Host must implement hard part   transport services Not too bad in practice 6. Cost effectiveness Packet overhead less important by the year Packet loss rates low Economies of scale won out Internet cheaper than most dedicated networks But…

7. Accountability Huge problem Accounting Accountability and security Billing? (mostly flat-rate. But phones have become that way also - people like it!) Inter-ISP payments Hornet’s nest. Complicated. Political. Hard. Accountability and security Huge problem. Worms, viruses, etc. Partly a host problem. But hosts very trusted. Authentication Purely optional. Many philosophical issues of privacy vs. security. Greedy sources aren’t handled well

Other IP Design Weaknesses Weak administration and management tools Incremental deployment difficult at times Result of no centralized control No more “flag” days Are active networks the solution?

Summary: Internet Architecture Packet-switched datagram network IP is the “compatibility layer” Hourglass architecture All hosts and routers run IP Stateless architecture no per flow state inside network TCP UDP IP Satellite Ethernet ATM

Summary: Minimalist Approach Dumb network IP provide minimal functionalities to support connectivity Addressing, forwarding, routing Smart end system Transport layer or application performs more sophisticated functionalities Flow control, error control, congestion control Advantages Accommodate heterogeneous technologies (Ethernet, modem, satellite, wireless) Support diverse applications (telnet, ftp, Web, X windows) Decentralized network administration

Summary Successes: IP on everything! Drawbacks… but perhaps they’re totally worth it in the context of the original Internet. Might not have worked without them! “This set of goals might seem to be nothing more than a checklist of all the desirable network features. It is important to understand that these goals are in order of importance, and an entirely different network architecture would result if the order were changed.”

Outline Design principles in internetworks IP problems Rethinking IP architecture

IP Address Problem (1991) Address space depletion Why? In danger of running out of classes A and B Why? Class C too small for most domains Very few class A – IANA (Internet Assigned Numbers Authority) very careful about giving Class B – greatest problem Sparsely populated – but people refuse to give it back

IP Address Utilization (‘98) http://www.caida.org/outreach/resources/learn/ipv4space/

IPv4 Routing Problems Core router forwarding tables were growing large Class A: 128 networks, 16M hosts Class B: 16K networks, 64K hosts Class C: 2M networks, 256 hosts 32 bits does not give enough space encode network location information inside address – i.e., create a structured hierarchy

Solution 1 – CIDR Assign multiple class C addresses Assign consecutive blocks RFC1338 – Classless Inter-Domain Routing (CIDR)

IP Address Utilization (‘06) http://xkcd.com/195/

http://www.potaroo.net/tools/ipv4/

What Now? Last /8 given to RIR in 1/2011 Mitigation IPv6? Reclaim addresses (e.g. Stanford gave back class A in 2000) More NAT? Resale markets Slow down allocation from RIRs to LIRs (i.e. ISPs) IPv6?

Solution 2 - NAT Network Address Translation (NAT) Alternate solution to address space Kludge (but useful) Sits between your network and the Internet Translates local network layer addresses to global IP addresses Has a pool of global IP addresses (less than number of hosts on your network)

Pool of global IP addresses NAT Illustration Pool of global IP addresses Destination Source Global Internet G P Private Network Dg Sg Data NAT Dg Sp Data Operation: Source (S) wants to talk to Destination (D): Create Sg-Sp mapping Replace Sp with Sg for outgoing packets Replace Sg with Sp for incoming packets D & S can be just IP addresses or IP addresses + port #’s

Solution 3 - IPv6 Scale – addresses are 128bit Simplification Header size? Simplification Removes infrequently used parts of header 40byte fixed size vs. 20+ byte variable IPv6 removes checksum Relies on upper layer protocols to provide integrity IPv6 eliminates fragmentation Requires path MTU discovery Requires 1280 byte MTU

IPv6 Changes TOS replaced with traffic class octet Flow Help soft state systems Maps well onto TCP connection or stream of UDP packets on host-port pair Easy configuration Provides auto-configuration using hardware MAC address to provide unique base Additional requirements Support for security Support for mobility

IPv6 Changes Protocol field replaced by next header field Support for protocol demultiplexing as well as option processing Option processing Options are added using next header field Options header does not need to be processed by every router Large performance improvement Makes options practical/useful

Outline Design principles in internetworks IP problems Rethinking IP architecture

Connect existing networks Goals [Clark88] Connect existing networks initially ARPANET and ARPA packet radio network Survivability ensure communication service even in the presence of network and router failures Support multiple types of services Must accommodate a variety of networks Allow distributed management Allow host attachment with a low level of effort Be cost effective Allow resource accountability

Changes Over Time Developed in simpler times Common goals, consistent vision With success came multiple goals – examples: ISPs must talk to provide connectivity but are fierce competitors Privacy of users vs. government’s need to monitor User’s desire to exchange files vs. copyright owners Must deal with the tussle between concerns in design

NSF Programs Stagnation FIND  FIA (aka FIND phase 2) 100x100  Clean Slate Design PlanetLab Overcoming the Internet Impasse through Virtualization  GENI FIND  FIA (aka FIND phase 2) Phase 1 – 50 “small” projects Phase 2 – 4 large “integrative” projects – All with security + core focus Named Data Networking MobilityFirst NEBULA eXpressive Internet Architecture

Named Data Networking In the beginning... ... while today First applications strictly focused on host-to-host interprocess communication: Remote login, file transfer, ... Internet was built around this host-to-host model. Architecture is well-suited for communication between pairs of stationary hosts. ... while today Vast majority of Internet usage is data retrieval and service access. Users care about the content and are oblivious to location. They are often oblivious as to delivery time: Fetching headlines from CNN, videos from YouTube, TV from Tivo Accessing a bank account at www.bank.com.

To the beginning... What if you could re-architect the way “bulk” data transfer applications worked HTTP FTP Email etc. ... knowing what we know now?

What does the network look like… ISP ISP

What should the network look like… ISP ISP

MobilityFirst Fundamental change in design goals and assumptions ~10B+ mobile/wireless end-points as “first-class” Internet devices Mobility as the norm for end-points and access networks Wireless access – varying link BW/quality, multiple radios, disconnections Stronger security/trust requirements due to: open radio medium need for dynamic trust association for mobile devices/users increased privacy concerns (e.g. location tracking) greater potential for network failure Mobile applications involve location/content/context and energy constraints Technology has also changed a lot in the ~40 yrs since IP was designed Moore’s law improvements in computing and storage (~5-6 orders-of- magnitude gain in cost performance since 1970) Edge/core disparity, fast fiber but continuing shortage of radio spectrum

MobilityFirst Clean-slate protocol design that directly addresses the problems of mobility at scale, while also strengthening the trust model End-point and network mobility at scale Intrinsic properties of wireless medium More stringent security/trust requirements Special needs of emerging mobile applications Fixed internet access is treated as a special case of the more general design Although the “sweet spot” of our protocol is wireless/mobile, we believe that our design provides important benefits to fixed network applications Security/trust Robustness Fault tolerance Context/content

Goals Host + network mobility No global root of trust Intentional data receipt Byzantine robustness Content addressability Evolvable network

XIA Vision We envision a future Internet that: Is trustworthy Security broadly defined is the biggest challenge Supports long-term evolution of usage models Including host-host, content retrieval, services, … Supports long term technology evolution Not just for link technologies, but also for storage and computing capabilities in the network and end-points Allows all actors to operate effectively Despite differences in roles, goals and incentives

Today’s Internet Src: Client IP Dest: Server IP Client IP Server IP TCP Client IP Server IP Client retrieves document from a specific web server But client mostly cares about correctness of content, timeliness Specific server, file name, etc. are not of interest Transfer is between wrong principals What if the server fails? Optimizing transfer using local caches is hard Need to use application-specific overlay or transparent proxy – bad!

A Bit More Detail … XIA Transformational Ideas Anywhere Hash( ) = CID? Flexible Trust Management Dest: Service ID Content Name? Dest: Client ID Diverse Communicating Entities Content ID Dest: Content ID Anywhere Intrinsic Security Hash( ) = CID? XIA Transformational Ideas

P1: Evolvable Set of Principals Identifying the intended communicating entities reduces complexity and overhead No need to force all communication at a lower level (hosts), as in today’s Internet Allows the network to evolve Content a581fe9 ... Services d9389fa … Future Entities Host 024e881 … 39c0348 …

P2: Security as Intrinsic as Possible Security properties are a direct result of the design of the system Do not rely on correctness of external configurations, actions, data bases Malicious actions can be easily identified Content a581fe9 ... Services d9389fa … Host Future Entities 024e881 … 39c0348 …

Summary: IP Design Relatively simple design Beginning to show age Some parts not so useful (TOS, options) Beginning to show age Unclear what the solution will be

Next Lecture: Routing BGP (Wed) Assigned Reading MIT BGP Class Notes [Gao00] On inferring autonomous system relationships in the Internet