CCN Part 2
CCN Part 2
2) Reliable Data Transfer: Ensures that data is delivered accurately and in the correct
sequence. Protocols like TCP (Transmission Control Protocol) implement mechanisms such as
acknowledgment (ACK), retransmission of lost packets, and error checking to provide reliability.
3) Segmentation and Reassembly: Breaks down large data streams into smaller segments for
transmission and reassembles them at the destination. This ensures that data can be sent even
if the network limits the size of individual packets.
4) Flow Control: Manages the rate of data transmission between the sender and receiver to
prevent overwhelming the receiver
Nature: Each packet, or datagram, is treated independently, with no prior setup needed for the
communication path.
Routing: Packets can take different paths to the destination based on network conditions.
Routers make decisions for each packet, allowing for a more flexible and robust response to
network changes or failures.
Nature: A predetermined path (virtual circuit) is established between the source and
destination before data transfer begins, and all packets follow this path.
Routing: Once a virtual circuit is established, all packets follow the same route, maintaining the
sequence and ensuring predictable routing behaviour.
Approach: Each router maintains a table (vector) of the distance to each destination and shares
this with its neighbors. The Bellman-Ford algorithm is a popular example.
Approach: Each router has a complete map of the network topology. Routers broadcast link-
state packets to build a consistent view, allowing each to run the Dijkstra algorithm to find the
shortest path.
* Network congestion occurs when the demand for network resources exceeds the available
capacity. This results in queues building up in routers and switches, causing packet delays and
potential loss if buffers overflow.
Congestion Control in TCP TCP includes built-in congestion control mechanisms that adapt to
varying network conditions:
Slow Start: TCP starts by transmitting at a low rate and increases the congestion window
exponentially until the threshold is reached or congestion is detected.
Congestion Avoidance: After the slow start phase, the congestion window grows linearly to
probe for available bandwidth while avoiding sudden congestion.
Fast Retransmit: If three duplicate ACKs are received, TCP assumes a packet is lost and
retransmits it without waiting for a timeout.
Fast Recovery: After a fast retransmit, TCP temporarily reduces the congestion window but
doesn’t go back to slow start, allowing the connection to maintain throughput.
Timeout-Based Reduction: If no ACK is received within a timeout period, TCP reduces the
congestion window to one segment and enters the slow start phase again.
Overview of IPv4:
Definition: IPv4 (Internet Protocol version 4) is the fourth version of the IP and is the most widely
used protocol for transmitting data over the internet.
Address Format: IPv4 addresses are 32-bit numbers represented as four decimal values
separated by periods (e.g., 192.168.1.1).
Address Space: IPv4 can support approximately 4.3 billion unique addresses (2^32 addresses).
Address Classes:
Subnetting: IPv4 allows subnetting, which divides an IP address into a network and host part to
create multiple subnets within a network.
Overview of IPv6
Definition: IPv6 (Internet Protocol version 6) is the successor to IPv4, developed to address the
limitations of IPv4, especially the exhaustion of IP addresses.
Address Format: IPv6 addresses are 128-bit numbers, represented in hexadecimal and
separated by colons (e.g., 2001:0db8:85a3:0000:0000:8a2e:0370:7334).
Address Space: IPv6 supports approximately 3.4 × 10^38 unique addresses (2^128 addresses),
which is more than enough to accommodate future internet growth.
Features:
Improved Routing: IPv6 has a simplified header structure, improving routing efficiency.
Security: IPv6 was designed with IPsec (Internet Protocol Security) as a mandatory feature,
enabling better security mechanisms for encrypted communication.
Anycast: A single address assigned to multiple devices, with packets delivered to the nearest
device in the group.
Design issues in the transport layer: Transport Layer in computer networks is responsible for
facilitating reliable, end-to-end communication between devices. Key design issues include
ensuring data reliability through mechanisms like error detection, correction, and
retransmissions; managing flow control to prevent overwhelming receivers; and congestion
control to avoid network overload. It handles data segmentation and reassembly, multiplexing
and demultiplexing to support multiple applications, and ensures secure transmission with
encryption and authentication. Protocols like TCP and UDP address these challenges, providing
different balances of reliability, speed, and simplicity to meet varying application needs.