SlideShare una empresa de Scribd logo
1 de 27
Transport Protocols




                      1
The Transport Abstraction

•   Transport provides three key services
    – Application Multiplexing
          Several processes can send and receive data between ports using a
    single host-to-host IP link.

    – Connection-Orientation
         data are sent and received as a seamless stream of bytes, rather
    than fixed-size packets

    – Error Controlled
          packets which are lost or received out-of order are transparent to
    the receiving application

•   TCP provides all these abstractions
•   UDP provides only the first one
                                                                               2
The Transmission Control Protocol
                  (TCP)

• End-to-End communication for user processes
• Processes can communicate in a simple stream of
  binary data
• Each byte of data will arrive in the order it was
  sent
• If some part of the data cannot be received this will be
  made explicit by an error being passed to the user code
  (e.g. an Exception)

                                                        3
Fundamentals of TCP

• Basically a Sliding Window protocol
  – Data sent in segments in IP packets
  – Very large (32-bit) sequence number
      • represents byte offset of segment




                                            4
TCP Process Communication




                            5
TCP Process Communication

• Two processes communicating via TCP sockets.
• Each side of a TCP connection has a socket which can be
  identified by the pair
      < IP_address, port_number >
• Two processes communicating over TCP form a logical
  connection that is uniquely identifiable by the two
  sockets involved, that is by the combination
  < local_IP_address, local_port, remote_IP_address,
  remote_port>

                                                      6
TCP Facilities

Stream Data Transfer
• From the application's viewpoint, TCP transfers a
  contiguous stream of bytes.
• TCP does this by grouping the bytes in TCP
  segments, which are passed to IP for
  transmission to the destination.
• TCP itself decides how to segment the data and it
  may forward the data at its own convenience.
                                                 7
TCP Facilities

Reliability
  TCP assigns a sequence number to each byte
  transmitted, and expects a positive acknowledgment
  (ACK) from the receiving TCP.
• If the ACK is not received within a timeout interval, the
  data is retransmitted.
• The receiving TCP uses the sequence numbers to
  rearrange the segments when they arrive out of order,
  and to eliminate duplicate segments.
                                                        8
TCP Facilities

Flow Control
• The receiving TCP, when sending an ACK back to the
  sender, also indicates to the sender the number of
  bytes it can receive beyond the last received TCP
  segment, without causing overrun and overflow in its
  internal buffers.
• This is sent in the ACK in the form of the highest
  sequence number it can receive without problems.

                                                         9
TCP Facilities

Multiplexing
• To allow for many processes within a single host to use
  TCP communication facilities simultaneously, the TCP
  provides a set of addresses or ports within each host.
• Concatenated with the network and host addresses
  from the internet communication layer, this forms a
  socket.
• A pair of sockets uniquely identifies each connection.


                                                       10
TCP Facilities

Logical Connections
• The reliability and flow control mechanisms described
  above require that TCP initializes and maintains certain
  status information for each data stream.
• The combination of this status, including sockets,
  sequence numbers and window sizes, is called a logical
  connection.
• Each connection is uniquely identified by the pair of
  sockets used by the sending and receiving processes.

                                                        11
TCP Facilities

Full Duplex

• TCP provides for concurrent data streams in
  both directions.




                                                12
TCP HEADER

• TCP data is encapsulated in an IP datagram.
• Its normal size is 20 bytes unless options are
  present.




                                                   13
TCP HEADER




             14
TCP HEADER

• The SrcPort and DstPort fields identify the source and
  destination ports,respectively. These two fields plus the
  source and destination IP addresses, combine to
  uniquely identify each TCP connection.

• The sequence number identifies the byte in the stream
  of data from the sending TCP to the receiving TCP that
  the first byte of data in this segment represents.


                                                        15
TCP HEADER

• The Acknowledgement number field contains the
  next sequence number that the sender of the
  acknowledgement expects to receive.
• This is therefore the sequence number plus 1 of the
  last successfully received byte of data.
• This field is valid only if the ACK flag is on.
• Once a connection is established the Ack flag is
  always on.
                                                   16
TCP HEADER

• The Acknowledgement, SequenceNum, and AdvertisedWindow fields are
  all involved in TCP's sliding window algorithm.
• The Acknowledgement and AdvertisedWindow fields carry information
  about the flow of data going in the other direction.
• In TCP's sliding window algorithm the reciever advertises a window size to
  the sender.
• This is done using the AdvertisedWindow field.
• The sender is then limited to having no more than a value of
  AdvertisedWindow bytes of un acknowledged data at any given time.
• The receiver sets a suitable value for the AdvertisedWindow based on the
  amount of memory allocated to the connection for the purpose of buffering
  data


                                                                      17
TCP HEADER

• The header length gives the length of the header
  in 32-bit words. This is required because the
  length of the options field is variable.
• The 6-bit Flags field is used to relay control
  information between TCP peers. The possible
  flags include SYN, FIN, RESET, PUSH, URG, and
  ACK.

                                                18
TCP HEADER

• The Checksum covers the TCP segment: the TCP header
  and the TCP data. This is a mandatory field that must be
  calculated by the sender, and then verified by the
  receiver.

• The Option field is the maximum segment size option,
  called the MSS. Each end of the connection normally
  specifies this option on the first segment exchanged. It
  specifies the maximum sized segment the sender wants
  to receive.

• The data portion of the TCP segment is optional.     19
The User Datagram Protocol (UDP)

• UDP is a commonly used transport protocol
  employed by many types of applications
• A connectionless transport – doesn’t guarantee
  either packet delivery or packets arrive in
  sequential order
• Bytes are grouped together in discrete packets
  not an ordered sequence of bytes using I/O
  stream
                                               20
The User Datagram Protocol
                   (UDP)
• The packet may travel along different path as
  selected by the various network routers that
  distribute traffic flow (network congestion,
  priority of routes and the cost of transmission)
• Possibility of packet missing or discarded exist
• No notification is available to update the status of
  delivery


                                                   21
UDP Advantages

• UDP communication can be more efficient than
  guaranteed-delivery data streams. If the amount is
  small and the data is sent frequently, it may make sense
  to avoid the overhead of guaranteed delivery
• Overhead to establish connection can be reduced as
  compared to TCP
• Real time applications that demand up-to-the-second or
  better performance maybe the candidates for UDP,
  since fewer delay due to the error checking and flow
  control of TCP
                                                       22
The User Datagram Protocol
          (UDP)




                             23
The User Datagram Protocol (UDP)

• UDP Length: length of datagram in bytes,
  including header and data, max is 65,535 bytes
• Checksum: optional -- 16-bit checksum over
  header and data, or zero




                                               24
TCP vs. UDP

• How do we send and reconstruct multiple large objects
  with each protocol?




                                                    25
TCP vs. UDP

How do we send and reconstruct multiple large objects with UDP?
  – Fragment objects in to byte blocks
       agree a size and add delimiters between objects which
  share the same block, number each block and say            which
  object it belongs to
  – Send blocks one at a time
  – When a block is received check which object it is for, place it in
  a buffer for that object
  – When the end block of an object is found, if that object
  is complete, return it to the application, if not, request
  retransmission of missing blocks
                                                                  26
TCP vs. UDP

What is UDP useful for?
– Fire-and-Forget data
   • informational (time server updates, keep alives)
   • wide-area search (service discovery, P2P search)
– Real time data
   • Any application where we don’t care about data from
   the past, only current data
       – voice over IP
       – streaming video/audio
       – multiplayer games
                                                     27

Más contenido relacionado

La actualidad más candente

TCP & UDP ( Transmission Control Protocol and User Datagram Protocol)
TCP & UDP ( Transmission Control Protocol and User Datagram Protocol)TCP & UDP ( Transmission Control Protocol and User Datagram Protocol)
TCP & UDP ( Transmission Control Protocol and User Datagram Protocol)Kruti Niranjan
 
Internet control message protocol
Internet control message protocolInternet control message protocol
Internet control message protocolasimnawaz54
 
Multiple Access Protocal
Multiple Access ProtocalMultiple Access Protocal
Multiple Access Protocaltes31
 
TCP/IP 3-way Handshake
TCP/IP 3-way Handshake TCP/IP 3-way Handshake
TCP/IP 3-way Handshake Alok Tripathi
 
What Is User Datagram Protocol?
What Is User Datagram Protocol?What Is User Datagram Protocol?
What Is User Datagram Protocol?Simplilearn
 
Congestion control
Congestion controlCongestion control
Congestion controlAman Jaiswal
 
Mobile transport layer - traditional TCP
Mobile transport layer - traditional TCPMobile transport layer - traditional TCP
Mobile transport layer - traditional TCPVishal Tandel
 
Network layer - design Issues
Network layer - design IssuesNetwork layer - design Issues
Network layer - design Issuesقصي نسور
 
Clock synchronization in distributed system
Clock synchronization in distributed systemClock synchronization in distributed system
Clock synchronization in distributed systemSunita Sahu
 
Selective repeat protocol
Selective repeat protocolSelective repeat protocol
Selective repeat protocolManusha Dilan
 
Distance Vector Routing Protocols
Distance Vector Routing ProtocolsDistance Vector Routing Protocols
Distance Vector Routing ProtocolsKABILESH RAMAR
 
TCP-IP Reference Model
TCP-IP Reference ModelTCP-IP Reference Model
TCP-IP Reference ModelMukesh Tekwani
 

La actualidad más candente (20)

TCP & UDP ( Transmission Control Protocol and User Datagram Protocol)
TCP & UDP ( Transmission Control Protocol and User Datagram Protocol)TCP & UDP ( Transmission Control Protocol and User Datagram Protocol)
TCP & UDP ( Transmission Control Protocol and User Datagram Protocol)
 
CSMA/CA
CSMA/CACSMA/CA
CSMA/CA
 
Internet control message protocol
Internet control message protocolInternet control message protocol
Internet control message protocol
 
Multiple Access Protocal
Multiple Access ProtocalMultiple Access Protocal
Multiple Access Protocal
 
TCP/IP 3-way Handshake
TCP/IP 3-way Handshake TCP/IP 3-way Handshake
TCP/IP 3-way Handshake
 
Multiplexing
MultiplexingMultiplexing
Multiplexing
 
What Is User Datagram Protocol?
What Is User Datagram Protocol?What Is User Datagram Protocol?
What Is User Datagram Protocol?
 
Tcp/ip model
Tcp/ip  modelTcp/ip  model
Tcp/ip model
 
Congestion control
Congestion controlCongestion control
Congestion control
 
Computer Networks: Quality of service
Computer Networks: Quality of serviceComputer Networks: Quality of service
Computer Networks: Quality of service
 
Media Access Control
Media Access ControlMedia Access Control
Media Access Control
 
Transport layer protocols : TCP and UDP
Transport layer protocols  : TCP and UDPTransport layer protocols  : TCP and UDP
Transport layer protocols : TCP and UDP
 
Mobile transport layer - traditional TCP
Mobile transport layer - traditional TCPMobile transport layer - traditional TCP
Mobile transport layer - traditional TCP
 
Network layer - design Issues
Network layer - design IssuesNetwork layer - design Issues
Network layer - design Issues
 
Clock synchronization in distributed system
Clock synchronization in distributed systemClock synchronization in distributed system
Clock synchronization in distributed system
 
Selective repeat protocol
Selective repeat protocolSelective repeat protocol
Selective repeat protocol
 
Distance Vector Routing Protocols
Distance Vector Routing ProtocolsDistance Vector Routing Protocols
Distance Vector Routing Protocols
 
TCP and UDP
TCP and UDP TCP and UDP
TCP and UDP
 
Message passing in Distributed Computing Systems
Message passing in Distributed Computing SystemsMessage passing in Distributed Computing Systems
Message passing in Distributed Computing Systems
 
TCP-IP Reference Model
TCP-IP Reference ModelTCP-IP Reference Model
TCP-IP Reference Model
 

Destacado

Transport layer (computer networks)
Transport layer (computer networks)Transport layer (computer networks)
Transport layer (computer networks)Fatbardh Hysa
 
Network Fundamentals: Ch4 - Transport Layer
Network Fundamentals: Ch4 - Transport LayerNetwork Fundamentals: Ch4 - Transport Layer
Network Fundamentals: Ch4 - Transport LayerAbdelkhalik Mosa
 
the transport layer
the transport layerthe transport layer
the transport layertumetr1
 
The Transport Layer
The Transport LayerThe Transport Layer
The Transport Layeradil raja
 
Introduction of tcp, ip & udp
Introduction of tcp, ip & udpIntroduction of tcp, ip & udp
Introduction of tcp, ip & udprahul kundu
 
Distance vector routing algorithm
Distance vector routing algorithmDistance vector routing algorithm
Distance vector routing algorithmGaurav Rawat
 
UDP - User Datagram Protocol
UDP - User Datagram ProtocolUDP - User Datagram Protocol
UDP - User Datagram ProtocolPeter R. Egli
 
Routers.ppt
Routers.pptRouters.ppt
Routers.pptkirbadh
 
Jaimin chp-6 - transport layer- 2011 batch
Jaimin   chp-6 - transport layer- 2011 batchJaimin   chp-6 - transport layer- 2011 batch
Jaimin chp-6 - transport layer- 2011 batchJaimin Jani
 

Destacado (20)

Transport layer (computer networks)
Transport layer (computer networks)Transport layer (computer networks)
Transport layer (computer networks)
 
Transport Layer
Transport LayerTransport Layer
Transport Layer
 
Network Fundamentals: Ch4 - Transport Layer
Network Fundamentals: Ch4 - Transport LayerNetwork Fundamentals: Ch4 - Transport Layer
Network Fundamentals: Ch4 - Transport Layer
 
transport layer
transport layertransport layer
transport layer
 
Transport layer
Transport layerTransport layer
Transport layer
 
Transport Protocols
Transport ProtocolsTransport Protocols
Transport Protocols
 
the transport layer
the transport layerthe transport layer
the transport layer
 
Tcp and udp
Tcp and udpTcp and udp
Tcp and udp
 
Transport layer
Transport layerTransport layer
Transport layer
 
The Transport Layer
The Transport LayerThe Transport Layer
The Transport Layer
 
Introduction of tcp, ip & udp
Introduction of tcp, ip & udpIntroduction of tcp, ip & udp
Introduction of tcp, ip & udp
 
Application Layer
Application Layer Application Layer
Application Layer
 
TCP Vs UDP
TCP Vs UDP TCP Vs UDP
TCP Vs UDP
 
Distance vector routing algorithm
Distance vector routing algorithmDistance vector routing algorithm
Distance vector routing algorithm
 
UDP - User Datagram Protocol
UDP - User Datagram ProtocolUDP - User Datagram Protocol
UDP - User Datagram Protocol
 
Ppt of routing protocols
Ppt of routing protocolsPpt of routing protocols
Ppt of routing protocols
 
Congestion control
Congestion controlCongestion control
Congestion control
 
Routers.ppt
Routers.pptRouters.ppt
Routers.ppt
 
Chapter3 transport
Chapter3 transportChapter3 transport
Chapter3 transport
 
Jaimin chp-6 - transport layer- 2011 batch
Jaimin   chp-6 - transport layer- 2011 batchJaimin   chp-6 - transport layer- 2011 batch
Jaimin chp-6 - transport layer- 2011 batch
 

Similar a UDP is useful for applications that require low latency or real-time data delivery where packet loss is acceptable. Some examples are streaming media, online games, VoIP calls. TCP is better suited for applications that require reliable, ordered delivery of all data packets

REMnux tutorial 4.1 - Datagrams, Fragmentation & Anomalies
REMnux tutorial 4.1 - Datagrams, Fragmentation & AnomaliesREMnux tutorial 4.1 - Datagrams, Fragmentation & Anomalies
REMnux tutorial 4.1 - Datagrams, Fragmentation & AnomaliesRhydham Joshi
 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3Roman Brovko
 
TCP_NISCHAYBAHL.pptx
TCP_NISCHAYBAHL.pptxTCP_NISCHAYBAHL.pptx
TCP_NISCHAYBAHL.pptxNischayBahl1
 
tcp-ippresentation-150614172243-lva1-app6892.pptx
tcp-ippresentation-150614172243-lva1-app6892.pptxtcp-ippresentation-150614172243-lva1-app6892.pptx
tcp-ippresentation-150614172243-lva1-app6892.pptxAlphaKoiSylvester
 
TCP - IP Presentation
TCP - IP PresentationTCP - IP Presentation
TCP - IP PresentationHarish Chand
 
Computer networks transport layer
Computer networks  transport layerComputer networks  transport layer
Computer networks transport layerjamunaashok
 
Unit 4-Transport Layer Protocols-3.pptx
Unit 4-Transport Layer Protocols-3.pptxUnit 4-Transport Layer Protocols-3.pptx
Unit 4-Transport Layer Protocols-3.pptxDESTROYER39
 
Unit 4-Transport Layer Protocols.pptx
Unit 4-Transport Layer Protocols.pptxUnit 4-Transport Layer Protocols.pptx
Unit 4-Transport Layer Protocols.pptxsarosh32
 
Unit 4 tansport layer in the internat
Unit 4 tansport layer in the internatUnit 4 tansport layer in the internat
Unit 4 tansport layer in the internatKritika Purohit
 
1.1.2 - Concept of Network and TCP_IP Model (2).pptx
1.1.2 - Concept of Network and TCP_IP Model (2).pptx1.1.2 - Concept of Network and TCP_IP Model (2).pptx
1.1.2 - Concept of Network and TCP_IP Model (2).pptxVINAYTANWAR18
 
Unit-4 (1).pptx
Unit-4 (1).pptxUnit-4 (1).pptx
Unit-4 (1).pptxpoonamsngr
 
LECTURE-Transport-Layer_lec.ppt
LECTURE-Transport-Layer_lec.pptLECTURE-Transport-Layer_lec.ppt
LECTURE-Transport-Layer_lec.pptMonirHossain707319
 

Similar a UDP is useful for applications that require low latency or real-time data delivery where packet loss is acceptable. Some examples are streaming media, online games, VoIP calls. TCP is better suited for applications that require reliable, ordered delivery of all data packets (20)

REMnux tutorial 4.1 - Datagrams, Fragmentation & Anomalies
REMnux tutorial 4.1 - Datagrams, Fragmentation & AnomaliesREMnux tutorial 4.1 - Datagrams, Fragmentation & Anomalies
REMnux tutorial 4.1 - Datagrams, Fragmentation & Anomalies
 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3
 
TCP_NISCHAYBAHL.pptx
TCP_NISCHAYBAHL.pptxTCP_NISCHAYBAHL.pptx
TCP_NISCHAYBAHL.pptx
 
tcp-ippresentation-150614172243-lva1-app6892.pptx
tcp-ippresentation-150614172243-lva1-app6892.pptxtcp-ippresentation-150614172243-lva1-app6892.pptx
tcp-ippresentation-150614172243-lva1-app6892.pptx
 
Transport layer.pptx
Transport layer.pptxTransport layer.pptx
Transport layer.pptx
 
TCP - IP Presentation
TCP - IP PresentationTCP - IP Presentation
TCP - IP Presentation
 
Tcp ip presentation
Tcp ip presentationTcp ip presentation
Tcp ip presentation
 
TCP /IP
TCP /IPTCP /IP
TCP /IP
 
TCP/IP(networking)
TCP/IP(networking)TCP/IP(networking)
TCP/IP(networking)
 
TCP/IP & UDP
TCP/IP & UDPTCP/IP & UDP
TCP/IP & UDP
 
Tcpip 1
Tcpip 1Tcpip 1
Tcpip 1
 
Computer networks transport layer
Computer networks  transport layerComputer networks  transport layer
Computer networks transport layer
 
Unit 4-Transport Layer Protocols-3.pptx
Unit 4-Transport Layer Protocols-3.pptxUnit 4-Transport Layer Protocols-3.pptx
Unit 4-Transport Layer Protocols-3.pptx
 
Unit 4-Transport Layer Protocols.pptx
Unit 4-Transport Layer Protocols.pptxUnit 4-Transport Layer Protocols.pptx
Unit 4-Transport Layer Protocols.pptx
 
Unit 5.Transport Layer.pptx
Unit 5.Transport Layer.pptxUnit 5.Transport Layer.pptx
Unit 5.Transport Layer.pptx
 
Unit 4 tansport layer in the internat
Unit 4 tansport layer in the internatUnit 4 tansport layer in the internat
Unit 4 tansport layer in the internat
 
1.1.2 - Concept of Network and TCP_IP Model (2).pptx
1.1.2 - Concept of Network and TCP_IP Model (2).pptx1.1.2 - Concept of Network and TCP_IP Model (2).pptx
1.1.2 - Concept of Network and TCP_IP Model (2).pptx
 
Unit-4 (1).pptx
Unit-4 (1).pptxUnit-4 (1).pptx
Unit-4 (1).pptx
 
lecturer3.pptx
lecturer3.pptxlecturer3.pptx
lecturer3.pptx
 
LECTURE-Transport-Layer_lec.ppt
LECTURE-Transport-Layer_lec.pptLECTURE-Transport-Layer_lec.ppt
LECTURE-Transport-Layer_lec.ppt
 

Más de Online

Philosophy of early childhood education 3
Philosophy of early childhood education 3Philosophy of early childhood education 3
Philosophy of early childhood education 3Online
 
Philosophy of early childhood education 2
Philosophy of early childhood education 2Philosophy of early childhood education 2
Philosophy of early childhood education 2Online
 
Philosophy of early childhood education 1
Philosophy of early childhood education 1Philosophy of early childhood education 1
Philosophy of early childhood education 1Online
 
Philosophy of early childhood education 4
Philosophy of early childhood education 4Philosophy of early childhood education 4
Philosophy of early childhood education 4Online
 
Operation and expression in c++
Operation and expression in c++Operation and expression in c++
Operation and expression in c++Online
 
Functions
FunctionsFunctions
FunctionsOnline
 
Formatted input and output
Formatted input and outputFormatted input and output
Formatted input and outputOnline
 
Control structures selection
Control structures   selectionControl structures   selection
Control structures selectionOnline
 
Control structures repetition
Control structures   repetitionControl structures   repetition
Control structures repetitionOnline
 
Introduction to problem solving in c++
Introduction to problem solving in c++Introduction to problem solving in c++
Introduction to problem solving in c++Online
 
Optical transmission technique
Optical transmission techniqueOptical transmission technique
Optical transmission techniqueOnline
 
Multi protocol label switching (mpls)
Multi protocol label switching (mpls)Multi protocol label switching (mpls)
Multi protocol label switching (mpls)Online
 
Lan technologies
Lan technologiesLan technologies
Lan technologiesOnline
 
Introduction to internet technology
Introduction to internet technologyIntroduction to internet technology
Introduction to internet technologyOnline
 
Internet standard routing protocols
Internet standard routing protocolsInternet standard routing protocols
Internet standard routing protocolsOnline
 
Internet protocol
Internet protocolInternet protocol
Internet protocolOnline
 
Application protocols
Application protocolsApplication protocols
Application protocolsOnline
 
Addressing
AddressingAddressing
AddressingOnline
 
Leadership
LeadershipLeadership
LeadershipOnline
 
Introduction to management
Introduction to managementIntroduction to management
Introduction to managementOnline
 

Más de Online (20)

Philosophy of early childhood education 3
Philosophy of early childhood education 3Philosophy of early childhood education 3
Philosophy of early childhood education 3
 
Philosophy of early childhood education 2
Philosophy of early childhood education 2Philosophy of early childhood education 2
Philosophy of early childhood education 2
 
Philosophy of early childhood education 1
Philosophy of early childhood education 1Philosophy of early childhood education 1
Philosophy of early childhood education 1
 
Philosophy of early childhood education 4
Philosophy of early childhood education 4Philosophy of early childhood education 4
Philosophy of early childhood education 4
 
Operation and expression in c++
Operation and expression in c++Operation and expression in c++
Operation and expression in c++
 
Functions
FunctionsFunctions
Functions
 
Formatted input and output
Formatted input and outputFormatted input and output
Formatted input and output
 
Control structures selection
Control structures   selectionControl structures   selection
Control structures selection
 
Control structures repetition
Control structures   repetitionControl structures   repetition
Control structures repetition
 
Introduction to problem solving in c++
Introduction to problem solving in c++Introduction to problem solving in c++
Introduction to problem solving in c++
 
Optical transmission technique
Optical transmission techniqueOptical transmission technique
Optical transmission technique
 
Multi protocol label switching (mpls)
Multi protocol label switching (mpls)Multi protocol label switching (mpls)
Multi protocol label switching (mpls)
 
Lan technologies
Lan technologiesLan technologies
Lan technologies
 
Introduction to internet technology
Introduction to internet technologyIntroduction to internet technology
Introduction to internet technology
 
Internet standard routing protocols
Internet standard routing protocolsInternet standard routing protocols
Internet standard routing protocols
 
Internet protocol
Internet protocolInternet protocol
Internet protocol
 
Application protocols
Application protocolsApplication protocols
Application protocols
 
Addressing
AddressingAddressing
Addressing
 
Leadership
LeadershipLeadership
Leadership
 
Introduction to management
Introduction to managementIntroduction to management
Introduction to management
 

Último

AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 

Último (20)

AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 

UDP is useful for applications that require low latency or real-time data delivery where packet loss is acceptable. Some examples are streaming media, online games, VoIP calls. TCP is better suited for applications that require reliable, ordered delivery of all data packets

  • 2. The Transport Abstraction • Transport provides three key services – Application Multiplexing Several processes can send and receive data between ports using a single host-to-host IP link. – Connection-Orientation data are sent and received as a seamless stream of bytes, rather than fixed-size packets – Error Controlled packets which are lost or received out-of order are transparent to the receiving application • TCP provides all these abstractions • UDP provides only the first one 2
  • 3. The Transmission Control Protocol (TCP) • End-to-End communication for user processes • Processes can communicate in a simple stream of binary data • Each byte of data will arrive in the order it was sent • If some part of the data cannot be received this will be made explicit by an error being passed to the user code (e.g. an Exception) 3
  • 4. Fundamentals of TCP • Basically a Sliding Window protocol – Data sent in segments in IP packets – Very large (32-bit) sequence number • represents byte offset of segment 4
  • 6. TCP Process Communication • Two processes communicating via TCP sockets. • Each side of a TCP connection has a socket which can be identified by the pair < IP_address, port_number > • Two processes communicating over TCP form a logical connection that is uniquely identifiable by the two sockets involved, that is by the combination < local_IP_address, local_port, remote_IP_address, remote_port> 6
  • 7. TCP Facilities Stream Data Transfer • From the application's viewpoint, TCP transfers a contiguous stream of bytes. • TCP does this by grouping the bytes in TCP segments, which are passed to IP for transmission to the destination. • TCP itself decides how to segment the data and it may forward the data at its own convenience. 7
  • 8. TCP Facilities Reliability TCP assigns a sequence number to each byte transmitted, and expects a positive acknowledgment (ACK) from the receiving TCP. • If the ACK is not received within a timeout interval, the data is retransmitted. • The receiving TCP uses the sequence numbers to rearrange the segments when they arrive out of order, and to eliminate duplicate segments. 8
  • 9. TCP Facilities Flow Control • The receiving TCP, when sending an ACK back to the sender, also indicates to the sender the number of bytes it can receive beyond the last received TCP segment, without causing overrun and overflow in its internal buffers. • This is sent in the ACK in the form of the highest sequence number it can receive without problems. 9
  • 10. TCP Facilities Multiplexing • To allow for many processes within a single host to use TCP communication facilities simultaneously, the TCP provides a set of addresses or ports within each host. • Concatenated with the network and host addresses from the internet communication layer, this forms a socket. • A pair of sockets uniquely identifies each connection. 10
  • 11. TCP Facilities Logical Connections • The reliability and flow control mechanisms described above require that TCP initializes and maintains certain status information for each data stream. • The combination of this status, including sockets, sequence numbers and window sizes, is called a logical connection. • Each connection is uniquely identified by the pair of sockets used by the sending and receiving processes. 11
  • 12. TCP Facilities Full Duplex • TCP provides for concurrent data streams in both directions. 12
  • 13. TCP HEADER • TCP data is encapsulated in an IP datagram. • Its normal size is 20 bytes unless options are present. 13
  • 15. TCP HEADER • The SrcPort and DstPort fields identify the source and destination ports,respectively. These two fields plus the source and destination IP addresses, combine to uniquely identify each TCP connection. • The sequence number identifies the byte in the stream of data from the sending TCP to the receiving TCP that the first byte of data in this segment represents. 15
  • 16. TCP HEADER • The Acknowledgement number field contains the next sequence number that the sender of the acknowledgement expects to receive. • This is therefore the sequence number plus 1 of the last successfully received byte of data. • This field is valid only if the ACK flag is on. • Once a connection is established the Ack flag is always on. 16
  • 17. TCP HEADER • The Acknowledgement, SequenceNum, and AdvertisedWindow fields are all involved in TCP's sliding window algorithm. • The Acknowledgement and AdvertisedWindow fields carry information about the flow of data going in the other direction. • In TCP's sliding window algorithm the reciever advertises a window size to the sender. • This is done using the AdvertisedWindow field. • The sender is then limited to having no more than a value of AdvertisedWindow bytes of un acknowledged data at any given time. • The receiver sets a suitable value for the AdvertisedWindow based on the amount of memory allocated to the connection for the purpose of buffering data 17
  • 18. TCP HEADER • The header length gives the length of the header in 32-bit words. This is required because the length of the options field is variable. • The 6-bit Flags field is used to relay control information between TCP peers. The possible flags include SYN, FIN, RESET, PUSH, URG, and ACK. 18
  • 19. TCP HEADER • The Checksum covers the TCP segment: the TCP header and the TCP data. This is a mandatory field that must be calculated by the sender, and then verified by the receiver. • The Option field is the maximum segment size option, called the MSS. Each end of the connection normally specifies this option on the first segment exchanged. It specifies the maximum sized segment the sender wants to receive. • The data portion of the TCP segment is optional. 19
  • 20. The User Datagram Protocol (UDP) • UDP is a commonly used transport protocol employed by many types of applications • A connectionless transport – doesn’t guarantee either packet delivery or packets arrive in sequential order • Bytes are grouped together in discrete packets not an ordered sequence of bytes using I/O stream 20
  • 21. The User Datagram Protocol (UDP) • The packet may travel along different path as selected by the various network routers that distribute traffic flow (network congestion, priority of routes and the cost of transmission) • Possibility of packet missing or discarded exist • No notification is available to update the status of delivery 21
  • 22. UDP Advantages • UDP communication can be more efficient than guaranteed-delivery data streams. If the amount is small and the data is sent frequently, it may make sense to avoid the overhead of guaranteed delivery • Overhead to establish connection can be reduced as compared to TCP • Real time applications that demand up-to-the-second or better performance maybe the candidates for UDP, since fewer delay due to the error checking and flow control of TCP 22
  • 23. The User Datagram Protocol (UDP) 23
  • 24. The User Datagram Protocol (UDP) • UDP Length: length of datagram in bytes, including header and data, max is 65,535 bytes • Checksum: optional -- 16-bit checksum over header and data, or zero 24
  • 25. TCP vs. UDP • How do we send and reconstruct multiple large objects with each protocol? 25
  • 26. TCP vs. UDP How do we send and reconstruct multiple large objects with UDP? – Fragment objects in to byte blocks agree a size and add delimiters between objects which share the same block, number each block and say which object it belongs to – Send blocks one at a time – When a block is received check which object it is for, place it in a buffer for that object – When the end block of an object is found, if that object is complete, return it to the application, if not, request retransmission of missing blocks 26
  • 27. TCP vs. UDP What is UDP useful for? – Fire-and-Forget data • informational (time server updates, keep alives) • wide-area search (service discovery, P2P search) – Real time data • Any application where we don’t care about data from the past, only current data – voice over IP – streaming video/audio – multiplayer games 27