Regular two-way telephone calls are relatively easy: the caller speaks to only one person, so whatever he says is directed towards the other person. With three-way calling, things tend to become more difficult. When the caller speaks, how will the other two people know if the message is for one of them or both of them?

Networks have this problem as well (see Figure 1). When more than two computers are connected to a network, they are able to communicate with each other through the transport layer, a combination of hardware and software. Thing is, this layer is shared by all, not between individual pairs of computers. There has to be a reliable way for one of the computers to send data to a specific computer and not all of them. The computer may also want confirmation that its data was properly received.

packets

Computers send data through the transport layer using packets, which isn't unlike regular mail messages. These packets contain not only the data, but the sender's identification, the destination, and a little error-control information to make sure the data was not damaged. (Derfler 88-89) (see Figure 2)

There are different ways these packets can be routed. In server-client networks, a server could handle the messenging by processing it and sending it to its proper destination. When the destination computer receives the message, it can return a message of confirmation to the sender. This is a synchronous operation: the sender needs to have confirmation before it can continue on its merry way. An asynchronous operation is where the sender continues on its task whether or not it receives any confirmation. Here, the messenging server can place the packets in a queue, where the other computers can look for it and pick it up, like mail in a mailbox. (Burghart)

how local-area networks send packets

There are generally three types of local-area networks, based on how they send information to each other. Computers on a bus network send their packets to all the computers, even if the packet is for a specific computer only. Packets addressed to one particular computer are received by that computer; all other computers delete the packet upon reception. (White 156-7)

On a token-ring network, computers are hooked up in a circle. A continuous "null" packet with no data continuously travels through the computers in a loop, until one of the computers has data for it. Once the packet has a new data and destination, it will continue travelling through each computer until it reaches its destination. The receiving computer moves the data to its own memory and then sends the now-null packet along its way. Think of a merry-go-round, with people surrounding it. When one person wants to give something to another person, he puts it on the merry-go-round with a tag. Each person checks it until the person to whom the tag is addressed picks it up. (White 158-9)

A star network requires an intelligent router in the middle. As the computer sends its packet out, the router receives the information and directs it towards the proper computer by opening a channel to that computer only, putting the rest of the network traffic on hold. To prevent the packet from monopolizing all of the network traffic, the router would occasionally switch to another packet and transfer that one, and then switch back (White 160-1).

how the internet sends packets

The Internet, when shrunk down to its essence, is very similar to a local-area network. Your computer, the client, sends messages and requests to the server, and the server fulfills the request and sends back the results. The differences? The server could be very far away and the messages would go through different networks. Since the Internet is an immense network of networks of networks, messages passed through the Internet must be navigated somehow so that it reaches its destination. (See Figure 3)

The client typically connects to the Internet by calling the host computer of the Internet Service Provider (ISP). This computer is directly hooked up to the Internet; thus it is actually the real client. Some Internet users can even use these direct connections and bypass the indirect connection through a modem. The ISP's host simply acts as a path for messages between your computer ‹ which we'll still refer to as client ‹ and the Internet. (White 164)

From here, the client's message may pass through another separate network, or go through a router, which determines the message's destination and the best path for the message to take, based on network traffic and connections. (White 164) The router then sends the message off to the appropriate destination. As the message goes through different networks, protocols aboard servers convert the message into a packet, just as local-area networks do. (White 164) These packets contain destination information, data size, error-control data, and more.

When the server receives the packet, it reads the message and fulfills the request: sending back a file, sending an email, and so on. It often replies to the client stating that it completed the request.

One can easily see the lengthy process packets must travel, which is why the Internet has a delay in sending messages and retrieving webpages. Thus, distributed computing over the Internet cannot rely on this latency, and, because the packets go through different networks, the security of the data can be easily compromised at any point. But the size of the Internet ‹ in worldly proportions ‹ means that there are a great many computers that can be used for distributed computing power.