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.

Slides:



Advertisements
Similar presentations
CCNA – Network Fundamentals
Advertisements

CISCO NETWORKING ACADEMY PROGRAM (CNAP)
Chapter 7: Transport Layer
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking Assist. Prof.
Lecture 7 Transport Layer
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Transport Layer 3-1 outline r TCP m segment structure m reliable data transfer m flow control m congestion control.
Transport Layer 3-1 Outline r TCP m Congestion control m Flow control.
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.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
3-1 Transport services and protocols r provide logical communication between app processes running on different hosts r transport protocols run in end.
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.
Gursharan Singh Tatla Transport Layer 16-May
OIS Model TCP/IP Model.
What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host IP treats a computer as an endpoint of communication Best.
Process-to-Process Delivery:
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
1 Chapter Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
1 Transport Layer Computer Networks. 2 Where are we?
ISO Layer Model Lecture 9 October 16, The Need for Protocols Multiple hardware platforms need to have the ability to communicate. Writing communications.
Presentation on Osi & TCP/IP MODEL
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.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
CECS 474 Computer Network Interoperability Notes for Douglas E. Comer, Computer Networks and Internets (5 th Edition) Tracy Bradley Maples, Ph.D. Computer.
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.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
Fundamentals of Computer Networks ECE 478/578 Lecture #19: Transport Layer Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Transport Layer Overview (§ )
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.5 Internetworking Chapter 25 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Copyright 2002, S.D. Personick. All Rights Reserved.1 Telecommunications Networking II Topic 20 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
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.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
Transport Layer COM211 Communications and Networks CDA College Theodoros Christophides
CSCI 465 D ata Communications and Networks Lecture 27 Martin van Bommel CSCI 465 Data Communications & Networks 1.
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
Advanced UNIX programming Fall 2002, lecture 16 Instructor: Ashok Srinivasan Acknowledgements: The syllabus and power point presentations are modified.
Transmission Control Protocol (TCP) BSAD 146 Dave Novak Sources: Network+ Guide to Networks, Dean 2013.
Transport Protocols.
4343 X2 – The Transport Layer Tanenbaum Ch.6.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
1 User Datagram Protocol. 2 Transport Protocols Provide logical communication between application processes running on different hosts Run on end hosts.
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Communication Networks NETW 501 Tutorial 2
Lecture 4 : Network Architectures (cont..) 1. 2 Summary of OSI Layers.
Ch 3. Transport Layer Myungchul Kim
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
Computer Engineering and Networks, College of Engineering, Majmaah University Protocols OSI reference MODEL TCp /ip model Mohammed Saleem Bhat
1 Chapter 24 Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
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
Introduction to TCP/IP networking
Steve Ko Computer Sciences and Engineering University at Buffalo
Steve Ko Computer Sciences and Engineering University at Buffalo
Introduction of Transport Protocols
Transport Layer Our goals:
Process-to-Process Delivery:
Process-to-Process Delivery: UDP, TCP
Steve Ko Computer Sciences and Engineering University at Buffalo
Steve Ko Computer Sciences and Engineering University at Buffalo
Presentation transcript:

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 at Buffalo

CSE 486/586, Spring 2014 Recap The Internet –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 The Internet –Connecting by layering 2

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 2014 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. 4

CSE 486/586, Spring 2014 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? 5

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

CSE 486/586, Spring 2014 Two Approaches to Survivability Approach 1: “stateful” network –The network keeps the state information about conversations 7 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 2014 Two Approaches to Survivability Approach 2: “stateless” network –The ends keep the state information about conversations 8 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 2014 Two Approaches to Survivability Stateless networks’ principle: fate-sharing –The conversation shares the same fate with the “ends.” –“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 network failures (what about replication?) –Fate-sharing is much easier to engineer. The result: a “best-effort” network –The IP (Internet Protocol) layer doesn’t really provide anything other than “best-effort” delivery (i.e., addressing and routing). –The end hosts provide conversation protection mechanisms. 9

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 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 2014 End-to-End Arguments Helps resisting the tendency to put and hide complicated things in the lower layers If a functionality must be implemented end-to-end, then don’t implement it in the network. –Exception: when there are clear performance improvements Laid out in “End-to-End Arguments in System Design” by J.H. Saltzer, D.P. Reed and D.D. Clark (optional reading) A good rule of thumb in any system design, but still not something to follow blindly 12

CSE 486/586, Spring 2014 CSE 486/586 Administrivia Office hours –Tu: 9am - 12pm, W: 10am - 1pm, Th: 1pm - 4pm, F: 12pm - 3pm PA 1 –Please try it out right away and see how far you can get. Please use Piazza; all announcements will go there. Please come to my office during the office hours! –Give feedback about the class, ask questions, etc. 13

CSE 486/586, Spring 2014 TCP/IP IP “best-effort” network –The network knows the source and the destination. –A conversation is divided into packets. –Makes the best effort to deliver packets –Packet loss, corruption, out-of-order delivery, etc. could all happen. TCP (Transmission Control Protocol) –Handles the problems –Implemented at the end hosts 14 source destination IP network TCP

CSE 486/586, Spring 2014 OK; Let’s Think about It Together… Is this always a good thing? Is today’s Internet still stateless? 15

CSE 486/586, Spring 2014 TCP An end-to-end protocol Protects conversations –Receiver is supposed to send an ack (acknowledgement) packet. –Packet loss  retransmission –Out-of-order delivery, duplicate packets  sequence numbers –Packet corruption  checksum Controls congestion –The network might be over-utilized –Prevents the network from collapsing (which was actually a concern in the late 80’s) TCP is an abstraction: a reliable, byte-stream connection 16

CSE 486/586, Spring A (Very) Brief Overview of TCP Three-way handshake to establish connection –Host A sends a SYN (open) to the host B –Host B returns a SYN acknowledgment (SYN ACK) –Host A sends an ACK to acknowledge the SYN ACK Why 3-way instead of 2-way? –Reachability SYN SYN ACK ACK Data A B

CSE 486/586, Spring 2014 Retransmission Timeout & retransmission to handle packet loss 18 Packet Timeout Packet ACK Timeout Packet lost

CSE 486/586, Spring 2014 The Dark Side of TCP There’s overhead associated. –Connection establishment: 3-way handshake –Packet loss: retransmission timeout –Congestion control: doesn’t utilize full bandwidth More importantly, some applications do not need these. Examples? So, enter UDP (User Datagram Protocol): exposes almost exactly what IP can give you. 19

CSE 486/586, Spring Why Would Anyone Use UDP? Fine control over what data is sent and when –As soon as an application process writes –… UDP will package the data and send the packet No delay for connection establishment –UDP just blasts away without any formal preliminaries –… which avoids introducing any unnecessary delays No connection state –No allocation of buffers, parameters, sequence #s, etc. –… making it easier to handle many active clients at once Small packet header overhead –UDP header is only eight-bytes long

CSE 486/586, Spring Popular Applications That Use UDP Multimedia streaming –Retransmitting lost/corrupted packets is not worthwhile –By the time the packet is retransmitted, it’s too late –E.g., telephone calls, video conferencing, gaming Simple query protocols like Domain Name System –Overhead of connection establishment is overkill –Easier to have the application retransmit if needed –Will cover this in a separate lecture “Address for “ ”

CSE 486/586, Spring 2014 What Applications See 22 TCPUDP IP Device Drivers Network Interface OS App Socket API

CSE 486/586, Spring 2014 Summary What to put on top of physical networks? –Layers providing survivability Where to put functionalities? –Fate-sharing & end-to-end arguments –IP layer doesn’t provide much –TCP handles most of the survivability issues TCP & UDP: the two transport protocols of the Internet What interface do applications see? –Socket API Next: An introduction to Android programming 23

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