Main Flashcards

1
Q

How does a client-server model look?

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

What type of network is a network of scale: Vicinity?

A

(PAN) Personal Area Network

Connect devices over the range of a person:

Example of a Bluetooth PAN:

(The word Vicinity means: “the area near or surrounding a particular place”)

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

What type of network is a network of scale: Building?

A

(LAN) Local Area Network

Connect devices in a home or office building

Called enterprise network in a company

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

What type of network is a network of scale: City?

A

(MAN) Metropolitan Area Networks

Connect devices over a metropolitan area

Example of a MAN based on cable TV:

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

What type of network is a network of scale: Country?

A

(WAN) Wide Area Network

Three different kinds:

  • Connect devices over a country
    • Example of a WAN conneting three branch offices:
  • An Internet Service Provider (ISP) network.
    • Customers buy connectivity from the ISP to use it.
  • A Virtual Private Network (VPN) is built from virtual links that run on top of the Internet.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What type of network is a network of scale: Planet?

A

The Internet (the network of all networks)

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

What are protocol layers?

A

Protocol layering is the main structuring method used to divide up network functionality.

  • Each protocol instance talks virtually to its peer
  • Each layer communicates only by using the one below
  • Lower layer services are accessed by an interface
  • At bottom, messages are carried by the medium (means: data are then sent over physical cables)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How does headers work with protocol layers?

A

Each lower layer adds its own header (with control information) to the message to transmit and removes it on recieve.

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

What is a Connection-Oriented service?

A

Must be set up for ongoing use (and torn down after use), e.g. a phone call

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

What is a Connectionless service?

A

Messages are handled separately, e.g. postal delivery

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

What are the different Reference Models?

A
  • OSI reference model
  • TCP/IP reference model
  • Model used for this course
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Name the layers of the OSI reference model

A

A principled, international standard, seven layer model to connect different systems

  1. Application
  2. Presentation
  3. Session
  4. Transport
  5. Network
  6. Data link
  7. Physical
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Explain the TCP/IP reference model:

A

A four layer model; omits some OSI layers and uses the IP as the network layer.

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

Explain the reference model used in this course:

A

It is based on the TCP/IP model but we call out the physical layer and look beyond Internet protocols.

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

What is a distributed system?

A

Definition:

A distributed system is the one in which hardware and software components at networked computers communicate and coordinate their activity only by passing messages.

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

What are service layers?

A

It is a conceptual layer within a network service provider architecture.

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

What is Middleware?

A

It is computer software that provides services to software applications beyond those available from the operating system. It can be described as “software glue”.

Middleware makes it easier for software developers to perform communication and input/output, so they can focus on the specific purpose of their application.

  • Masks heterogenity
  • Provides a convenient programming model
    • Objects / processes
    • Communication primitives
    • Synchronization
    • Group and multicasting
    • Naming and Localization services
    • Event notification
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is an Asynchronous interaction model?

A

The most significant aspect of asynchronous communications is that data is not transmitted at regular intervals, thus making possible variable bit rate, and that the transmitter and receiver clock generators do not have to be exactly synchronized all the time.

  • No known bounds for:
    • The execution speed of a process
    • Message delay on the network
    • Clock drift
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is a (partly) Synchronous interaction model

A
  • Known upper and lower bound for each process step
  • Known upper bound for the time it takes for a message to be recieved
  • Known upper bound for clock drift
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What does Heterogeneity mean?

A

A heterogeneous network is a network connecting computers and other devices with different operating systems and/or protocols.

For example, local area networks (LANs) that connect Microsoft Windows and Linux based personal computers with Apple Macintosh computers are heterogeneous.

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

What are Timing failures?

A
  • Class of Failure: Clock
    • Affects: Processes
    • Process’s local clock exceeds the bounds on its rate of drift from real time
  • Class of Failure: Performance
    • Affects: Processes
    • Process exceeds the bounds on the interval between two steps
  • Class of Failure: Performance
    • Affects: Channel
    • A message’s transmission takes longer than the stated bound
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What is the MAC Sublayer?

A
  • Responsible for deciding who sends next on a multi-access link
  • An important part of the link layer, especially for LANs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Explain Static channel allocation

A
  • You divide up the bandwidth using FTM, TDM, CDMA, etc.
    • Like radio (different channels)
  1. Static allocation performs poorly for busy traffic
  2. Allocation to a user will also sometimes go unused
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Explain dynamic allocation

A

Dynamic allocation gives the channel to a user when they need it. Potentially N times as efficient for N users.

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

Explain Pure ALOHA

A
  • Users transmit frames when they have data to send
  • If, while you are transmitting data, you receive any data from another station, there has been a message collision. All transmitting stations will need to try resending “later”.
    • Collisions happen during what is called a “vulnerable period” that is twice the frame time

Efficient and low-delay under low load

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

Explain Slotted ALOHA

A
  • Divide time into frame-size slots
  • Transmission can only start at the beginning of a slot
  • Twice as effective as pure ALOHA
  • But we need a way to sync users to the beginning of the slot
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Explain Carrier Sence, Multiple Access (CSMA)

A

Carrier Sence, Multiple Access improves ALOHA by sensing the channel to see if it is idle before transmitting.

  • Users doesn’t send if they sense someone else

Variations on what to do if the channel is busy:

  • 1-persistent(greedy)
    • Send as soon as idle
  • Nonpersistent
    • Wait a random time then try again
  • p-persistent
    • Send with probability p when idle

CSMA outperforms ALOHA, and being less persistent is better under high load.

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

Explain Carrier Sence, Multiple Access Collision Detection (CSMA/CD)

A

CSMA/Collision Detection

It uses a carrier sensing scheme in which a transmitting data station detects other signals while transmitting a frame, and stops transmitting that frame, transmits a jam signal, and then waits for a random time interval before trying to resend the frame.

CSMA/CD is used to improve CSMA performance by terminating transmission as soon as a collision is detected, thus shortening the time required before a retry can be attempted.

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

Explain Collision-Free: Bitmap

A
  • The basic bit-map protocol:
    • Sender set a bit in contention slot if they have data
    • Senders send in turn; everyone knows who has data
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

What is a Collision-Free protocol?

A
  • Collision-free protocols avoid collisions entirely
    • Senders must know when it is their turn to send
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Explain Collision-Free - Token Ring

A

A token is sent round ring and defines the sending order

  • Station with token may send a frame before passing
  • Idea can be used without ring too, e.g., token bus
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Explain Binary Countdown

A

Data is transmitted as binary. If several nodes on a network start transmitting simultaneously, all transmit their network ID as a binary number.

These numbers are compared starting with the first number in the sequence, representing the highest value in the byte.

All those containing a zero at this bit are knocked out, if there are still more than one node in contention, the next bit along is compared. Again, those with 1 stay in and those with 0 are out.

This process continues along the bits of the network ID until there is only one node left and that gets control of the media.

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

What are Limited-Contention Protocols?

A

Idea is to divide stations into groups within which only a very small number are likely to want to send

  • Avoids wastage due to idle periods and collisions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Limited-Contention Protocol: Explain Adaptive Tree Walk

A

Initially all nodes are allowed to try to aquire the channel. If a node is able to aquire the channel, it sends its frame.
If collision then the nodes are divided into two equal groups and only one of these groups compete for slot 1.
If one of its members aquire the channel then the next slot is reserved for the other group.
On the other hand, if there is a collision again then that group is also subdivided and the same process is followed. This can be better understood if the nodes are thought of as being organised in a binary tree

  • Depth first search under nodes with poll collisions
  • Start search at lower levels if more than one station expected
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

What complications does Wireless have compared to Wired?

A

Wireless has complications compared to wired.

  • Nodes may have different coverage regions
    • Leads to hidden and exposed terminals
  • Nodes can’t detect collisions, i.e., sense while sending
    • Makes collisions expensive and to be avoided
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

What are Hidden terminals?

A

Hidden terminals are senders that cannot sense each other but nonetheless collide at intended receiver

  • Want to prevent; loss of efficiency
  • A and C are hidden terminals when sending to B
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

What are Exposed terminals?

A

Exposed terminals are senders who can sense each other but still transmit safely (to different receivers)

  • Desirably concurrency; improves performance
  • B -> A and C -> D are exposed terminals
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Wireless LANs: What is Multiple Access with Collision Avoidance (MACA)?

A
  • When a wireless network node wants to transmit, it sends a signal called Request-To-Send (RTS) with the length of the data frame to send.
  • If the receiver allows the transmission, it replies the sender a signal called Clear-To-Send (CTS) with the length of the frame that is about to receive.
  • Meanwhile, a node that hears RTS should remain silent to avoid conflict with CTS; a node that hears CTS should keep silent until the data transmission is complete.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

Classic Ethernet: Explain the Physical Layer

A

One shared coaxial cable to which all hosts attached

  • Up to 10 Mbps, with Manchester encoding
  • Hosts ran the classic Ethernet protocol for access
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

Classic Ethernet: Explain MAC protocol

A

MAC protocol is 1-persistent CSMA/CD (earlier)

  • Random delay (backoff) after collision is computed with BEB (Binary Exponential Backoff)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

How is the Classic Ethernets performance?

A
  • Efficient for large frames, even with many senders
  • Degrades for small frames (and long LANs)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

Explain Switched/Fast Ethernet

A

Fast Ethernet extended Ethernet from 10 to 100 Mbps

  • Hubs wire all lines into a single CSMA/CD domain
  • Switches isolate each port to a separate domain
    • Much greater throughput for multiple ports
    • No need for CSMA/CD with full-duplex lines
  • Switches can be wired to computers, hubs and switches
    • Hubs concentrate traffic from computers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

What does Idempotent mean?

A

An idempotent operation can be repeated an arbitrary number of times and the result will be the same as if it had been done only once.

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

What does Non-Idempotent mean?

A

A Non-idempotent operation will have a different result depending on the amount of times the operation was done.

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

OSI-model: Explain the Physical layer

A
  • Defines electrical and physical specifications of the data connection
  • Defines transmission mode: Simplex, half duplex, full duplex
  • Defines network topology: bus, mesh, ring, etc.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

OSI-model: Explain the Data link layer

A

The data link layer provides node-to-node data transfer—a link between two directly connected nodes. It detects and possibly corrects errors that may occur in the physical layer.

It, among other things, defines the following protocols:

  • Protocols for establish and terminate a connection between two physically connected devices.
  • Protocol for flow control between the two physically connected devices.

It is divided into two sublayers:

  • Media Access Control (MAC) layer - responsible for controlling how devices in a network gain access to medium and permission to transmit it.
  • Logical Link Control (LLC) layer - responsible for identifying Network layer protocols and then encapsulating them and controls error checking and frame synchronization.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

OSI-model: Explain the Network layer

A
  • A key design issue is determining how packets are routed from source to destination.
  • Handling congestion is also a responsibility of the network layer.
  • The quality of service (delay, transit time, etc.) is also a network layer issue.
  • It is up to the network layer to allow heterogeneous networks to be interconnected.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

OSI-model: Explain the Transport layer

A

The basic function of the transport layer is to accept data from above it, split it up into smaller units if need be, pass these to the network layer, and ensure than the pieces all arrive correctly at the other end.

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

OSI-model: Explain the Session layer

A

The session layer allows users on different machines to establish sessions between them.

Sessions offer various services, including:

  • Dialog Control (keeping track of whose turn it is to transmit)
  • Token Management (preventing two parties from attempting the same critical operation simultaneously)
  • Synchronization (checkpointing long transmissions to allow them to pick up from where they left off in the event of a crash and subsequent recovery)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

OSI-model: Explain the Presentation layer

A

Unlike the lower layers, which are mostly concerned with moving bits around, the presentation layer is concerned with the syntax and semantics of the information transmitted.

In order to make it possible for computers with different internal data representations to communicate, the data structures to be exchanged can be defined in an abstract way, along with a standard encoding to be used ‘‘on the wire.’’

The presentation layer manages these abstract data structures and allows higher-level data structures (e.g., banking records) to be defined and exchanged.

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

OSI-model: Explain the Application layer

A

The application layer contains a variety of protocols that are commonly needed by users.

One widely used application protocol is HTTP (HyperText Transfer Protocol), which is the basis for the World Wide Web.

Other application protocols are used for file transfer, electronic mail, and network news.

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

What is Remote Procedure Call (RPC)?

A

Remote Procedure Call (RPC) is a protocol that one program can use to request a service from a program located in another computer in a network without having to understand network details. (A procedure call is also sometimes known as a function call or a subroutine call.)

  • RPC uses the client/server model.
    • The requesting program is a client and the service-providing program is the server.
  • Like a regular or local procedure call, an RPC is a synchronous operation requiring the requesting program to be suspended until the results of the remote procedure are returned.
    • However, the use of lightweight processes or threads that share the same address space allows multiple RPCs to be performed concurrently.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

Explain Remote Method Invocation (RMI)?

A

RMI is the Java version of what is generally known as a remote procedure call (RPC), but with the ability to pass one or more objects along with the request.

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

What is Marshalling?

A

Marshalling is the process of taking a collection of data items and assembling them into a form suitable for transmission in a message.

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

What is Unmarshalling?

A

Unmarshalling is the process of disassembling data on arrival.

  • Values are converted to an agreed external format before transmission, and converted to the local format on receipt.
  • Values are transmitted in the sender’s format together with an indication of the format used.
  • Translate at sender side, receiver side, or both!
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q

What is Request-reply communication?

A

It is one of the basic methods computers use to communicate with each other, in which the first computer sends a request for some data and the second computer responds to the request.

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

What are the different Failure models?

A
  • Fail-stop
    • Process halts and remains halted. Other processes may detect this state.
  • Crash
    • Process halts and remains halted. Other processes may not be able to detect this state.
  • Omission
    • A message inserted in an outgoing message buffer never arrives at the other end’s incoming message buffer.
  • Send-omission
    • A process completes a send but the message is not put in its outgoing message buffer.
  • Receive-omission
    • A message is put in a process’s incoming message buffer, but that process does not receive it.
  • Arbitrary (Byzantine)
    • Process/channel exhibits arbitrary behaviour: it may send/transmit arbitrary messages at arbitrary times,
      commit omissions; a process may stop or take an incorrect step.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
58
Q

Request-reply protocols: How do they cope with lost requests and lost repliests?

A
  • Lost Replies
    • Client: Times out and retransmits request
    • Server:
      • If idempotent operation
        • Re-execute
      • If non-idempotent
        • Use a history (buffer) of results and retransmit
  • Lost Requests
    • Client: Times out and retransmits
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
59
Q

Define the properties of Objects

A
  • Interfaces and services
    • Each object is an instance of a type that defines a set of methods (interface) that can be invoked to operate on the object.
    • Separation of interfaces and implementation: independent (re-)implementation of C/S
    • Invocation is syntactically and (semantically) independent of an object’s location or implementation.
    • Defines “type”
  • Encapsulated
    • The only way to operate on an object is through its methods; the internal representation/implementation is hidden from view.
    • State only accessible via message passing / RMI
    • Already logically partitioned  physical distribution
    • Unit for persistence, caching, location, replication, and/or access control.
  • Dynamically allocated/destroyed/binding
    • Objects are created as needed and destroyed when no longer needed; not bound to specific program scope
    • Client dynamically locates and binds to servers
  • Uniquely referenced
    • Each object is uniquely identified during its existence by reference that can be held/passed/stored/shared.
    • For Distr sys: add mapping between id and (current) location
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
60
Q

What is an Interface Definition Language (IDL)?

A

It is a specification language used to describe a software component’s application programming interface (API).

IDLs describe an interface in a language-independent way, enabling communication between software components that do not share one language.

For example, between those written in C++ and those written in Java.

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

What is a remote object?

A

A remote object is the object that contains the methods that can be invoked when using RMI.

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

What are Distributed Objects?

A

They create the illusion of a “method call” on a different machine.

Distributed Objects can be located on the server while being invoked by the client.

The marshalled invocation is passed accross the network to the server.

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

What is a Remote Object Reference?

A

Uniquely identifies an object system-wide in time and space.

Fx (first 4 blocks are 32 bits):

| Internet address | Port nr | Time | Object nr | Interface of remote obj |

Problem: What if objects migrate?
Add a service that maps object refs to current (last known) location.

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

What is a servant?

A

A servant is an instance of a class that provides the body of a remote object.

It is the servant that eventually handles the remote requests passed on by the corresponding skeleton.

Servants live within a server process. They are created when remote objects are instantiated and remain in use until they are no longer needed, finally being garbage collected or deleted.

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

Implementation of RMI: Garbage collection

A

Other computers have remote references to objects. Such objects cannot be garbage collected purely locally.

  • Distributed Garbage Collection
    • Reclaim object when no object/node in the system can reference the object
    • Tolerating (transient failures) and concurrency (add/release references)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
66
Q

Implementation of RMI: Parameter Passing

A
Should parameters (IN and OUT / return) be transferred by value or reference?
Normally, anything is by reference, except primitive or valueTypes

Call-By-Value: a copy created at receiver

  • Potentially expensive marshalling and communication of large objects state+code
  • Side-effects made by receiver are not visible to calee

System objects cannot be marshalled eg. open files, threads…)

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

Implementation of RMI: Exceptions

A
  • Where are exceptions that are generated on the server side directed?
    • 2 kinds:
      • server side handling
      • client side handling
    • Which can take suitable recovery action?
  • What about new exception types introduced by the RMI subsystem?
    • Remote object may be/become inaccessible
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
68
Q

RIM: What are Stubs?

A
  • A client stub is responsible for conversion (Marshalling) of parameters used in a function call and deconversion of results passed from the server after execution of the function.
  • A server skeleton, the stub on server side, is responsible for deconversion of parameters passed by the client and conversion of the results after the execution of the function.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
69
Q

RMI: What are the security problems with Distributed Class Files?

A
  • Dynamically loaded code from remote clients (perhaps programmed by other people) cannot / should not be trusted
  • Anybody that knows the interface can access the remote object!
  • Before a Java application is allowed to download code dynamically, a suitable security manager and security policy must be set.
  • If no security manager is set, stubs and classes can only be loaded from the local CLASSPATH.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
70
Q

What is a stateless server?

A

Stateless means there is no record of previous interactions and each interaction request has to be handled based entirely on information that comes with it.

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

Semantics of File Sharing: Unix semantics

A
  • Every operation on a file is instantly visible to all processes: a read operation returns the effect of the last write operation
  • Can only be implemented for remote access models in which there is only a single copy of the file
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
72
Q

Semantics of File Sharing: Session semantics

A
  • No changes are visible to other processes until the file is closed.
  • The effects of read and write operations are seen only to the client that has opened (a local copy) of the file.
  • When the file is closed, only one client’s writes remain
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
73
Q

Semantics of File Sharing: Immutable files

A

No updates are possible; simplifies sharing and replication

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

Semantics of File Sharing: Transaction semantics

A
  • All changes occur atomically.
  • The file system supports transactions on a single file
  • Issue: how to allow concurrent access to a physically distributed file
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
75
Q

File System Models: Remote Access Model vs Upload/Download Model

A
  • Remote Access Model
    • The client requests to access the remote file on the server.
    • The file always stays on the server.
  • Upload/Download Model
    • File is deleted from the server and moved to the client
    • The client accesses the file
    • File is saved as a new file on the server
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
76
Q

Explain Network File System (NFS)?

A

An implementation and a specification (RFC) of a software system for accessing remote files across LANs (or WANs)

  • RPC/XDR based protocol
  • Goals
    • Access transparency
    • Heterogeneous,
    • OS Independent
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
77
Q

Explain NFS

A
  • Made by SUN in 1985
  • Provides a set of RPCs (searching, read/write, ect.)
  • Stateless
  • Does not provide concurrency-control mechanism
    Use separate lock-service.
  • Fault tolerance
    • Operations are idempotent
    • Server is stateless
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
78
Q

Fault-Tolerance of NFS

A
  • No RPC for open / close!
  • File-handle supplied at each invocation
  • Operations are Idempotent
    • Repeated invocations leaves server in same state
  • Server is State-less!
    • Server crash: Client can continue unaffected when server recovers
    • Client crash: No state to be remembered/ or leaned up at server
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
79
Q

Explain Caching in NFS

A

Both (in main memory):

  • Server-side caching:
    • Read operations: easy.
    • Write operations:
      • Write-through, or
      • Delayed-write: flush on commit operation (+file close)
  • Client-side caching:
    • Similarly caches read/write/getattr/lookup results
    • Consistency problems when several clients holds copies of the same blocks
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
80
Q

Client cache validation check in NFS

A
  • Time-stamp based validation
  • Client validation before use of cache contents
    • TC is the time of the last validation of cached block
      • Tm-server is the modification timestamp stored at server
      • Tm-client is the modification timestamp stored at client
    • T=current time
    • t is the freshness interval
  • Valid if: (T- TC < t) or (Tm-client = Tm-server)
    • Tm-client obtained through getattr polling before cache entry is used
    • t is 3-30s adaptive (compromise between consistency and efficiency (files/directories))
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
81
Q

What is a Daemon?

A

A daemon is a computer program that runs as a background process, rather than being under the direct control of an interactive user.

  • Systems often start daemons at boot time and serve the function of responding to network requests, hardware activity, or other programs by performing some task.
  • Daemons can also configure hardware, run scheduled tasks, and perform a variety of other tasks.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
82
Q

Explain main pointers of The Andrew File System (AFS)

A
  • A distributed computing environment
  • Design objectives
    • Highly scalable: targeted to span over 5000 workstations.
  • Whole-file-serving:
    • Entire contents of directories and files transfered from server to client.
  • Whole-file-caching:
    • When file transfered to client it will be stored on that client’s local disk
  • Clients more independent of server than NFS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
83
Q

What happens when a user opens a file in the Andrew Files System (AFS)?

A
  1. A user process opens a shared file not in local cache.
  2. Client requests a copy of the file from server
  3. The copy is cached on the local file system.
  4. Read and write operations are performed on the local copy
  5. When the user process performs a close operation, and if the file has been modified, it is copied back to the server.
  6. The server installs the new version of the file, and updates the last modified timestamp for the file.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
84
Q

Why use The Andrew Files System (AFS)?

A
  • For infrequently updated files, the cached copies remain valid for long periods (e.g. system binaries)
  • Large caches are possible
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
85
Q

What is a call-back promise?

A

A token representing a promise made by server that it will notify the client when the cached file is modified by other clients

  • Stored in client disk-cache
  • States: valid or cancelled
    • Moves from valid to cancelled state when callback is received
    • Client access to file with cancelled call-back promise => fetch fresh copy from server
    • Client access to file with valid call-back promise => use local copy
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
86
Q

Update Semantics of Unix, NFS and AFS

A
  • Unix: one-copy semantics
    • there is one copy of the file, and each write is destructive (i.e., “last write wins”)
  • NFS: one-copy semantics, except:
    • clients may have out-of-date cache entries for brief periods of time when files are shared, can lead to invalid writes at the server.
  • AFS: session semantics
    • if a callback message is lost, a client will continue working with an out-of-date copy for at most T minutes
    • if two clients writes to the same file concurrently => last to close wins (Use locking if needed)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
87
Q

Failure Performance: NFS vs AFS

A
  • When an NFS server fails, everything fails
    • all accesses have apparent local semantics (except for “soft mounts”)
    • when a server fails, it is as though the local disk has become unobtainable
    • since authentication files are often stored on NFS servers, this brings down the entire system
  • When an AFS server fails, life (partly) goes on
    • all locally cached files remain available
    • work is still possible, though there is a higher chance of conflict for shared files
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
88
Q

Explain Microsoft Message Queueing (MSMQ)

A

MSMQ is essentially a messaging protocol that allows applications running on separate servers/processes to communicate in a failsafe manner.

A queue is a temporary storage location from which messages can be sent and received reliably, as and when conditions permit. This enables communication across networks and between computers, running Windows, which may not always be connected.

By contrast, sockets and other network protocols assume that direct connections always exist.

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

What is a socket?

A
  • An interface between application and network
    • The application creates a socket
    • The socket type dictates the style of communication
      • reliable vs. best effort
      • connection-oriented vs. connectionless
  • Once configured the application can
    • pass data to the socket for network transmission
    • receive data from the socket (transmitted through the network by some other host)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
90
Q

Name the different kinds of System Queues for messages

A
  • Journal queues
    • stores copies of messages sent to/through/from this machine
    • read-only (can’t be directly sent to); much like database logs
  • Dead-letter queues
    • final resting place of undeliverable messages
    • one each for transactional and non-transactional Q’s
    • read-only (can only be read and deleted, not sent to)
  • Connector queues
    • used for store-and-forward messaging in route
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
91
Q

Name the different Communication Modes in Distributed Systems (something-cast)

A
  • Uni-cast
    • Messages are sent from exactly one process to one process
  • Broad-cast
    • Messages are sent from exactly one process to all processes on the network.
  • Multi-cast
    • Messages are sent from exactly one process to several processes on the network (named group).
  • Any-cast
    • Message is sent to one (eg “best” or “nearest”) of a set of possible receivers
  • Geo-cast:
    • Message sent to geographically close neighbors
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
92
Q

Explain the Unicast use

A
  • With 4 receivers, the sender must replicate the stream 4 times.
  • Consider good quality audio/video streams are about 1.5Mb/s (a T1)
  • Each additional receiver requires another 1.5Mb/s of capacity on the sender network
  • Multiple duplicate streams over expensive WAN links
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
93
Q

Explain the Publish-Subscribe Model

A

It is a messaging pattern where senders of messages, called publishers, do not program the messages to be sent directly to specific receivers, called subscribers, but instead characterize published messages into classes without knowledge of which subscribers, if any, there may be.

Similarly, subscribers express interest in one or more classes and only receive messages that are of interest, without knowledge of which publishers, if any, there are.

Pub/sub is a sibling of the message queue paradigm, and is typically one part of a larger message-oriented middleware system.

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

Explain Distributed Shared Memory

A

Give processes the illusion that they are running on a shared memory machine, even though they run on different machines and that their memories are physically distributed

95
Q

What is the Aim of Peer-to-Peer Systems?

A
  • Sharing of data and resources at very large scale
  • Privacy
  • Anonymity
96
Q

Peer-to-Peer: What is a super-node?

A
  • A client with
    • Sufficient Bandwidth
    • High availability
    • Public IP
97
Q

What is Onion Routing?

A

Onion routing is a technique for anonymous communication over a computer network.

In an onion network, messages are encapsulated in layers of encryption, analogous to layers of an onion.

The encrypted data is transmitted through a series of network nodes called onion routers, each of which “peels” away a single layer, uncovering the data’s next destination.

When the final layer is decrypted, the message arrives at its destination.

The sender remains anonymous because each intermediary knows only the location of the immediately preceding and following nodes.

98
Q

P2P: Unstructured vs Semi-structured vs Structured

A
  • Unstructured
    • Links in overlay created arbitrarily
  • Semi-structured
    • P2P system with super-peers
  • Structured
    • Logical topology on node and data ID’s (eg most DHT’s)
99
Q

What is a Distributed Hash Table?

A
  • A class of a decentralized distributed system
    • provides lookup service similar to a hash table (maps object key to a live node)
  • KVPs are stored in a DHT
  • Responsibility for maintaining the mapping from keys to values is distributed among the nodes.
    • This allows a DHT to scale to extremely large numbers of nodes and to handle continual node arrivals, departures, and failures.
100
Q

What are the common issues with P2P?

A
  • Organize, maintain overlay network
    • routing
    • node arrivals
    • node failures
  • Resource allocation/load balancing
  • Efficient placement & localization
  • Locality (network proximity)
101
Q

What is a backoff slot?

A

A backoff slot is an amount of time that a station can wait after the channel goes idle before the station tries to transmit again.

Differently backoff slot times add quality of service

102
Q

What is a bridge?

A

A bridge operates as a switched LAN (not a hub)

Computers, bridges and hubs connect to its ports.

103
Q

Reference model used in this course: Name the devices that process the different layers

A
  • Application layer = Application gateway
  • Transport layer = Transport gateway
  • Network layer = Router
  • Data link layer = Bridge, switch
  • Physical layer = Repeater, hub
104
Q

What is a Virtual LAN

A

A virtual LAN (VLAN) is any broadcast domain that is partitioned and isolated in a computer network at the data link layer

105
Q

Explain Store-and-Forward Packet Switching

A

Information is sent to an intermediate station where it is kept and sent at a later time to the final destination or to another intermediate station.

106
Q

What is a datagram?

A

A datagram is a basic transfer unit associated with a packet-switched network. The delivery, arrival time, and order of arrival need not be guaranteed by the network.

Connectionless

107
Q

What is a Virtual Circuit?

A

Tells the router where to send the packet.

108
Q

What is routing?

A
  • Routing is the process of discovering network paths
    • Model the network as a graph of nodes and links
    • Decide what to optimize (e.g., fairness vs efficiency)
    • Update routes for changes in topology (e.g., failures)
109
Q

What is Forwarding?

A

Forwarding is the sending of packets along a path

110
Q

What is a sink tree?

A

The set of optimal routes from all nodes to a given destination, form a tree rooted at the destination. Such a tree is called a sink tree.

The tree only contains the optimal paths from all nodes to the destination

111
Q

Explain The Optimality Principle

A

​If node y is on the optimal path from node x to z, then the optimal path from y to z also falls along the same path

112
Q

What is Flooding?

A

A simple method to send a packet to all network nodes

  • Each node floods a new packet received on an incoming link by sending it out all of the other links
  • Nodes need to keep track of flooded packets to stop the flood; even using a hop limit can blow up exponentially
113
Q

Explain Distance Vector Routing

A
  • A dynamic algorithm
  • Each router maintains a table giving the best known distance to each destination and which link to use to get there.
  • The tables are updated by exchanging info with neighbours.
  • Eventually each router knows the best link to reach each destination.
114
Q

What is the Count-to-Infinity Problem?

A

The core of the count-to-infinity problem is that if A tells B that it has a path somewhere, there is no way for B to know if the path has B as a part of it.

To see the problem clearly, imagine a subnet connected like A–B–C–D–E–F.

Suppose A goes offline. B notices that the route to A, which was distance 1, is down. The problem is, B also gets an update from C, and C is still not aware of the fact that A is down. So C tells B that A is only two jumps from C (C to B to A), which is false. Since B doesn’t know that the path from C to A is through itself (B), it updates its table with the new value “B to A = 2 + 1”. Later on, B forwards the update to C and due to the fact that A is reachable through B (From C point of view), C decides to update its table to “C to A = 3 + 1”. This slowly propagates through the network until it reaches infinity

115
Q

Explain Link State Routing

A
  • Replaced Distance Vector Routing.
  • The complete topology of the network is distributed to every router.
  • Then Dijkstra’s algorithm can be run at each router to find shortest path to each router.

Each router must do the following things to make Link State Routing work:

  1. Discover its neighbours and learn their network addresses
  2. Set the distance or cost metric to each of its neighbours.
  3. Constuct a packet telling all it has just learned.
  4. Send this packet to and receive packets from all other routers.
  5. Compute the shortest path to every other router.
116
Q

Explain Hierarchial Routing

A

Routers are divided into regions. Each router knows all the details about how to route packets to destinations within its own region but knows nothing about the internal structure of other regions.

Hierarchical routing reduces the work of route computation but may result in slightly longer paths than flat routing

117
Q

Explain Broadcast Routing

A
  • Broadcast sends a packet to all nodes
  • RPF (Reverse Path Forwarding): send broadcast received on the link to the source out all remaining links
  • Alternatively, can build and use sink trees at all nodes
118
Q

Explain Traffic-Aware Routing

A

Choose routes depending on traffic, not just topology

(Like when driving it is sometimes faster to take a longer road if there is traffic on the shorter road)

119
Q

Explain Admission Control

A

Admission control allows a new traffic load only if the network has sufficient capacity, e.g., with virtual circuits

  • Can combine with looking for an uncongested route
120
Q

Explain Traffic Throttling

A

Congested routers signal hosts to slow down traffic

ECN (Explicit Congestion Notification) marks packets and receiver returns signal to sender

121
Q

What is Load Shedding?

A

When the network discards packets that it cannot deliver.

122
Q

Explain Tunneling

A

Think of a bank with a IPv6 network in Paris and a IPv6 network London that are connected via the IPv4 Internet.

To send an IP packet to London, the Paris office constructs the packet containing an IPv6 address, and sends it to the multiprotocol router that connects the Paris IPv6 network to the IPv4 Internet.

When this router gets the IPv6 packet, it encapsulates the packet with an IPv4 header addressed to the IPv4 side of the multiprotocol router that connects to the London IPv6 network.

When this wrapped packet arrives, the London router removes the original IPv6 packet and sends it onward to the destination host.

123
Q

Explain Packet Fragmentation

A

Networks have different packet size limits for many reasons

Large packets sent with fragmentation & reassembly

124
Q

What is Subnetting?

A

Subnetting splits up IP prefix to help with management

Looks like a single prefix outside the network

125
Q

What is Aggregation?

A

Aggregation joins multiple IP prefixes into a single larger prefix to reduce routing table size

126
Q

What does a Network Address Translation (NAT) box do?

A

It maps one external IP address to many internal IP addresses

  • Uses TCP/UDP port to tell connections apart
  • Violates layering; very common in homes, etc.
127
Q

What are the control protocols that IP works with?

A

IP works with the help of several control protocols:

  • ICMP is a companion to IP that returns error info
    • Required, and used in many ways, e.g., for traceroute
  • ARP finds Ethernet address of a local IP address
    • Glue that is needed to send any IP packets
    • Host queries an address and the owner replies
  • DHCP assigns a local IP address to a host
    • Gets host started by automatically configuring it
    • Host sends request to server, which grants a lease
128
Q

Interior Routing Protocol: What is Open Shortest Path First (OSPF)?

A

OSPF computes routes for a single network (e.g., ISP)

  • Models network as a graph of weighted edges
  • It divides one large network into areas connected to a backbone area
  • It is link-state routing:
    • Uses messages below to reliably flood topology
    • Then runs Dijkstra to compute routes
129
Q

What is an address space?

A

Address space is the amount of memory allocated for all possible addresses for a computational entity, such as a device, a file, a server, or a networked computer.

130
Q

When is the Border Gateway Protocol (BGP) used?

A

Is used to do routing based on policies.

131
Q

What are Berkley Sockets?

A

Berkeley sockets is an API for Internet sockets and Unix domain sockets, used for inter-process communication (IPC). It is commonly implemented as a library of linkable modules.

132
Q

What are TSAPs?

A

TSAPs are ports for TCP/UDP

133
Q

What is a Three-way handshake?

A
  1. Host1 sends a Connect Request
  2. Host2 sends an Acknowledgement
  3. Host1 sends data
134
Q

How does a Connection Release work?

A

When the two hosts are done sending they want to release the connection.

  1. Host1 sends a Disconnect Request
  2. Host2 replies a Disconnect Request (that also serves as a sort of ACK)
  3. Host1 sends a ACK
135
Q

What is Flow Control?

A

It is the process of managing the rate of data transmission between two nodes to prevent a fast sender from overwhelming a slow receiver.

136
Q

What is Multiplexing?

A

Channels are often shared by multiple signals. After all, it is much more convenient to use a single wire to carry several signals than to install a wire for every signal. This kind of sharing is called multiplexing.

137
Q

What is inverse multiplexing?

A

If a user needs more bandwidth or more reliability than one of the network paths can provide, a way out is to have a connection that distributes the traffic among multiple network paths on a round-robin basis.

This is called inverse multiplexing.

138
Q

What is Goodput?

A

Goodput is the application level throughput, i.e. the number of useful information bits delivered by the network to a certain destination per unit of time. The amount of data considered excludes protocol overheadbits as well as retransmitted data packets. This is related to the amount of time from the first bit of the first packet sent (or delivered) until the last bit of the last packet is delivered

For example, if a file is transferred, the goodput that the user experiences corresponds to the file size in bits divided by the file transfer time. The goodput is always lower than the throughput

139
Q

When would a sender need to slow down (the sending)

A
  • Flow control
    • when the receiver is not fast enough
  • Congestion
    • when the network is not fast enough
140
Q

What is UDP?

A

UDP uses a simple connectionless transmission model with a minimum of protocol mechanism. It has no handshaking dialogues, and thus exposes the user’s program to any unreliability of the underlying network protocol. There is no guarantee of delivery, ordering, or duplicate protection.

141
Q

What is a Checksum?

A

A checksum is a count of the number of bits in a transmission unit that is included with the unit so that the receiver can check to see whether the same number of bits arrived.

If the counts match, it’s assumed that the complete transmission was received.

Both TCP and UDP communication layers provide a checksum count and verification as one of their services.

142
Q

What is Real-time Transport Protocol (RTP)

A

RTP (Real-time Transport Protocol) provides support for sending real-time media over UDP

  • Often implemented as part of the application

RTP header contains fields to describe the type of media and synchronize it across multiple streams

  • RTCP sister protocol helps with management tasks

Buffer at receiver is used to delay packets and absorb jitter so that streaming media is played out smoothly

High jitter, or more variation in delay, requires a larger playout buffer to avoid playout misses

  • Propagation delay does not affect buffer size
143
Q

What is TCP?

A

TCP provides reliable, ordered, and error-checked delivery of a stream of octets (unit of size 8 bits) between applications running on hosts communicating over an IP network.

144
Q

What does the TCP header include?

A

It includes addressing (ports), sliding window (seq. / ack. number), flow
control (window), error control (checksum) and more.

145
Q

How does TCP establish connections?

A

TCP sets up connections with the three-way handshake

Release is symmetric (Both the client and server can initiate the disconnect operation.)

146
Q

TCP/IP: Application layer

A

Includes the protocols that provide user services.

  • Protocols:
    • HTTP
    • FTP
    • Etc.
147
Q

TCP/IP: Transport layer

A
  • Establishes data channels that applications use
  • End-to-end message transfer independent of underlying network
  • Error, Flow and Congestion Control
  • Contains the protocols: TCP and UDP
148
Q

TCP/IP: Internet layer

A
  • Responsible for sending packets across multiple networks.
  • Does host addressing and identification
  • Does packet routing (sending datagrams from source to destination
  • Contains the protocols: IP and ICMP
149
Q

TCP/IP: Link layer

A

Contains communication methods for data that remain within a single network segment

150
Q

What is one of the problems with sending a lot of small frames?

A

Each frame needs a header which takes up space, often better to send a larger frame with only one header instead.

151
Q

Explain Delay Tolerant Networks (DNT)

A

Store messages inside the network until they can be delivered

  • Messages called bundles are stored at DTN nodes while waiting for an intermittent link to become a contact
  • Bundles might wait hours, not milliseconds in routers
  • May be no working end-to-end path at any time
152
Q

Explain Addresses, Ports and Sockets with a real world analogy

A

Like apartments and mailboxes

  • You are the application
  • Your apartment building address is the address
  • Your mailbox is the port
  • The post-office is the network
  • The socket is the key that gives you access to the right mailbox (one difference: assume outgoing mail is placed by you in your mailbox)
153
Q

Sockets: The bind function

A

Associates and (can exclusively) reserves a port for use by the socket

154
Q

How does nodes keep track of time?

A
  • Each node has its own private physical clock !
  • Physical clocks are HW devices that count oscillations of a quartz.
  • After a specified number of oscillations, the clock increments a register, thereby adding one clock-tick to a counter that represents the passing of time: Hi(t).
155
Q

What is Clock Drift?

A

Two clocks count time at different rates.

156
Q

What is Clock Skew?

A

The difference between the times on two clocks

157
Q

Explain external clock synchronization

A

Synchronization of process’ clocks with an authorative external source.

158
Q

Explain internal clock synchronization

A

Synchronization of process’ clocks with each other

159
Q

Clocks: What are synchronization bounds?

A

The maximum amount of clock skew allowed between two clocks.

  • Let K > 0 be the synchronization bound
  • Let clock1 and clock2 be clocks at two processes
  • If (clock1.time - clock2.time) < K
  • Then clocks clock1, clock2 agree within the bound of K
160
Q

Synchronous systems: When synchronizing with an external source, how does the client make sure that the time is correct?

(The server sends what time it is to the client)

A

Since the system is a synchronous system we know (by assumption):

  • Known upper (max) and lower (min) bound for communication delay,
  • Known maximum clock drift,
  • Known maximum time taken for each computational step.

So we synchronize by:

  • Time server sends its local time t to a client,
  • Ideally, client sets clock to tserver +TtransferTime (Unknown!)
  • The client sets its local clock to tserver + (max+min)/2.
  • Skew is at most (max-min)/2
161
Q

Explain Christians Algorithm

A

A server (or multiple) server have access to a UTC source, and clients can then request the time from this server.

162
Q

Explain The Berkley Algorithm

A

A server gets the clock times from all clients, averages them, and then sends back the “new” time.

163
Q

Main attributes of the Network Time Protocol

A
  • Synchronization of clients relative to UTC on an internet-wide scale
  • Reliable, even in the presence of extensive loss of connectivity
  • Allow frequent synchronization (relative to clock drift)
  • Tolerant against disturbance
164
Q

Explain NTP Stratum

A
  • Higher level servers never synchronize with servers at lower stratum
  • Failures: nodes connected to multiple servers; degradation to higher level nodes
165
Q

What are the different Network Time Protocol Modes?

A
  • Multicast (for quick LANs, low accuracy)
    • server periodically sends its actual time to its leaves in the LAN
  • Procedure-call (medium accuracy)
    • server responds to requests with its actual timestamp
    • like Cristian’s algorithm
  • Symmetric mode (high accuracy)
    • used to synchronize between pairs of time servers (mostly at high stratums)

In all cases, the UDP is used

166
Q

What is Leslie Lamport’s Happened Before Relation

A
  • This ordering is based on two simple and intuitively obvious points:
    • If two events occurred at the same process pi ( 􀀋i = 1􀀏, 2􀀏, … ,N􀀌 ), then they occurred in the order in which pi observes them – this is the order –>i that we defined above.
    • Whenever a message is sent between processes, the event of sending the message occurred before the event of receiving the message.
  • Lamport called the partial ordering obtained by generalizing these two relationships the happened-before relation. It is also sometimes known as the relation of causal ordering.
167
Q

Total Order Lamport Timestamps

A
168
Q

Vectore clocks

A

An extended version of Lamport’s mechanism, where each process keeps track of all other clocks receiving messages, by storing them in a vector, instead of just choosing the larger value.

169
Q

What does Loose Coupling mean?

A

Loose coupling is an approach to interconnecting the components in a system or network so that those components depend on each other to the least extent practicable.

Coupling refers to the degree of direct knowledge that one element has of another.

170
Q

What does interoperable mean?

A

It is a property of a system, which interface is completely understood, to work with other systems, present or future, without any restricted access or implementation.

171
Q

Explain Service Oriented Architecture

A

Develop large scale applications from (distributed) collections of smaller loosely-coupled service providers

172
Q

What is Uniform Resource Identifier (URI)?

A
  • URI (Uniform Resource Identifier): a general ressource identifier, whose value may be either URL or URN
  • URL: includes resource location information
    • http://www.cdk4.net/person
  • URN: (Uniform Resource Names): location independent, rely on lookup service to map them onto the URLs of resources
    • urn:isbn:0-321-26354-5
173
Q

XML tags

A
  • XML: tags describe the logical structure of the data
  • XML is extensible: users can define their own tags (HTML uses a fixed set of tags)
174
Q

XML-Schema

A
  • A schema defines the legal structure (grammar) of an XML document
    • elements and attributes that can appear in a document,
    • how the element are nested and the number of elements,
    • whether an element is empty or can include text.
175
Q

What is SOAP

A

SOAP is a messaging protocol that allows programs that run on different operating systems (Windows, Linux, etc.) to communicate using HTTP and XML.

176
Q

SOAP Message Enveloping

A
177
Q

How does SOAP use nodes?

A

Soap message may be destined to a set of intermediary nodes as well as an
ultimate receiver
•En/de-cryption, compression, load-balancing, access control, auditing, routing,
monitoring

178
Q

How efficient is SOAP?

A
  • SOAP requests may be 14 times longer than CORBA
  • SOAP requests may take 882 times as long as CORBA
179
Q

Explain Web Services Description Language (WSDL)

A

WSDL (pronounced “Whistle”)

  • Interface Definition for Web services
  • XML-based language describing:
    • What functionality is provided?
    • How should it be accessed?
    • Where is the service located?
180
Q

Explain REST

A

REST is an architectural style for the building of network-based systems

  • Characteristics of REST
    • “Everything” is resources identified through URIs
    • Resources manipulated through representations
    • Self-descriptive messages
    • Hyperlinks define application state
    • Interactions are stateless
  • REST emphasizes the role of intermediaries:
    • caches, proxies, gateways, etc.
181
Q

What is a RESTful Web-service?

A

A web service implemented using HTTP and the principles of REST.

182
Q

What is a cloud?

A

A cloud is a unified computing resource made up of several interconnected or virutalized computers.

183
Q

Explain Platform as a Service (PaaS)

A
  • Development platform (Abstract Infrastructure, OS, Middleware) to drive developer productivity.
  • Provides the programmer with sets of software elements than can be combined in a scalable way to build large scale applications
  • Hosting and management
  • Examples
    • Google App Engine: scalable environment for developing and hosting web-applications (managed object storage, messaging, authentication,…)
184
Q

Explain Software as a Service (SaaS)

A
  • (online) applications and software delivered as a service over the Internet
  • No application software installed and run on the customer’s own computers.
  • Simplified maintenance and support.
  • Pay based on usage.
  • API’s /SOA
  • Examples:
    • Google Docs, Gmail,
185
Q

Cloud: Under/Over Provisioning of server capacity

A
  • Over-provisioning is expensive
    • Poor Ressource Utilization
    • How to predict peak-demand?
  • Under-provisioning leads to
    • poor response time
    • bad user experience / efficiency
  • Sustained under provisioning ==> customers leave
    • E.g. ”Friendster”
186
Q

What is a Security Policy?

A

A network security policy, or NSP, is a generic document that outlines rules for computer network access, determines how policies are enforced and lays out some of the basic architecture of the company security/ network security environment.

187
Q

What is a Security Mechanism?

A
  • A security mechanism are used to enforce a security policy.
  • Mechanisms can be nontechnical, such as requiring proof of identity before changing a password; in fact, policies often require some procedural mechanisms that technology cannot enforce
188
Q

Explain the CIA Triad

A
  • Confidentiality:
    • Access must be restricted to those authorized to view the data in question
  • Integrity:
    • Maintaining the consistency, accuracy, and trustworthiness of data over its entire life cycle.
  • Availability:
    • Data is available.
      • Providing adequate bandwidth
      • Disaster recovery
189
Q

Name the security threats

A
  • Eavesdropping
  • Masquerading
  • Message tampering
  • Replaying
  • Denial of service
190
Q

What is a block cipher?

A

A block cipher is a method of encrypting text (to produce ciphertext) in which a cryptographic key and algorithm are applied to a block of data (for example, 64 contiguous bits) at once as a group rather than to one bit at a time.

191
Q

Explain Cipher Block Chaining

A

In CBC mode, each block of plaintext is XORed(true if either but not both inputs are true) with the previous ciphertext block before being encrypted.

This way, each ciphertext block depends on all plaintext blocks processed up to that point. To make each message unique, an initialization vector must be used in the first block.

192
Q

Security terms used in our project that we need at DSN exam

A
  • Cryptography notation
    • Signing / Certificate
    • Encryption
193
Q

Security: What is a Nonce?

A

A nonce, in information technology, is a number generated for a specific use, such as session authentication. In this context, “nonce” stands for “number used once” or “number once.”

194
Q

Explain the Needham-Schroeder secret-key authentication protocol

A
  1. A requests S to supply a key for communication with B
  2. S returns a msg encrypted with A’s secret key, containing KAB and a ‘ticket’ encrypted with B’s secret key. The nonce NA demonstrates that the msg was sent in response to the preceeding one. A belives that S sent the msg because only S knows A’s secret key.
  3. A sends the ‘ticket’ to B
  4. B decrypts the ticket and uses the new key KAB to encrypt another nonce NB
  5. A demonstrates to B that she was the sender of the previous msg by returning an agreed transformation of NB.
195
Q

What is Kerberos?

A

Designed for intranet authentication and encryption.

  • Requires central server(s) holding user passwords (possibly in scrambled form).
  • Ticket: Token issued to a client for presentation to a particular server.
  • Authentication: A token constructed by a client and sent to a server to prove the identity of the user.
  • Session key: A secret key randomly generated by Kerberos and issued to a client for use when communicating with a particular server.
196
Q

Explain the Heartbleed bug

A

Security vulnerability in OPENSSL software that lets a hacker access the memory of data servers.

XKCD comic explanation used in lecture:

  • A asks server to respond with the word “potato”, 6 letters long (and the server responds)
  • A asks the server to respond with the word “hat” 500 letters long.
    • The server then prints “hat” and the next 497 words in memory (containing passwords etc.)
197
Q

Explain the Shellshock bug

A

Shellshock is a family of security bugs in the widely used Unix Bash shell.

Many Internet-facing services use Bash to process certain requests, allowing an attacker to cause vulnerable versions of Bash to execute arbitrary commands. This can allow an attacker to gain unauthorized access to a computer system.

198
Q

Name the different scales of networks

A
  1. Vicinity = Personal Area Network
  2. Building = Local Area Network
  3. City = Metropolitan Area Network
  4. Country = Wide Area Network
  5. Planet = The Internet
199
Q

What is ubiquitous computing?

A

Embedding computation into the environment and everyday objects would enable people to interact with information-processing devices more naturally and casually than they currently do, and in ways that suit whatever location or context they find themselves in.

200
Q

What is big data

A

Large sets of data.

201
Q

What is a packet-switched network?

A

Packet-switched describes the type of network in which relatively small units of data called packets are routed through a network based on the destination address contained within each packet

202
Q

What is slow-start?

A
  • The purpose of slow start is to avoid congestion.
  • It works by sending one packet.
  • When an ack msg is received it thinks “that went well lets turn it up a bit”.
  • It then sends two packets.
  • It keeps doubling this way until either it fails or the msg has been delivered.
  • The reason to send multiple packets is to achieve higher transmission speed.
203
Q

What is a routing table?

A

A routing table is a set of rules, often viewed in table format, that is used to determine where data packets traveling over an Internet Protocol (IP) network will be directed.

A basic routing table includes the following information:

  • Destination: IP address of the packet’s final destination
  • Next hop: The IP address to which the packet is forwarded
  • Interface: The outgoing network interface the device should use when forwarding the packet to the next hop or final destination
  • Metric: Assigns a cost to each available route so that the most cost-effective path can be chosen
  • Routes
204
Q

Explain the IPv6 header

A

IPv6 protocol header has much longer addresses (128 vs. 32 bits) and is simpler (by using extension headers)

It handles other functionality:

Extension header: Description
Hop-by-hop options: Additional information for the destination
Routing: Loose list of routers to visit
Fragmentation: Management of datagram fragments
Authentication: Verification of the sender’s identity
Encrypted security payload: Information about the encrypted contents

205
Q

What is an internetwork?

A

Internetworking is the practice of connecting a computer network with other networks through the use of gateways that provide a common method of routing information packets between the networks.

The resulting system of interconnected networks is called an internetwork, or simply an internet.

206
Q

What is the ICMP protocol?

A

It is used by network devices, like routers, to send error messages indicating, for example, that a requested service is not available or that a host or router could not be reached. ICMP can also be used to relay query messages

Found in the Internet layer of TCP/IP

207
Q

What is a sequence number?

A

When frames may be transmitted multiple times there is a danger that the receiver will accept the same frame two or more times and pass it to the network layer more than once. To prevent this from happening, it is generally necessary to assign sequence numbers to outgoing frames, so that the receiver can distinguish retransmissions from originals.

208
Q

What is a GUID?

A

A globally unique ID

209
Q

Explain routing table for connectionless network

A
  • For sending datagrams
    • Each router has a table telling it which outgoing line to use for each possible destination router.
    • This table can be updated as often as needed, due to jams, nodes broken down or other reasons.
210
Q

Explain Routing Tables for Connection oriented networks

A

In a connection oriented network, each packet has a Virtual Circuit that tells the routers where to send the packet.

  • Connection setup:
    • A route is chosen and given to the VC
    • VC is assigned a unique VC number
    • The setup procedure uses the same kind of table as datagrams.
  • Each router along the chosen path puts an entry in a table, linking the VC number to an outgoing line.
  • Every further packet in this connection has the VC number in a header, which the routers then reads, to determine where to send the packet.
211
Q

Sliding window

A

The purpose of Sliding window is to avoid congestion by making sure sender does not send more than the receiver can handle (throttling)

  1. Sender: This is how big of a window i need
  2. Receiver: This is how big of a window i have
  3. In each ack msg the receiver says: Remaining window space
212
Q

RMI: What are server threads?

A

A thread on the server. Typically each remote invocation is run in its own separate thread.

213
Q

RMI: Call Semantics (Maybe, At least once, At mose Once)

A
  • Maybe:
    • The client calls the remote method, and is happy if he receives a reply, otherwise he just carries on
  • At lease once:
    • The client calls the remote method until he receives a reply. The server keeps running the func while he receives the request.
  • At most once:
    • The client calls the remote method until he receives a reply. The server only calls the function once, and otherwise just returns a value from the history / buffer.
214
Q

How are Distributed File Systems different from Centralized?

A
  • No open or close operations
  • The Read and Write commands have a parameter specifying a startup point
    • Unix has a pointer specifying current position
  • All funcs, except Create, are idempotent
215
Q

NFS: What is a file handle?

A

An object consisting of the filesystem identifier, the i-node number of file and the i-node generation number.

  • i-node number = file location in unix
  • generation number needed because i-node number is reused after file is deleted
216
Q

NFS: What is read-ahead?

A

Guessing which data you need next, and then reading them while the disk is idle anyway.

217
Q

NFS: What is write through?

A

If you are writing critical data, you can request the server to write through the buffer, i.e. writing directly to the disk (also stored in the buffer), before you receive a reply.

218
Q

NFS: Directory Service

A

Maps names of network resources to network addresses

219
Q

NFS: Client Module

A

Emulates the conventional file system interface

220
Q

Explain Pastry and the example of forwarding a msg

A
  • Pastry is a routing overlay.
  • All nodes and objects are assigned GUIDs.
  • In a network with n nodes, the complexity is O(log n)
  • Each node stores a leaf set
    • Vector containing GUIDs and IPs of nodes with numerically closest GUIDs to either side of their own (above and below)

Example of forwarding a msg

  1. At each step the msg is closer to the destination
  2. Has to send msg to GUID 0302
  3. Finds the peer with longest common prefix (03**)
  4. Forward msg to him. He has to forward to longest common prefix
221
Q

Pastry: Leaf set and its purpose

A

A vector containing the GUIDs and IP addresses of the nodes whose GUIDs are numerically closest on either side of its own.

Purpose:

  • Used in Pastry’s routing algorithm to determine whether the receiver is one of the neighbors.
  • If there is no match in the routing table
    • send to the one of our neighbors that are numerically closest.
222
Q

Pastry: What happens when a node goes offline and when a node joins?

A
  • Msg is sent to dissapeared node
    • Neighbor receives it and must pass it on whenever possible.
  • Node joins
    • It gets data from other nodes.
223
Q

P2P: Overlay network

A
  • A distributed algorithm that takes the responsibility for locating nodes and objects.
  • Resources and Nodes are identified by GUID.
224
Q

Explain public key signing

A
  1. A generates key pairs K.priv and K.pub
  2. A computes the digest of message M, H(M) using an agreed secure hash func H.
  3. A encrypts it using the private key K.priv to produce the signature S={H(M)}K.priv
  4. A sends the signed message [M]K = M,S to B
  5. B decrypts S using K.pub and computes the digest of M, H(M).
  6. If they match, the signature is valid.
225
Q

Name the three threats to distributed systems

A
  • Leakage
    • Acquisition of information by unauthorized people
  • Tampering
    • Unauthorized alteration of information
  • Vandalism
    • Interference with the proper operation of a system
226
Q

Classes of attacks

A
  • Eavesdropping
    • Obtaining copies of messages without authority
  • Masquerading
    • Sending or receiving messages using the identity of another principal without their authority
  • Message tampering
    • Intercepting messages and altering them before passing them on (MITM)
  • Replaying
    • Storing intercepted messages and sending them later
  • Denial of service
    • Flooding a channel or resource in order to deny access for other users
227
Q

What is a HMAC?

A
  • Construction for calculating a message authentication code (MAC) (short piece of information used to authenticate a message) involving a cryptographic hash function in combination with a secret cryptographic key.
  • As with any MAC, it may be used to simultaneously verify both the data integrity and the authentication of a message.*
228
Q

Explain the main pointers of Needham Schroeder (not the protocol itself)

A
  • Based on an authentication server S that supplies secret keys to clients.
  • S has a table of names and secret keys for each principal known to the system
  • The secret key is used to authenticate client processes and to transmit messages securely between client processes and S.
  • The protocol is based on the generation and transmission of tickets by S
  • A ticket:
    • Encrypted msg containing a secret key for use in communication between A and B.
  • If the protocol is successfully completed, both A and B can be sure that any message encrypted in KAB that they receive comes from the other and any message they send encrypted with KAB can only by understood by the other or S.
229
Q

Code: Socket.listen

A

Listen causes a connection-oriented Socket to listen for incoming connection attempts.

230
Q

What is a Lamport clock?

A
  • A simple software counter that is not related to any physical clock.
  • Every process keeps a counter
  • Each message is timestamped with the counters value, after it has been incremented.
  • When sending messages to other machines in the system, this value is then piggybacked, and the host then takes the larger of the values (the piggybacked value and the host’s counter’s value), and sets the counter to this value, before proceeding.
231
Q

What can be done with vector clocks that cannot be achieved with Lamport clocks?

A

With Lamport clocks, we know that if event e happened before event e’, then
L(e) < L(e`), but we have no way of going the other way.

  • With vectors we can say that we know that:
    • “this message happened before this message, and at that time we know that the counter in that process was at least this value”.

We may compare vector timestamps as follows:

V = V’ iff V[j] = V’[j] for j = 1,2,…,N

V ≤ V’ iff V[j] ≤ V’[j] for j = 1,2,…,N

V < V’ iff V ≤ V’ /\ V ≠ V’

232
Q

What is bus topology?

A

A bus network is an arrangement in a local area network (LAN) in which each node(workstation or other device) is connected to a main cable or link called the bus.

233
Q

What is Full-duplex?

A

Full-duplex data transmission means that data can be transmitted in both directions on a signal carrier at the same time.

For example, on a local area network with a technology that has full-duplex transmission, one workstation can be sending data on the line while another workstation is receiving data.

Full-duplex transmission necessarily implies a bidirectional line (one that can move data in both directions).