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,

Slides:



Advertisements
Similar presentations
CCNA – Network Fundamentals
Advertisements

© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
Transmission Control Protocol (TCP)
Intermediate TCP/IP TCP Operation.
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Transport Layer PART V.
PART V Transport Layer.
CS3505 The Internet and Info Hiway transport layer protocols : TCP/UDP.
Lecture # 14 TCP/IP - UDP Computer Communication & Networks.
Chapter 7 – Transport Layer Protocols
Transmission Control Protocol (TCP)
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.
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?
Chapter 11 User Datagram Protocol (UDP)
Hyung-Min Lee©Networking Lab., 2001 Chapter 11 User Datagram Protocol (UDP)
User Datagram Protocol, UDP 指導老師:梁德昭 老師 學生:吳雅真 學號: 日期:
TCP/IP: Basics1 User Datagram Protocol (UDP) Another protocol at transport layer is UDP. It is Connectionless protocol i.e. no need to establish & terminate.
6.1. Transport Control Protocol (TCP) It is the most widely used transport protocol in the world. Provides reliable end to end connection between two hosts.
University of the Western Cape Chapter 12: The Transport Layer.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 3 Transport Layer.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
11 TRANSPORT LAYER PROTOCOLS Chapter 6 TCP and UDP SPX and NCP.
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.
Multimedie- och kommunikationssystem Föreläsning 11 Kapitel 12: Transportprotokoll. Flödesstyrning och trafikstocknings­hantering. Sliding window.
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
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.
Process-to-Process Delivery:
Institute of Technology Sligo - Dept of Computing Chapter 12 The Transport Layer.
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.
Chapter 13 Introduction to the Transport Layer
1 Kyung Hee University Chapter 11 User Datagram Protocol.
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.
Chapter 14 User Datagram Protocol (UDP) Introduction  Responsibilities of Transport Layer to create a process-to-process communication l using.
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.
Chapter 11 User Datagram Protocol
(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.
Transport Layer.
Process-to-Process Delivery, TCP and UDP protocols
PART 5 Transport Layer Computer Networks.
TCP Transport layer Er. Vikram Dhiman LPU.
Chapter 14 User Datagram Protocol (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:
CS4470 Computer Networking Protocols
Transport Protocols An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
CPEG514 Advanced Computer Networkst
PART V Transport Layer.
PART 5 Transport Layer.
Process-to-process delivery UDP TCP SCTP
Process-to-Process Delivery: UDP, TCP
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:

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, a running application program, on one computer to a process on another computer.  Position of transport layer

3 Kyung Hee University Transport Layer Duties

4 Kyung Hee University Packetizing  Dividing large messages  Adding a header

5 Kyung Hee University Connection Control  Connection-oriented delivery first establishing a connection (a virtual path) between the sender and receiver  Connectionless delivery treating each packet independently without any connection between the sender and receiver

6 Kyung Hee University Chapter 22 : Process-to-process Delivery : UDP and TCP

7 Kyung Hee University 22.1 Process-to-Process Delivery  Transport layer is responsible for process-to-process delivery, the delivery of a packet, part of a message, from one process to another.  Two processes communicate in a client-server relationship

8 Kyung Hee University Client-Server Paradigm  A process on the local host, called a client, needs services from a process usually on the remote host, called a server  For communication between processes, we must define the following : 1. Local host 2. Local process 3. Remote host 4. Remote process

9 Kyung Hee University Addressing

10 Addressing (cont’d)

11 Kyung Hee University IANA Ranges  IANA (Internet Assigned Number Authority) had divided the port numbers into three ranges :

12 Kyung Hee University Socket address

13 Kyung Hee University Multiplexing and Demultiplexing

14 Kyung Hee University 22.2 User Datagram Protocol (UDP)  UDP is called a connectionless, unreliable transport protocol providing process-to-process communication instead of host-to-host communication having no flow and error control using port numbers to multiplex data from the application layer

15 Kyung Hee University UDP (cont’d)  If UDP is so powerless, why would a process want to use it ? very simple protocol using a minimum of overhead l if a process wants to send a small message and does not care much about reliability, it can use UDP l if it sends a small message, taking much less interaction between the sender and receiver than it does using TCP

16 Kyung Hee University UDP (cont’d)  Position of UDP in the TCP/IP protocol suite

17 Kyung Hee University UDP : 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)

18 Kyung Hee University User Datagram Format  The calculation of checksum and its inclusion in the user datagram are optional.

19 Kyung Hee University Applications of UDP  UDP is a convenient transport-layer protocol for applications that provide flow and error control. It is also used by multimedia applications. TFTP including flow and error control Suitable transport protocol for multicasting Used in Routing Information Protocol (RIP) Used in conjunction with the Real Time Transport (RTP) Not used for sending bulk data, such as FTP

20 Kyung Hee University 22.3 Transmission Control Protocol (TCP)  is called a stream connection-oriented and reliable transport protocol.  creates a process-to-process communication using port numbers  provides a flow-and-error control mechanism at the transport level using sliding window protocol to achieve error control. using the acknowledgment packet, time-out, and retransmission to achieve error control.  providing a connection mechanism for the application program

21 Kyung Hee University Well-known Port Numbers 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

22 Kyung Hee University TCP Services  Stream Delivery Service TCP is a stream-oriented protocol TCP creates an environment in which the two processes seem to be connected by an imaginary “tube” that carries their data across the Internet.

23 Kyung Hee University TCP Services (cont’d)  Sending and Receiving Buffers Because the sending and receiving processes may not produce and consume data at the same speed, TCP needs buffers for storage. One way to implement is to use a circular array

24 Kyung Hee University TCP Services (cont’d)  TCP Segments

25 Kyung Hee University TCP Services (cont’d)  Stream Data Service (stream transport layer service) The sending TCP 1) accepts a stream of characters from sending application program 2) creates packets called segments, of appropriate size extracted from the stream 3) sends segments across the network The receiving TCP 1) receives segments, extracts data from segments 2) orders segments if they have arrived out of order 3) delivers segments as a stream of characters to the receiving application program

26 Kyung Hee University TCP Services (cont’d)  Full-Duplex Service TCP offers full-duplex service l After two application programs are connected to each other, they can both send and receive data. Piggybacking l When a packet is going from A to B, it can also carry an acknowledgment of the packets received from B

27 Kyung Hee University TCP Services (cont’d)  Connection-Oriented Services 1.A’s TCP informs B’s TCP and gets approval from B’s TCP 2.A’s TCP and B’s TCP exchange data in both directions 3.After both processes have no data left to send and the buffers are empty, two TCPs destroy their buffers  Reliable Service TCP uses the acknowledgment mechanism to check the safe and sound arrival of data

28 Kyung Hee University Numbering Bytes  Byte numbers All data bytes being transferred in each connection are numbered by TCP. The numbering starts with a randomly generated number. Number range for first byte : 0 ~ l If random number is 1,057 and total number 6,000bytes, the bytes are numbered from 1,057 to 7,056 Byte numbering is used for flow and error control.

29 Kyung Hee University Numbering Bytes (cont’d)  Sequence number After the bytes have been numbered, TCP assigns a sequence number to each segment that is being sent. Sequence number for each segment is number of the first byte carried in that segment.

30 Kyung Hee University Numbering Bytes (cont’d)  Example 1 Imagine a TCP connection is transferring a file of 6,000 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 1,000bytes and the last segment carrying 2,000bytes?

31 Kyung Hee University Numbering Bytes (cont’d) 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 sequence number field in a segment defines the number of the first data byte contained in that segment.

32 Kyung Hee University Numbering Bytes (cont’d)  Acknowledgment Number The value of the acknowledgment field in a segment defines the number of the next byte a party expects to receives. The acknowledgment number is cumulative.

33 Kyung Hee University Segment  A packet in TCP is called segment

34 Kyung Hee University Segment (cont’d)  Source port address defining the port number of application program in the host that is sending the segment  Destination port address defining the port number of application program in the host that is receiving the segment  Sequence number defining the number assigned to the first byte of data contained in this segment during the connection establishment, each party uses a random number generator to create an initial sequence number (ISN)

35 Kyung Hee University Segment (cont’d)  Acknowledgment number If the source of the segment has successfully received byte number x from the other party, it defines x+1 as the acknowledgment number  Header length Indicating the number of 4-byte words in the TCP header l the value between 5 and 15 (20 and 60 bytes)  Reserved For future use

36 Kyung Hee University Segment (cont’d)  Control Enabling flow control, connection establishment and termination, and mode of data transfer in TCP

37 Kyung Hee University Segment : Description of flags in the control field FlagDescription URGThe value of the urgent pointer field is valid. ACKThe value of the acknowledgment field is valid. PSHPush the data. RSTThe connection must be reset. SYNSynchronize sequence numbers during connection. FINTerminate the connection.

38 Kyung Hee University Segment (cont’d)  Window size defining the size of the window, in bytes, that the other party must maintain. maximum size of window : 65,535 bytes  Checksum : 16-bit field contains the checksum; following the same procedure as the one described for UDP  Urgent pointer used when the segment contains urgent data defining the number that must be added to the sequence number to obtain the number of the last urgent byte in the data section of the segment  Options : 40 bytes

39 Kyung Hee University Connection  Three-step connection establishment

40 Kyung Hee University Connection Termination  Four-step connection termination

41 Kyung Hee University Connection Resetting  Resetting here means that the current connection is destroyed. This happens in one of three cases: 1.The TCP on one side has requested a connection to a nonexistent port. The TCP on other side may send a segment with its TST bit set to annul the request 2. One TCP may want to abort the connection due to an abnormal situation. It can send an RST segment to close the connection 3. The TCP on one side may discover that the TCP on the other side has been idle for a long time. It may send an TST segment to destroy the connection

42 Kyung Hee University State Transition Diagram  States for TCP StateDescription CLOSEDThere is no connection. LISTENThe server is waiting for calls from the client. SYN-SENTA connection request is sent; waiting for acknowledgment. SYN-RCVDA connection request is received. ESTABLISHEDConnection is established. FIN-WAIT-1The application has requested the closing of the connection. FIN-WAIT-2The other side has accepted the closing of the connection. TIME-WAITWaiting for retransmitted segments to die. CLOSE-WAITThe server is waiting for the application to close. LAST-ACKThe server is waiting for the last acknowledgment.

43 Kyung Hee University State Transition Diagram (cont’d) Input / Output Client Server

44 Kyung Hee University Thanks !