Flashcards
311 - Cue cards
Cards in this deck (174)
- 1What is a distributed system?A system that is comprised of more than one computer, with a goal of reaching a level of performance which is infeasible in a single computer
- 2Why do we build distributed systems?The world is distributed, meaning people are everywhere. Distributed systems allow communication and more globally
Problems rarely hit two different places simultaneously (replication)
Multiple computers increase performance and availability - 3What is ubiquitous computing?Computing that is made to appear anywhere, anytime.
can occur using any device, in any location and in any format - 4What is the Byzantines general problem, and what issues do they face?A complication in distributed coordination
In it's simplest form we have 2 generals
have to agree whether to attack/retreat
issues;
both need to agree the same (A/R)
both need confirmation of the others choice
have to trust the response is actually from the other general
message might never been received - 5What are the eight fallacies of distributed computing?The network is reliable
Latency is zero
Bandwidth is infinite
The network is secure
Topology doesn't change
There is one admin
Transport cost is zero
The network is homogeneous (the same) - 6What are some future complications for distributed systems?Variety in access, platform, format and administration
up/down scaling (virtual cloud), relocation and failure - 7What is middleware?Software that sits between the operating system and applications
Rationale
provides high level programming abstraction
hides the complexities of distributed systems - 8What are the goals of middleware?Resource sharing
Transparency
Openness
Extensiblity
Scalability
Dependability - 9What is resource sharing (middleware context)?The ability to access and share resources in a distributed environment
- 10What is distributed locking?A way for distributed systems to synchronise resources
- 11What is transparency (middleware context)?The ability to view a distributed system as if it were a single computer
e.g. from a user's view point, connection to a remote print would be the same as connecting to a local printer - 12What are the varying dimensions of transparency (middleware context)?Access transparency
Location transparency
Concurrency transparency
Replication transparency
Fault tolerance transparency
Migration transparency
Performance transparency
Scaling transparency - 13What is openness (middleware context)?Systems should conform to well-defined interfaces
Should support portability of application
Should easily interoperate (work reliably with another system) - 14What is extensibility (middleware context)?The ability to be able to introduce new/modified functionality
- 15What is scalability (middleware context)?Support growth in the number of users of a service (scalable with respect to size)
Support distributed systems that span continents (scalable with respect to geography)
Support systems that span multiple administration organisations (scalable with respect to administration) - 16What is dependability (middleware context)?Providing secure and authenticated channels, access control and key management (security)
Highly available and resilient to failure (fault tolerance) - 17What are the four styles of middleware, with an example for each?Client-server - distributed computing environment (DCE)
Distributed object technology - Java RMI
Group communication services - JGroups
Publish-subscribe - Java message service (JMS) - 18What are the three styles of exchange protocols?R - request - no value needs to be returned, client fires and forgets no blocking
RR - request-reply - if reply is lost, request will be re-sent
RRA - request-reply-acknowledge- server needs to know the client received the message - 19What is RPC?Remote procedure call
Higher level request-response mechanism supporting the construction of distributed applications - 20What are the aims of RPC?To provide distributed transparency so that it looks like conventional programming
Hides marshalling - 21What are the transparency issues in RPC?Cost - takes 1-10ms per call
Exceptions - Need to be handled by the programmer
Parameter passing - programmer has to explicitly pass the params they require - 22What are problems that can occur when communication modules try to mimic local call semantics?Request might get lost
reply might get lost
client may crash
server may crash - 23What are the four RPC guarantee semantics?Maybe
At-least-once
At-most-once
Exactly once - 24How does the at-least-once guarantee semantic work?Sends message to server
no reply received after a given amount of time, then the message is resent
failure assumed after N resends
good for idempotent operations - 25How does the maybe guarantee semantic work?Send request to server, server replies
no real guarantee - 26How does the at-most-once guarantee semantic work?Sends request to server
if reply doesn't make it back to client, it doesn't matter as requests are logged, so when client requests it again it can just reply with the logged request - 27How does the exactly once guarantee semantic work?Message will be delivered to the client exactly once
- 28What is RMI?Remote method invocation
Effectively RPC but with object oriented principles (Also more transparent, and expressive) - 29What is the goal of RMI?To allow one java object to call methods on another object in another JVM
- 30What are the components of an RMI system?1 - interface definition of remote services
2 - implementations of remote services
3 - server to host remote services(stub)
4 - RMI naming service/registry
5- client program which uses the remote services(skeleton) - 31How does parameter passing work in Java RMI?Objects/primitives are passed by value
Remote objects are access via reference - 32What are three issues we face when using RMI?Malicious mobile code (protection against this using sandboxing)
Insecure communication (protection against this using encryption)
No access control (protection against this with authentication) - 33What are two ways we can authenticate?Passwords (hashing)
Keys (cryptography) - 34What is symmetric key encryption?Both parties have a key which they use to encrypt/decrypt messages, this is done via the use of a shared secret (this is also the drawback, how do we securely exchange a secret?)
- 35What is asymmetric key encryption?Public/key private pair
Client encrypted message with servers public key, server decrypts with it's private key and vice versa - 36What does a challenge-response protocol allow, and what are is the process?A protocol which is able to identify a user without the exchanging of keys
REQUIRES server to know all secret keys
Steps;
client asks to be auth'd
server says encrypt X with your key
client encrypts, then sends
if server can decrypt using secret key, user is authenticated
(e.g. diffie-hellman) - 37What is mobile code?Mobile code is code which can be migrated from one machine or application to another
- 38+ve and -ve of mobile code?+ useful to pass objects from one machine to another
- big security threat
- malicious code can compromise server/client - 39What is sandboxing?Mechanism for separating running programs (in a vm for instance) in order to mitigate system failures
- 40What is the goal of sandboxing?Distinguish trusted from untrusted code
Limit what untrusted code can do - 41What are five vulnerabilities distributed systems face?Eavesdropping
Masquerading
Tampering
Replaying
Repudiation - 42What is eavesdropping?Unauthorised interception of real-time data (done via network sniffing, then reconstructed into actual data)
- 43What is masquerading?Attacker fronts as someone they are not e.g. a phishing website pretending to be Amazon
- 44What is tampering?Changing parameters to do something unauthorised e.g. SQL Injection, XSS attack etc
- 45What is replaying?Valid data transmission is repeated
usually done by network sniffing the request, which will later on be re-requested by the attack with the hopes of producing the same output as the original - 46What is repudiation?An attack where the attacker can deny that they ever did anything e.g. hacking into your email account, and sending an email
- 47What are five security mechanism employed by distributed systems and what do they provide?Encryption - confidentiality of messages
Authentication - verification of identities
Digital signatures - prevent data tampering
Authorisation - defines access rights
Auditing - analysis of security breaches - 48What are the two main goals of cryptography?Obscurity - be hard to recover plaintext from ciphertext (avalanche effect)
Diffusion - order is not maintained, making it infeasible to break - 49What is the avalanche effect when referring to cryptography?A desirable property in cryptographic algorithms where if an input is changed slightly the output changes dramatically
- 50What are issues arisen with symmetric cryptographic systems?Key exchange - how do we securely communicate a key before having a secure communication channel?
Scalability - unique key needed for every distinct connection
Key length - must be adjusted for message size and never re-used
Vulnerable to reflection attack - 51How does a reflection attack work?1 - attacker initiates a connection to target
2 - target attempts to authenticate the attacker by sending it a challenge
3 - attacker opens another connection to the target, and sends the target this challenge as its own
4 - target responds to the challenge
5 - attacker sends that response back to the target on the original connection - 52Why are digital signatures required when using public keys?Origin integrity - only the sender can send this message
Connection integrity - signature cannot be copied from message-to-message
Non-repudiation - sender cannot credibly deny the signature - 53Why do distributed systems need security managers?Key management - establishment, distribution and deletion
Authorisation management - access control
Auditor - event management, prevention and mitigation - 54Why do we use layers in distributed systems?Due to the complexities of distributed systems we use layering to partition the services
- 55What are the advantages of layering your architecture?Abstraction - separation of concern
Re-usability - layers can be used for other systems
Loose coupling - components don't know about each other, promotes re-usability - 56Why do we use tiering in distributed systems?Tiering complements layering by considering the logical organisation within a layer, and mapping to services
- 57What are the three common tiers?Presentation tier - user/app
Business logic tier - processing of the application
Data tier - where data is stored - 58What are the advantages of tiering?Increased availability - due to the ability to add more resources at each tier
Increased flexibility
Easy to manage - if a tier fails or need maintenance, the whole system isn't affected
Scalable - add more resources to each tier e.g. more databases at the data tier - 59What is replication and what are the +ve and -ve's?The mapping of services to multiple servers
+ potential higher performance
+ availability
+ scalability
- requires support to maintain consistency - 60What is Brewer's CAP theorem?A hypothesis that its impossible for a distributed data store to simultaneously provide more than TWO of the following;
Consistency - every read receives the most recent write or an error
Availability - every request receives a non-error response
Partition tolerance - system continues to operator despite message being dropped - 61What is a stateless server and what are some +ve and -ve's?Stateless servers do not keep client state and can change their own state without information the client (REST API)
+ simplifies error recovery
+ improved scalability
- has no info about the client - 62What is a stateful server and what are the +ve and -ve's?Stateful servers maintain state on each of their clients (e.g. file servers)
+ increased performance
+ can be optimized
- make crash recovery very complex - 63What are the design patterns used in distributed computing?Proxy pattern
Smart proxy
Interception/reflection
Brokerage
Observer
Facade
Mediator
Strategy
Pipeline - 64What is the client-server model and what are the +ve and -ve's?Model which involves client(s) and single server
+ centralised, so easy to manage, has high security and consistent data
- centralised, so single point of failure (poor availability, reliability) - 65Why would we use a multi-threaded client?Because threads can be used to mask latencies
This is because a given thread blocks on an invocation (producing delay), meaning one or more other threads can then proceed with computation or other communication - 66Why would we use a multi-threaded server?As we can assign thread to incoming invocations, and also support the concurrent processing of requests
- 67What is the proxy pattern?The proxy pattern makes use of a 'proxy' (network connection, object, file) which resides in the local address space and pretends to be the target (potentially remote) object
- This allows the implementation to provide transparency
(RMI stub-skeleton) - 68What is indirect communication?Communication between entities in a DS through an intermediary (broker) with no direct coupling between the sender/receiver
- 69What are the four types of intermediary in indirect communication?Groups (JGroups)
Event-based abstractions (Pub-sub)
Message queues
Shared memory abstractions (DSM, tuple spaces) - 70What are the two types of uncoupling indirection communication seek?Space uncoupling - sender does not know/need to know the identity of the receiver and vice versa
easy to update, replace, replicate or migrate
Time uncoupling - sender and receiver have independent lifetimes (asynchronous)
useful for mobility, dependability and event dissemination - 71What is a publish-subscribe system?A publish-subscribe system is an event-based system where publishers post events and subscribers express interest in events (indirection communication paradigm)
- 72How does a publish-subscribe system work?Events are published asynchronously by publishers who also have the option to advertise the events
The pub-sub system acts as a middleware between publisher and subscriber - 73What are the four subscription models that pub-subs use?Channel based
Topic-based (subject based)
Content based
Type based - 74Describe the channel-based pub-sub modelPublishers publish events to named channels, which subscribers sub to. Therefore receiving all events for that channel
- 75Describe the topic-based pub-sub modelSubscribers sub based on topics of interest, notifications will be sent out should publishers publish events on those topics
- 76Describe the content based pub-sub modelSimilar to topic-based, but subscribers can sub to a variety of content within a topic and receive notifications on these.
more expressive than topic based but much more complex - 77Describe the type based pub-sub modelUsing an object-based approach, subscribers sub in terms of a type (signature/methods/attributes), they receive events based on these types
- 78What is a message queue?Another indirection communication paradigm but this make uses of distributed queues
- 79How do message queues work?Messages are sent to a queue
Processes can then either receive a message (blocking, synchronous), poll for messages (non-blocking, asynchronous) or ask to be notified when a message arrives - 80What is distributed shared memory, and what are the +ve and -ve's?an implementation of the shared memory abstraction indirect communication paradigm, which provides abstraction of shared memory within a distributed system
+/- data not available locally
+ hides distribution from the programmer
- expensive (computationally) because have to maintain consistency
- race conditions - 81What is a tuple space?an implementation of the shared memory abstraction indirect communication paradigm, whose semi-structured shared space consists of a number of tuples
- 82Compare and contract messages and RPCRPC are tightly coupled, meaning if one program fails it'll have a direct impact of another
RPC uses synchronous messages, meaning the method invoker has to wait for the method to finish executing
Messages provide loose coupling and asynchronous behaviour - 83What are the two main modes of communication in JMS?Message queuing (1-1)
pub-sub(1-m) - 84What are the three communication models (covered in this module at least)?Point-to-point (1-1 aka unicast)
broadcast (1- all)
multicast (1-many, many-many) - 85What is group communication?An indirect communication paradigm that enables the multi-casting of messages to a group of processes as a single action
- 86Why do we use group communication?As it supports efficient distribution of data
Good for service discovery
Supports replication
Reduces server load, as server only sends one copy
Reduces network congestion, as has fewer packets to send - 87What are the five group types in group communication (covered in this module at least)?Open groups - anyone can join
Closed groups - closed membership
Peer - all members are equal, all members send messages to the group
Client-server - replicated servers, client doesn't care what server answers
Hierarchical - one or more members are different from the rest - 88What are the three reliability guarantees with group communication?Best effort - unreliable multicast, no real guarantee. Messages are sent to all members but may/not arrive
Reliable multicast - reasonable efforts are made to ensure delivery (in spite of message loses). Provides protection against fault network (no guarantee if sender crashes during multicast)
Atomic multicast - all members receive message or none of them do (protection against faulty participants) - 89What does a typical implementation of a reliable multicast look like (basic pseudocode)?Sender sends a message to each member of the group, and awaits ack
if some acks are not received in a given time period, re-send
Repeat N times
if all acks received, report to call - 90How do we avoid ack explosions?Use NACK
if everything is fine, receiver doesn't say anything
if message lost, receiver complains - 91What is NACK suppression?Several receivers have scheduled a request for retransmission, but
the first re-transmission request leads to the suppression of others. - 92What are the five ordering guarantees in group communication?Unordered ordering
FIFO ordering
Causal ordering
Global time order
Total ordering - 93Where are the two places we might want to order the message deliveryWe may want to specify the delivery order to the message service
We may was to re order the delivery to the application - 94What is unordered multicast?messages will be delivered in a different order to different members
no ordering guarantee - 95What is global time ordering?All messages arrive in the exact order sent
this ordering assumes that two events can't happen simultaneously
Drawbacks;
constraints are too strict (practical impossible to implement) - 96What is casual ordering?Order of M1 and M2 is only important if a 'happened before' relationship exists between the messages
e.g. for a Facebook status S, and comment C. It makes sense to show S before C
(SENDING ORDER) - 97What is FIFO ordering?Messages sent from the same process are delivered in the same order as they were sent
(SENDING ORDER) - 98Compare and contrast FIFO and casualCasual ordering is a general case FIFO, this is because messages sent by the same process have a 'happened before' relationship, satisfying FIFO
- 99What is total ordering?Ensures all receivers receive messages in the same order e.g. if M1 and M2 are sent, they will all receive either M1 followed by M2 or M2 followed by M1
(RECEIVING ORDER) - 100What is virtual synchrony?The state transfer from a process already in the group to a new member of the group
- 101When is a message considered stable (group communication)?When every member of the group has received it
- 102What is JGroups?A group communication implementation in Java. Provides reliable multicast, and additional expressiveness through the use of a protocol stack
- 103What are the characteristics of JGroups?Tailored - to your application needs
Extensible - ability to improve/modify it
Reliable - all messages will be delivered - 104What is RPC Dispatcher?Provides remote procedure call behaviour within a group communication environment
Issues;
Not completely transparent
No stub/skeleton to hide remote invocation
Arguments are passed as an array of objects - 105Compare and contrast JGroups and JMSJMS is standardised - multiple implementations
JGroups is a library - one implementation (has API)
JMS is a message oriented middleware - higher level than JGroups, provides persistence, durability and transactions
JMS assumes a server based architecture where as JGroups is fully decentralised - 106What are faults, errors and failures respectively?Faults - hypothesised cause of an error cause by a vulnerability in internal/external state (hardware/software)
Errors - internal state becomes invalid state (erroneous data, inconsistent internal behaviour)
Failure - non-compliance of functional spec (crash, omission, timing) - 107What is correct service?Correct service is delivered when a service implements the system function
- 108What is fault, error and failure propagation and what is the fault hierarchy?Internal fault causes error which propagates up to the service interface
Crash - omission - timing - byzantine - 109What are two dependability attributes?Availability - readiness for correct service
Reliability - continuity of correct service - 110What are the five foundations that make up quality of service?Latency
Bandwidth
Security
Availability
Fault tolerance - 111What is graceful degradation?The masking of internal failure in a way which the user isn't aware (transparency)
-Should maintain highest possible QoS
-Requires trade off with business impact/mitigation costs - 112What are the four means by which we achieve dependability?Fault prevention - by constraining the design processes by means of rules
Fault tolerance - avoid service failure in the presence of faults
Fault removal - reduce number/severity of faults
Fault forecasting - estimate fault occurrence and consequences - 113Why do we replicate?Increased performance
Increased error detection - replicas can make a consensus based on the result the majority of the replicas have - 114What three components typically make up the replication modelClient - makes the requests
Replica manager - handles requests to a set of replicas (manages consistency)
Front-end - mediates connection between RM and client - 115What are the five request phases when replicating?Request - request sent to one or more RM's
Coordination - RMs agree on ordering and whether to execute the request
Execution - RM's perform request
Agreement - RMs reach consensus on request outcome
Response - RM's reply to front-end - 116What is passive replication?Replication where there is a single RM which processes requests, and updates are sent to back up replicas
- 117What is active replication?All RM's are equal, and process and return results (reliable group com)
tolerates crashes and byzantines - 118How can availability be calculated?1 - P ^ N
P = probability of failure
N = number of replicas - 119What is cloud computing?Model for enabling on-demand access to a shared pool of configurable computing resources
- 120What are the benefits of cloud computing?Can be rapidly up-scaled/down-scaled/created/destroyed
Requires minimal management effort - 121How is cloud computing achieved?Using virtualisation - Host and guest vm's, achieving close to physical performance
- 122What are the three provisioning levels of cloud computing?SaaS - turn-key application. Used for things like manipulating data
PaaS - Run-time environment. Software packers and storage support
IaaS - bare-bones hardware, used to customise run-time environments - 123What three factors do you need to consider when selecting a provisioning level (cloud computing)?Budget - how much do you have to spend?
Flexibility - how much flexibility do you want?
Skillset - what is your skillset/teams skillset? - 124What are the three deployment models (cloud computing)?Public clouds - third party service providers offer services to the public
Private clouds - set up for internal company use
Hybrid clouds - mix of both strategies (public cloud services and private also known as federated cloud) - 125What is the internet of things?Interconnection of uniquely identifiable smart computing devices within the existing internet infrastructure
(communicate, actuate, store, sense) - 126What is fog computing?fog computing facilitates the operation of compute, storage and networking services between end devices and cloud computing data centres
- 127What was the rationale behind fog computing?Cloud computing cannot cater to all devices
- they need mobility support
- cloud computing has a centralised model
- cloud computing has high latency - 128What does fog computing support?Aggregation
Pre-processing
Fault mitigation
Coordination and automation
Deployment mitigation - 129What is a protocol buffer, and was is an example?Open source method of encoding structured data in an efficient but extensible format
JSON, XML - 130What is MapReduce?Service that offers large scale computation over very large data sets
- 131What are the three core principles that MapReduce were designed around?Hardware ALWAYS fails
Networks ARE slow
Computers ARE heterogeneous - 132How does MapReduce work?Composed of 2 stages
Map - performs processing and filtering, more specifically processes a key/value pair to generate an intermediary set of values
Reduce - performs a summary operation, more specifically merges the intermediary values
The whole system coordinates the processing by running various tasks in parallel, managing coms and data transfer between the different parts - 133What two dependability attributes does MapReduce provide?Fault tolerance
Redudancy - 134What is GFS?Google File System
Distributed file system to provide efficient, reliable access to data using large clusters of commodity hardware - 135What are the GFS requirements?Monitoring and automatic recover - have to assume that components will fail
That it is optimised for large files
Able to sustain high bandwidth
Is scalable - 136How does the GFS architecture work?Each cluster has a master and multiple chunkservers
Files replicated on by default three chunkservers - 137How does GFS handle scale?Replication
Doesn't use caching, relies on Linux buffer cache to maintain files in main memory - 138What does GFS provide to help distributed systems?Separation of control and data flows
Relaxed consistency management - optimised for appends - 139What is chubby and what does it provide?Simple file system API for small files that provides support for coarse grained synchronisation in loosely coupled and large scale distributed systems
Uses; as a name server - 140What is Paxos?Protocol for solving consensus within a network of unreliable processes
- 141How does Paxos work?Electing a coordinator - consists of a propose message followed by a promise message, once there is a replica with majority promise messages they're elected the new coordinator
Seeking consensus - consisting of an accept message from the newly elected coordinator, the acknowledgements from other servers. A commit message is then sent if coordinator receives a majority acknowledgements.
This process is repeated every-time the coordinator dies - 142What is the propose message and what is the promise message when electing a coordinator (Paxos)?Propose message - replicas broadcast sequence numbers to all other replicas, bidding to be coordinator
Promise message - If other replicas have not seen a higher bidder than a sequence number they receive, then they reply with a promise message which indicates they won't deal with other replicas bidding for coordinator. Once a replica receives majority they are elected coordinator - 143What is the accept message, acknowledgement and commit message when seeking consensus (Paxos)?Accept message - the elected coordinator may submit a value and then broadcast an accept message to all replicas (to reach a consensus)
Acknowledgement - replicas either acknowledge or reject this message based on whether they want to accept or reject the value
Commit message - a commit message is broadcast when the coordinator achieves a majority of acknowledges, as consensus has been reached - 144What is BigTable?A very large scale distributed table indexed by row, column and timestamp
Supports semi-structured and structured data - 145How does BigTable work?Table is split by row into fixed size 'tablets', optimised for GFS
Same client, master, worker pattern like GFS
Rows clustered together by naming conventions to optimise access
Often used in conjunction with MapReduce - 146What are the key design philosophies when building distributed systems infrastructure?Simplicity - do one thing, and do it well
Performance - through the use of calculations of primitive operations e.g. memory, disk, network
Testing - if it ain't broke, you aren't trying hard enough (logging, tracing)
Not adhering to convention - use whatever works bests
Cost - use cheapest commodity hardware - 147How can we tell if a system has 'recovered correctly'?If the internal state is consistent with the observable behaviour before the failure
- 148Why is consistency an issue when using passive replication?When the primary replica crashes, the backups might not have the most update version of data
Resulting in the backup not picking back up where the previous primary left off (roll back/incorrectness) - 149What is a technique we can employ to reduce consistency issues when passively replicating?Checkpointing - fault tolerance mechanism where the state of an application is saved regularly, in case of failure
- 150What is the output commit problem (passive replication), and how do we resolve this?Showing clients results that the backups have not seen yet
should ALWAYS checkpoint before replying to a client - 151What is the more-than-once problem (passive replication)?Primary might crash before sending the reply back to the client
Resulting in the client making another request - 152What are solutions to the more-than-once problem (passive replication)?Exactly once - attach request id's to requests, allowing the disposal of duplicates (suffers problems with multiple clients)
Exactly once (multi client solution) - replies are logged with the request id's, meaning old requests can be replayed - 153What does the exactly once multi-client solution to the commit problem provide (passive replication)?Atomicity - all operations are executed exactly once
Semi-transparency - primary failure is masked, but replies are received later (increased latency)
Graceful degradation - major disturbance replaced by a minor inconvenience (server crash worse than network delay - 154What is a distributed transaction?A synchronisation mechanism to access shared data concurrently
Can involve multiple servers - 155What are the three operations a transaction engine provides?Begin - start a transaction
End - finish transaction and try to commit
Abort - kill transaction/delete/forget everything - 156What is the one-phase atomic commit protocol?Coordinator (refer to Paxos) keeps requesting acknowledges from all replicas until has majority, transaction is then commited
- 157What is the two-phase atomic commit protocol?Phase 1 - Coordinator requests a vote from all replicas
Phase 2 - Commit a transaction if receive majority votes, otherwise abort - 158What is p2p computing?Sharing of resources and services by direct exchange between systems (peers)
As the number of peers grows, as do the number of resources - 159What is Gnutella?A fully decentralised, pure peer-to-peer system used for file sharing
- 160How does discovering peers work in Gnutella?Firstly, to join Gnutella you need to know someone already in the network (sounds like an oxymoron to me)
Step 2 - A ping packet is used to announce your presence, peers then respond with a pong packet containing their connected peers. - 161How does searching work in Gnutella?Searching - achieved via flooding, client contacts 7 of it's neighbours, if they don't have the resource, then they're contact 7 of their neighbours, for a max of 10 hops
Responding - reverse path forwarding is used - 162How does downloading work in Gnutella?Peers respond with a 'query hit'
File transfer use direction connection over HTTP - 163What are some issues with Gnutella?Flooding is extremely wasteful in terms of network resources (bandwidth)
Results in a lot of redundant messages if the first neighbour of each hop has what you're looking for - 164How two things does BitTorrent consist of, and what are they?Seeder - peer that has entire files
Leecher - peer downloading file (files contained within the BitTorrent swarm) - 165What is rarest-first (BitTorrent)?Look at all chunks, across all peers and requests chunks thats owned by fewest peers
- 166What is a tracker (BitTorrent)?Web server which keeps track of all peers currently downloading a file
- 167How does BitTorrent work?Files are broken into chunks
Client firsts asks some random peers from the tracker
Random first chunk once peer starts downloading, switch to 'rarest-first' and participate in the uploading - 168What is optimistic choking?Periodically look for better choices (nodes with the best rates)
- 169What is the tit-for-tat strategy?Encourages cooperation and discourages free-riding
Peer A said to choke B if it decides not to upload to B
Each peer unchokes at most 4 peers at any time (3 that gives best upload rates)
Another is chosen (optimistic choking) - 170What is choking (BitTorrent)?The stopping of receiving file chunks from another peer, and selecting another peer
- 171What is anti-snubbing?A peer is said to be snubbed if each of its previous peers choke it
To handle this, snubbed peers stop uploading to it's previous peers - 172What do we learn from anti-snubbing?Collaborative download schemes can improve download speeds very dramatically (avoid sender overload)
- 173What is the certificate authority (CA) and what is the registration authority (RA)?RA - An authority that verifies a users request for a digital certificate, and forwards the information to the CA
CA - issues the digital certificate - 174What does a PKI consist of?Certificate authority
Registration authority
Central directory - secure location which store and index keys
Certificate management system - manages access/delivery of stored certificates
Certificate policy - PKI's requirements and procedures (allows analysing of the trustworthiness of the PKI)
Information
- Description
- Flashcards on 311 - Cue cards, created by Mac Howarth on 26/04/2018.
- Created by
- Mac Howarth
- Views
- 12
- Rating