1/12
CN | Module 4
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Congestion Control
Congestion in a computer network happens when there is too much data being sent at the same time, causing the network to slow down. Just like traffic congestion on a busy road, network congestion leads to delays and sometimes data loss.
Principles of Congestion Control
Avoid congestion before it happens
Detect congestion earlt
React to congestion
Efficiency and Utilization
Avoid overloading the network
TCP Congestion Control
TCP congestion control is a method used by the TCP protocol to manage data flow over a network
and prevent congestion. TCP uses a congestion window and congestion policy that avoids congestion.
1. Slow Start
•
TCP begins data transmission slowly to test how much data the network can handle.
•
It starts with a small congestion window (cwnd) and doubles it with every successful acknowledgment (ACK).
2. Congestion Avoidance
•
Once the congestion window reaches a threshold limit, TCP stops exponential growth.
•
Instead, it increases the window size gradually (linearly) — one segment per round-trip time (RTT).
•
This careful approach helps avoid future congestion and keeps the network stable.
3. Fast Retransmit
•
When a packet is lost or not received properly, the receiver sends 3 duplicate ACKs for the same packet.
•
TCP treats this as a sign of packet loss and immediately retransmits the missing packet, without waiting for a
timeout.
•
This ensures quick recovery from minor losses and keeps communication efficient.
4. Fast Recovery
•
After fast retransmit, TCP does not restart from the beginning (like in slow start).
•
Instead, it reduces the congestion window slightly, then resumes transmission gradually.
•
This helps maintain performance while recovering smoothly from packet loss.
5. Congestion Window (cwnd)
•
A limit on how much data can be sent.
•
Increases when the network is okay, decreases when congestion is detected.
Network Layer and its services
The Network Layer is the third layer of the OSI model. Its main job is to move data packets from the source to the destination across multiple networks.
Network Layer Services
• Packetizing
• Forwarding
• Routing
Define Packetizing, Forwarding and Routing
Packetizing
Packetizing in the network layer refers to the process of encapsulating data received from the transport layer into network layer packets at the source, and then decapsulating the data from these packets at the destination.
Forwarding
Forwarding is the process of moving a packet from the input port to the correct output port of a router based on the destination address.
Routing
Routing is the process of determining the best path for data packets to travel from the source to the destination based on routing tables.
Functions of Network Layer
Packetizing
Assigning Logical address
Forwarding
Routing
Logical Subnetting
Host to Host delivery
Fragmentation and Reassembly
Network Address Translation (NAT)
Working of Network Layer
Every device gets a unique address (IP address) to identify it on the network.
Data is packaged into small packets, with labels showing where it’s coming from and where it’s going.
Routers figure out the best path to send the packets to their destination.
Packets travel step by step through different routers until they reach the right device.
If a packet is too big, it gets broken into smaller pieces to fit through the network.
At the destination, the pieces are put back together into the original data.
If something goes wrong, like the destination can’t be reached, an error message is sent back.
What’s Inside a Router?
A router is a networking device that forwards data between computer networks. Inside, it contains hardware and software components that help it analyze, process, and route packets efficiently.
CPU:
The CPU in a router acts like the brain. It runs the operating system and executes all the instructions needed for the router to function. It controls how data moves through the router and manages communication between the router and connected devices.
ROM:
Read-Only Memory (ROM) is used mainly when the router is powered on or restarted. It contains the bootstrap program, which helps the router start up properly. The data in ROM is fixed and cannot be changed by users.
RAM:
Random Access Memory (RAM) temporarily holds data while the router is running. It stores the operating system (OS) and the active configuration settings. However, all the data in RAM is lost when the router is switched off or restarted.
Flash Memory:
Flash memory stores the router’s operating system permanently. When the router is turned on, it loads the OS from flash memory into RAM so it can be used. The contents of flash memory remain safe even when the power is off or the router restarts.
NVRAM:
Non-Volatile RAM (NVRAM) is used to store the startup configuration file. This file contains the saved settings of the router. Unlike RAM, the data in NVRAM does not get erased when the router loses power. When the router is powered on, it loads the configuration from NVRAM to apply the saved settings.
Interfaces / Ports:
Routers come with multiple interfaces or ports to connect to other devices or networks. These ports allow wired connections such as Fast Ethernet, Gigabit Ethernet, or Serial ports. Each interface serves as a point where data can enter or leave the router.
Internet Protocol (IP)
The Internet Protocol (IP) is a set of rules that allows computers and other devices to communicate over the Internet. It ensures that information sent from one device reaches the correct destination by using a unique set of numbers known as IP addresses.
Define IP addr, pkt, Router
IP Address: IP address is referred as a number sticker given to each device that belongs to the network which utilizes Internet Protocol to communicate. It serves two main purposes: host or network interface recognition, identifier or location addressing.
Packet: A packet is a parcel of data that is switched between an origin and a destination via the Internet or some other network that is based on the packet switching mechanism. This component mainly has a header and a payload.
Router: A router is a network device that (serves as) a forwarding point for data packets between computer networks. Routers carry out the traffic routing functions through the Internet.
IP Forwarding
• When a device sends data, it is first broken into smaller units called packets.
• Each packet contains source and destination IP addresses in its header.
• When a packet reaches a router, the router reads the destination IP address.
• The router checks its routing table to decide the best path to the destination.
• Based on the routing table, the router selects the next-hop device.
• The packet is forwarded to the next router or directly to the destination if reachable.
• Each intermediate router repeats the same steps for forwarding.
• The packet keeps moving router by router until it reaches the final device.
• At the destination, packets are reassembled and delivered to the appropriate application
IPv4
IPv4 stands for Internet Protocol version 4.
Address Size → IPv4 uses 32-bit addresses, written in decimal as four numbers separated by dots.
Example: 192.168.1.1
Connectionless Protocol → Works on a best-effort delivery model (no guarantee of delivery).
Fragmentation → If a packet is too large, IPv4 can break it into smaller chunks for transmission.
Header Size → IPv4 header is 20 bytes (minimum) and can go up to 60 bytes if options are used.
IPv6
IPv6 stands for Internet Protocol version 6.
Address Size → IPv6 uses 128-bit addresses, written in hexadecimal and separated by colons.
Example:
Full: 2001:0db8:0000:0000:0000:ff00:0042:8329
Shortened: 2001:db8::ff00:42:8329
Simplified Header → IPv6 header is fixed 40 bytes, making processing faster than IPv4.
No Broadcast → IPv6 does not use broadcast, it uses multicast and anycast for efficient communication.
Auto-configuration → Supports stateless address auto-configuration, so devices can generate their own IP addresses automatically.
Security → IPv6 was designed with IPSec support for encryption and authentication.
Efficient Routing → Hierarchical addressing reduces the size of routing tables