CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems The Internet in 2 Hours: The First Hour Steve Ko Computer Sciences and Engineering University.

Slides:



Advertisements
Similar presentations
Computer Networks20-1 Chapter 20. Network Layer: Internet Protocol 20.1 Internetworking 20.2 IPv IPv6.
Advertisements

IPv4 - The Internet Protocol Version 4
COS 461: Computer Networks Spring 2011 Lectures: MW 10-10:50am in Bowen 222 Prof. Mike Freedman Precepts: F 10-10:50am, 11-11:50am Preceptors: Matvey Arye,
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
1 CS 640: Introduction to Computer Networks Aditya Akella Lecture 2 Layering, Protocol Stacks, and Standards.
1 EE 122: Designing IP Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern Paxson, Jennifer.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems The Internet in 2 Hours: The Second Hour Steve Ko Computer Sciences and Engineering University.
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
Chapter 5: TCP/IP and OSI Business Data Communications, 5e.
PROTOCOLS AND ARCHITECTURE Lesson 2 NETS2150/2850.
1 Computer Networks IP: The Internet Protocol. 2 IP is a connection-less, unreliable network layer protocol IP provides best effort services in the sense.
The Design Philosophy of the DARPA Internet Protocols D. D. Clark.
Chapter 4 : TCP/IP and OSI Business Data Communications, 4e.
CPSC156a: The Internet Co-Evolution of Technology and Society Lecture 3: September 11, 2003 Internet Basics, continued Acknowledgments: R. Wang and J.
Design Philosophy of the DARPA Internet Protocols CSCI 634, Fall 2010.
CSE331: Introduction to Networks and Security Lecture 7 Fall 2002.
CSCI 4550/8556 Computer Networks Comer, Chapter 20: IP Datagrams and Datagram Forwarding.
The Design Philosophy of DARPA Internet Protocols David D. Clark.
CPSC156: The Internet Co-Evolution of Technology and Society Lecture 2: January 18, 2007 Internet Basics, continued Acknowledgments: R. Wang and J. Rexford.
5/12/05CS118/Spring051 A Day in the Life of an HTTP Query 1.HTTP Brower application Socket interface 3.TCP 4.IP 5.Ethernet 2.DNS query 6.IP router 7.Running.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems The Internet in 2 Hours: The Second Hour Steve Ko Computer Sciences and Engineering University.
Computer Networks with Internet Technology William Stallings
CS 268: Lecture 3 (TCP/IP Architecture) Ion Stoica January 28, 2003.
Fundamentals of Computer Networks ECE 478/578 Lecture #2 Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University of Arizona.
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.
Information-Centric Networks02a-1 Week 2 / Paper 1 The Design Philosophy of the DARPA Internet Protocols –David D. Clark –ACM CCR, Vol. 18, No. 4, August.
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)
Review: – computer networks – topology: pair-wise connection, point-to-point networks and broadcast networks – switching techniques packet switching and.
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.
Protocol Layering Chapter 10. Looked at: Architectural foundations of internetworking Architectural foundations of internetworking Forwarding of datagrams.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems The Internet in 2 Hours: The First Hour Steve Ko Computer Sciences and Engineering University.
1 Chapter 1 OSI Architecture The OSI 7-layer Model OSI – Open Systems Interconnection.
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 5 UDP and Its Applications.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
1 Introduction. 2 Goals for Today’s Class Course overview –Goals of the course –Structure of the course –Learning the material –Course grading –Academic.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_a Transport Protocols - UDP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
20.1 Chapter 20 Network Layer: Internet Protocol Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Fall 2005Computer Networks20-1 Chapter 20. Network Layer Protocols: ARP, IPv4, ICMPv4, IPv6, and ICMPv ARP 20.2 IP 20.3 ICMP 20.4 IPv6.
Fundamentals of Computer Networks ECE 478/578 Lecture #19: Transport Layer Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 03_b Protocol Layering Instructor: Dr. Li-Chuan Chen Date: 09/15/2003 Based in part upon slides of Prof.
1 Networking Chapter Distributed Capabilities Communications architectures –Software that supports a group of networked computers Network operating.
Internet Protocol ECS 152B Ref: slides by J. Kurose and K. Ross.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
CS 4396 Computer Networks Lab
Information-Centric Networks Section # 2.1: Internet Evolution Instructor: George Xylomenos Department: Informatics.
1 Computer Communication & Networks Lecture 19 Network Layer: IP and Address Mapping Waleed Ejaz.
Transport Protocols.
1 Network Architecture Section Network Architecture Challenge –Fill the gap between hardware capabilities and application expectations, and to.
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems The Internet in 2 Hours: The First Hour Steve Ko Computer Sciences and Engineering University.
TCP/IP PROTOCOL UNIT 6. Overview of TCP/IP Application FTP, Telnet, SMTP, HTTP.. Presentation Session TransportHost-to-HostTCP, UDP NetworkInternetIP,
Network Layer. application transport network link physical message segment packet frame signal Network Architecture.
Network Layer Protocols COMP 3270 Computer Networks Computing Science Thompson Rivers University.
A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their original slides that accompany the.
Lecture 13 IP V4 & IP V6. Figure Protocols at network layer.
Computer Networks with Internet Technology William Stallings Chapter 2 Protocols and the TCP/IP Protocol Suite.
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.
Steve Ko Computer Sciences and Engineering University at Buffalo
Steve Ko Computer Sciences and Engineering University at Buffalo
Computer Networks with Internet Technology William Stallings
Steve Ko Computer Sciences and Engineering University at Buffalo
CS 268: Lecture 4 (TCP/IP Architecture)
Computer Science 457 Networking and the Internet
NET 323D: Networks Protocols
Steve Ko Computer Sciences and Engineering University at Buffalo
Steve Ko Computer Sciences and Engineering University at Buffalo
Presentation transcript:

CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems The Internet in 2 Hours: The First Hour Steve Ko Computer Sciences and Engineering University at Buffalo

CSE 486/586, Spring 2012 Today and Monday A brief overview of the Internet Two things –The design philosophy of the Internet (“The Design Philosophy of the DARPA Internet Protocols” by David Clark): today –Transport & application layers: Monday Obviously can’t replace a networking course; please take it if you haven’t---it’s interesting! Why teach these? –Because I want to ;-) –If there’s no network, there’s no distributed system. –Not just that: the design of the Internet is a great example of designing a solid distributed system. 2

CSE 486/586, Spring 2012 What Is the Internet?

CSE 486/586, Spring 2012 What Is the Internet?

CSE 486/586, Spring 2012 What Is the Internet? Now A network of networks The fundamental goal of the original designers: interconnecting different networks by designing common protocols 5

CSE 486/586, Spring Detour: What is a Protocol? Example: making an appointment Well…I think we need a better way… Please meet with me for 1.5 hours starting at 1:30pm on February 8, 2006? I can’t. Yes! Please meet with me for 1.5 hours starting at 3:00pm on February 8, 2006? Please meet with me for 1.5 hours starting at 4:30pm on February 8, 2006?

CSE 486/586, Spring Detour: What Is a Protocol? Bob: When are you free to meet for 1.5 hours during the next two weeks? Alice: 10:30am on Feb 8 and 1:15pm on Feb 9. Bob: Book me for 1.5 hours at 10:30am on Feb 8. Alice: Yes.

CSE 486/586, Spring Detour: What is a Protocol? An agreement between entities in communication –Two things: 1) syntax, 2) semantics Syntax –What language? –What’s the time format? Granularity? –Etc. Semantics –If broken into pieces, how do you reassemble? –If a msg gets lost, what do you do? –If you get a msg, what do you do? –Etc.

CSE 486/586, Spring 2012 Returning back: What Is the Internet? A network of networks The fundamental goal of the original designers: interconnecting different networks by designing common protocols 9

CSE 486/586, Spring 2012 How to Interconnect? There were many types of networks based on various physical media. –Coax, radio, satellite, etc. The original designers wanted to interconnect those somehow. A potential solution –Designing a “multi-media” network (e.g., via physical signal translator for various physical media) Solution chosen? –Hint: “All problems in computer science can be solved by another level of indirection.” --- David Wheeler –Layering with packet switching –(We will not cover packet switching vs. circuit switching) 10

CSE 486/586, Spring Layering: A Modular Approach Sub-divide the problem –Each layer relies on services from layer below –Each layer exports services to layer above Interface between layers defines interaction –Hides implementation details –Layers can change without disturbing other layers “The” computer science approach –ISA, OS, networking… Link hardware Host-to-host connectivity Application-to-application channels Application

CSE 486/586, Spring 2012 Internet 5-Layer Stack This is what it ultimately evolved into. 12 Messages (UDP) or Streams (TCP) Application Transport Network UDP or TCP packets IP datagrams Network-specific frames Message Layers Underlying network Data Link Layer This is where all distributed algorithms/techniques run

CSE 486/586, Spring IP Suite: End Hosts vs. Routers HTTP TCP IP Ethernet interface HTTP TCP IP Ethernet interface IP Ethernet interface Ethernet interface SONET interface SONET interface host router HTTP message TCP segment IP packet

CSE 486/586, Spring The Internet Protocol Suite UDPTCP Data Link Physical Applications The Hourglass Model Waist The waist facilitates interoperability FTPHTTPTFTPNV TCPUDP IP NET 1 NET 2 NET n …

CSE 486/586, Spring 2012 Why That Way? Let’s dig deeper… In the order of importance –Internet communication must continue despite loss of networks or gateways. –The Internet must support multiple types of communications service. –The Internet architecture must accommodate a variety of networks. –The Internet architecture must permit distributed management of its resources. –The Internet architecture must be cost effective. –The Internet architecture must permit host attachment with a low level of effort. –The resources used in the Internet architecture must be accountable. 15

CSE 486/586, Spring 2012 Survivability Was the (second) most important design priority –(First was incorporating heterogeneous networks via packet switching) –Why? Military context What does it mean? –“if two entities are communicating over the Internet, and some failure causes the Internet to be temporarily disrupted and reconfigured to reconstitute the service, then the entities communicating should be able to continue without having to reestablish or reset the high level state of their conversation.” What does it mean? –As long as there is a physical path, two entities should be able to talk without reestablishing or resetting the conversation. –There is only one failure---total partition. 16

CSE 486/586, Spring 2012 So, How to Protect a Conversation? Think about the following scenario 17 Hey! The Internet Hey!

CSE 486/586, Spring 2012 Two Approaches to Survivability Approach 1: “stateful” network –The network keeps the state information about conversations 18 Hey! The Internet OK; Bob is sending something to Alice. I’d better keep another copy in case it gets lost…

CSE 486/586, Spring 2012 Two Approaches to Survivability Approach 2: “stateless” network –The end keeps the state information about conversations 19 Hey! (and let me know if you receive this) The Internet (OK; Alice didn’t speak to me for a while. I’ll send it again.)

CSE 486/586, Spring 2012 Two Approaches to Survivability Stateless networks’ principle: fate-sharing –The conversation shares the same fate with the “end” –“it is acceptable to lose the state information associated with an entity if, at the same time, the entity itself is lost.” Advantages –Fate-sharing protects against any number of intermediate failures (what about replication?) –Fate-sharing is much easier to engineer. The result: dumb pipes –IP doesn’t really provide anything other than “best-effort” delivery. –The end hosts need to deal with reliability issues. Is this always a good thing? Is today’s Internet still stateless? 20

CSE 486/586, Spring 2012 IPv4 Packet 21 4-bit Version 4-bit Header Length 8-bit Type of Service (TOS) 16-bit Total Length (Bytes) 16-bit Identification 3-bit Flags 13-bit Fragment Offset 8-bit Time to Live (TTL) 8-bit Protocol 16-bit Header Checksum 32-bit Source IP Address 32-bit Destination IP Address Options (if any) Payload 20-byteheader

CSE 486/586, Spring 2012 TCP Part of the effort to keep the network stateless Takes care of reliability issues –A conversation can survive under transient failures in the Internet. What are those issues? –Packet loss –Packet corruption –Duplicate packets –Out-of-order delivery –Congestion –Insufficient buffer at the end hosts TCP is an abstraction: reliable, in-order byte stream 22

CSE 486/586, Spring Acknowledgements These slides contain material developed and copyrighted by –Indranil Gupta at UIUC –Mike Freedman and Jen Rexford at Princeton