Section 11: Networking Concepts - bmitch26/Operating-Systems GitHub Wiki

Networking includes the principles and practices involved in the design, implementation, and operation of networks. This includes: • Data Transmission: Methods for sending data (wired/wireless). • Network Topology: Physical and logical arrangement of network devices. • Addressing: Identifying devices (e.g., IP addresses, MAC addresses). • Protocols: Rules and standards for communication (e.g., TCP/IP, HTTP).

"Basics of Computer Networking." GeeksforGeeks, n.d., https://www.geeksforgeeks.org/basics-computer-networking/. Accessed 21 Nov. 2024.

Network Protocols (TCP/IP)

A suite of communication protocols used to interconnect devices on a network, especially the internet. Key layers include: • Transmission Control Protocol (TCP): Ensures reliable, ordered delivery of data. • Internet Protocol (IP): Handles addressing and routing of data packets between devices.

image

"TCP/IP Fundamentals." The Geek Stuff, n.d., https://www.thegeekstuff.com/2011/11/tcp-ip-fundamentals/. Accessed 21 Nov. 2024.

Socket Programming

A method of enabling communication between two devices (or processes) over a network using sockets. • Sockets: Endpoints for sending/receiving data. • Usage: Building applications like chat programs, web servers, and file transfer systems.

image

"Socket Programming in C/C++." GeeksforGeeks, n.d., https://www.geeksforgeeks.org/socket-programming-cc/. Accessed 21 Nov. 2024. Example: TCP sockets (for reliable connections) and UDP sockets (for fast, connectionless communication).

Network File System (NFS)

A distributed file system protocol that allows users to access files over a network as if they were on their local machines. Use Case: Sharing files among systems in a network. Key Features: Transparency, central management, and compatibility with various operating systems.

image

"Network File System (NFS)." GeeksforGeeks, n.d., https://www.geeksforgeeks.org/network-file-system-nfs/. Accessed 21 Nov. 2024.

Remote Memory Access (RMA)

A technology allowing a computer to directly access the memory of another computer in a network without involving the operating system or CPU on the remote machine. Usage: High-performance computing and distributed systems. Protocols: RDMA (Remote Direct Memory Access).

image

"Remote Memory Access (RMA) Module and Router Connection." ResearchGate, n.d., https://www.researchgate.net/figure/Remote-memory-access-RMA-module-and-router-connection_fig2_261396665. Accessed 21 Nov. 2024.

Packet Scheduling

The process of determining the order in which data packets are transmitted over a network to optimize performance. Goals: Reduce latency, ensure fairness, and optimize bandwidth usage. Examples: First-Come, First-Served (FCFS), Round-Robin, and Priority Scheduling.

image

"A Packet Scheduler Model." ResearchGate, n.d., [https://www.researchgate.net/figure/A-packet-scheduler-model_fig2_334364086. Accessed 26 Nov. 2024](https://www.researchgate.net/figure/A-packet-scheduler-model_fig2_334364086. Accessed 21 Nov. 2024.

Fair Queuing

A packet scheduling algorithm that ensures fair bandwidth allocation among flows in a network by maintaining separate queues for each flow. Key Principle: Equal opportunity for all data flows to be transmitted. Application: Prevents bandwidth monopolization.

image

"Queuing." Computer Networking: A Systems Approach, n.d., https://book.systemsapproach.org/congestion/queuing.html. Accessed 21 Nov. 2024.

Weighted Fair Queuing (WFQ)

An extension of fair queuing where bandwidth is distributed proportionally to predefined weights assigned to each flow. Key Feature: Prioritizes certain flows over others while maintaining fairness. Use Case: Quality of Service (QoS) in multimedia applications. These concepts form the backbone of networking, ensuring efficient, reliable, and fair communication in diverse systems and applications.

image

"Weighted Fair Queuing." ResearchGate, n.d., https://www.researchgate.net/figure/Weighted-Fair-Queuing_fig3_277615820. Accessed 21 Nov. 2024.