Introduction to Networks (more)
- machine on a network
- machine that provides some service
to a Client
- piece of data
- machine on the network whose (sole)
function is to route packets to correct
(i.e. it switches packets between a choice of at least 2 outgoing lines).
In wide-area network (Internet) there are many issues
- Broadcast links - comms channel shared by all machines on network.
Any packet sent is received by all machines.
It may be addressed to all, or subset, or to only one.
If not addressed to you, it is received, address field read, and then ignored.
- Point-to-point links - connection from machine A to machine B.
Point-to-point network consists of many such links.
To get from one machine to another, packet has to travel through
a number of other machines.
- Personal area network
- Local-area network
- Metropolitan-area network,
e.g. Cable TV, or
- Wide-area network,
1.3.1 Protocol stack
Network built as layers
Job of each layer is to offer services
to higher layers,
from those higher layers the details of how the services
e.g. Link in network changes from fiber optic to wireless.
Lower layer has to change radically.
But service it provides to higher layer is unchanged.
Higher layer never knows that physical nature of link has changed.
Same concept as
good practice in OO.
Conceptually, layer n on machine A
talks to layer n on machine B (its peer
The data actually travels down, along physical link,
and then up through layers.
All this is hidden from layer n,
which seems to be talking direct to layer n on other machine.
- If physical medium changes, the two Layer 1's must adapt,
and re-negotiate how to talk to each other.
Higher layers need not know.
Another example: Layer 2 might do all the error-checking and re-sending,
to produce a reliable stream
(all comms has some errors).
New methods of error-checking could be introduced.
The two Layer 2's might change.
Layer 3 and higher need never know.
Headers and trailers
Layers often add control data to the message
to be read (and then removed)
by their peer layer on other side:
Here there is a limit to message size on the network,
so this message is broken up
and later re-assembled.
This is handled by layer 3 on each side.
Higher layers do not need to know.
1.3.2 Some services a layer might provide
- Error control
- Message breaking up and re-assembly
- Flow control - How to stop fast sender A swamping slow receiver B.
- Multiplexing (unrelated traffic sent over same link at same time)
1.3.3 Connection-oriented v. Connectionless
- Connection-oriented service - like phone system.
Set up link.
Then push bits through same path.
All arrive in order they were sent.
Then remove link.
- Connectionless service - like postal system.
Each packet has address of destination
and is routed separately.
They may travel on different links.
They may arrive out of order.
service - never loses data.
Receiver ack's the receipt of each message.
Acks mean overhead.
Sometimes no point e.g. phone over Internet
- if a few bits lost so what.
Whereas file transfer must
1.4 OSI stack v. Internet (TCP/IP) stack
of how to set out the layers
is universally used to discuss networks.
OSI networks lost to the Internet (TCP/IP) model.
Despite this, the OSI model is even how we talk about the TCP/IP model.
- How to send raw bits on the channel
(e.g. how many volts to represent 1,
how many nanosec a bit should last).
- Data Link
- Error recovery.
(e.g. Message broken into small units - frames.
Frames checked for errors.
Acks sent. If bad frame ask for re-transmit.)
- Flow control.
- Access to shared channel in broadcast medium.
- Quality of service (delays, jitter)
- What type of service to provide to actual apps
(e.g. reliable, preserve-order, connectionless, etc.)
- When A talks to B, and data travels through
intervening router machines
1 .. n,
- N1 [R]
- N2 [R]
[R] = routing decision made at this point
- In other words, Transport layer is the first end-to-end layer.
- Manage dialogue between end-user application processes.
- Establishes checkpointing, adjournment, termination, and restart procedures.
- Syntax and semantics of data
- MIME encoding
of binary data for email
- End-user applications
- e.g. ftp, http, telnet, email
- Transport Layer
- alternative Transport Layer
- Network Layer
- Data Link layer for point-to-point lines
- TCP RFC, 1981.
- UDP RFC, 1980.
- IP RFC, 1981. (IPv4)
- PPP RFC, 1994.
1.5.2 Connection-oriented networks
- Connection-oriented protocol.
Suitable for streaming video/audio
(whereas Internet protocol IP is not so suitable).
Was meant to replace IP, but didn't.
Widely used in telephone system backbone,
often for moving IP packets.
The debate is still ongoing,
as people try to establish high-quality streaming video/TV over IP.
1.6 Network Standards
IEEE 802.* standards.
Important ones marked with *.