Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.

Slides:



Advertisements
Similar presentations
TCP Sliding Windows, Flow Control, and Congestion Control Lecture material taken from Computer Networks A Systems Approach, Fourth Ed.,Peterson and Davie,
Advertisements

Advanced Computer Networks : TCP Sliding Windows1 TCP Sliding Windows, Flow Control, and Congestion Control Lecture material taken from “Computer Networks.
OSI MODEL Maninder Kaur
Answers of Exercise 7 1. Explain what are the connection-oriented communication and the connectionless communication. Give some examples for each of the.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
Spring 2002CS 4611 Outline Encoding Framing Error Detection Sliding Window Algorithm Point-to-Point Links.
Chapter 2 Designing Reliable Protocols Professor Rick Han University of Colorado at Boulder
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
EE 122: Error detection and reliable transmission Ion Stoica September 16, 2002.
1 Outline Encoding Framing Error Detection Sliding Window Algorithm Point-to-Point Links.
ACN: TCP Sliding Windows1 TCP Sliding Windows, with Flow Control, and Congestion Control Based on Peterson and Davie Textbook.
Advanced Computer Networks : TCP Sliding Windows1 TCP Sliding Windows, Flow Control, and Congestion Control Lecture material taken from “Computer Networks.
Spring 2004 EE4272 Direct Link Networks (I) Hardware Building Blocks (nodes & links) 5 Issues before Exchanging Packets  Encoding  Framing  Error Detection.
Spring 2003CS 4611 Outline Encoding Framing Error Detection Sliding Window Algorithm Point-to-Point Links.
CS335 Networking & Network Administration Tuesday, April 20, 2010.
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
Chapter 2 Network Models.
The OSI Model A layered framework for the design of network systems that allows communication across all types of computer systems regardless of their.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
Gursharan Singh Tatla Transport Layer 16-May
SEPT, 2005CSI Part 2.2 Protocols and Protocol Layering Robert Probert, SITE, University of Ottawa.
18-Aug-154/598N: Computer Networks Overview Direct link networks –Error detection - Section 2.4 –Reliable transmission - Section 2.5.
Process-to-Process Delivery:
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
Presentation on Osi & TCP/IP MODEL
Principles of Reliable Data Transfer. Reliable Delivery Making sure that the packets sent by the sender are correctly and reliably received by the receiver.
Protocol Layering Chapter 10. Looked at: Architectural foundations of internetworking Architectural foundations of internetworking Forwarding of datagrams.
CSE 461 University of Washington1 Topic The sliding window algorithm – Pipelining and reliability – Building on Stop-and-Wait Yeah! Network.
ECE 4450:427/527 - Computer Networks Spring 2015 Dr. Nghi Tran Department of Electrical & Computer Engineering Lecture 5.3: Reliable Transmission Dr. Nghi.
 An ISO is a multi national body dedicated to worldwide agreement on international standards.  An ISO standard that covers all aspects of network communications.
1 Chapter 16 Protocols and Protocol Layering. 2 Protocol  Agreement about communication  Specifies  Format of messages (syntax)  Meaning of messages.
The OSI Model.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_b Transport Protocols - TCP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 15.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Chapter 5 Peer-to-Peer Protocols and Data Link Layer PART I: Peer-to-Peer Protocols ARQ Protocols and Reliable Data Transfer Flow Control.
1 Transport Layer Lecture 10 Imran Ahmed University of Management & Technology.
Copyright © Lopamudra Roychoudhuri
Prepared by Engr.Jawad Ali BSc(Hons)Computer Systems Engineering University of Engineering and Technology Peshawar.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
Transport Layer: Sliding Window Reliability
Data Link Layer Flow and Error Control. Flow Control Flow Control Flow Control Specifies the amount of data can be transmitted by sender before receiving.
1 Protocols and Protocol Layering. 2 Protocol Agreement about communication Specifies –Format of messages –Meaning of messages –Rules for exchange –Procedures.
1 Direct Link Networks: Reliable Transmission Sections 2.5.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
CSE331: Introduction to Networks and Security Lecture 4 Fall 2002.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
TCP/IP Protocol Suite Suresh Kr Sharma 1 The OSI Model and the TCP/IP Protocol Suite Established in 1947, the International Standards Organization (ISO)
Computer Networking Lecture 16 – Reliable Transport.
Chapter 3: The Data Link Layer –to achieve reliable, efficient communication between two physically connected machines. –Design issues: services interface.
Computer Communication & Networks
Reliable Transmission
Transport Layer: Sliding Window Reliability
Introduction of Transport Protocols
Process-to-Process Delivery:
TCP Sliding Windows, Flow Control, and Congestion Control
Advanced Computer Networks
CPEG514 Advanced Computer Networkst
CS4470 Computer Networking Protocols
The Transport Layer Reliability
Transport Layer Outline Intro to transport UDP
TCP Sliding Windows, Flow Control, and Congestion Control
Error detection: Outline
TCP Sliding Windows, Flow Control, and Congestion Control
Presentation transcript:

Networking

Protocol Stack Generally speaking, sending an message is equivalent to copying a file from sender to receiver.

Representation Correspondents may use different type of computers that represent text characters in different encoding. The program passes the message to the representation program, which adds header that specifies the representation and sends it to the representation program on the destination computer. The representation program at the destination forms a translation to local encoding and then passes the message up to the program at the destination computer.

Packetization It is impossible to send arbitrary long messages. The representation program will forward the message to its local packetization program, this in turn, breaks the message into packets, add a header with number, and send these packets to packetization program at the destination computer. On arrival the packets will be reassembled at the remote packetization program and passed to the representation program.

Routing The message must be routed through the network. The packetization program forwards the each packet to the router, this in turn, adds a routing header and determine where to send them. The router on the receiving host check the rout header and forward the packets towards the destination computer. Eventually, the packets arrive to the destination computer, and then passed to the packetization program at the destination computer.

Error Data is sometimes corrupted during transmission due to noise on the communication channels. It is possible to devise means to recognize errors. If the sender recognized an error the sender is asked to re- send the packet, otherwise, an acknowledgment is sent back to sender.

Protocol Stack The set of programs that the message goes through is called a protocol stack. Logically, each layer talks directly with its counterpart on the other machine, using particular protocol.

ISO-OSI Layered Model International Standard Organization Open System Interconnected

ISO-OSI Layered Model

The communication network is partitioned into the following multiple layers: Physical layer – handles the mechanical and electrical details of the physical transmission of a bit stream Data-link layer – Flow control over a signal link, buffering, and error correcting. Network layer – Routing. Transport layer – Partitioning messages into packets, maintaining packet order, controlling flow.

ISO-OSI Layered Model Session layer – implements sessions, or process-to-process communications protocols (often unused). Presentation layer – resolves the differences in formats among the various sites in the network. Application layer – interacts directly with the users.

The TCP/IP Protocol Suite In practice, the TCP/IP protocol suite became a de-facto standard of the Internet before the OSI model was defined.

The TCP/IP Protocol Layers

Internet Protocol The IP creates an internet: a network that is composed of networks. The IP performs the routing of messages across different networks.

Implementation Issues Flow Control

The recipients must have a buffer large enough to hold at least a single packet. If more packets arrive than there is no space in the buffer, the buffer will overflow. The situation in which the network is overloaded and drop packets is called congestion. In order to avoid congestion, flow control is needed. Each sender has to estimate how much free space is available in the recipient’s buffer.

Acknowledgements & Timeouts An acknowledgement (ACK) is a packet sent by one host in response to a packet it has received A timeout is a signal that an ACK/NACK to a packet that was sent has not yet been received within a specified timeframe. –A timeout triggers a retransmission of the original packet from the sender. –Propagation delay is defined as the delay between transmission and receipt of packets between hosts. –Propagation delay (a.k.a. Round Trip Time RTT) can be used to estimate timeout period

Acknowledgements & Timeouts

Buffering Sender needs to buffer data so that if data is lost, it can be resent. Receiver needs to buffer data so that if data is received out of order, it can be held until all packets are received –Flow control. How can we prevent sender overflowing receiver’s buffer? –Receiver tells sender its buffer.

Stop-and-Wait Process Sender doesn’t send next packet until he’s sure receiver has last packet (i.e. buffer can contain a single packet). The packet/Ack sequence enables reliability Sequence numbers help avoid problem of duplicate packets. Leads to large gap between packets, due to RTT. SenderReceiver

Solution: Pipelining via Sliding Window Allow multiple outstanding (un-ACKed) packets. Upper bound on un-ACKed packets, called window. Increased utilization SenderReceiver T ime … …

Sliding Window: Sender Assign sequence number to each packet Maintain three state variables: –send window size ( SWS ) –last acknowledgment received ( LAR ) –last packet sent ( LFS ) Maintain invariant: LFS - LAR <= SWS Advance LAR when ACK arrives Buffer up to SWS frames  SWS LARLFS ……

Sliding Window: Receiver Maintain three state variables –receive window size ( RWS ) –largest packet acceptable ( LFA ) –last packet received ( LFR ) Maintain invariant: LFA - LFR <= RWS Packet SeqNum arrives: –if LFR < SeqNum < = LFA accept –if SeqNum LFA discarded  RWS LFRLFA ……

Sliding Window Example Sender Receiver A A

Sliding Window Summary First role is to enable reliable delivery of packets: –Timeouts and acknowledgements. Second role is to enable in order delivery of packets (FIFO): –Receiver doesn’t pass data up to app until it has packets in order. Third role is to enable flow control: –Prevents server from overflowing receiver’s buffer

Piggybacking The recipient needs to inform the sender of two unrelated conditions: –The data has arrived correctly or not (ACK or NACK) –The buffer space available for additional transmissions. If the communication is bidirectional, the control data can be piggybacked in the data going on the other direction.

Implementation Issues Congestion Control

TCP Congestion Control A special case of flow control is the congestion control algorithm used in TCP. –Cooperation: The control is not exercised by a single system, but the combined actions of all the system involved. –External resources: The resource being managed is external to the controlling systems. –Indirection: The controlling systems do not have direct access to the controlled resource. Congestion: –Packets are dropped by routers that implement the network. –Dropped packets are retransmitted, which incurs additional overhead, thus, communication progressively worse. –Communication slows down.

TCP Congestion Control Congestion control is manifested in selecting the appropriate window size. In actual transmission, the system uses the minimum of the flow-control window size and congestion control window size. Start slowly and build up: –The initial window size is 1. –As each ACK arrives, increased window size by 1. Congestion avoidance: –Set a threshold window size to half of the current size. –Set the window size to 1 and restart the slow-start algorithm. –When the window size reaches the threshold, increase it by 1/w on each ACK, where w is the current window size.