ABSTRACT
Computer network, often simply referred to as a network, is a collection of computers and devices interconnected by communications channels that facilitate communications among users and allows users to share resources. Networks may be classified according to a wide variety of characteristics. A computer network allows sharing of resources and information among interconnected devices. A server computer that link to other computers together. They often provide essential services across a network, either to private users inside a large organization or to public users via the internet. Linux, really a child of the Internet, offers all the necessary networking tools and features for integration into all types of network structures. UNIX as a server-oriented operating system, it has followed that
as Linux has evolved and been developed further, it is increasingly also being used as a server operating system, particularly for smaller networks. In this thesis examines how buildup better client server setup and configure Linux platform that overcome the existing system problem. The thesis will look at the various approaches and enabling tools suitable for this purpose, and develop the most suitable.
Introduction
The origins of Linux lie with the development of the UNIX operating system. Due to the origins of UNIX as a server-oriented operating system, it has followed that as Linux has evolved and been developed further, it is increasingly also being used as a server operating system, particularly for smaller networks. However, in recent years as Microsoft has moved into the server market, Linux is increasingly losing out to Windows in terms of user-friendliness, in part due to the non-graphical way in which many of the services are set up and configured. We will start with an overview of Computer networking, client server network and about Linux. We will discuss advantages of this system. We will talk about Linux verses windows.
What is Computer Networking?
Computer networking is the engineering discipline concerned with the communication between computer systems or devices. A computer network is any set of computers or devices connected to each other with the ability to exchange data. Examples of different network methods are:
Local area network (LAN), which is usually a small network constrained to a small geographic area. An example of a LAN would be a computer network within a building.
Metropolitan area network (MAN), which is used for medium size area. Examples for a city or a state.
Wide area network (WAN) that is usually a larger network that covers a large geographic area.
Wireless LANs and WANs (WLAN & WWAN) are the wireless equivalent of the LAN and WAN.
All networks are interconnected to allow communication with a variety of different kinds of media, including twisted-pair copper wire cable, coaxial cable, optical fiber, power lines and various wireless technologies.
Client/Server Network
Client/server network operating systems allow the network to centralize functions and applications in one or more dedicated servers. The servers become the heart of the system, providing access to resources and providing security. Individual workstations (clients) have access to the resources available on the servers.
Advantages of a client-server network:
Centralized – Resources and data security are controlled through the server.
Scalability – Any or all elements can be replaced individually as needs increase.
Flexibility – New technology can be easily integrated into system.
Interoperability – All components (client/network/server) work together.
Accessibility – Server can be accessed remotely and across multiple platforms.
The Client/Server network following activities as Fig-1.1 below:
What is Linux
Linux is a UNIX-like computer operating system family that uses the Linux kernel. A Linux system which includes system utilities and libraries from the GNU Project is sometimes referred to as GNU/Linux [1].
Initially developed and used primarily by individual enthusiasts on personal computers, Linux has since gained the support of corporations such as IBM, Sun, Microsystems, Hewlett-Packard, Novell, Inc and has risen to prominence as an operating system for servers. Linux has been more widely ported to different computing platforms than any other operating system. It is used in devices ranging from supercomputers to mobile phones, and has a foothold in the personal computer and business desktop markets.
Linux is a prominent example of the free software and open source development. Its underlying source code is available for anyone to use, modify, and redistribute freely and in some instances the entire operating system consists of free/open source software.
How to Use Linux
At some level all operating systems are the same, but in some ways that will matter to you, Linux is very different from the others. The most important outcomes of the community-based and non-Proprietary models, for you, that you will notice and that will make a difference in how you use the computer, are:
There is one way to install software that works the same for all software, and all the software you might ever want to install is all accessible, searchable, findable, and installable from one single fairly easy to use application.
There is no trial ware or advertising or wanton popups telling you to buy something.
There are no end user agreements to click on, although the software is all licensed (you need to know nothing about this).
You will not have a situation arise where you have to agree to a new end user license for software you’ve already installed.
It is trivially easy to install software.
It is trivially easy to remove software.
When you remove software, it is really gone.
You can install or remove software without having to close down other software.
You will never have to reboot for new software to work, unless it is part of the operating system itself (and then you may or may not have to log out and back in or reboot).
A bug is a bug, and people generally admit that it is a bug. And they tend to get fixed fast in the mainstream applications. (Compared to proprietary software, anyway.)
Linux itself is fundamentally different from Windows in several ways that will also matter to you.
Linux is case sensitive. So, a file called mystuff is different from a file called MyStuff.
Linux uses “extensions” (like the ‘.doc’ in mydoc.doc) but does not require them. Actually, it doesn’t use them at all, but a lot of software that runs on Linux assumes you are accustomed to extensions.
You will see very few confirmations in Linux. When you select a file and delete it, it is gone. You do not have to have a conversation with the computer via arcane dialog boxes (note: in Gnome, a “deleted” file is put into the “trash”).
Different “applications” (called “Processes” in Linux) run very independently from each other. Your browser can’t crash your spreadsheet, and your spreadsheet can’t crash your word processor, or at least, it is very unlikely for that to happen.
The operating system itself is lean and mean. It uses few computer resources (memory and stuff) and is crispy, not sluggish.
You don’t have to (and in fact can’t) “defrag” the hard drive, because the file systems that Linux use are designed to not break themselves over time.
“Wipe the drive and reinstall the system” is possible, sometimes it is done, but it is never necessary. It is only done by people who screw up their computer and are former Windows users and don’t know any better.
Definition of Linux Server Systems
Due to the origins of UNIX as a server-oriented operating system, it has followed that as Linux has evolved and been developed further, it is increasingly also being used as a server operating system, particularly for smaller networks. However, in recent years as Microsoft has moved into the server market, Linux is increasingly losing out to Windows in terms of user-friendliness, in part due to the non-graphical way in which many of the services are set up and configured.
The most important functions of a server are:-
v DNS (Domain Name Service)
v Mail Server (Send Mail)
v FTP (File Transfer Protocol )
v NFS (Network File System)
v SMB (Sever Message Block)
v DHCP (Dynamic Host Configuration Protocol)
v Apache Web Server
Advantages of Linux Server System
Low-cost:
There is no need to spend time and huge amount money to obtain licenses since Linux and much of its software come with the GNU General Public License. There is no need to worry about any software’s that you use in Linux.
Stability:
Linux has high stability compared with other operating systems. There is no need to reboot the Linux system to maintain performance levels. Rarely it freeze up or slow down. It has continuous up-times of hundreds of days or more.
Performance:
Linux provides high performance on various networks. It has the ability to handle large numbers of users simultaneously.
Networking:
Linux provides a strong support for network functionality; client and server systems can be easily set up on any computer running Linux. It can perform tasks like network backup faster than other operating systems.
Flexibility:
Linux is very flexible. Linux can be used for high performance server applications, desktop applications, and embedded systems. You can install only the needed components for a particular use. You can also restrict the use of specific computers.
Compatibility:
It runs all common UNIX software packages and can process all common file formats.
Wider Choice:
There are a large number of Linux distributions which gives you a wider choice. Each organization develops and support different distribution. You can pick the one you like best; the core functions are the same.
Fast and easy installation:
Linux distributions come with user-friendly installation.
Better use of hard disk:
Linux uses its resources well enough even when the hard disk is almost full.
Multitasking:
Linux is a multitasking operating system. It can handle many things at the same time.
Security:
Linux is one of the most secure operating systems. File ownership and permissions make Linux more secure.
Open source:
Linux is an Open source operating systems. You can easily get the source code for Linux and edit it to develop your personal operating system.
Today, Linux is widely used for both basic home and office uses. It is the main operating system used for high performance business and in web servers. Linux has made a high impact in this world.
Usage of Linux
Linux is used on a wide variety of machines for a wide variety of purposes. Desktop Linux distributions typically feature a user interface comparable with that of Microsoft Windows and Mac OS X, through migrating users usually have to switch to alternative application software, and there may be a lack of commercial quality software in certain application domains, such as computer gaming, desktop publishing, and professional audio. However, there exit high quality replacements for general-purpose desktop software, word processors, email clients, and web browsers. Additionally, a growing number of proprietary software vendors are supporting Linux.
Programming
Most Linux distributions support a wide array of programming language, Core system software such as libraries and basic utilities are usually written in C. Enterprise software is often written in C++, Java, Perl, or Python. The most Common collection of utilities for building both Linux applications and operating system programs is found within the GNU tool chain, which includes the GNU Complier Collection. (GCC). Amongst others, GCC provides compilers for C, C++, Java, and Fortran. The Linux kernel itself is written to be compiled with GCC.
Most distributions also include support for Perl, Python and other dynamic languages. Less common, but still well-supported, are C# via the Mono project, Scheme and Ruby. The two main widget toolkits used for contemporary GUT programming are Qt and the Gimp Toolkit, known as GTK. Both support a wide variety of languages. There are a number of integrated development environments available including MonoDevelop, KDevelop, Anjuta, Netbeans, and Eclipse while the traditional editors Emacs and Vim remain popular.
As well as these free and open source options, there are proprietary compilers and tools available from a range of companies such as the Intel C Compiler, Path Scale, Micro Focus COBOL Franz Inc and the Portland Group.
Enterprise usage
Linux is also used in some corporate environments as the desktop platform for its employees, with commercially available solutions including Red Hat Enterprise Linux, SIJSE Linux Enterprise Desktop and Linspire. Several government organizations have stared the switch to using Linux.
Server usage
Historically, Linux has mainly been used as a server operating system. This is due to its relative stability and long uptimes, and the fact that desktop software with a graphical user interface is often unneeded. Enterprise and non-enterprise Linux distributions may be found running on servers. Linux is the cornerstone of the LAMP server-software combination (Linux, Apache, MySQL, and Perl/PHP/Python) which has achieved popularity among developers, and which is one of the more common platforms for website hosting.
Embedded System
Due to its low cost and its high configurability, an embedded Linux is often used in embedded systems such as television set-top boxes, mobile phone and handled devices. Linux has become a major competitor to the proprietary Symbian OS found in many mobile phones and it is an alternative to the dominant Windows CE and Palm OS, operating systems on handheld devices. The popi TiVo digital video recorder uses a customized version of Linux Several network firewall and router standalone products, including several from Linksys, use Linux internally, using its advanced fire walling and routing capabilities.
Gaming
Although gaming under Linux is traditionally considered inferior to gaming under Windows or Mac OS X, due to the reluctance of game development companies to support an operating system with relatively small desktop market share, there are still a large number of games available. Prominent examples of open source games include Nethack, and Battle for Wesnoth. There are also emulators for playing binary game ROMs, which include ZSNES and Frotz. Some Windows games may be played using Wine or Cedega, and old MS-DOS gaines can be played with DOSBox. Finally, there are games such as Quake which have an open source engine that runs under Linux, and can be used to play the full game provided non-free data files are present. Library support for Linux gaming is provided by Simple Direct Media Layer, a wrapper around OpenGL, audio libraries, and input devices. NVidia and ATI have provided kernel modules that allow for most features of their graphics cards to be used under Linux. Linux also runs on several game consoles, including the X-Box, PlayStation, and Gamecube. This has allowed game developers without an expensive proprietary game development kit to target console hardware.
Education
In technical disciplines at universities and research centers worldwide, Linux is often the platform of choice. This is due to several factors, including that Linux is available free of charge and includes a large body of free/open source software. To some extent, technical competence of contributor, as is stability, maintainability, and upgradability. IBM ran an advertising campaign entitled “Linux is Education” featuring a young boy who was supposed to be “Linux”. The one Laptop per Child project, a campaign to distribute laptop computers to millions of children in the developing world, also uses a Linux operating system.
Linux vs. Windows
Linux is an open-source Operating System. People can change codes and add programs to Linux OS which will help use your computer better. Linux evolved as a reaction to the monopoly position of windows. You can’t change any code for windows OS. You can’t even see which processes do what and build your own extension. Linux wants the programmers to extend and redesign its OS. Linux user’s can edit its OS and design new OS.
All flavors of Windows come from Microsoft. Linux come from different companies like LIndows, Lycoris, Red Hat, SuSe, Mandrake, Knopping, Fedora and Slackware.
Linux is customizable but Windows is not. For example, NASlite is a version of Linux that runs off a single floppy disk and converts an old computer into a file server. This ultra small edition of Linux is capable of networking, file sharing and being a web server.
Linux is freely available for desktop or home use but Windows is expensive. For server use, Linux is cheap compared to Windows. Microsoft allows a single copy of Windows to be used on one computer. You can run Linux on any number of computers. Linux has high security. You have to log on to Linux with a user id and password. You can login as root or as normal user. The root has full privilege. Linux has a reputation for fewer bugs than Windows. Windows must boot from a primary partition. Linux can boot from either a primary partition or a logical partition inside an extended partition. Windows must boot from the first hard disk. Linux can boot from any hard disk in the computer.
Windows uses a hidden file for its swap file. Typically this file resides in the same partition as the OS (advanced users can opt to put the file in another partition). Linux uses a dedicated partition for its swap file.
Windows separates directories with a back slash while Linux uses a normal forward slash. Windows file names are not case sensitive. Linux file names are case sensitive. For example “abc” and “aBC” are different files in Linux, whereas in Windows it would refer to the same file.
Windows and Linux have different concepts for their file hierarchy. Windows uses a volume-based file hierarchy while Linux uses a unified scheme. Windows uses letters of the alphabet to represent different devices and different hard disk partitions. eg: c: , d: , e: etc.. While in linux ” / ” is the main directory. Linux and windows support the concept of hidden files. In Linux hidden files begin with ” . “, eg: .filename
In Linux each user will have a home directory and all his files will be save under it while in windows the user saves his files anywhere in the drive. This makes difficult to have backup for his contents. In Linux it’s easy to have backups.
Outline of the thesis paper:
[Chapter 2]: Describes about the Existing topology, proposed topology plan, resource collection, and operating system.
[Chapter 3]: Describes about the some kind of server such as Proxy Server, DNS Server, Mail Server, FTP Server, Samba Server, DHCP Server, and Apache Server.
Planning, Designing and Installation
Existing Topology
Existing network of our project area is a client server network with Windows platform. In our existing network there is a multiple server in individual machine that need to high configuration CPU so this is more expensive. Security lacking is present in to this network and Maintenance of this network is so difficult. Virus can affect windows network easily. The existing topology plan on the following activities as Fig-2.1 below:
Topology plan
Our proposed network is a client-server network with Linux platform. The client–server model of computing is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Often clients and servers communicate over a computer network on separate hardware, but both client and server may reside in the same system. A server machine is a host that is running one or more server programs which share their resources with clients. A client does not share any of its resources, but requests a server’s content or service function. Clients therefore initiate communication sessions with servers which await incoming requests.
The client–server characteristic describes the relationship of cooperating programs in an application. The server component provides a function or service to one or many clients, which initiate requests for such services.
We need to Network Planning, Designing and Resource Collection before implementation. The topology diagram should demonstrate main internet connectivity to client end. All equipment and setup depend on our Network topology design.
Proxy Server (Squid): Squid is a widely-used proxy cache for Linux and UNIX platforms. Squid acts as a proxy cache.To translate private IP address into public IP address so that our end users can use the internet connection.
File Server: In file server there is a central storage, where all important files are stored. We can backup and restore our files through file server..
DNS Server: We want to use our own DNS server for our network. Also DHCP server lease IP address to our end users, through DNS server the communication can be made by respective PC/Server name.
Mail Server: A mail server is an application that receives incoming e-mail from local users and remote senders and forwards outgoing e-mail for delivery.
DHCP Server: It is difficult to assign IP address manually in to a large network. So we use DHCP server to assign IP address automatically to the end user.
Samba Server: Samba is a networking tool that enables Linux to participate in Windows networks. There are two parts to Samba, one being the server which shares out files and printers for other PC’s to use, and the other being the client utilities, which allow Linux to access files and printers on other Windows/Samba PCs.
Apache Server: The Apache HTTP Server, commonly referred to as Apache is web server software notable for playing a key role in the initial growth of the World Wide Web.
The main internet connection from ISP is connected in the WAN interface of our Squid server. We want use UTP cable to connect our internal network. In the LAN interface of Squid server a switch is connected by straight through cable. All servers and end users are connected to the switch by straight through cable.
Resource Collection
For designing a network resources are very much necessary. In this section we discuss about resources.
Public IP Address
We need public IP address into our network for internet connectivity. To obtain public IP address we contact with an ISP. ISP gives us one public IP address and 1Mbps bandwidth with the following configuration for our WAN interface:
IP Address=114.31.25.82
Default Gateway=114.31.25.81
Subnet Mask=255.255.255.252
Primary DNS=114.31.0.66
Alternate DNS=4.2.2.2
Private IP Address
Basic planning of this project depends on architect of IP addresses. Now our main target of requirements is to find out how many private IP address is need? We need 96 host assignable IP addresses for our end user and servers. As for this, we take a Class C network number of 192.168.1.0, it simply enough 1 subnet regarding the project requirements. So we get easily subnet mask, Total IP and usable IP.
Under the all circumstances, summary table of IP Network 192.168.1.0/24:
Table 2.1: Summary Table of IP address
Total Network
1
Subnet Mask
255.255.255.0
Total IP per Network
256
Host assignable IP per Network
256 – 2 = 254
The chart for usable subnets of IP address 192.168.1.0/24 will be:
Operating System
An operating system (OS) is a program that allows you to interact with the computer all of the software and hardware on your computer. How? Basically, there are two ways: 1. with a command-line operating system (e.g., DOS), you type a text command and the computer responds according to that command. 2. with a graphical user interface (GUI) operating system (e.g., Windows), you interact with the computer through a graphical interface with pictures and buttons by using the mouse and keyboard. With UNIX you have in general the option of using either command-lines (more control and flexibility) or GUIs (easier). [4] Operating System placement on computer usage which is shown in Fig-2.2 is given below:
Choosing the right OS for Server configuration
It is very important to choice a good operating system and stable system. Server performance depends on Operating system.All commercial operating system common features. But feature are not important, important is stability.
Linux as Server OS
Linux is a free UNIX operating system originally created by Linux Torvaldas with the assistance of developers around the world. It is developed under the GNU GPL (General Public License) the source code for Linux is freely available to everyone. There are is no user licensing related regulatory binding.
A Linux distribution is version of the Linux operating system made especially by a company, organization or individual. The one thing they all have in common is that they use the Linux Kernel, from there on each developer will add programs tools and other applications some are dedicated to specific user while others are intended for general public.
Gnu/Linux is the name of Linux by Richard Staliman founder of the free software foundation and GNU project. They cite fact that Linux could not have come into being without tools from the GNU project. Though this is true, use and custom has favored Linux over GNU/Linux in the contributions of the free software foundation.
Installation Preparation
Before going to install an operating system like Linux need to become content with few term and topics as:
Hardware Compatibility
The hardware compatibility lists provide a representative list of hardware peripherals that are compatible with operating system. Each operating system has its own hardware compatibility list. It differs on operating system’s version and distribution. You need to tally your hardware with your chosen operating system’s HCL. Linux Question.org contains a good HCL for overall Linux operating system. LinuxHCL.com contains almost same type of HCL for Linux.
Minimum Hardware for Red Hat
As we have decided to demonstrate all examples in this using RedHat you need to know the minimum hardware requirement for this OS. This follows information the minimum hardware requirement necessary to successfully install RedHat Linux as:
Table 2.3: Hardware Requirements
Hardware
Minimum Requirement
CPU
1.Minimum Pentium class processor (or Higher).
2.Recommended for text-mode 200MHz Pentium class or better.
3. Recommended for graphical-mode 400MHz Pentium II class or better.
Hard Disk Space
<td style="border-bottom-color: rgb(223, 223, 223); border-bottom-style: solid; border-bottom-width: 1px; border-top-color: rgb(255, 255, 255); border-top-style: solid; border-top-width: 1p