Ch1 - Client-Server Systems Flashcards
Define a distributed system
A computer system consisting of multiple connected processors, where communication between them is achieved by passing messages.
What are three main issues which affect distributed systems?
DELAYS – No global clock
FAILURES – must be fail-safe
SECURITY ATTACKS
Distributed Systems require sophisticated tools, give 3 reasons why:
No global clock
Highly concurrent
Required to be fail-safe
Give 4 kinds of distributed system
Internet
Intranet
Mobile (nomadic) network
Pervasive (ubiquitous) network
What is the special-case distributed system?
Parallel Computing
What makes parallel computing different to mainstream distributed systems? (5 points)
- Not geographically separated,
- Share processors rather than resources,
- Not flexible
- Less scaleable
- Communicate through shared memory instead of messages
List 9 challenges in making a distributed system:
Heterogenous components (HW & SW) Must conform to open standards Maintain security Be scaleable Handle wide variety of workloads Fail-safe Asynchronous Handle conflicts Location transparency
What are the 2 main distributed system architecture models?
Client-server
Peer-to-peer
Describe the Client-server architecture model:
A server offers a service over the network to one or more clients. The (HW/SW) capabilities of the server usually exceed the client.
Describe tho Peer-to-peer architecture model:
There are no distinguishing differences in the SW between each process on the network. Peers work cooperatively to provide the service & may have different resources.
Give 7 D.S. architecture model variations:
Partitioning/Replicating data (fail-safe)
Proxy Servers (cache data)
Mobile/Client code (applets)
Thin Client
Fat Client
Spontaneous Interoperation (discover & connect)
Index/Coordination Servers (on P2P)
List 5 types of network:
Personal Area Ntwk Local Area Ntwk Metro Area Ntwk Wide Area Ntwk Internetwork (internet)
Give 2 reasons why messages are broken into packets:
- allows information to take multiple routes
- communications aren’t clogged by a single message
List the seven layers of the OSI model
Application Presentation Transport Session Network Data-link Physical
Which OSI layer does internet protocol (IP) work on?
Network Layer
Which two protocols build on IP at the transport layer?
TCP
UDP
The Application Layer protocol: http uses which transport protocol?
TCP
The Application Layer protocol: smtp uses which transport protocol?
TCP
The Application Layer protocol: ftp uses which transport protocol?
TCP
The Application Layer protocol: VoIP uses which transport protocol?
UDP
The Application Layer protocol: DNS uses which transport protocol?
DNS is a router protocol, so it uses UDP
What kind of transfers use the user datagram protocol?
Video streaming, VoIP and router protocols such as DNS & ARP.
What kind of transfers use the transmission control protocol?
file, email and web browser transfers (e.g. ftp, http, smtp)
What are the two main characteristics of UDP and why is it used?
- Fast, but;
- unreliable data transfer
Used where speed is essential (routers) or large files won’t miss small losses (video or voice).
What are the two main characteristics of TCP and why is it used?
- Reliable, but;
- Slow
Used when integrity of data transferred is essential.
Which transport layer protocol uses handshaking?
TCP
Which transport layer protocol uses IP packets and sequencing?
TCP
What kind of packets does UDP break info into?
Datagram packets
Which has the shorter header - TCP or UDP?
UDP
Which transport layer protocol uses acknowledgements?
TCP
Which transport layer protocol does not use congestion control?
UDP
What OSI layer is is http
Application
Application Layer protocols are typically built on which transport protocols?
TCP & UDP
Give three types of Application Layer protocols
- Request
- Request-Reply
- Request-Reply-Acknowledge
Describe an http request
A Series of ASCII strings containing method details and data
Describe http GET method
Used to retrieve a resource as specified in the URL
Describe http POST method
Used to retrieve a resource as specified in the method body
Give the 7 http methods
GET – DELETE
POST – OPTIONS
PUT – TRACE
HEAD
Where is info placed in an http GET method, and what is the advantage of this?
Info from forms is placed into the URL
- placed after a ? Character
- “variable=value” format
Where is info placed in an http POST method and what is the advantage?
Info is placed in the method body, making it more difficult to access. This is both an advantage and a disadvantage.
2 disadvantages of http being STATELESS
- doesn’t maintain info about each connection
- can’t tell if request is from an earlier or new client (IP addresses are temporary)
Why are cookies used in http
Http is stateless
Cookies hold a unique ID for the client, held by the client
What are 3 solutions for http’s STATELESS disadvantages?
- Cookies
- URL rewriting
- Hidden Form Fields
What protocol is RMI typically built on?
TCP
What is the purpose of RMI?
Hides network protocols such as sockets and streams, allowing it to appear as though processes are running on the same machine
What is a proxy stub and what does it do?
An RMI component which represents a remote Object, it forwards serialised messages to the actual object for processing
Describe the RMI Registry
- Stores available remote objects,
- Can look them up via a unique String identifier
- listens on port 1099
Give the 8 steps for RMI implementation
1 define remote interface 2 Implement remote object 3 (from server) export remote object 4 implement client 5 use proxy stub in client 6 start RMI Registry server 7 start server and code base 8 start clients