This course is concerned with program within the context of the World Wide Web. The Web could not exist were it not for the Internet. Indeed, the Web has often been described as the first "killer application" for the Internet. In order to work within this environment, one needs to understand the basic mechanisms tht enable it to work. One should also know something about its history.
In the discussion that follows, the origins and history of the Internet are briefly traced. After that, key underlying technolgies are described. The intent is not to provide a true working knowledgeof the Internet but a general understanding of how it works.
History
From very early in the history of computers, people recognized the need to connect computers at a distance to one another. Early connections were point to point where one computer was connected directly to another by a telephone line and modem.
This arrangement began to change in the mid 1970s, spurred in part by the U.S. Military's need to connect computers around the world for purposes of national defense. This need resulted in an initiative by the Advance Research Programs Agency ( ARPA), the chief research arm of the military, to develop networking technology that would allow multiple computers to be connected to a general network, and hence to one another, rather than through direct point-to-point connections.
Local Area Networks
One of the technologies that made this possible was Local Area Networks (LANs), particularly Ethernet. Ethernet allowed multiple computers located within a few hundred yards of one another to be connected by a physical cable. Each such computer had its own unique address, and one computer could send a message to any other computer on the LAN by constructing a message that included that computer's address.
Internetworking
By the latter part of the 1970s, networking had become a conglomeration of incompatible local and wide area networks. It became apparent to two visionary men at ARPA, Bob Kahn and Vinton Cerf, that some form of internetworking was needed in which networks with different architectures could be connected to form a single large virtual network. If this could be done, then computers located on any of the connected networks could communicate with one another. This vision led, first, to the concept of a general internetwork and, second, to the particular internetwork we now call the Internet.
The key technical development that made internetworking, and hence the Internet, possible was the TCP/IP protocol, developed by Kahn and Cerf. TCP/IP is really two standards. The first, IP (Internet Protocol), allows computers to address messages to one another using a unique 32-bit address assigned to them. However, IP does not guarantee that the messages will be delivered or, if they are, that they will be delivered in their original order. Thus, a second protocol was needed, TCP (Transmission Control Protocol), that would address these needs. TCP is based on IP. Through an exchange of acknowledgments and other control messages between computers, it enables packets of data to be sent and resent until all are received and the original sequence can be reconstructed by the receiving computer. Thus, TCP provides virtual "connections" similar to a telephone connection that guarantees the validity and order of delivered messages, but not the time or regularity of their arrival.
The second key development that led to the Internet was political. When ARPA adopted TCP/IP during the early 1980s as the standard for its ARPANET, this insured its wide-spread acceptance. Soon vertually all networks would be based on the TCP/IP standard, making it technically possilbe for them to be connected to one another.
The First Decade of the Internet
One particularly important early network that was based on TCP/IP but was not military was NSFNET. During the mid-1980s, the National Science Foundation sponsored an initiative to connect six supercomputer centers located around the country with the (approximately) 100 most important computer science departments. Soon, major industrial laboratories joined. And before long, other departments in academia, recognizing the usefulness of the Internet, began to have themselves connected to it.
NSF remained a major promoter of the Internet for the remainder of the decade, funding research and expanding the underlying infrastructure in several major overhauls. As a result, the Internet grew at an exponential rate from 1983 until 1994, when it passed into private hands.
Recent Developments and a Possible Future
During the mid-1990s, the single most important development has been the emergence of the World Wide Web. Begun in late 1989 as an Internet application intended to help nuclear and atomic scientists at several international sites access technical documents, it has become by far the largest generator of traffic on the Internet. Part of its rapid expansion can be traced to the appearance in 1993 of the first graphical, point-and-click browser for the Web. As they say, after that, the rest is history.
As we look to the future, several developments are worth watching. One is the commercialization of the Net. Whereas for most of its lifetime, the Internet was supported by the U.S. Government, it has now been privatized and it seems obvious that much of its future growth will depend on support from commercial interests based on its capacity to generate profits.
Another trend to monitor is the increasingly comprehensive nature of the Internet and the WWW as a computer and communications infrastructure. It may come to pass that virtually all computing will take place within that context. Certainly Java is a development that could play an important part in this transition.
A third trend to watch is whether or not the Internet can adapt its basic architecture to meet the computing requirements of real-time applications, such as voice and video. If it does, then it could eventually encompass other existing networks, such as the telephone system and cable video.
Technology
In the preceding discussion, several technolgies that underlie the Internet were mentioned in passing. Here, we will look more closely at them in order to provide background for the course.
Ethernet
Ethernet was the first local area network (LAN) technology and remains the most important one. It was developed during the early 1970s by Xerox PARC. The original Ethernet enabled computers located within a few hundred yards of one another to exchange messages. By adding repeaters and bridges between multiple LANs, that distance has been extended to a few thousand yards. Thus, it is suitable for connecting computers in the same building or in a small cluster of buildings.
Ethernet architecture is based on the concept of connecting multiple computers to a long cable, sometimes called the ether, thereby forming a bus structure. Each computer is fitted with an Ethernet adapter that includes a unique 48-bit address for that computer. Each computer is joined to the ether through a transceiver. The transceiver receives Ethernet messages on the cable, looks at the address, and either passes the message to its computer, if the address matches, or transmits it down the cable, if the address does not match.
A single (logical) Ethernet cable forms a local area network. Two LANs can be joined through so-called bridges, as shown in the figure, below. A bridge is a special computer connected to two LANs. When it receives a message, it determines which of the two networks the computer being addressed is on and forwards the message to the appropriate network.
Ethernet. Three Ethernet Local Area Networks, comprisedof multiple computers connected to a cable, are joined through bridges to form a larger LAN.
Messages are variable length records that range from 64 to slightly more than fifteen hundred bytes (or "octets") of data. The format of an Ethernet message, called a frame, is shown, below.
Ethernet Frame. Includes header and data sections. Complete packets of other protocols, such as IP, can be carried in the data component of Ethernet frames.
Ethernet originally operated at 10 mega-bits per second (Mbps). The current standard is 100 Mbps, and we can anticipate giga-bit rates (Gbps) within the next few years. Thus, as Ethernet continues to evolve, many believe it will obviate the need for ATN and other more complex network architectures.
Internet
The concept of an internet is illustrated in the figure below. It consists of a collection of independent networks that have been joined to form a single logical network. The point of contact between two networks is a special computer, called a router, that can recognize when a message is addressed to a computer on its local LAN and when it is addressed to a computer somewhere else. It directs the former to the appropriate local computer and forwards the latter to another network to which the router is connected that is closer to the final destination.
![]()
Internetwork. A collection of independent networks connected through routers. Messages from distant computers can be sent to one another through a "daisy chain" of LANs connected by routers.
TCP/IP
TCP/IP is the glue that holds the Internet together. Without it, or an equivalent standard, the Internet as we know it today could not exist.
IP
TCP/IP is actually two separate protocols, although TCP depends on IP. IP (Internet Protocol) is responsible for addressing, enabling long data streams to be divided into separate packages that are then sent separately from one computer, through the network, to another computer, as illustrated in the figure, above. It operates in a best effort manner; thus, packets may be lost enroute and/or they may arrive out of sequence. TCP addresses these and other issues of reliability
The basic IP packet of data is called a datagram, whose format is shown in the figure, below. Like an Etehrnet frame, it includes header and data components. All information necessary for a router to direct a packet through the local area netowrk to its final destination or to a router that will send it to another LAN is contained in the header. IP packets are often transported through the LAN as the data component of an Ethernet frame.
![]()
IP Datagram Includes header and data components. The hearder component is primarly responsible for addressing. The data component often contains other protocol packets, such as a TCP segment. The IP packet may, itself, be carried in the data component of an Ethernet frame.
TCP
TCP (Transmission Control Protocol) uses IP to exchange acknowledgments and other messages between sender and receiver. Thus, a sender can send a designated packet and wait for an acknowledgment. When the sender knows the packet has arrived safely, it can send the next packet, etc. However, if the acknowledgment does not come in a reasonable length of time, the sender assumes it was lost and resends it. Actually, the process is much more efficient and much more involved than this oversimplified scenario, but it suggests the flavor of interaction supported by TCP.
The result is that TCP is able to provide the illusion that sender and receiver are connected to one another, similar to a telephone connection. However, that illusion does not include any guarantee about how quickly packets will be delivered. Thus, TCP/IP is not well-suited for applications that require low latency, such as real-time audio and video. Proposed extensions to IP will address some of these concerns, but whether a next-generation TCP/IP will prove to be all-inclusive in its capabilities is yet to be demonstrated.
The basic TCP packet of data is called a segment, whose format is shown in the figure, below. It, too, includes header and data components. All information necessary to re-establish the order in which the segments were sent is contained in the header. The data component of a TCP segment is used to carry higher level data, such as a Web HTTP protocol message.
![]()
TCP Segment. Includes header and data components. Header primarily responsible ffor sequencing and validity of data. The data component often contains other protocol packets, such as a Web HTTP message. The TCP segment may, itself, be carried in the data component of an IP datagram.
The entire TCP segment is transported as the data component of IP datagrams which, in turn are (often) carried within Ethernet frames. Thus, there are often several levels of nesting, as indicated in the figure, below, in which higher level protocols are carried as the data component of lower level protocols.
Nested protocols. An HTTP message (or some portion of it) is carried as the data component of a TCP segment, which, itself, is carried within an IP datagram, which is transported within across LANs within Ethernet frames.
Additional Reading
If you would like to learn more about the Internet, an excellent source is Douglas E. Comer, (1995), Internetworking with TCP/IP: Vol. I. Engelwood Cliffs, NJ: Prentice Hall. You can also find lots of information on-line, including a long history of technical specifications. A good starting point is the Internet Engineering Task Force: http://www.ietf.org/.