Network Protocols
We have already noted that networks must have a set of rules, called protocols, to transmit data in an orderly fashion that will be understood by other computers. Recall that a protocol is embedded
in the network software. There are four layers of protocols that are widely used in the ISO model:
- The Data Link Layer - The Data Link Layer determines how digital data is pulsed over the communication like: how many bits at one time, when to pulse, how often to pulse, etc. There two most prevalent Data Link Layer protocols are ethernet and Point-To-Point Protocol (PPP). Ethernet is used on local area networks and cable modems, and PPP is used for phone modem connections and DSL.
Ethernet uses a bus topology and is inexpensive and
relatively simple. Since all the nodes (computers) in a LAN use the same
cable to transmit and receive data, the nodes must follow a set of rules
about when to communicate; otherwise, two or more nodes could transmit
at the same time, causing garbled or lost messages. Operating much
like a party line, before transmitting data a node "listens" to find out if the
cable is in use. If the cable is in use, the node must wait. When the cable is
free from other transmissions, the node can begin transmitting immediately.
This transmission method is called by the fancy name of carrier sense
multiple access with collision detection, or CSMVCD.
If, by chance, two nodes transmit data at the same time, the messages
collide. When a collision occurs a special message, lasting a fraction of a
second, is sent out over the network to indicate that it is jammed. Each
node stops transmitting, waits a random period of time, and then transmits
again. Since the wait period for each node is random, it is unlikely
that they will begin transmitting at the same time again
Unlike ethernet, PPP is a direct connection from one modem to another modem over a phone line. There are no collisions when data is transmitted. Most Internet Service Providers (ISPs), like America On-line or Edgenet (in Rhode Island) will expect to interact with their customers using PPP. Windows 95/98/ME/2000 have PPP built in to their dial-up adapter software that most people use to call into their ISP.
- The Internet Layer - The Internet Layer allows computers of different networks to talk to each other - essentially forming the large multi-faceted network that we know as the Internet. The key to the Internet Layer is that each computer that participates is assigned a unique 32 bit address called an IP Address (Internet Protocol Address). IP addresses are usually shown in four three digit numbers. For instance, the Web server for this text, homepage.cs.uri.edu has IP address 131.128.81.37 . Every computer that does anything on the Internet (send and receive email, serve a Web page, browse a Web page etc) must have an IP address. If your computer is on a LAN, the IP address is probably fixed. For instance, students in URI's dorm rooms with their computers attached to the campus network were given an IP Address by URI for their room. They had to enter this address into their computer using the Network Control Panel on either Windows 95, 98, or a Macintosh. If your computer dials an ISP to gain access, then the IP address is assigned to your computer by the ISP for the duration of your connection to the ISP's modem. ISPs have a large pool of IP Addresses that they temporarily assign to customers while they are connected. You could have a different IP
Address every time you use America Online, for instance. With 32 bits, there about 4 billion possible IP Addresses - and the world is running out! A new IP address format is being designed to allow many more IP addresses.
The IP protocol software adds bits to all messages that the computers sends indicating the IP address for the destination of the message.
- The Transport Layer - The Transport Layer Protocol checks messages that are sent and received to make sure that they are error free and received in the right order. If the Transport Layer software of the receiving computer detects errors, it sends a message to the original sending computer asking it to re-transmit the message. The Transport Layer protocol used on the Internet is called TCP (Transmission Control Protocol). On the Internet IP and TCP are used together so you often see the protocol referred to as TCP/IP. TCP/IP software is usually part of the operating system. Other than occasionally setting an IP address via the Network Control Panel, you probably will not directly notice or
interact with the TCP/IP software.
- The Application Layer. The Application Layer provides protocols for specific tasks like sending email or obtaining a Web page. For instance the Simple Mail Transfer Protocol (SMTP) is used on the Internet to format email messages. It is the SMTP that requires the fields we are familiar with: to, from, subject, etc, as well the date of the message and all of the other information we see in email headers. Here are some common Application Layer Protocols in the Internet:
- SMTP - protocol for transmitting email messages;
- POP - protocol for retrieving email message from a server to a local disk (Eudora uses this protocol).
- IMAP - protocol for viewing email via a Web browser where the email is stored on the server (URI's WebMail uses this protocol).
- HTTP - protocol for a client (e.g. Netscape) to ask for a Web page from a Web server (e.g. from einstein.cs.uri.edu).
- FTP - protocol for a remote computer to ask for any file to be transferred to or from it.
- Telnet - protocol to allow one computer to act as a terminal for remotely logging into another computer. This is how you can access URI's or Brown's library catalog from a remote computer.
- SSL - protocol to allow secure transmission of data. This protocol scrambles messages on the sending end and de-scrambles them on the receiving end.
There are other protocols too. Application Layer protocols are usually hidden in an application program like Netscape or Eudora. In fact, the most important thing programs like Netscape does is to be able to "talk" these protocols to other computers on the Internet.
Each protocol layer adds bits to a message. For instance, say you wanted to send "HI" in email to a friend. The 'H' and 'I' each take eight bits for their ASCII representation, so you want to transmit 16 bits. However when the email leaves your email program, the SMTP protocol requires that to, from, subject, etc fields be added - all of which add on a few hundred more bits. The IP protocol software in the operating system then adds 32 bits for the IP address of the destination computer and 32 bits for the IP address of the sending computer (and some other
Bits) - for another 100 or so bits added. The TCP protocol software adds bits to allow error checking and sequencing. Ethernet or PPP protocol software also add bits to control the pulsing on the communication link. Thus, a simple 16 bit "HI" message gets transmitted as several
hundred bits! This seems wasteful, but is necessary to get computers from all over the world to understand each other.
Organizing Computers On a Network
Two ways to organize the resources of a network are client/server and peer-to-peer.
Client/Server
A client/server arrangement involves a server, which is a computer that
controls the network. In particular, a server has the hard disks holding
shared files and often has the highest-quality printer, which can be used by
all nodes. The clients are all the other computers on the network.
Under the client/server arrangement, processing is usually done by the
server, and only the results are sent to the node. Sometimes the server
and the node share processing. For example, a server, upon request from
the node, could search a database of cars in the state of Maryland and
come up with a list of all jeep Cherokees. This data could be passed on to
the node computer, which could process the data further, perhaps looking
for certain equipment or license plate letters. This method can be contrasted
with a file server relationship, in which the server transmits the
entire file to the node, which does all its own processing. Using the jeep
example, the entire car file would be sent to the node, instead of just the
extracted jeep Cherokee records.
Client/server has attracted a lot of attention because a well-designed
system reduces the volume of data traffic on the network and allows faster
response at each node. Also, since the server does most of the heavy work,
less expensive computers can be used as nodes.
Peer-to-Peer
All computers in a peer-to-peer arrangement have equal status; no one
computer is in control. With all files and peripheral devices distributed
across several computers, users share each other's data and devices as
needed. An example might involve a corporate building in which marketing
wants its files kept on its own computer, public relations wants its files
kept on its own computer, personnel wants its files kept on its own computer,
and so on; all can still gain access to the other's files when needed.
The main disadvantage is lack of speed-most peer-to-peer networks slow
down under heavy use.
A prime example of peer-to-peer computing is Napster. With Napster millions of personal computers act as both clients and servers to each other requesting and serving up music files.
Many networks are hybrids, containing elements
of both client/server and peer-to-peer arrangements.
The Internet
Although the Internet could fall under the previous section on the work of
networking, we choose to give it its own section because it is unique and
important. The Internet, sometimes called simply the Net, is the largest
and most far-flung network system of them all. Surprisingly, the Internet is
not really a network at all but a loosely organized collection of hundreds of thousands of networks accessed by computers worldwide. Many people are
astonished to discover that no one owns the Internet; it is run by volunteers.
It has no central headquarters, no centrally offered services, and no
comprehensive online index to tell you what information is available.
How can all the different types of computers talk to each other? They
use a standardized protocol called Transmission Control Protocol/Internet
Protocol (TCP/IP). A user must access the Internet through a computer
called a server, which has special software that uses the Internet protocol.
Originally developed and still subsidized by the United States government,
the Internet connects libraries, college campuses, research labs, and
businesses. The great attraction of Internet for these users is that, once the
sign-up fees are paid, there are no extra charges. Therefore, and this is a
key drawing card, electronic mail is free, regardless of the amount of use.
In contrast, individuals using the Internet on their own personal computers
must pay ongoing monthly fees to whoever is their service provider.
The Internet consists of many applications such email, web browsing, instant messaging, video conferencing, IP telephony, and many others. All of them are based on standard protocols using the ISO model we discussed previously.
The complexity of Networks
Networks can be designed in an amazing variety of ways, from a simple in-office
group of three personal computers connected to a shared printer to a
global spread including thousands of personal computers, minicomputers,
and mainframes. The latter, of course, would not be a single network but,
instead, a collection of connected networks.
You have already glimpsed the complexity of networks. Now let us consider a set of networks
for a toy manufacturer.
The toy company has a bus local area network for the marketing
department, consisting of six personal computers, a modem used by outside
field representatives to call in for price data, a shared laser printer,
shared marketing program and data files, and a server. The LAN for the
design department, also a bus network, consists of three personal computers,
a shared printer, shared files, and a server. Both LANs use the Ethernet
protocol and have client/server relationships. The design department
sometimes sends its in-progress work to the marketing representatives for
their evaluation; similarly, the marketing department sends new ideas from
the field to the design department. The two departments communicate,
one LAN to another, via a bridge. It makes sense to have two separate
LANs, rather than one big LAN, because the two departments need to
communicate with each other only occasionally.
In addition to communicating with each other, users on each LAN, both
marketing and design, occasionally need to communicate with the mainframe
computer, which can be accessed through a gateway. All communications
for the mainframe are handled by the front-end processor. Users in
the purchasing, administrative, and personnel departments have terminals
attached directly to the mainframe computer. The mainframe also has a
modem that connects to telephone lines and then, via satellite, to the mainframe
computer at corporate headquarters in another state.
Network factors that add to complexity but are not specifically
addressed in our example include the electronic data interchange setups
between the toy manufacturer's purchasing department and seven of its
major customers, the availability of electronic mail throughout the networks,
and the fact that-via a modem to an outside line-individual
employees can access the Internet.
The near future in data communications is not difficult to see. The demand
for services is just beginning to swell. Electronic mail already pervades the
office and the campus and homes. Expect instant
access to all manner of information from a variety of convenient locations (e.g. hand held wireless devices, your car, your TV).
Prepare to become blasé about communications services available in your
own home and everywhere you go.