Communications and Computer Networks
Communications and Computer Networks
Lectures 1-3
node, the entire packet is received, stored briefly in a queue, and then
transmitted to the next node. This is commonly used in computer to
computer communications. An example of packet switching is the postal
network. Whenever the network becomes overloaded, computers using the
network must wait before they can send additional packets. However since
multiple computers can share the network bandwidth, fewer connections
are required and the cost is kept low.
Usually, WANs range from 1.5 Mbps to 155 Mbps (where Mbps is million bits
per second). Examples of WAN technologies are: ARPANET (Section 2.7 of
Comer [1]), X.25 (Section 2.11.1 of Comer [1]), Frame Relay, ISDN (Integrated
Services Digital Network), ATM (Asynchronous Transfer Mode) (Section 2.6 of
Comer [1]).
1-3-2
Adding new functionality to the system means building a new application program for each computer.
Adding new network hardware means modifying existing application
programs on the computer.
Finally, each application program on the computer would need to
understand the network connections for the computer, resulting in
duplication of code.
2. Network-Level Interconnection: A network-level interconnection provides a mechanism that delivers small packets of data from the original
source to destination without using intermediate application programs.
This separates the data communication duties from application programs,
and exisiting network technologies can be modified, while the application
programs on computers remain unchanged.
The key to designing universal network-level interconnection is the concept of
internetworking. The idea is to detach the notions of communication from the
details of network technologies and hide low-level details from the user. Thus,
instead of a single module for performing communications, there is a structured
layer of modules that implements the communication function. Each module/layer in a computer communicates with its peer module/layer on another
computer via a set of protocols, which may defined as set of rules governing the
exchange of data between two entities. The layers and protocols together define
the network architecture.
For example an English philosopher and a French philosopher wish to communicate, but neither speaks the others language. Furthermore, neither has on
hand a translator that can translate to the language of the other. However,
both philosophers have Dutch translators on their staffs. Each translator has a
secretary, who communicates with other translators secretary via fax. Let us
suppose the English translator has a message for his French counterpart, and his
message in English reads I like rabbits. The philosopher conveys this message to
his translator, who translates the message into Dutch which reads Ik Hou Van
Konijnen. The translator also adds a header to this message for his counterpart,
which indicates that the language employed is Dutch. The translator gives his
information to the secretary who adds the fax number to the message and faxes
this information to her counterpart. The other secretary on receipt of this message, removes the fax number from the message, and passes on the remaining
information to the French translator who, in turn, translates the Dutch message
into an equivalent French message that reads Jaime les lapins. He passes this
message to the French philosopher. Here, both the soure and the destination
have three layers of communication. Layers 1,2 and 3 represent the secretaries,
translators, and philosophers respectively. The protocol employed between the
peer to peer translator layers is the Dutch language, while fax is the protocol
employed by the secretary layers. Now suppose that no Dutch translators are
available, but each philosopher has instead Hindi translators on their staffs.
The communication between the two philosophers will still take place, and the
only change is that layer 2 represents Hindi translators with the peer to peer
protocol being the Hindi language. Furthermore, this change does not affect the
philosopher and secretary layers.
In very general terms communications involve three agents: applications,
computers, and networks. One example of an application is a file transfer (ftp)
1-3-3
The transport layer hands each PDU to the network access layer. This layer
appends further control information to the transport PDU (which is regarded
as the data portion) creating a network access PDU. For example, the header
may contain the following information:
1. Destination computer address: The network must know to which
computer the data must be delivered.
2. Facilities requests: The network access protocol might want to make
use of certain network facilities, such as priority.
The network access layer is not concerned with the details of the transport
header, such as the destination SAP address for instance. The network accepts
the network PDU from computer X and delivers it to computer Y. The network
access module in Y receives the PDU, strips off the header, and transfers the
enclosed transport PDU to the transport layer module. The transport layer
examines the transport PDU header, and, on the basis of the SAP field delivers
the enclosed record to the appropriate application, in this case the file transfer
module in computer Y.
it to a router, and passes the datagram to the network interface layer for
transmission. It also receives datagrams, checks their validity, and uses
a routing algorithm to decide whether the datagram is to be processed
locally or sent to another router. For datagrams addressed to the local
machine, the internet layer deletes the datagram header and delivers the
packet information to the appropriate transport layer. The internet layer
adopts the internet protocol (IP) (the IP in TCP/IP). The aim of the
internet layer is to provide best-effort delivery. It does not attempt to correct errors, although it sends ICMP (Internet Control Message Protocols)
error and control messages as needed.
4. Transport Layer: Its primary duty is to provide communication between the application program on the source computer with that on the
destination computer. It divides the stream of data being transmitted by
the application program into small packets, and passes each packet along
with a destination computer address to the internet layer for transmission.
It also provides reliable transport at the receiving end ensuring that the
data arrives without error and in sequence.
5. Application Layer: This contains the necessary logic for a particular
application. The application layer interacts with the transport layer to
send and receive data.
The application and transport layers are called end-to-end, since they are only
implemented on the source and the destination computers. A router, for instance, need not have a transport and an application layer. Typically, the
transport, internet and network interface layers are implemented in software,
and in the operating system of the computer. The application layer is a software layer that resides in the user disc space.
Common examples of TCP/IP protocols include:
1. Application Layer: Telnet, FTP, e-mail etc.
2. Transport Layer: TCP (Transmission Control Protocol), UDP (User
Datagram Protocol).
3. Internet Layer: IP (Internet Protocol), ICMP (Internet Control Message Protocol), IGMP (Internet Group Management Protocol).
4. Network Interface Layer: Device driver and interface card.
1-3-6
6. Presentation Layer.
7. Application Layer.
The OSI reference model was designed as a framework for developing protocol
standards. The designers of OSI assumed that this model and the protocols
developed within this model would dominate computer communications, eventually replacing rival multivendor models such as TCP/IP. However this has not
happened. It is the TCP/IP architecture that has come to dominate. Thus, our
emphasis in this course will be on TCP/IP. The book by Tanenbaum [3] is a
good introduction to the OSI 7 layer model.
Suggested Readings
1. Chapters 2,3 and 11 of Comer [1].
2. Chapters 1 and 2 of Stallings [2].
3. Chapter 1 of Tanenbaum [3].
References
[1] D.E. Comer, Internetworking with TCP/IP: Principles, Protocols, and Architectures, 4th edition, Prentice Hall, NJ, 2000.
[2] W. Stallings, , Data & Computer Communications, 6th edition, Prentice
Hall, NJ, 2002.
[3] A. Tanenbaum, Computer Networks, Prentice Hall, NJ, 2000.
1-3-7