whole 231

0.0(0)
Studied by 2 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/336

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 4:58 PM on 4/18/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

337 Terms

1
New cards

What is Virtualisation?

gives each process the illusion of exclusive resource access (time + space sharing)

2
New cards

What is CPU Virtualisation?

OS runs multiple processes by time-sharing the CPU via a scheduler

3
New cards

What are the Components of the Cloud?

Virtual Machines, containers ans server clusters

4
New cards

What is the Goal of the Cloud?

on-demand, scalable resources with hidden complexity and isolation

5
New cards

What is UDP?

fast, connectionless, low-overhead transport protocol

6
New cards

How is UDP Connectionless?

  • no handshaking between UDP sender, receiver

  • each UDP segment handled independently of others

7
New cards

Why use UDP?

  • no setup

  • low delay

  • small headers

8
New cards

What are the Sender Actions?

  • is passed an application-layer message

  • determines UDP segment header fields values

  • creates UDP segment

  • passes segment to IP

9
New cards

What are the Receiver Actions?

  • receives segment from IP

  • checks UDP checksum header value

  • extracts application-layer message

  • demultiplexes message up to application via socket

10
New cards

What does the Sender do at the Transport Layer?

  • is passed an application-layer message

  • determines segment header fields values

  • creates segment

  • passes segment to IP

11
New cards

What does the Receiver do at the Transport Layer?

  • receives segment from IP

  • checks header values

  • extracts application-layer message

  • demultiplexes message up to application via socket

12
New cards

What are the 2 Transport Protocols?

TCP and UDP

13
New cards

What are the Differences between the Transport and Network Layers?

transport layer:

  • communication between processes

  • relies on, enhances, network layer services

network layer:

  • communication between hosts

14
New cards

What is TCP - Transmission Control Protocol?

  • reliable

  • ordered

  • connection oriented transport protocol

15
New cards

What is Throughput?

the rate (bits/second) at which bits are transferred from a sender to a receiver

16
New cards

What is Instantaneous Throughput?

rate at given point in time

17
New cards

What is Average Throughput?

rate over a period of time

18
New cards

What is Peak Throughput?

highest instantaneous throughput rate seen so far

19
New cards

How do we Measure Throughput?

using iperf - send known data between client and server and calculate rate

20
New cards

How do we Calculate Rate in Iperf?

data / time

21
New cards

What are Threads?

lightweight process sharing memory with others

22
New cards

What does each Thread have?

own PC, registers, stack

23
New cards

What is a Process?

program in execution with its own memory and state

24
New cards

What does a Process include?

memory, registers, PCB, threads

25
New cards

What do Condition Variables do?

coordinate thread execution

26
New cards

What does the Condition Variable cond.wait() do?

release the lock and suspends

27
New cards

What does the Condition Variable cond.notify() do?

wakes one waiting thread

28
New cards

What is a Sentinel Value?

a special marker placed in the shared queue to signal consumers to stop when production is finished

29
New cards

What is Congestion?

too much data for network capacity

30
New cards

What does Congestion lead to?

delay or loss

31
New cards

What are the goals of TCP Congestion Control?

  • efficiency

  • distributedness

  • fairness

32
New cards

What are the different Approaches to Congestion Control?

  • end-end congestion control

  • network-assisted congestion control

33
New cards

What is End-End Congestion Control?

  • no explicit feedback from network

  • congestion inferred from observed loss, delay

34
New cards

Which Congestion Control Approach does TCP take?

end-end

35
New cards

What is Network-Assisted Congestion Control?

  • routers provide direct feedback to sending/receiving hosts with flows passing through congested router

  • may indicate congestion level or explicitly set sending rate

36
New cards

What is AIMD?

senders can increase sending rate until packet loss (congestion) occurs, then decrease sending rate on loss event

<p>senders can increase sending rate until packet loss (congestion) occurs, then decrease sending rate on loss event</p>
37
New cards

What is Additive Increase in AIMD?

increase sending rate by 1 maximum segment size every RTT until loss detected

38
New cards

What is Multiplicative Decrease in AIMD?

cut sending rate in half at each loss event

39
New cards

What does it mean when we say AIMD has Sawtooth Behaviour?

probing for bandwidth

40
New cards

Why AIMD?

has been shown to

  • optimise congested flow rates network wide

  • have desirable stability properties

41
New cards

What is System Design?

combining resources into an efficient system

42
New cards

What is System Optimisation?

maximise performance metrics under resource constraints

43
New cards

What are Common Optimisation Resources?

  • time

  • space

  • computation

  • cost

  • labour

44
New cards

What are the Constraints to System Optimisation?

  • performance

  • scalability

  • resilience

  • cost

  • maintainability

  • sustainability

45
New cards

What is a System Bottleneck?

most constrained element in a system

46
New cards

What Improves when you Remove a Bottleneck?

performance metrics

47
New cards

What is Multiplexing?

use the same resource to service multiple requests without interference

48
New cards

What are the Types of Multiplexing?

  • time - CPU, I/O

  • space - memory

  • frequency - radio comms

49
New cards

What is Pipelining?

overlapping sequential tasks

50
New cards

What is Batching?

processing tasks together to reduce overhead

51
New cards

When does Batching work?

when 'overhead for N tasks' < 'N time overhead for one task'

52
New cards

What is Binding?

translate an abstraction into an instance

53
New cards

What is Indirection?

use a reference to access something, instead of directly

54
New cards

What does Indirection provide and why?

flexibility because the reference can change without affecting the higher-level system

55
New cards

What is Packet Switching?

data split into packets and forwarded independently

56
New cards

What are the Key Characteristics of Packet Switching?

store and forward, delays and possible loss

57
New cards

What is Store and Forward?

entire packet must arrive at router before it cam be transmitted on next link

58
New cards

What is Packet Processing Delay?

time a network takes to examine, process and transmit a packets header

59
New cards

What is Packet Transmission Delay?

takes L/R seconds to transmit L-bit packet into link at R bps

60
New cards

What is Packet Queuing and Loss?

if arrival rate to link exceeds transmission rate of link for some period of time

  • packets will queue, waiting to be transmitted on output link

  • packets can be dropped (lost) if memory (buffer) in router fills up

61
New cards

What does a Router do?

forwards packets between networks

62
New cards

What is Forwarding?

move packet locally

63
New cards

What is Routing?

determine path globally

64
New cards

What is Circuit Switching?

dedicated resources reserved for communication

65
New cards

What is Frequency Division Multiplexing (FDM)?

  • optical electromagnetic frequencies divided into narrow frequency bands

  • each call allocated its own band, can transmit at max rate of that narrow band

<ul><li><p>optical electromagnetic frequencies divided into narrow frequency bands</p></li><li><p>each call allocated its own band, can transmit at max rate of that narrow band</p></li></ul><p></p>
66
New cards

What is Time Division Multiplexing (TDM)?

  • time divided into slots

  • each call allocated periodic slot, can transmit at max rate of wider frequency band only during its time slot

<ul><li><p>time divided into slots</p></li><li><p>each call allocated periodic slot, can transmit at max rate of wider frequency band only during its time slot</p></li></ul><p></p>
67
New cards

What is Packet Switching at Risk of?

excessive congestion

68
New cards

What is Packet Switching good for?

‘bursty’ data - sometimes has data to send, but at other times not

69
New cards

What is a Socket?

interface between application and transport layer

70
New cards

How do we Identify a Connection?

5 tuple

71
New cards

What is a 5 tuple?

2 IP addresses, 2 port numbers, and the underlying transport protocol being used

72
New cards

What is the Difference between Well-Known and Ephemeral Ports?

  • typically servers have a well-known

  • client picks an unused ephemeral port

73
New cards

How is Process-to-Process Communication Enabled?

through socket-to-socket communication

74
New cards

What Calls can be used on a Socket?

  • standard API calls (system calls) are used - link open(), read(), write(), close()

  • plus some other socket-specific calls - send(), recv(), bind(), etc

75
New cards

What does the Router look like?

  • routing, management control plane (software) operates in millisecond time frame

  • forwarding data plane (hardware) operates in nanosecond timeframe

<ul><li><p>routing, management control plane (software) operates in millisecond time frame</p></li><li><p>forwarding data plane (hardware) operates in nanosecond timeframe</p></li></ul><p></p>
76
New cards

What are the Input Port functions?

  • decentralised switching

  • longest prefix matching

<ul><li><p>decentralised switching</p></li><li><p>longest prefix matching</p></li></ul><p></p>
77
New cards

What is Decentralised Switching?

using header field values, lookup output port using forwarding table in input port memory (“match plus action”)

  • input port queuing

  • destination-based forwarding

78
New cards

What is the Goal of Decentralised Switching?

complete input port processing at ‘line speed’

79
New cards

What is Input Port Queuing?

if datagrams arrive faster than forwarding rate into switch fabric

80
New cards

What is Destination-Based Forwarding?

forward based only on destination IP addresses

81
New cards

What is Longest Prefix Matching?

choose routing entry with most specific match

82
New cards

What is Switching Fabrics?

transfer packet from input link to appropriate output link

83
New cards

What is Switching Rate?

rate at which packets can be transfer from inputs to outputs

84
New cards

What are the 3 types of Switching Fabrics?

  • memory

  • bus

  • interconnection network

85
New cards

What is Head-of-the-Line (HOL) Blocking?

queued datagram at front of queue prevents others in queue from moving forward

<p>queued datagram at front of queue prevents others in queue from moving forward</p>
86
New cards

What is Output Port Queuing?

buffering required when datagrams arrive from fabric faster than link transmission rate

87
New cards

What are the Principles of RDT?

sender, receiver do not know the “state” of each other, e.g., was a message received?

  • unless communicated via a message

<p>sender, receiver do not know the “state” of each other, e.g., was a message received?</p><ul><li><p>unless communicated via a message</p></li></ul><p></p>
88
New cards

What are Interfaces?

knowt flashcard image
89
New cards

What are the Functions for Interfaces?

  • rdt_send()

  • udt_send()

  • rdt_rev()

  • deliver_data()

90
New cards

How do we get started with RDT?

  • incrementally develop sender, receiver sides of RDT protocol

  • consider only unidirectional data transfer

    • but control info will flow in both directions

  • use finite state machines (FSM) to specify sender, receiver

91
New cards

What is rdt1.0?

reliable transfer over a reliable channel

92
New cards

How do we Detect Errors?

checksum

93
New cards

What happens in a Channel with Bit Errors?

  • underlying channel may flip bits in packet

  • checksum to detect bit errors (i.e., corrupt packets)

  • stop and wait - sender sends one packet, then waits for receiver response

94
New cards

How do we Recover from Bit Errors?

sender re-transmits the packet on receipt of NAK

95
New cards

What is a Negative Acknowledgement (NAK)?

receiver explicitly tells sender that the packet had bit errors (errors detected based on the checksum)

96
New cards

What is an Acknowledgement (ACK)?

receiver explicitly tells sender that the packet was received OK (no bit errors)

97
New cards

What happens if ACK/NAK corrupted?

  • sender doesn’t know what happened at receiver

  • can’t just re-transmit - possible duplicate

98
New cards

How do we Handle Duplicates?

  • sender retransmits current packet if ACK/NAK corrupted

  • sender adds sequence number to each packet

  • receiver discards (doesn’t deliver up) duplicate packet

99
New cards

How does the Sender Handle Corrupted ACK/NAKs?

knowt flashcard image
100
New cards

How does the Receiver Handle Corrupted ACK/NAKs?

knowt flashcard image