Multimedie- och kommunikationssystem Föreläsning 11 Kapitel 12: Transportprotokoll. Flödesstyrning och trafikstocknings­hantering. Sliding window.

Slides:



Advertisements
Similar presentations
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
Advertisements

Transmission Control Protocol (TCP)
Intermediate TCP/IP TCP Operation.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 25 Multimedia.
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Transport Layer PART V.
UNIT 07 Process – to – Process Delivery: UDP,TCP and SCTP
6/9/2015 Unit-4 : Transport Layer 1 CS 1302 Computer Networks — Unit - 4 — — Transport Layer — Text Book Behrouz.A. Forouzan, “Data communication and Networking”,
1 K. Salah Module 6.0: Transport Layer Protocols UDP & TCP Chapter 23 & 24.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Process-to-Process Delivery:
Gursharan Singh Tatla Transport Layer 16-May
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.
1 Transport Layer Computer Networks. 2 Where are we?
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 23 Congestion Control and Quality of Service.
Hyung-Min Lee©Networking Lab., 2001 Chapter 11 User Datagram Protocol (UDP)
User Datagram Protocol, UDP 指導老師:梁德昭 老師 學生:吳雅真 學號: 日期:
26-TCP Dr. John P. Abraham Professor UTPA. TCP  Transmission control protocol, another transport layer protocol.  Reliable delivery  Tcp must compensate.
University of the Western Cape Chapter 12: The Transport Layer.
SMUCSE 4344 transport layer. SMUCSE 4344 transport layer end-to-end protocols –transport code runs only on endpoint hosts encapsulates network communications.
Transport Layer: UDP, TCP
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
1 Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 6 The Transport Layer.
Transport Layer3-1 Chapter 3 Transport Layer These ppt slides are originally from the Kurose and Ross’s book. But some slides are deleted and added for.
1 Introduction to Computer Networks University of ilam Dr. Mozafar Bag-Mohammadi Transport Layer.
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 12 Transmission Control Protocol (TCP)
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Transmission Control Protocol (TCP)
23.1 Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chapter 12 Transmission Control Protocol (TCP). Outline  PROCESS-TO-PROCESS COMMUNICATION  TCP SERVICES  NUMBERING BYTES  FLOW CONTROL  SILLY WINDOW.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
Computer Networks23-1 PART 5 Transport Layer. Computer Networks23-2 Position of Transport Layer Responsible for the delivery of a message from one process.
Datornätverk A – lektion 13 Kapitel 19: Routing. Kapitel 21: Routing Protocols Forts. kapitel 22: UDP och TCP. (Kapitel 23: Congestion control and QoS.
NET 221D:COMPUTER NETWORKS FUNDAMENTALS Lecture : Transport Layer: Behrouz A. Forouzan” Data communications and Networking 1.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 12 Transmission Control Protocol (TCP)
1 Kyung Hee University PART 5 Transport Layer. 2 Kyung Hee University Role of position of Transport Layer  Overseeing the delivery of data from a process,
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 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.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Process-to-Process Delivery:
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
02/10/20161 Chapter 3 Transport layer Erman Hamid.
(Kapitel 23: Congestion control and QoS översiktligt.)
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
5. End-to-end protocols (part 1)
Transport Layer.
Process-to-Process Delivery, TCP and UDP protocols
TCP.
Process-to-Process Delivery
PART 5 Transport Layer Computer Networks.
Net 221D : Computer Networks Fundamentals
TCP.
TCP Transport layer Er. Vikram Dhiman LPU.
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Process-to-Process Delivery:
PART V Transport Layer.
PART 5 Transport Layer.
Process-to-process delivery UDP TCP SCTP
CS 1302 Computer Networks — Unit - 4 — — Transport Layer —
Lecture 21 and 22 5/29/2019.
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Transport Layer 9/22/2019.
Presentation transcript:

Multimedie- och kommunikationssystem Föreläsning 11 Kapitel 12: Transportprotokoll. Flödesstyrning och trafikstocknings­hantering. Sliding window.

Transport layer duties

Figure 22.1 Types of data deliveries

Virtual Connection at the Transport Layer TCP, UDP IP Application Physical IP Physical IP Physical Router Host TCP, UDP IP Application Physical Protocol stack in the host Protocol stack in the router

Figure 22.5 Socket address A socket is a data flow between two processes that is identified by its socket address pair, i.e. a unique combination of: - Transport protocol (UDP or TCP). - Source IP address and port number. - Destination IP address and port number.

Figure 22.7 Connection establishment

Figure 22.8 Connection termination

Client-Server Paradigm qUsed most often in Internet process-to-process communication, for example, , web, file transfer, etc. qThe client process initiates the communication. qThe server process waits for the client to initiate communication, and responds by sending the information required. Example: Web server, server, ftp server, etc. qA firewall often stops external clients from accessing internal servers, except certain web qOpposite: Peer-to-peer communication, where a program can act both as client (taking initiative) and server (responding to other).

User Datagram Protocol (UDP) qUDP is a connectionless, unreliable protocol that has no flow and error control. qNo connection management. qIt solely provides a mechanism multiplexing data from the application layer and demultiplexing at the receiver end by means of port numbers. qUse predominantly by protocols that do no require the strict service guarantees offered by TCP (e.g. real-time multimedia protocols). qIt is also used for applications that provide flow and error control (e.g. LAN-services such as shared disk access) qAdditional intelligence built at the application layer if needed.

Figure (a) UDP header fields The calculation of checksum and its inclusion in the user datagram are optional.

Table 22.1 Well-known ports used by UDP PortProtocolDescription 7EchoEchoes a received datagram back to the sender 9DiscardDiscards any datagram that is received 11UsersActive users 13DaytimeReturns the date and the time 17QuoteReturns a quote of the day 19ChargenReturns a string of characters 53NameserverDomain Name Service 67BootpsServer port to download bootstrap information 68BootpcClient port to download bootstrap information 69TFTPTrivial File Transfer Protocol 111RPCRemote Procedure Call 123NTPNetwork Time Protocol 161SNMPSimple Network Management Protocol 162SNMPSimple Network Management Protocol (trap)

Figure (b) UDP socket primitives: and their use.

Transmission Control protocol (TCP) qProvides a connection-oriented end-to-end (user-to-user) reliable byte stream service in both directions (full duplex) qDivides a byte stream into a sequence of segments and sends them to the destination via IP qUses the destination port, source port to identify the application to which the segment is sent (multiplexing the sessions) qUses sliding window like scheme for flow control and congestion control

TCP Header Fields

Figure Control field

Table 22.2 Well-known ports used by TCP PortProtocolDescription 7 EchoEchoes a received datagram back to the sender 9DiscardDiscards any datagram that is received 11UsersActive users 13DaytimeReturns the date and the time 17QuoteReturns a quote of the day 19ChargenReturns a string of characters 20FTP, DataFile Transfer Protocol (data connection) 21FTP, ControlFile Transfer Protocol (control connection) 23TELNETTerminal Network 25SMTPSimple Mail Transfer Protocol 53DNSDomain Name Server 67BOOTPBootstrap Protocol 79Finger 80HTTPHypertext Transfer Protocol 111RPCRemote Procedure Call

Figure Stream delivery

Figure Sending and receiving buffers

Figure TCP segments

TCP Sliding Window segment bytes of data numbered from 1 to bytes of data numbered from 101 to 200, ack 801 acknowledge 801 segment 2 acknowledge 901 segment 3 acknowledge 201 segment 2 acknowledge 101 segment bytes of data numbered from 701 to 800, ack bytes of data numbered from 801 to 900, ack 201

The bytes of data being transferred in each connection are numbered by TCP. The numbering starts with a randomly generated number. Note:

The value of the sequence number field in a segment defines the number of the first data byte contained in that segment. Note:

Example 1 Imagine a TCP connection is transferring a file of 6000 bytes. The first byte is numbered What are the sequence numbers for each segment if data are sent in five segments with the first four segments carrying 1000 bytes and the last segment carrying 2000 bytes? Solution The following shows the sequence number for each segment: Segment 1 ==> sequence number: 10,010 (range: 10,010 to 11,009) Segment 2 ==> sequence number: 11,010 (range: 11,010 to 12,009) Segment 3 ==> sequence number: 12,010 (range: 12,010 to 13,009) Segment 4 ==> sequence number: 13,010 (range: 13,010 to 14,009) Segment 5 ==> sequence number: 14,010 (range: 14,010 to 16,009)

The value of the acknowledgment field in a segment defines the number of the next byte a party expects to receive. The acknowledgment number is cumulative. Note:

Connection Management qTwo way handshake protocol is not enough because of potential delays in either A’s request or B’s responce, as shown below. Possibility of confusion exists. time t1t1 A sends a connection request t2t2 t5t5 t4t4 t3t3 A sends connection request again B receives connection request B establishes a connection and sends an acknowledgement A B A receives the acknowledgement and establishes a connection A and B exchange data and eventually disconnect B receives connection request B establishes a connection and sends an acknowledgement

Three-way Handshake Protocol for Connection Establishment time t1t1 A sends a connection request with seq. no. x t2t2 t5t5 t4t4 t3t3 A sends connection request again with seq. no. y B sends acknowledgement y+1 and seq. no. z A B A receives the acknowledgement y+1 and sends acknowledgement z+1 B sends acknowledgement x+1 and seq. no. w A does not send an acknowledgement and no connection is established t6t6 The connection is established

Connection Establishment and Termination q3-way handshake used for connection establishment qRandomly chosen sequence number is conveyed to the other end qSimilar FIN, FIN+ACK exchange used for connection termination SYN SYN+ACK ACK DATA Server does passive open Accept connection request Send acceptance Start connection Active open Send connection request The three-way handshake TCP segments are labeled with SYN. The length of data in the first two is 0

Figure Three-step connection establishment 1)Request. 2)Acknowledgement of the request. 3)Acknowledgement of the acknowledgement.

Window Management in TCP Sliding window scheme is used with variable window ○The window can change depending on the traffic in the network (TCP provides congestion control) The size of the window is expressed in bytes instead of packets The window size depends on the receiver’s capabilites and the congestion in the network

Figure 12.9 TCP sliding window.

In TCP, the sender window size is totally controlled by the receiver window value (the number of empty locations in the receiver buffer). However, the actual window size can be smaller if there is congestion in the network. Note:

Figure TCP congestion window adjustments: (a) on receipt of duplicate ACKs;

Figure TCP congestion window adjustments (b) on expiry of a retransmission timer.

Figure 23.6 Packet delay and network load

Figure 23.7 Throughput versus network load

If the cause of the lost segment is congestion, retransmission of the segment does not remove the cause—it aggravates it. Note:

TCP assumes that the cause of a lost segment is due to congestion in the network. Note:

Figure 23.8 Multiplicative decrease

Figure TCP congestion control window procedure.

23.6 Techniques to Improve QoS Scheduling Traffic Shaping Resource Reservation Admission Control

Figure Flow characteristics

Figure FIFO queue

Figure Priority queuing

Figure Weighted fair queuing

Figure Leaky bucket

Figure Leaky bucket implementation

A leaky bucket algorithm shapes bursty traffic into fixed-rate traffic by averaging the data rate. It may drop the packets if the bucket is full. Note:

Figure Real-time transport protocol (RTP) (a) usage A protocol for real-time traffic; used in conjunction with UDP.

Figure Real-time transport protocol (RTP) (b) packet format.

Figure Real-time transport control protocol (RTCP) usage. A companion protocol to RTP with messages that control the flow and quality of data and allow the recipient to send feedback to the source or sources.

Figure 23.5 Incoming packet

Figure 9.28 QoS support mechanisms: (a) RSVP principles; RSVP = Resource Reservation Protocol. A signalling protocol to help IP create a flow and improve QoS. Reserves resources in each router, for unicasting and multicasting traffic flows with guaranteed QoS.

DiffServ architecture. DiffServ = Differentiated services A class-based QoS model. Flows are aggregated into service classes. The IP header Type-of-service field is replaced by a DiffServ field. CR = core router I/ER = ingress/egress router MF = multifield BA = behavior aggregate PHB = per-hop behavior

Figure 14.4 Example showing the sequence of messages exchanged for a local name resolution.

Service classes CBR = Constant Bit Rate VBR = Variable Bit Rate ABR = Available Bit Rate UBR = Unspecified Bit Rate (best-effort)

Figure Relationship of service classes to the total capacity