Protocol Specification. Using Finite State Machines
|
|
- Garry Lambert
- 6 years ago
- Views:
Transcription
1 Protocol Specification Using Finite State Machines
2 Introduction Specification Phase of Protocol Design allows the designer to prepare an abstract model of the protocol for testing and analysis. Finite State Machine is a tool to model the desired behavior of a communciation system. The advantage of communicating finite state machines is that they make it possible to decide many properties in communication protocols, beyond the level of just detecting such properties. A FSM consists of several states. Inputs into the machine are combined with the current state of the machine to determine the new state or next state of the machine. Depending on the state of the machine, outputs are generated based on either the state or the state and inputs of the machine.
3 FSM
4 States of FSM
5 Transition Triggered by input events the FSM moves from one state to other based on the Transition Function Transition Function produces the Output and Next State depending on Current State and Input Event While in particular state FSM is not active, it is waiting for an input to perform next activity
6 The two communication mechanisms for concurrent processes can be categorized into Message Passing and Shared Data Message passing involves sending and receiving messages through a channel In the Shared Memory approach memory is common to both processes, and they can read and write to the memory
7 Asynchronous & Synchronous Communications Two approaches to implement message passing Synchronous Communication The processes involved in communication are required to participate at the point of communication simultaneously If Process A attempts to send a message and Process B is not ready to receive it, Process A must wait until Process B is ready Asynchronous Communication The processes involved in communication are not required to participate at the point of communication simultaneously If Process A attempts to send a message and Process B is not ready to receive it, Process A sends it anyway
8 Asynchronous communication requires use of buffers to store messages The protocol specification methods studied in this course will be mostly based upon Asynchronous Communication In most communicating systems, a FIFO (First In First Out) discipline is enforced on sending and receiving messages During a send event the message is appended to the end of the queue while a receive event removes a message from the front It is possible to modify the communications channel to provide additional communication constructs such as priority signals
9 Communicating FSMs Model Protocol is described as a set of Communicating FSMs (CFSMs) Each CFSM represents a component (or process) of the network In OSI term, a protocol entity, e.g. sender, receiver Each process can be defined by a set of states The process waits in a state for an event to occur When this input event occurs, it transfers to another state, and in doing so can send out messages and performs other tasks Each CFSM is represented by a directed labeled graph where Nodes represent states (conditions) of the process Edges represent transitions (events) of the process This model is the model used by the ITU Specification and Description Language (SDL)
10 Transistion diagram
11
12 Communication service specification Service Specification Service primitives Request, response, indication and confirm Service primitive parameters: data size, checksum size, caller address etc.
13 Components of Protocol to be specified Protocol Specification Communication services: Describes type of communication services of a protocol. (Connectionless, connection oriented), channel, signals Peer Entities: Describes the behaviour of protocol and its relation with peer enity. Interfaces: Defines the way the service primitives provides services to its upper layer and uses services from lower layers. Interactions: Message exchange betweeen two process of a protocol. Can be synch or asynch in nature. Message format: Defines sub components of message which includes data and control information
14
15 Communication service specification Data Transfer phase specification using FSM: FSM of service specification for reliable data transfer
16
17 Develop sender, receiver sides of reliable data transfer protocol (rdt) consider only unidirectional data transfer but control info will flow on both directions! use finite state machines (FSM) to specify sender, receiver
18 reliable transfer over a reliable channel underlying channel perfectly reliable no bit errors no loss of packets separate FSMs for sender, receiver: sender sends data into underlying channel receiver read data from underlying channel
19 channel with bit errors To recover from errors: acknowledgements (ACKs): receiver explicitly tells sender that pkt received OK negative acknowledgements (NAKs): receiver explicitly tells sender that pkt had errors sender retransmits pkt on receipt of NAK
20 FSM specification
21 Specification with no errors
22 With error
23 Channel specifications communication paths used to connect one or more FSMs of protocol processes. lossless or lossy channel unbounded FIFO ( first in first out)
24 Channel specifications two messages (m0 and m1) transfer channel representation by using a FSM. The channel has four states: 0-idle 1-buffering m0 (msg 0) 2-buffering m1(msg 1) 3-buffering ack (ack) Initially channel will be in state 0, later moves to states 1, 2 and 3 and returns back, based on certain message transitions.
25 Interface Specifications Internal interfaces: mechanisms that are internal to the protocol; External interfaces: mechanisms that make it possible for other implementations like applications, higher or lower layer services or both, etc., to interact with the protocol being developed. A partial protocol implementation with internal and external interfaces
26 FSM of an interface of bus access protocol
27 FSM of an interface of bus access protocol States: Idle (state 1) indicates that bus access protocol is not active; wait for bus (state 2) denotes that the protocol is waiting for bus to be idle; get data (state 3) gets the data to be transferred on the bus; write data (state 4) denotes that, it writes data on the bus; and release bus (state 5), releases the bus. Transitions: bus req makes the FSM to transit from state 1 to state 2; bus idle allows the FSM to make transit from state 2 to state 3; data ready makes the FSM to transit from state 3 to state 4; data write makes the FSM to move from state 4 to state 5; bus release allows the FSM to transit from state 5 to state 1.
28 Interactions FSM of interactions between ISDN system and a user for activation of call forwarding service
29 Multimedia protocol specifications QoS (Quality of Service) requirements of multimedia streams: Throughput: the data transmission rate data compression several Mbps (Megabits per second). Transfer Delay: time between the production of data at the source and its presentation at the sink Jitter: variance of the transfer delay use of buffers to reduce jitter Error Rates: loss of data in a continuous data transfer
30 Multimedia protocol specifications FSM specifications Buffer requirements
31 Multimedia protocol specifications FSM specifications Synchronization X number of video frames are synch with y number of audio samples
32 Examples of Internet protocol specifications Alternating bit window protocol The Sender_ABP takes a message which is ready to be sent and transmits the message together with a sequence number via the Data Medium to the Receiver_ABP. The Sender_ABP waits for an acknowledgment from the Receiver_ABP containing the same sequence number. If the appropriate acknowledgment arrives, the Sender_ABP performs the same procedure for the next waiting message, but this time with an inverted sequence number (i.e., 0! 1; 1! 0). If the appropriate acknowledgment does not arrive within a certain period of time (timeout period), the Sender_ABP resends the same message. The Receiver_ABP, when in an idle state, acknowledges all incoming messages. After receiving a message with a correct sequence number, it will acknowledge (through Ack Medium) only packets with the last correct sequence number until a Receive signal is received. After that, it will invert the sequence number, and go back to the idle state.
33 Examples of Internet protocol specifications Alternating bit window protocol
34 Examples of Internet protocol specifications Alternating bit window protocol ABP is a link layer protocol. Works on FIFO channels only. Guarantees reliable message delivery with a 1-bit sequence number.
35
36
37
Protocol Specification
Protocol Specification Prof Pallapa. Venkataram Department of Electrical Communication Engineering Indian Institute of Science Bangalore 560012, India Objectives of the Chapter To define a formal specification
More informationSpecification of Protocol Using FSM
Specification of Protocol Using FSM Prof. P.Venkataram Department of Electrical Communication Engineering Indian Institute of Science Bangalore 560012, India Objectives of the Chapter To define a formal
More informationChapter 3: Transport Layer
Chapter 3: Transport Layer Chapter goals: understand principles behind transport layer services: multiplexing/demultiplex ing reliable data transfer flow control congestion control instantiation and implementation
More informationInternet transport-layer protocols. Transport services and protocols. Sending and receiving. Connection-oriented (TCP) Connection-oriented
Transport services and protocols Internet -layer protocols logical communication between processes protocols run in end systems send side: breaks app messages into segments, passes to layer rcv side: reassembles
More informationCS 3516: Computer Networks
Welcome to CS 3516: Computer Networks Prof. Yanhua Li Time: 9:00am 9:50am M, T, R, and F Location: AK 219 Fall 2018 A-term 1 Some slides are originally from the course materials of the textbook Computer
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer Lec 9: Reliable Data Transfer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 All material copyright 1996-2012 J.F Kurose
More informationLast time. Mobility in Cellular networks. Transport Layer. HLR, VLR, MSC Handoff. Introduction Multiplexing / demultiplexing UDP 14-1
Last time Mobility in Cellular networks HLR, VLR, MSC Handoff Transport Layer Introduction Multiplexing / demultiplexing UDP 14-1 This time Reliable Data Transfer Midterm review 14-2 Chapter 3 outline
More informationChapter 3: Transport Layer Part A
Chapter 3: Transport Layer Part A Course on Computer Communication and Networks, CTH/GU The slides are adaptation of the slides made available by the authors of the course s main textbook 3: Transport
More informationCSC 401 Data and Computer Communications Networks
CSC 401 Data and Computer Communications Networks Transport Layer Principles of Reliable Data Transfer Sec 3.4 Prof. Lina Battestilli 2017 Fall Transport Layer Chapter 3 Outline 3.1 Transport-layer Services
More informationCSE 3214: Computer Network Protocols and Applications Transport Layer (Part 2) Chapter 3 outline. UDP checksum. Port numbers
CSE 3214: Computer Network Protocols and Applications Transport Layer (Part 2) Dr. Peter Lian, Professor Department of Computer Science and Engineering York University Email: peterlian@cse.yorku.ca Office:
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
More informationLecture 9: Transpor Layer Overview and UDP
Lecture 9: Transpor Layer Overview and UDP COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016, J.F Kurose
More informationChapter III: Transport Layer
Chapter III: Transport Layer UG3 Computer Communications & Networks (COMN) Mahesh Marina mahesh@ed.ac.uk Slides thanks to Myungjin Lee and copyright of Kurose and Ross Transport services and protocols
More informationCSC358 Week 4. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved
CSC358 Week 4 Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Logistics Assignment 1 due this Friday Office hour on Feb
More informationCSCE 463/612 Networks and Distributed Processing Spring 2018
CSCE 463/612 Networks and Distributed Processing Spring 2018 Transport Layer II Dmitri Loguinov Texas A&M University February 27, 2018 Original slides copyright 1996-2004 J.F Kurose and K.W. Ross 1 Chapter
More informationCS 3516: Advanced Computer Networks
Welcome to CS 3516: Advanced Computer Networks Prof. Yanhua Li Time: 9:00am 9:50am M, T, R, and F Location: Fuller 320 Fall 2017 A-term 1 Some slides are originally from the course materials of the textbook
More informationChapter 3 outline. 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management
Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport: TCP segment
More informationCMSC 332 Computer Networks Reliable Data Transfer
CMSC 332 Computer Networks Reliable Data Transfer Professor Szajda Last Time Multiplexing/Demultiplexing at the Transport Layer. How do TCP and UDP differ? UDP gives us virtually bare-bones access to the
More informationAnnouncement. Homework 1 due last night, how is that? Will discuss some problems in the lecture next week
Announcement Homework 1 due last night, how is that? Will discuss some problems in the lecture next week Should have completed at least part II of project 1 Homework 2 will be out next week Review of Previous
More informationELEN Network Fundamentals Lecture 15
ELEN 4017 Network Fundamentals Lecture 15 Purpose of lecture Chapter 3: Transport Layer Reliable data transfer Developing a reliable protocol Reliability implies: No data is corrupted (flipped bits) Data
More informationCSC 4900 Computer Networks: Reliable Data Transport
CSC 4900 Computer Networks: Reliable Data Transport Professor Henry Carter Fall 2017 Last Time Multiplexing/Demultiplexing at the Transport Layer. How do TCP and UDP differ? UDP gives us virtually bare-bones
More informationCOSC4377. Useful Linux Tool: screen
Lecture 10 Useful Linux Tool: screen Alternative to having multiple ssh/putty screens, you can have multiple virtual screens within the same session. To open a screen session: ~$ screen To suspend the
More informationTransport services and protocols. Chapter 3 outline. Internet transport-layer protocols Chapter 3 outline. Multiplexing/demultiplexing
Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless : UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented : TCP segment structure reliable
More informationCMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 7
CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 7 1 Lab2 and Homework questions Available on course website 2 Chapter 3 outline 3.1 transport-layer
More informationCSCD 330 Network Programming
CSCD 330 Network Programming Lecture 9 Transport Layer Spring 2018 Reading: Begin Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Outline Overview
More informationLecture 10: Transpor Layer Principles of Reliable Data Transfer
Lecture 10: Transpor Layer Principles of Reliable Data Transfer COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016,
More informationTDTS06: Computer Networks
TDTS06: Computer Networks Instructor: Niklas Carlsson Email: niklas.carlsson@liu.se Notes derived from Computer Networking: A Top Down Approach, by Jim Kurose and Keith Ross, Addison-Wesley. The slides
More informationProtocoles et Interconnexions
Protocoles et Interconnexions Course Overview and Introduction Dario Vieira Department of Computer Science EFREI Computer Networking Preliminaries Transport Layer Network Layer Introduction Terminology
More informationComputer Networking. Reliable Transport. Reliable Transport. Principles of reliable data transfer. Reliable data transfer. Elements of Procedure
Computer Networking Reliable Transport Prof. Andrzej Duda duda@imag.fr Reliable Transport Reliable data transfer Data are received ordered and error-free Elements of procedure usually means the set of
More informationChapter 3: Transport Layer. Chapter 3 Transport Layer. Chapter 3 outline. Transport services and protocols
Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete
More informationData Communications & Networks. Session 6 Main Theme Reliable Data Transfer. Dr. Jean-Claude Franchitti
Data Communications & Networks Session 6 Main Theme Reliable Data Transfer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Adapted
More informationProblem 7. Problem 8. Problem 9
Problem 7 To best answer this question, consider why we needed sequence numbers in the first place. We saw that the sender needs sequence numbers so that the receiver can tell if a data packet is a duplicate
More informationCMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018
CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP
More informationThe GBN sender must respond to three types of events:
Go-Back-N (GBN) In a Go-Back-N (GBN) protocol, the sender is allowed to transmit several packets (when available) without waiting for an acknowledgment, but is constrained to have no more than some maximum
More informationTransport layer. Our goals: Understand principles behind transport layer services: Learn about transport layer protocols in the Internet:
Transport layer Our goals: Understand principles behind transport layer services: Multiplexing/demultiplexing Reliable data transfer Flow control Congestion control Learn about transport layer protocols
More informationPrinciples of Reliable Data Transfer
Principles of Reliable Data Transfer 1 Reliable Delivery Making sure that the packets sent by the sender are correctly and reliably received by the receiver amid network errors, i.e., corrupted/lost packets
More informationThe flow of data must not be allowed to overwhelm the receiver
Data Link Layer: Flow Control and Error Control Lecture8 Flow Control Flow and Error Control Flow control refers to a set of procedures used to restrict the amount of data that the sender can send before
More informationComputer Networking: A Top Down Approach
Computer Networking: A Top Down Approach Seventh Edition Chapter 3 Transport Layer Slides in this presentation contain hyperlinks. JAWS users should be able to get a list of links by using INSERT+F7 Transport
More informationCC451 Computer Networks
CC451 Computer Networks Lecture 5 Transport Layer Transport Layer 3-1 Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students,
More informationDistributed Information Processing
Distributed Information Processing 6 th Lecture Eom, Hyeonsang ( 엄현상 ) Department of Computer Science & Engineering Seoul National University Copyrights 2016 Eom, Hyeonsang All Rights Reserved Outline
More informationLecture 5. Transport Layer. Transport Layer 1-1
Lecture 5 Transport Layer Transport Layer 1-1 Agenda The Transport Layer (TL) Introduction to TL Protocols and Services Connectionless and Connection-oriented Processes in TL Unreliable Data Transfer User
More informationTransport layer: Outline
Transport layer Our goals: Understand principles behind transport layer services: Multiplexing/demultiplexing Reliable data transfer Flow control Congestion control Learn about transport layer protocols
More informationUNIT IV -- TRANSPORT LAYER
UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission
More informationDistributed Systems Inter-Process Communication (IPC) in distributed systems
Distributed Systems Inter-Process Communication (IPC) in distributed systems Mathieu Delalandre University of Tours, Tours city, France mathieu.delalandre@univ-tours.fr 1 Inter-Process Communication in
More informationCOM-208: Computer Networks - Homework 3
COM-208: Computer Networks - Homework 3 1 Application Layer 1. (P22) Consider distributing a file of F = 15 Gbits to N peers. The server has an upload rate of u s = 30 Mbps, and each peer has a download
More informationCommunication. Overview
Communication Chapter 2 1 Overview Layered protocols Remote procedure call Remote object invocation Message-oriented communication Stream-oriented communication 2 Layered protocols Low-level layers Transport
More informationCMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 8
CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 8 1 A lot of students have been having difficulty seeing the HTTP packets generated when navigating
More informationCongestion Control 3/16/09
Congestion Control Outline Resource Allocation Queuing TCP Congestion Control Spring 009 CSE3064 Issues Two sides of the same coin pre-allocate resources so at to avoid congestion control congestion if
More informationComputer Networks & Security 2016/2017
Computer Networks & Security 2016/2017 Transport Layer (04) Dr. Tanir Ozcelebi Courtesy: Kurose & Ross Courtesy: Forouzan TU/e Computer Science Security and Embedded Networked Systems Transport Layer Our
More informationBasic Protocols and Error Control Mechanisms
Basic Protocols and Error Control Mechanisms Nicola Dragoni Embedded Systems Engineering DTU Compute ACK/NACK Protocol Polling Protocol PAR Protocol Exchange of State Information Two-Way Handshake Protocol
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer Reti degli Elaboratori Canale AL e MZ Prof.ssa Chiara Petrioli a.a. 2016/2017 We thank for the support material Prof. Kurose-Ross All material copyright 1996-2012 J.F Kurose and
More information10.1 REVIEW QUESTIONS
CHAPTER 10 Data Link Control 10.1 REVIEW QUESTIONS 1. Transmission means to put a signal on a line. Communication is a meaningful and orderly relationship between devices that send and receive data. 3.
More informationES623 Networked Embedded Systems
ES623 Networked Embedded Systems Introduction to Network models & Data Communication 16 th April 2013 OSI Models An ISO standard that covers all aspects of network communication is the Open Systems Interconnection
More informationProcess groups and message ordering
Process groups and message ordering If processes belong to groups, certain algorithms can be used that depend on group properties membership create ( name ), kill ( name ) join ( name, process ), leave
More informationChapter 4 Communication
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI
More informationETSF10 Internet Protocols Transport Layer Protocols
ETSF10 Internet Protocols Transport Layer Protocols 2012, Part 2, Lecture 2.2 Kaan Bür, Jens Andersson Transport Layer Protocols Special Topic: Quality of Service (QoS) [ed.4 ch.24.1+5-6] [ed.5 ch.30.1-2]
More informationIPC. Communication. Layered Protocols. Layered Protocols (1) Data Link Layer. Layered Protocols (2)
IPC Communication Chapter 2 Inter-Process Communication is the heart of all DSs. Processes on different machines. Always based on low-level message passing. In this chapter: RPC RMI MOM (Message Oriented
More informationUNIVERSITÄT DES SAARLANDES Fachrichtung 6.2 Informatik Prof. Dr.-Ing. Holger Hermanns
UNIVERSITÄT DES SAARLANDES Fachrichtung 6.2 Informatik Prof. Dr.-Ing. Holger Hermanns U N S A I V E R S R A V I I T A S S E N S I MoDeST Tutorial This document provides a tutorial for MoDeST, a modeling
More informationData Communications. Automatic Repeat Request Medium Access Control
Data Communications Automatic Repeat Request Medium Access Control Handling Error Cases Automatic Repeat request(arq), also known as Automatic Repeat Query, is an error-control method ARQ uses acknowledgements
More informationAnswers to Sample Questions on Transport Layer
Answers to Sample Questions on Transport Layer 1) Which protocol Go-Back-N or Selective-Repeat - makes more efficient use of network bandwidth? Why? Answer: Selective repeat makes more efficient use of
More informationECE 650 Systems Programming & Engineering. Spring 2018
ECE 650 Systems Programming & Engineering Spring 2018 Networking Transport Layer Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) TCP/IP Model 2 Transport Layer Problem solved:
More informationChapter 4 Communication
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI
More informationERROR AND FLOW CONTROL. Lecture: 10 Instructor Mazhar Hussain
ERROR AND FLOW CONTROL Lecture: 10 Instructor Mazhar Hussain 1 FLOW CONTROL Flow control coordinates the amount of data that can be sent before receiving acknowledgement It is one of the most important
More informationLecture 3 The Transport Control Protocol (TCP) Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it
Lecture 3 The Transport Control Protocol (TCP) Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it TCP segment structure URG: urgent data (generally not used) ACK: ACK # valid PSH: push
More informationThe Transport Layer Multiplexing, Error Detection, & UDP
CPSC 852 Internetworking The Transport Layer Multiplexing, Error Detection, & UDP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc852
More informationICS 451: Today's plan. Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections
ICS 451: Today's plan Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections Alternating Bit Protocol: throughput tied to latency with
More informationReliable Transport : Fundamentals of Computer Networks Bill Nace
Reliable Transport 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administration Stuff is due HW #1
More informationPeer entities. Protocol Layering. Protocols. Example
Peer entities Protocol Layering An Engineering Approach to Computer Networking Customer A and B are peers Postal worker A and B are peers Protocols A protocol is a set of rules and formats that govern
More informationLast Class: RPCs and RMI. Today: Communication Issues
Last Class: RPCs and RMI Case Study: Sun RPC Lightweight RPCs Remote Method Invocation (RMI) Design issues Lecture 9, page 1 Today: Communication Issues Message-oriented communication Persistence and synchronicity
More informationReliable Data Transfer
Reliable Data Transfer Kai Shen Reliable Data Transfer What is reliable data transfer? guaranteed arrival no error in order delivery Why is it difficult? unreliable underlying communication channel, which
More informationChapter 3 outline. TDTS06 Computer networks. Principles of Reliable data transfer. Reliable data transfer: getting started
Chapter 3 outline TDTS06 Computer networks Lecture 4: Transport layer II Reliable data delivery and TCP Jose M. Peña, jospe@ida.liu.se IDA/ADIT, LiU 2009-08-28 3.1 Transport-layer services 3.2 Multiplexing
More informationChapter 11 Data Link Control 11.1
Chapter 11 Data Link Control 11.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 11-1 FRAMING The data link layer needs to pack bits into frames, so that each
More informationRequest for Comments: 938 February 1985
Network Working Group Request for Comments: 938 Trudy Miller ACC February 1985 Functional and Interface Specification STATUS OF THIS MEMO This RFC is being distributed to members of the DARPA research
More informationDesign and Performance Evaluation of a New Spatial Reuse FireWire Protocol. Master s thesis defense by Vijay Chandramohan
Design and Performance Evaluation of a New Spatial Reuse FireWire Protocol Master s thesis defense by Vijay Chandramohan Committee Members: Dr. Christensen (Major Professor) Dr. Labrador Dr. Ranganathan
More informationData & Computer Communication
Basic Networking Concepts A network is a system of computers and other devices (such as printers and modems) that are connected in such a way that they can exchange data. A bridge is a device that connects
More informationChapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control
Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside
More informationCS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 21: Network Protocols (and 2 Phase Commit)
CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring 2003 Lecture 21: Network Protocols (and 2 Phase Commit) 21.0 Main Point Protocol: agreement between two parties as to
More informationRdt2.0: channel with packet errors (no loss!)
Rdt2.0: channel with packet errors (no loss!) What mechanisms do we need to deal with error? Error detection Add checksum bits Feedback Acknowledgements (ACKs): receiver explicitly tells sender that packet
More informationDATA LINK LAYER UNIT 7.
DATA LINK LAYER UNIT 7 1 Data Link Layer Design Issues: 1. Service provided to network layer. 2. Determining how the bits of the physical layer are grouped into frames (FRAMING). 3. Dealing with transmission
More informationWilliam Stallings Data and Computer Communications. Chapter 10 Packet Switching
William Stallings Data and Computer Communications Chapter 10 Packet Switching Principles Circuit switching designed for voice Resources dedicated to a particular call Much of the time a data connection
More informationrdt2.0 has a fatal flaw!
rdt2. has a fatal flaw! rdt2.1:, handles garbled ACK/NAKs what happens if ACK/NAK corrupted? doesn t know what happened at! can t just retransmit: possible duplicate handling duplicates: retransmits current
More informationLecture 7: Sliding Windows. CSE 123: Computer Networks Geoff Voelker (guest lecture)
Lecture 7: Sliding Windows CSE 123: Computer Networks Geoff Voelker (guest lecture) Please turn in HW #1 Thank you From last class: Sequence Numbers Sender Receiver Sender Receiver Timeout Timeout Timeout
More informationL12: end to end layer
L12: end to end layer Dina Katabi 6.033 Spring 2007 http://web.mit.edu/6.033 Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, Sam Madden, and Robert Morris
More informationCS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP
CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering
More informationNetwork Protocols. Sarah Diesburg Operating Systems CS 3430
Network Protocols Sarah Diesburg Operating Systems CS 3430 Protocol An agreement between two parties as to how information is to be transmitted A network protocol abstracts packets into messages Physical
More informationCourse on Computer Communication and Networks. Lecture 4 Chapter 3; Transport Layer, Part A
Course on Computer Communication and Networks Lecture 4 Chapter 3; Transport Layer, Part A EDA344/DIT 423, CTH/GU Based on the book Computer Networking: A Top Down Approach, Jim Kurose, Keith Ross, Addison-Wesley.
More informationCSC 4900 Computer Networks: TCP
CSC 4900 Computer Networks: TCP Professor Henry Carter Fall 2017 Project 2: mymusic You will be building an application that allows you to synchronize your music across machines. The details of which are
More informationLecture 07 The Transport Layer (TCP & UDP) Dr. Anis Koubaa
NET 331 Computer Networks Lecture 07 The Transport Layer (TCP & UDP) Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth Edition by Kurose and Ross, (c) Pearson
More informationData Link Control Protocols
Protocols : Introduction to Data Communications Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 23 May 2012 Y12S1L07, Steve/Courses/2012/s1/its323/lectures/datalink.tex,
More informationLab 2: Implementing a Reliable Transport Protocol (30 points)
Lab 2: Implementing a Reliable Transport Protocol (30 points) Overview In this laboratory programming assignment, you will be writing the sending and receiving transport-level code for implementing a simple
More informationCourse on Computer Communication and Networks. Lecture 4 Chapter 3; Transport Layer, Part A
Course on Computer Communication and Networks Lecture 4 Chapter 3; Transport Layer, Part A EDA344/DIT 420, CTH/GU Based on the book Computer Networking: A Top Down Approach, Jim Kurose, Keith Ross, Addison-Wesley.
More information3. Quality of Service
3. Quality of Service Usage Applications Learning & Teaching Design User Interfaces Services Content Process ing Security... Documents Synchronization Group Communi cations Systems Databases Programming
More informationCPE 548 Exam #1 (50 pts) February 17, 2016
Name Class: 548 All answers must have supporting work. Any answer without support will receive no credit 1) (4 pts) Answer the following short answer questions. a) Explain the stop and wait ARQ (automatic
More informationThe Transport Layer Reliability
The Transport Layer Reliability CS 3, Lecture 7 http://www.cs.rutgers.edu/~sn4/3-s9 Srinivas Narayana (slides heavily adapted from text authors material) Quick recap: Transport Provide logical communication
More information6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1
6. Transport Layer 6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6.1 Internet Transport Layer Architecture The
More informationLecture 7: Flow Control"
Lecture 7: Flow Control" CSE 123: Computer Networks Alex C. Snoeren No class Monday! Lecture 7 Overview" Flow control Go-back-N Sliding window 2 Stop-and-Wait Performance" Lousy performance if xmit 1 pkt
More informationTransport Layer Protocols TCP
Transport Layer Protocols TCP Gail Hopkins Introduction Features of TCP Packet loss and retransmission Adaptive retransmission Flow control Three way handshake Congestion control 1 Common Networking Issues
More informationChapter III: Transport Layer
Chapter III: Transport Layer UG3 Computer Communications & Networks (COMN) Myungjin Lee myungjin.lee@ed.ac.uk Slides copyright of Kurose and Ross rdt2.0 has a fatal flaw! what happens if ACK/NAK corrupted?
More informationData and Computer Communications. Protocols and Architecture
Data and Computer Communications Protocols and Architecture Characteristics Direct or indirect Monolithic or structured Symmetric or asymmetric Standard or nonstandard Means of Communication Direct or
More informationCommunication. Distributed Systems Santa Clara University 2016
Communication Distributed Systems Santa Clara University 2016 Protocol Stack Each layer has its own protocol Can make changes at one layer without changing layers above or below Use well defined interfaces
More information