csci5211: Computer Networks and Data Communications

obtainablerabbiData Management

Jan 31, 2013 (4 years and 4 months ago)


Internet Engineering Course

OS Selection

Servers vs. Desktop Systems


Should not contain functionality not required for the intended

Minimal service set

Don’t install anything unless you really need it

Avoid unnecessary exposure to new risks

Faster with redundant components

Increased reliability

Has more of everything

Much more customizable

To perform specific tasks and optimizing them to do so

Administration and maintenance requires special training

Security, Reliability, Stability and … are highly critical

Standardizing on a single OS for all purposes is not a goal!

Operating Systems we will study


Microsoft Windows Server family



OpenBSD from BSD family

There are many others that we do not study

Other variants of UNIX

Solaris, HP/UX, AIX

Other variants in BSD category

FreeBSD, NetBSD, …

Other variants in GNU category

GNU/Mach, …

And so many other OSs out there

Evaluation criteria


Stability and Reliability




Staff Issues

Total Cost of Ownership (TCO)


OS must support the application you will run!

e.g. Exchange Server

OS = Windows

A constraint for choosing OS

If needs are identified but no specific product

Look for the product and OS that supports it side by

You are not limited to some specific OSs.

Will not result in an OS that is difficult to support or costly.

Less diversity in OSs is desirable (standardizing server OSs)

For selecting OS

Look at what is generally available on the platform.

What is included in the OS by default?

Applications cont.

Supplementary applications

Intended to supplement a function of OS

Resource Kit/Support Tools for Microsoft Windows

Unix tools for windows

Native OS completeness

There are no functions that an administrator (skilled in
Perl/shell scripting) cannot do in UNIX systems

Windows administrators have difficulty doing
management tasks without third party or supplementary

OS vendor is not supposed to support third party utilities and
the side effects they may have!

Applications cont.

Niche Area Support

Greater diversity of applications available on

Windows is great from this point of view

Diversity in Windows and Linux family

Specific products may not run across the entire family

Enough high quality server products for Linux

Newer system now necessarily backward compatibe


A lot less third party products than either Windows or Linux

Includes compatibility modes with several OSs

It should not be used extensively (e.g. Many Linux applications

should be Linux)

Applications cont.

Application Integration

Difference between integrated and

Features of Microsoft products works better with/only
with Microsoft products!

Usage of one Microsoft product will lead to use
of other Microsoft products

Less tension to be compliant with other products.

Their implementations are not fully compliant with standards
and therefore other implementations.

Other products should try to be

Application support

Windows is the best, Linux is second and


Applications cont.

Market Products

Small vendors cannot afford to support various OSs

They are pulled towards Windows Server family

Cause: Growth of various Windows based market applications

Windows NT started with a target bellow the high
end commercial UNIX systems

Enhancements in each release

Higher performance market

Reducing costs of an application

Major advantage for small businesses

Linux entering the server market

Linux will be a more obvious choice for small businesses.

Applications cont.

Included With Core OS


File and print services, DNS, DHCP, IIS, FTP and
other additional components

Linux and OpenBSD

Includes much more standard Internet servers

Even support for Microsoft file and print sharing

As open source operating systems are free,
one might say that any free software that runs
on the OS is part of it.

Applications cont.

open source Applications

Majority of these projects have been developed on Linux

Unless they are platform neutral, they’ll run on Linux with less
effort than any other OS

Microsoft repeatedly made system design decisions that

Make little or no technical sense, but make excellent business
sense, i.e. they make it more difficult and expensive for a
developer to port a Windows application to other OSs.

open source is by no means a UNIX only phenomena,

Most open source development has been done on UNIX

With the UNIX like open source operating systems, Linux and
BSD family, playing the leading roles

Applications cont.

open source Applications

Some open source applications (visit


BIND (Berkeley Internet Name Domain)


(Dynamic Host Configuration Protocol )

, Perl, Python

Web traffic analysis packages like
, Analog


Snort, PF, IP Filters,




(replacement for Microsoft Office Suite)

GIMP (replacement for Adobe Photoshop)

Applications cont.

OS Versions and Fragmentation

Every several years, Microsoft introduces a
fundamentally different operating environment
or system with major changes in the UI.

Windows is designed to hide technical details, but
these changes introduces a major learning curve!

Technical users may effectively loose a significant
part of their knowledge of how Windows works
and need start over with the new system

These differences are mostly seamless from
one version of UNIX to another

Applications (Summary)

There are many more applications for Windows

Not all needed functionalities are included in the OS

Enough products available for the cost of the OS
that some businesses can run mostly on open
source solutions

As Linux is eating into Windows server market
share, expect the application advantage for
Windows servers to shrink and perhaps

Maintaining an application for Linux and other
UNIX variants is minor compared
to Windows

Reliability and Stability

Both are related to bugs.


Relative resistance to crashes and lessening their

Bugs and incompatibilities may cause crashes


Specific functions stop responding or return
invalid results

Odd behavior!


Affected by thing related to reliability and stability

To do and keep doing what they are supposed to

Reliability and Stability cont.

Reboot required even for minor changes

Microsoft’s origins in single user systems

Is not a part of UNIX or mainframe environments

Some systems become less stable for longer

Rarely necessary for UNIX systems

Windows flaws in architectural design

Windows registry

Incredibly confused directory structure and its
adverse impact on system recovery

System management functions contained in large
complex GUI programs mostly with no command

Reliability and Stability cont.

Windows registry

Central repository for configuration data and …

The fallacy is that registry data is accessed by key

Little fundamental difference between accessing entries
in registry and files in different directories with different

Numerous binary tree lookups, in a large deeply
nested structure, become quite resource

Confirmed by the fact that Windows systems slow with
age as software is added

UNIX systems do not slow with age due to software

Reliability and Stability cont.

Windows GUI Interface Hampers

Complex GUIs contributes to reliability issues

Such programs are harder to write and more likely to
have their own bugs

Often, no alternative interface is provided

Bug in management interface will result in inability to perform
some administrative tasks

In the UNIX world, essentially all
administrative tasks are performed by
relatively simple command line programs
that do only one specific thing.

Reliability and Stability cont.

Linux Stability

There is no need to ever reboot except for a
kernel or hardware upgrade or change.

Registry problem is not applicable to Linux


Said to be the most stable and most reliable

Clean code base

Development model


File Systems

FAT lacks primary permissions and security
facilities needed for a server environment.

UNIX allows controls only by owner, group and
other. Each of these can be set to any
combination of read, write and execute.


NTFS is much more customizable and provides
flexible access control list capabilities.

Windows GUI,

(Extended Change Access Control List )

provided in
Windows Support Tools

Security cont.

Password Hashes

Windows passwords are weaker and easier to break.


BSD MD5 is one of the strongest hashes

Novice administrators really don’t know what
they are doing! Making things easy is not that

Default Installations

Previously default installation of Windows Server and
related network services made it much more easier
to attack and exposed the system to many risks.

Unix default installation has basic security provisions.

You have to enable anything you want.

Security cont.

Development Model, Bug Fixes, Security and


The kernel appears to be under pretty much continuous
development and more than one version is being
developed simultaneously.

Development is a purely volunteer, non


Microsoft is the largest software company in the world
and is purely commercial.

Microsoft responds in a reasonably timely fashion to
reported and serious security bugs. It's primarily such
bugs that their security alerts describe.

Security cont.



is the most secure OS available

They try to find simple software bugs and they
believe that they are the origin of security issue.

Secure by default

All non
essential services are disable by default

Four years without a remote hole

Outstanding open implementation of security

Unix Signal Handler and Open Software Fixes

Fix was available the day after the problem was
announced publicly



How many processors/How much memory in
a single machine, an operating system is
capable of supporting.

Cluster of machines that work together to
solve a common problem.

Recent projects of this type have consisted of
hundreds to thousands of Intel CPUs running Linux.

System Performance

Confusing benchmarks about performance.

No general statement on this issue.

Scalability cont.

Hardware Requirements

Windows has GUI in its kernel

It need reasonably high hardware specifications.

Most Linux servers installations do not have X
Windowing System.

Hardware specifications of Linux is much smaller
than Windows.

Price Performance Ratio

The starting software cost for a public, Windows
2000 web server, is effectively over $4000.

There exists free Linux distributions and also
commercial ones which costs much less than
Windows servers


Ease of
Use, Ease
of Learning

Ease of use often regarded as one of the most
important characteristics of any software

Ease of learning is not often used.

Ease of use is nearly always used to mean that a product
is easy to learn to use.

Normally means how easily a user new to a product can
figure out how to perform a

Documentation, architecture, support, training and

GUI tools

May also make system administration tasks easy to

May make repetitive task very burdensome

Such tasks can make use of a system scheduler.

Usability cont.

Windows Lacks Automation

Automating the task in Linux by scripts

In Windows also possible but is very
cumbersome in comparison with Linux

Automating the procedures that has no counterpart
other than GUI interface should be done with e.g.
emulating mouse events or scripting utilities like

that does somehow ease this job! (Surely not reliable)

Easy to use
tools, become cumbersome to use
as the tasks become more repetitive.

There are no scripting skills that are routine part
of Windows administration

Even batch programming skills, as simple (and limited) as
that "language" is, have largely fallen into disuse.

Usability cont.

Most Windows administrators are entirely
dependent on the GUI management interface,
and even where it should be obvious that
something should be automated, do not have the
knowledge or skills to do it.

UNIX administrators, in contrast, are normally
skilled in at least one scripting language, and
routinely expect to automate repetitive parts of
their jobs.

Windows server systems have a pro novice bias
and that UNIX systems have an anti
novice bias.

Usability cont.

Support Options


Microsoft Knowledge Base, Customer Support,

Most of the things are solved easily if you have employed a guru
consultant. The really good ones can solve seemingly very
difficult problems, with ease

Gurus are expensive to employ and cheap ones learn on your


Community Support, Commercial Support (e.g. RHEL),

After gaining mastery and enough experience
are relaxed.

It does not hide anything from you, so you can come up with
the solution.

Google your problem and there should be a discussion about it
in a community

Staff Issues

UNIX administrators cost more than
Windows ones.

Main factor = Cost per machine

From all previous discussions it is resulted
that maintaining a Linux server needs less
effort that Windows one.

So the staff cost is not a major factor as might
be considered at first

Total Cost of Ownership (TCO)

Microsoft says TCO of Windows is much lower than Linux





Windows license price

How many simultaneous client connections?

What server applications?

UNIX systems require more up
front learning effort.

Security, Stability and Reliability

Moving to security, Linux is more secure in a default install

Given normal installs by typically trained administrators
Windows systems are much less stable than Linux installs.


No operating system is perfect or even close,
even when limited to server only or desktop only


Windows servers

With sufficient resources, they can be made stable.

Because of variety of third party applications , it may
be possible to "do more" on Windows servers than
other platforms.

As a particular matter, they rarely live up to their

Contain enormous array of unused features (may not
be easy to disable, for instance kernel customization).

Summary cont.

Comparatively unreliable, and thus resource
intensive to maintain.

Given the complexity of Windows, tools and
middleware used to build the applications, and
the applications themselves, it's absurd to
think that all the security related bugs can be
found and fixed.

Only hope that the holes that exist are sufficiently
difficult and obscure, that no skilled malicious
intruder actually finds them.

Best hardware support among other OSs.

Summary cont.


The default security characteristics of Linux depend on the
distribution and install options chosen.

Linux has been used to build powerful parallel supercomputers
so it unquestionably clusters well

The newest kernels should be comparable to Windows on
multiprocessor systems.

Linux has a very large range of applications, both commercial
(proprietary) and open source.

Linux has by far the largest number of open source applications.

All business needs can be met by Linux applications.

Linux has the best and most diverse free support available, which
is often better than traditional commercial support.

Choosing a Linux Distribution

Some server candidates


Red Hat Enterprise Linux

SUSE Linux Enterprise Server

Mandriva Corporate Server







Choosing a Linux Distribution cont.


Base operating system

Some customization, e.g. init scripts, kernel

Generally binary compatible

Software management and updating





Hardware management

Kudzu of Red Hat

commercial distros never contain proprietary drivers.

Proprietary extras

Choosing a Linux Distribution cont.

Support from server manufacturers

Red Hat Enterprise Linux

SUSE Linux Enterprise Server






Choosing a Linux Distribution cont.

Red Hat

Founded in 1994 by Bob Young and Marc Ewing

Leader in development, deployment and Management of Linux
and open source solutions for Internet infrastructure

Last version in the Red Hat Linux product line

Red Hat
Enterprise Linux 5

Replaced by Fedora Core in late 2003, officially sponsored by Red

Developed with community participation

Serves mainly as a testing base for Red Hat Enterprise Linux

Widely used, excellent community support, lots of innovation

up2date and YUM as package managers (RPM)

Red Hat Enterprise Linux products best supported by hardware
vendors among other Linux distributions

Very good commercial support

Choosing a Linux Distribution cont.

SUSE (formerly SuSe)

Established by a group of German developers
in 1992

Adopted RPM package management format

Easy to use YaST configuration tool

Frequent releases

Excellent documentation

Acquired by Novell in late 2003

Professional attention to detail

Choosing a Linux Distribution cont.


Created by Daniel Robbins, a former Stampede Linux and FreeBSD

A source
based distribution

Various levels of pre
compiled binary packages to get a basic Linux
system up

The idea is to compile all source packages on the user's computer

Highly optimized for the computer architecture it is built on

Long and tedious system installation

Occasional instability and risk of breakdown

Software packages kept in a central repository

Usually kept highly up
date and available within days

Painless installation of individual software packages

Highly up

Superb documentation

Distribution tailored to user's needs

Choosing a Linux Distribution cont.


Started by Ian Murdock in 1993

Totally free, completely non

Complete package set (about 16000 packages)

Community support

Most advanced package manager available


Needs knowledgeable, hands
on user

Three release branches


Long period between stable releases

The stable version tends to be out




GeodSoft: Linux, OpenBSD, Windows
Server Comparison

Software in Review

The differences
between Linux distributions




Origin of code?



Free Software Foundation; kernels developed separately except HURD. The Linux kernel
was originally written by Linus Torvalds, and is currently maintained by him.


FreeBSD, OpenBSD,
NetBSD, DesktopBSD,

UC Berkeley, originally; each project has been developed separately since the early
1990s, however.


Solaris, AIX, IRIX,
HP/UX, Tru64,
UnixWare, OpenServer

Bell Labs (AT&T) developed the original Unix code. UNIX is now a trademarked operating
system certification program instead of an operating system, and no longer requires that a
compliant OS contain AT&T Unix source code to achieve brand certification. Despite that,
all of the extant Unix derivatives are compliant with at least one published UNIX standard.


Darwin, OS X

Based on the NeXTSTEP operating system, which used the Mach kernel and some
FreeBSD programs and networking code. OS X is developed from Darwin.



Originally written by Andrew Tanenbaum, but now mostly developed by a handful of others

Miscellaneous cont.

BSD Family

OpenBSD was an outgrowth of NetBSD

Split later with the goal of creating a reliable and
secure OS

OpenBSD is the most secure OS available

NetBSD is known for running on more
hardware platforms

FreeBSD split from NetBSD

Developers wanted to optimize the system for
perfomance on Intel processors

Fastest OS that runs on Intel systems