I Did Talk It Again and Old Is It a Router and Then Itll One
How Does the Internet Work?
� 2002 Rus Shuler @ Pomeroy IT Solutions, all rights reservedContents
- Introduction
- Where to Begin? Cyberspace Addresses
- Protocol Stacks and Packets
- Networking Infrastructure
- Internet Infrastructure
- The Net Routing Hierarchy
- Domain Names and Accost Resolution
- Net Protocols Revisited
- Application Protocols: HTTP and the World Wide Web
- Application Protocols: SMTP and Electronic mail
- Manual Control Protocol
- Internet Protocol
- Wrap Up
- Resources
- Bibliography
Introduction
How does the Cyberspace work? Skillful question! The Internet's growth has get explosive and information technology seems incommunicable to escape the bombardment of www.com's seen constantly on television, heard on radio, and seen in magazines. Because the Internet has become such a large office of our lives, a good understanding is needed to use this new tool most effectively.This whitepaper explains the underlying infrastructure and technologies that brand the Net work. It does not go into dandy depth, but covers enough of each expanse to give a basic understanding of the concepts involved. For any unanswered questions, a listing of resources is provided at the finish of the paper. Whatsoever comments, suggestions, questions, etc. are encouraged and may exist directed to the author at rshuler@gobcg.com.
Where to Begin? Net Addresses
Because the Internet is a global network of computers each estimator connected to the Cyberspace must have a unique address. Internet addresses are in the form nnn.nnn.nnn.nnn where nnn must be a number from 0 - 255. This address is known every bit an IP accost. (IP stands for Internet Protocol; more on this later.)The picture below illustrates two computers connected to the Internet; your figurer with IP address one.2.3.4 and another computer with IP address 5.6.7.eight. The Internet is represented every bit an abstract object in-betwixt. (As this paper progresses, the Internet portion of Diagram 1 will exist explained and redrawn several times as the details of the Internet are exposed.)
|
| Diagram i |
| Check It Out - The Ping Program |
| If you're using Microsoft Windows or a flavor of Unix and take a connection to the Internet, there is a handy plan to see if a estimator on the Internet is alive. It's chosen ping, probably after the sound made by older submarine sonar systems.1 If you are using Windows, start a command prompt window. If yous're using a flavor of Unix, become to a command prompt. Type ping www.yahoo.com. The ping program will send a 'ping' (actually an ICMP (Cyberspace Control Message Protocol) echo asking bulletin) to the named reckoner. The pinged computer will reply with a respond. The ping plan will count the time expired until the answer comes dorsum (if information technology does). Too, if you lot enter a domain proper name (i.east. www.yahoo.com) instead of an IP address, ping volition resolve the domain name and display the computer's IP address. More on domain names and accost resolution later. |
Protocol Stacks and Packets
And then your computer is continued to the Internet and has a unique address. How does it 'talk' to other computers connected to the Internet? An example should serve here: Let's say your IP address is one.two.3.four and you want to transport a message to the estimator 5.6.7.viii. The message y'all desire to send is "Hello computer 5.half-dozen.seven.8!". Obviously, the bulletin must be transmitted over any kind of wire connects your calculator to the Internet. Permit'due south say you've dialed into your ISP from dwelling and the message must be transmitted over the phone line. Therefore the message must exist translated from alphabetic text into electronic signals, transmitted over the Internet, then translated back into alphabetic text. How is this accomplished? Through the use of a protocol stack. Every computer needs 1 to communicate on the Internet and it is usually built into the computer'due south operating system (i.e. Windows, Unix, etc.). The protocol stack used on the Cyberspace is refered to every bit the TCP/IP protocol stack because of the two major communication protocols used. The TCP/IP stack looks like this:| Protocol Layer | Comments |
|---|---|
| Awarding Protocols Layer | Protocols specific to applications such as Www, electronic mail, FTP, etc. |
| Transmission Control Protocol Layer | TCP directs packets to a specific application on a figurer using a port number. |
| Internet Protocol Layer | IP directs packets to a specific computer using an IP address. |
| Hardware Layer | Converts binary packet data to network signals and back. (Due east.chiliad. ethernet network carte du jour, modem for phone lines, etc.) |
If we were to follow the path that the bulletin "Hello computer 5.6.seven.8!" took from our computer to the computer with IP address 5.6.7.8, it would happen something like this:
|
| Diagram 2 |
- The bulletin would start at the peak of the protocol stack on your computer and piece of work it's way downward.
- If the message to exist sent is long, each stack layer that the message passes through may break the message up into smaller chunks of data. This is because information sent over the Internet (and almost computer networks) are sent in manageable chunks. On the Internet, these chunks of data are known as packets.
- The packets would go through the Application Layer and continue to the TCP layer. Each package is assigned a port number. Ports will exist explained later, merely suffice to say that many programs may be using the TCP/IP stack and sending letters. We need to know which plan on the destination estimator needs to receive the message because it will exist listening on a specific port.
- Subsequently going through the TCP layer, the packets keep to the IP layer. This is where each bundle receives it's destination address, 5.vi.vii.8.
- Now that our message packets accept a port number and an IP accost, they are ready to be sent over the Internet. The hardware layer takes care of turning our packets containing the alphabetic text of our message into electronic signals and transmitting them over the phone line.
- On the other finish of the phone line your ISP has a straight connection to the Internet. The ISPs router examines the destination address in each parcel and determines where to send it. Often, the bundle'south next stop is another router. More than on routers and Internet infrastructure afterwards.
- Eventually, the packets attain computer 5.6.7.8. Here, the packets beginning at the bottom of the destination computer'south TCP/IP stack and piece of work upwardly.
- As the packets go upwardly through the stack, all routing data that the sending computer's stack added (such as IP address and port number) is stripped from the packets.
- When the data reaches the top of the stack, the packets have been re-assembled into their original form, "How-do-you-do computer 5.6.vii.8!"
Networking Infrastructure
And then at present you know how packets travel from ane computer to another over the Internet. But what's in-between? What really makes up the Internet? Let's look at another diagram: |
| Diagram 3 |
The Isp maintains a pool of modems for their dial-in customers. This is managed by some grade of computer (normally a defended i) which controls data flow from the modem pool to a backbone or dedicated line router. This setup may be refered to as a port server, as it 'serves' access to the network. Billing and usage information is usually collected here as well.
After your packets traverse the telephone network and your Internet access provider's local equipment, they are routed onto the Isp's backbone or a backbone the ISP buys bandwidth from. From here the packets volition usually journey through several routers and over several backbones, dedicated lines, and other networks until they find their destination, the computer with address 5.6.7.8. Simply wouldn't information technology would be nice if we knew the exact route our packets were taking over the Internet? As it turns out, there is a way...
| Bank check It Out - The Traceroute Program |
| If you're using Microsoft Windows or a flavor of Unix and take a connection to the Internet, here is some other handy Net program. This one is called traceroute and it shows the path your packets are taking to a given Internet destination. Like ping, you must use traceroute from a command prompt. In Windows, use tracert www.yahoo.com. From a Unix prompt, type traceroute www.yahoo.com. Like ping, you may also enter IP addresses instead of domain names. Traceroute will print out a list of all the routers, computers, and any other Internet entities that your packets must travel through to get to their destination. |
If y'all use traceroute, you'll notice that your packets must travel through many things to get to their destination. Most have long names such every bit sjc2-core1-h2-0-0.atlas.digex.net and fddi0-0.br4.SJC.globalcenter.internet. These are Internet routers that decide where to send your packets. Several routers are shown in Diagram 3, but only a few. Diagram 3 is meant to show a uncomplicated network structure. The Internet is much more complex.
Internet Infrastructure
The Cyberspace backbone is made up of many large networks which interconnect with each other. These large networks are known as Network Service Providers or NSPsouthward. Some of the large NSPs are UUNet, CerfNet, IBM, BBN Planet, SprintNet, PSINet, equally well equally others. These networks peer with each other to exchange packet traffic. Each NSP is required to connect to iii Network Admission Points or NAPs. At the NAPs, packet traffic may spring from ane NSP'southward courage to another NSP's backbone. NSPs also interconnect at Metropolitan Area Exchanges or MAEs. MAEs serve the same purpose as the NAPs just are privately owned. NAPs were the original Net interconnect points. Both NAPs and MAEs are referred to as Cyberspace Exchange Points or Nines. NSPs likewise sell bandwidth to smaller networks, such as ISPs and smaller bandwidth providers. Below is a picture showing this hierarchical infrastructure. |
| Diagram four |
The Cyberspace Routing Bureaucracy
So how practise packets notice their manner across the Internet? Does every computer connected to the Internet know where the other computers are? Do packets just get 'broadcast' to every computer on the Internet? The answer to both the preceeding questions is 'no'. No calculator knows where whatsoever of the other computers are, and packets do not get sent to every figurer. The information used to get packets to their destinations are contained in routing tables kept by each router connected to the Internet.Routers are packet switches. A router is usually connected between networks to road packets between them. Each router knows about it'due south sub-networks and which IP addresses they use. The router usually doesn't know what IP addresses are 'above' it. Examine Diagram 5 below. The black boxes connecting the backbones are routers. The larger NSP backbones at the top are connected at a NAP. Nether them are several sub-networks, and under them, more sub-networks. At the lesser are ii local area networks with computers attached.
|
| Diagram 5 |
Domain Names and Accost Resolution
Only what if you don't know the IP address of the computer yous want to connect to? What if the yous demand to access a web server referred to every bit www.anothercomputer.com? How does your web browser know where on the Net this reckoner lives? The answer to all these questions is the Domain Name Service or DNS. The DNS is a distributed database which keeps track of estimator'southward names and their corresponding IP addresses on the Internet.Many computers connected to the Net host part of the DNS database and the software that allows others to access it. These computers are known as DNS servers. No DNS server contains the unabridged database; they merely comprise a subset of it. If a DNS server does non contain the domain name requested by another computer, the DNS server re-directs the requesting calculator to another DNS server.
|
| Diagram 6 |
When an Internet connexion is setup (east.g. for a LAN or Dial-Up Networking in Windows), one primary and one or more secondary DNS servers are unremarkably specified as role of the installation. This way, any Internet applications that need domain name resolution will exist able to office correctly. For instance, when you enter a web address into your web browser, the browser kickoff connects to your principal DNS server. Subsequently obtaining the IP address for the domain name you lot entered, the browser then connects to the target computer and requests the web folio you wanted.
| Bank check Information technology Out - Disable DNS in Windows |
| If you're using Windows 95/NT and access the Net, y'all may view your DNS server(s) and fifty-fifty disable them. If you use Dial-Upwardly Networking: If you have a permanent connexion to the Net: You should now be looking at your DNS servers' IP addresses. Here you may disable DNS or gear up your DNS servers to 0.0.0.0. (Write down your DNS servers' IP addresses commencement. You volition probably have to restart Windows also.) At present enter an address into your web browser. The browser won't be able to resolve the domain proper noun and you will probably get a nasty dialog box explaining that a DNS server couldn't be found. Nevertheless, if y'all enter the corresponding IP address instead of the domain proper noun, the browser will be able to retrieve the desired web page. (Use ping to get the IP address prior to disabling DNS.) Other Microsoft operating systems are similar. |
Cyberspace Protocols Revisited
As hinted to before in the section well-nigh protocol stacks, one may surmise that in that location are many protocols that are used on the Internet. This is true; at that place are many communication protocols required for the Cyberspace to function. These include the TCP and IP protocols, routing protocols, medium access control protocols, application level protocols, etc. The post-obit sections draw some of the more of import and commonly used protocols on the Internet. Higher level protocols are discussed first, followed by lower level protocols.Application Protocols: HTTP and the World wide web
1 of the most commonly used services on the Cyberspace is the World wide web (WWW). The application protocol that makes the spider web work is Hypertext Transfer Protocol or HTTP. Exercise not confuse this with the Hypertext Markup Linguistic communication (HTML). HTML is the linguistic communication used to write web pages. HTTP is the protocol that web browsers and spider web servers employ to communicate with each other over the Internet. It is an application level protocol because it sits on top of the TCP layer in the protocol stack and is used past specific applications to talk to one another. In this instance the applications are web browsers and web servers.HTTP is a connectionless text based protocol. Clients (web browsers) send requests to spider web servers for spider web elements such as spider web pages and images. Afterward the request is serviced past a server, the connection between client and server beyond the Internet is disconnected. A new connexion must be made for each request. Nigh protocols are connectedness oriented. This ways that the 2 computers communicating with each other keep the connection open over the Internet. HTTP does non nonetheless. Before an HTTP request can exist fabricated past a client, a new connection must be fabricated to the server.
When you lot type a URL into a web browser, this is what happens:
- If the URL contains a domain name, the browser first connects to a domain proper noun server and retrieves the corresponding IP address for the web server.
- The web browser connects to the spider web server and sends an HTTP request (via the protocol stack) for the desired spider web folio.
- The web server receives the asking and checks for the desired folio. If the page exists, the spider web server sends it. If the server cannot observe the requested page, information technology will ship an HTTP 404 error bulletin. (404 ways 'Page Non Found' as anyone who has surfed the web probably knows.)
- The web browser receives the page back and the connection is airtight.
- The browser then parses through the page and looks for other page elements information technology needs to consummate the spider web page. These usually include images, applets, etc.
- For each element needed, the browser makes boosted connections and HTTP requests to the server for each element.
- When the browser has finished loading all images, applets, etc. the page will be completely loaded in the browser window.
| Check It Out - Use Your Telnet Customer to Retrieve a Web Page Using HTTP |
| Telnet is a remote last service used on the Net. Information technology's employ has declined lately, but information technology is a very useful tool to report the Net. In Windows find the default telnet program. It may be located in the Windows directory named telnet.exe. When opened, pull down the Concluding card and select Preferences. In the preferences window, cheque Local Repeat. (This is and so you can meet your HTTP request when yous type it.) Now pull down the Connection menu and select Remote System. Enter world wide web.google.com for the Host Name and 80 for the Port. (Web servers usually listen on port lxxx by default.) Press Connect. Now type Become / HTTP/1.0 and press Enter twice. This is a simple HTTP asking to a web server for it'south root page. Yous should see a spider web page wink past and and then a dialog box should popular up to tell you the connection was lost. If yous'd like to save the retrieved page, turn on logging in the Telnet program. You may then browse through the spider web page and encounter the HTML that was used to write it. |
Most Internet protocols are specified by Internet documents known equally a Asking For Comments or RFCsouth. RFCs may exist institute at several locations on the Cyberspace. See the Resources section below for advisable URL's. HTTP version 1.0 is specified by RFC 1945.
Awarding Protocols: SMTP and Electronic mail
Another commonly used Cyberspace service is email. Email uses an application level protocol called Simple Post Transfer Protocol or SMTP. SMTP is also a text based protocol, just unlike HTTP, SMTP is connexion oriented. SMTP is also more complicated than HTTP. At that place are many more commands and considerations in SMTP than there are in HTTP.When you open up your postal service client to read your email, this is what typically happens:
- The mail client (Netscape Mail, Lotus Notes, Microsoft Outlook, etc.) opens a connection to it's default mail server. The mail server's IP address or domain proper noun is typically setup when the mail client is installed.
- The postal service server will always transmit the first message to identify itself.
- The client will ship an SMTP HELO command to which the server will reply with a 250 OK message.
- Depending on whether the client is checking postal service, sending post, etc. the appropriate SMTP commands will be sent to the server, which will reply accordingly.
- This request/response transaction will continue until the client sends an SMTP QUIT command. The server volition then say goodbye and the connectedness will be closed.
This SMTP example shows mail sent past Smith at host USC-ISIF, to Jones, Green, and Brown at host BBN-UNIX. Hither we presume that host USC-ISIF contacts host BBN-UNIX directly. The post is accustomed for Jones and Dark-brown. Green does not have a mailbox at host BBN-UNIX. ------------------------------------------------------------- R: 220 BBN-UNIX.ARPA Simple Mail Transfer Service Gear up South: HELO USC-ISIF.ARPA R: 250 BBN-UNIX.ARPA South: MAIL FROM:<Smith@USC-ISIF.ARPA> R: 250 OK S: RCPT TO:<Jones@BBN-UNIX.ARPA> R: 250 OK Due south: RCPT TO:<Green@BBN-UNIX.ARPA> R: 550 No such user here S: RCPT TO:<Brownish@BBN-UNIX.ARPA> R: 250 OK South: Information R: 354 Offset mail input; end with <CRLF>.<CRLF> Due south: Blah blah apathetic... Southward: ...etc. etc. etc. Due south: . R: 250 OK S: QUIT R: 221 BBN-UNIX.ARPA Service closing transmission channelThis SMTP transaction is taken from RFC 821, which specifies SMTP.
Transmission Control Protocol
Under the application layer in the protocol stack is the TCP layer. When applications open up a connection to some other calculator on the Internet, the messages they ship (using a specific application layer protocol) get passed downwardly the stack to the TCP layer. TCP is responsible for routing application protocols to the right awarding on the destination estimator. To accomplish this, port numbers are used. Ports can be thought of as seperate channels on each computer. For example, you can surf the web while reading due east-mail service. This is because these 2 applications (the web browser and the mail customer) used dissimilar port numbers. When a parcel arrives at a computer and makes its way up the protocol stack, the TCP layer decides which application receives the packet based on a port number.TCP works like this:
- When the TCP layer receives the application layer protocol data from above, it segments information technology into manageable 'chunks' and then adds a TCP header with specific TCP information to each 'chunk'. The information contained in the TCP header includes the port number of the application the data needs to be sent to.
- When the TCP layer receives a package from the IP layer below it, the TCP layer strips the TCP header data from the packet, does some information reconstruction if necessary, and then sends the data to the correct awarding using the port number taken from the TCP header.
TCP is not a textual protocol. TCP is a connection-oriented, reliable, byte stream service. Connexion-oriented means that two applications using TCP must beginning constitute a connectedness before exchanging data. TCP is reliable because for each packet received, an acknowledgement is sent to the sender to confirm the commitment. TCP also includes a checksum in information technology's header for error-checking the received data. The TCP header looks similar this:
|
| Diagram 7 |
| Check It Out - Well Known Cyberspace Port Numbers | ||||||||||
Listed below are the port numbers for some of the more usually used Internet services.
|
Net Protocol
Unlike TCP, IP is an unreliable, connectionless protocol. IP doesn't care whether a parcel gets to it's destination or not. Nor does IP know about connections and port numbers. IP's chore is too send and route packets to other computers. IP packets are contained entities and may arrive out of order or not at all. It is TCP's job to make sure packets go far and are in the correct order. Near the merely thing IP has in common with TCP is the way it receives data and adds it's own IP header information to the TCP data. The IP header looks similar this: |
| Diagram eight |
|
| Diagram 9 |
Wrap Up
Now y'all know how the Internet works. But how long will it stay this style? The version of IP currently used on the Internet (version 4) but allows 232 addresses. Eventually there won't be whatever free IP addresses left. Surprised? Don't worry. IP version 6 is existence tested right at present on a research backbone by a consortium of enquiry institutions and corporations. And after that? Who knows. The Internet has come a long style since it's inception equally a Defense Department research project. No i really knows what the Internet will get. I thing is sure, still. The Internet will unite the globe like no other mechanism ever has. The Information Historic period is in full stride and I am glad to be a role of it.Rus Shuler, 1998
Updates made 2002
Resources
Below are some interesting links associated with some of the topics discussed. (I hope they all withal work. All open in new window.)http://www.ietf.org/ is the dwelling house page of the Cyberspace Technology Job Force. This body is profoundly responsible for the development of Internet protocols and the like.
http://www.internic.org/ is the organisation responsible for administering domain names.
http://www.nexor.com/public/rfc/index/rfc.html is an excellent RFC search engine useful for finding whatsoever RFC.
http://www.internetweather.com/ shows blithe maps of Internet latency.
http://routes.clubnet.net/iw/ is Internet Weather from ClubNET. This page shows parcel loss for various carriers.
http://navigators.com/isp.html is Russ Haynal's Internet access provider Page. This is a nifty site with links to most NSPs and their backbone infrastructure maps.
Bibliography
The following books are excellent resources and helped greatly in the writing of this paper. I believe Stevens' book is the best TCP/IP reference ever and tin can be considered the bible of the Internet. Sheldon's book covers a much wider scope and contains a vast amount of networking data.- TCP/IP Illustrated, Volume 1, The Protocols.
W. Richard Stevens.
Addison-Wesley, Reading, Massachusetts. 1994. - Encyclopedia of Networking.
Tom Sheldon.
Osbourne McGraw-Hill, New York. 1998.
- Firewalls and Internet Security; Repelling the Wiley Hacker.
William R. Cheswick, Steven M. Bellovin.
Addison-Wesley, Reading, Massachusetts. 1994. - Information Communications, Computer Networks and Open Systems. Fourth Edition.
Fred Halsall.
Addison-Wesley, Harlow, England. 1996. - Telecommunications: Protocols and Design.
John D. Spragins with Joseph L. Hammond and Krzysztof Pawlikowski.
Addison-Wesley, Reading, Massachusetts. 1992.
Source: https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm
0 Response to "I Did Talk It Again and Old Is It a Router and Then Itll One"
Enviar um comentário