Books
Communication Networks
Computer Networks
2nd edition
4th edition. Albert Leon Garcia and Indra
Andrew S. Tanenbaum Widiaja
Pearson- Prentice Hall Tata McGraw Hill
Computer Networking Computer Networks
3rd edition. 3rd edition
Jim Kurose, Keith Ross Peterson and Davie
Elsevier
Pearson Education
Grading Schema
This is 4 credit course with 40 lectures.
I have taken additional hours on Friday.
Weightage :
Midterm I = 15 %
Midterm II = 15 %
Lab work + Mini Project = 30%
Final Exam = 40 %
Time Table :
Wednesday : 11am -12 noon L1 ?
: 1-2 pm L1 ?
Thursday : 1- 2 pm L1
Friday : 1-2 pm L1
Introduction to Computer Networks
History of computer networks
Understanding Information and connectivity to exchange
information
Uses of Computer Networks
Building blocks for computer networks
Hardware for CNs
Software for CNs
Reference models OSI and TCP/IP models
Design issues for layers
History of Computer Networks
On one hand, CN represents distributed computing systems and on the
other hand CN are means for transmitting information over long distances.
History of Computer Networks
Before the advent of computer networks that were based
upon some type of telecommunications system,
communication between calculation machines and early
computers was performed by human users by carrying
instructions between them. Many of the social behavior
seen in today's Internet was demonstrably present in
nineteenth-century telegraph networks.
History of Computer Networks
In 1940 George Stibitz used a teletype machine to send instructions
for a problem set from his Model K at Dartmouth College in New
Hampshire to his Complex Number Calculator in New York and
received results back by the same means.
Linking output systems like teletypes to computers was an interest at
the Advanced Research Projects Agency (ARPA created after launch
of Sputnik in 1957) when, in 1962, J.C.R. Licklider was hired and
developed a working group he called the "Intergalactic Network", a
precursor to the ARPANet.
History of Computer Networks
In 1964, researchers at Dartmouth developed the Dartmouth Time
Sharing System for distributed users of large computer systems. The
same year, at MIT, a research group supported by General Electric
and Bell Labs used a computer (DEC's PDP-8) to route and manage
telephone connections.
Throughout the 1960s Leonard Kleinrock, Paul Baran and Donald
Davies independently conceptualized and developed network
systems which used datagrams or packets that could be used in a
packet switched network between computer systems.
Packet switching contrasts with another principal networking
paradigm, circuit switching, a method which sets up a specific
circuit with a limited number dedicated connection of constant bit
rate and constant delay between nodes for exclusive use during the
communication session.
History of Computer Networks
The first widely used switch that used true computer control was the
Western Electric 1ESS switch, introduced in 1965.
In 1969 the University of California at Los Angeles, SRI (in
Stanford), University of California at Santa Barbara, and the
University of Utah were connected as the beginning of the
ARPANet network using 50 kbit/s circuits. Commercial services
using X.25, an alternative architecture to the TCP/IP suite, were
deployed in 1972.
History of Computer Networks
The first message ever to be sent over the ARPANET (sent over the
first host-to-host connection) occurred at 10:30 PM on October 29,
1969.
Computer networks, and the technologies needed to connect and
communicate through and between them, continue to drive
computer hardware, software, and peripherals industries. This
expansion is mirrored by growth in the numbers and types of users
of networks from the researcher to the home user.
Computer Networks
Today, computer networks are the core of modern communication.
The scope of communication has increased significantly in the past
decade and this boom in communications would not have been
possible without the progressively advancing computer network.
Examples of different networks are:
Local area network (LAN), which is usually a small network constrained to a small
geographic area.
Wide area network (WAN) that is usually a larger network that covers a large
geographic area.
Wireless LANs and WANs (WLAN & WWAN) are the wireless equivalent of the
LAN and WAN.
Information, Computers, Networks
Information: anything that is represented in bits
Form (can be represented as bits) vs
Substance (cannot be represented as bits)
Properties:
Infinitely replicable
Computers can “manipulate” information
Networks create “access” to information
Networking
Potential of networking:
move bits everywhere, cheaply, and with desired performance
characteristics
Break the space barrier for information
Network provides “connectivity”
Connectivity
Direct or indirect access to every other node in the network
Connectivity is the magic needed to communicate if you do not have a
direct pt-pt physical link.
Direct Connectivity
point-to-point
(a)
multiple access
(b)
Connectivity
Indirect Connectivity
switched networks
=> switches
inter-networks
=> routers
Connectivity
Internet:
Best-effort
(no performance
guarantees)
Packet-by-packet
A pt-pt physical link:
Always-connected
Fixed bandwidth
Fixed delay
Zero-jitter
What we will learn?
How we achieve this magic called
“connectivity” ?
Before that we explore a bit more information about
uses, classification, concept of layering etc…
Uses of Computer Networks
Business Applications
Home Applications
Mobile Users
Social Issues
Business Applications of Networks
A network with two clients and one server.
Business Applications of Networks
The client-server model involves requests and replies.
Home Network Applications
Access to remote information
Person-to-person communication
Interactive entertainment
Electronic commerce
Home Network Applications
In peer-to-peer system there are no fixed clients
and servers.
Home Network Applications
Some forms of e-commerce.
Home Network Categories
Computers (desktop PC, PDA, shared peripherals
Entertainment (TV, DVD, VCR, camera, stereo, MP3)
Telecomm (telephone, cell phone, intercom, fax)
Appliances (microwave, fridge, clock, furnace, airco)
Telemetry (utility meter, burglar alarm, babycam).
Mobile Network Users
Combinations of wireless networks and mobile
computing.
Building Blocks of Networks
Let us try to find out what are the possible things which we
can connect for information flow: Computers (of course) it
may be desktop, server, work station or laptops, may be palm
tops what else
The list of what else is huge (233 million end systems till
2003), some exp : TV, cell phone, PDA’s, vehicles, photo
frames, toasters, web cams and what not.
Network Hardware
Based on transmission technology
Point to point links
Broadcast links
Based on scale
Local Area Networks
Metropolitan Area Networks
Wide Area Networks
Wireless Networks
Home Networks
Internetworks
Broadcast Networks
Classification of Interconnected processors by scale.
Local Area Networks
Two broadcast networks
(a) Bus
(b) Ring
Metropolitan Area Networks
A metropolitan area network based on cable TV.
Wide Area Networks
Relation between hosts on LANs and the subnet.
Wide Area Networks
A stream of packets from sender to receiver.
Wireless Networks
Categories of wireless networks:
System interconnection
Wireless LANs
Wireless WANs
Wireless Networks
(a) Bluetooth configuration
(b) Wireless LAN
Network Software
Protocol Hierarchies
Design Issues for the Layers
Connection-Oriented and Connectionless Services
Service Primitives
The Relationship of Services to Protocols
What’s a protocol
network protocols:
machines rather than
human protocols:
“what’s the time?” humans
all communication activity
“I have a question”
in Internet governed by
introductions
protocols
… specific msgs sent
protocols define format, order of
… specific actions taken msgs sent and received among
when msgs received, or network entities, and actions
taken on msg transmission, receipt
other events
What’s a protocol
a human protocol and a computer network protocol:
Hi
TCP connection
Hi request
TCP connection
Got the response
time? Get http://www.awl.com/kurose-ross
2:00
<file>
time
Q: Other human protocols?
Protocol “Layers”
Networks are complex!
many “pieces”:
Question:
Is there any hope of organizing
hosts structure of network?
routers
links of various
Or at least our discussion of
media networks?
applications
protocols
hardware, software
Organization of air travel
ticket (purchase) ticket (complain)
baggage (check) baggage (claim)
gates (load) gates (unload)
runway takeoff runway landing
airplane routing airplane routing
airplane routing
a series of steps
Layering of airline functionality
ticket (purchase) ticket (complain) ticket
baggage (check) baggage (claim baggage
gates (load) gates (unload) gate
runway (takeoff) runway (land) takeoff/landing
airplane routing airplane routing airplane routing airplane routing airplane routing
departure intermediate air-traffic arrival
airport control centers airport
Layers: each layer implements a service
via its own internal-layer actions
relying on services provided by layer below
Why layering?
Dealing with complex systems:
explicit structure allows identification, relationship of
complex system’s pieces
layered reference model for discussion
modularization eases maintenance, updating of system
change of implementation of layer’s service transparent to
rest of system
e.g., change in gate procedure doesn’t affect rest of system
layering considered harmful?
Network Software : Protocol Hierarchies
Layers, protocols, and interfaces.
Protocol Hierarchies
Example information flow supporting virtual communication
in layer 5.
Reference Models
The OSI Reference Model
The TCP/IP Reference Model
A Comparison of OSI and TCP/IP
A Critique of the OSI Model and Protocols
A Critique of the TCP/IP Reference Model
The OSI reference model
Physical Layer
This layer is the lowest layer in the OSI model. It helps in the
transmission of data between two machines that are communicating
through a physical medium, which can be optical fibres,copper wire
or wireless etc.
Main functions of the physical layer
Hardware Specification: The details of the
physical cables, network interface cards,
wireless radios, etc are a part of this layer.
Encoding and Signaling: How are the bits
encoded in the medium is also decided by
this layer. For example, on the copper wire
medium, we can use different voltage levels
for a certain time interval to represent '0' and
'1'. We may use +5mV for 1nsec to represent
'1' and -5mV for 1nsec to represent '0'. All
the issues of modulation is dealt with in this
layer. eg, we may use Binary phase shift
keying for the representation of '1' and '0'
rather than using different volatage levels if
we have to transfer in RF waves.
Main functions of the physical layer
Data Transmission and Reception: The transfer of each bit of data is the
responsibility of this layer. This layer assures the transmission of each bit with
a high probability. The transmission of the bits is not completely reliable as
their is no error correction in this layer.
Topology and Network Design: The network design is the integral part of the
physical layer. Which part of the network is the router going to be placed,
where the switches will be used, where we will put the hubs, how many
machines is each switch going to handle, what server is going to be placed
where, and many such concerns are to be taken care of by the physical layer.
The various kinds of net topologies that we decide to use may be ring, bus,
star or a hybrid of these topologies depending on our requirements.
Q.: Compare different topologies and try to answer which topology is suitable
in which particular scenario?
Data Link Layer
This layer provides reliable transmission of a packet by using the services of the
physical layer which transmits bits over the medium in an unreliable fashion.
This layer is concerned with :
Framing : Breaking input data into frames (typically a few hundred bytes) and
caring about the frame boundaries and the size of each frame.
Acknowledgment : Sent by the receiving end to inform the source that the frame
was received without any error.
Sequence Numbering : To acknowledge which frame was received.
Error Detection : The frames may be damaged, lost or duplicated leading to
errors. The error control is on link to link basis.
Retransmission : The packet is retransmitted if the source fails to receive
acknowledgment.
Flow Control : Necessary for a fast transmitter to keep pace with a slow receiver.
Data Link Layer : Two sublayers
Network Layer
Its basic functions are routing and congestion control.
Routing: This deals with determining how packets will be routed
(transferred) from source to destination. It can be of three types :
Static : Routes are based on static tables that are "wired into" the network
and are rarely changed.
Dynamic : All packets of one application can follow different routes
depending upon the topology of the network, the shortest path and the
current network load.
Semi-Dynamic : A route is chosen at the start of each conversation and
then all the packets of the application follow the same route.
Services provided by the network
Connection less service: Each packet of an application is treated as an
independent entity. On each packet of the application the destination address
is provided and the packet is routed. Connection less service is modeled after
the postal system. Each letter carries the destination address and is routed
independent of all the others. Here, it is possible that the letter sent first is
delayed so that the second letter reaches the destination before the first letter.
Connection oriented service: Here, first a connection is established and
then all packets of the application follow the same route. To understand the
above concept, we can also draw an analogy from the real life. Connection
oriented service is modeled after the telephone system. All voice packets go
on the same path after the connection is established till the connection is
hung up. It acts like a tube ; the sender pushes the objects in at one end and
the receiver takes them out in the same order at the other end.
Services provided by the network
Congestion Control: A router can be connected to 4-5 networks. If all the networks
send packet at the same time with max rate then the router may not be able to handle
all the packets. The dropping of the packets should be minimized and the source
whose packet was dropped should be informed. The control of such congestion is
also a function of the network layer. Other issues related with this layer are
transmitting time, delays, jittering.
Internetworking: Internetworking is a solution born of three networking problems:
isolated LANs, duplication of resources, and the lack of a centralized network
management system. With connected LANs, companies no longer have to duplicate
programs or resources on each network. This in turn gives way to managing the
network from one central location instead of trying to manage each separate LAN.
We should be able to transmit any packet from one network to any other network
even if they follow different protocols or use different addressing modes.
Network Layer does not guarantee that the packet will reach its intended
destination. There are no reliability guarantees.
Transport Layer
Multiplexing / Demultiplexing : Normally the transport layer will create
distinct network connection for each transport connection required by the
session layer. The transport layer may either create multiple network
connections (to improve throughput) or it may multiplex several transport
connections onto the same network connection (because creating and
maintaining networks may be expensive). In the latter case, demultiplexing
will be required at the receiving end. A point to note here is that
communication is always carried out between two processes and not between
two machines. This is also known as process-to-process communication.
Fragmentation and Re-assembly : The data accepted by the transport layer
from the session layer is split up into smaller units (fragmentation) if needed
and then passed to the network layer. Correspondingly, the data provided by
the network layer to the transport layer on the receiving side is re-assembled.
Session Layer
It deals with the concept of Sessions i.e. when a user logins to a remote
server he should be authenticated before getting access to the files and
application programs. Another job of session layer is to establish and
maintain sessions. If during the transfer of data between two machines the
session breaks down, it is the session layer which re-establishes the
connection. It also ensures that the data transfer starts from where it breaks
keeping it transparent to the end user. e.g. In case of a session with a
database server, this layer introduces check points at various places so
that in case the connectoin is broken and reestablished, the transition
running on the database is not lost even if the user has not committed. This
activity is called Synchronization. Another function of this layer is
Dialogue Control which determines whose turn is it to speak in a session.
It is useful in video conferencing.
Presentation Layer
This layer is concerned with the syntax and semantics of the information
transmitted. It encodes the data in standard agreed way(network format).
This layer ensures that the data transmitted by one gets converted in the
form compatible to other machine. In order to make it possible for
computers with different data representations to communicate data
structures to be exchanged can be defined in abstract way alongwith
standard encoding. It also manages these abstract data structures and allows
higher level of data structures to be defined as an exchange.
Other functions include compression, encryption etc.
Application Layer
The seventh layer contains the application protocols with which
the user gains access to the network. The choice of which
specific protocols and their associated functions are to be used at
the application level is up to the individual user. Thus the
boundary between the presentation layer and the application
layer represents a separation of the protocols imposed by the
network designers from those being selected and implemented
by the network users. For example commonly used protocols are
HTTP(for web browsing), FTP, SMTP etc
The TCP/IP reference model
A Critique of the OSI Model and
Protocols
Why OSI did not take over the world
Bad timing
Bad technology
Bad implementations
Bad politics
Bad Timing
The apocalypse of the two elephants.
A Critique of the TCP/IP Reference
Model
Problems:
Service, interface, and protocol not distinguished
Not a general model
Host-to-network “layer” not really a layer
No mention of physical and data link layers
Minor protocols deeply entrenched, hard to replace
Hybrid Model
The hybrid reference model to be used in here.
Example Networks
The Internet
Connection-Oriented Networks:
X.25, Frame Relay, and ATM
Ethernet
Wireless LANs: 802:11
Internet protocol stack
application: supporting network applications
FTP, SMTP, HTTP
transport: process-process data transfer
TCP, UDP
network: routing of datagrams from source to
destination
IP, routing protocols
link: data transfer between neighboring network
elements
PPP, Ethernet
physical: bits “on the wire”
Encapsulation
source
message M application
segment Ht M transport
datagram Hn Ht M network
frame Hl Hn Ht M link
physical
link
physical
switch
destination Hn Ht M network
M application
Hl Hn Ht M link Hn Ht M
Ht M transport physical
Hn Ht M network
Hl Hn Ht M link router
Design Issues for the Layers
Addressing
Error Control
Flow Control
Multiplexing
Routing
Network Standardization
Who’s Who in the Telecommunications World
Who’s Who in the International Standards World
Who’s Who in the Internet Standards World
ITU
Main sectors
Radiocommunications
Telecommunications Standardization
Development
Classes of Members
National governments
Sector members
Associate members
Regulatory agencies
IEEE 802 Standards