| Subsection: |
This large collection of computers all over the world is much too large an entity to understand without some type of organization. As you have seen, computer scientists like to take large entities and break them into tree - like structures that are easier to comprehend and deal with. The Internet is put together in exactly the same way. We will start by thinking about the smallest units, and see how they are attached to form the entire Internet.
The smallest unit on the Internet is the individual user. In many offices and homes, each person has her own personal computer. In other organizations, there may be a very large computer that each member of the organization has an individual account on. In any case, it is important to imagine that each individual has a userid within the local organization, and that all the computers within this organization are tied together with some sort of local area network. Often each department or floor in an organization has a LAN. LANs usually consist of up to 100 computers attached together through wires and special software so they can communicate easily. Often, LANs are tied together within a large organization to make WANs, or Wide Area Networks. For our discussion, we will consider LANs and WANs to be pretty much the same thing.
The LAN makes communication between members of the same organization much easier, but The Internet is a MUCH larger unit, and LANs need some help in order to make an Internet connection possible. LANs are attached to special computers called routers. A router is designed with one job in mind; directing traffic between the LAN and the rest of the Internet. In essence, when you send a message anywhere outside your LAN, you send it to the router, which takes care of distributing the message to the rest of the Internet. Likewise, any messages or documents you get from anywhere on the Internet have gotten to your machine through your router, and your LAN.
The router takes the information you give it, and uses TCP/IP to send the packet to other routers. Eventually, the packet will get to a high - speed communication system called the Internet Backbone. The 'Information Super-highway' we keep hearing about is really a reference to the high-speed connections between a number of National Science Foundation sites. In the Indiana area, most packets make their way to the Internet backbone through the University of Illinois site. From here, packets are transferred to other routers via the IP addresses, until the packets eventually find the correct destination. All this often happens in seconds. The next time you get frustrated about how long it takes to view a web page, reflect on the process it took to get to your computer!
Often in Internet computing, you will encounter the terms "client" and "server." The Internet uses what is called a client / server model of communication. This is how it works:
Tim goes into a drive - through restaurant. He sees a big menu full of choices. He chooses a "big fun cool wacky meal," and informs the little speaker of his decision. He hears a tinny little voice confirm his request, then tell him how much it will cost, then tell him with a slightly bored expression to drive up to the first window. Presumably as he drives around the restaurant, some kind of food preparation is happening inside. He gets to the window and exchanges his cash for the food, then drives off.
In this illustration, Tim is the Client. He makes requests and gets stuff back. the restaurant is the server. It sits around waiting for requests from clients, processes them, and gives the results to the clients.
Most of the software that is designed to be used via the Internet is classified as client software or server software. Client software is designed to be used by ordinary users. Web browsers, email programs, ftp programs, and most of the other Internet programs you will interact with as a user are clients. The servers are the big Internet computers and programs which are set up to interact with clients. They generally have information designed to be read by various clients. For example, the web browser program you interacted with earlier was a web client (to be more precise, an HTTP client.) Let's say you used this program to go to the WhiteHouse at http://www.whitehouse.gov. When you place the url in the little box and tell the browser to go there, it tries to find a server at that address. The white house has a computer (sadly, it might not really be in the White house, but let's just pretend it is!!) with all the pages of the white house web site, and the appropriate programs to communicate those pages to your browser. The white house is acting as a server. (I guess that is somehow appropriate!)