Layering Concepts and Switching - Part 1: Introduction
Chapter Overview
Networking is a complex task involving many different functionalities. To manage this complexity, network communication is organized into a series of layers, each performing a specific set of tasks. This modular approach, known as layering, simplifies design, promotes interoperability, and allows for independent development and evolution of protocols at different levels. This section introduces the fundamental concepts of network layering, focusing on the widely used OSI and TCP/IP models, their respective layers, functionalities, and the process of data encapsulation. Understanding these basics is crucial for comprehending how data travels across networks and for solving problems related to protocol interactions and network delays.
Key Concepts
* Modularity: Breaks down complex network tasks into smaller, manageable sub-tasks.
* Interoperability: Allows different vendors to develop hardware and software that can communicate.
* Flexibility: Changes in one layer do not necessarily affect other layers.
* Standardization: Provides a framework for developing network protocols.
A conceptual model that characterizes and standardizes the communication functions of a telecommunication or computing system without regard to its underlying internal structure and technology. It consists of seven distinct layers.
* Layers and their Primary Functionalities:
1. Physical Layer (Layer 1):
* Functionality: Deals with the physical transmission of raw bits over a communication medium. Defines electrical, mechanical, procedural, and functional specifications for activating, maintaining, and deactivating the physical link.
* PDU (Protocol Data Unit): Bit
* Examples: Cables (Ethernet, Fiber), Connectors, Hubs, Repeaters.
2. Data Link Layer (Layer 2):
* Functionality: Provides reliable node-to-node (or hop-to-hop) data transfer. Handles framing, physical addressing (MAC addresses), error detection and correction, and flow control.
* PDU: Frame
* Examples: Ethernet, PPP, MAC addresses, Switches, Bridges.
* PYQ Context: Functionality (II) "Framing and error handling" matches Data Link Layer.
3. Network Layer (Layer 3):
* Functionality: Responsible for logical addressing (IP addresses) and routing packets from the source host to the destination host across multiple networks.
* PDU: Packet (or Datagram)
* Examples: IP, ICMP, Routers.
* PYQ Context: Functionality (I) "Packet routing" matches Network Layer.
4. Transport Layer (Layer 4):
* Functionality: Provides reliable end-to-end (or host-to-host) communication between processes on different hosts. Handles segmentation, reassembly, connection management, flow control, and error control.
* PDU: Segment (for TCP), Datagram (for UDP)
* Examples: TCP, UDP, Port numbers.
* PYQ Context: Functionality (III) "Host to host communication" matches Transport Layer.
5. Session Layer (Layer 5):
* Functionality: Establishes, manages, and terminates communication sessions between applications. Provides synchronization and dialogue control.
* PDU: Data
* Examples: NetBIOS, RPC.
6. Presentation Layer (Layer 6):
* Functionality: Deals with data representation, ensuring that data is presented in a format that the receiving application can understand. Handles data encryption, decryption, compression, and decompression.
* PDU: Data
* Examples: JPEG, MPEG, ASCII, SSL/TLS (partially).
7. Application Layer (Layer 7):
* Functionality: Provides network services directly to end-user applications. It is the layer closest to the end-user.
* PDU: Data
* Examples: HTTP, FTP, SMTP, DNS.
A more practical and widely implemented model, often considered a simplified version of the OSI model. It typically has four or five layers.
* Layers and their Mapping to OSI:
1. Network Access Layer (or Link Layer): Combines OSI Physical and Data Link layers.
* Functionality: Handles all physical and logical aspects of linking to the network.
* PDU: Frame, Bit
* Examples: Ethernet, ARP (Address Resolution Protocol).
2. Internet Layer: Corresponds to the OSI Network layer.
* Functionality: Responsible for logical addressing and routing of packets across different networks.
* PDU: Packet (or Datagram)
* Examples: IP, ICMP.
3. Transport Layer: Corresponds to the OSI Transport layer.
* Functionality: Provides end-to-end communication between applications.
* PDU: Segment, Datagram
* Examples: TCP, UDP.
4. Application Layer: Combines OSI Session, Presentation, and Application layers.
* Functionality: Provides high-level protocols for user applications.
* PDU: Data
* Examples: HTTP, FTP, SMTP, DNS.
* Encapsulation: As data moves down the layers from the Application layer to the Physical layer, each layer adds its own header (and sometimes a trailer) to the data received from the layer above. This process of wrapping data with protocol information is called encapsulation.
* Decapsulation: At the receiving end, the process is reversed. As data moves up the layers, each layer removes its corresponding header (and trailer) and passes the remaining data to the layer above.
* MAC Address (Physical Address):
* A unique hardware identifier assigned to network interfaces (e.g., NICs).
* Operates at the Data Link Layer (Layer 2).
* Used for local, node-to-node communication within a single network segment.
* Changes at every hop (router) in a multi-hop path.
* IP Address (Logical Address):
* A logical identifier assigned to devices on a network.
* Operates at the Network Layer (Layer 3).
* Used for end-to-end communication across different networks (routing).
* Remains constant from source to final destination.
* Port Number (Process Address):
* A logical identifier used by the Transport Layer to identify specific applications or processes on a host.
* Operates at the Transport Layer (Layer 4).
* Enables multiple applications to share the same network connection.
* PYQ Context: ARP (Address Resolution Protocol) maps an IP address to its corresponding MAC address, bridging Layer 3 and Layer 2 addressing.
* Switch (Layer 2): Operates at the Data Link Layer. Forwards frames based on MAC addresses within a local network.
* Router (Layer 3): Operates at the Network Layer. Forwards packets between different networks based on IP addresses.
Important Formulas
where:
* is the distance between sender and receiver (in meters).
* is the propagation speed of the signal (in meters/second).
where:
* is the length of the packet (in bits).
* is the bandwidth or transmission rate of the link (in bits/second).
This is the time from when the first bit of the packet is transmitted until the last bit is received.
Examples
When a user browses a webpage from a remote server with empty caches:
* Step 1: DNS Resolution. The browser needs the IP address of the web server.
* (ii) DNS request to resolve the web server's name to its IP address. (Application Layer)
* Step 2: TCP Connection Establishment. Once the IP address is known, a TCP connection must be established.
* (iv) TCP SYN to open a connection to the web server. (Transport Layer)
* Step 3: HTTP Request for Index Page. After the TCP connection is established, the browser requests the main webpage.
* (i) HTTP GET request for the index page. (Application Layer)
* Step 4: HTTP Requests for Embedded Objects. The browser then parses the index page and requests embedded objects (like images).
* (iii) HTTP GET request for an image object. (Application Layer)
* Correct Chronological Order: (ii) (iv) (i) (iii)
Consider a Mbps link between an earth station (sender) and a satellite (receiver) at an altitude of km. The signal propagates at a speed of m/s. A packet of bytes is transmitted.
* Given:
* Bandwidth () = Mbps = bits/s
* Distance () = km = m
* Propagation Speed () = m/s
* Packet Length () = bytes = bits = bits
* Calculate Transmission Delay ():
* Calculate Propagation Delay ():
* Calculate Total Time ():
The time taken for the receiver to completely receive the packet is milliseconds.
Important Points/Tips for Exam Preparation
* Master OSI and TCP/IP Models: Know the layers, their order, and their primary functions for both models. Be able to map TCP/IP layers to OSI layers.
* PDU Names: Remember the PDU names for each layer (Bit, Frame, Packet/Datagram, Segment/Datagram, Data).
* Addressing: Clearly distinguish between MAC addresses (Layer 2, local, changes per hop), IP addresses (Layer 3, global, constant end-to-end), and Port numbers (Layer 4, process-specific).
* Protocol-Layer Mapping: Be able to identify which common protocols (e.g., HTTP, DNS, TCP, UDP, IP, ARP, Ethernet) belong to which layer.
* Encapsulation/Decapsulation: Understand the process of adding/removing headers as data moves up and down the stack.
* Chronological Order of Events: For common network operations (like web browsing or file transfer), be able to sequence the events and associated protocols correctly. This often involves DNS resolution, TCP handshake, and then application-layer data transfer.
* Delay Calculations: Practice problems involving transmission delay, propagation delay, and total time. Pay attention to units (bits vs. bytes, Mbps vs. Kbps, km vs. m, s vs. ms).
* TCP Features: Remember that TCP is full-duplex, meaning a single TCP segment can carry both data and acknowledgements simultaneously.
* ARP Function: Understand that ARP is crucial for mapping Layer 3 IP addresses to Layer 2 MAC addresses within a local network segment.
---
Layering Concepts and Switching - Part 2: Core Concepts
Chapter Overview
This section delves into the fundamental principles of network layering, primarily focusing on the OSI and TCP/IP models, their functionalities, and the key protocols operating at each layer. It also covers different switching techniques crucial for understanding how data traverses a network. Understanding these core concepts is vital for analyzing network behavior, troubleshooting, and designing efficient communication systems, frequently tested in GATE CS exams.
Key Concepts
#### 1. Network Layering
* Purpose: To divide complex network communication tasks into smaller, manageable sub-tasks, each handled by a specific layer. This promotes modularity, abstraction, easier development, and troubleshooting.
* Service Primitives: Interactions between adjacent layers are defined by service primitives:
* Request: A service user asks a service provider to perform an action.
* Indication: A service provider informs a service user about an event.
* Response: A service user acknowledges an indication.
* Confirm: A service provider acknowledges a request.
* Encapsulation: The process where each layer adds its own header (and sometimes a trailer) to the data received from the layer above it, forming a Protocol Data Unit (PDU).
* Decapsulation: The reverse process, where each layer removes its header (and trailer) before passing the data up to the next layer.
#### 2. OSI Model (Open Systems Interconnection)
A conceptual 7-layer model defining how network systems should communicate.
* Layer 7: Application Layer
* Functionality: Provides network services directly to end-user applications. Deals with user interfaces and application-specific protocols.
* Protocols: HTTP, FTP, SMTP, DNS, SSH.
* PDU: Data.
* Layer 6: Presentation Layer
* Functionality: Data translation, encryption/decryption, compression/decompression. Ensures data is presented in a format understandable by the application layer.
* Protocols: JPEG, MPEG, ASCII, EBCDIC, TLS/SSL (partially).
* PDU: Data.
* Layer 5: Session Layer
* Functionality: Establishes, manages, and terminates communication sessions between applications. Provides synchronization and dialogue control.
* Protocols: NetBIOS, RPC, Sockets.
* PDU: Data.
* Layer 4: Transport Layer
* Functionality: Host-to-host (end-to-end) communication. Provides reliable or unreliable data transfer between processes on different hosts. Includes segmentation, reassembly, flow control, and error control.
* Protocols: TCP, UDP.
* PDU: Segment (TCP), Datagram (UDP).
* Layer 3: Network Layer
* Functionality: Packet routing across different networks (inter-networking). Logical addressing (IP addresses), path determination.
* Protocols: IP, ICMP, ARP, RARP.
* PDU: Packet (or Datagram).
* Layer 2: Data Link Layer
* Functionality: Framing and error handling within a single network segment (node-to-node). Physical addressing (MAC addresses), error detection/correction, flow control. Divided into Logical Link Control (LLC) and Media Access Control (MAC) sublayers.
* Protocols: Ethernet, PPP, HDLC, Wi-Fi (802.11).
* PDU: Frame.
* Layer 1: Physical Layer
* Functionality: Transmission and reception of raw bit streams over a physical medium. Defines electrical, mechanical, procedural, and functional specifications for activating, maintaining, and deactivating physical links.
* Protocols: Ethernet (physical aspects), USB, Bluetooth (physical aspects).
* PDU: Bit.
#### 3. TCP/IP Model (Transmission Control Protocol/Internet Protocol)
A practical 4 or 5-layer model widely used in the Internet.
* Layer 5 (or 4): Application Layer
* OSI Equivalent: Application, Presentation, Session Layers.
* Functionality: Combines the top three OSI layers. Provides application-specific services.
* Protocols: HTTP, FTP, SMTP, DNS, SSH, TLS/SSL.
* Layer 4 (or 3): Transport Layer
* OSI Equivalent: Transport Layer.
* Functionality: End-to-end communication, reliability, flow control, port addressing.
* Protocols: TCP, UDP.
* Layer 3 (or 2): Internet Layer (or Network Layer)
* OSI Equivalent: Network Layer.
* Functionality: Logical addressing (IP), routing of packets across networks.
* Protocols: IP, ICMP, ARP, RARP.
* Layer 2 (or 1): Network Access Layer (or Link Layer)
* OSI Equivalent: Data Link Layer.
* Functionality: Handles physical addressing (MAC), framing, error control within a local network.
* Protocols: Ethernet, Wi-Fi, PPP.
* Layer 1 (Implicit): Physical Layer
* OSI Equivalent: Physical Layer.
* Functionality: Physical transmission of bits. Often considered part of the Network Access Layer in the 4-layer model.
#### 4. Comparison of OSI and TCP/IP Models
| Feature | OSI Model | TCP/IP Model |
| :---------------- | :-------------------------------------------- | :-------------------------------------------- |
| Layers | 7 layers | 4 or 5 layers |
| Origin | Theoretical, conceptual | Practical, developed for the Internet |
| Approach | Defines services, interfaces, and protocols | Defines protocols first, then layers |
| Connection | Both connection-oriented and connectionless | Primarily connectionless at Internet layer, both at Transport |
| Strictness | More rigid, less flexible | More flexible, adaptable |
| Application | Less widely implemented as a whole | Basis of the Internet |
#### 5. Switching Concepts
Methods used to connect devices in a network and forward data.
* a. Circuit Switching
* Concept: A dedicated physical path (circuit) is established between sender and receiver before communication begins. The circuit remains active for the entire duration of the communication.
* Phases: Connection setup, data transfer, connection teardown.
* Characteristics:
* Connection-oriented.
* Dedicated bandwidth, guaranteed quality of service (QoS).
* Inefficient for bursty data (idle circuit time).
* High setup time, low data transfer delay once established.
* Example: Traditional telephone networks.
* b. Packet Switching
* Concept: Data is broken into small, independent units called packets. Each packet contains addressing information and is routed independently through the network.
* Characteristics:
* No dedicated path.
* Shared bandwidth, efficient for bursty data.
* Potential for variable delays and packet loss.
* Lower setup time, higher data transfer delay (due to queuing, processing).
* Types:
* Datagram Approach (Connectionless): Each packet is treated independently. No prior path setup. Routers make forwarding decisions for each packet based on its destination address.
* Example: IP protocol.
* Virtual Circuit Approach (Connection-oriented): A logical path (virtual circuit) is established before data transfer. All packets belonging to a flow follow this pre-established path.
* Example: Frame Relay, X.25, MPLS.
* c. Message Switching (Historical)
* Concept: The entire message is treated as a single unit and stored at intermediate nodes before being forwarded to the next node (store-and-forward).
* Characteristics:
* No dedicated path.
* High latency due to storing entire messages.
* Efficient for very large messages, but not suitable for real-time applications.
* Example: Early telegraph systems, email (conceptually similar for individual emails).
#### 6. Addressing
Different types of addresses used at various layers:
* Physical Address (MAC Address):
* Layer: Data Link Layer.
* Format: 48-bit (6-byte) hexadecimal address, globally unique, burned into network interface cards (NICs).
* Purpose: Identifies a device within a local network segment.
* Logical Address (IP Address):
* Layer: Network Layer.
* Format: IPv4 (32-bit), IPv6 (128-bit). Hierarchical.
* Purpose: Identifies a device uniquely across the entire Internet, used for routing packets between networks.
* Port Address (Port Number):
* Layer: Transport Layer.
* Format: 16-bit number (0-65535).
* Purpose: Identifies a specific application process or service running on a host.
* Specific Protocol Address (Application Layer Address):
* Layer: Application Layer.
* Format: Varies by application (e.g., URL, email address, domain name).
* Purpose: User-friendly identifiers for network resources.
#### 7. Key Protocols and Their Roles
* DNS (Domain Name System):
* Layer: Application Layer.
* Functionality: Translates human-readable domain names (e.g., `www.example.com`) into machine-readable IP addresses.
* ARP (Address Resolution Protocol):
* Layer: Network Layer (operates between Network and Data Link).
* Functionality: Maps an IP address to its corresponding physical (MAC) address within a local network segment.
* RARP (Reverse Address Resolution Protocol):
* Layer: Network Layer (operates between Network and Data Link).
* Functionality: Maps a physical (MAC) address to its corresponding IP address. (Less common now, superseded by DHCP).
* TCP (Transmission Control Protocol):
* Layer: Transport Layer.
* Functionality: Provides reliable, connection-oriented, byte-stream delivery. Includes flow control, congestion control, error detection, and retransmission. Uses a three-way handshake (SYN, SYN-ACK, ACK) for connection establishment.
* UDP (User Datagram Protocol):
* Layer: Transport Layer.
* Functionality: Provides unreliable, connectionless datagram delivery. Minimal overhead, no flow control, no congestion control, no retransmission.
* HTTP (Hypertext Transfer Protocol):
* Layer: Application Layer.
* Functionality: Protocol for fetching resources like HTML documents. Basis of data communication for the World Wide Web. Uses methods like GET, POST.
* IP (Internet Protocol):
* Layer: Internet Layer (Network Layer).
* Functionality: Connectionless, best-effort delivery of datagrams across an internetwork. Responsible for logical addressing and routing.
Important Formulas
* Propagation Delay (): The time it takes for a signal to travel from the sender to the receiver.
* Transmission Delay (): The time it takes to push all bits of a packet onto the transmission medium.
* Total Time for a single packet (simplified):
(Often and are ignored in basic calculations unless specified).
* Round Trip Time (RTT): The time it takes for a signal to travel from sender to receiver and back. Minimum RTT is .
Examples
#### Example 1: Chronological Order of Web Page Fetch (PYQ Context)
A user browses a webpage with embedded images. All caches are empty.
Packets leaving the user's computer:
(i) HTTP GET request for the index page
(ii) DNS request to resolve the web server's name to its IP address
(iii) HTTP GET request for an image object
(iv) TCP SYN to open a connection to the web server
Correct Chronological Order: (ii), (iv), (i), (iii)
Explanation:
#### Example 2: OSI Layer Functionalities (PYQ Context)
Identify the ONE CORRECT matching between the OSI layers and their corresponding functionalities:
Correct Matching:
* (a) Network layer - (I) Packet routing
* (b) Transport layer - (III) Host to host communication
* (c) Datalink layer - (II) Framing and error handling
#### Example 3: Delay Calculation (PYQ Context)
Consider a Mbps link between an earth station (sender) and a satellite (receiver) at an altitude of km. The signal propagates at a speed of m/s. The time taken (in milliseconds, rounded off to two decimal places) for the receiver to completely receive a packet of bytes transmitted by the sender is __________.
Given:
* Bandwidth () = Mbps = bits/s
* Distance () = km = m
* Propagation Speed () = m/s
* Packet Size () = bytes = bits = bits
Calculations:
Answer:
#### Example 4: ARP and TCP Segments (PYQ Context)
Consider the following statements:
(i) Address Resolution Protocol (ARP) provides a mapping from an IP address to the corresponding hardware (link-layer) address.
(ii) A single TCP segment from a sender S to a receiver R cannot carry both data from S to R and acknowledgement for a segment from R to S.
Which ONE of the following is CORRECT?
Analysis:
* (i) ARP statement: This is TRUE. ARP's primary function is precisely to resolve an IP address to a MAC address.
* (ii) TCP segment statement: This is FALSE. TCP uses a technique called piggybacking, where an acknowledgment (ACK) for data received from the other end can be carried within a data segment being sent in the opposite direction. This improves efficiency.
Correct Answer: (i) is CORRECT, (ii) is INCORRECT.
Important Points/Tips for Exam Preparation
* Master Layer Functionalities: Be able to clearly articulate the primary role of each layer in both OSI and TCP/IP models. This is a frequent source of questions.
* Know Key Protocols per Layer: Associate common protocols (IP, TCP, UDP, HTTP, DNS, ARP, Ethernet) with their respective layers and understand their basic functions.
* Understand Addressing: Differentiate between MAC, IP, and Port addresses, and know which layer uses which.
* Trace Packet Flow: Practice tracing the journey of a packet through the layers, including encapsulation/decapsulation and how source/destination IP and MAC addresses change (or don't change) at different network segments.
* Switching Techniques Comparison: Understand the trade-offs between circuit switching and packet switching (especially datagram vs. virtual circuit) in terms of efficiency, delay, and resource allocation.
* Delay Calculations: Be proficient in calculating transmission delay, propagation delay, and total time. Pay attention to units (bits vs. bytes, seconds vs. milliseconds).
* PYQ Analysis: The provided PYQs highlight common themes: chronological order of network events (DNS, TCP handshake, HTTP), layer functionalities, delay calculations, and specific protocol roles (ARP, TCP piggybacking). Focus on these areas.
* TCP Handshake: Understand the three-way handshake (SYN, SYN-ACK, ACK) for TCP connection establishment.
* ARP vs. DNS: Clearly distinguish between their roles: DNS resolves domain names to IP addresses, ARP resolves IP addresses to MAC addresses.
---
Layering Concepts and Switching - Part 3: Advanced Topics
Chapter Overview
This section delves into advanced aspects of network layering and switching, building upon foundational concepts. We will explore the intricate interactions between different layers, analyze network performance metrics, and examine the detailed operation of key protocols like TCP, HTTP, DNS, and ARP. Understanding these advanced topics is crucial for solving complex problems related to network design, performance, and troubleshooting, frequently tested in exams like GATE.
Key Concepts
* Service Primitives: Mechanisms for layers to request and provide services (e.g., `CONNECT.request`, `DATA.indication`).
* Encapsulation: The process where each layer adds its own header (and sometimes trailer) to the data received from the layer above.
* Example: Application data TCP segment IP datagram Ethernet frame.
* Decapsulation: The reverse process at the receiver, where headers are removed layer by layer.
* HTTP (Hypertext Transfer Protocol):
* Persistent vs. Non-Persistent HTTP:
* Non-Persistent: Each object requires a new TCP connection.
* Persistent: Multiple objects can be fetched over a single TCP connection, potentially with pipelining (client sends multiple requests without waiting for responses).
* HTTP Methods: `GET`, `POST`, `HEAD`, `PUT`, `DELETE`.
* HTTP Status Codes: `200 OK`, `404 Not Found`, `500 Internal Server Error`.
* DNS (Domain Name System):
* Purpose: Translates human-readable domain names into IP addresses.
* Resolution Process: Local DNS server Root DNS server TLD DNS server Authoritative DNS server.
* Caching: DNS servers cache mappings to speed up future lookups.
* Resource Records (RRs): `A` (hostname to IP), `NS` (name server), `CNAME` (alias), `MX` (mail exchange).
* TCP Connection Establishment (3-Way Handshake):
1. Client sends `SYN` (seq=x).
2. Server sends `SYN-ACK` (seq=y, ack=x+1).
3. Client sends `ACK` (ack=y+1).
* TCP Connection Termination (4-Way Handshake):
1. Host A sends `FIN` (seq=x).
2. Host B sends `ACK` (ack=x+1).
3. Host B sends `FIN` (seq=y).
4. Host A sends `ACK` (ack=y+1).
* Reliable Data Transfer:
* Sequence Numbers: For ordering and detecting lost segments.
* Acknowledgements (ACKs): Cumulative ACKs (acknowledging up to the last correctly received byte).
* Retransmission: Timeout-based and Duplicate ACK-based.
* Piggybacking: Combining data and acknowledgements in a single segment.
* Flow Control (Sliding Window):
* Purpose: Prevents a fast sender from overwhelming a slow receiver.
* Receiver Window (): Advertised by the receiver, indicates available buffer space.
* Sender's effective window: .
* Congestion Control:
* Purpose: Prevents network collapse due to excessive traffic.
* Algorithms:
* Slow Start: Exponential increase of (congestion window) initially.
* Congestion Avoidance: Linear increase of after (slow start threshold).
* Fast Retransmit: Retransmit segment upon receiving 3 duplicate ACKs.
* Fast Recovery: After Fast Retransmit, is set to and then linearly increased.
* TCP Reno, TCP Tahoe, TCP NewReno: Different implementations with varying congestion control mechanisms.
* IP Addressing:
* Source IP: Remains constant from source host to destination host.
* Destination IP: Remains constant from source host to destination host.
* Routing Principles:
* Routers forward packets based on destination IP address.
* Each router makes an independent forwarding decision based on its routing table.
* Next-Hop Routing: Router determines the next hop's IP address and then uses ARP to find its MAC address.
* ICMP (Internet Control Message Protocol):
* Purpose: Error reporting and diagnostic functions (e.g., `ping`, `traceroute`).
* Messages: Destination Unreachable, Time Exceeded, Echo Request/Reply.
* MAC Addressing:
* Source MAC: Changes at every hop (from current device's interface MAC).
* Destination MAC: Changes at every hop (to next hop device's interface MAC).
* ARP (Address Resolution Protocol):
* Purpose: Maps an IP address to its corresponding MAC (hardware) address within the same local network segment.
* ARP Request: Broadcasts a query for the MAC address of a given IP.
* ARP Reply: Unicast response from the host owning the IP address.
* ARP Cache: Stores recent IP-to-MAC mappings to reduce ARP traffic.
* Transmission Delay (): Time to push all bits of a packet onto the link.
* Propagation Delay (): Time for the first bit to travel from sender to receiver.
* Queuing Delay (): Time a packet waits in a queue at a router/switch.
* Processing Delay (): Time for a router/switch to process the packet header.
* Total Delay (for a single link):
* Round Trip Time (RTT): Time for a small packet to travel from sender to receiver and back. (ignoring transmission and processing for small packets).
* Bandwidth-Delay Product (BDP): Maximum number of bits that can be "in flight" on the link.
* Throughput: Actual rate at which data is successfully transferred, limited by bottleneck link.
Examples
When a user browses a webpage with embedded images, the chronological order of packets leaving the computer is:
1. DNS request to resolve the web server's name to its IP address.
2. TCP SYN to establish a TCP connection to the web server's IP address.
3. HTTP GET request for the index page.
4. HTTP GET request for an image object (after parsing the index page).
Consider a packet from Host X to Host Y, passing through Router R and Switch S (X S R ... Y).
* At Host X (leaving X):
* Source IP: IP address of X.
* Destination IP: IP address of Y.
* Source MAC: MAC address of X's interface.
* Destination MAC: MAC address of Router R's interface (the next hop).
* At Switch S (forwarding):
* Switch S operates at Layer 2. It forwards the frame based on the destination MAC address (R's MAC) to the port connected to R. It does not alter IP or MAC addresses.
* At Router R (receiving):
* Router R receives the frame, decapsulates it to the IP layer.
* It then determines the next hop towards Y, finds its MAC address (using ARP if necessary), and encapsulates the IP datagram into a new frame with:
Source MAC: MAC address of R's outgoing* interface.
Destination MAC: MAC address of the next hop* device.
* Source IP: Still IP address of X.
* Destination IP: Still IP address of Y.
Link: Mbps, Distance: km, Speed: m/s, Packet Size: bytes.
* Packet Size (bits):
* Bandwidth:
* Transmission Delay ():
* Distance (meters):
* Propagation Delay ():
* Total Time to Receive (assuming no queuing/processing delay):
Important Points/Tips for Exam Preparation
* OSI vs. TCP/IP Model: Understand the differences and similarities, and map protocols to their respective layers. Be able to identify the functionality of each layer precisely.
* Address Resolution: Clearly distinguish when IP addresses are used (end-to-end) and when MAC addresses are used (hop-by-hop). Understand ARP's role in bridging these two.
* Router vs. Switch: Routers operate at Layer 3 (IP, change MAC addresses), Switches operate at Layer 2 (MAC, forward frames within a LAN, do not change MAC/IP addresses).
* TCP State Transitions: Be familiar with the states during connection establishment (`SYN_SENT`, `SYN_RCVD`, `ESTABLISHED`) and termination (`FIN_WAIT_1`, `CLOSE_WAIT`, `LAST_ACK`, `TIME_WAIT`).
* TCP Congestion Control: Know the phases (slow start, congestion avoidance) and mechanisms (fast retransmit, fast recovery). Understand how and change.
* Delay Calculations: Practice problems involving transmission delay, propagation delay, and RTT. Pay attention to units (bits vs. bytes, Mbps vs. Kbps, km vs. m, s vs. ms).
* Protocol Interaction: For scenarios like web browsing, trace the sequence of events across different layers and protocols (DNS TCP HTTP).
PYQ Analysis: Many questions test the application of these concepts in practical scenarios. Focus on understanding why things happen in a certain order or how* a protocol achieves its goal.
* Formulas: Memorize and understand the formulas for transmission delay, propagation delay, and bandwidth-delay product.
---
Part 4: Applications
Chapter Overview
This section delves into practical applications of layering concepts and switching, illustrating how different network protocols and layers interact to facilitate common network operations. We will explore real-world examples like web browsing, address resolution, and packet forwarding, demonstrating the functionalities of various layers and their impact on network performance.
Key Concepts and Examples
#### 1. Web Browsing: A Multi-Layered Interaction
Browsing a webpage involves a complex sequence of operations spanning multiple layers of the OSI/TCP-IP model.
* Scenario: A user opens a browser to access `www.example.com`.
* Sequence of Events (Chronological Order):
1. DNS Resolution (Application Layer): The browser first needs to resolve the domain name `www.example.com` to an IP address.
* A DNS request packet is sent to a DNS server.
* This involves encapsulating the DNS query within a UDP segment (Transport Layer), which is then encapsulated within an IP packet (Network Layer), and finally within a Data Link Layer frame (e.g., Ethernet).
2. TCP Connection Establishment (Transport Layer): Once the IP address of the web server is known, the browser initiates a TCP connection to the server on port 80 (for HTTP).
* A TCP SYN segment is sent to the server. This is the first step of the TCP three-way handshake.
3. HTTP Request for Index Page (Application Layer): After the TCP connection is established, the browser sends an HTTP GET request for the main index page.
* An HTTP GET request for the index page is sent over the established TCP connection.
4. HTTP Requests for Embedded Objects (Application Layer): The index page often contains references to other objects (images, CSS, JavaScript files). For each embedded object, the browser typically sends a separate HTTP GET request (or multiple requests if using HTTP/1.1 pipelining or HTTP/2 multiplexing).
* An HTTP GET request for an image object (or other embedded resources) is sent.
* PYQ Context: The chronological order of packets leaving the computer for a webpage fetch (DNS request, TCP SYN, HTTP GET for index, HTTP GET for image) directly illustrates this sequence.
#### 2. Address Resolution Protocol (ARP)
ARP is a crucial protocol that operates at the Data Link Layer (or between Data Link and Network Layer) to map an IP address to its corresponding hardware (MAC) address within a local network segment.
* Purpose: When a device (e.g., host A) wants to send an IP packet to another device (e.g., host B) on the same local network, it needs host B's MAC address to create the Ethernet frame. If host A only knows host B's IP address, it uses ARP.
* Operation:
1. Host A broadcasts an ARP request packet on the local network, asking "Who has IP address ? Tell (Host A's IP)."
2. The device with IP address (Host B) receives the broadcast and replies with an ARP reply packet, containing its MAC address. This reply is typically unicast directly to Host A.
3. Host A stores this IP-to-MAC mapping in its ARP cache for future use.
* PYQ Context: The statement "(i) Address Resolution Protocol (ARP) provides a mapping from an IP address to the corresponding hardware (link-layer) address" is a direct definition of ARP's functionality.
#### 3. Packet Flow and Address Changes through a Network
Understanding how addresses change as a packet traverses a network is fundamental to layering.
* Scenario: Node X sends a packet to Node Y, passing through an intermediate IP router R and an Ethernet switch S (between X and R).
* At Node X (Sender):
* Destination IP Address: The IP address of Node Y (the ultimate destination). This remains constant from source to destination.
Destination MAC Address: The MAC address of the next hop* on the path to Y. In this case, it's the MAC address of the router R's interface connected to X's network. Node X uses ARP to find R's MAC address if it doesn't already know it.
* At Ethernet Switch S:
* The switch operates at Layer 2. It examines the destination MAC address of the incoming frame to determine which outgoing port to forward it to. It does not inspect or change IP addresses.
* At Router R:
* The router receives the frame, checks the destination MAC address (which matches its own interface), and de-encapsulates the IP packet.
* It then examines the destination IP address of the IP packet to determine the next hop.
* It re-encapsulates the IP packet into a new Data Link Layer frame for the next hop. The source MAC address will be the router's outgoing interface MAC, and the destination MAC address will be the MAC address of the next hop (another router or the final destination Y, depending on the network topology).
* PYQ Context: The question about destination IP and MAC addresses on a packet leaving X highlights this concept. The destination IP is Y's, but the destination MAC is R's.
#### 4. Performance Calculation: Transmission and Propagation Delay
These are critical metrics for evaluating network performance and are direct applications of physical and data link layer concepts.
* Transmission Delay (): The time required to push all bits of a packet onto the link. It depends on the packet size and the link's bandwidth.
* Propagation Delay (): The time it takes for the first bit of a packet to travel from the sender to the receiver. It depends on the distance and the signal propagation speed.
* Total Time to Receive a Packet: For a single packet, the time for the receiver to completely receive it is typically the sum of transmission delay and propagation delay (assuming no queuing or processing delays).
Important Formulas
* Transmission Delay:
* Propagation Delay:
* Total Time to Receive a Packet (for a single packet):
* PYQ Context: The satellite link problem directly applies these formulas to calculate the total time for a receiver to completely receive a packet.
Important Points/Tips for Exam Preparation
* Trace Packet Paths: Practice tracing the journey of a packet through different network devices (hosts, switches, routers). Pay close attention to how source/destination IP and MAC addresses change (or don't change) at each hop.
* Understand Layer Interactions: Focus on how protocols at different layers interact (e.g., how ARP helps IP, how TCP uses IP, how HTTP uses TCP).
* Chronological Order: For application scenarios like web browsing, be able to sequence the events and the packets generated in their correct chronological order.
* OSI/TCP-IP Model Functionalities: Be able to map specific functionalities (e.g., routing, framing, host-to-host communication, error handling, flow control) to their correct layers.
* Delay Calculations: Master the formulas for transmission delay, propagation delay, and round-trip time (RTT). Pay attention to units (bits vs. bytes, Mbps vs. Kbps, km vs. m, ms vs. s).
* ARP and DNS: Understand their specific roles in address resolution and name resolution, respectively, and at which layers they operate.
* TCP vs. UDP: Recall their fundamental differences, especially regarding reliability and connection establishment, as these impact application behavior.
---
Part 5: Summary
This section consolidates the critical concepts from Layering Concepts and Switching, essential for GATE CS.
#### Key Points
* Purpose: Provide a structured approach to network communication, dividing complex tasks into manageable layers.
* OSI Layers (7): Physical, Data Link, Network, Transport, Session, Presentation, Application.
* TCP/IP Layers (4/5): Network Access (or Data Link + Physical), Internet, Transport, Application.
* Encapsulation: Data from an upper layer is treated as payload by the lower layer, with each layer adding its own header.
* Data Link Layer (Layer 2):
* Framing: Divides bit stream into frames.
* Error Control: Detects and often corrects errors within a frame.
* Flow Control: Prevents a fast sender from overwhelming a slow receiver.
* MAC Addressing: Uses physical (hardware) addresses for local network communication.
* ARP (Address Resolution Protocol): Maps an IP address to its corresponding MAC address.
* Network Layer (Layer 3):
* IP Addressing: Uses logical addresses (IP addresses) for global identification of devices.
* Routing: Determines the best path for packets from source to destination across different networks.
* Packet Forwarding: Moves packets from an input interface to an output interface based on routing tables.
* Protocols: IP, ICMP, IGMP.
* Transport Layer (Layer 4):
* End-to-End Communication: Provides logical communication between application processes running on different hosts.
* Port Numbers: Used to identify specific application processes on a host.
* TCP (Transmission Control Protocol): Connection-oriented, reliable, flow control, congestion control, full-duplex, uses sequence numbers and acknowledgements (ACKs). Supports piggybacking of ACKs.
* UDP (User Datagram Protocol): Connectionless, unreliable, minimal overhead.
* The typical chronological order for fetching a webpage:
1. DNS Request: Resolve the web server's hostname to its IP address.
2. TCP SYN: Initiate a TCP connection (three-way handshake).
3. HTTP GET (Index Page): Request the main webpage content.
4. HTTP GET (Embedded Objects): Request images, scripts, etc., embedded in the page.
* IP Addresses (Logical): The source IP and destination IP addresses remain constant from the original sender to the final receiver (end-to-end).
MAC Addresses (Physical): The source MAC and destination MAC addresses change at each hop. The destination MAC address at any point is that of the next hop* (e.g., the router's interface MAC address, or the final destination's MAC if on the same segment).
* Propagation Delay (): Time for a signal to travel from sender to receiver.
* Transmission Delay (): Time taken to push all bits of a packet onto the link.
* Total Time to Receive: For a single packet, it's typically (ignoring processing and queuing delays for simplicity in many problems).
* Switches (Layer 2): Forward frames based on MAC addresses, learn MAC addresses by observing incoming frames, create collision domains per port.
* Routers (Layer 3): Forward packets based on IP addresses, connect different networks, create broadcast domains per interface.
* ARP: Resolves IP to MAC.
* RARP: Resolves MAC to IP (less common now).
* DHCP: Dynamically assigns IP addresses.
* NAT: Translates private IP addresses to public IP addresses.
* ICMP: Used for error reporting and network diagnostics (e.g., `ping`).