A network is some connection between computers that allows data interchange
This connection may be slow-speed as in a telephone line or high-speed as in
fibre optic cable.
It may be between a small set of machines physically close together in a Local
Area Network (LAN) or a larger set physically dispersed in a Wide Area Network
The connection may be between the same type of computers running the same O/S,
or between different types.
The Building 11 network has this physical structure on each floor
Logically, it is one single network.
On campus. the buildings are connected by optic cable
From ANU we connect to the rest of the world.
Network File System
The Suns share a network file system using NFS. This allows the disks of one
machine to be exported so that another machine can mount them.
This makes them appear as though they are a local directory. Disk reads and
writes are actually reads and writes across the network.
A machine states which directories it will export in the file /etc/exports.
This states the access rights eg read/write.
A machine states which exported devices it will import using the file /etc/fstab.
The command /etc/mount will mount these devices.
In NFS, any machine can export any of its directories, and any machine can
import them if it has permission.
Microsoft LANManager is also running on the network. This exports the file
system from PC file servers that can be mounted on PCs as drives. For example,
drives D:, E:, F: are all network drives.
Read/write access to these drives can be specified by a password mechanism.
Access to these services is available using the ``net'' command.
A machine cannot both export and import file systems.
Currently the servers are running OS2.
In a standalone environment each machine has a separate password file, and
so you need a password per machine. If you change the password on one, it does
not change it on the others.
This is also the default in networked machines. The NIS (Network Information
Service, formerly Yellow Pages), keeps a network wide password file, so that
a changed password affects all machines.
This change is not instantaneous. The local database on any machine will be
out of date with respect to the master for a short time.
Each machine has an identifier within the network. This may be a name, a number,
etc. On Unix each machine has a name that you can find using ``hostname''.
Your PC has a name that you can find using ``net''.
The simplest way of accessing a machine remotely is to ``ping'' it to see if
it is alive
The ``finger'' command returns information about who is logged on at that machine
More advanced access is given by terminal emulators that give remote logon
access to a machine
A simpler version allows you to execute a single command remotely
rsh machine command
rsh teak hostname
A file copy mechanism is possible, but not commonly used because of permissions
rcp machine:file machine:file
email can be sent across the InterNet. The address is composed of the login
name on a machine, and the network address of the machine
A common file transfer program is ``ftp''.
This establishes a connection to the remote machine and allows you to login.
Once logged in there are a number of commands available
- ls - list the files on the remote machine
- cd - change directory remotely
- lcd - change directory locally
- get - get a remote file to local
- put - put a local file remotely
- bin - enter binary mode for 8-bit transfer
- ascii - enter 7-bit mode
- ? - help
Some machines make a set of files available on the InterNet for any user to
get by ftp. You logon with user-id ``anonymous''. By convention, the password
is your email address
Higher level services
The machine archie.au is set up to provide two major services:
The program ``xarchie'' allows you to fill in a search pattern for a file e.g.
``gcc''. It will then search the archie database and return a list of sites
holding files beginning with ``gcc''.
- keep track of files for anonymous ftp
- mirror large anonymous ftp sites
You can then retrieve a file from a site using anonymous ftp.
CWIS (Campus Wide Information Service) is run from the machine services.canberra.edu.au
here. Other Universities have similar systems.
This stores information such as handbook, telephone directory, etc. It uses
a hierarchical system called Gopher to give tree-structured menu access to
There is often access to other CWIS systems from one of them. so that you can
get info about other Universities.
WAIS (Wide Area Information System) is a system for accessing distributed information
sources. For example, the newsgroup comp.windows.x.motif is archived in Canberra,
an archive of Bill Clinton's speeches are on sunsite.unc.edu, the Bible is
on a machine at Thinking Machines Inc, etc. WAIS provides keyword searches
of these archives.
XMosaic nad netscape allow access to graphical information such as pictures and movies,
as well as hypertext documents.
Multi-User Dungeons and Dragons allow multi-player games to take place across
The InterNet Relay Chat program allows InterNet users to talk on a variety
It is cheaper to buy lots of small machines and connect them than to buy one
It is easier to upgrade by buying additional machines than by replacing one
A variety of different machines can be purchased for different uses, and be
made available to all.
If one machine crashes, then it need not stop all work.
If one machine crashes then it may stop everything.
It is harder to program distributed systems.
To the ``ordinary'' h/w problems are now added network problems
Coherence of data becomes a problem.
Security may become a problem.
This type of arrangement uses multiple CPUs all on a common bus. The memory
is also on this bus, and is shared between them.
Only one processor at a time can have control of the bus, which limits the
amount of communication between processors and memory.
All processors share a common memory so there is a common virtual address space.
An example of this architecture is the Sequent balance, a 32-processor machine.
Again, there is a single medium that connects all the machines (network, backplane,
bus, cable). In this case, each processing element can have its own memory
and address space.
In this case the communication medium is a switching system like a telephone
network. This often allows multiple paths to coexist between processors/memory.
Each element is either a CPU or a memory unit.
The switching is controlled by a crossbar switch that can assume two positions
There are a number of such systems, with a variety of switching configurations.
One well-known one is the BBN Butterfly machine. This had 128 processors connected
in a way that looked like butterfly wings.
This is a switched system in which each element is a computer.
If the network is transparent then there is no indication that you are doing
anything but running on a single machine.
The PC and Unix remote filesystems are almost transparent. You notice it when
the file server crashes.
NFS file semantics are slightly different to Unix file semantics. Most of the
time this is transparent, but not always.
Distributed systems experts, and knowledge about them in general, is rare.
The system needs to be built in a flexible manner so that when you discover
say a configuration error it can easily be fixed.
With a larger number of components, the likelihood that something somewhere
has crashed will be non-zero. The system must be able to cope with this.
For example, multiple duplicated file servers can reduce the errors caused
by server crashes. On the other hand, if the compiler was on one server, the
linker on another, the libraries on a third, etc, the chance of a successful
compile is reduced.
Network performance should not be noticeably worse than in the absence of the
For example, in a file server system, the compiler will be on the server. If
the network is busy then transferring the compiler will be slow and so compilation
will be slow.
If shared libraries are on the server and the network is slow, then every application
will run slowly as it waits for pages to come across the network.
Something that works for one or ten machines may not work for 10,000. Any unique
information source will become a bottleneck in a large system.
Anything that makes use of a network must be prepared for a component to crash
or timeout along the way. A stateless system does to rely on the network being
in any particular state.
For example, suppose a process opens a file on the server and then crashes.
The server records that it is open, so the file cannot be removed even though
the process that opened it has gone away. This is a system with state, and
is not good for networks.
When a process makes a request of the network, it may block and wait for a
reply. This may be seconds, hours or never.
A blocking system must be able to timeout if its request has not been answered.
A non-blocking system must be able to figure out what to do when a reply comes
in some time later - a reply to what?
Information may come in faster than it can be processed. It the system is unbuffered
then this will be lost. If it is buffered then there is less chance of this.
A connection-oriented communication assumes that there is a ``circuit'' between
both ends, and that things sent from one end will arrive at the other in the
same order. They will also arrive. This is similar to a telephone call.
A connectionless communication sends a small amount, and then another and another,
with each part being self-contained. Each part may go by a different route,
taking a different amount of time, and maybe not arriving at all. This is like
the mail system.
This page is
copyright Jan Newmarch.
It is maintained by Jan Newmarch.
Last modified: 2 October, 1995