Convolutional codes are error correcting codes where data streams of indefinite lengths are encoded before transmission over noisy channels. The message streams are encoded by the sliding application of Boolean functions that generate a sequence of output bits. Convolutional codes were first introduced in 1955 by Elias. After extensive research by mathematicians, Viterbi developed an algorithm for maximum likelihood decoding in 1973, called the Viterbi algorithm, which led to modern convolutional codes. Parameters in Convolutional Codes For generating a convolutional code, information is passed sequentially through a linear finite-state shift register. The shift register comprises of K-bit ... Read More
Go-Back-N is a data link layer protocol that uses a sliding window method for reliable and sequential delivery of data frames. It has a sender window size of N and receiver window size of 1, meaning it can send N frames before requiring acknowledgment but processes frames sequentially at the receiver. Selective Repeat Protocol is also a data link layer protocol that uses sliding window method for reliable delivery of data frames. Here, only the erroneous or lost frames are retransmitted, while correctly received frames are buffered and processed out-of-order. Both protocols belong to the family of Automatic ... Read More
Traffic-aware routing is a congestion control approach that dynamically adjusts routing decisions based on current network load conditions. Unlike traditional routing algorithms that only consider static metrics like hop count or bandwidth, traffic-aware routing incorporates real-time traffic information to make more intelligent path selection decisions. The main goal of traffic-aware routing is to identify the best routes by considering both static parameters (bandwidth, propagation delay) and dynamic factors (current load, queuing delay). By setting link weights as a function of these combined metrics, the algorithm can distribute traffic more evenly across the network. Traffic-Aware ... Read More
Computer networks rely on several essential physical components that enable devices to communicate and share resources. These hardware components form the foundation of network infrastructure, from small home networks to large enterprise systems. Network Interface Card (NIC) A Network Interface Card (NIC) is a hardware component that connects a computer or device to a network. The NIC handles the physical connection to the network medium and manages data transmission between the device and the network. Every device that connects to a network requires a NIC, which can be integrated into the motherboard or installed as a separate ... Read More
In today's highly connected world, network protocols play a crucial role in ensuring smooth and efficient communication between devices. From browsing the internet to sending emails, these sets of rules govern how data is transmitted across networks. Network protocols serve as the digital language that enables devices to understand each other, regardless of their manufacturer, operating system, or location. Without these standardized communication rules, the internet as we know it would not exist. Network Protocol Communication Device A Sender Device B ... Read More
Protocol suites are collections of protocols that act at different layers of the network model to ensure successful communication. Protocols perform various essential functions that enable reliable data transfer across networks. Connection Establishment/Release Data transfer can be either connection-oriented or connectionless. Connection-oriented services establish a reliable communication path before data transfer, making them suitable for large volume transfers. Connectionless services, while faster, are less reliable as they don't establish a dedicated path. Encapsulation A protocol defines how data is encapsulated within frames or packets. Each Protocol Data Unit (PDU) contains control information fields alongside the actual ... Read More
An admission control approach is a proactive congestion control technique used primarily in virtual-circuit networks. It prevents network congestion by carefully evaluating whether new connections can be established without overloading the network resources. The fundamental principle is simple: do not set up a new virtual circuit unless the network can carry the added traffic without becoming congested. This approach acts as a gatekeeper, ensuring that only sustainable traffic loads are admitted into the network. Admission Control Process New Request ... Read More
A challenging task in error correction is decoding the codewords that have been received via noisy channels. Before data is transmitted, the sender adds redundant bits or parity bits to the message forming codewords. The codewords are then transmitted via computer networks. The receiver checks the incoming codewords and performs the decoding or error correction process to retrieve the original data. If there are no errors, i.e. the codewords find an exact matching, then it is easy to decode the data by eliminating the parity bits. However, if a match is not found, then more complex decoding mechanisms are ... Read More
A stateless protocol is one in which each communication is treated as a separate, independent event, with no memory of previous interactions. In contrast, a stateful protocol maintains information about the client's session and treats communications as part of an ongoing sequence. Understanding the difference between these two approaches is crucial for network design, as each has distinct advantages and use cases depending on the application requirements. Stateless vs Stateful Protocol Comparison Stateless Protocol Req1 ... Read More
Traffic throttling is a congestion control mechanism used in computer networks where senders adjust their transmission rates to match the network's capacity. The goal is to operate the network just before congestion occurs, maximizing throughput while preventing packet loss and delays. Traffic throttling approaches can be implemented in both datagram and virtual-circuit networks. These mechanisms help maintain network stability by proactively managing data flow before congestion becomes severe. Each traffic throttling approach must solve two fundamental problems: Problem 1: Congestion Detection Routers must determine when congestion is approaching, ideally before it occurs. Each router continuously monitors ... Read More
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Economics & Finance