THE PROTOCOLS YOU USE:

The Internet has been called nothing more than the telephone system for computers. The Public Switched Telephone Network (PSTN) is, in many countries, a digital switched network with redundant paths that digitized voice signals can follow from speaker to listener. However, while the PSTN provides many of the paths between networks that allow the Internet to work, the Internet is more than a telephone system.

The PSTN is a circuit-switched network. It sets-up a temporary circuit through a series of switches in order to connect two telephones, and maintains that circuit until the call is terminated. The Internet is a collection of routers that pass packets of data sent by one computer to another computer along whatever path is available at that brief instant of time. Each data packet may follow a completely different routing path through the various networks that make up the Internet - even if it's sent to the same receiving computer. In the pauses between sending one computer's packets, the routers are available to do the same job for any other computer - there is no dedicated circuit. The Internet is a packet-switched network.

This results in a much greater efficiency in use of communications bandwidth, analogous to letting other people talk over a telephone circuit during your pauses in conversation. It also yields a higher probability that the data will eventually be routed through to its destination, even in the face of major network blockages.

In order to use this fault-tolerant communications system, any computer, regardless of its particular operating system, need only follow a few, standardized rules for sending and receiving data packets. Those sets of rules constitute protocols.

These protocols are layered on top of one another. This allows two pieces of software running at the same layer on communicating computers to talk to one another over the Internet, without knowing how the various basic communications functions they use are provided to them by other software, firmware and hardware operating at lower protocol layers.

The protocol at each layer must be free of operating errors, if it is to be a solid foundation for the layers that rest on top of it. At each layer, there are parameter settings whose values can determine the speed at which your computer can communicate over the Internet, or even if it can communicate at all.


In order to download a file, an application program on your computer just has to use the File Transfer Protocol (FTP). To get the various image files and other data that make up a "page" of Hypertext on the World-Wide Web, it uses the Hyper-Text Transfer Protocol (HTTP). To send E-Mail, it can use the Simple Mail Transfer Protocol (SMTP).

FTP, HTTP and SMTP are provided as services by communications software that operates at the next lower protocol layer. It breaks up a requested large data transfer into the sending (and acknowledged receipt) of a sequence of small data segments using the Transmission Control Protocol (TCP). These TCP data segments are wrapped in IP transmission units and blindly routed from one computer's address on the Internet to the other's by intermediary routers using the Internet Protocol (IP).

Note: TCP is used to ensure receipt of each, individually numbered byte of data sent over the (assumed to be) unreliable Internet by asking for acknowledgement of receipt by sequence number. Protocols for sending redundant data, a portion of which can be lost without causing severe damage (like a few of the samples out of a continuous stream of sound samples) are sent with the simpler User Data Protocol (UDP), which doesn't require acknowledgement of receipt - trading reliability for bandwidth.

The IP routers have no knowledge of the contents of the transmission units, or of why you want them - that's strictly between the TCP sender and the TCP receiver (your application program). They also don't know what an alphabetical address in a Uniform Resource Locater (URL) like "www.greatsite.com" means, either. They only understand IP (numerical) addresses like 123.21.12.3 which your web browser software obtained from a Domain Name Server using the "DNS look-up" service to translate http://www.greatsite.com into http://123.21.12.3 before sending it out on the Internet.

NOTE: This DNS request is sent to the IP address of a specific server that performs this telephone directory-like look-up of "domain names" for a particular Internet access provider's customers. Improperly- (or un-) entered DNS addresses in setting-up new users' winsocks are a common cause of inaction from their web browser software. The browser just sits waiting for the DNS look-up to return an IP address, which it never receives.

Any computer that "speaks" TCP/IP can talk over the Internet. How you "tune" your computer's TCP/IP parameter settings (MSS, RWIN and MTU) can have a large impact on how fast it can perform HTTP or FTP transfers.

This FAQ is available as a Windows Help® file for off-line viewing

Copyright© 1995 by Albert P. Belle Isle