Steve Ko Computer Sciences and Engineering University at Buffalo

Slides:



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

CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
PROTOCOLS AND ARCHITECTURE Lesson 2 NETS2150/2850.
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.
The Design Philosophy of the DARPA Internet Protocols D. D. Clark.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo.
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.
Protocol Architecture The “Common Language”. Copyright by Jorg Liebeherr 98, 99 Need for Protocols Protocols are a set of rules and conventions. By enforcing.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
Computer Network Fundamentals CNT4007C
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.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University 1 COMP/ELEC 429/556 Introduction to Computer Networks Overview Some slides used with permissions.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
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.
Layer Architecture Layer architecture simplifies the network design. It is easy to debug network applications in a layered architecture network. The network.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Distributed Shared Memory Steve Ko Computer Sciences and Engineering University at Buffalo.
Network Architecture: Design Philosophies IS250 Spring 2010 John Chuang
CSE 486/586 CSE 486/586 Distributed Systems Android Programming Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
Communication Architecture and Network Protocol Layering Networks and Protocols Prepared by: TGK First Prepared on: Last Modified on: Quality checked by:
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
Computer Networks CNT5106C
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
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.
Lecture # 02 Network Models Course Instructor: Engr. Sana Ziafat.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
OSI Model OSI MODEL. Communication Architecture Strategy for connecting host computers and other communicating equipment. Defines necessary elements for.
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
OSI Model OSI MODEL.
Network Models.
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.
Computer Communication Architecture
CSE 486/586 Distributed Systems Gossiping
Computer Network Fundamentals CNT4007C
CSE 486/586 Distributed Systems Reliable Multicast --- 1
Steve Ko Computer Sciences and Engineering University at Buffalo
Computer Networks CNT5106C
CSE 486/586 Distributed Systems Leader Election
Steve Ko Computer Sciences and Engineering University at Buffalo
CMSC104 Problem Solving and Computer Programming Fall 2010 Section 01
CSE 486/586 Distributed Systems Android Programming --- 2
The Design Philosophy of the DARPA Internet Protocols [Clark 1988]
Telemedicine.
Lecturer, Department of Computer Application
CSE 486/586 Distributed Systems Global States
DEPARTMENT OF COMPUTER SCIENCE
CSE 486/586 Distributed Systems Time and Synchronization
Understanding the OSI Reference Model
Lecture 2 Overview.
Packet Sniffing.
CPE 401 / 601 Computer Network Systems
Data and Computer Communications by William Stallings Eighth Edition
Computer Networks CNT5106C
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
EEC-484/584 Computer Networks
Lecture 4 Communication Network Protocols
OSI Model The Seven Layers
OSI Model OSI MODEL.
Introduction and Overview
Computer Networking A Top-Down Approach Featuring the Internet
Computer Networks CNT5106C
Overview of Networking
OSI Reference Model Unit II
CSE 486/586 Distributed Systems Global States
The Design Philosophy of the DARPA Internet Protocols [Clark 1988]
OSI Model 7 Layers 7. Application Layer 6. Presentation Layer
Steve Ko Computer Sciences and Engineering University at Buffalo
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
Steve Ko Computer Sciences and Engineering University at Buffalo
Presentation transcript:

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

Recap Please make an effort to come to every class. Please do the work yourself and get permissions for other sources. Also, acknowledge them. Please check if you have the background by doing PA1 all by yourself. This course will expect: Good work ethics Independence Respect for others This course is about: Introducing common problems that arise when building a distributed system Discussing algorithms, architectures, and abstractions that solve those problems Practicing how to adapt those algorithms and concepts This class expects you to figure a lot of things out yourself. Most of you will start working this year, next year, etc. The easiest way to quickly earn the respect from others is showing your independence.

Today and Next 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: next lecture Obviously can’t replace a networking course; this should be just a recap for you. 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.

What Is the Internet? 1969

What Is the Internet? 1977

What Is the Internet? Now A network of networks The fundamental goal of the original designers: interconnecting different networks by designing common protocols

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? 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? I can’t. I can’t. Yes! There’s no set rule, then the conversations can 1) take long, and 2) difficult to be repeated with different parties. It can go anywhere.

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.

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?

Returning back: What Is the Internet? A network of networks The fundamental goal of the original designers: interconnecting different networks by designing common protocols

CSE 486/586 Administrivia PA 1 is out. Please try it yourself. We’re deciding API 19 vs. API 21. Stay tuned. Please use Piazza; all announcements will go there. Signup link: http://piazza.com/buffalo/spring2016/cse486586 Anonymous/private posting: generally questions are beneficial to the whole class; please consider posting it publicly first. All announcements will be posted there. Please come to my office during the office hours! Give feedback about the class, ask questions, etc. Use good coding styles. Use the Android code style guideline posted on Piazza. After-class questions Will answer them outside. There’s a class right after this one.

Building the Internet Why care? Now: you might be just doing what’s given to you. Later: you will likely define what you want to do and do it. Internet as a case study of a distributed system Put a designer’s hat on for a moment. Questions to think about: Why? i.e., why do we want to connect computers? What is the ideal outcome? i.e., what do we want? How do we do that? Why, what, and how: E.g., planning a vacation Talk to any kid, the first question is “why?”

Why and What Why “The whole can be greater than the sum of its parts” What 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.

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 Connecting by layering with packet switching (We will not cover packet switching vs. circuit switching)

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… Application Application-to-application channels Host-to-host connectivity Link hardware

Challenges in Layering What to put on top of physical networks? Assumption (for the sake of the discussion): Packet switching (a conversation is divided into smaller units called packets). Basic things for enabling a conversation between remote hosts: Addressing (where do I send a msg?) Routing (how do I reach that address?) Most importantly, survivability Protection of a conversation as long as there’s a physical path between entities communicating and they are alive. What are some of the threats that disrupt a conversation? Packet loss, out-of-order delivery, duplicate packets, etc.

We Must Ask Ourselves… In a conversation, there are two components involved Hosts Network So, one more question: where do we want to put the functionalities? More specifically, what would be a good network/host division of labor? Addressing and routing? Yeah, probably in the network What about conversation protection mechanisms? The network or hosts?

Summary The Internet Protocol Design a system A network of networks A case study as a distributed system Protocol An agreement between multiple parties Syntax & semantics Design a system Why, what, and how Connecting by layering

Acknowledgements These slides contain material developed and copyrighted by Indranil Gupta at UIUC Mike Freedman and Jen Rexford at Princeton