CNS Module 2
CNS Module 2
An IPv4 address is a 32-bit address that uniquely and universally defines the connection of a device (for
example, a computer or a router) to the Internet. IPv4 addresses are unique and must be universally accepted
by any host that wants to be connected to the Internet.
Address Space
A protocol such as IPv4 that defines addresses has an address space, which is the total number of addresses
used by the protocol. Since IPv4 uses 32-bit addresses, the address space is 232232 or 4,294,967,296
addresses. This means that, theoretically, more than 4 billion devices can be connected to the Internet.
However, the actual number is less due to restrictions imposed on the addresses.
Notations
There are two prevalent notations to show an IPv4 address: binary notation and dotted-decimal notation.
Binary Notation: The IPv4 address is displayed as 32 bits. Each octet (or byte) is represented by 8
bits. For example, an IPv4 address in binary notation might be 01110101 10010101 00011101
00000010.
Dotted-Decimal Notation: To make the address more compact and easier to read, it is usually
written in decimal form with a dot separating the bytes. For example, the binary address 01110101
10010101 00011101 00000010 can be written as [Link] in dotted-decimal notation.
Examples
Example 1: Change the binary notation 10000001 00001011 00001011 11101111 to dotted-decimal
notation. The result is [Link].
Example 2: Change the dotted-decimal notation [Link] to binary notation. The result is
01101111 00111000 00101101 01001110.
Address Classes
IPv4 addresses are divided into classes to simplify the task of routing packets across the Internet. There are
five classes (A, B, C, D, and E), but the primary classes used for host addressing are A, B, and C.
Class A: Supports 224224 hosts per network. Addresses range from [Link] to [Link].
Class B: Supports 216216 hosts per network. Addresses range from [Link] to [Link].
Class C: Supports 2828 hosts per network. Addresses range from [Link] to [Link].
Special Addresses
Certain IPv4 addresses are reserved for special purposes:
Network Address: Used to identify the network itself.
Broadcast Address: Used to send data to all hosts on a network.
Loopback Address: Used by a host to send packets to itself, usually for testing (e.g., [Link]).
Subnetting
Subnetting divides an IP address into a network and host portion, allowing a single network address to be
used for multiple physical networks. This helps in efficient IP address utilization and improved network
security.
IPv6 Transition
Due to the limited address space of IPv4, the Internet is gradually transitioning to IPv6, which uses 128-bit
addresses, providing a vastly larger address space.
IPv6 ADDRESSES
IPv6 addresses, designed to replace IPv4 due to the latter's limited address space, use 128-bit addresses to
provide a vastly larger address space. IPv6 addresses are represented in hexadecimal notation and divided
into eight groups of four hexadecimal digits, separated by colons.
Address Space
The IPv6 address space is 21282128, allowing for a virtually unlimited number of unique addresses. This
addresses the exhaustion issues faced by IPv4.
Notation
Hexadecimal Notation: An IPv6 address is written as eight groups of four hexadecimal digits. For
example, 2001:0db8:85a3:0000:0000:8a2e:0370:7334.
Compressed Notation: Leading zeros in each group can be omitted, and consecutive groups of zeros
can be replaced with :: (only once). For example, 2001:0db8:0000:0000:0000:0000:1428:57ab can
be compressed to 2001:db8::1428:57ab.
Address Types
IPv6 addresses are classified into different types based on their use:
Unicast Addresses: Identify a single interface. Data packets sent to a unicast address are delivered to
the specified interface.
Global Unicast Addresses: Routable on the Internet, similar to IPv4 public addresses.
Link-Local Addresses: Used for communication within a single network segment (e.g.,
fe80::/10).
Unique Local Addresses (ULA): Used for local communication within a site and not
routable on the global Internet (e.g., fc00::/7).
Multicast Addresses: Identify a group of interfaces, typically on different devices. Packets sent to a
multicast address are delivered to all interfaces in the group.
Reserved Multicast Addresses: For specific protocols and functions (e.g., ff00::/8).
Anycast Addresses: Assigned to multiple interfaces, usually on different devices. A packet sent to an
anycast address is delivered to the nearest interface (based on routing distance).
Special Addresses
Loopback Address: ::1, used by a device to send packets to itself.
Unspecified Address: ::, used to indicate the absence of an address.
Address Configuration
IPv6 supports both stateful (using DHCPv6) and stateless (using Stateless Address Autoconfiguration,
SLAAC) address configurations. SLAAC allows devices to automatically generate their own addresses
using the network prefix advertised by routers.
Transition from IPv4
Several transition mechanisms are used to facilitate the coexistence of IPv4 and IPv6 during the transition
period:
Dual-Stack Implementation: Devices run both IPv4 and IPv6 protocols.
Tunneling: IPv6 packets are encapsulated within IPv4 packets to traverse IPv4 networks.
Translation: Network Address Translation (NAT) techniques to convert IPv4 addresses to IPv6 and
vice versa.
INTERNETWORKING
Internetworking refers to the process of connecting multiple networks to form a larger, global network,
typically known as the Internet. This chapter discusses various aspects of internetworking, including the
necessary protocols, devices, and techniques used to achieve efficient and scalable network communication.
Internetworking Devices
Several devices are essential for internetworking:
Routers: Forward packets between networks using logical addressing (e.g., IP addresses). Routers
operate at the network layer and make forwarding decisions based on routing tables.
Gateways: Provide connectivity between different network architectures and protocols by
performing protocol conversions.
Switches: Operate at the data link layer to connect devices within the same network, but they can
also perform some routing functions at higher layers.
Protocols for Internetworking
Various protocols are fundamental to internetworking:
IP (Internet Protocol): The primary protocol for routing packets across interconnected networks.
IPv4 and IPv6 are the two versions in use.
ICMP (Internet Control Message Protocol): Used for error reporting and network diagnostics.
ARP (Address Resolution Protocol): Maps IP addresses to physical MAC addresses.
RARP (Reverse Address Resolution Protocol): Maps physical MAC addresses to IP addresses.
NAT (Network Address Translation): Modifies network address information in packet headers
while in transit, allowing multiple devices on a local network to share a single public IP address.
Routing
Routing is the process of selecting paths in a network along which to send network traffic. There are several
types of routing:
Static Routing: Manually configured routes that do not change unless manually updated. Suitable
for small, stable networks.
Dynamic Routing: Routes are automatically updated based on network conditions. Routing
protocols like RIP (Routing Information Protocol), OSPF (Open Shortest Path First), and BGP
(Border Gateway Protocol) are used.
Autonomous Systems and BGP
An autonomous system (AS) is a collection of IP networks and routers under the control of a single
organization that presents a common routing policy to the Internet. BGP is the protocol used to exchange
routing information between ASes. It ensures that data packets find the most efficient path through the
myriad of interconnected networks.
Packet Switching and Forwarding
Packet switching involves breaking down data into packets and forwarding them based on the destination
address. Routers play a crucial role in forwarding packets from one network to another. This process
involves looking up the routing table, determining the next hop, and sending the packet on its way.
Congestion Control
Managing network congestion is vital to ensure the smooth flow of data. Techniques such as traffic shaping,
load balancing, and priority queuing help in managing congestion and maintaining network performance.
Quality of Service (QoS)
QoS mechanisms are implemented to prioritize certain types of traffic, ensuring that critical applications
receive the necessary bandwidth and low latency. This is particularly important for real-time applications
like VoIP (Voice over IP) and video conferencing.
Tunneling
Tunneling protocols allow data to be encapsulated and transported across incompatible networks. Common
tunneling protocols include:
IPsec (Internet Protocol Security): Provides secure communication over IP networks by encrypting
IP packets.
GRE (Generic Routing Encapsulation): Encapsulates a wide variety of network layer protocols to
be transmitted over IP networks.
L2TP (Layer 2 Tunneling Protocol): Used to support VPNs by tunneling L2 traffic over an IP
network.
Network Security
Securing an internetwork involves protecting data integrity, confidentiality, and availability. Common
security measures include:
Firewalls: Control incoming and outgoing network traffic based on predetermined security rules.
Encryption: Ensures data confidentiality by converting readable data into an unreadable format.
Authentication: Verifies the identity of users and devices attempting to access the network.
Conclusion
Internetworking is the backbone of the global Internet, enabling seamless communication between disparate
networks. By leveraging various devices, protocols, and techniques, internetworking ensures robust,
efficient, and secure data transmission across the world's networks.
Need for Network Layer
The network layer is essential in the OSI model and the Internet protocol suite for the following reasons:
1. Logical Addressing: Unlike the data link layer, which uses physical MAC addresses, the network
layer uses logical addresses (IP addresses) to uniquely identify devices across different networks.
This logical addressing is crucial for routing packets from the source to the destination across
multiple networks.
2. Routing: The network layer is responsible for determining the best path for data packets to travel
from the source to the destination. It uses routing protocols and algorithms to manage this path
selection efficiently, ensuring data reaches its intended recipient even across complex and vast
networks.
3. Packet Forwarding: The network layer handles the forwarding of packets by routers. Each router
along the path examines the network layer header to determine the next hop and forwards the packet
accordingly. This process continues until the packet reaches its destination.
4. Fragmentation and Reassembly: Networks have different maximum transmission unit (MTU)
sizes. The network layer handles fragmentation, breaking down large packets into smaller ones that
can be transmitted across the network, and reassembly, reconstructing the original packet at the
destination.
5. Interoperability: The network layer enables communication between different types of networks
(e.g., Ethernet, Wi-Fi, etc.) by providing a universal addressing scheme and routing capabilities. This
interoperability is vital for the global Internet.
Internet as a Datagram Network
The Internet operates primarily as a datagram network. A datagram network provides connectionless service,
meaning each packet (datagram) is treated independently, with no predetermined path from source to
destination.
Packet Switching: In a datagram network, data is transmitted in small packets. Each packet can take
a different path to reach the destination, which enhances the robustness and efficiency of the
network. Packet switching helps in utilizing the network resources efficiently and can adapt to
varying network conditions.
IP Protocol: The Internet Protocol (IP) is the foundation of the Internet's datagram network. It is
responsible for addressing, routing, and forwarding packets. IP treats each packet independently,
which means there is no need for a dedicated path or connection setup before transmission.
Best-Effort Delivery: The Internet as a datagram network operates on a best-effort delivery basis. It
does not guarantee packet delivery, order, or duplicate protection. Higher-level protocols, like TCP,
are responsible for ensuring reliability and data integrity.
Internet as a Connectionless Network
The Internet is fundamentally a connectionless network, characterized by the following:
No Pre-established Connection: Unlike connection-oriented networks (e.g., circuit-switched
networks), where a dedicated path is established before data transmission, the Internet does not
require a pre-established connection. Each packet is routed independently based on its destination
address.
Scalability: Connectionless networks are highly scalable. Since there is no need to maintain
connection states or dedicated paths, the Internet can support millions of simultaneous users and
devices without significant overhead.
Flexibility and Robustness: Connectionless communication allows the Internet to adapt
dynamically to changes in the network topology, such as link failures or congestion. Routers can use
alternate paths to ensure packet delivery, enhancing the overall robustness and reliability of the
network.
Resource Utilization: Connectionless networks make efficient use of available bandwidth and
resources. Packets are transmitted as and when network resources are available, without waiting for a
dedicated path to be established, leading to better utilization of network capacity.
IPv4 Datagram
An IPv4 datagram is a basic unit of data transmitted over an IPv4 network. It consists of a header and a data
payload. The header includes essential information required for routing and delivery.
Datagram Format
1. Version: (4 bits) Specifies the IP protocol version (IPv4 in this case).
2. Header Length (IHL): (4 bits) Indicates the length of the IP header in 32-bit words.
3. Type of Service (TOS): (8 bits) Provides information on the desired quality of service.
4. Total Length: (16 bits) Specifies the entire datagram's length, including header and data.
5. Identification: (16 bits) Used for uniquely identifying fragments of an original IP datagram.
6. Flags: (3 bits) Control or identify fragments.
DF (Don't Fragment): Indicates if the packet can be fragmented.
MF (More Fragments): Indicates if more fragments follow.
7. Fragment Offset: (13 bits) Indicates the position of the fragment in the original datagram.
8. Time to Live (TTL): (8 bits) Limits the datagram's lifetime.
9. Protocol: (8 bits) Specifies the higher-level protocol (e.g., TCP, UDP).
10. Header Checksum: (16 bits) Used for error-checking the header.
11. Source IP Address: (32 bits) The sender's IP address.
12. Destination IP Address: (32 bits) The receiver's IP address.
13. Options: (variable) Used for network testing, debugging, security, etc.
14. Data: (variable) The payload data being transported.
Fragmentation
IPv4 supports fragmentation, breaking large datagrams into smaller fragments to accommodate networks
with smaller maximum transmission units (MTUs).
Process: When a datagram exceeds the MTU of a network segment, it is divided into smaller
fragments. Each fragment is sent as a separate IP packet with its own header.
Reassembly: The receiving host reassembles the fragments back into the original datagram based on
the identification, flags, and fragment offset fields.
Checksum
The IPv4 header includes a checksum field to ensure the integrity of the header data. The checksum is
computed as the 16-bit one's complement of the one's complement sum of all 16-bit words in the header. If
the checksum does not match upon arrival, the packet is discarded.
Options
The IPv4 header can include optional fields for additional functionalities, such as:
Security: Information about the security of the packet.
Record Route: Records the route that the packet takes through the network.
Timestamp: Records the time at which each router processes the packet.
Source Route: Specifies the route that the packet should take through the network.
IPv6
IPv6 addresses several limitations of IPv4, offering several advantages:
1. Larger Address Space: IPv6 uses 128-bit addresses, significantly increasing the number of available
IP addresses.
2. Simplified Header: The IPv6 header is simpler and more efficient, improving routing performance.
3. No Need for NAT: With the larger address space, IPv6 eliminates the need for Network Address
Translation (NAT).
4. Built-in Security: IPv6 includes mandatory support for IPsec, providing improved security features.
5. Improved Multicast and Anycast: Enhancements in multicast and the introduction of anycast
addresses improve network efficiency and performance.
Packet Format
The IPv6 packet format includes a fixed header and optional extension headers.
1. Version: (4 bits) Indicates the IP version (IPv6).
2. Traffic Class: (8 bits) Similar to the TOS field in IPv4, used for QoS.
3. Flow Label: (20 bits) Used for special handling of packets.
4. Payload Length: (16 bits) Indicates the length of the payload.
5. Next Header: (8 bits) Identifies the type of the next header.
6. Hop Limit: (8 bits) Similar to TTL in IPv4.
7. Source Address: (128 bits) The sender's IP address.
8. Destination Address: (128 bits) The receiver's IP address.
Extension Headers
IPv6 uses extension headers to provide additional functionalities, such as:
1. Hop-by-Hop Options: Used for options that need to be processed by every router along the packet's
path.
2. Destination Options: Used for options that need to be processed only by the destination node.
3. Routing Header: Specifies a list of intermediate nodes to be visited on the way to the packet's
destination.
4. Fragment Header: Used for packet fragmentation.
5. Authentication Header: Provides packet integrity and data origin authentication.
6. Encapsulating Security Payload (ESP): Provides confidentiality, data origin authentication, and
integrity.
Tunneling
Tunneling is a technique that allows IPv6 packets to be transmitted over an existing IPv4 infrastructure. This
is achieved by encapsulating IPv6 packets within IPv4 packets, enabling them to traverse IPv4 networks.
Mechanism: IPv6 packets are encapsulated within IPv4 packets, with the IPv4 header guiding the
packet through the IPv4 network. Upon reaching the destination, the IPv6 packet is decapsulated and
forwarded to its final destination.
Types of Tunneling:
Manual Tunneling: Requires manual configuration of the tunnel endpoints.
6to4 Tunneling: An automatic tunneling mechanism that uses IPv4-compatible addresses to
connect IPv6 sites.
Teredo Tunneling: Provides IPv6 connectivity for devices behind IPv4 NAT (Network
Address Translation) devices.
Header Translation
Header translation, also known as protocol translation, involves converting IPv4 packet headers to IPv6
headers and vice versa. This technique allows IPv4-only and IPv6-only devices to communicate with each
other.
Mechanism: A translation gateway (NAT64 for IPv6 to IPv4 and NAT46 for IPv4 to IPv6) performs
the header conversion. It translates the address, port numbers, and other necessary header fields to
ensure proper communication between the different protocol versions.
Advantages:
Facilitates communication between IPv4 and IPv6 networks without requiring dual stack
implementation.
Useful for specific scenarios where dual stack is not feasible.
Summary
The transition from IPv4 to IPv6 is crucial for accommodating the growing number of internet-connected
devices and ensuring the continued growth and scalability of the internet. The use of dual stack, tunneling,
and header translation provides a flexible and interoperable approach to facilitate this transition, allowing
networks to support both protocols during the migration period. These techniques ensure that IPv4 and IPv6
can coexist and interoperate, providing a seamless user experience and maintaining network connectivity
during the transition phase.
ADDRESS MAPPING
Address mapping is the process of translating between logical addresses (IP addresses) and physical
addresses (MAC addresses) in a network. This translation is crucial for the correct delivery of data packets
across networks.
Mapping Logical to Physical Address: ARP
Address Resolution Protocol (ARP) is used to map a known IP address to a MAC address. This process is
necessary for packet delivery within a local network segment.
ARP Process:
1. ARP Request: When a device wants to communicate with another device on the same local
network, it broadcasts an ARP request packet containing the IP address of the destination
device.
2. ARP Reply: The device with the matching IP address responds with an ARP reply, which
includes its MAC address.
3. Caching: The sender caches the IP-to-MAC address mapping for future communications.
Mapping Physical to Logical Address: RARP, BOOTP, and DHCP
Reverse Address Resolution Protocol (RARP), Bootstrap Protocol (BOOTP), and Dynamic Host
Configuration Protocol (DHCP) are used to map a physical MAC address to an IP address.
RARP:
Used by a diskless machine to discover its IP address.
The machine broadcasts a RARP request containing its MAC address.
A RARP server responds with the corresponding IP address.
Limited use due to the requirement of a direct RARP server on the local network.
BOOTP:
An extension of RARP with additional features.
BOOTP allows a client to receive its IP address, as well as information about the server,
subnet mask, and gateway.
Uses UDP for communication.
Static configuration of IP addresses on the server side.
DHCP:
Provides dynamic allocation of IP addresses.
Clients send a DHCPDISCOVER message to locate a DHCP server.
The server responds with a DHCPOFFER message containing an IP address and
configuration details.
Clients request the offered IP address with a DHCPREQUEST message.
The server confirms the allocation with a DHCPACK message.
Supports IP address leasing and renewal, making it more flexible than BOOTP.
FORWARDING
Forwarding refers to the process of moving a packet from an input interface to the appropriate output
interface within a router so that it can be sent toward its final destination.
Forwarding Techniques
1. Destination-Based Forwarding:
The most common technique.
Each packet is forwarded based solely on the destination IP address.
Routers use routing tables to determine the best path.
2. Source-Based Forwarding:
Less common.
Packets are forwarded based on both the source and destination addresses.
Used in specialized applications like policy routing.
3. Label-Based Forwarding:
Used in Multiprotocol Label Switching (MPLS) networks.
Packets are forwarded based on labels rather than IP addresses.
Provides efficient and fast forwarding, often used in high-performance networks.
Forwarding Process
The forwarding process involves several steps to ensure packets reach their destinations:
1. Receive the Packet: The router receives a packet on an input interface.
2. Extract the Destination Address: The router extracts the destination IP address from the packet
header.
3. Look Up the Routing Table: The router searches its routing table for the best match for the
destination IP address.
4. Determine the Output Interface: Based on the routing table entry, the router determines the
appropriate output interface.
5. Forward the Packet: The router forwards the packet out of the determined interface toward the next
hop or the final destination.
Routing Table
The routing table is a data structure maintained by routers to store routes to different network destinations. It
contains the following information:
1. Destination Network: The network address of the destination.
2. Next Hop: The IP address of the next router on the path to the destination.
3. Interface: The outgoing interface to use for forwarding packets to the next hop.
4. Metric: A value representing the cost of the route (e.g., hop count, bandwidth).
5. Administrative Distance: A value indicating the trustworthiness of the route source.
Routing tables are updated dynamically using routing protocols such as RIP, OSPF, and BGP to adapt to
changes in the network topology.
2. Multicast:
Definition: Transmission of data from one sender to multiple specific receivers.
Use Case: Efficient distribution of data to multiple recipients, such as live video streaming,
online gaming, and real-time stock quotes.
Addressing: Uses a multicast IP address to identify a group of receivers.
3. Broadcast:
Definition: Transmission of data from one sender to all devices on a network.
Use Case: Network-wide announcements or DHCP requests.
Addressing: Uses a broadcast address (e.g., [Link] in IPv4).
Applications
Multicast applications are diverse and leverage the efficiency of multicast communication for various
purposes:
Video Conferencing: Distributing video and audio streams to multiple participants.
Online Gaming: Sending game state updates to all players.
Stock Exchange Feeds: Delivering real-time stock prices to multiple subscribers.
Software Distribution: Simultaneously updating multiple systems.
Multicast Routing
Multicast routing involves establishing paths from a single sender to multiple receivers, ensuring efficient
data delivery without unnecessary duplication of packets.
Challenges: Requires management of group memberships, ensuring data is delivered only to
interested receivers, and optimizing network resource usage.
Multicast Trees: Multicast routing often uses tree structures (e.g., shared trees or source-based trees)
to efficiently route packets from the sender to multiple receivers.
Routing Protocols
Several multicast routing protocols have been developed to address the complexities of multicast
communication:
1. DVMRP (Distance Vector Multicast Routing Protocol):
Based on the distance vector algorithm.
Builds multicast trees using a reverse path forwarding technique.
2. MOSPF (Multicast Extensions to OSPF):
Extends OSPF to support multicast routing.
Uses link state information to build multicast distribution trees.
3. PIM (Protocol Independent Multicast):
PIM-DM (Dense Mode): Assumes dense receiver population, uses flood-and-prune
mechanism.
PIM-SM (Sparse Mode): Assumes sparse receiver population, uses a shared tree with a
rendezvous point.
4. CBT (Core-Based Trees):
Uses a core router to build a single shared tree for all group members.
Reduces overhead compared to source-based trees but may introduce suboptimal paths.
PROCESS-TO-PROCESS DELIVERY
Client/Server Paradigm
The client/server paradigm is a fundamental model for networked communication where:
Client: A device or program that requests services or resources from another device or program (the
server).
Server: A device or program that provides services or resources to clients upon request.
This model enables scalable and efficient communication across networks, facilitating various applications
like web browsing, email, and file transfers.
2. Data Transfer:
Data is transferred bidirectionally in an ordered and reliable manner.
3. Connection Termination:
Graceful termination using a four-segment exchange (FIN and ACK segments) to ensure all
data is delivered and acknowledged.
Flow Control
Purpose: Prevents the sender from overwhelming the receiver with too much data at once.
Mechanism:
Uses a sliding window protocol where the window size adjusts based on the receiver's buffer
availability.
The receiver advertises the available buffer space (window size) to the sender, which then
regulates the amount of data sent.
Error Control
Purpose: Ensures data integrity and reliable delivery.
Mechanism:
Checksum: Used to detect errors in the transmitted segment.
Acknowledgments (ACKs): Confirm the receipt of data.
Retransmissions: Retransmit lost or corrupted segments.
Timers: Manage the timing for retransmissions if ACKs are not received in a timely manner.
Congestion Control
Purpose: Prevents network congestion by controlling the rate of data transmission.
Mechanisms:
Slow Start: Gradually increases the transmission rate to find the network's capacity.
Congestion Avoidance: Adjusts the transmission rate to avoid congestion.
Fast Retransmit: Quickly retransmits lost segments detected by duplicate ACKs.
Fast Recovery: Avoids reducing the transmission rate drastically after packet loss, balancing
efficient data flow and congestion control.
Summary
TCP is a reliable, connection-oriented protocol that provides essential services such as stream delivery, full-
duplex communication, and error control. It uses segments for data transmission and employs sophisticated
mechanisms for flow control, error control, and congestion control to ensure efficient and reliable
communication between networked applications.
DATA TRAFFIC
Traffic Descriptor
Definition: A traffic descriptor is a set of parameters that describe the characteristics of a traffic flow
in a network.
Parameters:
Peak Rate: The maximum rate at which data is sent.
Average Rate: The average rate of data transmission over a period.
Burst Size: The maximum amount of data sent in a burst.
Traffic Profiles
Definition: Traffic profiles categorize data flows based on their descriptors, allowing networks to
manage and optimize performance.
Types:
Constant Bit Rate (CBR): Data sent at a constant rate, suitable for real-time applications
like VoIP.
Variable Bit Rate (VBR): Data sent at varying rates, suitable for multimedia applications.
Available Bit Rate (ABR): Data rate adjusts based on network availability, suitable for
elastic applications.
Unspecified Bit Rate (UBR): Data sent without guaranteed performance, suitable for
applications with no strict requirements.
CONGESTION
Network Performance
Impact of Congestion:
Congestion occurs when network resources are insufficient to handle the traffic load.
Leads to increased delays, packet loss, and reduced throughput.
Affects overall network performance and user experience.
CONGESTION CONTROL
Open-Loop Congestion Control
Definition: Prevents congestion before it occurs by designing the network and traffic to avoid
congestion scenarios.
Techniques:
Traffic Shaping: Regulates the flow of data entering the network.
Admission Control: Limits the number of flows admitted to the network based on capacity.
Resource Reservation: Allocates resources in advance to ensure availability.
Closed-Loop Congestion Control
Definition: Reacts to congestion after it occurs, adjusting traffic flow based on network conditions.
Techniques:
Backpressure: Signals upstream nodes to slow down data transmission.
Choke Packet: Special packets sent to signal congestion and request a reduction in
transmission rate.
Implicit Feedback: Adjusts transmission rate based on observed performance metrics (e.g.,
increased delay or packet loss).
Two Examples
Congestion Control in TCP
Mechanisms:
Slow Start: Begins with a small congestion window (cwnd) and increases it exponentially
until a threshold (ssthresh) is reached.
Congestion Avoidance: After reaching ssthresh, increases cwnd linearly to probe for
available bandwidth.
Fast Retransmit: Retransmits a lost segment before the retransmission timer expires upon
receiving three duplicate ACKs.
Fast Recovery: Avoids reducing cwnd to the initial size after a fast retransmit, instead
reduces it by half and enters congestion avoidance.
Congestion Control in Frame Relay
Mechanisms:
Forward Explicit Congestion Notification (FECN): Indicates congestion to the destination,
prompting the receiver to inform the sender to slow down.
Backward Explicit Congestion Notification (BECN): Indicates congestion to the sender,
prompting it to reduce its transmission rate.
Discard Eligibility (DE): Marks less important frames that can be discarded in case of
congestion to maintain network performance for more critical data.
QUALITY OF SERVICE (QoS)
Flow Characteristics
Definition: Attributes of a data flow that determine its requirements and performance.
Attributes:
Bandwidth: The rate of data transfer.
Delay: The time it takes for data to travel from source to destination.
Jitter: The variability in packet arrival times.
Loss: The percentage of lost packets during transmission.
Flow Classes
Types:
Real-Time Flows: Require strict QoS parameters for delay, jitter, and loss (e.g., VoIP, video
conferencing).
Non-Real-Time Flows: Less sensitive to delay and jitter, but may still require some level of
QoS (e.g., file transfers, email).
INTEGRATED SERVICES
Signaling
Definition: The process of setting up and managing communication sessions.
Purpose: Ensures the network understands the QoS requirements of a flow and allocates resources
accordingly.
Flow Specification
Definition: Describes the QoS requirements of a data flow.
Components:
Token Bucket Rate: Average data rate.
Token Bucket Size: Burst tolerance.
Peak Data Rate: Maximum rate.
Minimum Policed Unit: Smallest allowed packet size.
Maximum Packet Size: Largest allowed packet size.
Admission
Process: The network decides whether to accept or reject a flow based on current load and resource
availability.
Purpose: Ensures the network can meet the QoS requirements of all admitted flows.
Service Classes
Types:
Guaranteed Service: Provides firm bounds on delay and bandwidth, suitable for real-time
applications.
Controlled-Load Service: Offers performance similar to that in an uncongested network,
suitable for adaptive applications.
RSVP (Resource Reservation Protocol)
Function: Used for reserving resources across a network.
Operation:
PATH Messages: Sent by the sender to request resources.
RESV Messages: Sent by the receiver to confirm the reservation.
DIFFERENTIATED SERVICES
DS Field
Definition: Part of the IP header used to specify the level of service.
Components:
Differentiated Services Code Point (DSCP): Indicates the desired QoS level.
Explicit Congestion Notification (ECN): Indicates network congestion.
Types of Records
Question Record
Purpose: Contains the query being made (e.g., domain name being resolved).
Resource Record
Purpose: Contains the answer to the query, including data such as IP addresses.
Registrars
Role: Entities authorized to register domain names on behalf of clients.
Dynamic Domain Name System (DDNS)
Purpose: Allows the automatic updating of DNS records, facilitating dynamic IP address
environments.
Encapsulation
Purpose: Encapsulates DNS messages within network packets for transmission over the internet.
REMOTE LOGGING
TELNET
Purpose: Allows users to log into remote computers over a network.
Characteristics:
Provides a bidirectional interactive text-oriented communication facility.
Uses the TCP protocol for reliable communication.
ELECTRONIC MAIL
Architecture
Components:
User Agent (UA): Interface for the user to read, compose, and send emails.
Message Transfer Agent (MTA): Transfers email messages between servers.
Message Access Agent (MAA): Retrieves messages from a server for the user.
User Agent
Functions:
Composing, reading, replying, and forwarding emails.
Managing mailboxes (inbox, outbox, drafts, etc.).
Examples: Microsoft Outlook, Mozilla Thunderbird.
Message Transfer Agent: SMTP
Simple Mail Transfer Protocol (SMTP):
Role: Transfers emails between mail servers.
Operation:
Connection Establishment: Uses TCP port 25.
Mail Transfer: Uses commands like HELO, MAIL FROM, RCPT TO, DATA, and
QUIT.
Relaying: Can forward emails to other MTAs if the recipient's server is not directly
reachable.
Message Access Agent: POP and IMAP
Post Office Protocol (POP):
Version: POP3 is the current version.
Function: Downloads emails from the server to the client.
Characteristics: Emails are usually deleted from the server after download.
Internet Message Access Protocol (IMAP):
Function: Allows users to view and manage emails directly on the server.
Characteristics: Emails remain on the server and can be accessed from multiple devices.
Web-Based Mail
Purpose: Provides access to email via a web browser.
Advantages:
No need for dedicated email client software.
Accessible from any device with an internet connection.
Examples: Gmail, Yahoo Mail, [Link].
FILE TRANSFER
File Transfer Protocol (FTP)
Purpose: Allows the transfer of files between a client and a server over a network.
Characteristics:
Uses two separate connections: a control connection and a data connection.
Control connection uses TCP port 21.
Data connection uses TCP port 20 or a dynamically allocated port.
Operations:
Authentication: Users must log in with a username and password.
Commands: Common commands include USER, PASS, LIST, RETR, STOR, and QUIT.
Modes: Active mode and passive mode for establishing the data connection.
Anonymous FTP
Purpose: Allows users to access files on an FTP server without needing a user account.
Characteristics:
Users log in with the username "anonymous".
Commonly used for distributing public files and software.
Less secure since it allows broader access to files.