LIS 525 - Protocols
TCP/IP
TCP/IP (Transmission Control Protocol/Internet Protocol)
is the suite of communications protocols
used to connect hosts on the Internet.
SLIP and PPP
Both SLIP and PPP allow a computer connected to a server via a
serial line
(such as a telephone line)
to be a node on the internet.
PPP (Point to Point Protocol) is a newer protocol,
and, unlike SLIP,
which can only transport TCP/IP traffic,
can also transport traffic using other protocols,
such as IPX and Appletalk;
PPP allows transport using all of these protocols at the same
time
on the same connection.
SLIP (Serial Line Internet Protocol)
requires the client to know the IP address
assigned to it by the service provider
and the IP address of the remote system
to be dialed into.
If IP addresses are dynamically assigned,
client software
needs to be able to pick up the IP assignments automatically.
Other details may also have to be configured.
PPP negotiates configuration parameters at the start of the
connection.
PPP provides two methods with which logins can be automated:
PAP (Password Authentication Protocol)
and CHAP (Challenge-Handshake Authentication Protocol).
PPP software only needs to know the login userid/password
and the telephone number of the service provider.
Telnet
Telnet is a terminal emulation protocol
that works with TCP/IP.
To start a Telnet session,
you must log in to a server
by entering a valid username and password.
You can then send commands
which will be executed by the server
as if you were entering them directly on the server console.
Windows comes with a telnet program
telnet.exe.
Telnet is a common way to control Web servers remotely.
SSH
SSH is intended as a more secure substitute for Telnet.
It also allows you to move files between machines.
There are actually two different SSH protocols,
SSH1 and SSH2.
One free program that supports SSH is PuTTY.
FTP
FTP (File Transfer Protocol)
is used to upload and download files over the internet.
The user has to log on to a server.
A simple command-based DOS FTP program ftp.exe
comes with Windows.
FTP commands include
- cd change remote working directory
- dir get contents of remote directory
- mkdir make directory on the remote machine
- rmdir remove directory on the remote machine
- binary set binary transfer type
- get receive file
- put send one file
- delete delete remote file
- rename rename file
- bye terminate FTP session and exit.
You will probably find more convenient
a GUI FTP program such as WS_FTP.
A more secure variation is Secure FTP, or SFTP.
WS_FTP LE does not support SFTP,
but other free SFTP clients are available,
such as Core FTP Lite and FileZilla.
HTTP
HTTP (Hyper Text Transfer Protocol)
is used to transfer HTML documents
and normally operates on port 80 of the server.
The connection normally remains open only until data is transferred
and the protocol is thus referred to as stateless.
An HTTP message consists of the following:
- an initial line indicating the type of message;
- zero or more header lines;
- an empty line;
- an optional message body.
Each line should end in a CR/LF (carriage return/line feed)
sequence;
in ASCII, characters #13 and #10.
If the initial line is a request,
it should consist of three parts, separated by spaces:
the method (GET, POST, or HEAD);
the pathname of the requested resource
or (for POST) the program to handle the data; and
the HTTP version (e.g., HTTP/1.0).
GET requests a resource;
HEAD requests only the header lines for a resource;
and POST sends data to the server.
If the initial line is a response,
it should consist of three different parts:
HTTP version;
a response status code (e.g., 200); and
an English reason phrase describing the status code (e.g., OK).
Some common response codes are
- 200 OK
- 404 Not Found
- 301 Moved Permanently
- 302 Moved Temporarily
- 500 Server Error
A header line has the form
Header-Name: value.
No header lines are required,
except in HTTP 1.1,
where a Host header value must be given in requests,
and, in responses,
a Data header value
and (unless a persistent connection is desired)
a Connection: close header.
Common request headers include
- From: e-mail address
- User-Agent: Browser name/Version
and common response headers include
- Server: Program name/Version
- Last-Modified: Day of week, Day of
month
Month Year
Hours:Minutes:Seconds GMT
(e.g., Last-Modified: Fri, 31 Dec 1999 23:59:59 GMT)
- Content-Type: MIME type
- Content-Length: Number of bytes in body.
- (in HTTP/1.1)
Date: Day of week, Day of month
Month Year
Hours:Minutes:Seconds GMT
for the current time.
In some cases of redirection,
a server will deliver a "headerless" page;
this should not really happen,
but most software handles such pages satisfactorily anyway.
Occasionally also,
header lines may be improperly terminated.
An example could formerly be seen with the
thttpd server
at that time used by the Society of Indexers.
NFS
NFS (Network File System)
is an open operating system
that allows network users to access shared files
on computers of different types.
It uses an interface called the Virtual File System (VFS)
that runs on top of TCP/IP.
SMB
SMB (Server Message Block)
is a message format used by DOS and Windows
to share files, directories and devices.
Many network products use SMB.
A number of products use SMB
to enable file sharing among different operating systems.
An example is Samba.
For More Information
Home
Last updated October 12, 2007.
This page maintained by
Prof. Tim Craven
E-mail (text/plain only): craven@uwo.ca
Faculty of Information and
Media Studies
University of Western
Ontario,
London, Ontario
Canada, N6A 5B7