Glossary

This glossary lists acronyms and terms and their definitions used in Turbolinux manuals.

Turbolinux gratefully acknowledges the following sources for content included in the Glossary entries. All rights are reserved by the providers of the source content.

Advanced Traffic Manager (ATM)

The traffic manager for a Turbolinux Cluster Server cluster. It routes traffic destined for the cluster to individual cluster nodes. It makes the determination where each packet should go.

The ATM is able to intelligently determine whether each node within its cluster is still available. It continuously probes each system to verify that not only is the system still healthy, but that the application is still healthy, as well.

The Advanced Traffic Manager is also able to recognize the capabilities of each individual node and distribute the incoming traffic to the system that's best able to handle the request.

See also cluster, node.

agent

See Application Stability Agent.

Apache

Apache is a freely available Web server that is distributed under an Open Source license.

The Apache httpd server is a powerful, flexible, HTTP/1.1 compliant web server that implements the latest protocols. It is highly configurable and extensible with third-party modules. Apache provides full source code and comes with an unrestrictive license. It runs on Windows NT/9x, Netware 5.x, OS/2, and most versions of Unix, as well as several other operating systems.

Related Link(s):

http://www.apache.org/

API

An API (application program interface) is the specific method prescribed by a computer operating system or by another application program by which a programmer writing an application program can make requests of the operating system or another application.

An API can be contrasted with a graphical user interface or a command interface (both of which are direct user interfaces) as interfaces to an operating system or a program.

Application Stability Agent (ASA)

Program that is used to determine whether a particular service on a cluster node is active. The agent usually performs a simple transaction in addition to verifying that a connection can be established.

ARP

Address Resolution Protocol. ARP resolves IP addresses into hardware (MAC) addresses. Once a common encapsulation mechanism has been selected for Ethernet, hosts must still convert a 32-bit IP address into a 48-bit Ethernet address. The Address Resolution Protocol (ARP), documented in RFC 826, is used to do this. It has also been adapted for other media, such as FDDI.

ARP works by broadcasting a packet to all hosts attached to an Ethernet. The packet contains the IP address the sender is interested in communicating with. Most hosts ignore the packet. The target machine, recognizing that the IP address in the packet matches its own, returns an answer.

Hosts typically keep a cache of ARP responses, based on the assumption that IP-to-hardware address mapping rarely change.

ASA

See Application Stability Agent.

ATM

See Advanced Traffic Manager.

backup ATM

System that stands prepared to take over for the primary ATM if it goes down. The backup ATM is basically a fail-over system of the primary ATM.

Bash

Bash is a Unix command interpreter (shell). It is an implementation of the Posix 1003.2 shell standard, and resembles the Korn and System V shells.

Bash contains a number of enhancements over those shells, both for interactive use and shell programming. Features geared toward interactive use include command line editing, command history, job control, aliases, and prompt expansion. Programming features include additional variable expansions, shell arithmetic, and a number of variables and options to control shell behavior.

Bash was originally written by Brian Fox of the Free Software Foundation. The current developer and maintainer is Chet Ramey of Case Western Reserve University.

Beowulf

A clustering technology used to implement processing clusters on Linux systems. Beowulf is not a product per se, but a collection of technologies. Note that Turbolinux Cluster Server and Beowulf do not implement the same type of clustering. Beowulf is used for CPU-intensive tasks, whereas Cluster Server is used for service- oriented tasks.

Beowulf is an approach to creating a supercomputer made up of a cluster of standard PCs running Linux. The PCs are usually connected via Ethernet and run programs created for parallel processing. A server node feeds data to the rest of the cluster for processing, and serves as an administration system.

Related Link(s):

http://www.beowulf.org/

BIND

BIND (Berkeley Internet Name Domain) is an implementation of the Domain Name System (DNS) protocols and provides an openly redistributable reference implementation of the major components of the Domain Name System, including:

  • A Domain Name System server (named)

  • A Domain Name System resolver library

  • Tools for verifying the proper operation of the DNS server

BIOS (Basic Input/Output System)

Accurately called the ROM BIOS, this is a set of read-only memory (ROM) chips which are programmed to take over operation of the computer when it starts. The BIOS coordinates all the messages printed when a PC is first switched on. It gets its configuration data about the number of hard drives, what size floppy disk is present etc. from the CMOS configuration chip.

BOOTP

The booting protocol (BOOTP) allows a client machine to discover its own IP address, the address of a server host, and the name of a file to be loaded into memory and executed. Further information is in RFC 951.

BSD

BSD (originally: Berkeley Software Distribution) refers to the particular version of the UNIX operating system that was developed at and distributed from the University of California at Berkeley. "BSD" is customarily preceded by a number indicating the particular distribution level of the BSD system (for example, "4.3 BSD"). BSD UNIX has been popular and many commercial implementations of UNIX systems are based on or include some BSD code.

client/server, client-server

A common form of distributed system in which software is split between server tasks and client tasks. A client sends requests to a server, according to some protocol, asking for information or action, and the server responds. This is analogous to a customer (client) who sends an order (request) on an order form to a supplier (server) who dispatches the goods and an invoice (response). The order form and invoice are part of the protocol used to communicate in this case.

There may be either one centralized server or several distributed ones. This model allows clients and servers to be placed independently on nodes in a network, possibly on different hardware and operating systems appropriate to their function, e.g. fast server/cheap client.

Examples are the name-server/name-resolver relationship in DNS, the file-server/file-client relationship in NFS, and the screen server/client application split in the X Window System.

cluster, clustering

A cluster is any collection of more than one computers that can be accessed independently but also as a unit. Clustering technology lets users harness multiple servers together to make one high performance server. This technology was originally created by Digital Equipment Corp. Clustering is used for parallel processing, for load balancing and for fault tolerance.

Clustering is a popular strategy for implementing parallel processing applications because it enables companies to leverage the investment already made in PCs and workstations. In addition, it's relatively easy to add new CPUs simply by adding a new PC to the network.

Cluster Management Console (CMC)

A web-based administration program that will let you monitor and modify the cluster from a web browser.

cluster manager

See Advanced Traffic Manager.

cluster node

A computer within a cluster that does actual processing of service requests. The cluster manager distributes the workload among the cluster nodes. From outside the cluster, clients do not care which cluster node will process their request and are usually unable to determine which node they hit.

In Turbolinux Cluster Server, the nodes perform the network services that the cluster supports.

clusterserverd

The daemon that works to implement Turbolinux Cluster Server. On the primary ATM, it works in conjunction with the SpeedLink kernel module to route incoming traffic to the appropriate cluster nodes. On backup ATMs, it monitors the primary ATM, ready to fail-over if the primary ATM fails. On cluster nodes, it sets up the network interfaces in preparation to run as a node.

connection

A connection is a communication session between two network hosts. One host (the client) initiates a conversation with another system (the server). The connection is like a conversation, with the client and server sending data to each other. The connection can be terminated by either side.

CMC

See Cluster Management Console.

CPU (Central Processing Unit)

Commonly called a microprocessor, this is the part of a computer which controls all the other parts. The job of the CPU is to coordinate information flow between the memory and other hardware components such as hard drives, network and other peripheral cards. Turbolinux runs on Intel CPUs and those compatible with them (such as AMD, Cyrix and others) .

daemon

In Unix terminology, a daemon is customarily used to denote server programs. Daemons are memory-resident programs executed only when they receive a request from another program. Server programs such as FTP and TELNET are generally implemented as daemons. Program names of most daemons end in the letter "d" to indicate that they are daemons.

Unix systems run many daemons, chiefly to handle requests for services from other hosts on a network. Most of these are now started as required by a single real daemon, inetd, rather than running continuously. Examples are cron (local timed command execution), rshd (remote command execution), rlogind and telnetd (remote login), ftpd, nfsd (file transfer), lpd (printing).

datagram

A datagram is, to quote the Internet's Request for Comments 1594, "a self-contained, independent entity of data carrying sufficient information to be routed from the source to the destination computer without reliance on earlier exchanges between this source and destination computer and the transporting network."

The term has been generally replaced by the term packet. Datagrams or packets are the message units that the Internet Protocol deals with and that the Internet transports. A datagram or packet needs to be self-contained without reliance on earlier exchanges because there is no connection of fixed duration between the two communicating points as there is, for example, in most voice telephone conversations. (This kind of protocol is referred to as connectionless.)

DHCP

The Dynamic Host Configuration Protocol (DHCP) provides a framework for passing configuration information to hosts on a TCP/IP network. DHCP is based on the Bootstrap Protocol (BOOTP), adding the capability of automatic allocation of reusable network addresses and additional configuration options. DHCP captures the behavior of BOOTP relay agents, and DHCP participants can interoperate with BOOTP participants. DHCP allows a server to dynamically distribute IP addressing and configuration information to clients.

DHCP consists of two components: a protocol for delivering host- specific configuration parameters from a DHCP server to a host and a mechanism for allocation of network addresses to hosts.

DHCP is built on a client-server model, where designated DHCP server hosts allocate network addresses and deliver configuration parameters to dynamically configured hosts. Configuration parameters and other control information are carried in tagged data items that are stored in the "options" field of the DHCP message. The data items themselves are also called "options". Further information is in RFCs 1533, 1534, and 951.

direct forwarding

Forwarding method where the ATM sends the packet directly to the MAC address of the cluster node. The ATM and node must reside on the same subnet. Reply traffic goes directly from the cluster node to the client, without having to travel through the ATM.

distributed systems

A collection of (probably heterogeneous) automata whose distribution is transparent to the user so that the system appears as one local machine. This is in contrast to a network, where the user is aware that there are several machines, and their location, storage replication, load balancing and functionality is not transparent. Distributed systems usually use some kind of client- server organization.

DNS (Domain Name Service)

Domain naming, and its most visible component, the Domain Name Service (DNS), is critical to the operation of the Internet.

DNS is a general-purpose distributed, replicated, data query service used on Internet for translating fully-qualified domain names (FQDNs) such as fred.test.com.us into numerical IP addresses such as 192.168.23.10. DNS can be configured to use a sequence of name servers, based on the domains in the name being looked for, until a match is found. Under Turbolinux, DNS can be queried interactively using the command nslookup, dig, or host.

See also Name Server.

domain name

Domain names usually refer to Internet domains, which form the basis of the common Internet naming scheme. For example, www.cnn.com is a domain name, and cnn.com is a domain.

encapsulation

Encapsulation, closely related to the concept of Protocol Layering, refers to the practice of enclosing data using one protocol within messages of another protocol.

To make use of encapsulation, the encapsulating protocol must be open-ended, allowing for arbitrary data to placed in its messages.

Another protocol can then be used to define the format of that data.

Ethernet

Ethernet is a type of local area network and was originally developed by Xerox, Intel, and Digital Equipment Corporation in the late 1970s, with specifications first released in 1980. Ethernet was first designed to transport data at rates up to 10 million bits per second over coaxial cable; the original standard defined the cabling, connectors, and other characteristics for the transmission of data, voice, and video over local area networks at 10 Mbps.

Recent improvements have increased the speed to 100 Mbps.

Ext2fs (Second Extended Filesystem)

This is the Linux native filesystem. It is fast and reliable and used by all Linux distributions. Also called a Linux partition.

The EXT2 file system uses fragments to prevent too much wasted space through the incomplete use of blocks. The fragment size in Linux must be the physical block size multiplied by a power of two. Files in Linux are, therefore, a sequence of blocks followed by a small sequence of consecutive fragments. Fragments may be grouped into a block if there are enough fragments used at the end of a file to create an entire block. Likewise, when a file decreases in size, the last block may be broken into fragments.

event monitoring

Event monitoring is gathering information about events that occur during the running of an application. Event monitoring is useful for detecting deadlocks, overflow events, transaction completion, and application disconnections. An event can be a file system running out of space, processor utilization going too high, or anything that can be detected or is measurable.

Within a cluster, an event manager monitors how the resources in the cluster are working and informs a parallel or distributed program that events of interest have happened. The event manager, does not, however, respond to those events.

fail-over

Method of fault tolerance that has 2 or more systems running in parallel doing some sort of processing. Normally the primary system will process all requests. If the primary system goes down, the backup system will take over processing. The term can also refer to the process of the backup system taking over for the primary system when it has failed.

Compare with load balancing. The two terms are similar, but fail- over implies that only one system will process requests at any one time, whereas load balancing normally has all the systems processing requests in parallel.

firewall

The firewall features in Linux are fully configurable to allow or deny any type of service from or to any address on the Internet. Undesirable sites can be blocked from incoming or outgoing connections, and internal systems can be protected from outside attack. If you're using the reserved addresses on your LAN, Linux will perform Network Address Translation (NAT) to allow connections to the Internet.

FQDN (Fully Qualified Domain Name)

The full name of a computer on the Internet, consisting of its local hostname and its domain name. For example, "smoke" is a hostname and "smoke.com.test.us" is a FQDN. A FQDN should be sufficient to determine a unique Internet address for any host on the Internet. The same naming scheme is also used for some hosts which are not on the Internet, but share the same name-space for electronic mail addressing.

FTP (File Transfer Protocol)

A client-server protocol which allows a user on one computer to transfer files to and from another computer over a TCP/IP network. Also the client program the user executes to transfer files. Turbolinux includes a friendly FTP client called ncftp.

Anonymous FTP - An interactive service provided by many Internet hosts allowing any user to transfer documents, files, programs, and other archived data using File Transfer Protocol. A good example is the Turbolinux ftp site at ftp.turbolinux.com. The user logs in using the special username "ftp" or "anonymous" and his e-mail address as password. He then has access to a special directory hierarchy containing the publicly accessible files.

gateway

A gateway is another name for a router. The default gateway is the router that traffic will be routed through if the destination address does not exist on the same subnet.

See router.

General Public License

See GNU General Public License.

GNU

GNU is The Free Software Foundation's project to provide a freely distributable replacement for Unix. It stands for GNU's Not UNIX, a recursive acronym. A large amount of GNU software is shipped with Turbolinux, and nearly all the software is under the GNU General Public License.

Related Link(s):

http://www.gnu.org/

GNU General Public License

The General Public License (GPL) from the GNU project ensures that a software user has freedom to share, modify, and exchange free software. The GNU GPL has comprehensive guidelines and terms for anyone who develops software and feels that it can be of use to the public at large.

GPL

See GNU General Public License.

heartbeat, heartbeat monitoring

Heartbeat monitoring consists of system services that maintain constant communication between all the nodes in a cluster. Heartbeat monitoring ensures that each node is active; a heartbeat message is sent every few seconds from every node in the cluster to its upstream neighbor. When the heartbeat for a node fails, the condition is reported so the cluster can automatically fail over resilient resources to a backup node.

Heartbeat monitoring also attempts to reestablish communications in the event of a failure and reports unrecoverable failures to the rest of the cluster.

heterogeneous

Heterogeneous, which is the characteristic of containing dissimilar constituents, is commonly used in information technology to describe a product as able to contain or be part of a heterogeneous network, consisting of different manufacturers' products that can interoperate. Heterogeneous networks are made possible by standard hardware and software interfaces used in common by different products, thus allowing them to communicate with each other. The Internet is an example of a heterogeneous network.

high availability

A system that maintains availability of a service despite hardware or software faults. This is usually done by implementing redundancy of hardware and software. High availability is often measured in percentage of time that the system is up, such as 99.99% uptime.

High Availability (HA) means access to data and applications whenever needed and with an acceptable level of performance. A high availability situation is when all of a network's resources are available for the maximum amount of time. Theoretically, the availability percentage can never be 100% but clustering attempts to bring this percentage of time as close to 100% as possible. HA deals with the service aspect of the "system" as an unbroken whole and as perceived by its end users. In this context, reliability (of hardware and software components) and performance (response- time/throughput, transactions per minute, etc.) are parts of system availability.

Availability can also be expressed as MTTF/(MTTF+MTTR), where:

  • MTTF (mean-time-to-failure) is the average time that a system runs (without failing) after it has been set up or repaired.

  • MTTR (mean-time-to-repair) is the average time needed to repair (or restore) a failed system.

See also single point of failure.

host

The term "host" can be used in several contexts with slightly different meanings in each:

  • On the Internet, the term "host" means any computer that has full two-way access to other computers on the Internet. A host has a specific host address that, together with the network number, forms its unique Internet Protocol (IP) address.

  • In large mainframe computer environments, a host is a mainframe computer.

  • A host can also indicate a device or program that provides services to some smaller or less capable device or program.

HTML

Hypertext Markup Language (HTML) is the set of markup symbols or codes inserted in a file intended for display on a World Wide Web browser. The markup tells the Web browser how to display a Web page's words and images for the user. The individual markup codes are referred to as elements (but many people also refer to them as tags). The current version of HTML is HTML 4.

HTML is a standard recommended by the World Wide Web Consortium (W3C) and adhered to by the major browsers, Microsoft's Internet Explorer and Netscape's Navigator, which also provide some additional non-standard codes.

HTTP

The Hypertext Transfer Protocol (HTTP) is an application-level protocol with the speed necessary for distributed, collaborative, hypermedia information systems. It is a generic, stateless, object- oriented protocol which can be used for many tasks, such as name servers and distributed object management systems, through extension of its request methods (commands). A feature of HTTP is the typing of data representation, allowing systems to be built independently of the data being transferred.

HTTP has been in use by the World-Wide Web global information initiative since 1990. You can find more information in rfc1945.

ICMP

Internet Control Message Protocol (ICMP) is a message control and error-reporting protocol between a host server and a gateway to the Internet. ICMP uses Internet Protocol (IP) datagrams, but the messages are processed by the IP software and are not directly apparent to the application user.

IETF

The Internet Engineering Task Force (IETF) is a large open international community of network designers, operators, vendors, and researchers concerned with the evolution of the Internet architecture and the smooth operation of the Internet.

Related Link(s):

http://www.ietf.org/

inetd

inetd is one of the most popular super server programs. By default, Turbolinux installs inetd and sets it as the system program at boot time. Instead of using inetd, you can use xinetd, an expanded function version of inetd.

interface

A boundary across which two systems communicate. An interface might be a hardware connector used to link to other devices, or it might be a convention used to allow communication between two software systems. Often there is some intermediate component between the two systems which connects their interfaces together. For example, two EIA-232 interfaces connected via a serial cable.

Intermezzo

InterMezzo is a distributed file system which lets systems replicate directory trees. Systems make modifications locally and propagate updates to peers when these are available. If networks or peers are down, the system continues to function and the modifications are reintegrated when the system is back up. Applications of this file system span from replicating entire systems, to making home directories transparently available on mobile computers.

Related Link(s):

http://inter-mezzo.org/

IP (Internet Protocol)

The network layer for the TCP/IP protocol suite. If it is the Internet, it's TCP/IP.

On Turbolinux, TCP/IP configuration is largely done using turbonetcfg.

IP Address

An IP address is a 32-bit number that uniquely identifies an Internet host.

ip_cs

Name of the SpeedLink kernel module. It inserts itself into the TCP/IP stack to implement Turbolinux Cluster Server traffic management.

IRQ (Interrupt Request)

Technically speaking this is a feature of the CPU which causes it to suspend normal operation and start doing something else. The "something else" is usually to do with peripherals such as network cards, sound cards, serial communications and so on. When you move the mouse an interrupt is generated. The reason a Turbolinux user might be interested in this is because each PC device needs to have a unique IRQ number, and there are only so many to choose from. An interrupt conflict is what happens when two devices are designed by the manufacturer to use the same interrupt. The more hardware you have in your PC the more likely you are to have to solve this problem.

kernel

By definition, a kernel is the essential part of Unix or other operating systems such as Linux; it is responsible for resource allocation, low-level hardware interfaces, security etc. A synonym is nucleus.

A kernel can be contrasted with a shell, the outermost part of an operating system that interacts with user commands. Kernel and shell are terms used more frequently in UNIX.

Typically, a kernel (or any comparable center of an operating system) includes an interrupt handler that handles all requests or completed I/O operations that compete for the kernel's services, a scheduler that determines which programs share the kernel's processing time in what order, and a supervisor that actually gives use of the computer to each process when it is scheduled. A kernel may also include a manager of the operating system's address spaces in memory or storage, sharing these among all components and other users of the kernel's services.

A kernel's services are requested by other parts of the operating system or by applications through a specified set of program interfaces sometimes known as system calls.

Because the code that makes up the kernel is needed continuously, it is usually loaded into computer storage in an area that is protected so that it will not be overlaid with other less frequently used parts of the operating system.

A microkernel is an approach to operating system design emphasizing small modules that implement the basic features of the system kernel and can be flexibly configured.

See also Linux kernel.

latency

Latency has different meanings in different contexts. In a network, latency, a synonym for delay, is an expression of how much time it takes for a packet of data to get from one designated point to another. In some usages (for example, AT&T), latency is measured by sending a packet that is returned to the sender and the round-trip time is considered the latency.

The latency assumption seems to be that data should be transmitted instantly between one point and another (that is, with no delay at all). The contributors to network latency include:

  • Propagation: This is simply the time it takes for a packet to travel between one place and another at the speed of light.

  • Transmission: The medium itself (whether fiber optic cable, wireless, or some other) introduces some delay. The size of the packet introduces delay in a round trip since a larger packet will take longer to receive and return than a short one.

  • Router and other processing: Each gateway node takes time to examine and possibly change the header in a packet (for example, changing the hop count in the time-to-live field).

Other computer and storage delays: Within networks at each end of the journey, a packet may be subject to storage and hard disk access delays at intermediate devices such as switches and bridges. (In backbone statistics, however, this kind of latency is probably not considered.)

In a computer system, latency is often used to mean any delay or waiting that increases real or perceived response time beyond the response time desired. Specific contributors to computer latency include mismatches in data speed between the microprocessor and input/output devices and inadequate data buffering.

Within a computer, latency can be removed or "hidden" by such techniques as pre-fetching (anticipating the need for data input requests) and multithreading, or using parallelism across multiple execution threads.

LDAP

LDAP is a specification for a client-server protocol to retrieve and manage directory information. It was originally intended as a means for clients on PCs to access X.500 directories, but can also be used with stand-alone and other kinds of directory servers.

The first implementation of LDAP was developed at the University of Michigan. The earlier version of the protocol, 2, is supported in software from University of Michigan. Version 2 was published as RFC 1777 and RFC 1778.

LDAP does not require the upper layers of OSI stack; it is a simpler protocol to implement (especially in clients), and LDAP is under IETF change control and so can more easily evolve to meet Internet requirements.

An LDAP directory is organized in a simple "tree" hierarchy consisting of the following levels:

  • The root directory (the starting place or the source of the tree), which branches out to

  • Countries, each of which branches out to

  • Organizations, which branch out to

  • Organizational units (divisions, departments, and so forth), which branches out to (includes an entry for)

  • Individuals (which includes people, files, and shared resources such as printers)

LILO

Although opinions vary, LILO is certainly the most popular boot loader for Linux. It resides on your hard drive, and at boot time it presents you with a boot prompt, where you can choose an operating system to boot, choose a particular Linux kernel to load, and pass special parameters to the Linux kernel when it is loaded. LILO is fast, flexible, and independent, since it does not require any other operating system to be present. This makes it the loader of choice for Linux-only systems.

LILO is a kernel boot loader. It can be used as your main boot manager for a system, because it is able to load linux, OS/2, win98, NT, and many other popular OSes. However, it does have one limitation that can be particularly aggravating: It can't boot an OS from a partition that is located beyond the 1024th cylinder of the drive. For people with large drives, this can be a problem. The most likely cause of this problem is trying to install linux on the same HD as another OS. If you created your linux partition towards the end of a large drive, Linux won't boot.

Linux

Linux is an operating system that was initially created as a hobby by a young student, Linus Torvalds, at the University of Helsinki in Finland. Linus had an interest in Minix, a small UNIX system, and decided to develop a system that exceeded the Minix standards. Version 1.0 of the Linux Kernel was released in 1994. The current full-featured version is 2.2 (released January 25, 1999), and development continues.

Linux is developed under the GNU General Public License and its source code is freely available to everyone. This however, doesn't mean that Linux and it's assorted distributions are free -- companies and developers may charge money for it as long as the source code remains available. Linux may be used for a wide variety of purposes including networking, software development, and as an end-user platform. Linux is often considered an excellent, low-cost alternative to other more expensive operating systems.

The central nervous system of Linux is the kernel, the operating system code which runs the whole computer. See kernel.

Linux kernel

The Linux kernel itself is a single monolithic binary. This improves performance since there are no context switches needed for operating system functions or I/O requests. There is, however, modularity built into the Linux kernel, and the kernel can load (unload) modules into itself either at run time, or when the module becomes needed. Modules run in a privileged kernel mode on the system and (like the kernel) have full access to system hardware.

Modules are useful to allow binary additions to the kernel (if a piece of hardware is proprietary, a driver may be written to allow the use of this hardware to be included as a module in the kernel without violating the GNU License). Also, if one is writing a driver it can be useful to be able to load and unload the driver without having to reboot the system for testing purposes.

See also kernel.

Linux Virtual Servers

The Linux Virtual Server is a highly scalable and highly available server built on a cluster of real servers, with the load balancer running on the Linux operating system. The architecture of the cluster is transparent to end users. End users only see a single virtual server.

See also Virtual Server.

load balancing

Distributing processing and communications activity evenly across a computer network so that no single device is overwhelmed is known as load balancing. Load balancing is especially important for networks where it's difficult to predict the number of requests that will be issued to a server. Busy Web sites typically employ two or more Web servers in a load balancing scheme. If one server starts to get swamped, requests are forwarded to another server with more capacity.

Network load balancing serves to balance incoming IP traffic among multi-node clusters.

masquerading

IP Masquerading is a form of TCP/IP network address translation, or NAT. See also NAT.

mount

The mount command attaches a named filesystem to the file system hierarchy at the pathname location directory, which must already exist. If a directory has any contents prior to the mount operation, these remain hidden until the filesystem is once again unmounted. If a filesystem is of the form host:pathname, it is assumed to be an NFS file system (type nfs).

The umount command unmounts a currently mounted file system, which can be specified either as a directory or a filesystem. mount and umount maintain a table of mounted file systems in /etc/mtab, described in fstab(5). If invoked without an argument, mount displays the contents of this table. If invoked with either a filesystem or directory only, mount searches the file /etc/fstab for a matching entry, and mounts the file system indicated in that entry on the indicated directory.

mount also allows the creation of new, virtual file systems using loopback mounts. Loopback file systems provide access to existing files using alternate pathnames. Once a virtual file system is created, other file systems can be mounted within it without affecting the original file system. File systems that are subsequently mounted onto the original file system, however, are visible to the virtual file system, unless or until the corresponding mount point in the virtual file system is covered by a file system mounted there.

MySQL

MySQL is an Open Source relational database management system. The SQL part of MySQL stands for Structured Query Language, the most common standardized language used to access databases.

MySQL is also a client/server system that consists of a multi- threaded SQL server that supports different back ends, several different client programs and libraries, administrative tools and a programming interface.

Related Link(s):

http://www.mysql.com/

name server

A name server (also called domain server or DNS server) is a computer which knows how to turn a human-readable FQDN into a machine-readable IP address such as 111.222.333.4444. It uses the host name obtained from the IP address or the inverse IP address search to find host names using a distributed database function.

NAS

NAS (Network-Attached Storage) is disk storage that is set up with its own network address rather than being attached to a computer that is serving applications to a network's workstation users. By removing storage access and its management from the department server, both application programming and files can be served faster because they are not competing for the same processor resources. The network-attached storage device is attached to a local area network (typically, an Ethernet network) and assigned an Internet Protocol (IP) address. File requests are mapped by the main server to the NAS file server.

Network-attached storage consists of hard disk storage, including multi-disk RAID systems, and software for configuring and mapping file locations to the network-attached device.

Network-attached storage can be a step toward and included as part of a more sophisticated storage system known as a storage-area network (SAN).

NAS software can usually handle a number of network protocols, including Microsoft's IPX and NetBEUI, Novell's Netware IPX, and Sun Microsystems' NFS. Configuration, including the setting of user access priorities, is usually possible using a Web browser.

NAT

NAT (Network Address Translation) is the translation of an Internet Protocol address (IP address) used within one network to a different IP address known within another network. One network is designated the inside network and the other is the outside. Typically, a company maps its local inside network addresses to one or more global outside IP addresses and unmaps the global IP addresses on incoming packets back into local IP addresses. This helps ensure security since each outgoing or incoming request must go through a translation process that also offers the opportunity to qualify or authenticate the request or match it to a previous request. NAT also conserves on the number of global IP addresses that a company needs and it lets the company use a single IP address in its communication with the world.

NAT is included as part of a router and is often part of a corporate firewall. Network administrators create a NAT table that does the global-to-local and local-to-global IP address mapping. NAT can also be used in conjunction with policy routing. NAT can be statically defined or it can be set up to dynamically translate from and to a pool of IP addresses. Cisco's version of NAT lets an administrator create tables that map:

  • A local IP address to one global IP address statically

  • A local IP address to any of a rotating pool of global IP addresses that a company may have

  • A local IP address plus a particular TCP port to a global IP address or one in a pool of them

  • A global IP address to any of a pool of local IP addresses on a round-robin basis

NAT is described in general terms in RFC 1631. NAT reduces the need for a large amount of publicly known IP addresses by creating a separation between publicly known and privately known IP addresses.

Network Interface Card

A network interface card (NIC) is a computer circuit board or card that is installed in a computer so that it can be connected to a network. Personal computers and workstations on local area networks (LANs) typically contain a network interface card specifically designed for the LAN transmission technology, such as Ethernet or Token Ring. Network interface cards provide a dedicated, full-time connection to a network.

NFS (Network File System)

A protocol developed by Sun Microsystems which allows a computer to access files over a network as if they were on its local disks. Unix systems typically use NFS to share files between one another. NFS is stateless, which means that an NFS server can be rebooted without the clients necessarily losing data.

NIC

See Network Interface Card.

NIS (Network Information Service)

Sun Microsystems' client-server protocol for distributing system configuration data such as user names and passwords and computer names. NIS is somewhat like the NetWare Network Directory Service (NDS), Microsoft Domains or the Lightweight Directory Access Protocol (LDAP) and there are gateways available between NIS and all of these directory schemes.

node

In a network, a node is a connection point, either a redistribution point or an end point for data transmissions. In general, a node has programmed or engineered capability to recognize and process or forward transmissions to other nodes.

In clustering, each system within the cluster is often referred to as a node, a cluster node, or a server node.

See also cluster node.

NTP

The Network Time Protocol (NTP) is a family of programs that are used to adjust the system clock on your computer and keep it synchronized with external sources of time. Time data is requested from outside sources (radio clock, network timeservers) and delivered to clients within your domain. It is designed to provide accuracy in the microsecond to millisecond range with hardware available in the mid 1990s.

OpenLDAP

OpenLDAP is an open source implementation of the Lightweight Directory Access Protocol (LDAP). The suite includes:

  • slapd - stand-alone LDAP server

  • slurpd - stand-alone LDAP replication server

  • Libraries implementing the LDAP protocol

  • Utilities, tools, and sample clients.

Open Source

Open Source is a certification mark owned by the Open Source Initiative (OSI). Developers of software that is intended to be freely shared and possibly improved and redistributed by others can use the Open Source trademark if their distribution terms conform to the OSI's Open Source Definition. To summarize, the Definition model of distribution terms require that:

  • The software being distributed must be redistributed to anyone else without any restriction

  • The source code must be made available (so that the receiving party will be able to improve or modify it)

  • The license can require improved versions of the software to carry a different name or version from the original software

packet

A packet is the unit of data that is routed between an origin and a destination on the Internet or any other packet-switched network.

"Packet" and "datagram" are similar in meaning. A protocol similar to TCP, the User Datagram Protocol (UDP), uses the term datagram.

patch

A patch is file that collects changes to other files. It is often used to make small modifications to a source code tree. The Linux kernel is available in patches that allow you to upgrade from one version to the next.

PCMCIA (Personal Computer Memory Card International Association)

An international trade association and the standards they have developed for devices that can be plugged into notebook computers such as modems and external hard disk drives. A PCMCIA card is about the size of a credit card. Since 1995 these cards have also been known as PC Cards. It is possible to plug PCMCIA cards into desktop computers, communication racks and other equipment when fitted with a suitable chassis. Turbolinux automatically detects PCMCIA cards as they are swapped in and out of a running system.

persistency

Within the context of clustering, persistency allows a client to always connect to the same server within the cluster. While it usually does not matter which server a client access within the cluster, some application services maintain state on the server. In order for the client to be able to access the cluster multiple times, the cluster must maintain that state between connections. The way this is done is by flagging the particular service and ensuring that clients will always connect with the same sever in the cluster.

ping

The ping program is a basic Internet utility that lets you verify that a particular Internet address exists and can accept requests.

Ping is used diagnostically to ensure that a host computer you are trying to reach is actually operating. If, for example, a user can't ping a host, then the user will be unable to use the File Transfer Protocol (FTP) to send files to that host. Ping can also be used with a host that is operating to see how long it takes to get a response back. Using ping, you can learn the number form of the IP address from the symbolic domain name.

Loosely, ping means "to get the attention of" or "to check for the presence of" another party online. Ping operates by sending a packet to a designated address and waiting for a response.

PostgreSQL

PostgreSQL is a sophisticated Object-Relational DBMS, supporting almost all SQL constructs, including subselects, transactions, and user-defined types and functions. It is the most advanced open-source database available anywhere.

PPP (Point to Point Protocol)

The Internet standard for transmitting network layer datagrams (e.g. IP packets) over serial point-to-point links. If you are using a modem then PPP is the only protocol you should consider. Once PPP is running the only difference between it and a TCP/IP link over ethernet is speed. TurboPPPCfg allows simple configuration of PPP modem links.

PPTP

A protocol or set of communication rules called Point-to-Point Tunneling Protocol (PPTP) has been proposed that would make it possible to create a virtual private network through tunnels over the Internet. This would mean that companies would no longer need their own leased lines for wide-area communication but could securely use the public networks. See also Tunneling.

PPTP, sponsored by Microsoft and other companies, and Layer 2 Forwarding, proposed by Cisco Systems, are among the main proposals for a new Internet Engineering Task Force (IETF) standard. With PPTP, which is an extension of the Internet's Point- to-Point Protocol (PPP), any user of a PC with PPP client support will be able to use an independent service provider (ISP) to connect securely to a server elsewhere in the user's company.

primary ATM

The ATM that is currently in charge of routing traffic.

See Advanced Traffic Manager and backup ATM.

protocol

A set of formal rules describing how to transmit data, especially across a network. Low level protocols define the electrical and physical standards to be observed, bit- and byte-ordering and the transmission and error detection and correction of the bit stream. High level protocols deal with the data formatting, including the syntax of messages, the terminal to computer dialogue, character sets, sequencing of messages etc.

Many protocols are defined by RFCs or by OSI.

See also Handshaking.

protocol layering

Protocol layering is a common technique used to simplify networking designs by dividing them into functional layers, and assigning protocols to perform each layer's task. For example, it is common to separate the functions of data delivery and connection management into separate layers, and therefore separate protocols. Protocol layering produces simple protocols, each with a few well-defined tasks. These protocols can then be assembled into a useful whole. Individual protocols can also be removed or replaced as needed for particular applications.

proxy

An intermediary program which acts as both a server and a client for the purpose of making requests on behalf of other clients. Requests are serviced internally or by passing them, with possible translation, on to other servers. A proxy must interpret and, if necessary, rewrite a request message before forwarding it. Proxies are often used as client-side portals through network firewalls and as helper applications for handling requests via protocols not implemented by the user agent.

RADIUS

RADIUS (Remote Authentication Dial-In User Service) is a client/server protocol and software that enables remote access servers to communicate with a central server to authenticate dial- in users and authorize their access to the requested system or service. RADIUS allows a company to maintain user profiles in a central database that all remote servers can share. It provides better security, allowing a company to set up a policy that can be applied at a single administered network point. Having a central service also means that it's easier to track usage for billing and for keeping network statistics. Created by Livingston (now owned by Lucent), RADIUS is a de facto industry standard used by Ascend and other network product companies and is a proposed IETF standard.

RAID

RAID (redundant array of independent disks) is a way of storing the same data in different places (thus, redundantly) on multiple hard disks. By placing data on multiple disks, I/O operations can overlap in a balanced way, improving performance. Since multiple disks increases the mean time between failure (MTBF), storing data redundantly also increases fault-tolerance.

A RAID appears to the operating system to be a single logical hard disk. RAID employs the technique of striping, which involves partitioning each drive's storage space into units ranging from a sector (512 bytes) up to several megabytes. The stripes of all the disks are interleaved and addressed in order.

In a single-user system where large records, such as medical or other scientific images, are stored, the stripes are typically set up to be small (perhaps 512 bytes) so that a single record spans all disks and can be accessed quickly by reading all disks at the same time.

In a multiuser system, better performance requires establishing a stripe wide enough to hold the typical or maximum size record. This allows overlapped disk I/O across drives.

There are several levels and types of RAID.

rcp

rcp stands for remote copy and allows you to transfer files to and from another system over the network. It works like a copy command, where you specify a source and a destination, except that the source or destination of the copy can be another system. Unlike FTP, it is totally non-interactive and does not require you to log in or specify a password for the other system. It can also copy multiple files and recursively copy entire directory trees. The other system must be running a remote shell daemon (rshd) that supports rcp.

rexecd

rexec stands for remote exec daemon. It is a program that services the rexec command and originated on Unix systems. It listens for connections coming from an rexec command (over TCP/IP) and when it receives a connection, it validates access, then executes the specified program. Unlike the remote shell daemon, the rexec daemon requires that the client specify a valid password before access is granted, so it is more secure than rshd.

RFC

The Internet Request For Comments (RFC) documents are the written definitions of the protocols and policies of the Internet. You can view the RFC documents at one of the following web sites.

router

A router is a device that chooses different paths for network packets, based on the addressing of the IP frame it is handling. Different routes connect to different networks. The router will have more than one address as each route is part of a different network.

A router creates or maintains a table of the available routes and their conditions and uses this information along with distance and cost algorithms to determine the best route for a given packet. Typically, a packet may travel through a number of network points with routers before arriving at its destination.

A router does not propagate Ethernet broadcasts, because the router is a Network Level device, and Ethernet is a Data Link Level protocol. Therefore, an Internet host must use its routing protocols to select an appropriate router, that can be reached via Ethernet ARPs (Address Resolution Protocol). After ARPing for the IP address of the router, the packet (targeted at some other Destination Address) is transmitted to the Ethernet address of the router.

routing

Routing is a method of path selection.

Routing assumes that addresses have been assigned to facilitate data delivery. In particular, routing assumes that addresses convey at least partial information about where an Internet host is located. This permits routers to forward packets without having to rely either on broadcasting or a complete listing of all possible destinations. At the IP level, routing is used almost exclusively, primarily because the Internet was designed to construct large networks in which heavy broadcasting or huge routing tables are infeasible.

Routing can be static or dynamic. Static routing is performed using a pre-configured routing table which remains in effect indefinitely, unless it is changed manually by the user. This is the most basic form of routing, and it usually requires that all machines have statically configured addresses, and definitely requires that all machines remain on their respective networks. Otherwise, the user must manually alter the routing tables on one or more machines to reflect the change in network topology or addressing. Usually at least one static entry exists for the network interface, and is normally created automatically when the interface is configured.

Dynamic routing uses special routing information protocols to automatically update the routing table with routes known by peer routers. These protocols are grouped according to whether they are Interior Gateway Protocols (IGPs) or Exterior Gateway Protocols. Interior gateway protocols are used to distribute routing information inside of an Autonomous System (AS). An AS is a set of routers inside the domain administered by one authority. See RFC 1716 for more information on IP router operations.

RPM

RPM is the RPM Package Manager. It is an open packaging system available for anyone to use. It allows users to take source code for new software and package it into source and binary form such that binaries can be easily installed and tracked and source can be rebuilt easily. It also maintains a database of all packages and their files that can be used for verifying packages and querying for information about files and/or packages.

RPM is quite flexible and easy to use, though it provides the base for a very extensive system. It is also completely open and available, though we would appreciate bug reports and fixes. Permission is granted to use and distribute RPM royalty free under the GPL.

Related Link(s):

http://www.rpm.org/

rsh

rsh stands for remote shell and allows you to execute a non- interactive program on another system. The remote program's standard output and standard error output will be shown on your screen. The other system must be running a remote shell daemon (rshd) to handle the incoming rsh command. The rsh command does not require you to enter a password for the other system.

rshd

rshd stands for remote shell daemon. It is a program that services the rsh command and originated on Unix systems. It listens for connections coming from an rsh command (over TCP/IP) and when it receives a connection, it validates access, then executes the specified program. The remote shell daemon also handles servicing the rcp command. The remote shell daemon does not require the client to supply a password; it grants or denies access based on host equivalence; that is, a user on one system is equivalent to a user on another system and no password is necessary. Because of this, the remote shell daemon should only be used on networks where users are generally trusted and convenience is more important than security.

Samba

Samba is an open source software suite that provides seamless file and print services to Server Message Block (SMB)/CIFS clients. Samba is freely available under the GNU General Public License. The source code is available to the public with versions available for free UNIX ports such as Linux and FreeBSD as well as for commercial ports such for Solaris and HP-UX UNIX systems.

The Samba suite of programs gives a Turbolinux system the ability to `speak' the Server Message Block (SMB) protocol. SMB is the protocol used to implement file sharing and printer services between computers running OS/2, Windows NT, Windows 95, and Windows for Workgroups. Recent benchmark tests results show Samba substantially outperforms standard Windows NT based systems. The stable, most recent version as of March, 1999, is 2.0.3.

SAN

See Storage Area Network.

SCSI (Small Computer Systems Interface)

SCSI stands for Small Computer Systems Interface. It's a standard for connecting peripherals to your computer via a standard hardware interface, which uses standard SCSI commands. The SCSI standard can be divided into SCSI (SCSI1) and SCSI2 (SCSI wide and SCSI wide and fast) and now SCSI-3 which is made up of at least 14 separate standards documents.

SCSI2 is the most popular version of the SCSI command specification and allows for scanners, hard disk drives, CD-ROM players, tapes and many other devices. SCSI-3 resolves many long time "gray areas" and adds much new functionality and performance improvements. It also adds new types of SCSI busses like fibre channel which uses a 4 pin copper connection or a pair of glass fibre optic cables instead of the familiar ribbon cable connection.

SCSI can connect up to seven devices to a single controller (or "host adaptor") on the computer's bus, using a cable that goes from one device to the next. The cable can be up to 6 meters long. A common problem with SCSI hardware is incorrect termination.

server

In general, a server is a computer program that provides services to other computer programs in the same or other computers.

The computer that a server program runs in is also frequently referred to as a server (though it may contain a number of server and client programs).

In the client/server programming model, a server is a program that awaits and fulfills requests from client programs in the same or other computers. A given application in a computer may function as a client with requests for services from other programs and a server of requests from other programs.

Specific to the Web, a Web server is the computer program (housed in a computer) that serves requested HTML pages or files.

shared storage

Within the context of clustering, shared storage means shared resources; RAID (redundant array of independent disks) is, for example, an example of shared storage.

Shared-storage clustering allows for a shorter failover time--on the order of 5 to 15 seconds. The primary disadvantage of shared- storage clustering is that the two computers must be physically next to each other. They must be within the maximum distance allowed by SCSI.

shell

A shell is the outermost part of an operating system that interacts with user commands. The shell is the layer of programming that understands and executes the commands a user enters. In some systems, the shell is called a command interpreter. A shell usually implies an interface with a command syntax (think of the DOS operating system and its C:\> prompts and user commands such as "dir" and "edit").

As the outer layer of an operating system, a shell can be contrasted with the kernel, the operating system's inmost layer or core of services. Kernel and shell are terms used more frequently in UNIX.

All shells provide for piping and redirection of information 'streams' as well as 'glob' expansions (file wildcards) and running a utility program (command). Each shell also has its own syntax.

You can type echo $SHELL to find out what shell you're using.

The shells that are normally available for Linux/Unix are:

bash

'Bourne' again shell, the most frequent shell on linux. It makes a history of the commands and enables you to edit them.

csh

Berkeley C-shell; it does not enable you to edit the command line.

ksh

Korn shell (improved Bourne); It is a well-known shell under UNIX(tm) systems.

ash

Almquist 'lite' shell

zsh

Z-shell (kitchen sink version) is the most recent.

tcsh

An improved version of C-shell

single point of failure

A single point of failure is a single element of hardware or software, which, if it fails, brings down the entire computer system. Single points of failure are to be avoided at all costs when high availability is desired.

See also high availability.

SMB (Server Message Block)

The Server Message Block protocol was invented by Xerox, worked on by 3Com, and eventually taken over by Microsoft, and is now best known as Microsoft Windows Networking.

SMB is a protocol for sharing files, printers, serial ports, and communications abstractions such as named pipes and mail slots between computers. SMB is a client server, request-response protocol, the native file-sharing protocol in the Microsoft® Windows® 95, Windows NT®, and OS/2® operating systems. CIFS is an enhanced version of SMB.

Turbolinux includes client (smbmount and smbfs) and server (samba) implementations of SMB which allow Turbolinux to participate as a first-class Windows citizen. The Microsoft Windows machines never know the difference as Turbolinux machines access and share files and printers using these protocols. The turbofscfg tool allows smbmount connections to be made in this way.

The link below takes you to a site with more information about CIFS, since CIFS is an enhanced version of SMB.

SMP

Symmetric Multiprocessors (SMP) provides fast performance by making multiple CPUs available to complete individual processes simultaneously (multiprocessing). Unlike asymmetrical processing, any idle processor can be assigned any task, and additional CPUs can be added to improve performance and handle increased loads. A variety of specialized operating systems and hardware arrangements are available to support SMP. Specific applications can benefit from SMP if the code allows multithreading.

SMP uses a single operating system and shares common memory and disk input/output resources. UNIX, Linux, and Windows NT support SMP.

SpeedLink

The heart of Turbolinux Cluster Server. It wedges into the kernel's TCP/IP stack, and looks at every packet coming into the system and determines if the packet is destined for the cluster. If the destination IP address is the same as the virtual IP address of the cluster and the port number is one that the cluster has registered, then the packet is immediately forwarded to one of the cluster nodes. The module maintains several tables that it uses to make the determination of which packets to send to which cluster node. Most of these tables can be accessed via the /proc/net/cluster directory. The speed of Cluster Server is due to the low level at which SpeedLink intercepts incoming packets.

Squid

Squid is a proxy caching server for web clients, supporting FTP, gopher, and HTTP data objects. Squid keeps meta data and especially hot objects cached in RAM, caches DNS lookups, supports non-blocking DNS lookups, and implements negative caching of failed requests.

Squid supports SSL, extensive access controls, and full request logging. By using the lightweight Internet Cache Protocol, Squid caches can be hierarchically linked to other Squid-based proxy servers for streamlined caching of pages.

Squid consists of a main server program squid, a Domain Name System (DNS) lookup program (dnsserver), some optional programs for rewriting requests and performing authentication, and some management and client tools.

SSH

SSH (Secure Shell) is a program to log into another computer over a network, to execute commands in a remote machine, and to move files from one machine to another. It provides strong authentication and secure communications over insecure channels. It is intended as a replacement for rlogin, rsh, and rcp.

SSH protects the user from illicit network snooping (packet sniffing), whereby unencrypted passwords and text can be read by unscrupulous persons. SSH is most useful for logging into a UNIX computer from an Windows computer or from another UNIX computer, where the traditional 'telnet' and 'rlogin' programs would not provide password and session encryption.

SSH contains a suite of three utilities: slogin, ssh, and scp. These utilities are secure versions of the earlier UNIX utilities, rlogin, rsh, and rcp.

OpenSSH is a FREE version of the SSH suite of network connectivity tools and also provides a myriad of secure tunnelling capabilities.

SSL

Secure Sockets Layer (SSL) protocol is a security protocol that provides communications privacy over the Internet. The SSL program layer was created by Netscape for managing the security of message transmissions in a network. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery.

The Secure Sockets Layer protocol layer may be placed between a reliable connection-oriented network layer protocol (e.g. TCP/IP) and the application protocol layer (e.g. HTTP). SSL provides for secure communication between client and server by allowing mutual authentication, the use of digital signatures for integrity, and encryption for privacy.

The protocol is designed to support a range of choices for specific algorithms used for cryptography, digests, and signatures. This allows algorithm selection for specific servers to be made based on legal, export or other concerns, and also enables the protocol to take advantage of new algorithms. Choices are negotiated between client and server at the start of establishing a protocol session.

stateless

An application or service that does not maintain state. That is, it can process requests individually, without any dependence on previous requests. Turbolinux Cluster Server works best with stateless services. If the service is not stateless, you should set the persistence ("sticky") flag so that client requests from a single client will always be routed to the same server.

Stateless and stateful are adjectives that describe whether a computer or computer program is designed to note and remember one or more preceding events in a given sequence of interactions with a user, another computer or program, a device, or other outside element.

Stateful means the computer or program keeps track of the state of interaction, usually by setting values in a storage field designated for that purpose. Stateless means there is no record of previous interactions and each interaction request has to be handled based entirely on information that comes with it. Stateful and stateless are derived from the usage of state as a set of conditions at a moment in time.

Storage Area Network (SAN)

A Storage Area Network (SAN) is a high-speed network (or subnetwork) that interconnects different kinds of data storage devices with associated data servers on behalf of a larger network of users. Typically, a storage area network is part of the overall network of computing resources for an enterprise. A storage area network is usually clustered in close proximity to other computing resources such as IBM S/390 mainframes, but may also extend to remote locations for backup and archival storage, using wide area network carrier technologies such as ATM (asynchronous transfer mode) or SONET (Synchronous Optical Network).

SAN is based on a systematic approach to data storage management pioneered by IBM in the S/390 environment almost 30 years ago. Now SANs are rapidly being integrated into distributed network environments using Fibre Channel technology.

SANs support disk mirroring, backup and restore, archival and retrieval of archived data, data migration from one storage device to another, and the sharing of data among different servers in a network. SANs can incorporate subnetworks with network- attached storage (NAS) systems.

superuser

A superuser has advanced privileges on a system and access to anything any other system user has. Typically, the system administrator has superuser privileges and can create new accounts, change passwords, and perform other administrative tasks.

TCP

TCP (Transmission Control Protocol) is a method (protocol) used along with the Internet Protocol (IP) to send data in the form of message units between computers over the Internet. While IP takes care of handling the actual delivery of the data, TCP takes care of keeping track of the individual units of data (called packets) that a message is divided into for efficient routing through the Internet.

TCP/IP

TCP/IP is a suite of protocols that defines the format of data packets sent across the Internet, and is the communications standard for data transmission between different platforms.

The TCP/IP family consists of many protocols on different layers. The lowest level is the IP protocol, which establishes the means by which hosts can contact each other. Above IP are the UDP and TCP protocols. UDP allows for connectionless communication. TCP creates a connection between two systems.

Higher level application protocols include email (SMTP, POP, IMAP), file transfer (FTP), remote login (Telnet) and web access (HTTP).

TFTP

Trivial File Transfer Protocol (TFTP) is a very simple protocol used to transfer files. Each non-terminal packet is acknowledged separately.

It has been implemented on top of the Internet User Datagram protocol (UDP), so it may be used to move files between machines on different networks implementing UDP. TFTP can also be implemented on top of other datagram protocols. It is designed to be small and easy to implement. Therefore, it lacks most of the features of a regular FTP. The only thing it can do is read and write files (or mail) from/to a remote server. It cannot list directories, and currently has no provisions for user authentication. In common with other Internet protocols, it passes 8 bit bytes of data.

TCP wrappers

TCP wrappers are used to restrict access to network services. They handle the access management controls for running the target server programs. TCP wrappers are implemented by inserting the tcpd program in the inetd.conf file for each service for which you want to enable access restrictions. When tcpd starts up, it reads the service permission file /etc/hosts.allow and the deny-permission file /etc/hosts.deny.

tunneling, tunnel

Relative to the Internet, tunneling is using the Internet as part of a private secure network. The "tunnel" is the particular path that a given company message or file might travel through the Internet.

A tunnel is also an intermediary program which acts as a blind relay between two connections. Once active, a tunnel is not considered a party to the HTTP communication, though the tunnel may have been initiated by an HTTP request. The tunnel ceases to exist when both ends of the relayed connections are closed. Tunnels are used when a portal is necessary and the intermediary cannot, or should not, interpret the relayed communication.

UID

The UID is the user ID number or username of the person who owns a process.

UNIX

An interactive, time-sharing operating system invented in 1969 by Ken Thompson after Bell Labs left the Multics project, originally so he could play games on his scavenged computer. Dennis Ritchie, the inventor of C, is considered a coauthor of the system.

The turning point in Unix's history came when it was reimplemented almost entirely in C during 1972 - 1974, making it the first source-portable OS. Unix subsequently underwent mutations and expansions at the hands of many different people, resulting in a uniquely flexible and developer-friendly environment.

By 1991, Unix had become the most widely used multi-user general-purpose operating system in the world. Unix is now offered by many manufacturers and is the subject of an international standardization effort with the Unix trademark being owned by X/Open. Unix or Unix-like operating systems include OSF, Version 7, BSD, USG Unix, Xenix, Ultrix, Linux, and GNU.

"UNIX" is a trademark, and it is a name and not an acronym. "Unix" is often used interchangeably. Since the OS is case-sensitive and exists in many different versions, it is fitting that its name should reflect this.

virtual IP address

The IP address of a cluster. It is virtual because it represents a logical entity instead of a physical node.

virtual server

Another name for a cluster. It acts as one server, but is really made up of several cluster nodes working as one.

VPN

Virtual Private Networks (VPN) typically use the Internet as the transport backbone to establish secure links with business partners, extend communications to regional and isolated offices, and significantly decrease the cost of communications for an increasingly mobile workforce. VPNs serve as private network overlays on public IP network infrastructures such as the Internet.

WAN

A Wide Area Network (WAN) is used to connect together LANs that are geographically placed far apart. There are many technologies capable of performing this task; ATM (asynchronous transfer mode) is one of these.

web server

The web server is a program offered in a hypertext environment. The program that serves requested HTML pages or files.

A Web client is the requesting program associated with the user. The Web browser in your computer is a client that requests HTML files from Web servers.

A web server is also known as the WWW (World Wide Web) server and the HTTP server. In the case of HTTP, the name derives from the home pages or web pages that files are written in the HTML language; the protocol used to create and edit files.

If you want to obtain web pages, the web server program is an essential program for the server side.

weighting

Method by which you can assign more work to one system than another. For example, suppose system A is assigned a weight of 1, system B has a weight of 2, and system C has a weight of 3. The total of all the weights is 6. So system A would get 1/6 of the work, system B would get 2/6, and system C would get 3/6 of the work.