Application Layer: Manages communication between software applications and network services.
Transport Layer: Ensures reliable data transfer and manages data segmentation.
Network Layer: Handles routing data packets across networks using IP addresses.
Link Layer: Manages physical connections, local network communication, and hardware-level error handling.
Application is the layer that handles the end user interaction with the internet. For example HTTPS (Hypertext Transfer Protocol Secure) which is used by the web browsers, or DNS (Domain Name System) which creates human readable network names such as “www.google.com” instead of something like 192.168.1.1.
--> Examples of Application Layer Protocols
TELNET, TELetype NETwork 🔵 FTP, File Transfer Protocol 🔵 TFTP, Trivial File Transfer Protocol 🔵 NFS, Network File System 🔵 SMTP, Simple Mail Transfer Protocol 🔵 LPD, Line Printer Daemon 🔵 X window 🔵 SNMP, Simple Network Management Protocol 🔵 DNS, Domain Name System 🔵 DHCP, Dynamic Host Configuration Protocol 🔵 HTTP, Hypertext Transfer Protocol /HTTPS, Hypertext Transfer Protocol Secure 🔵 POP, Post Office Protocol 🔵 IRC, Internet Relay Chat 🔵 MIME, Multipurpose Internet Mail Extension
Sitting below the application layer, the transport layer ensures reliable data transfer between devices,. It manages data segmentation, reassembly, error checking, and flow control. Protocols like TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) operate at this layer.
--> Examples of Application Layer Protocols
ATP, AppleTalk Transaction Protocol 🔵 CUDP, Cyclic UDP 🔵 DCCP, Datagram Congestion Control Protocol 🔵 FCP, Fibre Channel Protocol 🔵 IL, IL Protocol 🔵 MPTCP, Multipath TCP 🔵 NORM, NACK-Oriented Reliable Multicast 🔵 RDP, Reliable Data Protocol 🔵 RUDP, Reliable User Datagram Protocol 🔵 SCTP, Stream Control Transmission Protocol 🔵 SPX, Sequenced Packet Exchange 🔵 SST, Structured Stream Transport 🔵 TCP, Transmission Control Protocol 🔵 UDP, User Datagram Protocol 🔵 UDP-Lite 🔵 µTP, Micro Transport Protocol
The network layer focuses on routing data packets across networks. It deals with addressing and logical network topology. IP (Internet Protocol) is a key protocol at this layer, responsible for assigning unique IP addresses to devices and forwarding data packets based on these addresses.
--> Examples of Network Layer Protocols
ARP, Address Resolution Protocol 🔵 ICMP, Internet Control Message Protocol 🔵 IPv4, Internet Protocol Version 4 🔵 IPv6, Internet Protocol Version 6
The link layer is the lowest layer and deals with physical connections and local network communications. It manages the physical addressing of devices on a network (like MAC addresses) and handles error detection and correction at the hardware level
-- > Examples of Data Link Layer Protocols
SDLC, Synchronous Data Link Protocol 🔵 HDLC, High-Level Data Link Protocol🔵 SLIP, Serial Line Interface Protocol 🔵 PPP, Point to Point Protocol 🔵 LCP, Link Control Protocol 🔵 LAP, Link Access Procedure 🔵 NCP, Network Control Protocol
1. TCP/IP Protocol Suite: The foundation of internet communication, including protocols like TCP, IP, UDP, and ICMP, ensuring reliable data transmission, addressing, and error handling.
2. DNS (Domain Name System): Resolves domain names to IP addresses, using protocols like UDP and TCP, and algorithms like iterative and recursive querying.
3. ➡️SSL/TLS (Secure Sockets Layer/Transport Layer Security): Encryption protocols that secure data transmitted over the internet, using algorithms like RSA and AES.
4. See above for MORE protocols
Also known as Transmission Control Protocol, breaking up data sent over networks into small container of data known as packets.
Packets can be as large as 1500 bytes. They contain many items of metadata, or data that contains information about other data. Items include sequence numbers, checksums, etc. [min 20B TCP header]
Sequence numbers allow packets that arrive out of order to be ordered correctly.
Checksums are like a unique fingerprint, used to verify that a received packet and a sent packet are the same.
Email commonly uses TCP. This is because TCP is reliable and secure, whilst sacrificing speed. Email does not require high speed, but reliability and security are important for ensuring the email is sent and that it is hard to read for attackers.
UDP (User Datagram Protocol)
Connectionless (No need to establish a connection prior to data transfer)
Relies on the receiver to sort out the data
Packets can be duplicated or out of order
Minimum security (only using checksums)
Has a larger byte capacity (65535B) [min 8B UDP header]
UDP is used for streaming softwares such as video games, and live online communication services, such as zoom and discord voice chats since they require larger packets to be sent.
Protocols facilitate the exchange of data between devices. For instance, when you browse a website, your web browser uses the HTTP protocol to request web pages from a server. The server responds with the requested content using the same protocol.
Protocols ensure data reaches the correct destination. In IP-based networks, routers use the IP addresses in data packets to route them through the network to the intended recipient. For instance, when you send an email, the SMTP protocol uses recipient email addresses to route the email to the appropriate server.
Protocols guarantee the integrity of data during transmission. TCP, for example, breaks data into segments, sends them, and verifies their arrival. If a segment is lost, TCP requests retransmission. This ensures that data, like file downloads, arrives intact even in unreliable networks.
Protocols like SSL/TLS secure data transmission. When you visit a website with HTTPS (HTTP over TLS), the protocol encrypts data exchanged between your browser and the server, protecting sensitive information from eavesdropping.
VoIP (Voice over Internet Protocol) protocols like SIP (Session Initiation Protocol) enable voice and video calls over the internet. Skype and Zoom use SIP to initiate and manage multimedia communication.
Protocols like SSH provide secure remote access to devices. When administrators use SSH to access a server remotely, the protocol encrypts the communication, safeguarding sensitive data.
Although TCP is a reliable and secure form of data transmission, it can’t carry as much information as UDP. It is also slower than UDP in the process of transmission, since it has more protocols it needs to go through.
In all these instances, network communication protocols establish the rules and standards for effective communication, ensuring that data flows smoothly across networks while maintaining integrity, security, and reliability.
To overcome TCP and UDP limitations, a combined approach is utilized.
TCP secures connections for tasks like retrieving graphical data (websites).
UDP serves real-time functions such as voice calls and live updates (e.g., Discord).
As networks grow, scalability becomes challenging, straining protocols designed for smaller scales.
Solutions like CIDR improve IP address allocation, and IPv6 adoption expands address space.
Security vulnerabilities can lead to breaches and unauthorized access.
Protocols like SSL/TLS and IPSec provide encryption and authentication, while updates address vulnerabilities.
Different protocols may not seamlessly work together, causing communication issues.
Standardisation and gateways bridge gaps between protocols, ensuring compatibility.
High data traffic causes network congestion, leading to performance degradation.
Quality of Service (QoS) prioritizes critical traffic, and load balancing prevents overloads.
Protocols must ensure reliable data transmission despite network failures.
Redundancy and failover mechanisms like BGP ensure fault tolerance.
Configuring protocols, especially in large networks, can be complex.
Automated tools like DHCP simplify IP allocation, while SDN centralizes management.
Real-time applications like VoIP face latency challenges.
QoS mechanisms minimize latency for critical applications.
IoT devices' diverse requirements necessitate accommodating various device types and data.
IoT-specific protocols like MQTT and CoAP facilitate lightweight communication.
Evolving technology demands adaptable protocols.
Ongoing research leads to new protocols and enhancements.
Balancing the advantages and challenges of network communication protocols is essential for optimizing modern communication. Integrating the strengths of protocols like TCP and UDP, while addressing issues like security and scalability, contributes to efficient and effective data transmission across diverse contexts.