Download Introduction

Document related concepts

CAN bus wikipedia , lookup

Computer security wikipedia , lookup

Airborne Networking wikipedia , lookup

Net neutrality law wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Computer network wikipedia , lookup

Peering wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

IEEE 1355 wikipedia , lookup

Internet protocol suite wikipedia , lookup

Net bias wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Packet switching wikipedia , lookup

Deep packet inspection wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Transcript
Modeling and Analysis of
Computer Networks
Ali Movaghar
Winter 2009
Main subjects to be studied
 A brief history of computer networks,
 Principal concepts being used in computer
networking,
 Applications of queueing theory to modeling
and analysis of computer communication
networks
 Other mathematical modeling of computer
networks,
 State of arts in computer networking,
Types of networks of particular
interest
•
•
•
•
•
Mobile ad hoc networks
Wireless sensor networks
Peer-to-peer networks
Overlay networks
Web
Textbooks
Main Textbook:
• D. Bertsekas and R. Gallager, “Data Networks,” 2nd Ed.,
Prentice-Hall, Inc., 1992.
Secondary Textbooks:
• A. Tanenbaum, “Computer Networks,” 4th Ed., PrenticeHall, Inc., 2003.
• J.F. Kurose and K.W. Ross, “Computer Networking: A
top-down Approach Featuring the Internet,” AddisonWesley, 2000.
Other references
• Recent papers in computer
networking which have
appeared in renowned
national and international
conferences or journals.
Grading Policy
•
•
•
•
Simulation Tools: 10%
Research Papers: 25%
Midterm Exam: 20%
Final Exam: 45%
Computer Networks and Distributed
Systems




Computer networks: A collection of autonomous computers
interconnected by a single technology.
Two computers are interconnected if they are able to exchange
information.
Distributed Systems: A collection of independent computers
which appears to its users as a single coherent system. It usually
has a single model or paradigm that it presents to its users.
Often a layer of software on top of the operating system, called
middleware, is responsible for implementing this model.
Computer Networks: A Brief
History and the Future
• Why computer networking?
• How was it evolved?
• What is the impact of computer
networking in our life?
• The Internet
• Wireless mobile computing
A History of Computer Systems
Mainframes (1944-)
Minicomputers (1960-)
Personal Computers and Workstations
(1970-)
The 1st Generation: The tube-based mainframe
In 1944 ENIAC (electronic numerical integrator and
calculator ) was placed in operation at the Moore
School.
It had thirty separate units, plus power supply and
forced-air cooling, and weighed over thirty tons.
It included 19,000 vacuum tubes, 1,500 relays, and
hundreds of thousands of resistors, capacitors, and
inductors consumed almost 200 kilowatts of
electrical power.
ENIAC was originally used for ballistics, but played a
role in the development of the atomic bomb.
The 2nd Generation: Transistor Computer Systems
In 1959 The fully transistorized IBM 7090
computer system delivered. The system
had computing speeds up to five times
faster than those of its predecessor, the
IBM 709. It was both a scientific and
business machine.
The 3rd Generation computers: Multiprocessing
and operating systems make the scene
In 1965 IBM ships the midrange 360 model 40 computer which had
COBOL and FORTRAN programming languages available as well
as the stock Basic Assembly Language (BAL) assembler.
In 2007 IBM produces the Blue-Gene/P, a system capable of a petaflop
(1,000,000 gigaflops or 1,000 teraflops).
 It sports 73,728 processors comprised of four cores each of
IBM’s 850MHz PowerPC 450, resulting in 294,912 cores.
 The system can be scaled to nearly three times that size,
resulting in a 3 petaflop capability and is all hooked up via a
high-end optical network.
Minicomputers
A minicomputer (colloquially, mini) is a
class of multi-user computers that lies in
the middle range of the computing
spectrum, in between the largest multiuser systems (mainframe computers) and
the smallest single-user systems
(microcomputers or personal computers).
A History of Minicomputers
The term "mini computer" evolved in the 1960s to describe
the "small" third generation computers that became
possible with the use of transistor and core memory
technologies.
They usually took up one or a few cabinets the size of a large
refrigerator or two, compared with mainframes that
would usually fill a room.
The first successful minicomputer was IBM’s 16-bit IBM
1130, which cost from US$32,280 upwards when
launched February 11, 1965. Digital Equipment
Corporation’s 12-bit PDP-8, which cost from US$16,000
upwards was launched March 22, 1965.
Personal Computers and
Workstations
A personal computer (PC) is any computer whose original
sales price, size, and capabilities make it useful for
individuals, and which is intended to be operated directly
by an end user, with no intervening computer operator.
Throughout the late 1970s and into the 1980s, computers
were developed for household use, offering personal
productivity, programming and games.
Workstations are somewhat larger and more expensive
systems (although still low-cost compared with
minicomputers and mainframes) were aimed for office
and small business use.
Time Sharing of Mainframes and
Minicomputers
Time-sharing refers to sharing a computing
resource among many users by multitasking.
Because computers in interactive use often
spend much of their time idly waiting for
user input, it was suggested that multiple
users could share a machine by allocating
one user's idle time to service other users.
Similarly, small slices of time spent waiting
for disk, tape, or network input could be
granted to other users.
History of Time Sharing
The concept was first described publicly in early 1957
by Bob Bemer as part of an article in Automatic
Control Magazine. The first project to implement a
time-sharing system was initiated by John
McCarthy in late 1957, on a modified IBM 704,
and later an additionally modified IBM 7090
computer. It influenced the design of other early
timesharing systems developed by Hewlett
Packard, Control Data Corporation, UNIVAC and
others (in addition to introducing the BASIC
programming language).
Computer Networks
 Computer networks: A collection of
autonomous computers interconnected
by a single technology.
 Two computers are interconnected if
they are able to exchange information.
Network Hardware
 Network hardware has two important
aspects: transmission technology and
Scale.
 There are two types of transmission
technologies: broadcast and point to
point (switched).
Broadcast Networks
 Broadcast networks have a single
communication channel that is shared by
all the machines in the network.
 Multicasting: a mode of broadcasting
that supports transmission only to a
subset of machines.
Point-to-Point (Switched)
Computer Networks
 Point-to-point (Switched) computer
networks consist of many connections
between individual pairs of machines.
To go from the source to the
destination, a packet must have to visit
one or more intermediate machines.
Classification of Computer
Networks by Scale
Inter-processor
distance
Processors located in Example
same
1m
Square meter
PAN
10 m
Room
LAN
100 m
Building
LAN
1 km
Campus
LAN
10 km
City
MAN
100 km
Country
WAN
1000 km
Continent
WAN
10000 km
Planet
The Internet
Local Area Networks (LANs)
 They are distinguished by their
transmission technology and their
topology.
 Traditional LANs run at speeds 10Mbps
and 100 Mbps, have low delay
(microseconds or nanoseconds), and
make few errors.
 Newer LANs operate at up to 10 Gbps.
Local Area Networks (LANs)


Various topologies are possible for broadcast LANs: Bus
and Ring.
Examples: Ethernet (IEEE 802.3), token ring (IEEE
802.5), FDDI, Wireless LAN (IEEE 802.11).
Bus
Ring
Metropolitan Area Networks
(MANs)
 Examples: Cable television networks,
DQDB, Wireless MAN (IEEE 802.16)
Metropolitan Area Networks
A metropolitan area network based on cable TV.
Wide Area Networks
 Wide Area Networks or WANs consist of
hosts and communication subnet.
 A communication subnet consists of
transmission lines and switching elements.
A Taxonomy of Computer
Networks
Computer networks can be classified based on the way in which the
nodes exchange information
Computer Networks
Switched
Computer Networks
Circuit-Switched
Computer Networks
Broadcast
Computer Networks
Packet-Switched
Computer Networks
Datagram
Networks
Virtual Circuit
Networks
Broadcast vs. Switched Computer
Networks

Broadcast computer networks

information transmitted by any node is received by every other
node in the network



examples: usually in LANs (Ethernet, Wavelan)
Problem: coordinate the access of all nodes to the shared communication
medium (Multiple Access Problem)
Switched computer networks

information is transmitted to a sub-set of designated nodes


examples: WANs (Telephony Network, Internet)
Problem: how to forward information to intended node(s)

this is done by special nodes (e.g., routers, switches) running routing protocols
Circuit Switching

Three phases





circuit establishment
data transfer
circuit termination
If circuit not available: “Busy signal”
Examples


Telephone networks
ISDN (Integrated Services Digital Networks)
Timing in Circuit Switching
Host 1
Node 1
Node 2
Host 2
processing delay at Node 1
propagation delay
between Host 1
and Node 1
Circuit
Establishment
propagation delay
between Host 2
and Host 1
Data
Transmission
DATA
Circuit
Termination
Circuit Switching
A node (switch) in a circuit switching network
incoming links
Node
outgoing links
Packet Switching


Data are sent as formatted bit-sequences, so-called packets.
Packets have the following structure:
Header




Data
Trailer
Header and Trailer carry control information (e.g.,
destination address, checksum)
Each packet is passed through the network from node to node
along some path (Routing)
At each node the entire packet is received, stored briefly, and
then forwarded to the next node (Store-and-Forward
Networks)
Typically no capacity is allocated for packets
Packet Switching
A node in a packet switching network
incoming links Node
Memory
outgoing links
Datagram Packet Switching

Each packet is independently switched



each packet header contains destination
address
No resources are pre-allocated
(reserved) in advance
Example: IP networks
Timing of Datagram Packet Switching
Host 1
transmission
time of Packet 1
at Host 1
Node 1
Packet 1
Host 2
Node 2
propagation
delay between
Host 1 and
Node 2
processing &
queueing
delay of Packet
1 at Node 2
Packet 2
Packet 1
Packet 3
Packet 2
Packet 3
Packet 1
Packet 2
Packet 3
Datagram Packet Switching
Host C
Host D
Host A
Node 1
Node 2
Node 3
Node 5
Host B
Node 6
Node 4
Node 7
Host E
Virtual-Circuit Packet Switching

Hybrid of circuit switching and packet
switching





data is transmitted as packets
all packets from one packet stream are sent
along a pre-established path (=virtual circuit)
Guarantees in-sequence delivery of packets
However: Packets from different virtual
circuits may be interleaved
Example: ATM networks
Virtual-Circuit Packet Switching
 Communication with virtual circuits
takes place in three phases
 VC establishment
 data transfer
 VC disconnect
 Note: packet headers don’t need to
contain the full destination address of
the packet
Timing of Virtual Circuit Packet Switching
Host 1
Node 1
Host 2
Node 2
propagation delay
between Host 1
and Node 1
VC
establishment
Packet 1
Packet 2
Data
transfer
Packet 3
Packet 1
Packet 2
Packet 3
Packet 1
Packet 2
Packet 3
VC
termination
Virtual Circuit Packet Switching
Host C
Host D
Host A
Node 1
Node 2
Node 3
Node 5
Host B
Node 6
Node 4
Node 7
Host E
Packet-Switching vs. Circuit-Switching

Most important advantage of packet-switching over
circuit switching: Ability to exploit statistical
multiplexing:


efficient bandwidth usage; ratio between peek and average
rate is 3:1 for audio, and 15:1 for data traffic
However, packet-switching needs to deal with
congestion:



more complex routers
harder to provide good network services (e.g., delay and
bandwidth guarantees)
In practice they are combined:

IP over SONET, IP over Frame Relay
Network Software
Network Architecture
Protocol Hierarchy
Layering
 The number of layers
 The protocols defined in each layer
What is Layering?
 A technique to organize a network
system into a succession of logically
distinct entities, such that the service
provided by one entity is solely based
on the service provided by the
previous (lower level) entity.
Why Layering?
Application
Transmission
Media
Telnet
FTP
Coaxial
cable
NFS
Fiber
optic
HTTP
Packet
radio
No layering: each new application has to be re-implemented
for every network technology!
Why Layering?
Solution: introduce an intermediate layer that provides a unique
abstraction for various network technologies
Application
Telnet
FTP
NFS
HTTP
Intermediate
layer
Transmission
Media
Coaxial
cable
Fiber
optic
Packet
radio
Layering

Advantages:




Modularity – protocols easier to manage and maintain
Abstract functionality –lower layers can be changed without
affecting the upper layers
Reuse – upper layers can reuse the functionality provided by
lower layers
Disadvantages:

Information hiding – inefficient implementations
ISO OSI Reference Model



ISO – International Standard Organization
OSI – Open System Interconnection
Started in 1978; first standard in 1979


ARPANET started in 1969; TCP/IP protocols ready by 1974
Goal: a general open standard

Allow vendors to enter the market by using their own
implementation and protocols
ISO OSI Reference Model
Seven layers
–
–
Lower three layers are peer-to-peer
Next four layers are end-to-end
Application
Presentation
Session
Transport
Network
Datalink
Physical
Network
Datalink
Physical
Physical medium
Application
Presentation
Session
Transport
Network
Datalink
Physical
Data Transmission


A layer can use only the service provided by the layer
immediate below it
Each layer may change and add a header to data packet
data
data
data
data
data
data
data
data
data
data
data
data
data
data
Summary: Layering

Key technique to implement communication
protocols; provides
 Modularity
 Abstraction
 Reuse
 Key design decision: what functionality to put in
each layer?
Reference Models
The OSI Reference Model
The TCP/IP Reference Model
A Comparison of OSI and TCP/IP
OSI Model Concepts



Service – says what a layer does
Interface – says how to access the service
Protocol – says how is the service
implemented

A set of rules and formats that govern the
communication between two peers
Physical Layer (1)




Service: move the information between two systems
connected by a physical link
Interface: specifies how to send a bit
Protocol: coding scheme used to represent a bit, voltage
levels, duration of a bit
Examples: coaxial cable, optical fiber links; transmitters,
receivers
Data link Layer (2)

Service:



Framing, i.e., attach frames separator
Send data frames between peers attached to the same
physical media
Others (optional):





Arbitrate the access to common physical media
Ensure reliable transmission
Provide flow control
Interface: send a data unit (packet) to a machine
connected to the same physical media
Protocol: layer addresses, implement Medium
Access Control (MAC) (e.g., CSMA/CD)…
Network Layer (3)

Service:



Deliver a packet to specified destination
Perform segmentation/reassemble
(fragmentation/defragmentation)
Others:



Packet scheduling
Interface: send a packet to a specified destination
Protocol: define global unique addresses; construct
routing tables

Buffer management
Data and Control Planes

Data plane: concerned with




Packet forwarding
Buffer management
Packet scheduling
Control Plane: concerned with installing and
maintaining state for data plane
Example: Routing


Data plane: use Forwarding Table to forward packets
Control plane: construct and maintain Forwarding Tables
(e.g., Distance Vector, Link State protocols)
Fwd table
Fwd table
H1
H2 R6
…
H2 R4
…
H2
R4
R1
R3
R2
R6
R5
Transport Layer (4)




Service:


Provide an error-free and flow-controlled end-to-end connection
Multiplex multiple transport connections to one network
connection

Split one transport connection in multiple network connections
Interface: send a packet to specify destination
Protocol: implement reliability and flow control
Examples: TCP and UDP
Session Layer (5)

Service:





Full-duplex
Access management, e.g., token control
Synchronization, e.g., provide check points for
long transfers
Interface: depends on service
Protocols: token management; insert
checkpoints, implement roll-back functions
Presentation Layer (6)



Service: convert data between various
representations
Interface: depends on service
Protocol: define data formats, and rules to convert
from one format to another
Application Layer (7)



Service: any service provided to the end user
Interface: depends on the application
Protocol: depends on the application

Examples: FTP, Telnet, WWW browser
Summary: Layering

Key technique to implement communication
protocols; provides
 Modularity
 Abstraction
 Reuse
 Key design decision: what functionality to put in
each layer?
Design Issues for the Layers
•
•
•
•
•
Addressing
Error Control
Flow Control
Multiplexing
Routing
Connection-Oriented and Connectionless
Services
Six different types of service.
Service Primitives
Five service primitives for implementing a simple connectionoriented service.
Service Primitives (2)
Packets sent in a simple client-server interaction on a
connection-oriented network.
Services to Protocols Relationship
The relationship between a service and a protocol.
Reference Models (2)
The TCP/IP reference model.
Reference Models (3)
Protocols and networks in the TCP/IP model initially.
Comparing OSI and TCP/IP Models
Concepts central to the OSI model
• Services
• Interfaces
• Protocols
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 this book.
Example Networks
•
The Internet
•
Connection-Oriented Networks:
X.25, Frame Relay, and ATM
•
Ethernet
•
Wireless LANs: 802:11
The ARPANET
(a) Structure of the telephone system.
(b) Baran’s proposed distributed switching system.
The ARPANET
The original ARPANET design.
The ARPANET
Growth of the ARPANET (a) December 1969. (b) July 1970.
(c) March 1971. (d) April 1972. (e) September 1972.
NSFNET
The NSFNET backbone in 1988.
Traditional Internet Usage (1970-1990)
E-mail
News
Remote login
File transfer
Services Provided by the Internet

Shared access to computing resources


Telnet (1970’s)
Shared access to data/files


FTP, NFS, AFS (1980’s)
Communication medium over which people interact


Email (1980’s), on-line chat rooms, instant messaging (1990’s)
Audio, video (1990’s)


Replacing telephone network?
A medium for information dissemination


USENET (1980’s)
WWW (1990’s)


Replacing newspaper, magazine?
Audio, video (2000’s)

Replacing radio, CD, TV?
Architecture of the Internet
Overview of the Internet.
The Internet


Global scale, general purpose, heterogeneoustechnologies, public, computer network
Internet Protocol


Open standard: Internet Engineering Task Force (IETF)
as standard body
Technical basis for other types of networks


Intranet: enterprise IP network
Developed by the research community
History of the Internet







70’s: started as a research project, 56 kbps, < 100
computers
80-83: ARPANET and MILNET split,
85-86: NSF builds NSFNET as backbone, links 6
Supercomputer centers, 1.5 Mbps, 10,000 computers
87-90: link regional networks, NSI (NASA),
ESNet(DOE), DARTnet, TWBNet (DARPA), 100,000
computers
90-92: NSFNET moves to 45 Mbps, 16 mid-level
networks
94: NSF backbone dismantled, multiple private
backbones
Today: backbones run at 10 Gbps, 10s millions
computers in 150 countries
Time Line of the Internet
•Source: Internet Society
Growth of the Internet
Number of Hosts on
the Internet:
Aug. 1981
213
Oct. 1984
1,024
Dec. 1987
28,174
Oct. 1990
313,000
Oct. 1993 2,056,000
Apr. 1995 5,706,000
Jul. 1997 19,540,000
Jul. 1999 56,218,000
Jul. 2001 125,888,197
Jul. 2002 162,128,493
1000000000
100000000
10000000
1000000
100000
10000
1000
100
10
1
1981 1984 1987 1990 1993 1996 1999 2002
Recent Growth (1991-2002)
Internet Users 1995-2004
DATE
NUMBER OF USERS
% WORLD
POPULATION
INFORMATION
SOURCE
December, 1995
16 millions
0.4 % IDC
December, 1996
36 millions
0.9 % IDC
December, 1997
70 millions
1.7 % IDC
December, 1998
147 millions
3.6 % C.I. Almanac
December, 1999
248 millions
4.1 % Nua Ltd.
March, 2000
304 millions
5.0 % Nua Ltd.
July, 2000
359 millions
5.9 % Nua Ltd.
December, 2000
361 millions
5.8 % Internet World Stats
March, 2001
458 millions
7.6 % Nua Ltd.
June, 2001
479 millions
7.9 % Nua Ltd.
August, 2001
513 millions
8.6 % Nua Ltd.
April, 2002
558 millions
8.6 % Internet World Stats
July, 2002
569 millions
9.1 % Internet World Stats
September, 2002
587 millions
9.4 % Internet World Stats
March, 2003
608 millions
9.7 % Internet World Stats
September, 2003
677 millions
10.6 % Internet World Stats
October, 2003
682 millions
10.7 % Internet World Stats
December, 2003
719 millions
11.1 % Internet World Stats
February, 2004
745 millions
11.5 % Internet World Stats
May, 2004
757 millions
11.7 % Internet World Stats
October, 2004
812 millions
12.7 % Internet World Stats
December, 2004
817 millions
12.7 % Internet World Stats
Internet Users 2005-2008
DATE
NUMBER OF USERS
% WORLD
POPULATION
INFORMATION
SOURCE
March, 2005
888 millions
13.9 % Internet World Stats
June, 2005
938 millions
14.6 % Internet World Stats
September, 2005
957 millions
14.9 % Internet World Stats
November, 2005
972 millions
15.2 % Internet World Stats
December, 2005
1,018 millions
15.7 % Internet World Stats
March, 2006
1,023 millions
15.7 % Internet World Stats
June, 2006
1,043 millions
16.0 % Internet World Stats
Sept, 2006
1,086 millions
16.7 % Internet World Stats
Dec, 2006
1,093 millions
16.7 % Internet World Stats
Mar, 2007
1,129 millions
17.2 % Internet World Stats
June, 2007
1,173 millions
17.8 % Internet World Stats
Sept, 2007
1,245 millions
18.9 % Internet World Stats
Dec, 2007
1,319 millions
20.0 % Internet World Stats
Mar, 2008
1,407 millions
21.1 % Internet World Stats
June, 2008
1,463 millions
21.9 % Internet World Stats
Recent Growth (1995-2008)
Internet Physical Infrastructure
ISP
Residential Access
–
–
–
–
Modem
DSL
Cable modem
Satellite
Backbone
Enterprise/ISP access,
Backbone transmission
ISP
Campus network
–
Ethernet, ATM
Internet Service Providers
–
–
T1/T3, DS-1 DS-3
OC-3, OC-12
–
ATM vs. SONET, vs. WDM
–
–
–
access, regional, backbone
Point of Presence (POP)
Network Access Point (NAP)
Who is Who in the Internet ?




Internet Engineering Task Force (IETF): The IETF is
the protocol engineering and development arm of the
Internet. Subdivided into many working groups, which
specify Request For Comments or RFCs.
IRTF (Internet Research Task Force): The Internet
Research Task Force is a composed of a number of
focused, long-term and small Research Groups.
Internet Architecture Board (IAB): The IAB is
responsible for defining the overall architecture of the
Internet, providing guidance and broad direction to the
IETF.
The Internet Engineering Steering Group (IESG):
The IESG is responsible for technical management of
IETF activities and the Internet standards process.
Standards. Composed of the Area Directors of the IETF
working groups.
Internet Standardization Process

All standards of the Internet are published as RFC
(Request for Comments). But not all RFCs are Internet
Standards !


A typical (but not only) way of standardization is:






available: http://www.ietf.org
Internet Drafts
RFC
Proposed Standard
Draft Standard (requires 2 working implementation)
Internet Standard (declared by IAB)
David Clark, MIT, 1992: "We reject: kings, presidents,
and voting. We believe in: rough consensus and running
code.”
ATM Virtual Circuits
A virtual circuit.
ATM Virtual Circuits (2)
An ATM cell.
The ATM Reference Model
The ATM reference model.
The ATM Reference Model (2)
The ATM layers and sublayers and their functions.
Ethernet
Architecture of the original Ethernet.
Wireless LANs
(a) Wireless networking with a base station.
(b) Ad hoc networking.
Wireless LANs (2)
The range of a single radio may not cover the entire system.
Wireless LANs (3)
A multicell 802.11 network.
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
•
•
•
•
Radio communications
Tele-communications Standardization
Development
Classes of Members
•
•
•
•
National governments
Sector members
Associate members
Regulatory agencies
IEEE 802 Standards
The 802 working groups. The important ones are
marked with *. The ones marked with  are
hibernating. The one marked with † gave up.
Metric Units
The principal metric prefixes.