Module 12 Vocab Flashcards
(47 cards)
Denial of Service Attacks
bad attackers try to overwhelm a web server by making requests at the same time, using up all the resources on the web server; it can often be difficult to distinguish the fake traffic from legitimate network traffic
OSI Model
a formal, standard representation of networking that splits the network functionality into seven layers.
Event Driven Programming
rather than using blocking system calls, event-driven programming allows higher performance and resource utilization by allowing functionality to continue or sleeping until the desired event occurs
Data Link Layer
determines how the raw bytes should be transferred over the physical links. In particular, the link layer puts raw bytes into messages, performs error detection and correction in transferred data, includes functions for reliable delivery, and determines where and when to send the data over the links.
Physical Layer
includes the actual wires and wireless links that move bits between two physical systems
Internet Model
an informal representation of networking that splits the network functionality into five layers. This model groups the “application, presentation, and session” layers of the OSI model together.
Network Layer
includes IP and message routing within the network
Transport Layer
includes the TCP and UDP protocols; creates network communication channels between different processes on the same or on different machines through the use of sockets
Application Layer
includes all the user level processes that require network communication. OSI model splits this into three layers: session, presentation, and application.
Interface
accepted form of representing and accessing data such that the user can decode the information
Protocol
rules and formats that govern communication between two entities over the network or network boxes
Data Frame
grouping of raw data bits; the recipient can identify the frames by the particular sequences of bits that represent the start and end
MAC Address
unique address that identifies your network card; 48-bit address space
Packet
a method of wrapping data with its control information (e.g. its error detection codes, destination, etc.)
Router
a networking device that is connected to multiple network links and determines where to send a packet based on its
Switch
within a given network, switches forward messages between devices
Encapsulation
each layer can only see the service provided by the layer immediately below it
What are the main steps a web server performs when handling a request?
A: Accept connection → Read request → Look up file → Send response (headers + data)
What does it mean when a system call is “blocking”?
A: The program pauses and waits until the operation (like read() or accept()) is complete.
Why are single-threaded servers inefficient?
A: They can only handle one client at a time and become unresponsive under load or DoS attacks.
How does multi-threading improve a web server’s performance?
A: By creating a new thread for each client, it allows concurrent request handling and better CPU utilization.
What are the risks of using too many threads?
A: High overhead from context switching, system resource exhaustion, and concurrency issues like race conditions.
How can race conditions be avoided in multi-threading?
A: Use synchronization tools like mutexes, semaphores, or locks.
What is event-driven asynchronous programming?
A: A non-blocking model where a single-threaded event loop responds to events using registered callbacks.