mentor prep Flashcards
narrow waist of the internet
IP layer connects various networks and applications
IP remains consistent and universal across the entire network
switching <-> routing
switching - forwarding packets at data link layer
routing - directing packets between different networks
non-transparent fragmentation
packets are fragmented without informing the receiver
transparent fragmenting
packets are reassembled at each hop
avoiding fragmentation
notify the sender to send small packets
distance vector routing
Nodes share their distance vector(the distances or cost to all of the nodes in the network) periodically to their neighbours
protocol example: RIP (Routing Information Protocol)
count to infinity
a routing problem in distance-vector routing protocols like RIP (Routing Information Protocol). When a network node fails, nodes that rely on it may continuously increase their distance metric values (hop counts) to other destinations, leading to a situation where the network fails to converge.
link state routing
a type of routing algorithm where routers exchange information about their directly connected links to build a complete network map
OSPF
interior gateway protocol used within a single autonomous system (AS) to exchange routing information and determine the best paths (shortest paths) between routers
BGP
an exterior gateway protocol used to exchange routing and reachability information between different autonomous systems on the internet
IPv4 <-> IPv6
IPv4
- 32 bit
- ~4.3 billion addresses
IPv6
- 128 bit
NAT
used to translate private IP addresses (used within a local network) to public IP addresses (used on the internet)
This allows multiple devices on a local network to share a single public IP address for communication with external networks
transport layer manages:
data segmentation
error correction
and flow control
establishes connections
manages data transfer
provides reliable communication services
three-way handshake
fundamental process used in TCP to establish a connection between two devices over an IP network
It ensures both ends are ready to send and receive data before actual data transmission begins, involving three steps: SYN, SYN-ACK, and ACK.
purpose of using sliding window protocols
to manage transmission of frame and ensure reliable data transfer
They allow multiple frames to be sent before needing an acknowledgment for the first one, improving efficiency and ensuring that data is correctly received
TCP <-> UDP
TCP ensures reliable and ordered data delivery through error checking, retransmission of lost packets, and flow control
UDP is a connectionless protocol that does not offer these features, making it faster but less reliable than TCP
main function of DNS
To translate domain names to IP addresses
HTTP as the narrow waist
HTTP is a foundational protocol that all other web protocols are built over
802.11 protocol is in
the link layer
IP is in
the network layer
UDP is in
the transport layer
IMAP is in
the application layer
Ethernet is in
the link layer
stop-and-wait
sliding window with window size =1
Huffman encoding
lossless data compression algorithm
assigns variable-length codes to input characters, with shorter codes for more frequent characters
The process involves building a binary tree called the Huffman tree, where each leaf node represents a character from the input and its frequency. The resulting codes minimise the total length of the encoded message
forward error correction
error control where the sender adds redundant data (error-correcting code) to the message
this allows the receiver to detect and correct errors without needing a retransmission
commonly include: Hamming codes, Reed-Solomon codes, convolutional codes
QUIC
Quick UDP Internet Connections
transport layer protocol developed by google
provides security equivalent to TLS
reduced connection and transport latency
combines multiplexing, low-latency connection establishment and congestion control
WebSocket
communication protocol
providing full-duplex channels over a single TCP connection
use for real-time web applications, allowing a persistent connection between the client and server for continuous data exchange without the overhead of HTTP request
CDNs
Content Delivery Networks
distributed networks of servers that deliver web content to users based on their geographic location
improve the performance, availability, and security of web services by caching content at multiple locations, reducing latency and load on the origin server
SMTP
Used to send emails from a client to a server or between servers
IMAP
Used by email clients to retrieve messages from a mail server, allowing for the management of emails directly on the server
max-min fairness
an allocation principle used in network resource management
It aims to maximise the minimum resource allocation among all users
Resources are allocated in such a way that no user can receive more without reducing the allocation of another user who has an equal or smaller allocation
route aggregation
or route summarisation
a method used to combine multiple IP address routes into a single route
reduces the size of the routing table and improves the efficiency of the routing process by representing a block of IP addresses with a single entry
two armies problem
demonstrates the impossibility of achieving guaranteed coordination in the presence of communication uncertainty, as neither side can be sure that their messages have been received and acknowledged
network layer
third layer in the OSI model
responsible for logical addressing, routing, and forwarding of packets across different networks
key functions: determining the best path to the destination and handling packet switching and routing through intermediate routers
link state routing
a type of routing protocol in which routers share information about their directly connected links and build a complete map of the network topology
Each router independently calculates the best path to every destination using algorithms like Dijkstra’s
Examples include OSPF (Open Shortest Path First) and IS-IS (Intermediate System to Intermediate System)
sliding window protocols
used in data transmission to control the flow and ensure reliable delivery of packets. The sender can send multiple frames before needing an acknowledgment for the first one, maintaining a “window” of frames that can be sent
This improves efficiency and throughput compared to stop-and-wait protocols
ECN and RED
methods to signal congestion
both require transport layer to do it
ECN (explicit network notification)
works by marking packets instead of dropping them when it predicts the onset of congestion. However, for ECN to work effectively, the transport layer protocols must be able to recognize these marked packets and react accordingly (usually by reducing the sending rate), meaning they must take action to prevent further congestion
RED (Random early detection)
works by randomly dropping packets before actual congestion occurs, based on average queue size. This triggers transport layer protocols’ built-in loss recovery and congestion control mechanisms (for example, TCP will reduce its sending rate when it detects packet loss), meaning that, in a sense, it also requires action from the transport layer to prevent congestion
pure store-and-forward routers
they wait until they have received the entire packet before forwarding it. Therefore, it’s possible that the first bytes of a packet are forwarded while the last bytes are still arriving at the router. This behaviour contrasts with cut-through switching, where forwarding begins as soon as the destination address is read, without waiting for the entire packet to arrive
IP encapsulation or IP tunnelling
an IP packet is encapsulated within another IP packet. The TTL (Time To Live) value of the inner datagram will not be decremented at each hop; instead, the outer TTL value will be decremented. This is because each router along the path decrements the TTL of the outer packet, while the inner packet remains unchanged until it reaches the final destination
SMTP, the simple mail transfer protocol, can be used for both sending and receiving of email, but we also use protocols like POP3 and IMAP for receiving
Distance vector routing typically requires less memory and computational resources than link state routing. This is because in distance vector routing, a router only needs to know the next hop and distance or cost for each destination, which is a smaller amount of information than link state routing requires.
sink tree
A sink tree (/source tree) for a destination is the union of all shortest paths towards the destination
forwarding table
lists next hop for each destination
dv <-> ls
dv
- slow convergence
- excellent scalabilty
ls
- fast convergence
- modereate scalability
aggreagtion
Externally join multiple more specific prefixes → one large/less specific prefix
ARP
Communication protocol used for discovering the link layer address, (e.g. MAC address) associated with a given network layer address, (e.g. IPv4 address)
DHCP
Network managmement protocol used on IP Networks for autmatically assigning IP addresses and other communication paramters to devices connection to the network.
discovery
used by IP
Find the largest packet that fits on the network path and use it