Showing posts with label Knowledge. Show all posts
Showing posts with label Knowledge. Show all posts

17 December 2009

How do I Build a Custom PC..?


How to build a custom PC ultimately depends on your overall working experience with computer hardware and specifications; as well as the budget you have allocated for this type of project.

Most folks who desire to build their own custom PC are either seeking a powerful game machine, Computer-Aided Drafting (CAD) machine, or high end multimedia production editing bay.

If this is the case, the best independent component investments to take into strong consideration are:

13 December 2009

What is a Computer Port?


With each day that passes, we rely more and more on computers for all facets of our lives in the information age. Every aspect of daily life from financial matters, health issues, and leisure time all have ties to the World Wide Web and, ultimately, computers now. For some, their computer is their livelihood. For even more, their computer provides them a crucial resource for information, communication, and organization. One reason that computers are able to accomplish all of these remarkable feats that shape our lives is their ability to be versatile, powerful, and rapid in accomplishing given tasks. The cornerstone of the computer's connective capability is through its computer ports.

09 December 2009

How does an Optical Mouse work?


Optical mice are the de facto standard for mice to communicate between the end user and the computer. The optical mouse is a great improvement over the mechanical mouse that was created in the early 1970's.

The Optical mouse was introduced in 1999 by Agilent Technologies; the technology uses a tiny camera that takes thousands of pictures per second to determine position and speed.

The optical mouse uses a very small light emitting diode more commonly referred to as an LED which is red in color. This LED bounces light off of a mouse pad or desk surface onto a CMOS (Complimentary Metal Oxide Semiconductor).
Optical Mouse Process

First the LED produces a red light that is emitted onto a surface. The light is reflected off the surface back to the CMOS sensor. The CMOS sensor sends each image that is reflected back to a DSP (Digital Signal Processor) for analysis.

Using the thousands of images that the CMOS sends to the DSP for analysis, the DSP is able to detect both patterns and images and can determine if the mouse has moved, at what distance it has moved and at what speed. It is able to determine coordinates which are then sent to the computer that the mouse is hooked up to.

At this point the coordinates have been received by the computer and will show the movement of the mouse, usually by its cursor on the computer screen. Your computer is updated with mouse coordinates more than hundreds of times per second, because movement is so fast, the appearance of the mouse cursor on your computer screen is very smooth.
Benefits of Optical Mice

There are many benefits to using optical mice over its predecessor the track ball or commonly called manual mouse. First of all there are no moving parts. Since the optical mouse uses and LED instead of a tiny rubber ball, there is no way for the LED to stick or get dirty. This leads to high reliability. Many people complain that their manual mice need constant maintenance or repair. Optical mice usually work well for years without a malfunction.

Because the technology is more advanced and uses an LED and CMOS instead of a rubber ball to measure tracking, you will get much better response and performance. Usually, the better the tracking, the smoother the total experience.

Another great reason that the Optical mouse has become the most popular mouse technology is that you can use an optical mouse on lots of different surfaces. Manual mice need a mouse pad made out of a special material to function optimally, optical mice do well on almost any kind of desk top or materials.

Optical mice are also very inexpensive. Most optical mice are less than $30 and some can be purchased for less than $15.
Laser Based Optical Mice

A new technology has recently emerged piggy backing off of the LED optical mouse. The laser based optical mouse works similar to the LED based optical mouse. It uses a laser instead of a LED. The benefit is that because it uses a laser beam, the mouse can track much better, giving the user ultimately better response times, tracking and the ability to be used on even more surfaces.

Bookmark and Share

05 December 2009

Five Best Web Browsers


It's probably the most important and debated piece of software on the modern computer. See how your fellow readers get around the net, and vote for your favorite web browser, in this week's Hive Five.

Picture background created with WEB2DNA Art Project.

The only proper way to follow up on the passionate flurry of voting that last week's Hive Five Best Linux Distributions created was to ask you about your favorite web browser. You didn't disappoint—Lifehacker readers came out in force, logging nearly a thousand votes to support their favorite browsers. We've tallied up the votes and we're here to share the top five browsers.

Chrome

Windows only (for practical purposes, but soon on Mac and Linux, if we're lucky): Some browsers have roots going back to the early 1990s—Chrome, on the other hand, is the new kid on the block. Although Chrome has a distant relationship to Konqueror and is a cousin to the Safari web browser—both share the speedy WebKit rendering engine—Google's browser is less than a year old. Despite its youth, it's already garnered praise for its minimalist interface and snappy page rendering. Chrome also handles site errors and quirks well, and each individual tab is a unique process, so a crash or lag in one shouldn't pull down or crash the others. In general, though, Chrome has caught attention for running a performance-focused JavaScript engine in a lightweight GUI. Also worth noting, Chrome has been holding its own in the recent Pwn2Own security challenge, with the distinction of being the only browser left standing after the first day of security exploits and attacks. For a closer look at Chrome, check out our screenshot tour.

Opera

Windows/Mac/Linux: Opera is a rock-solid browser with roots stretching back to 1994. Many of the features baked right into Opera are either not implemented in other browsers, or require multiple extensions at the cost of system resources—navigation by mouse gestures is one of the flashier examples. Despite being feature-packed, Opera has a fairly small market share, due largely in part to being trialware up until 2000 and advertisement-supported until 2005—many people were turned off by the expense, if not the ads. Still, Opera proponents have long claimed that Opera beats Internet Explorer and Firefox when it comes to speedy rendering. Another selling point for Opera is the quality of the built-in tools. For many users, the built-in RSS reader, email client, and BitTorrent client do their jobs admirably, cutting down on the number applications they need running at once. Opera is extensible, but the pool of available extensions is radically smaller than that available for Firefox. More screenshots and details on Opera's features are available here.

Firefox

Windows/Mac/Linux: Firefox is the grandchild of the venerable Mosaic browser and free-roaming son of Netscape. Although Firefox has a myriad of user-friendly, forward-thinking features, a decently secure framework, and an open-source ideology, its most prominent is extensibility. When convincing a Firefox user to abandon Firefox for anything else, even temporarily, you won't have to fight them over giving up the AwesomeBar or about:config tweaks—you'll hear a common, understandable refrain: "What about my extensions?" The repository of extensions maintained by Mozilla currently has over 6,000 entries, covering everything from blocking advertisements, to managing your clipboard, to allowing you to further customize your browsing experience with scripts a la Greasemonkey (here's 10 of our must-have picks). Combine the passion people have for extensions and the ability to sync those extensions across multiple computers and portable installations, and you've got a force to be contended with. For a closer look at Firefox, make sure to check out our power user's guide to Firefox 3 and the top 10 Firefox 3 features.

Internet Explorer

Windows only: Internet Explorer still commands a healthy chunk of the browser market, mostly because it ships with the most popular operating system on Earth and fits, if not exactly elegantly, into corporate computer plans. While many or most IE users stick with it for lack of wanting to try something else, Lifehacker readers definitely don't fall into that crowd—the majority of readers who voted in favor of Internet Explorer are sporting Internet Explorer 8. By contrast, nearly 20 percent of those surfing the web right now are using Internet Explorer 6, which had its initial release in 2001. Version 8 could mark a resurgence for the brand, though. It's the first version of Internet Explorer to have a strong focus on web standards compliance, as well as increasing rendering speed. And like Chrome, Internet Explorer 8 maintains a separate process for each tab to increase stability and security. Internet Explorer 8 has also beefed up its security measures from previous versions, including active filtering against malicious cross-site scripting and ActiveX isolation from the core of the browser. For more information about what's new in Internet Explorer 8 check out our screenshot tour and overview.

Safari

Windows/Mac: Safari is Apple's contribution to the web browsing world, built originally to fit snugly inside OS X. Like Chrome, Safari runs the speedy WebKit rendering engine for snappy page loads. In addition to its WebKit core, Safari also has the Nitro JavaScript engine, which lays claim to radically faster JavaScript execution than Internet Explorer and Firefox (in its own testing reports, anyways). Safari sports Apple's Cover Flow browser for perusing your history and bookmarks and an eye-catching display of the top 24 sites you've visited as the default page when Safari is loaded.
Bookmark and Share


01 December 2009

How Does the Internet Work?


Contents
  1. Introduction
  2. Where to Begin? Internet Addresses
  3. Protocol Stacks and Packets
  4. Networking Infrastructure
  5. Internet Infrastructure
  6. The Internet Routing Hierarchy
  7. Domain Names and Address Resolution
  8. Internet Protocols Revisited
  9. Application Protocols: HTTP and the World Wide Web
  10. Application Protocols: SMTP and Electronic Mail
  11. Transmission Control Protocol
  12. Internet Protocol
  13. Wrap Up
  14. Resources
  15. Bibliography

Introduction

How does the Internet work? Good question! The Internet's growth has become explosive and it seems impossible 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 part of our lives, a good understanding is needed to use this new tool most effectively.

This whitepaper explains the underlying infrastructure and technologies that make the Internet work. It does not go into great depth, but covers enough of each area to give a basic understanding of the concepts involved. For any unanswered questions, a list of resources is provided at the end of the paper. Any comments, suggestions, questions, etc. are encouraged and may be directed to the author at the email address given above.

Where to Begin? Internet Addresses

Because the Internet is a global network of computers each computer connected to the Internet 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 as an IP address. (IP stands for Internet Protocol; more on this later.)

The picture below illustrates two computers connected to the Internet; your computer with IP address 1.2.3.4 and another computer with IP address 5.6.7.8. The Internet is represented as an abstract object in-between. (As this paper progresses, the Internet portion of Diagram 1 will be explained and redrawn several times as the details of the Internet are exposed.)

Diagram 1
Diagram 1

If you connect to the Internet through an Internet Service Provider (ISP), you are usually assigned a temporary IP address for the duration of your dial-in session. If you connect to the Internet from a local area network (LAN) your computer might have a permanent IP address or it might obtain a temporary one from a DHCP (Dynamic Host Configuration Protocol) server. In any case, if you are connected to the Internet, your computer has a unique IP address.

Check It Out - The Ping Program
If you're using Microsoft Windows or a flavor of Unix and have a connection to the Internet, there is a handy program to see if a computer on the Internet is alive. It's called ping, probably after the sound made by older submarine sonar systems.1 If you are using Windows, start a command prompt window. If you're using a flavor of Unix, get to a command prompt. Type ping www.yahoo.com. The ping program will send a 'ping' (actually an ICMP (Internet Control Message Protocol) echo request message) to the named computer. The pinged computer will respond with a reply. The ping program will count the time expired until the reply comes back (if it does). Also, if you enter a domain name (i.e. www.yahoo.com) instead of an IP address, ping will resolve the domain name and display the computer's IP address. More on domain names and address resolution later.

Protocol Stacks and Packets

So your computer is connected 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 1.2.3.4 and you want to send a message to the computer 5.6.7.8. The message you want to send is "Hello computer 5.6.7.8!". Obviously, the message must be transmitted over whatever kind of wire connects your computer to the Internet. Let's say you've dialed into your ISP from home and the message must be transmitted over the phone line. Therefore the message must be 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 one to communicate on the Internet and it is usually built into the computer's operating system (i.e. Windows, Unix, etc.). The protocol stack used on the Internet is referred to as the TCP/IP protocol stack because of the two major communication protocols used. The TCP/IP stack looks like this:


Protocol Layer Comments
Application Protocols Layer Protocols specific to applications such as WWW, e-mail, FTP, etc.
Transmission Control Protocol Layer TCP directs packets to a specific application on a computer 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.
(E.g. ethernet network card, modem for phone lines, etc.)


If we were to follow the path that the message "Hello computer 5.6.7.8!" took from our computer to the computer with IP address 5.6.7.8, it would happen something like this:

Diagram 2
Diagram 2

  1. The message would start at the top of the protocol stack on your computer and work it's way downward.
  2. If the message to be sent is long, each stack layer that the message passes through may break the message up into smaller chunks of data. This is because data sent over the Internet (and most computer networks) are sent in manageable chunks. On the Internet, these chunks of data are known as packets.
  3. The packets would go through the Application Layer and continue to the TCP layer. Each packet is assigned a port number. Ports will be explained later, but suffice to say that many programs may be using the TCP/IP stack and sending messages. We need to know which program on the destination computer needs to receive the message because it will be listening on a specific port.
  4. After going through the TCP layer, the packets proceed to the IP layer. This is where each packet receives it's destination address, 5.6.7.8.
  5. Now that our message packets have a port number and an IP address, 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.
  6. On the other end of the phone line your ISP has a direct connection to the Internet. The ISPs router examines the destination address in each packet and determines where to send it. Often, the packet's next stop is another router. More on routers and Internet infrastructure later.
  7. Eventually, the packets reach computer 5.6.7.8. Here, the packets start at the bottom of the destination computer's TCP/IP stack and work upwards.
  8. As the packets go upwards 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.
  9. When the data reaches the top of the stack, the packets have been re-assembled into their original form, "Hello computer 5.6.7.8!"

Networking Infrastructure

So now you know how packets travel from one computer to another over the Internet. But what's in-between? What actually makes up the Internet? Let's look at another diagram:

Diagram 3
Diagram 3

Here we see Diagram 1 redrawn with more detail. The physical connection through the phone network to the Internet Service Provider might have been easy to guess, but beyond that might bear some explanation.

The ISP maintains a pool of modems for their dial-in customers. This is managed by some form of computer (usually a dedicated one) which controls data flow from the modem pool to a backbone or dedicated line router. This setup may be referred 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 phone network and your ISP's local equipment, they are routed onto the ISP's backbone or a backbone the ISP buys bandwidth from. From here the packets will 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. But wouldn't it would be nice if we knew the exact route our packets were taking over the Internet? As it turns out, there is a way...

Check It Out - The Traceroute Program
If you're using Microsoft Windows or a flavor of Unix and have a connection to the Internet, here is another handy Internet 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 you use traceroute, you'll notice that your packets must travel through many things to get to their destination. Most have long names such as sjc2-core1-h2-0-0.atlas.digex.net and fddi0-0.br4.SJC.globalcenter.net. 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 simple network structure. The Internet is much more complex.

Internet Infrastructure

The Internet backbone is made up of many large networks which interconnect with each other. These large networks are known as Network Service Providers or NSPs. Some of the large NSPs are UUNet, CerfNet, IBM, BBN Planet, SprintNet, PSINet, as well as others. These networks peer with each other to exchange packet traffic. Each NSP is required to connect to three Network Access Points or NAPs. At the NAPs, packet traffic may jump from one NSP's backbone to another NSP's backbone. NSPs also interconnect at Metropolitan Area Exchanges or MAEs. MAEs serve the same purpose as the NAPs but are privately owned. NAPs were the original Internet interconnect points. Both NAPs and MAEs are referred to as Internet Exchange Points or IXs. NSPs also sell bandwidth to smaller networks, such as ISPs and smaller bandwidth providers. Below is a picture showing this hierarchical infrastructure.

Diagram 4
Diagram 4

This is not a true representation of an actual piece of the Internet. Diagram 4 is only meant to demonstrate how the NSPs could interconnect with each other and smaller ISPs. None of the physical network components are shown in Diagram 4 as they are in Diagram 3. This is because a single NSP's backbone infrastructure is a complex drawing by itself. Most NSPs publish maps of their network infrastructure on their web sites and can be found easily. To draw an actual map of the Internet would be nearly impossible due to it's size, complexity, and ever changing structure.

The Internet Routing Hierarchy

So how do packets find their way across the Internet? Does every computer connected to the Internet know where the other computers are? Do packets simply get 'broadcast' to every computer on the Internet? The answer to both the preceding questions is 'no'. No computer knows where any of the other computers are, and packets do not get sent to every computer. 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 route packets between them. Each router knows about it's 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. Under them are several sub-networks, and under them, more sub-networks. At the bottom are two local area networks with computers attached.

Diagram 5
Diagram 5

When a packet arrives at a router, the router examines the IP address put there by the IP protocol layer on the originating computer. The router checks it's routing table. If the network containing the IP address is found, the packet is sent to that network. If the network containing the IP address is not found, then the router sends the packet on a default route, usually up the backbone hierarchy to the next router. Hopefully the next router will know where to send the packet. If it does not, again the packet is routed upwards until it reaches a NSP backbone. The routers connected to the NSP backbones hold the largest routing tables and here the packet will be routed to the correct backbone, where it will begin its journey 'downward' through smaller and smaller networks until it finds it's destination.

Domain Names and Address Resolution

But what if you don't know the IP address of the computer you want to connect to? What if the you need to access a web server referred to as www.anothercomputer.com? How does your web browser know where on the Internet this computer lives? The answer to all these questions is the Domain Name Service or DNS. The DNS is a distributed database which keeps track of computer's names and their corresponding IP addresses on the Internet.

Many computers connected to the Internet 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 entire database; they only contain a subset of it. If a DNS server does not contain the domain name requested by another computer, the DNS server re-directs the requesting computer to another DNS server.

Diagram 6
Diagram 6

The Domain Name Service is structured as a hierarchy similar to the IP routing hierarchy. The computer requesting a name resolution will be re-directed 'up' the hierarchy until a DNS server is found that can resolve the domain name in the request. Figure 6 illustrates a portion of the hierarchy. At the top of the tree are the domain roots. Some of the older, more common domains are seen near the top. What is not shown are the multitude of DNS servers around the world which form the rest of the hierarchy.

When an Internet connection is setup (e.g. for a LAN or Dial-Up Networking in Windows), one primary and one or more secondary DNS servers are usually specified as part of the installation. This way, any Internet applications that need domain name resolution will be able to function correctly. For example, when you enter a web address into your web browser, the browser first connects to your primary DNS server. After obtaining the IP address for the domain name you entered, the browser then connects to the target computer and requests the web page you wanted.

Check It Out - Disable DNS in Windows
If you're using Windows 95/NT and access the Internet, you may view your DNS server(s) and even disable them.

If you use Dial-Up Networking:
Open your Dial-Up Networking window (which can be found in Windows Explorer under your CD-ROM drive and above Network Neighborhood). Right click on your Internet connection and click Properties. Near the bottom of the connection properties window press the TCP/IP Settings... button.

If you have a permanent connection to the Internet:
Right click on Network Neighborhood and click Properties. Click TCP/IP Properties. Select the DNS Configuration tab at the top.

You should now be looking at your DNS servers' IP addresses. Here you may disable DNS or set your DNS servers to 0.0.0.0. (Write down your DNS servers' IP addresses first. You will probably have to restart Windows as well.) Now enter an address into your web browser. The browser won't be able to resolve the domain name and you will probably get a nasty dialog box explaining that a DNS server couldn't be found. However, if you enter the corresponding IP address instead of the domain name, 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.


Internet Protocols Revisited

As hinted to earlier in the section about protocol stacks, one may surmise that there are many protocols that are used on the Internet. This is true; there are many communication protocols required for the Internet to function. These include the TCP and IP protocols, routing protocols, medium access control protocols, application level protocols, etc. The following sections describe some of the more important 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

One of the most commonly used services on the Internet is the World Wide Web (WWW). The application protocol that makes the web work is Hypertext Transfer Protocol or HTTP. Do not confuse this with the Hypertext Markup Language (HTML). HTML is the language used to write web pages. HTTP is the protocol that web browsers and web servers use 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 by specific applications to talk to one another. In this case the applications are web browsers and web servers.

HTTP is a connectionless text based protocol. Clients (web browsers) send requests to web servers for web elements such as web pages and images. After the request is serviced by a server, the connection between client and server across the Internet is disconnected. A new connection must be made for each request. Most protocols are connection oriented. This means that the two computers communicating with each other keep the connection open over the Internet. HTTP does not however. Before an HTTP request can be made by a client, a new connection must be made to the server.

When you type a URL into a web browser, this is what happens:

  1. If the URL contains a domain name, the browser first connects to a domain name server and retrieves the corresponding IP address for the web server.
  2. The web browser connects to the web server and sends an HTTP request (via the protocol stack) for the desired web page.
  3. The web server receives the request and checks for the desired page. If the page exists, the web server sends it. If the server cannot find the requested page, it will send an HTTP 404 error message. (404 means 'Page Not Found' as anyone who has surfed the web probably knows.)
  4. The web browser receives the page back and the connection is closed.
  5. The browser then parses through the page and looks for other page elements it needs to complete the web page. These usually include images, applets, etc.
  6. For each element needed, the browser makes additional connections and HTTP requests to the server for each element.
  7. 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 Client to Retrieve a Web Page Using HTTP
Telnet is a remote terminal service used on the Internet. It's use has declined lately, but it is a very useful tool to study the Internet. In Windows find the default telnet program. It may be located in the Windows directory named telnet.exe. When opened, pull down the Terminal menu and select Preferences. In the preferences window, check Local Echo. (This is so you can see your HTTP request when you type it.) Now pull down the Connection menu and select Remote System. Enter www.google.com for the Host Name and 80 for the Port. (Web servers usually listen on port 80 by default.) Press Connect. Now type

GET / HTTP/1.0

and press Enter twice. This is a simple HTTP request to a web server for it's root page. You should see a web page flash by and then a dialog box should pop up to tell you the connection was lost. If you'd like to save the retrieved page, turn on logging in the Telnet program. You may then browse through the web page and see the HTML that was used to write it.


Most Internet protocols are specified by Internet documents known as a Request For Comments or RFCs. RFCs may be found at several locations on the Internet. See the Resources section below for appropriate URL's. HTTP version 1.0 is specified by RFC 1945.

Application Protocols: SMTP and Electronic Mail

Another commonly used Internet service is electronic mail. E-mail uses an application level protocol called Simple Mail Transfer Protocol or SMTP. SMTP is also a text based protocol, but unlike HTTP, SMTP is connection oriented. SMTP is also more complicated than HTTP. There are many more commands and considerations in SMTP than there are in HTTP.

When you open your mail client to read your e-mail, this is what typically happens:

  1. 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 name is typically setup when the mail client is installed.
  2. The mail server will always transmit the first message to identify itself.
  3. The client will send an SMTP HELO command to which the server will respond with a 250 OK message.
  4. Depending on whether the client is checking mail, sending mail, etc. the appropriate SMTP commands will be sent to the server, which will respond accordingly.
  5. This request/response transaction will continue until the client sends an SMTP QUIT command. The server will then say goodbye and the connection will be closed.
A simple 'conversation' between an SMTP client and SMTP server is shown below. R: denotes messages sent by the server (receiver) and S: denotes messages sent by the client (sender).
      This SMTP example shows mail sent by Smith at host USC-ISIF, to

      Jones, Green, and Brown at host BBN-UNIX.  Here we assume that

      host USC-ISIF contacts host BBN-UNIX directly.  The mail is

      accepted for Jones and Brown.  Green does not have a mailbox at

      host BBN-UNIX.


      -------------------------------------------------------------


         R: 220 BBN-UNIX.ARPA Simple Mail Transfer Service Ready

         S: HELO USC-ISIF.ARPA

         R: 250 BBN-UNIX.ARPA


         S: MAIL FROM:

         R: 250 OK


         S: RCPT TO:

         R: 250 OK


         S: RCPT TO:

         R: 550 No such user here


         S: RCPT TO:

         R: 250 OK


         S: DATA

         R: 354 Start mail input; end with .

         S: Blah blah blah...

         S: ...etc. etc. etc.

         S: .

         R: 250 OK


         S: QUIT

         R: 221 BBN-UNIX.ARPA Service closing transmission channel

This 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 a connection to another computer on the Internet, the messages they send (using a specific application layer protocol) get passed down the stack to the TCP layer. TCP is responsible for routing application protocols to the correct application on the destination computer. To accomplish this, port numbers are used. Ports can be thought of as separate channels on each computer. For example, you can surf the web while reading e-mail. This is because these two applications (the web browser and the mail client) used different port numbers. When a packet 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 it 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 packet from the IP layer below it, the TCP layer strips the TCP header data from the packet, does some data reconstruction if necessary, and then sends the data to the correct application using the port number taken from the TCP header.
This is how TCP routes the data moving through the protocol stack to the correct application.

TCP is not a textual protocol. TCP is a connection-oriented, reliable, byte stream service. Connection-oriented means that two applications using TCP must first establish a connection before exchanging data. TCP is reliable because for each packet received, an acknowledgement is sent to the sender to confirm the delivery. TCP also includes a checksum in it's header for error-checking the received data. The TCP header looks like this:

Diagram 7
Diagram 7

Notice that there is no place for an IP address in the TCP header. This is because TCP doesn't know anything about IP addresses. TCP's job is to get application level data from application to application reliably. The task of getting data from computer to computer is the job of IP.

Check It Out - Well Known Internet Port Numbers
Listed below are the port numbers for some of the more commonly used Internet services.

FTP20/21
Telnet23
SMTP25
HTTP80
Quake III Arena27960

Internet Protocol

Unlike TCP, IP is an unreliable, connectionless protocol. IP doesn't care whether a packet gets to it's destination or not. Nor does IP know about connections and port numbers. IP's job is too send and route packets to other computers. IP packets are independent entities and may arrive out of order or not at all. It is TCP's job to make sure packets arrive and are in the correct order. About the only 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 like this:

Diagram 8
Diagram 8

Above we see the IP addresses of the sending and receiving computers in the IP header. Below is what a packet looks like after passing through the application layer, TCP layer, and IP layer. The application layer data is segmented in the TCP layer, the TCP header is added, the packet continues to the IP layer, the IP header is added, and then the packet is transmitted across the Internet.

Diagram 9
Diagram 9

Wrap Up

Rus Shuler, 1998
Updates made 2002

Resources

Below are some interesting links associated with some of the topics discussed. (I hope they all still work. All open in new window.)

http://www.ietf.org is the home page of the Internet Engineering Task Force. This body is greatly responsible for the development of Internet protocols and the like.

http://www.internic.org is the organization responsible for administering domain names.

http://www.nexor.com/rfc_search.htm is an excellent RFC search engine useful for finding any RFC.

http://navigators.com/isp.html is Russ Haynal's ISP Page. This is a great 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 can be considered the bible of the Internet. Sheldon's book covers a much wider scope and contains a vast amount of networking information.

  • 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.
Although not used for writing this paper, here are some other good books on the topics of the Internet and networking:

  • Firewalls and Internet Security; Repelling the Wiley Hacker.
    William R. Cheswick, Steven M. Bellovin.
    Addison-Wesley, Reading, Massachusetts. 1994.
  • Data 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.







Bookmark and Share

28 November 2009

What Is Internet.?


The Internet, sometimes called simply "the Net," is a worldwide system of computer networks - a network of networks in which users at any one computer can, if they have permission, get information from any other computer (and sometimes talk directly to users at other computers). It was conceived by the Advanced Research Projects Agency (ARPA) of the U.S. government in 1969 and was first known as the ARPANET. The original aim was to create a network that would allow users of a research computer at one university to be able to "talk to" research computers at other universities. A side benefit of ARPANet's design was that, because messages could be routed or rerouted in more than one direction, the network could continue to function even if parts of it were destroyed in the event of a military attack or other disaster.

Today, the Internet is a public, cooperative, and self-sustaining facility accessible to hundreds of millions of people worldwide. Physically, the Internet uses a portion of the total resources of the currently existing public telecommunication networks. Technically, what distinguishes the Internet is its use of a set of protocols called TCP/IP (for Transmission Control Protocol/Internet Protocol). Two recent adaptations of Internet technology, the intranet and the extranet, also make use of the TCP/IP protocol.

For many Internet users, electronic mail (e-mail) has practically replaced the Postal Service for short written transactions. Electronic mail is the most widely used application on the Net. You can also carry on live "conversations" with other computer users, using Internet Relay Chat (IRC). More recently, Internet telephony hardware and software allows real-time voice conversations.

The most widely used part of the Internet is the World Wide Web (often abbreviated "WWW" or called "the Web"). Its outstanding feature is hypertext, a method of instant cross-referencing. In most Web sites, certain words or phrases appear in text of a different color than the rest; often this text is also underlined. When you select one of these words or phrases, you will be transferred to the site or page that is relevant to this word or phrase. Sometimes there are buttons, images, or portions of images that are "clickable." If you move the pointer over a spot on a Web site and the pointer changes into a hand, this indicates that you can click and be transferred to another site.

Using the Web, you have access to millions of pages of information. Web browsing is done with a Web browser, the most popular of which are Microsoft Internet Explorer and Netscape Navigator. The appearance of a particular Web site may vary slightly depending on the browser you use. Also, later versions of a particular browser are able to render more "bells and whistles" such as animation, virtual reality, sound, and music files, than earlier versions.

Bookmark and Share

20 November 2009

What is Ubuntu ?


Ubuntu is an operating system built by a worldwide team of expert developers. It contains all the applications you need: a web browser, office suite, media apps, instant messaging and much more.

Ubuntu is an open-source alternative to Windows and Office.

The Ubuntu promise

  • Ubuntu will always be free of charge, along with its regular enterprise releases and security updates
  • Ubuntu comes with full commercial support from Canonical and hundreds of companies from across the world
  • Ubuntu provides the best translations and accessibility features that the free software community has to offer
  • Ubuntu core applications are all free and open source. We want you to use free and open source software, improve it and pass it on.
To Know More About Ubuntu Please Visit www.ubuntu.com

Bookmark and Share

18 November 2009

How to Find The Best Operating Systems

Windows has an army of critics, mostly male and mostly having a hard time going through adolescence. In actual fact Windows isn't too bad. It makes extremely complex tasks very easy. Take dialling-up to the Internet as an example. Believe it or not, this is an incredibly complex task involving protocol negotiations and physical transfer layers. With Windows it's a one-click operation.

Screenshot

It's one of life's strange coincidences that just as Microsoft got tied-up in their anti-trust case - which accused them of monopolistic practices - a new and interesting OS popped its head above the surface. This was Linux and was written by Finnish student Linus Torvalds. It was based on Unix, an operating system used by people who wear lab coats and have 30ft satellite dishes at their place of work.

But saying Linux is based on Unix is like saying humans are based on monkeys. Nowadays Linux - pronounced Lin-ux - has the all-important X-Server which allows it to go beyond its command-line beginnings ('copy C:\doggy.jpg F:\doggy.jpg /i/d/a', etc.). It's developed into a fully-fledged graphical operating system and started a world domination campaign, albeit accidentally and purely as a result of PC users' reacting to Microsoft's notorious business practices.

But if Linux is so damned great then why aren't more people using it? Well, getting Linux up and running in its raw state is an act of courage. You need to repartition your hard disk, (without the right tools, this is like moving your house sideways in order to add a conservatory). And despite all the graphical cleverness, Linux is still more 'hands-on' than most people can deal with. Dialling-up to the Internet requires you to make sure your modem driver is custom compiled into the kernel. You also have to setup a dedicated point-to-point protocol (PPP) dialler. Confused? Then don't touch Linux in its unpackaged form.

There's also the important fact that Linux can't run Windows software. Instead it has a huge legion of programs written by hobbyists with the odd professional effort, such as the hugely capable Star Office suite, shining through.

Screenshot

But Linux does have one huge advantage. It's entirely free. It was written to be free. It's the wild horse galloping across the plains compared to Microsoft's pit ponies shackled to the cart of capitalism. And because of this, virtually all the software for it, including Star Office, is also free. With this in mind it's not too bad a prospect after all and certainly worth trying out, especially as more and more Linux packages are appearing with user-friendly installation routines (read some of our reviews for more information).

Another operating systems wanders the plains. This is BeOS, yet another free young upstart based loosely on the Macintosh operating system (perversely, a version of BeOS is also available for Mac, making it a cross-platform OS). However, unlike Linux, this OS has no designs on world domination. In fact, it only aims to conquer multimedia studios because it's primarily aimed at artistic types who use computers. And with very little software available - the list fits on one side of a sheet of A4 - it has as many users as most of us have toes. Perhaps that's a little unkind, but don't expect to see BeOS on an office machine near you in the immediate future.

Bookmark and Share

14 November 2009

About Windows 7


Windows 7 is the most recent publicly available version of Microsoft Windows, a series of operating systems produced by Microsoft for use on personal computers, including home and business desktops, laptops, netbooks, tablet PCs and media center PCs. Windows 7 was released to manufacturing on July 22, 2009, and general retail availability on October 22, 2009, less than three years after the release of its predecessor, Windows Vista. Windows 7's server counterpart, Windows Server 2008 R2, was released at the same time.

Unlike its predecessor, which introduced a large number of new features, Windows 7 was intended to be a more focused, incremental upgrade to the Windows line, with the goal of being fully compatible with applications and hardware with which Windows Vista is already compatible. Presentations given by Microsoft in 2008 focused on multi-touch support, a redesigned Windows Shell with a new taskbar, referred to as the Superbar, a home networking system called HomeGroup, and performance improvements. Some applications that have been included with prior releases of Microsoft Windows, including Windows Calendar, Windows Mail, Windows Movie Maker, and Windows Photo Gallery, are not included in Windows 7; some are instead offered separately as part of the free Windows Live Essentials suite
Bookmark and Share

02 September 2009

The History Of The Windows Registry


Suprisingly enough the Windows registry is a new addition to Microsoft’s operating systems. If you go back to the earliest Windows systems, such as Windows 3x, you will find that they did not have a registry. Windows 3x, and its predecessors, had .ini and .dat files located in each system folder and subfolder, rather than a registry. Within these two sets of files were included all the information required to make the computer operate.

The use of .ini and .dat files is a complex thing though and it was found that they were easy to delete by accident. Once deleted it would be impossible to get Windows working again as it should.

This issue though was resolved when Microsoft came up with the Windows NT operating system. Instead of .ini and .dat files located in each folder, the configuration data was centralized into what became known as the Windows registry. This registry could be viewed using regedit.exe, but could not be amended, and so was like a huge database of information.

As Microsoft continued to develop its operating system, with the inception of Windows 95, Windows 98 and Windows 2000, so the company changed the registry as well. To view the registry now required the use of the regedt32.exe command. This new command saw a user able to make changes to the registry through the command functionality. This new function though did mean that less of the registry could be looked at when compared with the old regedit.exe command.

It wasn’t until Windows XP that the best features of the regedit.exe and regedt32.exe commands were brought together. The registry then became both easier to view and easier to make changes to if required. This functionality has also been included in subsequent operating system, Windows Server and Windows Vista.

Bookmark and Share

14 August 2009

Super Computer

A supercomputer is a computer that is at the frontline of current processing capacity, particularly speed of calculation. Supercomputers introduced in the 1960s were designed primarily by Seymour Cray at Control Data Corporation (CDC), and led the market into the 1970s until Cray left to form his own company, Cray Research. He then took over the supercomputer market with his new designs, holding the top spot in supercomputing for five years (1985–1990). In the 1980s a large number of smaller competitors entered the market, in parallel to the creation of the minicomputer market a decade earlier, but many of these disappeared in the mid-1990s "supercomputer market crash".

Today, supercomputers are typically one-of-a-kind custom designs produced by "traditional" companies such as Cray, IBM and Hewlett-Packard, who had purchased many of the 1980s companies to gain their experience. As of July 2009, the IBM Roadrunner, located at Los Alamos National Laboratory, is the fastest supercomputer in the world.

The term supercomputer itself is rather fluid, and today's supercomputer tends to become tomorrow's ordinary computer. CDC's early machines were simply very fast scalar processors, some ten times the speed of the fastest machines offered by other companies. In the 1970s most supercomputers were dedicated to running a vector processor, and many of the newer players developed their own such processors at a lower price to enter the market. The early and mid-1980s saw machines with a modest number of vector processors working in parallel to become the standard. Typical numbers of processors were in the range of four to sixteen. In the later 1980s and 1990s, attention turned from vector processors to massive parallel processing systems with thousands of "ordinary" CPUs, some being off the shelf units and others being custom designs. Today, parallel designs are based on "off the shelf" server-class microprocessors, such as the PowerPC, Opteron, or Xeon, and most modern supercomputers are now highly-tuned computer clusters using commodity processors combined with custom interconnects.