You are on page 1of 60

Advanced Computer

Networks
Instructor: Dr. Maaz
maazbinahmad@yahoo.com
+923335264960

Foundation Course in Network Stream


This Advanced Computer Networks course is a foundation
course for Networks as the Area of Specialization
It is a required pre-requisite course for the following
advanced level courses in networking

Performance Analysis of Communication Networks


Integrated Services over Packet Networks
Computer Network Security
Mobile Networking

It is a recommended pre-requisite for the course:


Network and System Programming

11/28/16

Course Material
Reference books
Many textbooks on Networking may be consulted

Lot of research papers!


Many will be made available by instructor

RFCs and Internet drafts


Related to TCP/IP suite and other protocols

Web resources
Tutorials, white papers, reports, etc.
11/28/16

Text Book
Larry L. Peterson and Bruce S. Davies,
Computer Networks: A Systems Approach
Third Edition [2003], Morgan Kaufmann
Publishers, San Mateo, California, USA

11/28/16

Prerequisites
Required:
An undergrad level course on computer networks

Recommended:
C Programming experience
Understanding of computer architecture
Basic operating system concepts

11/28/16

Expectations

What do you want (or expect) to learn from


this course ?

11/28/16

Expectations
This course IS about
Network principles and concepts
General purpose computer networks
Internet perspective
Major components of the Internet protocol suite

Designing and building a system

11/28/16

Expectations
This course IS NOT about

Survey of existing protocol standards


Specialized networks (e.g. CATV, telephone)
OSI perspective
Network hardware
Data transmission on physical layer

Queuing theory (we do survey, if time permits)

11/28/16

Expectations
We will learn
why
networks are like they are

11/28/16

Objectives: Principles and Concepts


At the end of this course, you should be able to:
identify the problems that arise in networked
communication
explain advantages/disadvantages of existing solutions
to these problems in different networking scenarios
evaluate novel approaches to these problems
understand the components of Internet protocol suite
understand the implications of a given solution for
performance in various networking environments
11/28/16

10

Course Contents

Overview
Introduction to networks
Direct link networks
Packet switching
Internetworking
End-to-end protocols
Congestion control and resource allocation
End-to-end data
Applications
Performance analysis and queuing theory (?)
11/28/16

11

Introduction
Outline

Statistical Multiplexing
Inter-Process Communication
Performance Metrics
Network Architecture

11/28/16

12

What is Your Over-ambitious Goal ?


Build a computer network which
Can grow to global proportions
Support diverse applications

Then think about


Underlying building blocks
Which available technologies to use

Integrating the blocks to communicate


Which software architecture to use

11/28/16

13

Network Design
Before looking inside a computer network,
first agree on what a computer network is?

Computer Network ?
Specialized to handle:
Set of serial lines to attach
terminals to mainframe ?
Telephone network carrying
voice traffic ?
Cable network to disseminate
video signals ?
11/28/16

Keystrokes
Voice
Video

15

What Distinguishes a
Computer Network ?
Generality
Built from general purpose
programmable hardware
Supports wide range of applications

11/28/16

16

Applications Users Contact with


the Network
Most people know the Internet through its
applications
Web, email, streaming audio and video, chat,

Applications present an intuitively simple


interface
Textual and graphical objects
Simple clicks to maneuver the application

However, users are not aware of what happens


in the network with their simple clicks !!!
11/28/16

17

Applications Consumers of
Networks
On a simple click, several messages may be exchanged
over the Internet
In a web browser, 17 messages may be exchanged

up to six messages to translate the server name


three messages to set up a TCP connection
four messages to send HTTP get request + response
four messages to tear down the TCP connection

Moreover, millions of messages are exchanged each day


by Internet nodes to make their presence and services
known
11/28/16

18

Applications the Driving Force


Streaming audio and video is an emerging application
Source generates and sends the video stream in messages across
the Internet

Video-on-demand: reads a preexisting movie


One-way data transfer

Videoconferencing: interactive session


Very tight timing constraints

Diversity of applications that can be built on top of the


Internet hint at the complexity of the Internet design

11/28/16

19

Our Road Map


Fortunately, we are not the first to build a
computer network
Lets start exploring the path that others have
already dig deep
By asking (and answering) why networks
are designed the way they are
11/28/16

20

Network Overview
What must a network provide ?
connectivity
cost-effective sharing
functionality
performance
How are networks designed and built ?
layering
protocols
standards
11/28/16

21

Perspective
For network user
connectivity: for services required; error
free delivery within acceptable time limits

For network designer


efficiency: cost-effective design, fair
allocation and efficient use of resources

For network operator


maintenance: easy to administer, fault
localization & isolation, usage accounting

11/28/16

22

Building Blocks
Nodes: PC, special-purpose hardware
hosts
switches

Links: coax cable, optical fiber


point-to-point

multiple access
11/28/16

23

Why not connect each node


with every other node ?
Number of computers that can be
connected becomes very limited
Number of wires coming out of each
node becomes unmanageable
Amount of physical hardware/devices
required becomes very expensive
Solution: indirect connectivity using
intermediate data forwarding nodes
11/28/16

24

Switched Networks
A network can be defined recursively as...
two or more nodes
connected by a link
circular nodes
(switches) implement
the network
squared nodes (hosts)
use the network

11/28/16

25

Switched Networks
A network can be defined recursively as...
two or more networks
connected by one or more
nodes: internetworks
circular nodes (router or
gateway) interconnects
the networks
a cloud denotes any type
of independent network
11/28/16

26

A Network
A network can be defined recursively as
two or more nodes connected by a physical link
OR
two or more networks connected by one or more
nodes

11/28/16

27

Components of a Network

11/28/16

28

Switching Strategies

Circuit switching:
carry bit streams
a. establishes a dedicated
circuit
b. links reserved for use
by communication
channel
c. send/receive bit stream
at constant rate
d. example: original
telephone network

Packet switching: storeand-forward messages


a. operates on discrete
blocks of data
b. utilizes resources
dynamically according
to traffic demand
c. send/receive messages
at variable rate
d. example: Internet
11/28/16

29

What next ?
Hosts are directly or indirectly connected to
each other
Can we now provide host-host connectivity ?
Nodes must be able to say which host it wants
to communicate with

11/28/16

30

Addressing and Routing


Address: byte-string that identifies a node
usually unique

Routing: forwarding decisions


process of determining how to forward messages to the
destination node based on its address

Types of addresses
unicast: node-specific
broadcast: all nodes on a network
multicast: some subset of nodes on a network

11/28/16

31

Wrap-up
A network can be constructed from nesting
of networks
An address is required for each node that is
reachable on the network
Address is used to route messages toward
appropriate destination
11/28/16

32

What next ?
Hosts know how to reach other hosts on the
network
How should a node use the network for its
communication ?
All pairs of hosts should have the ability to
exchange messages: cost-effective resource
sharing for efficiency
11/28/16

33

Multiplexing
Physical links/switches must be shared among users
(synchronous) Time-Division Multiplexing (TDM)
Frequency-Division Multiplexing (FDM)
L1

R1

Multiple flows
on a single link

L2
L3

R2
Switch 1

Switch 2

R3

Do you see any problem with TDM / FDM ?


11/28/16

34

Statistical Multiplexing

On-demand time-division, (ATM)


Schedule link on a per-packet basis
Buffer packets in switches that are contending for the link
Packets from different sources interleaved on link

Do you see any problem ?


11/28/16

35

Statistical Multiplexing
An application needs to break-up its message in packets, and
re-assemble at the receiver
Fair allocation of link capacity: FIFO, round-robin or QoS
If congestion occurs at a switch - buffer may overflow,
packets may be lost

11/28/16

36

Inter-Process Communication
Turn host-to-host connectivity into process-to-process
communication, making the communication meaningful.
Fill gap between what applications expect and what the
underlying technology provides.
Host

Host
Application

Host

Abstraction for
application-level
communication

Channel

Application

Host

Host

11/28/16

37

What Goes Wrong in the Network?


Reliability at stake
Bit-level errors (electrical interference)
Packet-level errors (congestion)
distinction between lost and late packet

Link and node failures


distinction between broken and flaky link
distinction between failed and slow node
11/28/16

38

What Goes Undesirable in the Network?


Required performance at stake

Messages are delayed


Messages are delivered out-of-order
Third partys eavesdrop
The challenge is to fill the gap between
application expectations and hardware
capabilities
11/28/16

39

Performance Metrics
and to do so while delivering
good performance
Bandwidth (throughput)
data transmitted per unit time, e.g. 10 Mbps
link bandwidth versus end-to-end bandwidth
notation
Kbps = 103 bits per second

11/28/16

40

Performance Metrics
Bandwidth related to bit width
1Mbps, 1s/bit

(a)
1 second

2Mbps, 0.5s/bit

(b)
1 second

11/28/16

41

Performance Metrics
Latency / delay
time to send message from point A to point B
one-way versus round-trip time (RTT)
components
Latency = Propagation + Transmit + Queue
Propagation = Distance / c
Transmit = Size / Bandwidth

Note:
No queuing delay in direct (point-to-point) link
Bandwidth irrelevant if size = 1 bit
Process-to-process latency includes software processing overhead
(dominates over shorter distances)

11/28/16

42

Bandwidth versus Latency


Relative importance, depends on application
1-byte character:
Choice of 1ms vs 100ms dominates 1Mbps vs
100Mbps

25MB file:
Choice of 1Mbps vs 100Mbps dominates 1ms vs
100ms

Large data (file transfer) is bandwidth critical


Small data (HTTP) is latency critical
11/28/16

43

Delay x Bandwidth Product


Amount of data in flight or in the pipe
Example: 100ms RTT x 45Mbps BW = 560KB
This much data must be buffered before the sender
responds to slowdown the request
Delay
Bandwidth

11/28/16

44

Bandwidth Requirements
Request/reply type applications may agree for as
much bandwidth as is available
Message stream type applications often require a
certain bandwidth: not more not less
Average required bandwidth does not always help
to design a network
Upper bound on a burst (peak-rate transfer)

Queuing delay introduces variation in latency


(jitter)
11/28/16

45

Network Architecture
The challenge is to fill the gap between hardware
capabilities and application expectations, and to
do so while delivering good performance
Designers cope with this complex task by
developing a network architecture as a guideline
Layering, protocols, standards

11/28/16

46

Layering
Use abstractions to hide complexity
Abstractions naturally lead to layering
Each layer provides some functionality
Application programs
Process-to-process channels
Host-to-host connectivity
Hardware

11/28/16

47

Layering
Alternative abstractions at each layer
Manageable network components
Modify layers independently
Application programs
Request/reply
channel

Message stream
channel

Host-to-host connectivity
Hardware

11/28/16

48

Protocols
Building blocks of a network architecture
Each protocol object has two different interfaces
service interface: operations on this protocol
peer-to-peer interface: messages exchanged with peer

11/28/16

49

Protocol Interfaces
Host 1

High-level
object

Protocol

Host 2

Service
interface

Peer-to-peer
interface

11/28/16

High-level
object

Protocol

50

Message Transmission Using Layers

11/28/16

51

Standard Architectures
Open System Interconnect (OSI) Architecture
International Standards Organization (ISO)
International Telecommunications Union (ITU),
formerly CCITT
X dot series: X.25, X.400, X.500
Primarily a reference model

11/28/16

52

OSI Architecture
End host

End host

User
level
OS
kernel

Application

Application

Application

Presentation

Presentation

Data formatting

Session

Session

Connection management

Transport

Transport

Process-to-process
communication channel

Network

Network

Network

Network

Data link

Data link

Data link

Data link

Physical

Physical

Physical

Physical

Host-to-host packet
delivery
Framing of data bits
Transmission of raw bits

One or more nodes


within the network

11/28/16

53

Internet Architecture
TCP/IP Architecture
Developed with ARPANET and NSFNET
Internet Engineering Task Force (IETF)
Culture: implement, then standardize
OSI culture: standardize, then implement
Became popular with release of Berkeley Software
Distribution (BSD) Unix; i.e. free software
Standard suggestions traditionally debated publically
through Request For Comments (RFCs)
11/28/16

54

Internet Architecture
Implementation and design done together
Hourglass Design (bottleneck is IP)
Application vs Application Protocol (FTP, HTTP)
FTP

HTTP

NV

TFTP

UDP

TCP

IP

NET1

NET2

11/28/16

NETn

55

Internet Architecture
Layering is not very strict
Application
TCP

UDP
IP
Network

11/28/16

56

Network Models

11/28/16

57

How Layers Fit Together in Practice

11/28/16

58

Networking in the Internet Age

11/28/16

59

Protocol Acronyms

(T)FTP (Trivial) File Transfer Protocol


HTTP Hyper Text Transport Protocol
NV Network Video
SMTP Simple Mail Transfer Protocol
NTP Network Time Protocol
TCP Transmission Control Protocol
UDP User Datagram Protocol
IP Internet Protocol
FDDI Fiber Distributed Data Interface
ATM Asynchronous Transfer Mode

11/28/16

60

You might also like