Understanding Network Protocols and Data Communication Techniques
Carrier Sense Multiple Access (CSMA)
This method was developed to decrease the chances of collisions when two or more stations start sending their signals over the data link layer. Carrier Sense Multiple Access (CSMA) requires that each station first check the state of the medium before sending.
CSMA is a network protocol used to manage how data packets are transmitted over a shared communication medium, such as an Ethernet network. CSMA is particularly important in environments where multiple devices (nodes) share the same physical transmission medium, like a wired Ethernet or wireless local area network (WLAN). The primary goal of CSMA is to minimize collision instances where two or more devices attempt to send data simultaneously, leading to data corruption.
Types of CSMA Access Modes:
1. Persistent:
It senses the shared channel first and delivers the data right away if the channel is idle. If not, it must wait and continuously track for the channel to become idle and then broadcast the frame without condition as soon as it does. It is an aggressive transmission algorithm.
2. Non-Persistent:
It first assesses the channel before transmitting data; if the channel is idle, the node transmits data right away. If not, the station must wait for an arbitrary amount of time (not continuously), and when it discovers the channel is empty, it sends the frames.
3. P-Persistent:
It consists of the 1-persistent and Non-Persistent modes combined. Each node observes the channel in the 1-Persistent mode, and if the channel is idle, it sends a frame with a P probability. If the data is not transferred, the frame restarts with the following time slot after waiting for a (q = 1-p probability) random period.
Sliding Window Protocols
Sliding windows is one of the methods of error correction. To increase the data rate, this method allows the sender to transmit a specific number of packets in continuous mode, i.e., at the maximum possible rate, without receiving positive acknowledgments for these packets. The number of packets that can be transmitted in such a way is known as the window size. Window size can be constant parameters for this algorithm, which means that it is chosen at connection setup and does not change during the entire session.
If the destination receives the packet with corrupted data, it might send a Negative Acknowledgement (NACK), specifying that the packet needs to be retransmitted.
When a data frame arrives, instead of immediately sending a separate control frame, the receiver restrains itself and waits until the network layer passes it the next packet. The acknowledgment is attached to the outgoing data frame. The acknowledgement gets a free ride on the next outgoing data frame. The technique of temporarily delaying outgoing acknowledgements so that they can be hooked onto the next outgoing data frame is known as piggybacking. The principal advantage of using piggybacking over having distinct acknowledgement frames is a better use of the available channel bandwidth. The ack field in the frame header costs only a few bits, whereas a separate frame would need a header, the acknowledgement and a checksum.
In a sliding window protocol, each outbound frame contains a sequence number in the range 0 to some maximum (MaxSeq). If n bits are allocated in the header to store a sequence number, then the number range would be from 0 to 2n – 1.
CRC
Cyclic Redundancy Check (CRC) is an error detection code used in digital communication. It involves dividing the data (dividend) by a generator polynomial (divisor) and appending the remainder to the original data. At the receiver, the same division is performed. If the remainder is zero, the data is assumed to be error-free.
Manchester Code
In Manchester code, each bit is represented by a transition in the middle of the bit time.
- A high-to-low transition represents a 0, while a low-to-high transition represents a 1.
Differential Manchester Code
In Differential Manchester code, the transition at the beginning of a bit time indicates the polarity of the bit.
- A transition means the bit is 1, while no transition means the bit is 0.
- The polarity of the bit is the opposite of the previous bit’s polarity.
Spread Spectrum
The increasing demand for wireless communications has problems due to limited spectrum efficiency and multipath propagation. The use of spread spectrum communication has simplified these problems. In spread spectrum, signals from different sources are combined to fit into a larger bandwidth. All stations use air as the medium for communication, stations must be able to share the medium without interception by eavesdroppers and without being subject to jamming from malicious intruders. To achieve this, spread-spectrum techniques add redundancy, i.e., it uses extended bandwidth to accommodate signals in a protective envelope so that more secure transmission is possible. Direct Sequence Spread Spectrum (DSSS) is a technique of Spread Spectrum.
DSSS
In direct sequence spread spectrum, the bandwidth of the original signal is also expanded by a different technique. Here, each data bit is replaced with n bits using a spreading code called chips, and the bit rate of the chip is called the chip rate. The chip rate is n times the bit rate of the original signal. The figure shows the DSSS block diagram. In wireless LAN, the Barker sequence with n = 11 is used. The original data is multiplied by chips (spreading code) to get a spread signal. The required bandwidth of the spread signal is 11 times larger than the bandwidth of the original signal.
Network Topologies
1. Client-Server Network
Imagine a restaurant where you (the client) go to order food from a waiter (the server). In a client-server network, your computer or device (the client) asks a more powerful computer (the server) for something, like a web page or a file. The server has the information or resources you need, and it provides them to your device. It’s like asking a knowledgeable friend for help, and they give you what you’re looking for.
2. Peer-to-Peer Network
Think of a group of friends sitting in a circle, sharing snacks and stories directly with each other. In a peer-to-peer network, devices (peers) are like friends who share resources directly without a central middleman. If one peer has a file, they can share it with another peer directly, without needing a main server. It’s like friends swapping things without needing a store in between.
Design Issues of Layers
- Interoperability: Think of this like making sure the layers of your cake fit well together. In a layered system, different layers are built by different people or groups, and they need to understand each other’s work. Interoperability means making sure the layers can communicate and work smoothly without causing problems.
- Abstraction: Imagine you’re decorating your cake, but you don’t need to know how the cake was baked. Abstraction is like hiding the complicated details of each layer from the others. Each layer does its job without needing to know exactly how the other layers work, which makes the system easier to manage and change.
- Modularity: Think of this as building your cake in separate pieces that you can easily rearrange. Modularity means breaking down the system into smaller, manageable parts (modules or layers) that can be developed, tested, and changed independently. It’s like building Lego blocks that you can put together in different ways.
- Hierarchical Structure: Imagine your cake layers arranged neatly, one on top of the other. In a hierarchical structure, layers are organized like a pyramid, with each layer having a specific role and responsibility. This helps keep things organized and prevents confusion.
- Independence: Picture each cake layer being able to stand on its own. Independence means that each layer should be able to function without relying too much on the others. If one layer changes, the impact on other layers should be minimal.
- Standardization: Think of this like everyone agreeing on the same recipe for making a layer. Standardization means setting common rules and formats that all layers should follow. This helps ensure that different layers can work together, even if they’re made by different people or organizations.
- Flexibility: Imagine being able to swap out one cake layer for a different flavor without ruining the whole cake. Flexibility means designing layers so that they can be replaced or updated without causing major disruptions to the whole system. This is important as technology and needs evolve.
Spread Spectrum Techniques
1. FHSS (Frequency Hopping Spread Spectrum)
Imagine a group of friends chatting in different languages. FHSS is like a friend who switches between languages while talking. In FHSS, data is divided into small pieces, and these pieces are sent on different frequencies, hopping around like someone switching languages while talking. This hopping makes it harder for someone to eavesdrop or interfere because they need to follow the frequency changes to understand the whole message.
2. DSSS (Direct Sequence Spread Spectrum)
Think of a song with a catchy melody that helps you recognize it from a distance. DSSS is like spreading your message across different frequencies but keeping a recognizable pattern. Instead of hopping, DSSS spreads the data using a code, making the signal wider. This makes it more resilient to interference and more resistant to noise, like a song that’s easier to recognize even with some background noise.
Pure Aloha | Slotted Aloha |
---|---|
In pure aloha, data can be transmitted at any time by any station. | In slotted aloha, data can be transmitted at the beginning of the time slot. |
It was introduced under the leadership of Norman Abramson in 1970 at the University of Hawaii. | It was introduced by Roberts in 1972 to improve pure aloha’s capacity. |
Time is not synchronized in pure aloha. Time is continuous in it. | Time is globally synchronized in slotted aloha. Time is discrete in it. |
It does not decrease the number of collisions to half. | On the other hand, slotted aloha enhances the efficiency of pure aloha. It decreases the number of collisions to half. |
In pure aloha, the vulnerable time is = 2 x Tt | Whereas, in slotted aloha, the vulnerable time is = Tt |
The maximum throughput in pure aloha is about 18.4%. | The maximum throughput in slotted aloha is about 36.8%. |