SE3314 Final Flashcards

1
Q

What are the 3 categories of a/v services?

A

Streaming stored, streaming live, interactive

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is digitization?

A

The conversion of analog signal into a stream of numbers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is pulse code modulation?

A

The process of converting from analog audio to compressed binary form sampling, quantization, and encoding

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is compression?

A

the process of coding that will effectively reduce the total number of bits needed to represent certain information

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is quantization?

A

Sampling in the amplitude/voltage dimension

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the Nyquist theorem?

A

If the highest frequency of a signal is F, sampling frequency should be 2F times per second

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How is data rate calculated?

A

sampling frequency * quantization rate (generally 8 or 16 bits/sample)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How many bits are required for a pixel of a color image?

A

24 (8 for black and white)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the 2 methods of audio compression?

A
  • predictive encoding

- perceptual encoding

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How large are the blocks in greyscale JPEG compression?

A

8x8 pixels (64)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the steps for JPEG compressoin?

A
  1. DCT
  2. Quantization
  3. Compression
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the DC value in a discrete cosine transform?

A

The value in cell (0,0) of the T table

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the process of JPEG quantization?

A

Values in the T table are divided by a constant, and the fraction is dropped

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Why is JPEG considered lossy?

A

Because of quantization, which is not completely reversible

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What direction is the table read during JPEG compression?

A

Diagonally in a zigzag from the top left

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How many 1’s did I give Ouda on his eval for this course

A

All of them

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is the penalty for showing up late to the exam?

A

-4% for every 35 seconds that you’re late

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What are the types of video compression?

A
  • spatial compression

- temporal compression

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is spatial compression?

A

Compress each frame individually (ie using JPEG)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What are the categories of frames in a temporal compression?

A
  • I frame (independent)
  • P frame (predicated
  • B frame (bidirectional)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is an I-frame?

A
  • not related to any other frame

- must appear periodically at regular intervale

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Why do we need I-frames

A

They serve as a starting point for further encoding

(if you have a better answer let me know)-Dylan

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is a B-frame?

A

Related to preceding AND following I/P frames

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What is a P-frame?

A
  • Related to preceding I/P frame
  • changes cannot cover big segment
  • carry much less info than other frames
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

What are the 4 methods for streaming stored/live AV?

A
  1. Web server
  2. Web server w/ metafile
  3. Media server
  4. Media server & RTSP
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Describe how the web server approach works

A
  • Client uses GET to download text file
  • Client uses help application (media player) to play
  • No streaming, file must be downloaded completely
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Describe how the web server + metafile approach works

A
  • media player is directly connected to web server
  • server stores AV file and metafile (has info about AV file)
  • browser and media player both use HTTP (TCP)

PROBLEM: TCP is not appropriate for streaming

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Why is TCP not appropriate for streaming AV?

A

Because of its retransmission procedure

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Describe how the media server approach works

A
  • client uses GET for metafile, passes to media player

- media player uses URL in metafile to download AV file from media server (using any protocol using UDP)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

What does RTSP do?

A

Real-time streaming protocol:

  • allows player to control transmission (pause, rewind)
  • messages sent out-of-band
  • different port (544) than the stream, can use UDP or TCP
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Describe how media server & RTSP approach works

A
  • Setup like media server approach
  • media players send SETUP to connect, then PLAY to begin download
  • can send other messages to pause, rewind, etc.
  • sends TEARDOWN to break connection
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

What causes jitter?

A

Introduced by delay between packets

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

When is time relationship preserved?

A

When packets have equal delay

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

What are some solution to jitter?

A
  • timestamp

- playback buffer + playback delay

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

What is multicasting?

A

When data is distributed to several destination (like online radio broadcast)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

What is mixing in the context of interactive AV?

A

Combining several streams into 1 stream (like conference call)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Why is UDP not suitable for interactive AV?

A

Does not provide timestamping, sequencing or mixing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

How does RTP work?

A
  • data encapsulated in an RTP packet

- RTP packet encapsulated in a UDP segment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

What are the 2 approaches to RTP?

A
  1. RTP in transport layer (use existing libraries, RTP is a sublayer of transport layer)
  2. RTP in application layer: application creates RTP packets, sends into a UDP socket interface
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

What are the RTP header fields?

A
  • payload type (type of encoding)
  • sequence no
  • timestamp
  • synchronization source identifier (SSRC defines source)
  • contributing source identifier (if more than 1 source, the SSRC is the mixer, remaining sources are contributors)
  • padding, extension, contributor count
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

What was Napster?

A

Like uber, but for naps

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

What is perceptual encoding?

A

Uses psychoacoustics and limitations in our auditory system to compress audio (used for music)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

What is predictive encoding?

A

Audio compression based on differences between samples (used for speech)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

What message is sent to the media server to end the connection?

A

TEARDOWN

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

In what situation is RTCP used?

A

(Real time control protocol): used with RTP for multicasting

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

What are the different types of RTCP control packets?

A
  • sender report
  • receiver report
  • source description message
  • bye message
  • application-specific message
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

What is a receiver report?

A

An RTCP control packet sent by passive participants, informs others of quality of service

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

What is included in a source description message?

A

Email and name of sender, the app that generates the RTP stream

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

What is a sender report?

A

An RTCP control packet sent by sender, includes transmission/reception stats, wall clock timestamp (used for synchronization)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

What port(s) is selected for RTP?

A

Any even numbered UDP port

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

What port(s) is selected for RTSP?

A

Uses a temporary port, must be one higher than RTP (odd number)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

What are the different flow characteristics?

A
  • reliability
  • delay
  • jitter
  • bandwidth
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

Define delay (as a flow characteristic)

A

total time from packet sent to received

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

Define jitter (in the context of quality of service)

A

Variation in delay for packets in the same flow

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

Define reliability (in the context of quality of service)

A

Amount of lost packets (due to network loss, end-end delay loss)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q

What is bandwidth?

A

Number of bits / second

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
57
Q

What is the goal of implementing flow classes?

A

Partition traffic on the same link into groups, giving some groups higher priority

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
58
Q

What are the 3 techniques to improve quality of service?

A
  • recover from packet loss
  • scheduling
  • traffic shaping
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
59
Q

What are the two schemes for forward error correction?

A
  • add redundant chunks

- send redundant lower quality stream

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
60
Q

What are the two methods for recovery from packet loss

A
  • forward error correction (FEC)

- interleaving

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
61
Q

How many chunk can be lost using redundant chunks so that the original block can be reconstructed?

A

At most 1 chunk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
62
Q

What are the cons of adding a redundant chunk?

A

Increased bandwidth by 1/n

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
63
Q

How would you determine the size of n when implementing the redundant chunks scheme for FEC?

A

Tradeoff:

  • Large n: less bandwidth waste
  • Small n : lower probability of packet loss, shorter playout delay
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
64
Q

What are the advantages of interleaving?

A
  • If packet lost, still have most of every chunk

- no redundancy overhead

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
65
Q

What is the disadvantage of interleaving?

A
  • increases latency (via playout delay)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
66
Q

What are the different scheduling approaches?

A
  • FIFO queuing
  • Priority queuing
  • Weighted fair queuing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
67
Q

Can overflow occur using a FIFO queuing approach?

A

YES, if arrival rate> processing rate

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
68
Q

How many queues are there in a priority queuing system?

A

One for each prioirty class

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
69
Q

What is the drawback of priority queiung?

A

Starvation: a continuous flow of high-priority packets means low priority queue will never be served

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
70
Q

How does weighted fair queuing work?

A
  • queues weighted on priority
  • process # of packets based on priority (ie if priority is 3, process 3 packets from queue)
  • switch queues in round robin fashion
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
71
Q

What are the different approaches to traffic shaping?

A
  • leaky bucket
  • token bucket
  • hybrid
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
72
Q

What is the goal of traffic shaping?

A
  • control amount and rate of traffic to a network

- network knows what to expect, determine when to send, monitor flow of traffic

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
73
Q

Describe leaky bucket

A

Remove packets from FIFO queue at constant rate

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
74
Q

What is the advantage of leaky bucket?

A

No jitter

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
75
Q

What are the disadvantages of leaky bucket?

A
  • May drop packets if queue overflows

- Host is not compensated for idle time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
76
Q

Describe token bucket

A
  • host accumulates n token every clock tick when not transmitting
  • host pays 1 token for every byte transmitted
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
77
Q

What is the advantage of token bucket?

A

Allows bursty traffic at regulated maximum rate (max rate = rate of tokens earned )

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
78
Q

How would you combine leaky and token buckets? Why would you?

A

Place leaky bucket after token bucket. Rate of leaky bucket must be > rate of tokens dropped.

Why: handles bursty traffic but processes at constant rate

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
79
Q

What is a VLAN?

A

Virtual LAN: broadcast domains defined by switch port rather than network address

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
80
Q

T/F: each switch port can be assigned to multiple VLANs

A

F: each switch port can be assigned to only 1 VLAN at a time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
81
Q

T/F: each switch can be connected to multiple VLANs

A

T

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
82
Q

T/F: workstations connected to the same switch but in different VLANs can communicate with each other

A

F

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
83
Q

What do you call the area between switches?

A

switch fabric

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
84
Q

As a frame moves from switch to switch within the switch fabric, what must each switch be able to identify?

A

The destination VLAN

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
85
Q

How is the destination VLAN for a frame determined?

A

The VLAN ID of destination is appended to the frame by 1st switch in path, removed by last switch - this is called frame tagging/coloring

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
86
Q

What is the disadvantage of VLANs?

A

Might be tied to a specific vendor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
87
Q

What are the advantages of VLANs?

A
Switches are: 
- cheaper
- easier to administrate
- higher performance
than routers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
88
Q

If switches are so dandy, why do we still need routers?

A
  • filter WAN traffic
  • route traffic between seperate networks
  • route packets between VLANs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
89
Q

What is Trunking?

A

connecting 2 switches together - required for VLANs spanning multiple switches

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
90
Q

What do trunk ports identify?

A

Which ports are connected to other switches

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
91
Q

T/F: Trunk ports are automatically members of the most recently created VLAN on the switch.

A

F: Trunk ports are automatically members of ALL VLANs on the switch.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
92
Q

What is DTP?

A

Dynamic Trunking Protocol

- used by switches to detect trunk ports and select trunking protocol to use

93
Q

What is VTP?

A

Virtual Trunking Protocol

- maintains configuration consistency throughout network

94
Q

What are the 3 VTP modes?

A
  • server
  • client
  • transparent
95
Q

Which VTP mode is the default?

A

server

96
Q

Describe VTP client mode

A
  • receives changes from server, passes to other switches

- cannot modify configuration

97
Q

Describe VTP server mode

A
  • modifies VLAN configuration
98
Q

Describe VTP transparent mode

A
  • passes VTP info to other switches

- can modify configuration, but applies only to local switch

99
Q

What problems arise due to redundant paths?

A

Bridging loops:

  • broadcast storms
  • multiple frame transmission
  • MAC address database instability
100
Q

What is spanning tree protocol?

A

One bridge for each route is assigned as route bridge, making it the only one that can forward packets

101
Q

What are the benefits of STP?

A
  • eliminate bridging loops
  • provide redundant paths
  • enables dynamic role configuration
  • recovers automatically from topology change or device failure
  • identifies optimal path between 2 devices
102
Q

What are the roles in STP?

A
  • Root bridge: selects routes & configures roles. 1 per network
  • Designated bridge - forwards packets, 1 per segment
  • Backup bridge - won’t forward packets
103
Q

What are BPDUs?

A

Bridge Protocol Data Units (type of packet)

- determine roles, verify neighbors functioning, recover from topology changes

104
Q

When are BPDUs sent?

A
  • On startup, sent out each port (to define roles)

- then periodically (to ensure connectivity and discover topology changes)

105
Q

What are the 5 port states in STP?

A
  1. Disabled
  2. Blocking
  3. Listening
  4. Learning
  5. Forwarding
106
Q

What is the default port state in STP?

A

Blocking

107
Q

When would a port enter the listening state?

A
  • only temporarily, transitioning from blocking to learning

- On topology change, all bridges go to listening

108
Q

T/F: a port can be in both the listening and learning states

A

F: it can be in both FORWARDING and learning states

109
Q

What port state are backup bridges in?

A

Blocking

110
Q

What does a blocking port do?

A

Receives and processes only packets sent to all bridges

111
Q

What does a learning port do?

A
  • receiving packets and building bridge database (associating MAC addresses with ports)
  • when timer expires, goes to Forwarding
112
Q

What are the disadvantages of P2P networks?

A
  • peer more susceptible to hackers
  • hard to enforce standards
  • cannot guarantee particular resource
  • difficult to prevent illegal downloads
  • enormous network traffic
113
Q

What are the advantages of P2P networks?

A
  • distributed workload
  • maximize system utilization
  • no central point of failure
  • scalability
114
Q

Describe the centralized topology

A

Client server pattern, directly connected 1-1

115
Q

What are the pros/cons of centralized topology?

A
  • Manageable, coherent, secure

- NOT extensible, fault tolerant, lawsuit-proof

116
Q

Describe the Ring topology

A
  • communication between nodes coordinates state-sharing (fail-over and load balancing)
  • works when machines are nearby on network, owned by single organization
117
Q

What are the pros/cons of ring topology?

A
  • manageable, coherent, fault tolerant, secure, scalable

- NOT extensible (only ring owner can add), lawsuit-proof

118
Q

What is the Network Time Protocol?

A

Protocol for synchronizing the clocks of computers over networks

119
Q

What are the pros/cons of hierarchical topology?

A
  • very scalable
  • NOT lawsuit-proof
  • 1/2 on everything else?
120
Q

Describe the decentralized topology

A
  • all peers communicate symmetrically, have equal roles
121
Q

What are the pros/cons of decentralized topology?

A
  • extensible, fault-tolerant, lawsuit-proof

- NOT manageable, coherent, secure, scalable (in practice)

122
Q

Describe the centralized + ring topology

A
  • server is a ring, for clients it appears centralized

- common for web apps

123
Q

What are the pros/cons of centralized + ring topology?

A
  • manageable, coherent, fault tolerant, secure, scalable

- NOT extensible or lawsuit-proof

124
Q

Describe the centralized + decentralized topology

A

Peers have a centralized relationship to a “supernode”, which has decentralized relationship to other supernodes

125
Q

What are the pros/cons of centralized + decentralized topology?

A

Extensible, fault tolerant, lawsuit-proof

NOT manageable, secure

126
Q

Which topologies are lawsuit proof?

A
  • decentralized

- centralized + decentralized

127
Q

Which topology is most scalable?

A

Hierarchical

128
Q

Which topology is best for P2P networks?

A

centralized + decentralized

129
Q

What are the challenges of P2P applications?

A
  • peer identification
  • routing protocols
  • network topology
  • peer discovery
  • protocols
  • quality of service
  • security
130
Q

What was the Napster P2P model?

A

-central directory connected 2 members who could share music files directly with each other

131
Q

How do new P2P systems avoid being shut down like Napster was?

A

They have no central directory or even server, nothing to shut down

132
Q

What is the Gnutella model?

A

Hop between peers until file is found, fastest computers at the core

133
Q

What was the motivation behind BitTorrent?

A

large proportion of freeloaders

134
Q

How does the BitTorrent model work?

A

each peer participating in the torrent downloads chunks from a peer that has it and uploads chunks to others that don’t have them

135
Q

What is a swarm?

A

Set of all peers in a torrent

136
Q

What is a seed?

A

A peer w/ complete content of a file

137
Q

What is a leech?

A

A peer w/ only part of a file

138
Q

T/F: BitTorrent uses DHT

A

T

139
Q

What is contained in a torrent file?

A
  • file name
  • # chunks, size
  • checksum
  • IP address of tracker
140
Q

T/F: A peer cannot leave the torrent until every peer in the swarm has all the pieces

A

F

141
Q

What are the different flags in BitTorrent?

A
  • choked / unchoked (as in, “you’re gonna choke on this exam”)
  • interested / uninterested (as in, “I am uninterested in the stupid shit”)
142
Q

What is the choked group in BitTorrent?

A

List of neighbors that the peer is not currently connected, but may be in the future

143
Q

What is optimistic unchoking?

A

Every 30 seconds, a random unchoked but interested neighbor is promoted to choked, to allow newly joined peer to receive pieces

144
Q

What is the rarest-first strategy in BitTorrent?

A

peer downloads pieces w/ fewest copies among neighbors

145
Q

At what layer are P2P protocols constructed?

A

Application layer

146
Q

What is a P2P overlay?

A

A collection of peer connections in P2P network

147
Q

What are the common features of P2P applications?

A
  • constructed at app layer
  • peers have unique ID
  • supports message-routing
148
Q

Describe unstructured P2P networks

A
  • Nodes linked randomly

- search is inefficient, query may not be solves

149
Q

Describe structured P2P networks

A
  • use predefined rules to link nodes (such as DHT)

- effective searches

150
Q

What is the address space size in DHT?

A

2^m (m usually 160)

151
Q

What is DHT?

A

Distributed Hash Table

152
Q

How is a node ID calculated in DHT?

A

node ID = hash(Peer IP)

153
Q

How is a key calculated in DHT?

A

key = hash(Object name)

154
Q

Describe the two strategies for storing objects in DHT

A
  1. Direct
    - object stored in node whose ID is closest (defined by proximity metric) to key
  2. Indirect
    - peers that owns object keeps it
    - reference to object stored in node whose ID is closest to key
155
Q

Which strategy for storing objects do most DHT systems use?

A

Indirect

156
Q

What is an unstructured overlay technology?

A

Nodes organized into random graphs with no constraints

- cannot find rare items efficiently, no guarantee that object will be found

157
Q

What are the different search methods in an unstructured overlay topology?

A
  • flood
  • expanding ring
  • random walk
158
Q

Describe the flood search approach

A
  • Send query to all neighbors, who then query all their neighbors
  • to prevent endless circulation: message ID or TTL
159
Q

Describe the expanding ring search approach

A

same as flood, but TTL starts small and grows if query not satisfied

160
Q

Describe the random walk search approach

A
  • query sent to a random neighbor, TTL decrements with every hop
  • can issue several queries in parallel
161
Q

What is a structured overlay topology?

A

Deterministic, provides guarantee to locate any object. Particular nodes assigned to hold particular content

162
Q

What are the challenges in building a structured overlay topology?

A
  • Distributed: want to distribute responsibility

- Adaptive: distribute to joining nodes, redistribute from leaving nodes

163
Q

What is key-based routing?

A
  • object ID is mapped to peer ID address space

- object request is routed to nearest peer

164
Q

Which overlay typology supports key-based routing?

A

Structured

165
Q

What do you call a P2P system using key-based routing?

A

Distributed Object Location and Routing System (DOLR) - e.g. DHT

166
Q

Pastry, Kademlia and Chord are examples of what?

A

Key-based routing protocols

167
Q

What hashing algorithm is used by Pastry?

A

SHA-1

168
Q

What is the size of m in Patry?

A

128

169
Q

What is the format for an identifier in patry?

A

n-digit string where n = m / b in base 2 ^ b

-m = 128, b = 4 (normally)

170
Q

How large is a pastry routing table?

A

n rows * 2^b collumns

171
Q

What does the row heading in a Pastry routing table represent?

A

The length of the common prefix that a node shares with N

172
Q

What does the column heading in a Pastry routing table represent?

A

The value of the first digit in a node after the common prefix with N

173
Q

What happens when multiple nodes could fit into the same cell of a Pastry routing table?

A

Choose the node closest to N (based on proximity metric)

174
Q

What is the proximity metric for Pastry?

A

It is application specific: could be number of hops, RTT, etc.

175
Q

How large is the leaf set in Pastry?

A

One row, 2^b cells

176
Q

What is contained in a Pastry leaf set?

A
  • left half contains closest nodes with smaller IDs than N

- right half contains closest nodes with larger IDs than N

177
Q

Describe how a lookup is executed in Pastry

A
  1. Check if key is in range of leaf set
    - if yes, ask that node
  2. Else, look in routing table, ask closest node
    - look for Table[p,v] where p is length of shared prefix, v is value in key after shared prefix
178
Q

For a pastry Join operation, what must be assume about the joining node X and known node N0?

A

Assume that X and N0 have no common prefix

179
Q

Describe the steps in a Pastry join

A
  1. N0 gives row 0 to X
  2. N0 calls lookup w/ X’s ID as key, forwards join to N1 whose ID is closest to key
  3. N1 gives row 1 to X
    4, Continue until routing table complete
  4. Last node gives leaf table to X
180
Q

What happens when a node detects a node in its leaf set is unresponsive?

A
  • if leaf node unresponsive, assume failed/left

- contact node in leaf set with highest ID, repair itself with that node’s leaf set

181
Q

What happens when a node detects a node in its routing table is unresponsive?

A

Send message to node in same row and request the ID in the corresponding cell of that node

182
Q

How does Kademlia route messages between nodes?

A

Based on distance between two identifiers (XOR)

183
Q

How are nodes and data items identified in Kademlia?

A

With an m-bit ID, in a binary tree with 2^m leaves (m=160)

184
Q

T/F: A leaf set in Kademlia is the same size as 1 row of the routing table

A

F: there is no leaf set in Kademlia

185
Q

How is the binary tree divided in Kademlia?

A
  • each node divides tree in m subtrees

- subtree i includes nodes sharing i leftmost bits

186
Q

How large is the routing table in Kademlia?

A

m rows, 1 column (select closest node in each subtree)

187
Q

Describe how a Lookup is executed in Kademlia

A
  • Ask node in row i, where i = common prefix N+key

- forward and repeat until found

188
Q

What is the concept of K-buckets?

A
  • Each row in routing table can have up to 20 nodes
  • rows referred to as k-buckets
  • allows for alternate nodes
189
Q

How does a new node join in Kademlia?

A
  • node must know another
  • send ID to known node, as though it is key to be found
  • use response to build routing table
190
Q

What are the two models for network secutiry?

A

Model 1: transfer over insecure channel

Model 2: control access to info on a computer system

191
Q

What is encryption?

A

Combining a message and key to obtain ciphertext

192
Q

What is decryption?

A

Retrieving a message from a ciphertext using a key

193
Q

What is a cipher/cryptosystem

A

Encrypts plaintext –> ciphertext

194
Q

What is cryptography?

A

All about controlling access to information

195
Q

How many versions of IKE phase one are there?

A

8

196
Q

What is a public key cipher?

A

Uses a public key to encrypt, a private key to decrypt

197
Q

What are the two parts of IPSec

A

IKE (Internet Key Exchange)

ESP/AH (Encapsulating Security Protocol/ Authentication Header

198
Q

What is Kerckhoff’s principle?

A

Assume the system is completely know to attacker

199
Q

T of F: IPSec implementation requires you to change the OS and Apps

A

False

200
Q

T or F: IPSec is more complex than SSL

A

True

201
Q

What is required to set up a new connection with an existing session in SSL

A

Session ID and Key K which is based on S,Ra,Rb

202
Q

What are the SSL keys:

A

6 keys:
2 for encryption
2 for integrity:
2 for IV

203
Q

What is a session key?

A

A symmetric key that is only used for one session then discarded

204
Q

T or F: in IPSec public key signature aggressive, a passive attacker cannot know the IDs of Alice and Bob

A

False, there is no ID hiding in aggressive for public key signature

205
Q

What does SSL stand for?

A

Secure Socket Layer

206
Q

T or F: TCP based auth is secure

A

FALSE

207
Q

How can you prevent replay attacks in simple authentication protocol?

A
  • use challenge-response with a nonce
  • alice then hashes her password with nonce
    Problem: bob must know Alice’s password
208
Q

Is symmetric key authentication secure for one-way authentication? What about mutual?

A

One-way: yes

Mutual: yes, but must add IDs to encrypted message (otherwise vulnerable to MiM)

209
Q

How can you prevent MiM attack with Diffie-Hellman?

A
  • encrypt DH exchange with symmetric key (ephemeral diffie-hellman)
  • encrypt DH exchange with public key
  • sign DH values with private key
210
Q

What is a session key?

A

A symmetric key that is only used for one session then discarded

211
Q

T or F: SSL implementation requires you to change the OS

A

False

212
Q

T of F: IPSec implementation requires you to change the OS and Apps

A

False

213
Q

T or F: IPSec is more complex than SSL

A

True

214
Q

What is required to set up a new connection with an existing session in SSL

A

Session ID and Key K which is based on S,Ra,Rb

215
Q

What are the SSL keys:

A

6 keys:
2 for encryption
2 for integrity:
2 for IV

216
Q

Why does Alice always authenticate Bob, and not vice versa, in SSL

A

Bob has a certificate, and we can’t always expect the client to have a verified certificate.
Instead, we can challenge them to present a password

217
Q

Why is Mig in the middle prevented in SSL

A

The SSL certificate must be verified by a third party

218
Q

What does SSL stand for?

A

Secure Socket Layer

219
Q

T or F: TCP based auth is secure

A

FALSE

220
Q

Describe the features of each variation of public key auth:

  • encrypt only
  • sign only
  • sign and encrypt
  • encrypt and sign
A
  • Encrypt only: protects key, no mutual auth
  • Sign only: mutual auth, doesn’t protect key
  • Sign and encrypt: secure and mutual auth
  • Encrypt and sign: attacker records ciphertext and later hacks Alice or Bob to find key. Then can decrypt message.
221
Q

What is PFS?

A

Perfect forward security: cannot later decrypt recorded ciphertext
- must use session key, then forget it

222
Q

How can a sender and receiver agree on a session key?

A

Using a key exchange algorithm, like Diffie Hellman

223
Q

What is the security of DH based on?

A

The difficulty of discrete logarithm problem

224
Q

What are the steps in the DH process?

A

-Alice selects secret a
-Bob selects secret b
-Alice sends g^a mod p
-Bob sends g ^b mod p
-Both compute symmetric key
For alice: (response from bob)^a mod p

225
Q

How can you prevent MiM attack with Diffie-Hellman?

A
  • encrypt DH exchange with symmetric key
  • encrypt DH exchange with public key
  • sign DH values with private key
226
Q

What are the steps for SSL

A
  • Alice Ask to talk, sends Ra and Cipher list
  • Bob sends back Rb, certificate, and chosen Cipher
  • Using Ra,Rb and pre master secret s, Alice computes K. Alice sends back S, encrypted with Bobs public key, and an a message encrypted with S containing K
  • Bob uses S to decrypt the last message and get K
227
Q

What is clock skew? What issue does it create?

A

Creates risk of replay, if intruder can act within clock skew - can be solved in K sent only once

228
Q

Is signing, then encrypting a message which uses a timestamp secure?

A

Yes

229
Q

How do you secure a timestamp based authentication message which is first encrypted, then signed?

A

Ensure Bob does not send K back to Alive