TCP/IP is a set of protocols developed by a community of researchers in USA
including ARPAnet and other military, university and research institutions.
- IP v 6
- Security
- Sockets
- interconnection
- Multicast
- IPNG
The IP related protocols can be mapped onto the OSI 7 layer model
Layer | Protocol | ||
7 Application | HTTP FTP DNS SNMP TELNET | ||
6 Presentation | |||
5 Session | |||
4 Transport | TCP | UDP | |
3 Network | IP | ||
2 Data Link | Ethernet, Token Ring, etc. | ||
1 Physical |
In addition to LANs these protocols can be carried over wide area networks.
TCP/IP is a family of protocols, include:
- IP = Internet protocol
- TCP = Transmission Control Program - Ensures correct sequence, errors notified. Used where reliability is more important than speed.
- UDP = User Datagram Protocol - No error notification. Used where speed is more important than reliability.
- ICMP = Internet Control Message Protocol.
These protocols are designed to allow a large number of small independent networks
to be connected together by gateways.
Higher Level Protocols
- HTTP Hypertext Transfer Protocol - transferring web pages
- POP3 Post Office Protocol - incoming email server
- SMTP Simple Mail Transfer Protocol - outgoing email server
- SNMP Simple Network Management Protocol
- FTP File Transfer Protocol - uploading and downloading files to/from servers
Internet addresses
see internet addressing and routing.
As far as the user is concerned, all they need to know in order to access
another system is an "Internet address". This is an address that looks
like 128.6.4.194. It is actually a 32-bit number. However it is normally written
as 4 decimal numbers, each representing 8 bits of the address.
Generally the structure of the address gives you some information about how to get to the system. For example, 128.6 is a network number assigned by a central authority to Rutgers University. Rutgers uses the next octet to indicate which of the campus Ethernets is involved. 128.6.4 happens to be an Eithernet used by the Computer Science Department. The last octet allows for up to 254 systems on each Ethernet. (0 and 255 are reserved).
information Transfer
TCP/IP is a 'connectionless'technology, information is transferred as a sequence of 'datagrams'. A datagram is a collection of data that is sent as a single message. Each of these datagrams is sent through the network individually. There are provisions to open connections (i.e. to start a conversation that will continue for some time). However at some level, information from those connections is broken up into datagrams, and those datagrams are treated by the network as completely separate. For example, suppose you want to transfer a 15000 octet file. Most networks can't handle a 15000 octet datagram. So the protocols will break this up into something like 30 500-octet datagrams. Each of these datagrams will be sent to the other end. At that point, they will be put back together into the 15000-octet file. However while those datagrams are in transit, the network doesn't know that there is any connection between them. It is perfectly possible that datagram 14 will actually arrive before datagram 13. It is also possible that somewhere in the network, in error will occur, and some datagram won't get through at all. In that case, that datagram has to be sent again.
The format of a datagram is:
Ethernet Header
Ethernet destination address (first 32 bits) | |
Ethernet dest (last 16 bits) | Ethernet source (first 16 bits) |
Ethernet source address (last 32 bits) | |
Type code |
IP header - IP handles routing.
Version | IHL | Type of Service | Total length |
Identification | Flags | Fragment Offset | |
Time to live | Protocol | Header Checksum | |
Source Address | |||
Destination Address |
TCP header - TCP handles, breaking up the message into datagrams, reassembling them at the other end, resending anything that gets lost, and putting things back in the right order.
Source Port | Destination Port | |||||||
Sequence Number | ||||||||
Acknowledgement Number | ||||||||
Data Offset | Reserved | URG | ACK | PSH | RST | SYN | FIN | window |
Checksum | Urgent Pointer | |||||||
Options | Padding | |||||||
User data | ||||||||
... | ||||||||
Ethernet Checksum |
<---------------------32 bits------------------------------->
DLCI coding
The DLCI has 'local significance' on the link concerned only.
The DLCI is the equivalent of an X.25 'logical channel'. In the case of the
LAN Interconnect service, the equivalent of a PVC has to be configured between
all the LANs which the a user is linked to form a fully connected mesh.
For phase 1. Each frame relay trunk or access link is limited to a maximum
of 126 DLCIs. The routing through the network of each of these DLCIs is manually
calculated and administered.
To ease the administrative burden and to prevent accidental duplication or
'cross-connection' of DLCIs belonging to different customer communities, the
DLCIs are assumed to be globally unique throughout the BT Tymnet frame relay
network. Every customer router connecting to the network is allocated a unique
DLCI from the pool of 126 DLCIs. Whenever a particular DLCI is used as a data
sink by any other user regardless of the location of the source connection into
the network, that data is routed by the network to the router associated with
that unique DLCI.
To prevent unauthorised access, DLCIs are configured and allocated by the network provider. The customer has visibility of and can only communicate with DLCIs of other customers who are part of his community. Only the network management systems have access to all the customer routers on the network.
Lans in OSI framework
In considering how LANs fit into the framework of OSI, we need to view the
7 layers as an assembly of functional blocks relating to Interconnection Standards
(Layers1-4) and Interworking Standards (Layers5-7).
OSI Layer | ||||
7 | ||||
FTAM | X.400 | VT | 6 Interworking | |
Standards | ||||
5 | ||||
Transport | 4 | |||
3 | ||||
LAN | WAN | ISDN | ||
Interconnection | ||||
2 Standards | ||||
1 |
In the OSI framework, the 7layers are viewed as an assembly of functional
block.
Interconnection Standards can be based on LANs, WANs or ISDN. Whatever the
underlying network structure happens to be is of no concern to the Interworking
Standards, which can be grouped according to particular applications such as
FTAM, X.400, VT and so on.
The Transport Layer plays an important part in segregating the 2halves of
the communications stack. The Transport Protocol creates a transport service
which provides the upper layers with a reliable and error free end-to-end data
path. The protocol must comply with a service quality requested by the upper
layers and be able to implement this independently of the quality of the underlying
network service. The transport service is divided into 5classes of supported
functions and the Transport Protocol is structured accordingly:-
- Class 0: A simple class with no enhancement to the network service.
- Class 1: Basic error recovery (from network-signalled errors).
- Class 2: Basic multiplexing.
- Class 3: Error recovery and multiplexing.
- Class 4: Error detection and recovery, plus optional multiplexing.
(Multiplexing is the ability to establish more than one transport connection
over a single network connection.) Class4 provides a full implementation of
service functions and will be needed for use over a LAN.
Let us now consider the way in which LANs are able to support OSI through
the implementation of standards. At the lowest level, Layers1 and2, protocols
are concerned with the network hardware.
They determine how station access to the network is controlled, ie contention
or token passing, and ensure that physical transmission errors are detected
and rectified.
Protocol Analyser
To view packets being sent or received by your computer you can use Protocol Analyser Software such as Ethereal.