The document discusses transport layer protocols. It covers User Datagram Protocol (UDP), Transmission Control Protocol (TCP), and Stream Control Transmission Protocol (SCTP). UDP is described as a connectionless protocol that does not provide reliability, flow control, or error checking. TCP is connection-oriented and provides reliable in-order delivery through features like sequencing, acknowledgements, retransmissions, flow control, and congestion control. TCP establishes connections using a three-way handshake and transmits data in segments. SCTP is also described as a reliable transport layer protocol providing some features of both TCP and UDP.
The data link layer, or layer 2, is the second layer of the seven-layer OSI model of computer networking. This layer is the protocol layer that transfers data between adjacent network nodes in a wide area network (WAN) or between nodes on the same local area network (LAN) segment.
Mobile Network Layer protocols and mechanisms allow nodes to change their point of attachment to different networks while maintaining ongoing communication. Key concepts include:
- Mobile IP adds mobility support to IP, allowing nodes to use the same IP address even when changing networks. It relies on home agents and care-of addresses.
- Registration allows mobile nodes to inform their home agent of their current location when visiting foreign networks. Tunneling and encapsulation techniques are used to forward packets to mobile nodes' current locations.
- Various routing protocols like DSDV have been developed for mobile ad hoc networks which have no fixed infrastructure and dynamic topologies.
The document summarizes key topics related to transport layer protocols:
- It describes the services provided by the transport layer, including addressing, connection establishment and release, flow control, and multiplexing.
- It provides details on common transport protocols like TCP and UDP, including their packet headers, connection management, congestion control, and performance issues at high speeds.
- It also presents an example transport protocol and uses finite state machines to model its operation and connection management.
This document discusses different types of errors that can occur during data transmission and various error detection and correction techniques. It describes single-bit errors where one bit is changed and burst errors where multiple consecutive bits are changed. It then explains techniques like two-dimensional parity, checksums, and cyclic redundancy checks which add redundant bits to detect errors by checking for discrepancies between transmitted and received data. The document provides examples of how internet checksums and cyclic redundancy checks work to detect errors.
Network layer - design Issues ,Store-and-Forward Packet Switching, Services Provided to the Transport Layer, Which service is the best , Implementation of Service , Implementation of Connectionless Service , Implementation of Connection-Oriented Service
TCP & UDP ( Transmission Control Protocol and User Datagram Protocol)Kruti Niranjan
Â
This document provides information about the Transport Layer protocols TCP and UDP. It describes:
1) TCP is a connection-oriented protocol that provides reliable, in-order delivery of data through features like flow control, error control, and congestion control. UDP is a connectionless protocol that does not guarantee delivery or order of packets.
2) The TCP header contains fields for source/destination ports, sequence numbers, acknowledgement numbers, flags, window size, checksum, and options. The UDP header contains fields for source/destination ports, length, and checksum.
3) The main differences between TCP and UDP are that TCP is connection-oriented, provides error control and flow control, and supports full duplex communication
This document discusses different types of computer network switching, including circuit switching, packet switching, and virtual circuit switching. Circuit switching establishes a dedicated connection between nodes for the duration of a call. Packet switching divides messages into packets that are routed independently through a network on a first-come, first-served basis without dedicated connections. Virtual circuit switching combines aspects of circuit switching and packet switching by establishing paths for packets through a three-phase process of setup, data transfer using local addressing, and teardown.
The data link layer, or layer 2, is the second layer of the seven-layer OSI model of computer networking. This layer is the protocol layer that transfers data between adjacent network nodes in a wide area network (WAN) or between nodes on the same local area network (LAN) segment.
Mobile Network Layer protocols and mechanisms allow nodes to change their point of attachment to different networks while maintaining ongoing communication. Key concepts include:
- Mobile IP adds mobility support to IP, allowing nodes to use the same IP address even when changing networks. It relies on home agents and care-of addresses.
- Registration allows mobile nodes to inform their home agent of their current location when visiting foreign networks. Tunneling and encapsulation techniques are used to forward packets to mobile nodes' current locations.
- Various routing protocols like DSDV have been developed for mobile ad hoc networks which have no fixed infrastructure and dynamic topologies.
The document summarizes key topics related to transport layer protocols:
- It describes the services provided by the transport layer, including addressing, connection establishment and release, flow control, and multiplexing.
- It provides details on common transport protocols like TCP and UDP, including their packet headers, connection management, congestion control, and performance issues at high speeds.
- It also presents an example transport protocol and uses finite state machines to model its operation and connection management.
This document discusses different types of errors that can occur during data transmission and various error detection and correction techniques. It describes single-bit errors where one bit is changed and burst errors where multiple consecutive bits are changed. It then explains techniques like two-dimensional parity, checksums, and cyclic redundancy checks which add redundant bits to detect errors by checking for discrepancies between transmitted and received data. The document provides examples of how internet checksums and cyclic redundancy checks work to detect errors.
Network layer - design Issues ,Store-and-Forward Packet Switching, Services Provided to the Transport Layer, Which service is the best , Implementation of Service , Implementation of Connectionless Service , Implementation of Connection-Oriented Service
TCP & UDP ( Transmission Control Protocol and User Datagram Protocol)Kruti Niranjan
Â
This document provides information about the Transport Layer protocols TCP and UDP. It describes:
1) TCP is a connection-oriented protocol that provides reliable, in-order delivery of data through features like flow control, error control, and congestion control. UDP is a connectionless protocol that does not guarantee delivery or order of packets.
2) The TCP header contains fields for source/destination ports, sequence numbers, acknowledgement numbers, flags, window size, checksum, and options. The UDP header contains fields for source/destination ports, length, and checksum.
3) The main differences between TCP and UDP are that TCP is connection-oriented, provides error control and flow control, and supports full duplex communication
This document discusses different types of computer network switching, including circuit switching, packet switching, and virtual circuit switching. Circuit switching establishes a dedicated connection between nodes for the duration of a call. Packet switching divides messages into packets that are routed independently through a network on a first-come, first-served basis without dedicated connections. Virtual circuit switching combines aspects of circuit switching and packet switching by establishing paths for packets through a three-phase process of setup, data transfer using local addressing, and teardown.
The document discusses the Internet Control Message Protocol (ICMP). ICMP provides error reporting, congestion reporting, and first-hop router redirection. It uses IP to carry its data end-to-end and is considered an integral part of IP. ICMP messages are encapsulated in IP datagrams and are used to report errors in IP datagrams, though some errors may still result in datagrams being dropped without a report. ICMP defines various message types including error messages like destination unreachable and informational messages like echo request and reply.
HDLC is a bit-oriented protocol defined by ISO for point-to-point and multipoint communication over data links. It supports full-duplex communication and provides reliability, efficiency and flexibility. HDLC defines three types of stations - primary, secondary and combined. It uses three frame types - unnumbered, information and supervisory frames. HDLC also specifies three data transfer modes - normal response mode, asynchronous response mode and asynchronous balanced mode. [/SUMMARY]
IPv4 is the fourth version of the Internet Protocol (IP) and routes most internet traffic. It uses 32-bit addresses, allowing for over 4 billion devices to connect. Addresses are written in binary or dotted-decimal notation, with each part identifying the network or host. IPv4 addresses are divided into classes A-C that determine the portions for network vs host identification, with classes D-E being reserved. Issues with IPv4 include a limited address space and increasing routing tables as the internet grows.
The document describes the seven layers of the OSI model: Physical, Data Link, Network, Transport, Session, Presentation, and Application. Each layer has a specific function, such as the Physical layer being responsible for transmission of bits across a network and the Transport layer ensuring reliable delivery of data between endpoints. The OSI model provides a standardized framework for network communication.
This document discusses the Transmission Control Protocol (TCP) which provides reliable, connection-oriented data transmission over the internet. TCP establishes a virtual connection between endpoints, ensuring reliable delivery through mechanisms like positive acknowledgement and retransmission. It uses a sliding window algorithm to guarantee reliable and in-order delivery while enforcing flow control between sender and receiver. Key aspects of TCP include connection establishment and termination, port numbers, segments, headers, and addressing end-to-end issues over heterogeneous networks.
The document discusses the Telnet protocol, which provides a standard method for connecting terminal devices at one site to processes at another site. It describes the key components of Telnet, including the Initial Connection Protocol (ICP) for establishing connections, the Network Virtual Terminal (NVT) specification, and Telnet control signals. Specific control signals like DATA MARK and BREAK are also defined.
This document provides an outline for a textbook on computer networks. It begins with an introduction to computer networks, including their uses in business and home applications. It then discusses network hardware, software, and reference models. Several example networks are described, including the Internet, ATM, Ethernet, and wireless LANs. It concludes with a section on network standardization bodies.
The document discusses various data link layer protocols. It describes how the data link layer is divided into two sublayers - the logical link control (LLC) sublayer and the media access control (MAC) sublayer. The LLC sublayer manages data transmission between devices while the MAC sublayer handles access to the shared transmission medium using various medium access control protocols like CSMA/CD, token passing, and polling. Specific standards like IEEE 802.3 for Ethernet, IEEE 802.5 for Token Ring, and IEEE 802.4 for Token Bus are also summarized.
These slides cover a topic on Virtual circuit & message switching in Data Communication. All the slides are explained in a very simple manner. It is useful for engineering students & also for the candidates who want to master data communication & computer networking
Download to View - Animated Examples
------------------------------------------------------------
Error detection uses the concept of redundancy, which means adding extra bits for detecting error at the destination.
Parity Check is one of the Error Correcting Codes.
The document provides an overview of different routing algorithms:
- It describes shortest path routing and discusses properties like optimality, simplicity, and robustness that routing algorithms should have.
- Common routing algorithms are described briefly, including flooding, distance vector routing, link state routing, and hierarchical routing.
- Specific routing algorithms like Dijkstra's algorithm, flow based routing, and link state routing are explained in more detail through examples.
- Issues with distance vector routing like the count to infinity problem are also covered.
- The talk concludes with hierarchical routing being presented as a solution for scaling routing to larger networks.
The document discusses the TCP/IP protocol suite and compares it to the OSI model. It describes the layers of the TCP/IP model including the physical, data link, internet, and transport layers. The transport layer uses TCP and UDP, with TCP being connection-oriented and reliable, while UDP is connectionless. The internet layer uses IP to transport datagrams independently. The OSI model has 7 layers while TCP/IP has 5 layers that do not directly correspond to the OSI layers.
The document discusses Ethernet networking technologies. It describes how Ethernet was developed in the 1970s and standardized. It outlines the evolution of Ethernet speeds from 2Mbps to 1Gbps. It discusses the physical layer standards for 10BaseT, 100BaseT, 1000BaseT, and 10GBase networking. It also provides an overview of Token Ring and FDDI technologies, including their operation, standards, and key features.
The transport layer provides efficient, reliable, and cost-effective process-to-process delivery by making use of network layer services. The transport layer works through transport entities to achieve its goal of reliable delivery between application processes. It provides an interface for applications to access its services.
The document introduces the data-link layer, which provides node-to-node communication between devices connected by a link. It describes the services of framing, flow control, error control and congestion control. Links can be either point-to-point between two devices or broadcast where a link is shared. The data-link layer has two sublayers: the data-link control layer and the media access control layer. It also discusses three types of link-layer addresses - unicast, multicast and broadcast - and introduces the Address Resolution Protocol used to map IP addresses to MAC addresses.
The document discusses the data link layer, including its functions such as providing a service interface to the network layer, dealing with transmission errors, and regulating data flow. It describes various data link protocols like HDLC, protocols using sliding windows, and protocols for error detection. It also discusses data framing, error correction codes, checksum calculations, and finite state machine and Petri net models for analyzing protocols.
The document discusses various aspects of transport layer protocols including services provided, primitives, addressing, connection establishment and release, flow control, multiplexing, crash recovery, TCP and UDP, and performance issues. Specific topics covered include Berkeley sockets, an example file server, TCP and UDP headers, congestion control, and fast TPDU processing techniques.
The transport layer provides end-to-end communication over a network by providing services such as connection-oriented communication, reliability, flow control, and multiplexing. It links the application layer to the network layer and performs functions like segmenting messages and establishing connections between endpoints. Common transport protocols are TCP, which provides connection-oriented and reliable data transfer, and UDP, which provides connectionless datagram delivery.
The document discusses transport layer protocols TCP and UDP. It provides an overview of process-to-process communication using transport layer protocols. It describes the roles, services, requirements, addressing, encapsulation, multiplexing, and error control functions of the transport layer. It specifically examines TCP and UDP, comparing their connection-oriented and connectionless services, typical applications, and segment/datagram formats.
The document discusses the differences between packets and frames, and provides details on the transport layer. It explains that the transport layer is responsible for process-to-process delivery and uses port numbers for addressing. Connection-oriented protocols like TCP use three-way handshaking for connection establishment and termination, and implement flow and error control using mechanisms like sliding windows. Connectionless protocols like UDP are simpler but unreliable, treating each packet independently.
The document discusses the Internet Control Message Protocol (ICMP). ICMP provides error reporting, congestion reporting, and first-hop router redirection. It uses IP to carry its data end-to-end and is considered an integral part of IP. ICMP messages are encapsulated in IP datagrams and are used to report errors in IP datagrams, though some errors may still result in datagrams being dropped without a report. ICMP defines various message types including error messages like destination unreachable and informational messages like echo request and reply.
HDLC is a bit-oriented protocol defined by ISO for point-to-point and multipoint communication over data links. It supports full-duplex communication and provides reliability, efficiency and flexibility. HDLC defines three types of stations - primary, secondary and combined. It uses three frame types - unnumbered, information and supervisory frames. HDLC also specifies three data transfer modes - normal response mode, asynchronous response mode and asynchronous balanced mode. [/SUMMARY]
IPv4 is the fourth version of the Internet Protocol (IP) and routes most internet traffic. It uses 32-bit addresses, allowing for over 4 billion devices to connect. Addresses are written in binary or dotted-decimal notation, with each part identifying the network or host. IPv4 addresses are divided into classes A-C that determine the portions for network vs host identification, with classes D-E being reserved. Issues with IPv4 include a limited address space and increasing routing tables as the internet grows.
The document describes the seven layers of the OSI model: Physical, Data Link, Network, Transport, Session, Presentation, and Application. Each layer has a specific function, such as the Physical layer being responsible for transmission of bits across a network and the Transport layer ensuring reliable delivery of data between endpoints. The OSI model provides a standardized framework for network communication.
This document discusses the Transmission Control Protocol (TCP) which provides reliable, connection-oriented data transmission over the internet. TCP establishes a virtual connection between endpoints, ensuring reliable delivery through mechanisms like positive acknowledgement and retransmission. It uses a sliding window algorithm to guarantee reliable and in-order delivery while enforcing flow control between sender and receiver. Key aspects of TCP include connection establishment and termination, port numbers, segments, headers, and addressing end-to-end issues over heterogeneous networks.
The document discusses the Telnet protocol, which provides a standard method for connecting terminal devices at one site to processes at another site. It describes the key components of Telnet, including the Initial Connection Protocol (ICP) for establishing connections, the Network Virtual Terminal (NVT) specification, and Telnet control signals. Specific control signals like DATA MARK and BREAK are also defined.
This document provides an outline for a textbook on computer networks. It begins with an introduction to computer networks, including their uses in business and home applications. It then discusses network hardware, software, and reference models. Several example networks are described, including the Internet, ATM, Ethernet, and wireless LANs. It concludes with a section on network standardization bodies.
The document discusses various data link layer protocols. It describes how the data link layer is divided into two sublayers - the logical link control (LLC) sublayer and the media access control (MAC) sublayer. The LLC sublayer manages data transmission between devices while the MAC sublayer handles access to the shared transmission medium using various medium access control protocols like CSMA/CD, token passing, and polling. Specific standards like IEEE 802.3 for Ethernet, IEEE 802.5 for Token Ring, and IEEE 802.4 for Token Bus are also summarized.
These slides cover a topic on Virtual circuit & message switching in Data Communication. All the slides are explained in a very simple manner. It is useful for engineering students & also for the candidates who want to master data communication & computer networking
Download to View - Animated Examples
------------------------------------------------------------
Error detection uses the concept of redundancy, which means adding extra bits for detecting error at the destination.
Parity Check is one of the Error Correcting Codes.
The document provides an overview of different routing algorithms:
- It describes shortest path routing and discusses properties like optimality, simplicity, and robustness that routing algorithms should have.
- Common routing algorithms are described briefly, including flooding, distance vector routing, link state routing, and hierarchical routing.
- Specific routing algorithms like Dijkstra's algorithm, flow based routing, and link state routing are explained in more detail through examples.
- Issues with distance vector routing like the count to infinity problem are also covered.
- The talk concludes with hierarchical routing being presented as a solution for scaling routing to larger networks.
The document discusses the TCP/IP protocol suite and compares it to the OSI model. It describes the layers of the TCP/IP model including the physical, data link, internet, and transport layers. The transport layer uses TCP and UDP, with TCP being connection-oriented and reliable, while UDP is connectionless. The internet layer uses IP to transport datagrams independently. The OSI model has 7 layers while TCP/IP has 5 layers that do not directly correspond to the OSI layers.
The document discusses Ethernet networking technologies. It describes how Ethernet was developed in the 1970s and standardized. It outlines the evolution of Ethernet speeds from 2Mbps to 1Gbps. It discusses the physical layer standards for 10BaseT, 100BaseT, 1000BaseT, and 10GBase networking. It also provides an overview of Token Ring and FDDI technologies, including their operation, standards, and key features.
The transport layer provides efficient, reliable, and cost-effective process-to-process delivery by making use of network layer services. The transport layer works through transport entities to achieve its goal of reliable delivery between application processes. It provides an interface for applications to access its services.
The document introduces the data-link layer, which provides node-to-node communication between devices connected by a link. It describes the services of framing, flow control, error control and congestion control. Links can be either point-to-point between two devices or broadcast where a link is shared. The data-link layer has two sublayers: the data-link control layer and the media access control layer. It also discusses three types of link-layer addresses - unicast, multicast and broadcast - and introduces the Address Resolution Protocol used to map IP addresses to MAC addresses.
The document discusses the data link layer, including its functions such as providing a service interface to the network layer, dealing with transmission errors, and regulating data flow. It describes various data link protocols like HDLC, protocols using sliding windows, and protocols for error detection. It also discusses data framing, error correction codes, checksum calculations, and finite state machine and Petri net models for analyzing protocols.
The document discusses various aspects of transport layer protocols including services provided, primitives, addressing, connection establishment and release, flow control, multiplexing, crash recovery, TCP and UDP, and performance issues. Specific topics covered include Berkeley sockets, an example file server, TCP and UDP headers, congestion control, and fast TPDU processing techniques.
The transport layer provides end-to-end communication over a network by providing services such as connection-oriented communication, reliability, flow control, and multiplexing. It links the application layer to the network layer and performs functions like segmenting messages and establishing connections between endpoints. Common transport protocols are TCP, which provides connection-oriented and reliable data transfer, and UDP, which provides connectionless datagram delivery.
The document discusses transport layer protocols TCP and UDP. It provides an overview of process-to-process communication using transport layer protocols. It describes the roles, services, requirements, addressing, encapsulation, multiplexing, and error control functions of the transport layer. It specifically examines TCP and UDP, comparing their connection-oriented and connectionless services, typical applications, and segment/datagram formats.
The document discusses the differences between packets and frames, and provides details on the transport layer. It explains that the transport layer is responsible for process-to-process delivery and uses port numbers for addressing. Connection-oriented protocols like TCP use three-way handshaking for connection establishment and termination, and implement flow and error control using mechanisms like sliding windows. Connectionless protocols like UDP are simpler but unreliable, treating each packet independently.
The transport layer provides process-to-process communication and utilizes three main protocols: UDP, TCP, and SCTP. UDP is a connectionless protocol that does not guarantee delivery, while TCP provides reliable, ordered delivery through a connection-oriented approach. SCTP also provides reliable delivery with the added capability of multiple streams. Key aspects of these protocols include port numbers, packet/segment formatting, and connection establishment handshaking.
The document discusses transport layer protocols, specifically UDP and TCP. It provides details on:
- UDP being a connectionless, unreliable protocol using checksums and having no flow/error control.
- TCP being connection-oriented and reliable, using sequence numbers, acknowledgments, flow and error control, and establishing connections via three-way handshakes before bidirectional data transfer.
- Both UDP and TCP encapsulating data into segments or datagrams which are delivered process-to-process using port numbers.
Transport protocols establish reliable communication between machines on a network. They provide services like error control, flow control, and multiplexing. The main transport protocols are TCP and UDP. TCP is connection-oriented and provides reliable, ordered delivery. UDP is connectionless and faster but unreliable. Both protocols use port numbers to identify sending and receiving processes and segment packet headers with fields like source/destination port and sequence numbers. DNS is an application layer protocol that maps domain names to IP addresses, enabling human-friendly web addresses. It uses a hierarchical system of root, TLD, and authoritative name servers to resolve names.
IV B.Tech I Sem CSE&IT JNTUK R10 regulation students have Mobile computing paper. This slides especially contains UNIT - 5 total material required for end exams
presentation on TCP/IP protocols data comunicationsAnyapuPranav
Â
The document provides an overview of the TCP/IP protocol architecture. It discusses the five layers of TCP/IP including the physical, network access, internet, transport, and application layers. It describes the protocols used at each layer, such as IP, TCP, UDP, HTTP, and FTP. The document also discusses how data is encapsulated as it passes through each layer of the TCP/IP model and is transmitted from one host to another across networks and the internet.
- TCP is a core transport layer protocol that provides reliable, ordered delivery of data between applications over an IP network. It establishes a virtual connection through handshaking and provides flow control and error checking.
- IP operates below TCP as the primary protocol in the internet layer, encapsulating and delivering data packets based on IP addresses alone. TCP and IP are the central protocols that define the Internet Protocol Suite.
- Standard TCP/IP services include Telnet (port 23) for remote access, FTP (ports 20/21) for file transfer, and TFTP (port 69) for simple file transfer without authentication. These services are identified by unique port numbers along with IP addresses to direct network communication.
- TCP and IP are core protocols of the Internet Protocol Suite, with TCP operating at the transport layer and providing reliable data transmission, and IP operating at the internet layer and routing packets between hosts.
- TCP establishes a virtual connection between hosts and provides services like flow control, error checking, and reliable ordered delivery. It uses port numbers to identify applications.
- Common applications that use TCP include Telnet, FTP, and TFTP, with Telnet using port 23, FTP using ports 20 and 21, and TFTP using port 69.
- TCP and IP are core protocols of the Internet Protocol Suite, with TCP operating at the transport layer and providing reliable data transmission, and IP operating at the internet layer and routing packets between hosts.
- TCP establishes a virtual connection between hosts to send data reliably and in order using mechanisms like flow control, error checking, and acknowledgments.
- Common applications of TCP/IP include Telnet (port 23) for remote access, FTP (ports 20/21) for file transfer, and TFTP (port 69) for simple file transfer without authentication.
UDP is a transport layer protocol that provides an unreliable datagram service. It is positioned directly above IP in the TCP/IP protocol stack. UDP packets contain a header with source and destination port numbers as well as length fields, but do not establish connections, provide sequencing, or guarantee delivery like TCP. Well-known ports are assigned to common UDP applications like DNS, time synchronization, and trivial file transfer.
This document provides an agenda and overview of topics related to the transport layer and networking essentials. The agenda includes discussions of the transport layer, UDP overview, TCP communication process, the socket API, and tools and utilities. Specific topics that will be covered include the role and functions of the transport layer, UDP features and headers, TCP reliability mechanisms like connection establishment and termination, sequence numbers and acknowledgments, window sliding, and data loss/retransmission. The document also provides brief overviews and usage examples for common networking tools like ifconfig, nmcli, route, ping, traceroute, netstat, dig, ncat, nmap, tcpdump, and wireshark.
TCP/IP (Transmission Control Protocol/Internet Protocol) is the basic communication language or protocol of the Internet. It can also be used as a communications protocol in a private network (either an intranet or an extranet).
This document provides an overview of the transport layer and TCP protocol. It discusses UDP and TCP header formats, per-segment checksum calculation for UDP, TCP connection management using three-way handshake, TCP reliability of data transfer using acknowledgements and retransmissions, TCP flow control to prevent receivers from being overwhelmed, and TCP congestion control using a leaky bucket algorithm. The document also lists group members at the end.
The document discusses various aspects of transport layer protocols including:
- Transport layer provides reliable data transfer between source and destination through end-to-end connections.
- Elements of transport protocols include addressing, connection establishment and release, flow control, buffering, and multiplexing.
- TCP is a connection-oriented transport protocol that provides reliable, ordered delivery of bytes in a byte stream.
- HTTP is an application-layer protocol used to access data on the world wide web through request-response transactions.
The document discusses the transport layer in networking. It describes two main transport protocols:
1) UDP is a connectionless protocol that provides best-effort delivery of datagrams across IP networks. It uses port numbers for demultiplexing but does not provide reliability.
2) TCP is a connection-oriented protocol that provides reliable, in-order delivery of streams of bytes between applications over unreliable IP networks. It uses a three-way handshake to establish connections and provides flow control and error checking.
TCP and UDP are transport layer protocols that package and deliver data between applications. TCP provides reliable, ordered delivery through connection establishment and packet sequencing. UDP provides faster, unreliable datagram delivery without connections. Common applications using TCP include HTTP, FTP, and SMTP. Common UDP applications include DNS, DHCP, and streaming media.
This document summarizes key concepts about the transport layer in computer networks. It discusses:
1. The transport layer is responsible for process-to-process delivery of data across a network. This involves delivering packets from one process to another, often using a client-server model.
2. There are two main transport layer protocols - UDP, which is a connectionless and unreliable protocol, and TCP, which establishes connections and provides reliable data delivery.
3. TCP and UDP use port numbers along with IP addresses to uniquely identify processes. TCP also implements flow and error control to ensure reliable data transfer.
Similar to Unit 4-Transport Layer Protocols.pptx (20)
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
Â
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
âBuilding and Scaling AI Applications with the Nx AI Manager,â a Presentation...Edge AI and Vision Alliance
Â
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the âBuilding and Scaling AI Applications with the Nx AI Manager,â tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developerâs life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
Â
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
Â
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di piÚ di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilitĂ , standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunitĂ open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. à stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Â
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind fĂźr viele in der HCL-Community seit letztem Jahr ein heiĂes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und LizenzgebĂźhren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer mĂśglich. Das verstehen wir und wir mĂśchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lÜsen kÜnnen, die dazu fßhren kÜnnen, dass mehr Benutzer gezählt werden als nÜtig, und wie Sie ßberflßssige oder ungenutzte Konten identifizieren und entfernen kÜnnen, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnÜtigen Ausgaben fßhren kÜnnen, z. B. wenn ein Personendokument anstelle eines Mail-Ins fßr geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren LÜsungen. Und natßrlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Ăberblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und ĂźberflĂźssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps fßr häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
Â
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This yearâs report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Â
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4jâs graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Â
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Â
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAGâs diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of âhallucinationsâ and improving the overall customer journey.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Â
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Â
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Â
Unit 4-Transport Layer Protocols.pptx
1. Unit -4 Transport Layer Protocols.
Total Marks-18
Topics and Sub-topics
4.1 User Datagram Protocol: User Datagram, UDP Services, UDP
Applications.
4.2 Transmission Control Protocol: TCP Services, TCP features,
Segment, A TCP Connection, State Transition Diagram, Windows in
TCP, Flow Control, Error Control, TCP Congestion Control,TCP timers,
Options.
4.3 SCTP: SCTP Services, SCTP features, Packet Format, An SCTP
Association, Flow control, Error Control.
2. ⢠Transport Layer:
⢠The Transport layer is the layer-4 of the OSI reference model. The transport layer
is mainly responsible for the process-to-process delivery of the entire message. A
process is basically an application program that is running on the host.
⢠The basic function of the Transport layer is to accept data from the layer above,
split it up into smaller units, pass these data units to the Network layer, and
ensure that all the pieces arrive correctly at the other end.
⢠Functions of Transport Layer
1. Service Point Addressing: Transport Layer header includes service point address
which is the port address. This layer gets the message to the correct process on
the computer unlike Network Layer, which gets each packet to the correct
computer.
3. ⢠Functions of Transport Layer:
2. Segmentation and Reassembling: A message is divided into segments(that are
transmittable); each segment contains a sequence number, which enables this
layer in reassembling the message. The message is reassembled correctly upon
arrival at the destination and replaces packets that were lost in transmission.
3. Connection Control: It includes 2 types:
â Connectionless Transport Layer: Each segment is considered as an
independent packet and delivered to the transport layer at the destination
machine.
â Connection-Oriented Transport Layer: Before delivering packets, the
connection is made with the transport layer at the destination machine.
4. Flow Control: In this layer, flow control is performed end to end rather than
across a single link.
5. Error Control: Error Control is performed end to end in this layer to ensure that
the complete message arrives at the receiving transport layer without any error.
Error Correction is done through retransmission.
4. ⢠Transport Layer Protocol:
⢠Transport Layer Protocol
1. TCP (Transmission Control Protocol)
2. UDP (User Datagram Protocol)
3. SCTP (Stream Control Transmission Protocol)
4.1 UDP:
⢠It is the simplest transport layer protocol.
⢠It has been designed to send data packets over the Internet.
⢠It simply takes the datagram from the network layer, attaches its header and sends it
to the user.
⢠Need of UDP-
⢠TCP proves to be an overhead for certain kinds of applications.
⢠The Connection Establishment Phase, Connection Termination Phase etc of
TCP are time consuming.
⢠To avoid this overhead, certain applications which require fast speed and less
overhead use UDP.
5. 4.1 UDP (User Datagram Protocol): ContinueâŚâŚâŚ.
4.1.1 Characteristics / Features of UDP-
1. It is a connectionless protocol.
2. It is a stateless protocol.
3. It is an unreliable protocol.
4. It is a fast protocol.
5. It offers the minimal transport service.
6. It is almost a null protocol.
7. It does not guarantee in order delivery.
8. It does not provide congestion control mechanism.
9. It is a good protocol for data flowing in one direction.
7. ⢠UDP (User Datagram Protocol) (ContinuedâŚ.)
1. Source Port-
⢠Source Port is a 16 bit field.
⢠It identifies the port of the sending application.
2. Destination Port-
⢠Destination Port is a 16 bit field.
⢠It identifies the port of the receiving application.
3. Length-
⢠Length is a 16 bit field.
⢠It identifies the combined length of UDP Header and Encapsulated data.
Length = Length of UDP Header + Length of encapsulated data
4. Checksum-
⢠Checksum is a 16 bit field used for error control.
⢠It is calculated on UDP Header, encapsulated data and IP pseudo header.
⢠Checksum calculation is not mandatory in UDP.
8. ⢠UDP (User Datagram Protocol) (ContinuedâŚ.)
4.1.3 UDP Services / Operations:
1. Connectionless Services :
⢠The User datagram protocol offers Connectionless Services which simply means
that each user datagram that is sent by the UDP is an independent datagram.
⢠In different datagrams, there is no relationship, even if they are coming from the
same source process and also going to the same destination program.
⢠User datagrams are not numbered, there is no connection establishment and no
connection termination.
⢠Each datagram mainly travels through different paths.
2. Flow Control and Error Control :
⢠User datagram is a very simple and unreliable transport protocol. I
⢠t does not provide any flow control mechanism and hence there is no window
mechanism. Due to which the receiver may overflow with the incoming
messages.
9. ⢠UDP (User Datagram Protocol) (ContinuedâŚ.)
⢠No error control mechanism is provided by UDP except checksum. Due to which
the sender does not know if any message is has been lost or duplicated.
⢠As there is a lack of flow control and error control it means that the process that
uses the UDP should provide these mechanisms.
3. Encapsulation and decapsulation:
⢠In order to send the message from one process to another, the user datagram
protocol encapsulates and decapsulates the message in the form of an IP
datagram.
4. Queuing:
⢠In UDP, queues are associated with ports. At the client site, when a process
starts, it requests a port number from the operating system.
⢠Some implementations create both an incoming and an outgoing queue
associated with each process. Other implementations create only an incoming
queue associated with each process.
10. ⢠UDP (User Datagram Protocol) (ContinuedâŚ.)
5. Process to Process Communication:
⢠UDP provides process to process communication using sockets, a combination of
IP addresses and port numbers.
⢠Well known port numbers used by UDP are as follows:
6. Multiplexing and Demultiplexing:
11. ⢠UDP (User Datagram Protocol) (ContinuedâŚ.)
4.1.4 Applications Using UDP-
⢠Applications which require one response for one request use UDP. Example- DNS.
⢠Routing Protocols like RIP and OSPF use UDP because they have very small amount of
data to be transmitted.
⢠Trivial File Transfer Protocol (TFTP) uses UDP to send very small sized files.
⢠Broadcasting and multicasting applications use UDP.
⢠Streaming applications like multimedia, video conferencing etc use UDP since they
require speed over reliability.
⢠Real time applications like chatting and online games use UDP.
⢠Management protocols like SNMP (Simple Network Management Protocol) use UDP.
⢠Bootp / DHCP uses UDP.
⢠Other protocols that use UDP are- Kerberos, Network Time Protocol (NTP), Network
News Protocol (NNP), Quote of the day protocol etc.
12. 4. 2 TCP- (Transmission Control Protocol)
⢠It is a transport layer protocol.
⢠It has been designed to send data packets over the Internet.
⢠It establishes a reliable end to end connection before sending any data.
4.2.1 Characteristics Of TCP:
1. TCP is a reliable protocol.
⢠This is because-
⢠It guarantees the delivery of data packets to its correct destination.
⢠After receiving the data packet, receiver sends an acknowledgement to the
sender.
⢠It tells the sender whether data packet has reached its destination safely or not.
⢠TCP employs retransmission to compensate for packet loss.
13. ⢠TCP (ContinuedâŚ)
2. TCP is a connection oriented protocol.
⢠This is because-
⢠TCP establishes an end to end connection between the source and destination.
⢠The connection is established before exchanging the data.
⢠The connection is maintained until the application programs at each end finishes
exchanging the data.
3. TCP handles both congestion and flow control.
⢠TCP handles congestion and flow control by controlling the window size.
⢠TCP reacts to congestion by reducing the sender window size.
4. TCP ensures in-order delivery.
⢠TCP ensures that the data packets get deliver to the destination in the same
order they are sent by the sender.
⢠Sequence Numbers are used to coordinate which data has been transmitted and
received.
5. TCP connections are full duplex.
⢠TCP connection allows to send data in both the directions at the same time.
⢠So, TCP connections are Full Duplex.
14. ⢠TCP (ContinuedâŚ)
6. TCP works in collaboration with Internet Protocol.
⢠A TCP connection is uniquely identified by using-
⢠Combination of port numbers and IP Addresses of sender and receiver.
⢠IP Addresses indicate which systems are communicating.
⢠Port numbers indicate which end to end sockets are communicating.
⢠Port numbers are contained in the TCP header and IP Addresses are contained in
the IP header.
⢠TCP segments are encapsulated into an IP datagram.
⢠So, TCP header immediately follows the IP header during transmission.
7. TCP can use both selective & cumulative acknowledgements.
⢠TCP uses a combination of Selective Repeat and Go back N protocols.
⢠In TCP, sender window size = receiver window size.
⢠In TCP, out of order packets are accepted by the receiver.
⢠When receiver receives an out of order packet, it accepts that packet but sends
an acknowledgement for the expected packet.
⢠Receiver may choose to send independent acknowledgements or cumulative
acknowledgement.
⢠To sum up, TCP is a combination of 75% SR protocol and 25% Go back N protocol.
15. ⢠TCP (ContinuedâŚ)
8. TCP is a byte stream protocol.
⢠Application layer sends data to the transport layer without any limitation.
⢠TCP divides the data into chunks where each chunk is a collection of bytes.
⢠Then, it creates a TCP segment by adding IP header to the data chunk.
⢠TCP segment = TCP header + Data chunk.
9. TCP provides error checking & recovery mechanism.
⢠TCP provides error checking and recovery using three simple techniques:
1. Checksum
2. Acknowledgement
3. Retransmission
16. 4.2.2 TCP Segment and TCP Header:
⢠The following diagram represents the TCP Segment and Header format-
Header Data
17. ⢠TCP Header:(ContinuedâŚ.)
1. Source Port-
⢠Source Port is a 16 bit field.
⢠It identifies the port of the sending application.
2. Destination Port-
⢠Destination Port is a 16 bit field.
⢠It identifies the port of the receiving application.
NOTE
⢠It is important to note-
⢠A TCP connection is uniquely identified by using-
⢠Combination of port numbers and IP Addresses of sender and receiver
⢠IP Addresses indicate which systems are communicating.
⢠Port numbers indicate which end to end sockets are communicating.
18. ⢠TCP Header:(ContinuedâŚ.)
3. Sequence Number-
⢠Sequence number is a 32 bit field.
⢠TCP assigns a unique sequence number to each byte of data contained in the TCP
segment.
⢠This field contains the sequence number of the first data byte.
4. Acknowledgement Number-
⢠Acknowledgment number is a 32 bit field.
⢠It contains sequence number of the data byte that receiver expects to receive
next from the sender.
⢠It is always sequence number of the last received data byte incremented by 1.
5. Header Length-
⢠Header length is a 4 bit field.
⢠It contains the length of TCP header.
⢠It helps in knowing from where the actual data begins.
⢠Minimum and Maximum Header length-
⢠The length of TCP header always lies in the range- [20 bytes , 60 bytes]
19. ⢠TCP Header:(ContinuedâŚ.)
⢠The initial 5 rows of the TCP header are always used.
⢠So, minimum length of TCP header = 5 x 4 bytes = 20 bytes.
⢠The size of the 6th row representing the Options field vary.
⢠The size of Options field can go up to 40 bytes.
⢠So, maximum length of TCP header = 20 bytes + 40 bytes = 60 bytes.
⢠Concept of Scaling Factor-
⢠Header length is a 4 bit field.
⢠So, the range of decimal values that can be represented is [0, 15].
⢠But the range of header length is [20, 60].
⢠So, to represent the header length, we use a scaling factor of 4.
⢠In general, Header length = Header length field value x 4 bytes
⢠Examples-
⢠If header length field contains decimal value 5 (represented as 0101), then-
Header length = 5 x 4 = 20 bytes
⢠If header length field contains decimal value 10 (represented as 1010), then-
Header length = 10 x 4 = 40 bytes
⢠If header length field contains decimal value 15 (represented as 1111), then-
Header length = 15 x 4 = 60 bytes
20. ⢠TCP Header:(ContinuedâŚ.)
6. Reserved Bits-
⢠The 6 bits are reserved.
⢠These bits are not used.
7. Control Field- This field defines 6 different control bits or flags as shown in Figure
4.2.2. One or more of these bits can be set at a time.
Control field : URG: Urgent pointer is valid.
ACK: Acknowledgment is valid. PSH: Request for push.
RST: Reset the connection. SYN: Synchronize sequence numbers
FIN: Terminate the connection.
Figure 4.2.2 Flags in TCP Header
URG ACK PSH RST SYN FIN
21. ⢠TCP Header:(ContinuedâŚ.)
â˘
Flag Description
URG The value of the urgent pointer field is valid.
ACK The value of the acknowledgment field is
valid
PSH Push the data.
RST Reset the connection
SYN Synchronize sequence numbers during
connection.
FIN Terminate the connection
22. ⢠TCP Header:(ContinuedâŚ.)
8. Window Size-
⢠Window size is a 16 bit field.
⢠It contains the size of the receiving window of the sender.
⢠It advertises how much data (in bytes) the sender can receive without
acknowledgement.
⢠Thus, window size is used for Flow Control.
NOTE
⢠It is important to note-
⢠The window size changes dynamically during data transmission.
⢠It usually increases during TCP transmission up to a point where congestion is
detected.
⢠After congestion is detected, the window size is reduced to avoid having to drop
packets.
23. ⢠TCP Header:(ContinuedâŚ.)
9. Checksum-
⢠Checksum is a 16 bit field used for error control.
⢠It verifies the integrity of data in the TCP payload.
⢠Sender adds CRC checksum to the checksum field before sending the data.
⢠Receiver rejects the data that fails the CRC check.
10. Urgent Pointer-
⢠Urgent pointer is a 16 bit field.
⢠It indicates how much data in the current segment counting from the first data
byte is urgent.
⢠Urgent pointer added to the sequence number indicates the end of urgent data
byte.
⢠This field is considered valid and evaluated only if the URG bit is set to 1.
24. ⢠TCP Header:(ContinuedâŚ.)
11. Options-
⢠Options field is used for several purposes.
⢠The size of options field vary from 0 bytes to 40 bytes.
⢠Options field is generally used for the following purposes-
1. Time stamp
2. Window size extension
3. Parameter negotiation
4. Padding
25. ⢠4.2.3 Three Way Handshake/TCP connection Establishment
⢠Three Way Handshake is a process used for establishing a TCP connection.
Consider-
⢠Client wants to establish a connection with the server.
⢠Before Three Way Handshake, both client and server are in closed state.
⢠TCP Handshake involves the following steps in establishing the connection-
Step-01: SYN-
For establishing a connection,
⢠Client sends a request segment to the server.
⢠Request segment consists only of TCP Header with an empty payload.
⢠Then, it waits for a reply segment from the server.
26. ⢠Three Way Handshake/TCP connection (ContinuedâŚ.)
⢠Request segment contains the following information in TCP header-
1. Initial sequence number
2. SYN bit set to 1
3. Maximum segment size
4. Receiving window size
1. Initial Sequence Number-
⢠Client sends the initial sequence number to the server.
⢠It is contained in the sequence number field.
⢠It is a randomly chosen 32 bit value.
2. SYN Bit Set To 1-
Client sets SYN bit to 1 which indicates the server-
⢠This segment contains the initial sequence number used by the client.
⢠It has been sent for synchronizing the sequence numbers.
27. ⢠Three Way Handshake/TCP connection (ContinuedâŚ.)
3. Maximum Segment Size (MSS)-
⢠Client sends its MSS to the server.
⢠It dictates the size of the largest data chunk that client can send and receive from
the server.
⢠It is contained in the Options field.
4. Receiving Window Size-
⢠Client sends its receiving window size to the server.
⢠It dictates the limit of unacknowledged data that can be sent to the client.
⢠It is contained in the window size field.
Step-02: SYN + ACK-
After receiving the request segment,
⢠Server responds to the client by sending the reply segment.
⢠It informs the client of the parameters at the server side.
28. ⢠Three Way Handshake/TCP connection (ContinuedâŚ.)
⢠Reply segment contains the following information in TCP header-
1. Initial sequence number
2. SYN bit set to 1
3. Maximum segment size
4. Receiving window size
5. Acknowledgment number
6. ACK bit set to 1
1. Initial Sequence Number-
⢠Server sends the initial sequence number to the client.
⢠It is contained in the sequence number field.
⢠It is a randomly chosen 32 bit value.
2. SYN Bit Set To 1-
⢠Server sets SYN bit to 1 which indicates the client-
⢠This segment contains the initial sequence number used by the server.
⢠It has been sent for synchronizing the sequence numbers.
29. ⢠Three Way Handshake/TCP connection (ContinuedâŚ.)
3. Maximum Segment Size (MSS)-
⢠Server sends its MSS to the client.
⢠It dictates the size of the largest data chunk that server can send and receive
from the client.
⢠It is contained in the Options field.
4. Receiving Window Size-
⢠Server sends its receiving window size to the client.
⢠It dictates the limit of unacknowledged data that can be sent to the server.
⢠It is contained in the window size field.
5. Acknowledgement Number-
⢠Server sends the initial sequence number incremented by 1 as an
acknowledgement number.
⢠It dictates the sequence number of the next data byte that server expects to
receive from the client.
6. ACK Bit Set To 1-
⢠Server sets ACK bit to 1.
⢠It indicates the client that the acknowledgement number field in the current
segment is valid.
30. ⢠Three Way Handshake/TCP connection (ContinuedâŚ.)
Step-03: ACK-
⢠After receiving the reply segment,
⢠Client acknowledges the response of server.
⢠It acknowledges the server by sending a pure
acknowledgement.
With these, a Full Duplex connection is established.
Important Points-
Point-01:
In step-01 and step-02-
⢠The connection parameters are established for the first side.
⢠They are acknowledged by the second side.
In step-02 and step-03-
⢠The connection parameters are established for the second side.
⢠They are acknowledged by the first side.
31. ⢠4.2.4 Four Way Handshake/TCP connection Release:
⢠Suppose, the client needs to send some data to the server, it will be sent through
a TCP.
⢠TCP create a connection between the client and the server. Once the connection
is successfully established and the data is transferred to the server. Thus, the
next step will be to close the connection.
⢠To terminate an established TCP connection, TCP uses Four Way Handshake
method.
⢠The following 4 TCP packets are needed to be exchanged.
1. Host A â Host B: FIN flag set.
2. Host B â Host A: ACK flag set.
3. Host B â Host A: FIN flag set.
4. Host A â Host B: ACK flag set.
32. ⢠Four Way Handshake/TCP connection Release: (ContinueâŚ.)
⢠These 4 steps are known as a TCP 4-way handshake, which is necessary
to terminate a TCP connection.
⢠For the termination of the established TCP connection, the following steps are
necessary for the process. Which are given down below:
Step 1: Firstly, from one side of the connection, either from the client or the server
the FIN flag will be sent as the request for the termination of the connection.
Step 2: In the second step, whoever receives the FIN flag will then be sending an ACK
flag as the acknowledgment for the closing request to the other side.
Step3 : And, at the Later step, the server will also send a FIN flag as the closing signal
to the other side.
Step 4: In the final step, the TCP, who received the final FIN flag, will be sending an
ACK flag as the final Acknowledgement for the suggested connection closing.
33. ⢠Four Way Handshake/TCP connection Release: (ContinueâŚ.)
⢠Since the Four main steps are required to close an active connection, so,
it is called a four-way handshake. The process is as shown in following
figure.
Figure: Four Way Handshake in TCP
34. Q. Explain what happens when 2 hosts simultaneously try to
establish a connection in tcp.
⢠If two hosts try to establish a connection simultaneously between the
same two sockets, then the events sequence is demonstrated in the
figure under such circumstances. Only one connection is established. It
cannot select both the links because their endpoints identify
connections.
35. 4.2.5 TCP State Transition Diagram:
⢠To observe the events happening during connection establishment, connection
termination, and data transfer, TCP is specified as the finite state machine (FSM)
as shown in Figure 4.2.5.1.
⢠Here two FSMs used by the TCP client and server combined in one diagram.
⢠The rounded-corner rectangles represent the states. The transition from one
state to another is shown using directed lines. Each line has two strings
separated by a slash. The first string is the input, what TCP receives. The second
is the output, what TCP sends.
⢠The dotted black lines in the figure represent the transition that a server
normally goes through; the solid black lines show the transitions that a client
normally goes through. In some situations, a server transitions through a solid
line or a client transitions through a dotted line.
36. 4.2.5 TCP State Transition Diagram: (ContinueâŚâŚ)
⢠The colored lines show special situations. The rounded-corner rectangle marked
ESTABLISHED has two sets of states, a set for the client and another for the server, that are
used for flow and error control.
⢠The total eleven states in such a state machine are given in following table.
Sr. No. State Description
1 CLOSED No connection exists
2 LISTEN Passive open received; waiting for SYN
3 SYN-SENT SYN sent; waiting for ACK
4 SYN-RCVD SYN + ACK sent; waiting for ACK
5 ESTABLISHED Connection established; data transfer in progress
6 FIN-WAIT-1 First FIN sent; waiting for ACK
7 FIN-WAIT-2 ACK to first FIN received; waiting for second FIN
8 CLOSE-WAIT First FIN received, ACK sent; waiting for application to close.
9 TIME-WAIT Second FIN received, ACK sent; waiting for 2MSL time-out.
10 LAST-ACK Second FIN sent; waiting for ACK.
11 CLOSING Both sides decided to close simultaneous.
37. 4.2.5 TCP State Transition Diagram: (ContinueâŚâŚ)
Figure 4.2.5.1 TCP State Transition Diagram.
38. 4.2.5 TCP State Transition Diagram: (ContinueâŚâŚ)
⢠Consider the scenario. Figure 4.2.5.2 shows the state transition diagram for this
scenario. The client process issues an active open command to its TCP to request a
connection to a specific socket address.
⢠TCP sends a SYN segment and moves to the SYN-SENT state.
⢠After receiving the SYN +ACK segment, TCP sends an ACK segment and goes to the
ESTABLISHED state. Data are transferred, possibly in both directions, and
acknowledged.
⢠When the client process has no more data to send, it issues a command called an
active close. The TCP sends a FIN segment and goes to the FINWAIT1 state. When it
receives the ACK segment, it goes to the FIN-WAIT-2 state.
⢠When the client receives a FIN segment, it sends an ACK segment and goes to the
TIME-WAIT state. The client remains in this state for 2 MSL .MSL is the maximum time
a TCP segment is expected to live, or stay in the network. When the corresponding
timer expires, the client goes to the CLOSED state. The server process issues a passive
open command. The server TCP goes to the LISTEN state and remains there passively
until it receives a SYN segment.
39. 4.2.5 TCP State Transition Diagram: (ContinueâŚâŚ)
⢠The TCP then sends a SYN +ACK segment and goes to the SYN-RCVD state,
waiting for the client to send an ACK segment. After receiving the ACK segment,
TCP goes to the ESTABLISHED state, where data transfer can take place. TCP
remains in this state until it receives a FIN segment from the client signifying that
there are no more data to be exchanged and the connection can be closed.The
server, upon receiving the FIN segment, sends all queued data to the server with
a virtual EOF marker, which means that the connection must be closed. It sends
an ACK segment and goes to the CLOSEWAIT state, but postpones acknowledging
the FIN segment received from the client until it receives a passive close
command from its process. After receiving the passive close command, the
server sends a FIN segment to the client and goes to the LASTACK state, waiting
for the final ACK. When the ACK segment is received from the client,the server
goes to the CLOSE state.
40. 4.2.5 TCP State Transition Diagram: (ContinueâŚâŚ)
⢠Figure 4.2.5.2 Separate TCP State Transition Diagram for Client and Server.
41. 4.2.6 TCP Services
1. Process-to-Process Communication:
⢠TCP provides process-to-process communication i.e. the transfer of data takes place
between individual processes executing on end systems. This is done using port
numbers or port addresses.
⢠Port numbers are 16-bit long that help to identify which process is sending or
receiving data on a host. The following table 4.2.4.1 lists some well-known port
numbers used by TCP.
2. Stream Delivery Service:
⢠TCP is a stream-oriented protocol. TCP, allows the sending process to deliver data as a
stream of bytes and allows the receiving process to obtain data as a stream of bytes.
⢠TCP creates an environment in which the two processes seem to be connected by an
imaginary "tube" that carries their data across the Internet. This imaginary
environment is shown in the following figure 4.2.4.1. The sending process produces
(writes to) the stream of bytes, and the receiving process consumes (reads from)
them.
42. 4.2.6 TCP Services (ContinueâŚ..)
⢠Table 4.2.4.1 Well Known Ports of TCP
44. 4.2.6 TCP Services (ContinueâŚ..)
3. Sending and Receiving Buffers:
⢠Because the sending and the receiving processes may not write or read data at
the same speed, TCP needs buffers for storage.
⢠There are two buffers, the sending buffer and the receiving buffer, one for each
direction and these buffers are also necessary for flow and error control
mechanisms used by TCP.
4. Bytes and Segments:
⢠The buffering handles the disparity between the speed of the producing and
consuming processes, we need one more step before we can send data.
⢠The IP layer, as a service provider for TCP, needs to send data in packets, not as a
stream of bytes. At the transport layer, TCP groups a number of bytes together
into a packet called a segment. TCP adds a header to each segment (for control
purposes) and delivers the segment to the IP layer for transmission.
45. 4.2.6 TCP Services (ContinueâŚ..)
⢠The segments are encapsulated in IP datagrams and transmitted.
⢠This entire operation is transparent to the receiving process. The segments may
be received out of order, lost, or corrupted and resent.
⢠All these are handled by TCP with the receiving process unaware of any activities.
5. Full-Duplex Communication:
⢠TCP offers full-duplex service, in which data can flow in both directions at the
same time.
⢠Each TCP then has a sending and receiving buffer, and segments move in both
directions.
6. Connection-Oriented Service:
⢠TCP is a connection-oriented protocol. When a process at site A wants to send
and receive data from another process at site B, the following occurs:
46. 4.2.6 TCP Services (ContinueâŚ..)
1. The two TCPs establish a connection between them.
2. Data are exchanged in both directions.
3. The connection is terminated.
(Note: This is a logical connection, not physical).
7. Reliable Service:
⢠TCP is a reliable transport protocol. It uses an acknowledgment mechanism to
check the safe and sound arrival of data.
⢠TCP uses checksum for error control.
47. 4.2.7 Flow Control in TCP:
⢠In flow control TCP will ensure that a sender is not overwhelming a receiver by
sending packets faster than it can consume.
⢠Flow control regulates the amount of data a source can send before receiving
an acknowledgment from the destination.
Figure Flow Control in TCP
48. 4.2.7 Flow Control in TCP: (ContinueâŚ..)
⢠In communication at the transport layer, we are dealing with four entities:
sender process, sender transport layer, receiver transport layer, and receiver
process.
1. The sending process at the application layer is only a producer. It produces
message chunks and pushes them to the transport layer.
2. The sending transport layer has a double role: it is both a consumer and the
producer. It consumes the messages pushed by the producer. It encapsulates the
messages in packets and pushes them to the receiving transport layer.
3. The receiving transport layer has also a double role: it is the consumer for the
packets received from the sender. It is also a producer; it needs to decapsulate
the messages and deliver them to the application layer.
4. The last delivery, however, is normally a pulling delivery; the transport layer
waits until the application-layer process asks for messages.
49. 4.2.8 Error Control in TCP:
⢠TCP is a reliable transport layer protocol. This means that an application program
that delivers a stream of data to TCP relies on TCP to deliver the entire stream to
the application program on the other end in order, without error, and without
any part lost or duplicated.
⢠TCP protocol has methods for finding out corrupted segments, missing segments,
out-of-order segments and duplicated segments.
⢠Error control in TCP is mainly done through the use of three simple techniques :
1. Checksum â Every segment contains a checksum field which is used to find
corrupted segments. If the segment is corrupted, then that segment is discarded
by the destination TCP and is considered lost.
2. Acknowledgement â TCP has another mechanism called acknowledgement to
affirm that the data segments have been delivered. Control segments that
contain no data but have sequence numbers will be acknowledged as well but
ACK segments are not acknowledged.
50. 4.2.8 Error Control in TCP: (ContinueâŚâŚ.)
3. Retransmission â When a segment is missing, delayed to deliver to a receiver,
corrupted when it is checked by the receiver then that segment is retransmitted
again.
⢠Segments are retransmitted only during two events:
a) When the sender receives three duplicate acknowledgements (ACK) or
b) When a retransmission timer expires.
i) Retransmission after RTO: TCP always preserves one Retransmission Time-Out
(RTO) timer for all sent but not acknowledged segments.
⢠When the timer runs out of time, the earliest segment is retransmitted. Here no
timer is set for acknowledgement.
⢠In TCP, the RTO value is dynamic in nature and it is updated using the Round Trip
Time (RTT) of segments.
⢠RTT is the time duration needed for a segment to reach the receiver and an
acknowledgement to be received by the sender.
51. 4.2.8 Error Control in TCP: (ContinueâŚâŚ.)
ii) Retransmission after Three duplicate ACK segments:
⢠RTO method works well when the value of RTO is small. If it is large, more
time is needed to get confirmation about whether a segment has been
delivered or not.
⢠Sometimes one segment is lost and the receiver receives so many out-of-
order segments that they cannot be saved.
⢠In order to solve this situation, three duplicate acknowledgement method is
used and missing segment is retransmitted immediately instead of
retransmitting already delivered segment.
⢠This is a fast retransmission because it makes it possible to quickly
retransmit lost segments instead of waiting for timer to end.