Personal tools

Internet Protocol Suite and Service Models

The_Internet_Protocol_Stack_061020A
(The Internet Procol Stack - The World Wide Web Consortium)


- Overview

The Internet Protocol Suite, commonly known as TCP/IP, is a set of communication protocols that governs how data is transmitted over the internet and other networks. 

It is a layered model, with each layer responsible for specific tasks in the communication process. The suite is often contrasted with the OSI model, another layered model, but TCP/IP is the practical, widely used model for internet communication.

The Internet Protocol Suite (TCP/IP) is a fundamental set of protocols that enables data communication on the internet and other networks. Its layered architecture and specific protocols ensure reliable and efficient data transfer between devices.

Key Aspects of the Internet Protocol Suite (TCP/IP): 

  • Layered Architecture: The TCP/IP model divides communication into four layers: Application, Transport, Internet (or Network), and Link (or Network Access).
  • Protocols: Each layer utilizes specific protocols to handle different aspects of data transmission. Common protocols include TCP, IP, HTTP, FTP, and SMTP.
  • Functionality: The layers work together to ensure reliable and efficient data transfer. The Link layer handles physical transmission, the Internet layer handles addressing and routing, the Transport layer handles host-to-host communication, and the Application layer provides services to applications.
  • Client-Server Model: TCP/IP typically operates on a client-server architecture, where clients request services from servers.
  • Practical Implementation: TCP/IP is the foundation of the internet and is widely used in networks due to its simplicity and practicality.


Comparison with the OSI Model:

  • OSI Model: The OSI model is a conceptual framework with seven layers, providing a comprehensive model for network communication.
  • TCP/IP Model: TCP/IP is a practical implementation of a network model, with four layers, that is widely used in the internet.
  • Relationship: While the OSI model is helpful for understanding network concepts, the TCP/IP model is the practical implementation used for actual network communication.


Please refer to the following for more information:


Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) is a fundamental internet standard that ensures reliable, ordered, and error-checked delivery of data packets over a network, like the internet. It's a connection-oriented protocol, meaning it establishes a connection between sender and receiver before transmitting data, and guarantees the integrity of the information exchanged. 

TCP is used by various high-level protocols such as FTP, SSH, Telnet, and for email (IMAP, POP, SMTP) and web access (HTTP). 

1. TCP's key features and functionalities:

  • Reliable Data Transmission: TCP ensures that data is delivered in the correct order and without errors. It does this through mechanisms like sequence numbers, acknowledgments, and retransmissions, according to GeeksforGeeks.
  • Connection-Oriented: TCP establishes a connection between the sender and receiver before data transfer begins, ensuring a reliable and consistent communication channel.
  • End-to-End Delivery: TCP handles data transmission from the source application to the destination application, ensuring that the data reaches its intended recipient.
  • Segmenting Data: TCP breaks down large data into smaller packets for efficient transmission over the network.
  • Error Control: TCP includes mechanisms to detect and correct errors that may occur during transmission, such as lost or corrupted packets.
  • Flow Control: TCP regulates the rate at which data is sent to prevent the receiver from being overwhelmed. 

 

2. Examples of Protocols Using TCP: 

  • File Transfer Protocol (FTP): Used for transferring files between computers.
  • Secure Shell (SSH): Provides secure remote access to computers.
  • Telnet: Enables remote access to computer systems (though less secure than SSH).
  • Internet Message Access Protocol (IMAP), Post Office Protocol (POP), Simple Mail Transfer Protocol (SMTP): Used for sending and receiving email.
  • Hypertext Transfer Protocol (HTTP): The foundation of data communication for the World Wide Web.

 

- User Datagram Protocol (UDP)

UDP (User Datagram Protocol) prioritizes speed and low latency over reliability, making it ideal for real-time applications where some data loss is acceptable, such as VoIP, online gaming, and streaming. 

It differs from TCP by not guaranteeing packet delivery, order, or establishing a connection before sending data. This results in faster transmission but increased vulnerability to data loss and DDoS attacks. 

In essence, UDP offers a trade-off between speed and reliability, making it a valuable tool for specific network applications.

1. UDP's Characteristics:

  • Connectionless: UDP does not require a handshake to establish a connection, leading to faster data transfer initiation.
  • Unreliable: It does not retransmit lost packets, meaning some data might be lost during transmission.
  • Fast and Lightweight: UDP has a smaller header size than TCP, resulting in lower overhead and faster speeds.
  • No Packet Ordering: UDP does not guarantee the order in which packets are received.
  • DDoS Vulnerability: Due to its connectionless nature, UDP is more susceptible to DDoS attacks.


2. When UDP is a Good Choice:

  • Real-time Applications: VoIP, online gaming, and streaming media where speed is paramount.
  • DNS Lookups: UDP is used for initial DNS queries due to its speed.
  • Applications with Higher-Level Retransmission: Where applications handle error checking and retransmission.


3. UDP vs. TCP:

  • TCP: Prioritizes reliable, ordered, and error-checked data delivery, suitable for file transfers and web browsing.
  • UDP: Prioritizes speed and lower latency, suitable for real-time applications where data loss is acceptable.


- Internet Protocol (IP)

Internet Protocol (IP) is the fundamental method for data transmission across the internet, using unique IP addresses to identify devices and enable communication. 

It defines how applications and devices exchange packets, relying on the Internet Protocol Suite (TCP/IP) for structuring and routing these packets. 

Essentially, IP is the core protocol that facilitates the delivery of data between devices, ensuring seamless and standardized communication across networks. 

  • Device Identification: Each device connected to the internet has a unique IP address, acting as a digital identifier similar to a postal address.
  • Data Transmission: IP governs how data is broken down into packets and transmitted across networks.
  • TCP/IP Framework: IP operates within the Internet layer of the TCP/IP protocol suite, which is a layered model that organizes communication protocols.
  • Routing and Addressing: IP uses addressing methods within packets to guide them to the correct destination, enabling communication between different networks.

 

- The Conceptual Data Flow of TCP/IP

The Internet Protocol Suite (TCP/IP) conceptual data flow involves four layers: Application, Transport, Internet, and Link. Hosts utilize the Internet Layer to route packets based on IP addresses, while upper layers (Application and Transport) handle virtual connections and application data. The Internet Protocol (IP) is a best-effort delivery service, meaning it attempts to deliver data but offers no guarantees.

The TCP/IP conceptual data flow:

  • Application Layer: This layer provides the interface for applications to send and receive data. It handles tasks like file transfer, email, and web browsing.
  • Transport Layer: This layer provides logical communication between application processes on different hosts. It handles tasks like establishing and managing connections (if using a connection-oriented protocol like TCP) and breaking down data into segments for transmission.
  • Internet Layer: This layer is responsible for routing packets across networks. It uses IP addresses to determine the next hop for a packet and forwards the packet accordingly. The IP protocol is a best-effort delivery service.
  • Link Layer: This layer handles the physical transmission of data over the network medium (e.g., Ethernet, Wi-Fi). It deals with the specifics of the underlying hardware and network topology.


Key points:

  • Virtual Connections: At the Application and Transport layers, hosts can have the perception of a direct, virtual connection, especially with connection-oriented protocols. However, at the lower layers (Internet and Link), communication is more peer-to-peer, with each hop only knowing about its next-door neighbor.
  • Best-Effort Delivery: IP's best-effort delivery means it doesn't guarantee reliable delivery. Packets can be lost, duplicated, or arrive out of order. Higher-level protocols like TCP handle error correction and retransmission to ensure reliable data delivery.
  • Layered Architecture: The layered structure of TCP/IP allows for modularity and flexibility. Different protocols can be used at each layer, and changes in one layer do not necessarily affect the others.

 

- Transport Layer Protocols: TCP and UDP

There are two transport layer protocols above IP: the UDP and TCP. These transport protocols provide delivery services. UDP is a connectionless delivery transport protocol and used for message-based traffic where sessions are unnecessary. TCP is a connection-oriented protocol that employs sessions for ongoing data exchange. File transfer protocol (FTP) and Telnet are examples of applications that use TCP sessions for their transport. 

TCP also provides the reliability of having all packets acknowledged and sequenced. If data is dropped or arrives out-of-sequence, the stack's TCP layer will retransmit and resequence. 

UDP is an unreliable service, and has no such provisions. Applications such as the simple mail transport protocol (SMTP) and hyper text transfer protocol (HTTP) use transport protocols to encapsulate their information and/or connections.

To enable similar applications to talk to one another, TCP/IP has what are called “well-known port numbers.” These ports are used as sub-addresses within packets to identify exactly which service or protocol a packet is destined for on a particular host. 

TCP/IP serves as a conduit to and from devices, enabling the sharing, monitoring, or controlling those devices. 

A TCP/IP stack can have a tremendous effect on a device's memory resources and CPU utilization. Interactions with other parts of the system may be highly undesirable and unpredictable. Problems in TCP/IP stacks can render a system inoperable.

 

- Data Transmission on The Internet

A very basic rule of data (files, e-mails, web pages et-cetera) transmission across the Internet, and actually a distinctive feature of the TCP/IP protocols used to move data, is that data is never transmitted “as such”. 

Instead, it is subdivided in so-called “packets” before transmission. The number of the packets depends on the size of the data. The bigger the file, the more packets will be needed to “represent” the file. 

Data on the internet is transmitted in packets, which are small, manageable chunks of data, rather than as a single, large file. This allows for efficient and reliable data transmission, even when the best route between computers changes during the transfer process. The TCP/IP protocol suite ensures this process, dividing a file into packets, sending them individually, and reassembling them at the destination. 

This packet-based system, utilizing TCP/IP, enables efficient data transfer across the internet, even with varying network conditions and the potential for packets to take different routes.

Here's a breakdown of the process:

  1. Packetization: The original file is broken down into smaller packets by the TCP/IP protocol.
  2. Routing: Each packet travels independently, potentially taking different routes across the network, determined by routers at each step.
  3. Reassembly: The receiving computer's TCP/IP protocol reassembles the packets to recreate the original file.
  4. Dialogue: A continuous dialogue between the sender and receiver's TCP/IP ensures reliable transmission, with retransmission of lost or corrupted packets.

 

We could summarize the journey of a file such as an e-mail message or a web page, from computer A to computer B, as follows:

 

File in computer A –> Subdivided in packets by TCP/IP –> Packets travel, individually, to destination –> 
TCP/IP “remounts” the packets to re-create the original file in computer B –> File in computer B

 

The crucial thing to understand here, is that at any given time (we re talking about milliseconds), the best route between 2 computers may change. Routers are able to determine, at the moment of sending a particular packet, the best route at this time. When sending the next packet, the best route may be different. Therefore, each packet from the same file could take a different route in order to reach the intended destination.

While files are being transferred between 2 computers, a dialogue goes on between the TCP/IP software of the sender computer and the TCP/IP software on the receiving computer, aimed at ensuring that the file transfer will be successful. 

If for instance a packet is missing on the receiving side, TCP/IP from this computer will send a message to TCP/IP on the sender computer, asking to re-send a particular packet (this is specifically true for the TCP protocol – other protocols such a UDP work differently). The dialogue will end when all the packets have reached the destination.

 

 

IP_Stack_Connection_060820A
IP Stack Connection - Wikipedia)

- How Data Travels Across The Internet

When data travels across the internet, it's broken down into small packets that can move independently through the network, taking different paths to reach their destination, allowing for efficient transmission even when multiple users are accessing the network simultaneously. 

Key points about how data travels on the internet: 

  • Packets: Data is divided into small units called packets, each containing a header with information like the source and destination addresses, and the actual data payload.
  • Packet Routing: Packets travel through a network of routers, which determine the best path to the destination based on the information in the header.
  • Hops: Each time a packet moves from one router to another, it's considered a "hop".
  • Physical Media: Packets can travel through different physical mediums like fiber optic cables, twisted-pair cables, or radio waves.
  • Transmission Medium Bandwidth: Each medium has a limited capacity called bandwidth, which determines how much data can be transmitted per unit time.
  • Reliability Mechanisms: To ensure data integrity, protocols like TCP are used to check for errors and retransmit lost packets.


2. Example: 

When you send an email, the message is divided into packets that can travel different paths across the internet to reach the recipient's computer, where they are reassembled to form the complete email. 

 

3. Important aspects of internet data transmission:

  • Scalability: The packet-based system allows for efficient handling of large amounts of data from various users simultaneously.
  • Redundancy: If one path is congested or unavailable, packets can take alternate routes to reach their destination.
  • Security: Measures are in place to protect data packets from unauthorized access and tampering.

 

Best-Effort Delivery

Best-effort delivery, a core principle of internet data transfer, means the network strives to deliver packets but doesn't guarantee their arrival or integrity. It relies on end systems to handle issues like packet loss or corruption, making the network more efficient by not requiring it to perform these checks. 

  • Internet Backbone: The internet backbone is a high-speed network infrastructure connecting major networks, facilitating data transfer across vast distances.
  • Best-Effort vs. Guaranteed Delivery: Best-effort delivery, as implemented by IP in the TCP/IP suite, contrasts with protocols like TCP that offer guaranteed delivery with acknowledgments. 
  • How it Works: In best-effort, if a packet gets lost or corrupted, the network doesn't attempt to resend it or correct the issue. End systems (like your computer) are responsible for detecting and handling such problems.
  • Efficiency: By offloading error handling to end systems, the network can operate more efficiently, especially when dealing with high traffic volumes. 
  • Example: Imagine sending a letter via regular mail (best-effort) versus sending a registered letter with tracking (guaranteed delivery). 
  • Impact on Routing: If a network path becomes congested, best-effort allows packets to be rerouted, unlike traditional phone systems where a dedicated circuit would be lost if there was a problem.
  • End-to-End Responsibility: The TCP protocol, built on top of IP, adds reliability by providing mechanisms for guaranteed delivery through acknowledgment and retransmission.

 

 

[More to come ...]

 

Document Actions