Modeling and Analysis of Computer Networks Ali Movaghar Winter 2009.
-
Upload
jodie-sparks -
Category
Documents
-
view
224 -
download
0
Transcript of Modeling and Analysis of Computer Networks Ali Movaghar Winter 2009.
Modeling and Analysis of Computer Networks
Ali MovagharWinter 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., Prentice-
Hall, Inc., 2003.• J.F. Kurose and K.W. Ross, “Computer Networking: A
top-down Approach Featuring the Internet,” Addison-Wesley, 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 multi-user systems (mainframe computers) and the smallest single-user systems (microcomputers or personal computers).
A History of MinicomputersThe 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 same
Example
1 m Square meter PAN
10 m Room LAN
100 m100 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
BroadcastComputer Networks
SwitchedComputer Networks
Packet-SwitchedComputer Networks
Circuit-SwitchedComputer Networks
Virtual Circuit Networks
Datagram 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
DATA
Circuit Establishment
Data Transmission
Circuit Termination
Host 1 Host 2Node 1 Node 2
propagation delay between Host 1 and Node 1
propagation delay between Host 2 and Host 1
processing delay at Node 1
Circuit SwitchingA node (switch) in a circuit switching network
incoming links outgoing linksNode
Packet Switching
Data are sent as formatted bit-sequences, so-called packets. Packets have the following structure:
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
Header Data Trailer
Packet Switching
A node in a packet switching network
incoming links outgoing linksNode
Memory
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
Packet 1
Packet 2
Packet 3
Packet 1
Packet 2
Packet 3
Timing of Datagram Packet Switching
Packet 1
Packet 2
Packet 3
processing & queueingdelay of Packet 1 at Node 2
Host 1 Host 2Node 1
Node 2
propagationdelay betweenHost 1 and Node 2
transmission time of Packet 1at Host 1
Datagram Packet Switching
Host A
Host BHost E
Host D
Host C
Node 1 Node 2
Node 3
Node 4
Node 5
Node 6 Node 7
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
Packet 1
Packet 2
Packet 3
Packet 1
Packet 2
Packet 3
Timing of Virtual Circuit Packet Switching
Packet 1
Packet 2
Packet 3
Host 1 Host 2Node 1
Node 2
propagation delay between Host 1 and Node 1
VCestablishment
VCtermination
Datatransfer
Virtual Circuit Packet Switching
Host A
Host BHost E
Host D
Host C
Node 1 Node 2
Node 3
Node 4
Node 5
Node 6 Node 7
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?
No layering: each new application has to be re-implemented for every network technology!
Telnet FTP NFS
Packetradio
Coaxial cable
Fiberoptic
Application
TransmissionMedia
HTTP
Why Layering?
Solution: introduce an intermediate layer that provides a unique abstraction for various network technologies
Telnet FTP NFS
Packetradio
Coaxial cable
Fiberoptic
Application
TransmissionMedia
HTTP
Intermediate layer
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
Application
Presentation
Session
Transport
Network
Datalink
Physical
Network
Datalink
Physical
Physical medium
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)
H1H2
R1
R2
R3
R4
R5
R6
H2 R4…
H2 R6…
Fwd tableFwd table
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 connection-oriented 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)
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, heterogeneous-technologies, 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 213Oct. 1984 1,024Dec. 1987 28,174 Oct. 1990 313,000 Oct. 1993 2,056,000Apr. 1995 5,706,000Jul. 1997 19,540,000Jul. 1999 56,218,000Jul. 2001 125,888,197Jul. 2002 162,128,493
1
10
100
1000
10000
100000
1000000
10000000
100000000
1000000000
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
BackboneISP
ISP
Residential Access– Modem– DSL– Cable modem– Satellite
Enterprise/ISP access,
Backbone transmission– T1/T3, DS-1 DS-3– OC-3, OC-12
– ATM vs. SONET, vs. WDM
Campus network– Ethernet, ATM
Internet Service Providers– 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 !
available: http://www.ietf.org A typical (but not only) way of standardization is:
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.