Notes > Computer Systems > Distributed Systems
|
The Internet is simply a large grid which consists of many nodes and connections between these nodes. This extensive network technically allows any Personal Computer connected to the internet to communicate with any other connected computer.
Logical connections are the apparent direct connections that exist between machines communicating with each other. Many physical connections actually make up a logical connection and software is used to find a path through physical connections in order to create a logical link between two machines.
Data is sent in packets across communication links. Data packets not only contain the data itself but they contain information about the data:
- packet type
- size
- destination
- source
- integrity check (e.g. a parity bit)
The types of link that exist between machines across a large network may be different and be susceptible to interference. This means that there is a relatively high chance of data being corrupted as it travels through different machines from its source to its destination. Sending the data in packets allows for error checking and enables the use of "handshaking".
Handshaking refers to the 2-way communication between a source and destination machine that ensures data is transmitted successfully. An example "conversation" between two machines may be as follows:
Data Packet 1 Sent -->
  <-- Acknowledgment of Data Packet 1 Received
Data Packet 2 Sent -->
  <-- Data Packet 2 Received Corrupted
Data Packet 2 Re-sent -->
  <-- Acknowledgment of Data Packet 2 Received
Data Packet 3 Sent -->
  etc...
If no acknowledgement of receipt is sent back regarding the packet of data, the source computer re-sends the packet after a certain length of time has elapsed.
The Transmission Control Protocol / Internet Protocol (TCP/IP) Stack is the architecture involving the "Transport / Network / Link" structure that exists across the internet between to applications at the ends of a logical link. Applications on a machine plug into a "socket" which allows them to communicate across the internet.
User Datagram Protocol (UDP) is a set of protocols that simply allows the transmission of data but does not provide any means of error processing in itself, nor does it guarantee successful delivery of the data. Transmission Control Protocol (TCP) is a protocol that allows bi-directional communication and error recovery.
IP numbers are used to identify a machine that is connected to a network. IP numbers or addresses typically take the form xxx.xxx.xxx.xxx where each 3-digit number (xxx) is the denary (base 10) representation of an 8-bit binary number. The whole IP number is therefore 32 bits long. A port number can be added on to the IP number to specify an application since each application program has a unique port number associated with it. This port number is typically 16 bits long.
Domain names provide an easy way to identify machines connected to the internet. The Domain Name Service (DNS) is a directory or index that stores the information regarding which domain names point to which IP addresses. A single computer (with a single IP address) may have more than one domain name associated with it. This is the case for website hosting companies who host multiple websites of their customers on a single machine (the server). The server itself will pick the appropriate web pages when a certain URL is requested.
Try a Computer Systems Quiz in the Computing Students Computing Quizzes Section to test your knowledge.
Search for "Distributed Systems" on:
Google |
Kelkoo |
Amazon |
eBay (UK) |
eBay (US)
Search for "Distributed Systems" on the rest of Computing Students: Distributed Systems
|