Glossary ARPA The Advanced Research and Projects Agency of the United States Department of Defense. Also known as DARPA (the "D" stands for "Defense"), it originated in the late 1960s and early 1970s the proposal and standards for the Internet. For this reason, the Internet was initially referred to as ARPANet, and connected the military with the various centers of research around the United States in a way that was intended to have a high degree of survivability against a nuclear attack. BASH The Bourne Again Shell and is based on the Bourne shell, sh, the original command interpreter. Bourne Shell The Bourne shell is the original Unix shell (command execution program, often called a command interpreter) that was developed at AT&T. Named for its developer, Stephen Bourne, the Bourne shell is also known by its program name, sh. The shell prompt (character displayed to indicate readiness for input) used is the $ symbol. The Bourne shell family includes the Bourne, Korn shell, bash, and zsh shells. Bourne Again Shell (bash) is the free version of the Bourne shell distributed with Linux systems. Bash is similar to the original, but has added features such as command line editing. Its name is sometimes spelled as Bourne Again SHell, the capitalized Hell referring to the difficulty some people have with it. CLI A CLI (command line interface) is a user interface to a computer's operating system or an application in which the user responds to a visual prompt by typing in a command on a specified line, receives a response back from the system, and then enters another command, and so forth. The MS-DOS Prompt application in a Windows operating system is an example of the provision of a command line interface. Today, most users prefer the graphical user interface (GUI) offered by Windows, Mac OS, BeOS, and others. Typically, most of today's Unix-based systems offer both a command line interface and a graphical user interface. core A core file is created when a program terminates unexpectedly, due to a bug, or a violation of the operating system's or hardware's protection mechanisms. The operating system kills the program and creates a core file that programmers can use to figure out what went wrong. It contains a detailed description of the state that the program was in when it died. If would like to determine what program a core file came from, use the file command, like this: $ file core That will tell you the name of the program that produced the core dump. You may want to write the maintainer(s) of the program, telling them that their program dumped core. To Enable or Disable Core Dumps you must use the ulimit command in bash, the limit command in tcsh, or the rlimit command in ksh. See the appropriate manual page for details. This setting affects all programs run from the shell (directly or indirectly), not the whole system. If you wish to enable or disable core dumping for all processes by default, you can change the default setting in /usr/include/linux/sched.h. Refer to definition of INIT_TASK, and look also in /usr/include/linux/resource.h. PAM support optimizes the system's environment, including the amount of memory a user is allowed. In some distributions this parameter is configurable in the /etc/security/limits.conf file. For more information, refer to the Linux Administrator's Security Guide. daemon A process lurking in the background, usually unnoticed, until something triggers it into action. For example, the \cmd{update} daemon wakes up every thirty seconds or so to flush the buffer cache, and the \cmd{sendmail} daemon awakes whenever someone sends mail. DARPA The Defense Advanced Research Projects Agency is the central research and development organization for the Department of Defense (DoD). It manages and directs selected basic and applied research and development projects for DoD, and pursues research and technology where risk and payoff are both very high and where success may provide dramatic advances for traditional military roles and missions. DHCP Dynamic Host Control Protocol, is a protocol like BOOTP (actually dhcpd includes much of the functionality of BOOTPD). It assigns IP addresses to clients based on lease times. DHCP is used extensively by Microsoft and more recently also by Apple. It is probably essential in any multi-platform environment. DNS Domain Name System translates Internet domain and host names to IP addresses. DNS implements a distributed database to store name and address information for all public hosts on the Net. DNS assumes IP addresses do not change (i.e., are statically assigned rather than dynamically assigned). The DNS database resides on a hierarchy of special-purpose servers. When visiting a Web site or other device on the Net, a piece of software called the DNS resolver (usually built into the network operating system) first contacts a DNS server to determine the server's IP address. If the DNS server does not contain the needed mapping, it will in turn forward the request to a DNS server at the next higher level in the hierarchy. After potentially several forwarding and delegation messages are sent within the DNS hierarchy, the IP address for the given host eventually is delivered to the resolver. DNS also includes support for caching requests and for redundancy. Most network operating systems allow one to enter the IP addresses of primary, secondary, and tertiary DNS servers, each of which can service initial requests from clients. Many ISPs maintain their own DNS servers and use DHCP to automatically assign the addresses of these servers to dial-in clients, so most home users need not be aware of the details behind DNS configuration. Registered domain names and addresses must be renewed periodically, and should a dispute occur between two parties over ownership of a given name, such as in trademarking, ICANN's Uniform Domain-Name Dispute-Resolution Policy can be invoked. Also known as Domain Name System, Domain Name Service, Domain Name Server. environment variable A variable that is available to any program that is started by the shell. ESD Enlightened Sound Daemon. This program is designed to mix together several digitized audio streams for playback by a single device. filesystem The methods and data structures that an operating system uses to keep track of files on a disk or partition; the way the files are organized on the disk. Also used to describe a partition or disk that is used to store the files or the type of the filesystem. FSSTND Often the group, which creates the Linux File System Structure document, or the document itself, is referred to as the 'FSSTND'. This is short for "file system standard". This document has helped to standardize the layout of file systems on Linux systems everywhere. Since the original release of the standard, most distributors have adopted it in whole or in part, much to the benefit of all Linux users. It is now often refered to as the FHS (Filesystem Hierarchy Standard) document though since its incorporation into the LSB (Linux Standards Base) Project. GUI Graphical User Interface. The use of pictures rather than just words to represent the input and output of a program. A program with a GUI runs under some windowing system (e.g. The X Window System, Microsoft Windows, Acorn RISC OS, NEXTSTEP). The program displays certain icons, buttons, dialogue boxes etc. in its windows on the screen and the user controls it mainly by moving a pointer on the screen (typically controlled by a mouse) and selecting certain objects by pressing buttons on the mouse while the pointer is pointing at them. Though Apple Computer would like to claim they invented the GUI with their Macintosh operating system, the concept originated in the early 1970s at Xerox's PARC laboratory. hard link A directory entry, which maps a filename to an inode, number. A file may have multiple names or hard links. The link count gives the number of names by which a file is accessible. Hard links do not allow multiple names for directories and do not allow multiple names in different filesystems. init 'init' process is the first user level process started by the kernel. init has many important duties, such as starting getty (so that users can log in), implementing run levels, and taking care of orphaned processes. This chapter explains how init is configured and how you can make use of the different run levels. init is one of those programs that are absolutely essential to the operation of a Linux system, but that you still can mostly ignore. Usually, you only need to worry about init if you hook up serial terminals, dial-in (not dial-out) modems, or if you want to change the default run level. When the kernel has started (has been loaded into memory, has started running, and has initialized all device drivers and data structures and such), it finishes its own part of the boot process by starting a user level program, init. Thus, init is always the first process (its process number is always 1). The kernel looks for init in a few locations that have been historically used for it, but the proper location for it is /sbin/init. If the kernel can't find init, it tries to run /bin/sh, and if that also fails, the startup of the system fails. When init starts, it completes the boot process by doing a number of administrative tasks, such as checking filesystems, cleaning up /tmp, starting various services, and starting a getty for each terminal and virtual console where users should be able to log in. After the system is properly up, init restarts getty for each terminal after a user has logged out (so that the next user can log in). init also adopts orphan processes: when a process starts a child process and dies before its child, the child immediately becomes a child of init. This is important for various technical reasons, but it is good to know it, since it makes it easier to understand process lists and process tree graphs. init itself is not allowed to die. You can't kill init even with SIGKILL. There are a few variants of init available. Most Linux distributions use sysvinit (written by Miquel van Smoorenburg), which is based on the System V init design. The BSD versions of Unix have a different init. The primary difference is run levels: System V has them, BSD doesn't. inode An inode is the address of a disk block. When you see the inode information through ls, ls prints the address of the first block in the file. You can use this information to tell if two files are really the same file with different names (links). A file has several components: a name, contents, and administrative information such as permissions and modification times. The administrative information is stored in the inode (over the years, the hyphen fell out of "i-node"), along with essential system data such as how long it is, where on the disc the contents of the file are stored, and so on. There are three times in the inode: the time that the contents of the file were last modified (written); the time that the file was last used (read or executed); and the time that the inode itself was last changed, for example to set the permissions. Altering the contents of the file does not affect its usage time and changing the permissions affects only the inode change time. It is important to understand inodes, not only to appreciate the options on ls, but because in a strong sense the inodes are the files. All the directory hierarchy does is provide convenient names for files. The system's internal name for the file is its i-number: the number of the inode holding the file's information. kernel Part of an operating system that implements the interaction with hardware and the sharing of resources. libraries Executables should have no undefined symbols, only useful symbols; all useful programs refer to symbols they do not define (eg. printf or write). These references are resolved by pulling object files from libraries into the executable. link A symbolic link (alias in MacOS and shortcut under Windows) is a file that points to another file; this is a commonly used tool. A hard-link rarely created by the user, is a filename that points to a block of data that has several other filenames as well. man page Every version of UNIX comes with an extensive collection of online help pages called man pages (short for manual pages). The man pages are the authoritative documentation about your UNIX system. They contain complete information about both the kernel and all the utilities. MTA Mail Transfer Agents. Alongside the web, mail is the top reason for the popularity of the Internet. E-mail is an inexpensive and fast method of time-shifted messaging which, much like the Web, is actually based around sending and receiving plain text files. The protocol used is called the Simple Mail Transfer Protocol (SMTP). The server programs that implement SMTP to move mail from one server to another are called MTAs. Once upon a time users would have to Telnet into an SMTP server and use a command line mail program like 'mutt' or 'pine' to check their mail. Now, GUI based e-mail clients like Mozilla, Kmail and Outlook allow users to check their email off of a local SMTP sever. Additional protocols like POP3 and IMAP4 are used between the SMTP server and desktop mail client to allow clients to manipulate files on, and download from, their local mail server. The programs that implement POP3 and IMAP4 are called Mail Delivery Agents (MDAs). They are generally separate from MTAs. NFS Network File System, is the UNIX equivalent of Server Message Block (SMB). It is a way through which different machines can import and export local files between each other. Like SMB though, NFS sends information including user passwords unencrypted, so it's best to limit its usage to within your local network. operating system Software that shares a computer system's resources (processor, memory, disk space, network bandwidth, and so on) between users and the application programs they run. Controls access to the system to provide security. PAM Pluggable Authentication Modules. A suite of shared libraries that determine how a user will be authenticated. For example, conventionally UNIX users authenticate themselves by supplying a password at the password prompt after they have typed their name at the login prompt. In many circumstances, such as internal access to workstations, this simple form of authentication is considered sufficient. In other cases, more information is warranted. If a user wants to log in to an internal system from an external source, like the Internet, more or alternative information may be required - perhaps a one-time password. PAM provides this type of capability and much more. Most important, PAM modules allow you to configure your environment with the necessary level of security. PATH The shell looks for commands and programs in a list of file paths stored in the PATH environment variable. An environment variable stores information in a place where other programs and commands can access it. Environment variables store information such as the shell that you are using, your login name, and your current working directory. To see a list of all the environment variables currently defined; type 'set' at the prompt. When you type a command at the shell prompt, the shell will look for that command's program file in each directory listed in the PATH variable, in order. The first program found matching the command you typed will be run. If the command's program file is not in a directory listed in you PATH environment variable, the shell returns a "commands not found" error. By default, the shell does not look in your current working directory or your home directory for commands This is really a security mechanism so that you don't execute programs by accident. What if a malicious user put a harmful program called ls in your home directory? If you typed ls and the shell looked for the fake program in your home directory before the real program in the /bin directory, what do you think would happen? If you thought bad things, you are on the right track. Since your PATH doesn't have the current directory as one of its search locations, programs in your current directory must be called with an absolute path of a relative path specified as './program-name'. To see what directories are part of your PATH enter this command: # echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11 pipes and sockets Special files that programs use to communicate with one another. They are rarely seen, but you might be able to see a socket or two in the /dev/ directory. process identifier Shown in the heading of the ps command as PID. The unique number assigned to every process running in the system. rpc Remote Procedure Calls. It enables a system to make calls to programs such as NFS across the network transparently, enabling each system to interpret the calls as if they were local. In this case, it would make exported filesystems appear as thought they were local. set group ID (SGID) The SGID permission causes a script to run with its group set to the group of the script, rather than the group of the user who started it. It is normally considered extremely bad practice to run a program in this way as it can pose many security problems. Later versions of the Linux kernel will even prohibit the running of shell scripts that have this attribute set. set user ID (SUID) The SUID permission causes a script to run as the user who is the owner of the script, rather than the user who started it. It is normally considered extremely bad practice to run a program in this way as it can pose many security problems. Later versions of the Linux kernel will even prohibit the running of shell scripts that have this attribute set. signal Software interrupts sent to a program to indicate that an important event has occurred. The events can vary from user requests to illegal memory access errors. Some signals, like the interrupt signal, indicate that a user has asked the program to do something that is not in the usual flow of control. SSH The Secure Shell, or SSH, provides a way of running command line and graphical applications, and transferring files, over an encrypted connection, all that will be seen is junk. It is both a protocol and a suite of small command line applications, which can be used for various functions. SSH replaces the old Telnet application, and can be used for secure remote administration of machines across the Internet. However, it also has other features. SSH increases the ease of running applications remotely by setting up X permissions automatically. If you can log into a machine, it allows you to run a graphical application on it, unlike Telnet, which requires users to have an understanding of the X authentication mechanisms that are manipulated through the xauth and xhost commands. SSH also has inbuilt compression, which allows your graphic applications to run much faster over the network. SCP (Secure Copy) and SFTP (Secure FTP) allow transfer of files over the remote link, either via SSH's own command line utilities or graphical tools like Gnome's GFTP. Like Telnet, SSH is cross-platform. You can find SSH server and clients for Linux, Unix and all flavours of Windows, BeOS, PalmOS, Java and embedded Oses used in routers. STDERR Standard error. A special type of output used for error messages. The file descriptor for STDERR is 2. STDIN Standard input. User input is read from STDIN. The file descriptor for STDIN is 0. STDOUT Standard output. The output of scripts is usually to STDOUT. The file descriptor for STDOUT is 1. symbol table The part of an object table that gives the value of each symbol (usually as a section name and an offset) is called the symbol table. Executables may also have a symbol table, with this one giving the final values of the symbols. Debuggers use the symbol table to present addresses to the user in a symbolic, rather than a numeric form. It is possible to strip the symbol table from executables resulting in a smaller sized executable but this prevents meaningful debugging. symbolic link or soft link A special filetype, which is a small pointer file, allowing multiple names for the same file. Unlike hard links, symbolic links can be made for directories and can be made across filesystems. Commands that access the file being pointed to are said to follow the symbolic link. Commands that access the link itself do not follow the symbolic link. system call The services provided by the kernel to application programs, and the way in which they are invoked. See section 2 of the manual pages. system program Programs that implement high level functionality of an operating system, i.e., things that aren't directly dependent on the hardware. May sometimes require special privileges to run (e.g., for delivering electronic mail), but often just commonly thought of as part of the system (e.g., a compiler). tcp-wrappers Almost all of the services provided through inetd are invoked through tcp-wrappers by way of the tcp-wrappers daemon, tcpd. The tcp-wrappers mechanism provides access control list restrictions and logging for all service requests to the service it wraps. It may be used for either TCP or TCP services as long as the services are invoked through a central daemon process such as inetd. These programs log the client host name of incoming telnet, ftp, rsh, rlogin, finger etc.... requests. Security options are access control per host, domain and/or service; detection of host name spoofing or host address spoofing; booby traps to implement an early-warning system. ZSH Zsh was developed by Paul Falstad as a replacement for both the Bourne and C shell. It incorporates features of all the other shells (such as file name completion and a history mechanism) as well as new capabilities. Zsh is considered similar to the Korn shell. Falstad intended to create in zsh a shell that would do whatever a programmer might reasonably hope it would do. Zsh is popular with advanced users. Along with the Korn shell and the C shell, the Bourne shell remains among the three most widely used and is included with all UNIX systems. The Bourne shell is often considered the best shell for developing scripts. Base-10 Well known decimal number system, represent any value with digit 0-9. Base-16 Usually used in lower and higher programming languages, known also as hexadecimal number system, represent any value with digit 0-9 and char A-F (case insensitive). Base-85 Representation of a value with 85 different digits/chars, this can lead to shorter strings but never seen in the wild. Bit Smallest storage unit, on/true (1) or off/false (0) Byte Mostly a collection of 8 (but not really a must - see older computer systems) bits Device Here, hardware of network connection, see also NIC Dual-homed-host A dual homed host is a node with two network (physical or virtual) interfaces on two different links, but does not forward any packets between the interfaces. Host Generally a single homed host on a link. Normally it has only one active network interface, e.g. Ethernet or (not and) PPP. Interface Mostly same as "device", see also NIC IP-Header Header of an IP packet (each network packet has a header, kind of is depending on network layer) Link A link is a layer 2 network packet transport medium, examples are Ethernet, Token Ring, PPP, SLIP, ATM, ISDN, Frame Relay,... Node A node is a host or a router. Octet A collection of 8 real bits, today also similar to "byte". Port Information for the TCP/UDP dispatcher (layer 4) to transport information to upper layers Protocol Each network layer contains mostly a protocol field to make life easier on dispatching transported information to upper layer, seen in layer 2 (MAC) and 3 (IP) Router A router is a node with two or more network (physical or virtual) interfaces, capable of forwarding packets between the interfaces. Socket An IP socket is defined by source and destination IP addresses and Ports and (binding) Stack Network related a collection of layers Subnetmask IP networks uses bit masks to separate local networks from remote ones Tunnel A tunnel is typically a point-to-point connection over which packets are exchanged which carry the data of another protocol, e.g. an IPv6-in-IPv4 tunnel. ACL Access Control List API Application Programming Interface ASIC Application Specified Integrated Circuit BSD Berkeley Software Distribution CAN-Bus Controller Area Network Bus (physical bus system) ISP Internet Service Provider KAME Project - a joint effort of six companies in Japan to provide a free IPv6 and IPsec (for both IPv4 and IPv6) stack for BSD variants to the world [http://www.kame.net/] www.kame.net LIR Local Internet Registry NIC Network Interface Card RFC Request For Comments - set of technical and organizational notes about the Internet USAGI UniverSAl playGround for Ipv6 Project - works to deliver the production quality IPv6 protocol stack for the Linux system. CGI Script A Common Gateway Interface Script. This is a program which is run on demand to generate the content of a web page. If a web page has to do more than simply feed an unchanging text and graphics display to the viewer, you will probably need some sort of dynamic content generation program such as a CGI Script. Examples include discussion boards, feedback forms, e-commerce shopping carts, and more. DHCP Dynamic Host Configuration Protocol. A standard, defined in RFC 1531, for computers on a TCP/IP network to request from a central server information such as the IP number they should be using, the netmask, the gateway, etc. Rather than an administrator entering this information into the machine configuration, the machine simply requests it from the server as it is preparing to attach to the network. DNS Domain Name Service. A standard for translating domain names into ``IP Number''s, or vice versa, by looking up data in centralized databases. DSL Digital Subscriber Line. A relatively high speed network connection, usually delivered through specialized telephone wiring. Dynamic IP Number An ``IP Number'' which is assigned periodically or on a per- session basis. No guarantee is made that the number will remain constant. A dynamic IP number might change only when your network connection hangs up and reconnects, or it might change periodically under ``DHCP'' negotiation. Certain session-based services such as telnet and ssh will stop working if the IP number of either end of the connection is changed during the session. Forward DNS Query A ``DNS'' query which converts a domain name into an ``IP Number''. FTP The File Transfer Protocol. A standard system for sending files between machines over the Internet. ftpd The daemon responsible for providing ``FTP'' services on a host. It responds to queries initiated by a remote client. Internet Service Provider See ``ISP''. IP See ``IP Number''. IP Number The ``address'' of a certain network interface. Under the current addressing standard, called ipv4, this number consists of four 8-bit values, generally written as base-10 numbers separated by dots. Communication between computers on the Internet is based on packets of information sent between IP numbers. ISP Internet Service Provider. The company which provides your network connectivity, including connection hardware, service hosting, and leasing out the IP numbers under their control. Masquerading A form of filtering in which packets from one machine to the outside world have their headers rewritten so that they appear to come from an intermediate machine. That intermediate machine then passes responses back to the originating machine. The net effect is that an entire network of machines can appear to use a single IP number, that of the masquerading host, for the purpose of outgoing connections. named The name server daemon. This is the daemon which answers ``DNS'' queries, and is distributed as part of the BIND package. Network Time Protocol See ``NTP''. NTP Network Time Protocol. A standard for synchronizing your system clock with the ``true time'', defined as the average of many high-accuracy clocks around the world. OS Operating System. Linux, Windows, FreeBSD, BeOS, HP-UX, etc. Provider See ``ISP''. Reverse DNS Query A ``DNS'' query which converts a ``IP Number'' into a domain name. Router A specialized hardware device which implements rules for where to send packets based on their ``IP Number''s, and which bridges between your Ethernet hardware and whatever communications medium connects you to your ``ISP''. ssh The secure shell. A cryptographically strong replacement for rlogin, telnet, ftp, and other programs. Protects against ``spoofing'', man in the middle attacks, and packet sniffing. Static IP Number An ``IP Number'' which has been assigned or leased to you permanently. Barring revocation of the agreement which granted you this number, that IP number will always be available for your use, and no other machine on the Internet is allowed to use that number. Contrast this with ``Dynamic IP Number''s. PSTN Public Switched Telephone Network VoIP Voice over Internet Protocol LAN Local Area Network WAN Wide Area Network TOS Type Of Service ISP Internet Service Provider RTP Real Time Protocol RSVP ReSerVation Protocol QoS Quality of Service client The machine or program that initiates an action or a connection for the purpose of gaining use of some service or data. server The machine or program that accepts incoming connections from multiple remote machines and provides a service or data to those. Bindery The bindery is a specialised database storing network configuration information on a Novell fileserver. Netware clients may query the bindery to obtain information on available services, routing and user information. Frame Type is a term used to describe that actual protocol used to carry the IPX (and IP) datagrams across your ethernet style network segments. There are four common ones. They are: Ethernet_II This is a refined version of the original DIX ethernet standard. Novell has been allocated a formal protocol id and this means that both IPX and IP can coexist happily in an Ethernet_II environment quite happily. This is commonly used in Novell environments and is a good choice. 802.3 This is an I.E.E.E. protocol defining a Carrier Sense Multiple Access with Collision Detection (CSMA/CD) mechanism. It was based on the original DIX Ethernet standard, with an important modification, the type (protocol id) field was converted into a length field instead. It is for this reason that IPX really shouldn't be run here. IEEE 802.3 was designed to carry IEEE 802.2 frames only but there are implementations that use it to carry IPX frames directly and remarkably it does work. Avoid it unless you are trying to interwork with a network already configured to use it. 802.2 This is an I.E.E.E. protocol that defines a set of Logical Link Control procedures. It provides a simplistic way of allowing different protocols to coexist, but is quite limited in this respect. Novell uses an unofficial Service Address Point (like a protocol id) but since everyone else uses it as well, that hasn't yet presented too much of a problem. SNAP SNAP is the Sub Network Access Protocol. This protocol is designed ride on top of 802.3 and 802.2. It expands the multiprotocol capability of 802.2 and provides some measure of compatability with existing Ethernet and Ethernet_II frame types. IPX Internet Packet eXchange is a protocol used by the Novell corporation to provide internetworking support for their NetWare(tm) product. IPX is similar in functionality to the IP protocol used by the tcp/ip community. IPX network address This is a number which uniquely identifies a particular IPX network. The usual notation for this address is in hexadecimal. An example might look like: 0x23a91002. IPX Internal network This is a virtual IPX network. It is virtual because it does not correspond to a physical network. This is used to provide a means of uniquely identifying and addressing a particular IPX host. This is generally only useful to IPX hosts that exist on more than one physical IPX network such as fileservers. The address is coded in the same form as for a physical IPX network. RIP Routing Information Protocol is a protocol used to automatically propagate network routes in an IPX network. It is functionally similar to the RIP used within the tcp/ip community. NCP NetWare Core Protocol is a networked filesystem protocol designed by the Novell Corporation for their NetWare(tm) product. NCP is functionally similar to the NFS used in the tcp/ip community. SAP Service Advertisement Protocol is a protocol designed by the Novell Corporation that is used to advertise network services in a NetWare(tm) environment. Hardware address This is a number that uniquely identifies a host in a physical network at the media access layer. Examples of this are Ethernet Addresses. An Ethernet address is generally coded as six hexadecimal values separated by colon characters eg. 00:60:8C:C3:3C:0F route The route is the path that your packets take through the network to reach their destination. ARP This is an acronym for the Address Resolution Protocol and this is how a network machine associates an IP Address with a hardware address. ATM This is an acronym for Asynchronous Transfer Mode. An ATM network packages data into standard size blocks which it can convey efficiently from point to point. ATM is a circuit switched packet network technology. client This is usually the piece of software at the end of a system where the user is. There are exceptions to this, for example, in the X11 window system it is actually the server with the user and the client runs on the remote machine. The client is the program or end of a system that is receiving the service provided by the server. In the case of peer to peer systems such as slip or ppp the client is taken to be the end that initiates the connection and the remote end, being called, is taken to be the server. datagram A datagram is a discrete package of data and headers which contain addresses, which is the basic unit of transmission across an IP network. You might also hear this called a `packet'. DLCI The DLCI is the Data Link Connection Identifier and is used to identify a unique virtual point to point connection via a Frame Relay network. The DLCI's are normally assigned by the Frame Relay network provider. Frame Relay Frame Relay is a network technology ideally suited to carrying traffic that is of bursty or sporadic nature. Network costs are reduced by having many Frame Relay customer sharing the same network capacity and relying on them wanting to make use of the network at slightly different times. Hardware address This is a number that uniquely identifies a host in a physical network at the media access layer. Examples of this are Ethernet Addresses and AX.25 Addresses. ISDN This is an acronym for Integrated Services Digital Network. ISDN provides a standardized means by which Telecommunications companies may deliver either voice or data information to a customers premises. Technically ISDN is a circuit switched data network. ISP This is an acronym of Internet Service Provider. These are organizations or companies that provide people with network connectivity to the Internet. IP address This is a number that uniquely identifies a TCP/IP host on the network. The address is 4 bytes long and is usually represented in what is called the "dotted decimal notation", where each byte is represented in decimal from with dots `.' between them. MSS The Maximum Segment Size (MSS) is the largest quantity of data that can be transmitted at one time. If you want to prevent local fragmentation MSS would equal MTU-IP header. MTU The Maximum Transmission Unit (MTU) is a parameter that determines the largest datagram than can be transmitted by an IP interface without it needing to be broken down into smaller units. The MTU should be larger than the largest datagram you wish to transmit unfragmented. Note, this only prevents fragmentation locally, some other link in the path may have a smaller MTU and the datagram will be fragmented there. Typical values are 1500 bytes for an ethernet interface, or 576 bytes for a SLIP interface. route The route is the path that your datagrams take through the network to reach their destination. server This is usually the piece of software or end of a system remote from the user. The server provides some service to one or many clients. Examples of servers include ftp, Networked File System, or Domain Name Server. In the case of peer to peer systems such as slip or ppp the server is taken to be the end of the link that is called and the end calling is taken to be the client. window The window is the largest amount of data that the receiving end can accept at a given point in time. Linux supplies the operating system. It is a stable Unix implementation providing true multi-user multi-tasking services with full network (TCP/IP e. a.) support. Except from the actual media and transmission cost, it is available free of charge and comes in form of so-called distributions which usually include everything needed from the basic OS to text processing, scripting, software development, interface builders, etc. HTML is the Hypertext Markup Language used to build interfaces to network systems like Intranets and the WWW, the World Wide Web. HTML is very simple and can be produced with any ASCII-capable text editor. Browsers are text-based (e. g. Lynx) or graphical (e. g. Mosaic, Netscape, Arena etc.) applications accepting, evaluating and displaying HTML documents. They are the only piece of software which is directly operated by the database user. Using browsers, it is possible to display various types of data (text, possibly images) and communicate with http servers (see next) on about every popular computer model for which a browser has been made available. http servers provide access to the area of a host computer where data intended for public use in a network are stored. They understand the http protocol and procure the information the user requests. SQL Structured Query Language is a language for manipulating data in relational databases. It has a very simple grammar and is a standard with wide industry support. SQL-based databases have become the core of the classical client/server database concept. There are many famous SQL systems available, like Oracle, Informix etc., and then there is also msql which comes with a very low or even zero price tag if it is used in academical and educational environments. CGI Common Gateway Interface is the programming interface between the system holding the data (in our case an SQL-based system) and the network protocol (HTML, of course). CGIs can be built around many programming languages, but a particularly popular language is perl. perl is an extremely powerful scripting language which combines all merits of C, various shell languages, and stream manipulation languages like awk and sed. Perl has a lot of modularized interfaces and can be used to control SQL databases, for example. DBM DataBase Management, a library of functions which maintain key-content pairs in a data base. DLL Dynamically Linked Library, a library linked to an executable program at run-time. domainname A name "key" that is used by NIS clients to be able to locate a suitable NIS server that serves that domainname key. Please note that this does not necessarily have anything at all to do with the DNS "domain" (machine name) of the machine(s). FTP File Transfer Protocol, a protocol used to transfer files between two computers. libnsl Name services library, a library of name service calls (getpwnam, getservbyname, etc...) on SVR4 Unixes. GNU libc uses this for the NIS (YP) and NIS+ functions. libsocket Socket services library, a library for the socket service calls (socket, bind, listen, etc...) on SVR4 Unixes. NIS Network Information Service, a service that provides information, that has to be known throughout the network, to all machines on the network. There is support for NIS in Linux's standard libc library, which in the following text is referred to as "traditional NIS". NIS+ Network Information Service (Plus :-), essentially NIS on steroids. NIS+ is designed by Sun Microsystems Inc. as a replacement for NIS with better security and better handling of _large_ installations. NYS This is the name of a project and stands for NIS+, YP and Switch and is managed by Peter Eriksson peter@ifm.liu.se. It contains among other things a complete reimplementation of the NIS (= YP) code that uses the Name Services Switch functionality of the NYS library. NSS Name Service Switch. The /etc/nsswitch.conf file determines the order of lookups performed when a certain piece of information is requested. RPC Remote Procedure Call. RPC routines allow C programs to make procedure calls on other machines across the network. When people talk about RPC they most often mean the Sun RPC variant. YP Yellow Pages(tm), a registered trademark in the UK of British Telecom plc. TCP-IP Transmission Control Protocol/Internet Protocol. It is the data communication protocol most often used on Unix machines. PSTN (Public Service Telephone Network) is the telephone system that is used thoughout the U.S. and many other countries. Although never intended for networking, telephone lines can be used for communications for computers. A modem (modulator/demodulator) is used to interface between a computer and the telephone system. Modems can convert data into audible tones and back. The fastest two-way modems currently available support a speed of 33.6 Kbps (kilobits per second). Current modems advertise speeds up to 56 Kbps per second. These modems rely on digital equipment being used in the phone company's central office and in the facility (such as the Internet Service Provider) you are dialling into. The 56 Kbps speed also works in only one direction; the other direction supports 33.6 Kbps. protocol A protocol is a set of rules governing the format and meaning of the frames, packets, or messages within a layer and can be changed at will by entities, provided that they do not change the service visible to their users.