Saturday, January 22, 2011

COMPUTER

 COMPUTER VIRUS
A computer virus is a computer program that can copy itself[1] and infect a computer. The term "virus" is also commonly but erroneously used to refer to other types of malware, including but not limited to adware and spyware programs that do not have the reproductive ability. A true virus can spread from one computer to another (in some form of executable code) when its host is taken to the target computer; for instance because a user sent it over a network or the Internet, or carried it on a removable medium such as a floppy disk, CD, DVD, or USB drive.[2]
Viruses can increase their chances of spreading to other computers by infecting files on a network file system or a file system that is accessed by another computer.
As stated above, the term "computer virus" is sometimes used as a catch-all phrase to include all types of malware, even those that do not have the reproductive ability. Malware includes computer viruses, computer worms, Trojan horses, most rootkits, spyware, dishonest adware and other malicious and unwanted software, including true viruses. Viruses are sometimes confused with worms and Trojan horses, which are technically different. A worm can exploit security vulnerabilities to spread itself automatically to other computers through networks, while a Trojan horse is a program that appears harmless but hides malicious functions. Worms and Trojan horses, like viruses, may harm a computer system's data or performance. Some viruses and other malware have symptoms noticeable to the computer user, but many are surreptitious or simply do nothing to call attention to themselves. Some viruses do nothing beyond reproducing themselves.

Contents

History

Academic work

The first academic work on the theory of computer viruses (although the term "computer virus" was not invented at that time) was done by John von Neumann in 1949 who held lectures at the University of Illinois about the "Theory and Organization of Complicated Automata". The work of von Neumann was later published as the "Theory of self-reproducing automata".[5] In his essay von Neumann postulated that a computer program could reproduce.
In 1972 Veith Risak published his article "Selbstreproduzierende Automaten mit minimaler Informationsübertragung" (Self-reproducing automata with minimal information exchange).[6] The article describes a fully functional virus written in assembler language for a SIEMENS 4004/35 computer system.
In 1980 Jürgen Kraus wrote his diplom thesis "Selbstreproduktion bei Programmen" (Self-reproduction of programs) at the University of Dortmund.[7] In his work Kraus postulated that computer programs can behave in a way similar to biological viruses.
In 1984 Fred Cohen from the University of Southern California wrote his paper "Computer Viruses - Theory and Experiments".[8] It was the first paper to explicitly call a self-reproducing program a "virus"; a term introduced by his mentor Leonard Adleman.
An article that describes "useful virus functionalities" was published by J. B. Gunn under the title "Use of virus functions to provide a virtual APL interpreter under user control" in 1984.[9]

Science Fiction

The Terminal Man, a science fiction novel by Michael Crichton (1972), told (as a sideline story) of a computer with telephone modem dialing capability, which had been programmed to randomly dial phone numbers until it hit a modem that is answered by another computer. It then attempted to program the answering computer with its own program, so that the second computer would also begin dialing random numbers, in search of yet another computer to program. The program is assumed to spread exponentially through susceptible computers.
The actual term 'virus' was first used in David Gerrold's 1972 novel, When HARLIE Was One. In that novel, a sentient computer named HARLIE writes viral software to retrieve damaging personal information from other computers to blackmail the man who wants to turn him off.

Virus programs

The Creeper virus was first detected on ARPANET, the forerunner of the Internet, in the early 1970s.[10] Creeper was an experimental self-replicating program written by Bob Thomas at BBN Technologies in 1971.[11] Creeper used the ARPANET to infect DEC PDP-10 computers running the TENEX operating system.[12] Creeper gained access via the ARPANET and copied itself to the remote system where the message, "I'm the creeper, catch me if you can!" was displayed. The Reaper program was created to delete Creeper.[13]
A program called "Elk Cloner" was the first computer virus to appear "in the wild" — that is, outside the single computer or lab where it was created.[14] Written in 1981 by Richard Skrenta, it attached itself to the Apple DOS 3.3 operating system and spread via floppy disk.[14][15] This virus, created as a practical joke when Skrenta was still in high school, was injected in a game on a floppy disk. On its 50th use the Elk Cloner virus would be activated, infecting the computer and displaying a short poem beginning "Elk Cloner: The program with a personality."
The first PC virus in the wild was a boot sector virus dubbed (c)Brain,[16] created in 1986 by the Farooq Alvi Brothers in Lahore, Pakistan, reportedly to deter piracy of the software they had written.[17]
Before computer networks became widespread, most viruses spread on removable media, particularly floppy disks. In the early days of the personal computer, many users regularly exchanged information and programs on floppies. Some viruses spread by infecting programs stored on these disks, while others installed themselves into the disk boot sector, ensuring that they would be run when the user booted the computer from the disk, usually inadvertently. PCs of the era would attempt to boot first from a floppy if one had been left in the drive. Until floppy disks fell out of use, this was the most successful infection strategy and boot sector viruses were the most common in the wild for many years.[1]
Traditional computer viruses emerged in the 1980s, driven by the spread of personal computers and the resultant increase in BBS, modem use, and software sharing. Bulletin board-driven software sharing contributed directly to the spread of Trojan horse programs, and viruses were written to infect popularly traded software. Shareware and bootleg software were equally common vectors for viruses on BBS's.[citation needed]
Macro viruses have become common since the mid-1990s. Most of these viruses are written in the scripting languages for Microsoft programs such as Word and Excel and spread throughout Microsoft Office by infecting documents and spreadsheets. Since Word and Excel were also available for Mac OS, most could also spread to Macintosh computers. Although most of these viruses did not have the ability to send infected e-mail, those viruses which did take advantage of the Microsoft Outlook COM interface.[citation needed]
Some old versions of Microsoft Word allow macros to replicate themselves with additional blank lines. If two macro viruses simultaneously infect a document, the combination of the two, if also self-replicating, can appear as a "mating" of the two and would likely be detected as a virus unique from the "parents".[18]
A virus may also send a web address link as an instant message to all the contacts on an infected machine. If the recipient, thinking the link is from a friend (a trusted source) follows the link to the website, the virus hosted at the site may be able to infect this new computer and continue propagating.
Viruses that spread using cross-site scripting were first reported in 2002,[19] and were academically demonstrated in 2005.[20] There have been multiple instances of the cross-site scripting viruses in the wild, exploiting websites such as MySpace and Yahoo.

Infection strategies

In order to replicate itself, a virus must be permitted to execute code and write to memory. For this reason, many viruses attach themselves to executable files that may be part of legitimate programs. If a user attempts to launch an infected program, the virus' code may be executed simultaneously. Viruses can be divided into two types based on their behavior when they are executed. Nonresident viruses immediately search for other hosts that can be infected, infect those targets, and finally transfer control to the application program they infected. Resident viruses do not search for hosts when they are started. Instead, a resident virus loads itself into memory on execution and transfers control to the host program. The virus stays active in the background and infects new hosts when those files are accessed by other programs or the operating system itself.

Nonresident viruses

Nonresident viruses can be thought of as consisting of a finder module and a replication module. The finder module is responsible for finding new files to infect. For each new executable file the finder module encounters, it calls the replication module to infect that file.

Resident viruses

Resident viruses contain a replication module that is similar to the one that is employed by nonresident viruses. This module, however, is not called by a finder module. The virus loads the replication module into memory when it is executed instead and ensures that this module is executed each time the operating system is called to perform a certain operation. The replication module can be called, for example, each time the operating system executes a file. In this case the virus infects every suitable program that is executed on the computer.
Resident viruses are sometimes subdivided into a category of fast infectors and a category of slow infectors. Fast infectors are designed to infect as many files as possible. A fast infector, for instance, can infect every potential host file that is accessed. This poses a special problem when using anti-virus software, since a virus scanner will access every potential host file on a computer when it performs a system-wide scan. If the virus scanner fails to notice that such a virus is present in memory the virus can "piggy-back" on the virus scanner and in this way infect all files that are scanned. Fast infectors rely on their fast infection rate to spread. The disadvantage of this method is that infecting many files may make detection more likely, because the virus may slow down a computer or perform many suspicious actions that can be noticed by anti-virus software. Slow infectors, on the other hand, are designed to infect hosts infrequently. Some slow infectors, for instance, only infect files when they are copied. Slow infectors are designed to avoid detection by limiting their actions: they are less likely to slow down a computer noticeably and will, at most, infrequently trigger anti-virus software that detects suspicious behavior by programs. The slow infector approach, however, does not seem very successful.

Vectors and hosts

Viruses have targeted various types of transmission media or hosts. This list is not exhaustive:
PDFs, like HTML, may link to malicious code. PDFs can also be infected with malicious code.
In operating systems that use file extensions to determine program associations (such as Microsoft Windows), the extensions may be hidden from the user by default. This makes it possible to create a file that is of a different type than it appears to the user. For example, an executable may be created named "picture.png.exe", in which the user sees only "picture.png" and therefore assumes that this file is an image and most likely is safe, yet when opened runs the executable on the client machine.
An additional method is to generate the virus code from parts of existing operating system files by using the CRC16/CRC32 data. The initial code can be quite small (tens of bytes) and unpack a fairly large virus. This is analogous to a biological "prion" in the way it works but is vulnerable to signature based detection. This attack has not yet been seen "in the wild".

Methods to avoid detection

In order to avoid detection by users, some viruses employ different kinds of deception. Some old viruses, especially on the MS-DOS platform, make sure that the "last modified" date of a host file stays the same when the file is infected by the virus. This approach does not fool anti-virus software, however, especially those which maintain and date Cyclic redundancy checks on file changes.
Some viruses can infect files without increasing their sizes or damaging the files. They accomplish this by overwriting unused areas of executable files. These are called cavity viruses. For example, the CIH virus, or Chernobyl Virus, infects Portable Executable files. Because those files have many empty gaps, the virus, which was 1 KB in length, did not add to the size of the file.
Some viruses try to avoid detection by killing the tasks associated with antivirus software before it can detect them.
As computers and operating systems grow larger and more complex, old hiding techniques need to be updated or replaced. Defending a computer against viruses may demand that a file system migrate towards detailed and explicit permission for every kind of file access.

Avoiding bait files and other undesirable hosts

A virus needs to infect hosts in order to spread further. In some cases, it might be a bad idea to infect a host program. For example, many anti-virus programs perform an integrity check of their own code. Infecting such programs will therefore increase the likelihood that the virus is detected. For this reason, some viruses are programmed not to infect programs that are known to be part of anti-virus software. Another type of host that viruses sometimes avoid are bait files. Bait files (or goat files) are files that are specially created by anti-virus software, or by anti-virus professionals themselves, to be infected by a virus. These files can be created for various reasons, all of which are related to the detection of the virus:
  • Anti-virus professionals can use bait files to take a sample of a virus (i.e. a copy of a program file that is infected by the virus). It is more practical to store and exchange a small, infected bait file, than to exchange a large application program that has been infected by the virus.
  • Anti-virus professionals can use bait files to study the behavior of a virus and evaluate detection methods. This is especially useful when the virus is polymorphic. In this case, the virus can be made to infect a large number of bait files. The infected files can be used to test whether a virus scanner detects all versions of the virus.
  • Some anti-virus software employs bait files that are accessed regularly. When these files are modified, the anti-virus software warns the user that a virus is probably active on the system.
Since bait files are used to detect the virus, or to make detection possible, a virus can benefit from not infecting them. Viruses typically do this by avoiding suspicious programs, such as small program files or programs that contain certain patterns of 'garbage instructions'.
A related strategy to make baiting difficult is sparse infection. Sometimes, sparse infectors do not infect a host file that would be a suitable candidate for infection in other circumstances. For example, a virus can decide on a random basis whether to infect a file or not, or a virus can only infect host files on particular days of the week.

Stealth

Some viruses try to trick antivirus software by intercepting its requests to the operating system. A virus can hide itself by intercepting the antivirus software’s request to read the file and passing the request to the virus, instead of the OS. The virus can then return an uninfected version of the file to the antivirus software, so that it seems that the file is "clean". Modern antivirus software employs various techniques to counter stealth mechanisms of viruses. The only completely reliable method to avoid stealth is to boot from a medium that is known to be clean.

Self-modification

Most modern antivirus programs try to find virus-patterns inside ordinary programs by scanning them for so-called virus signatures. A signature is a characteristic byte-pattern that is part of a certain virus or family of viruses. If a virus scanner finds such a pattern in a file, it notifies the user that the file is infected. The user can then delete, or (in some cases) "clean" or "heal" the infected file. Some viruses employ techniques that make detection by means of signatures difficult but probably not impossible. These viruses modify their code on each infection. That is, each infected file contains a different variant of the virus.

Encryption with a variable key

A more advanced method is the use of simple encryption to encipher the virus. In this case, the virus consists of a small decrypting module and an encrypted copy of the virus code. If the virus is encrypted with a different key for each infected file, the only part of the virus that remains constant is the decrypting module, which would (for example) be appended to the end. In this case, a virus scanner cannot directly detect the virus using signatures, but it can still detect the decrypting module, which still makes indirect detection of the virus possible. Since these would be symmetric keys, stored on the infected host, it is in fact entirely possible to decrypt the final virus, but this is probably not required, since self-modifying code is such a rarity that it may be reason for virus scanners to at least flag the file as suspicious.
An old, but compact, encryption involves XORing each byte in a virus with a constant, so that the exclusive-or operation had only to be repeated for decryption. It is suspicious for a code to modify itself, so the code to do the encryption/decryption may be part of the signature in many virus definitions.

Polymorphic code

Polymorphic code was the first technique that posed a serious threat to virus scanners. Just like regular encrypted viruses, a polymorphic virus infects files with an encrypted copy of itself, which is decoded by a decryption module. In the case of polymorphic viruses, however, this decryption module is also modified on each infection. A well-written polymorphic virus therefore has no parts which remain identical between infections, making it very difficult to detect directly using signatures. Antivirus software can detect it by decrypting the viruses using an emulator, or by statistical pattern analysis of the encrypted virus body. To enable polymorphic code, the virus has to have a polymorphic engine (also called mutating engine or mutation engine) somewhere in its encrypted body. See Polymorphic code for technical detail on how such engines operate.[21]
Some viruses employ polymorphic code in a way that constrains the mutation rate of the virus significantly. For example, a virus can be programmed to mutate only slightly over time, or it can be programmed to refrain from mutating when it infects a file on a computer that already contains copies of the virus. The advantage of using such slow polymorphic code is that it makes it more difficult for antivirus professionals to obtain representative samples of the virus, because bait files that are infected in one run will typically contain identical or similar samples of the virus. This will make it more likely that the detection by the virus scanner will be unreliable, and that some instances of the virus may be able to avoid detection.

Metamorphic code

To avoid being detected by emulation, some viruses rewrite themselves completely each time they are to infect new executables. Viruses that utilize this technique are said to be metamorphic. To enable metamorphism, a metamorphic engine is needed. A metamorphic virus is usually very large and complex. For example, W32/Simile consisted of over 14000 lines of Assembly language code, 90% of which is part of the metamorphic engine.[22][23]

Vulnerability and countermeasures

The vulnerability of operating systems to viruses

Just as genetic diversity in a population decreases the chance of a single disease wiping out a population, the diversity of software systems on a network similarly limits the destructive potential of viruses. This became a particular concern in the 1990s, when Microsoft gained market dominance in desktop operating systems and office suites. The users of Microsoft software (especially networking software such as Microsoft Outlook and Internet Explorer) are especially vulnerable to the spread of viruses. Microsoft software is targeted by virus writers due to their desktop dominance, and is often criticized for including many errors and holes for virus writers to exploit. Integrated and non-integrated Microsoft applications (such as Microsoft Office) and applications with scripting languages with access to the file system (for example Visual Basic Script (VBS), and applications with networking features) are also particularly vulnerable.
Although Windows is by far the most popular target operating system for virus writers, viruses also exist on other platforms. Any operating system that allows third-party programs to run can theoretically run viruses. Some operating systems are more secure than others. Unix-based operating systems (and NTFS-aware applications on Windows NT based platforms) only allow their users to run executables within their own protected memory space.
An Internet based experiment revealed that there were cases when people willingly pressed a particular button to download a virus. Security analyst Didier Stevens ran a half year advertising campaign on Google AdWords which said "Is your PC virus-free? Get it infected here!". The result was 409 clicks.[24][25]
As of 2006, there are relatively few security exploits targeting Mac OS X (with a Unix-based file system and kernel).[26] The number of viruses for the older Apple operating systems, known as Mac OS Classic, varies greatly from source to source, with Apple stating that there are only four known viruses, and independent sources stating there are as many as 63 viruses. Many Mac OS Classic viruses targeted the HyperCard authoring environment. The difference in virus vulnerability between Macs and Windows is a chief selling point, one that Apple uses in their Get a Mac advertising.[27] In January 2009, Symantec announced the discovery of a trojan that targets Macs.[28] This discovery did not gain much coverage until April 2009.[28]
While Linux, and Unix in general, has always natively blocked normal users from having access to make changes to the operating system environment, Windows users are generally not. This difference has continued partly due to the widespread use of administrator accounts in contemporary versions like XP. In 1997, when a virus for Linux was released – known as "Bliss" – leading antivirus vendors issued warnings that Unix-like systems could fall prey to viruses just like Windows.[29] The Bliss virus may be considered characteristic of viruses – as opposed to worms – on Unix systems. Bliss requires that the user run it explicitly, and it can only infect programs that the user has the access to modify. Unlike Windows users, most Unix users do not log in as an administrator user except to install or configure software; as a result, even if a user ran the virus, it could not harm their operating system. The Bliss virus never became widespread, and remains chiefly a research curiosity. Its creator later posted the source code to Usenet, allowing researchers to see how it worked.[30]

The role of software development

Because software is often designed with security features to prevent unauthorized use of system resources, many viruses must exploit software bugs in a system or application to spread. Software development strategies that produce large numbers of bugs will generally also produce potential exploits.

Anti-virus software and other preventive measures

Many users install anti-virus software that can detect and eliminate known viruses after the computer downloads or runs the executable. There are two common methods that an anti-virus software application uses to detect viruses. The first, and by far the most common method of virus detection is using a list of virus signature definitions. This works by examining the content of the computer's memory (its RAM, and boot sectors) and the files stored on fixed or removable drives (hard drives, floppy drives), and comparing those files against a database of known virus "signatures". The disadvantage of this detection method is that users are only protected from viruses that pre-date their last virus definition update. The second method is to use a heuristic algorithm to find viruses based on common behaviors. This method has the ability to detect novel viruses that anti-virus security firms have yet to create a signature for.
Some anti-virus programs are able to scan opened files in addition to sent and received e-mails "on the fly" in a similar manner. This practice is known as "on-access scanning". Anti-virus software does not change the underlying capability of host software to transmit viruses. Users must update their software regularly to patch security holes. Anti-virus software also needs to be regularly updated in order to recognize the latest threats.
One may also minimize the damage done by viruses by making regular backups of data (and the operating systems) on different media, that are either kept unconnected to the system (most of the time), read-only or not accessible for other reasons, such as using different file systems. This way, if data is lost through a virus, one can start again using the backup (which should preferably be recent).
If a backup session on optical media like CD and DVD is closed, it becomes read-only and can no longer be affected by a virus (so long as a virus or infected file was not copied onto the CD/DVD). Likewise, an operating system on a bootable CD can be used to start the computer if the installed operating systems become unusable. Backups on removable media must be carefully inspected before restoration. The Gammima virus, for example, propagates via removable flash drives.[31][32]

Recovery methods

Once a computer has been compromised by a virus, it is usually unsafe to continue using the same computer without completely reinstalling the operating system. However, there are a number of recovery options that exist after a computer has a virus. These actions depend on severity of the type of virus.

Virus removal

One possibility on Windows Me, Windows XP, Windows Vista and Windows 7 is a tool known as System Restore, which restores the registry and critical system files to a previous checkpoint. Often a virus will cause a system to hang, and a subsequent hard reboot will render a system restore point from the same day corrupt. Restore points from previous days should work provided the virus is not designed to corrupt the restore files or also exists in previous restore points.[33] Some viruses, however, disable System Restore and other important tools such as Task Manager and Command Prompt. An example of a virus that does this is CiaDoor. However, many such viruses can be removed by rebooting the computer, entering Windows safe mode, and then using system tools.

Administrators have the option to disable such tools from limited users for various reasons (for example, to reduce potential damage from and the spread of viruses). A virus can modify the registry to do the same even if the Administrator is controlling the computer; it blocks all users including the administrator from accessing the tools. The message "Task Manager has been disabled by your administrator" may be displayed, even to the administrator.[citation needed]
Users running a Microsoft operating system can access Microsoft's website to run a free scan, provided they have their 20-digit registration number. Many websites run by anti-virus software companies provide free online virus scanning, with limited cleaning facilities (the purpose of the sites is to sell anti-virus products). Some websites allow a single suspicious file to be checked by many antivirus programs in one operation.

Operating system reinstallation

Reinstalling the operating system is another approach to virus removal. It involves either reformatting the computer's hard drive and installing the OS and all programs from original media, or restoring the entire partition with a clean backup image. User data can be restored by booting from a Live CD, or putting the hard drive into another computer and booting from its operating system with great care not to infect the second computer by executing any infected programs on the original drive; and once the system has been restored precautions must be taken to avoid reinfection from a restored executable file.
These methods are simple to do, may be faster than disinfecting a computer, and are guaranteed to remove any malware. If the operating system and programs must be reinstalled from scratch, the time and effort to reinstall, reconfigure, and restore user preferences must be taken into account. Restoring from an image is much faster, totally safe, and restores the exact configuration to the state it was in when the image was made, with no further trouble.




LIST OF COMPUTER VIRUS

To aid the fight against computer viruses and other types of malicious software, many security advisory organizations and developers of anti-virus software compile and publish lists of viruses.
The compilation of a unified list of viruses is made difficult because of naming. When a new virus appears, the rush begins to identify and understand it as well as develop appropriate counter-measures to stop its propagation. Along the way, a name is attached to the virus. As the developers of anti-virus software compete partly based on how quickly they react to the new threat, they usually study and name the viruses independently. By the time the virus is identified, many names denote the same virus.
Another source of ambiguity in names is that sometimes a virus initially identified as a completely new virus is found to be a variation of an earlier known virus, in which cases, it is often renamed. For example, the second variation of the Sobig worm was initially called "Palyh" but later renamed "Sobig.b". Again, depending on how quickly this happens, the old name may persist.

Contents

Scope

In terms of scope, there are two major variants: the list of "in-the-wild" viruses, which list viruses in active circulation, and lists of all known viruses, which also contain viruses believed not be in active circulation (also called "zoo viruses"). The sizes are vastly different, in-the-wild lists contain a few hundred viruses but full lists contain tens of thousands.

 List of viruses and related programs

[edit] Related lists

 Unusual subtypes

 Notable instances

 Similar software

  • Adware
  • Malware
  • Spam
  • Spyware
  • Computer Worms
  • Trojan - A Trojan horse, or Trojan, is malware that appears to perform a desirable function for the user prior to run or install but instead facilitates unauthorized access of the user's computer system. "It is a harmful piece of software that looks legitimate. Users are typically tricked into loading and executing it on their systems", as Cisco describes.The term is derived from the Trojan Horse story in Greek mythology.

 Security topics

Friday, January 21, 2011

COMPUTER

COMPUTER NETWORKING


 
Home
Introduction to Computer Networks

 
What can a Network do For You?

 
Introduction

A computer network can be two computers connected:
 
A computer network can also consist of, and is usually made for, more than two computers:

Characteristics of a Computer Network

The primary purpose of a computer network is to share resources:
  • You can play a CD music from one computer while sitting on another computer
  • You may have a computer with a CD writer or a backup system but the other computer doesn’t have it; In this case, you can burn CDs or make backups on a computer that has one of these but using data from a computer that doesn’t have a CD writer or a backup system
  • You may have a computer that doesn’t have a DVD player. In this case, you can place a movie DVD on the computer that has a DVD player, and then view the movie on a computer that lacks a DVD player
  • You can connect a printer (or a scanner, or a fax machine) to one computer and let other computers of the network print (or scan, or fax) to that printer (or scanner, or fax machine)
  • You can place a CD with pictures on one computer and let other computers access those pictures
  • You can create files and store them in one computer, then access those files from the other computer(s) connected to it
Peer-to-Peer Networking

Based on their layout (not the physical but the imagined layout, also referred to as topology), there are two types of networks. A network is referred to as peer-to-peer if most computers are similar and run workstation operating systems:
It typically has a mix of Microsoft Windows 9X, Me, Windows XP Home Edition, or Windows XP Professional (you can also connect a Novell SUSE Linux as part of a Microsoft Windows-based network; the current release of the operating system is really easily to install and made part of the network).
In a peer-to-peer network, each computer holds its files and resources. Other computers can access these resources but a computer that has a particular resource must be turned on for other computers to access the resource it has. For example, if a printer is connected to computer A and computer B wants to printer to that printer, computer A must be turned On.

Client/Server Networking

A computer network is referred to as client/server if (at least) one of the computers is used to "serve" other computers referred to as "clients". Besides the computers, other types of devices can be part of the network:
In a client/server environment, each computer still holds (or can still hold) its (or some) resources and files. Other computers can also access the resources stored in a computer, as in a peer-to-peer scenario. One of the particularities of a client/server network is that the files and resources are centralized. This means that a computer, the server, can hold them and other computers can access them. Since the server is always On, the client machines can access the files and resources without caring whether a certain computer is On.
Another big advantage of a client/server network is that security is created, managed, and can highly get enforced. To access the network, a person, called a user must provide some credentials, including a username and a password. If the credentials are not valid, the user can be prevented from accessing the network.
The client/server type of network also provides many other advantages such as centralized backup, Intranet capability, Internet monitoring, etc.
In these series of lessons, the network we will build is based on Microsoft Windows operating systems (I have been able to fully connect some versions of Linux, such as Novell SUSE Linux, into a Microsoft Windows-based network but at the time of this writing, I will not be able to address that).
In our lessons, we will mention the names of companies or provide links. These are only indications and not advertisements. Any other company or link that provides the mentioned service is suitable.

NETWORK HARDWARE

 
:: Note

It may be a good idea to know a little bit about MS Windows before getting into networking.
 
:: Note

Don’t think that you can install a (commercial) software product in one computer and use it on many computers. It doesn’t work like that.


 

 
Home
Network Hardware

 
Workstations

 
Introduction

As introduced in the previous lesson, in a network, computers and optional other devices are connected to share resources. When a computer or device A is requesting a resource from another computer or device B, the item A is referred to as a client. Because all or most items that are part of a network live in association or cooperation, almost any one of them can be referred to as a client. Based on this, there can be different types of clients. The most regularly used of them is referred to as a workstation.
As its name implies, a workstation is a computer on which a person performs everyday regular assignments. A workstation is primarily a personal computer (PC). It can also be a laptop. You have probably used PCs so far. Almost any modern PC can be used as a workstation and participate on a network.
Before building a computer network, when planning the workstations, you may be in one of the following scenarios.
Using New Computers

If you haven't bought the computer(s) but are planning to, refer to our section on purchasing or acquiring new computers in the Lesson 4.
Using Existing Computers

If you already have one or more computers that you plan to use as workstations, you can start by checking the hardware parts installed in the computer. The computer must meet the following requirements:
  • Processor: An Intel Pentium or Celeron family of processors or an AMD K6/Athlon/Duron family of processors. The processor should have a 300 megahertz clock speed. A higher speed is recommended.
    To check the speed of the processor of a computer, you have many alternatives:
     
    • When the computer starts, you can access its BIOS by pressing F2 or F8 depending on the computer, the model or the manufacturer
    • From the computer's desktop, if it's running Windows 95 and later, you can right-click My Computer and click Properties
    • You can open Control Panel and double-click System
    With these two previous options, you can see the processor's speed in the Computer section of the General property page.
    As another alternative to check the computer's processor, from Control Panel, you can double-click System, click the Hardware tab, and click Device Manager. In the Device Manager window, expand the Processors node and double-click the first node under Processors. Here is an example:
    In most cases, if your computer is running Microsoft Windows XP Home Edition, it should be ready for Windows XP Professional. If the computer is running another operating system but it appears to be too slow, you can replace its processor with a faster one. Before replacing a processor, you must first find out what type of processor your computer use. You cannot just replace any processor for another. To know the type of processor your computer uses, you have three options:
    • You can check the documentation (manual or user guide) that came with your computer. A page in it should describe the type of processor your computer is using. You can write it down and, when you go to a computer store or to a web store and use this description to purchase a new one. You can purchase a new processor from a computer store or from one of the following web sites:
       


    • You can open the computer. In this case, remove the processor. Take it to a computer store and tell the sales people that you want a faster processor
    • You can call the manufacturer of your computer. They will ask the serial number or the make/model. They will tell you the type of processor installed in it. You can also tell them that you want to purchase a faster processor

    If you purchase or acquire a processor, it is usually easy to install and it comes with easy-to-follow instructions. You will need to open the computer. It may be a good idea to take it to a computer store or a computer repair shop and have them replace the processor for you
  • RAM: The computer must have a memory of at least 64 megabytes (MB). As memory is not particularly expensive nowadays, you should upgrade the computer's memory to at least 512MB To check the amount of RAM your computer has:
     
    • When the computer starts, you can access its BIOS by pressing F2 or F8 depending on the computer, the model or the manufacturer
    • From the desktop of a Windows 95 and later computer,  you can right-click My Computer and click Properties
    • You can open Control Panel and double-click System
    Any of these two options would show the computer's memory in the General  property page under the Computer section. Here is an example:

    If your computer doesn't have enough memory, you can increase it. Like a processor, different computers use different types of memory. Before changing or increasing the memory of your computer, you should find out what type it takes. As mentioned for the processor, you can get this information by consulting the manual it came with, by opening the computer, or by calling the manufacturer.
    Computer memory has not been very expensive lately. You can purchase the one appropriate for your computer from a computer, from the manufacturer of your computer, or from a web store. Once you get the memory, you can open the computer and insert the new memory in the sockets next to the existing memory
  • Hard Drive: Before installing Microsoft Windows XP Professional on an existing computer, make sure the hard drive has the appropriate capacity to handle the OS. To find out how much space your hard drive has, you can open Windows Explorer or My Computer, right-click the C:\ drive and click Properties. Here is an example:
     
    The computer may have more than one drive or many partitions. Here is an example:



    In this case, you can check the drive or partition you intend to use to install the new operating system.

    The hard drive or the partition you intend to use should have at least 1.5 gigabytes (GB) of available hard disk space
  • Video: The computer should have Super VGA video adapter and be able to handle at least an 800 x 600 or higher-resolution.
    To check the current video resolution of your computer, right-click the desktop and click Properties. You can also open Control Panel and double-click Display. In the Display Properties, click Settings:
     
    To check the video adapter of your computer, click Advanced and click the Adapter tab. Here is an example:
  • CD-ROM or DVD drive: Unless you got this computer a long time ago, it should already have either a CD or a DVD drive or both. If it doesn't, you use one of its empty bays to install one. If the installation seems difficult or something you don't feel like doing, you can purchase an external drive. To do this, you can shop to a computer store or a web store
 
Using Barebone Computers

A computer is referred to as "barebone" if it's built almost from scratch by assembling its parts. You can build your own computer or you can purchase one. You can purchase or acquire a computer with all parts or only some parts. To get this type of computers:
  • You can go to one of those small computer stores on major streets, describe to them what you want. They would get the parts together and assemble them for you
  • You can shop in a web store such as http://www.tigerdirect.com and click the "Barebone" link
  • You can investigate how to build a computer from scratch, purchase the parts one by one, and assemble them yourself
You may have a computer without an operating system. For example, you might have formatted the hard drive or you might have created two or more partitions on the hard drive and (may be intentionally) loose the operating system. You may plan to use such a computer as a workstation.
Whether you build your own computer or use one without an operating system, before installing Microsoft Windows XP Professional, make sure the computer meets these hardware requirements:
  • A processor with 300 megahertz or higher processor clock speed recommended; 233 MHz minimum required (single or dual processor system);* Intel Pentium/Celeron family, or AMD K6/Athlon/Duron family, or compatible processor recommended
  • 128 megabytes (MB) of RAM or higher recommended (64 MB minimum supported; may limit performance and some features)
  • 1.5 gigabytes (GB) of available hard disk space
  • Super VGA (800 x 600) or higher-resolution video adapter
  • CD-ROM or DVD drive
  • As many USB ports as possible
  • Mouse and Keyboard ports
Because building a barebone depends on your goals, we will not review here the parts to acquire or the steps performed.



 
Laptop or Notebook Computers

Because of their flexibility and requirements of users commute, laptops are the prime candidates of a network. If you plan to purchase one or more, refer to our section on purchasing or acquiring new computers in the Lesson 4.
Computer Accessories and Peripherals

 
Keyboard and Mouse

When using a computer, there are different ways you can control it. The primary accessories used to perform routine operations are the keyboard and the mouse. If you haven't bought the computer(s) but are planning to, refer to our section on purchasing or acquiring new computers in the Lesson 4. If you are using an existing computer for your network and if either the mouse, the keyboard, or both of these items are missing or not functioning, you should get or replace the failing one.
If you are building your own computer or are acquiring a barebone, make sure you purchase a keyboard and a mouse for the computer.
There are two main ways you install a keyboard or a mouse. If the item is supplied to you with a PS/2 port, connect the end of its cable to the appropriate port, usually in the back of the computer. Many items nowadays are meant to connect to a USB port. In this case, you should be able to connect the end cable of the item to any USB port on your computer.
There are also wireless keyboards and mice. If you purchase them, they come with easy-to-follow instructions to install and configure them. Our advice is that you still should always have a PS/2 keyboard and mouse with you.
Monitors

A monitor is a display that a user looks at when performing daily assignments. You can buy a monitor from a computer store or from a web store. When purchasing a monitor, keep in mind that users may stare at it all day long. You should put as much care as possible when acquiring one.
If you haven't bought the computer(s) and monitors, you can refer to our section on purchasing or acquiring new computers in the Lesson 4.
If you are using an existing computer, it may have a monitor attached to it already. You can still replace it if you want.
If you are using a barebone computer, make sure you purchase a monitor and attach it to it. It is usually easy to connect a monitor to a computer. It uses a unique connector usually in the back of the computer.
Printers

If you want your users to be able to print, you can use an existing printer or purchase a new one. The simplest printers will be attached to one computer and "shared" to allow other computers to access it.
 
Network Distribution

 
Introduction

Building a network consists partly of connecting the computers as we saw in Lesson 1:
Network
One way to do this is to use cables.
 
Network Cables

Cable is used to connect computers. Although we are planning to use as much wireless as possible, you should always have one or more cables around. In our network, we will use Category 5 cable RJ-45. The ends of the cable appear as follows:
They can be in different colors:
You can purchase this cable from a web store on the Internet. Probably the fastest way to get this cable is to go to a computer store. When purchasing it, get something with at least 6ft.
Introduction to Network Distributors

In our introduction to networks, We mentioned that you could connect one computer to another. This can be done using their serial ports:
This is possible because almost every computer has a serial port. If you have to connect many computers to produce a network, this serial connection would not be practical. The solution is to use a central object that the computers and other resources can connect to, and then this object becomes responsible to “distribute” or manage network traffic:
The most regularly used types of network distributors are the hub, the router, and the switch.
Hub

A hub is rectangular box that is used as the central object on which computers and other devices are connected. To make this possible, a hub is equipped with small holes called ports. Here is an example of a hub:
Although this appears with 4 ports, depending on its type, a hub can be equipped with 4, 5, 12, or more ports. Here is an example of a hub with 8 ports:
When configuring it, you connect an RJ-45 cable from the network card of a computer to one port of the hub.
In most cases for a home-based or a small business network, you may not need a hub.
Routers: Wired or Wireless

Like a hub, a router is another type of device that acts as the central point among computers and other devices that are part of a network. Here is an example of a wired router:
A router functions a little differently than a hub. In fact, a router can be considered a little "intelligent" than the hub.
Like a hub, the computers and other devices are connected to a router using network cables. To make this possible, a router is equipped with holes, called ports, in the back. Here is an example:
Based on advances in the previous years from IEEE and other organizations or research companies, there are wireless routers. With this type, the computers and devices connect to the router using microwaves (no physical cable).
In our (small) network, we wish to use a wireless router. Therefore, this is the kind we suggest you purchase. You can purchase a wireless router from a computer store or on the internet (http://www.tigerdirect.com, http://www.3com.com, http://www.provantage.com, etc). You can also buy a wireless router from a computer store.
Wired Network Cards

In order to connect to a network, a computer must be equipped with a device called a network card. A network card, or a network adapter, also called a network interface card, or NIC, allows a computer to connect to the exterior. If you buy a computer from one of those popular stores or big companies on the Internet, most of their computers have a network card tested and already. You can reliably use it. If you go to a store that sells or manufactures computers, you can ask them to install or make sure that the computer has a network card.
If you have a computer that doesn’t have a network card, you can install one. If you have a computer that already has a network card, you can still replace it.
When it comes to their installation, there are roughly two categories of network cards: internal and external. An internal network card looks like a printed circuit board with some objects "attached" or "glued" to it and it appears as follows:
What this card looks like may not be particularly important and it may depend on the manufacturer but some of its aspects particularly are. To start, there are two types of cards and you should know which one is suited (or which one you want to use) for your computer. One type of NICs uses a peripheral component interconnect (PCI) connection. Another type uses industry standard architecture (ISA).
There are two primary ways you replace a network card. In most cases, you will remove the card your computer already has and install a new one. In some other cases, you will only add a new card but you cannot replace the existing one because it is part of the motherboard (I have found that out lately when opening a few computers for my users (I was not aware of that)). The area where you add a network card is called a slot.
To proceed, you must find out what your computer has to offer when it comes to network cards. To do this, you have three main alternatives.  You can open the computer and examine the available slots of your computer. They are usually located inside of what would be considered as the back (wall) of the computer (if you know where you connect the monitor, you should be able to locate the area that has the slots. Unfortunately, unless you have experience with this, simply looking at the slots will not tell you what type of connection you are dealing with.
The second alternative is to open the manual that came with you computer (provided you haven’t thrown it away). The manual usually lists the (types of) slots that your computer provides and where they are located.
The last alternative to knowing the types of slots that your computer provides is to contact the company that sold you the computer. They usually know, provided you can get a human being on the phone, as long as you give them the model of the computer.
Once you know the type of slot available to you, you can go on the Internet or to a computer store and buy an appropriate network card. One of the most important characteristics of a network card is the speed it can use to carry information. The speeds are either 10 or 100Mbps (megabits per second). When buying a network card, you should pay attention to this.
Here are some suggested links where you can buy computer products:



Your computer manufacturer also may sell network cards intended for your computer.
After buying a network card intended for internal installation, you can/must install it. The network card should come with a manual and all (easy to follow) instructions. You can also install the network card after setting up the computer, which we will cover in Lesson 4.
We mentioned that a network card could also be used or installed externally. This can be done using USB. To use it, you can go to a computer store or find a web site that sells them. The device you buy may look like this:
Here is another example:
If you buy one of these objects, its documentation will guide you.
Wireless Network Cards

Depending on your network budget or your customer's, instead of using wired network cards, you can use wireless ones. A wireless NIC appears as its wired counterpart. Here are two examples:
Overall, the physical installation of a wireless network card follows the same rules as that of a wired NIC. They normally come with easy to follow instructions but it may be a good idea to install the wireless network adapters after installing the wireless router. Also, it may be a good idea to purchase the network cards and the wireless router from the same manufacturer.
Most desktop computers (workstations) come without a wireless network card. If you purchase a computer from one of the big companies on the Internet, you can choose to have it shipped with a wireless NIC. Some companies may propose to install it before shipping the computer. If you buy a computer from a store and if you want to use wireless networking, you can buy a wireless network card separately. As stated already, a wireless network card is not particularly difficult to install.
Besides the wireless network cards that can be installed inside the computer, you can use external cards. These are installed using a USB port. Here is an example of a USB adapter:
Here is another example:
These adapters, like most USB objects, are easy to connect and use. Like the other hardware parts, when you connect these, the computer detects them and helps you get them ready for use.
Unlike desktop computers, most laptops nowadays come equipped with a wireless network card (in fact most laptops today ship with both a wired and a wireless adapters). This means that, after purchasing or acquiring a laptop, you should simply check whether it has a wireless adapter. The way you check this depends on the laptop. Therefore, check its documentation. If your laptop happens not to a have a wireless adapter and you want to use one, you have two main options. The classic style of adapter appears as the following two examples:
This adapter is inserted on a side of the laptop. Normally, you would easily see its port as there is usually only one that is suited for this type of card on the laptop. As you may guess, this card can be inserted and removed at will.
Network Accessories

 
Printers

If you attach a printer to one computer and share it, when that computer is off, nobody can print. An alternative is to purchase a network printer. That is, a printer that will directly connect to the network and people can print to it any time. There are two types of printers in this case:
  • Some printers come equipped with a network card. In this case, as we will learn in Lesson 5, you can use an RJ-45 cable to connect it to a router or a hub
  • Some printers are equipped for a parallel port. To connect them to a network, you can purchase what is referred to as a print server (or a Jet-Direct card). The manufacturer of the printer can sell it to you
If you are using a wireless network, you can purchase a wireless print server. This allows you to connect almost any type of printer, with or without a network card, to the network. You can purchase a wireless print server from a computer store or from a web store. It is usually easy to install as it comes with easy-to-follow instructions.
Internet Service Provider (ISP)

An Internet Service Provider (ISP) is a company that serves as the intermediary between your network (or you) and the Internet. If you plan to give access to the Internet to the members of your network, you may need this type of company. You can start by checking with your local telephone company or your local TV cable company.
Firewall

Firewall is a security measure that consists of protecting your network from intruders. This is primarily important if you plan to connect your network to the Internet. There are two types of firewalls: hardware and software.
For a small network, when buying a router, you can inquire as to whether it has a built-in firewall. Many of them do. Alternatively, you can use or configure one of the computers of your network as a firewall.

 





 










 
:: Note

It may be a good idea to know a little bit about MS Windows before getting into networking.
 
:: Note

Don’t think that you can install a (commercial) software product in one computer and use it on many computers. It doesn’t work like that.