# Intro toInternetTechnologies

Spring 2009

## vocabulary terms : acronyms and definitions

If you don't find what you're looking for here, try Wikipedia or Google and then add it to the list below...

A block cipher with a block size of 128 bits and key sizes of 128, 192, and 256 bits. Fast, easy to implement and (at present, anyway) secure. Also see DES, 3DES, and IDEA
API - Application Programmer's Interface
The specs of what functions you can call to do what for a piece of software. All those Java classes, for example.
ASCII - American Standard Code for Information Interchange
The standard 7 bit codes 0=0b0000000 through 127=0b1111111 for representing letters, numbers, and symbols, and control characters on computers. The 8th bit in a byte is typically used for parity. See for example http://en.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange for a table of values.
ASP - Active Server Pages; Microsoft HTML embedded scripts
Base64 - An encoding of arbitrary bytes defined in RFC2045 (MIME types) and commonly used in email. It is not meant to be humanly readable. A 65-character subset A-Za-z0-9+/= of US-ASCII is used, enabling 6 bits to be represented per printable character.
BIND - Berkeley Internet Name Domain
is the name of the most prevalent implementation of the DNS protocol. The software package includes named, nslookup, dig, host. It's maintained by ISC, the Internet Software Consortium, who also manage one of the 13 root DNS hosts. http://www.isc.org/sw/bind/
BMP - Basic Multilingual Plane
The first (and most commonly used) 65536 characters in the Unicode UCS. http://en.wikipedia.org/wiki/Unicode
BOM - Byte Order Mark
A code to mark big-endian or little-endian in UFT character encodings. http://en.wikipedia.org/wiki/Byte-order_mark
CBC - Cipher Block Chaining
A common technique used in block cipher algorithms to increase security by feeding the last block in as part of the encryption of the next block.
CGI - Common Gateway Interface
The specification of how arguments are passed by web browsers to web servers, and in turn how the web servers pass them to programs which generate dynamic content. For example, ~http://this.com/somePage?x=3&y=2 is passing arguments x=3 and y=2 to a script somePage. http://www.w3.org/CGI/
CIDR - Classless Inter-Domain Routing
A scheme for sub-netting IP addresses, usually written with slashes, i.e. 12.6.230.2/24 to mean a subnet mask of 24 ones and 8 zeros.
CIFS - Common Internet File System
From the unofficial guide to Samba: "Around 1996, Microsoft apparently decided that SMB needed the word 'Internet' in it, so they changed it..."
CUPS - Common Unix Printing System
DHCP - Dynamic Host Configuration Protocol
Often used to assign IP addresses to computers on a local network automatically, typically in the 10.* range.
DH/DSS - Diffie-Hellman and Digital Signature Standard
Two of the cryptographic algorithms within TLS, which may be used instead of RSA. Diffie-Hellman implements a shared secret key exchange, while DSS (using math similar to DH) can be used to verify SHA-1 message digests.
DES - Data Encryption Standard
a 56-bit block encryption algorithm. See for example http://en.wikipedia.org/wiki/Data_Encryption_Standard. DES is a bit dated and can be broken by brute force; these days many folks use 3DES (Triple DES) which is essentially DES done 3 times with 3 different keys. 3DES is secure at present but slow. See AES, another block algorithm.
DNS - Domain Name System
The protocol for turning names like bob.marlboro.edu into numeric IP addresses. See RFC1034 (among many others).
DOM - Document Object Model
An interface to a document (typically a web page) in terms of object-oriented programming methods. For example, the document.write() method in javascript.
A popular way to organize information online.
GUI - Graphical User Interface
An application with buttons, menus, and nice pictures.
HTML - Hyper Text Markup Language
The formatting language for web pages.
HTTP - Hyper Text Transfer Protocol
The bread'n'butter of the internet: the language for asking for and serving up web pages.
IANA - Internet Assigned Numbers Authority (http://www.iana.org/)
The folks who manage port assignments, MIME types and some other internet protocol specific stuff. (They used to do DNS, but now ICANN does that.)
ICANN - Internet Corp. for Assigned Names and Numbers (http://www.icann.org/)
The folks who manage the DNS system these days. They also run the ~InterNIC website (http://www.internic.org/). Formed in 1998 when the US government stopped paying IANA to do it. Here's their Fact Sheet.
ICMP - Internet Control Message Protocol
An extension to IP for tracking routes and problems. Used by the ping and traceroute utilities.
IMAP - Internet Mail Access Protocol
A more complicated version of POP3. Port 143. See RFC3501
IDEA - Internet Data Encryption Algorithm
A 64-bit block encryption algorithm with a 128-bit key. Somewhat faster and generally considered more secure than DES.
IDS - Intrusion Detection System
IEEE - Institute of Electrical and Electronics Engineers
A professional organization dedicated to the advancement of technology related to electricity, among other things. Their web site is: http://www.ieee.org/
IETF - Internet Engineering Task Force (http://www.ietf.org/)
The folks that work on the technology behind the internet these days.
IKE - Internet Key Exchange
See RFC2408
IRC - Internet Relay Chat
IP - Internet Protocol
How to route packets to addresses like 10.1.2.3, and the specification of what those packets look like.
ISO - International Organization for Standardization
International body that produces worldwide industrial and commercial standards. Their home page: http://www.iso.org/
LAN - Local Area Network
LDAP - Lightweight Directory Access Protocol, see RFC2253
The unique identifying 48 bit ID for ANSI/IEEE 802 LAN-connected devices, i.e. ethernet. Typically written in colon-separated hex, 00:b0:d0:78:65:e6 . More info at the IEEE site and here.
MAC - Message Authentication Code
A signed message digest (or hash), verifying the sender of the message and fingerprinting its content. See MD5, SHA-1 (two common algorithms that create MACs) and HMAC (one common type of MAC). Also see SSL.
MD5 - Message Digest 5
A common algorithm for creating file fingerprints. See RFC1321.
MIME - Multipurpose Internet Mail Extensions
The file type designations used by email and http, such as text/html or image/gif. Many applications use the stuff in the file name after the period (i.e. ".jpg") to determine the MIME type of the content of that file.
What routers on the edge of your network to turn the private interior addresses (i.e. 10.x) into ones that can travel over the web (i.e. 12.6.230.111). Used for network security and to use fewer exterior IP addresses (which can be hard to come by).
NBT - ~NetBIOS over TCP/IP (or UDP/IP)
~NetBIOS - Network Basic Input Output System
A transport standard of communication across an existing protocol, used by Microsoft systems. NBT or ~NetBT is ~NetBIOS over TCP.
NFS - Network File System
unix distributed file system, runs under RPC.
NIDS - Network Intrusion Detection System
NIS - Network Information Service
SUN's version of a directory service, runs via RPC.
NIST - National Institute of Standards and Technology
http://www.nist.gov/
NSA - National Security Agency
from Scheier's 1996 book: "The NSA is known to be the largest employer of mathematicians in the world; it is also the largest purchaser of computer equipment in the world ... it's budget is rumored to be $13 billion per year". For comparison, the 1996 NSF (National Science Foundation) budget was a bit over$3 billion.
OSI - Open Systems Interconnection
An effort started by the ISO (International Organization for Standardization) and the ITU-T (International Telecommunication Union Telecommunication Standardization Sector) in 1982 to provide common standards, rather than vendor-proprietary ones, for networking. For more info, see: http://en.wikipedia.org/wiki/Open_Systems_Interconnection
Mostly referred to in our courses when we talk about the OSI Reference Model for network layers: http://en.wikipedia.org/wiki/OSI_model
OUI - Organizationally Unique Identifier (or French for "yes" :-) )
The first three bytes of a MAC address, which identify the hardware manufacturer of any 802 series LAN hardware. OUI's can be looked up at the IEEE site: http://standards.ieee.org/regauth/oui/index.shtml
PAM - Pluggable Authentication Modules
one adaptable authentication mechanism for many applications.
PCT - Private Communications Technology
Microsoft's version of a socket encryption system like Netscape's SSL. Unlike SSL or TLS which run over TCP, PCT can also be run over UDP. More of historical than practical interest at this point.
PHP - PHP: Hypertext Preprocessor
A popular server side scripting language which is embedded within HTML. Open source; mod_php is a common component of many Apache installations.
POP3 - Post Office Protocol, v3
One choice for fetching mail from your mail server to your mail display program. Port 110. See RFC1081
RC4 - a symmetric secret key stream cipher created by Ron Rivest. The name is trademarked, and it has a patent, but apparently "unofficial" implementations are legal if they don't use that name. Sometimes called "ARCFOUR" to avoid these legal issues. One of the encryption choices within SSL. Rivest also designed the block ciphers RC2, RC5, and RC6. He's the "R" in "RSA".
RFC - literally "Request For Comments"
The documents that define most of technical specifications for the way the internet and these other protocols work. See http://www.ietf.org/rfc.html.
RPC - Remote Procedure Call
Sun and unix distributed services, particularly NIS and NSF. The portmap service on port 111 keeps track of which service is available on which port.
RSA - The most famous public/private key encryption and digital signature algorithm, created by Ron Rivest, Adi Shamir, and Len Adleman. Its security is based on factoring large numbers. One of the most important common components of SSL. See for example http://en.wikipedia.org/wiki/RSA . See also DH/DSS.
RTFM - Read the $@/& Manual SHA-1 - Secure Hash Algorithm 1 Another popular message digest algorithm, from NIST. SMB - Server Message Block Microsoft directory service, distributed file system, distributed printers, etc. The Samba project let's you run these servers on unix boxes. SMB clients are now a standard part of both Linux and Mac OS X. Also see CIFS. SMTP - Simple Mail Transfer Protocol See RFC821. Runs on port 25. SSLv3 - Secure Socket Layer, version 3 a key-exchange/authentication/encryption protocol that can be run between TCP and the application layer. The widely used HTTPS is HTTP wrapped within SSLv3 on port 441. Created by Netscape; version 1 was not released, and version 2 had security holes. STFW - Search the$@/& Web
SWAG - Some (Silly) Wild-A**ed Guess
An integral part of the software development cycle. Usually relating to the estimation of schedules and delivery dates, most notably when the client has omitted vital information or changed the spec.
TCP - Transmission Control Protocol
The specification for the piece that goes inside the IP packets, defining a way to establish a connection stream with a remote host. See RFC793, RFC761, and RFC675 for the original specs. Some more recent additions are RFC1072 and RFC1323.
SACK - Selective ACKnowledgement
An extension to the original TCP acknowledgement scheme, allowing packets out of sequence to be acknowledged and thus not sent twice. See RFC1072.
TLA - Three Letter Acronym
TLD - Top Level Domain
One of the roots of the DNS system, i.e. .edu, .org, .com, .us, etc. Also used are the abbreviations gTLD (generic Top Level Domains, which are the standard ones) and ccTLD (country-code Top Level Domains)
TLS - Transport Layer Security
An encryption protocol defined by the IETF, based on and designed to replace SSLv3.
UCS - Universal Character Set
The "code points" that UCF encodes to. Has over a million defined entities, including Egyptian hieroglyphics. Defined in ISO10646. http://en.wikipedia.org/wiki/Universal_Character_Set
UDP - User Datagram Protocol
One of the two (TCP is the other) transport services built on top of IP. Best-effort, connectionless, sockets. Less common than TCP. Used for multicast streaming media, for one example.
URI - Uniform Resource Identifier
"a compact sequence of characters that identifies an abstract or physical resource." These are the "~http://www.marlboro.edu/" strings that identify a "resource" on the internet. URL (Uniform Resource Locator) is a subset of URI; most web addresses are now called URI's. See RFC3986, http://en.wikipedia.org/wiki/Uniform_Resource_Identifier and http://www.w3.org/Addressing/ for all the gory details.
URL - Uniform Resource Locator
See URI
UTF - Unicode Transformation Format
Character encodings for languages and symbols beyond the English ASCII alphabet. See http://en.wikipedia.org/wiki/UTF-8 (a variable length encoding) and http://en.wikipedia.org/wiki/UTF-16/UCS-2 (a 16-bit encoding). Also see BOM and http://en.wikipedia.org/wiki/UTF-32/UCS-4.
VNC - Virtual Network Computing
A lightweight, OS independent protocol for displaying what's happening on one computer on another one across a network.
WAN - Wide Area Network
WWW - the World Wide Web (or is that World Wide Wait?)
You're looking at a piece of it right now.
X11 - The X window system, version 11
is what draws things and handles events on unix machines. As a protocol, it runs on ports near tcp/6000, allowing for the client application and server display to run across the network.
X.509 - Standard for public key certificates. See RFC3280.