TCP/IP
With a few exceptions, the TCP/IP family does not deal with the physical or link
layers. In practice, Internet protocols often use protocols that adhere to the
ISO OSI standards for the physical and link layers.
What is the correlation between the ISO OSI protocols and TCP/IP? Each group of
protocols has its definition of its own layers as well as the protocols used on
these layers. Generally speaking, ISO OSI protocols and TCP/IP are
incompatible. In practice, ISO OSI-compliant communication appliances need to
be used for transferring IP datagrams, or on the other hand, services based on
ISO OSI need to be provided via the Internet.
Internet Protocol
Internet Protocol (IP) basically corresponds to the network layer. IP is used
for transmitting IP datagrams between remote computers. Each IP datagram header
contains the destination address, which is the complete routing information
used for delivering the IP datagram to its destination. Therefore, the network
can only transmit each datagram individually. IP datagrams of one session can
be transmitted through different paths and can thus be received by the
destination in a different order than they were sent.
|
Book Excerpt: Introduction to Network Protocols
Chapter Contents
This excerpt from
Understanding TCP/IP: A clear and comprehensive guide to TCP/IP protocols by
Libor Dostálek, Alena Kabelová, is printed with permission from
Packt Publishing, Copyright 2007.
|
|
Each network interface on the large Internet network has one or more IP address
that is unique worldwide. (One network interface can have several IP addresses,
but one IP address cannot be used by many network interfaces.) The Internet is
composed of individual networks that are interconnected via routers. Routers
are also referred to as gateways in old literature.
TCP and UDP
TCP and UDP correspond to the transportation layer. TCP transports data using
TCP segments that are addressed to individual applications. UDP transports data
using UDP datagrams.
TCP and UDP arrange a connection between applications that run on remote
computers. TCP and UDP can also facilitate communication between processes
running on the same computer, but this is not very interesting for our
purposes.
|
The difference between TCP and UDP is that TCP is a connection-oriented
service—the destination confirms the data received. If some data (TCP segments)
gets lost, the destination requests a retransmission of the lost data. UDP
transports data using datagrams (the delivery is not guaranteed). In other
words, the source party sends the datagram without worrying about whether it
has been received. UDP is connectionless-oriented service.
The port is used as the address. To understand the difference between an IP
address and port number, think of it as a mailing address. The IP address
corresponds to the address of a house, while the port tells you the name of the
person that should receive the letter.
Application Protocols
Application protocols correspond to several ISO OSI layers. The session,
presentation, and application ISO OSI layers are reduced to one TCP/IP
application layer.
The absence of a presentation layer is made up for by introducing specialized
presentationapplication protocols such as SSL and S/MINE that specialize in
securing data or the Virtual Terminal and ASN.1 protocols that are designed for
presenting data. The Virtual Terminal protocol (not to be confused with the ISO
OSI protocol of the same name) specifies the network data presentation for
character-oriented network protocols (Telnet, FTP, SMTP, and, partly, HTTP).
Similarly, ASN.1 is often used for binary-oriented network transport. ASN.1
(including BER or DER encoding) was initially used by SNMP, but today it is
also used by S/MINE.
There are many different application protocols. For practical purposes, they can
be divided into two groups:
-
User protocols utilized by user applications (HTTP, SMTP, Telnet, FTP, IMAP,
PIP3, and so on).
-
Service protocols, i.e., the protocols that ordinary Internet users rarely
encounter. These protocols make sure the Internet functions correctly. For
example, these could be routing protocols that are used for mutual
communication by routers to correctly set their routing tables. Another example
is SNMP usage in network administration.
Page 1 | Page 2
| page 3 |
page 4 |
page 5
|