CS555, Spring 2005
Computer Networks CS555 Ajay Gupta Department of Computer Science Western Michigan University Kalamazoo, MI 49008
[email protected] www.cs.wmich.edu/gupta/teaching/cs555/spring05/ Source: Kurose and Ross book, Guizani Book CS555, WMU-CS
Introduction
1-1
Chapter 1: roadmap What is the Internet? Protocols ❍ Network Structure ❍ Network Types ❍ Network topologies ❍ Network edge ❍ Network core, transmission types ❍ Network access and physical media ❍ Internet structure and ISPs ❍ Delay & loss in packet-switched networks ❍ Protocol layers, service models ❍ History ❍ ❍
CS555, WMU-CS
Introduction
1-2
How do loss and delay occur? packets queue in router buffers ! !
packet arrival rate to link exceeds output link capacity packets queue, wait for turn packet being transmitted (delay)
A B
packets queueing (delay) free (available) buffers: arriving packets dropped (loss) if no free buffers CS555, WMU-CS
WMU-CS, Dr. Gupta
Introduction
1-3
1
CS555, Spring 2005
Four sources of packet delay !
1. processing: ❍ ❍
!
2. queueing
check bit errors determine output link
time waiting at output link for transmission depends on congestion level of router
❍
❍
transmission
A
propagation
B nodal queueing processing
processing
Introduction
CS555, WMU-CS
1-4
Delay in packet-switched networks 3. Transmission delay: ! R=link bandwidth (bps) ! L=packet length (bits) ! time to send bits into link = L/R
Note: s and R are very different quantities!
transmission
A
4. Propagation delay: ! d = length of physical link ! s = propagation speed in medium (~2x108 m/sec) ! propagation delay = d/s
propagation
B
nodal processing
queueing
Introduction
CS555, WMU-CS
1-5
Caravan analogy 100 km ten-car caravan
toll booth
Cars “propagate” at 100 km/hr ! Toll booth takes 12 sec to service a car (transmission time) ! car~bit; caravan ~ packet ! Q: How long until caravan is lined up before 2nd toll booth? !
Time to “push” entire caravan through toll booth onto highway = 12*10 = 120 sec ! Time for last car to propagate from 1st to 2nd toll both: !
(transmission delay)
100km/(100km/hr)= 1 hr !
CS555, WMU-CS
WMU-CS, Dr. Gupta
100 km toll booth
(prop. Delay)
A: 62 minutes Introduction
1-6
2
CS555, Spring 2005
Caravan analogy (more) 100 km ten-car caravan
toll booth
100 km toll booth
Cars now “propagate” at 1000 km/hr ! Toll booth now takes 1 min to service a car ! Q: Will cars arrive to 2nd booth before all cars serviced at 1st booth? !
Yes! After 7 min, 1st car at 2nd booth and 3 cars still at 1st booth. ! 1st bit of packet can arrive at 2nd router before packet is fully transmitted at 1st router! !
http://wps.aw.com/aw_kurose_network_3/0,9212,1406346-,00.html
CS555, WMU-CS
Introduction
1-7
Nodal delay d nodal = d proc + d queue + d trans + d prop !
dproc = processing delay
!
dqueue = queuing delay
!
dtrans = transmission delay
!
dprop = propagation delay
❍
❍
❍
❍
typically a few microsecs or less depends on congestion (varies from packet to packet) = L/R, significant for low-speed links a few microsecs to hundreds of msecs
CS555, WMU-CS
Introduction
1-8
Introduction
1-9
Queueing delay (revisited) R=link bandwidth (bps) L=packet length (bits) ! a=average packet arrival rate (packets/sec) ! !
traffic intensity = La/R La/R ~ 0: average queueing delay small La/R -> 1: delays become large ! La/R > 1: more “work” arriving than can be serviced, average delay infinite! ! !
CS555, WMU-CS
WMU-CS, Dr. Gupta
3
CS555, Spring 2005
“Real” Internet delays and routes ! !
What do “real” Internet delay & loss look like? Traceroute (traceroute.org) program: provides delay measurement from source to router along end-end Internet path towards destination. For all i: ❍ ❍ ❍
sends three packets that will reach router i on path towards destination router i will return packets to sender sender times interval between transmission and reply. 3 probes
3 probes
3 probes
CS555, WMU-CS
Introduction
1-10
“Real” Internet delays and routes traceroute: gaia.cs.umass.edu to www.eurecom.fr Three delay measurements from gaia.cs.umass.edu to cs-gw.cs.umass.edu 1 cs-gw (128.119.240.254) 1 ms 1 ms 2 ms 2 border1-rt-fa5-1-0.gw.umass.edu (128.119.3.145) 1 ms 1 ms 2 ms 3 cht-vbns.gw.umass.edu (128.119.3.130) 6 ms 5 ms 5 ms 4 jn1-at1-0-0-19.wor.vbns.net (204.147.132.129) 16 ms 11 ms 13 ms 5 jn1-so7-0-0-0.wae.vbns.net (204.147.136.136) 21 ms 18 ms 18 ms 6 abilene-vbns.abilene.ucaid.edu (198.32.11.9) 22 ms 18 ms 22 ms 7 nycm-wash.abilene.ucaid.edu (198.32.8.46) 22 ms 22 ms 22 ms trans-oceanic 8 62.40.103.253 (62.40.103.253) 104 ms 109 ms 106 ms link 9 de2-1.de1.de.geant.net (62.40.96.129) 109 ms 102 ms 104 ms 10 de.fr1.fr.geant.net (62.40.96.50) 113 ms 121 ms 114 ms 11 renater-gw.fr1.fr.geant.net (62.40.103.54) 112 ms 114 ms 112 ms 12 nio-n2.cssi.renater.fr (193.51.206.13) 111 ms 114 ms 116 ms 13 nice.cssi.renater.fr (195.220.98.102) 123 ms 125 ms 124 ms 14 r3t2-nice.cssi.renater.fr (195.220.98.110) 126 ms 126 ms 124 ms 15 eurecom-valbonne.r3t2.ft.net (193.48.50.54) 135 ms 128 ms 133 ms 16 194.214.211.25 (194.214.211.25) 126 ms 128 ms 126 ms 17 * * * * means no response (probe lost, router not replying) 18 * * * 19 fantasia.eurecom.fr (193.55.113.142) 132 ms 128 ms 136 ms
(traceroute.org)
CS555, WMU-CS
Introduction
1-11
Packet loss ! queue (aka buffer) preceding a link has
finite capacity (buffer capacity)
! when packet arrives to full queue, packet is
dropped (aka lost)
! lost packet may be retransmitted by
previous node, by source end system, or not retransmitted at all
CS555, WMU-CS
WMU-CS, Dr. Gupta
Introduction
1-12
4
CS555, Spring 2005
Chapter 1: roadmap What is the Internet? Protocols ❍ Network Structure ❍ Network Types ❍ Network topologies ❍ Network edge ❍ Network core, transmission types ❍ Network access and physical media ❍ Internet structure and ISPs ❍ Delay & loss in packet-switched networks ❍ Protocol layers, service models ❍ History ❍ ❍
Introduction
CS555, WMU-CS
1-13
Protocol “Layers” Networks are complex! ! many “pieces”: ❍ hosts ❍ routers ❍ links of various media ❍ applications ❍ protocols ❍ hardware, software
Question: Is there any hope of organizing structure of network? Or at least our discussion of networks?
Introduction
CS555, WMU-CS
1-14
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 CS555, WMU-CS
WMU-CS, Dr. Gupta
Introduction
1-15
5
CS555, Spring 2005
Organization of air travel: a different view ticket (purchase)
ticket (complain)
baggage (check)
baggage (claim)
gates (load)
gates (unload)
runway takeoff
runway landing airplane routing
airplane routing
airplane routing
Layers: each layer implements a service ❍ via its own internal-layer actions ❍ relying on services provided by layer below CS555, WMU-CS
Introduction
1-16
Introduction
1-17
Layered air travel: services Counter-to-counter delivery of person+bags baggage-check-to-baggage-claim delivery people transfer: loading gate to arrival gate runway-to-runway delivery of plane airplane routing from source to destination
CS555, WMU-CS
ticket (purchase)
ticket (complain)
baggage (check)
baggage (claim)
gates (load)
gates (unload)
runway takeoff
runway landing
airplane routing
airplane routing
arriving airport
Departing airport
Distributed implementation of layer functionality
intermediate air traffic sites airplane routing
airplane routing
airplane routing CS555, WMU-CS
WMU-CS, Dr. Gupta
Introduction
1-18
6
CS555, Spring 2005
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? !
Introduction
CS555, WMU-CS
1-19
Internet protocol stack !
application: supporting network applications
!
transport: host-host data transfer
❍
❍
application
FTP, SMTP, STTP TCP, UDP
!
network: routing of datagrams from source to destination
!
link: data transfer between neighboring network elements
❍
❍
!
transport network link
IP, routing protocols
physical
PPP, Ethernet
physical: bits “on the wire” Introduction
CS555, WMU-CS
1-20
Layering: logical communication Each layer: ! distributed ! “entities” implement layer functions at each node ! entities perform actions, exchange messages with peers
application transport network link physical application transport network link physical
CS555, WMU-CS
WMU-CS, Dr. Gupta
network link physical
application transport network link physical
application transport network link physical
Introduction
1-21
7
CS555, Spring 2005
Layering: logical communication data application transport transport network link physical
E.g.: transport
! take data from app ! add addressing,
reliability check info to form “datagram” ! send datagram to peer ! wait for peer to ack receipt ! analogy: post office
ack
application transport network link physical
network link physical
data
data application transport transport network link physical
application transport network link physical
Introduction
CS555, WMU-CS
1-22
Layering: physical communication data application transport network link physical application transport network link physical
network link physical
application transport network link physical
data application transport network link physical
CS555, WMU-CS
Introduction
1-23
Protocol layering and data Each layer takes data from above ! adds header information to create new data unit ! passes new data unit to layer below source M Ht M Hn Ht M Hl Hn Ht M
application transport network link physical
destination application Ht transport Hn Ht network Hl Hn Ht link physical
CS555, WMU-CS
WMU-CS, Dr. Gupta
M
message
M M M
segment datagram frame
Introduction
1-24
8
CS555, Spring 2005
Chapter 1: roadmap What is the Internet? Protocols ❍ Network Structure ❍ Network Types ❍ Network topologies ❍ Network edge ❍ Network core, transmission types ❍ Network access and physical media ❍ Internet structure and ISPs ❍ Delay & loss in packet-switched networks ❍ Protocol layers, service models ❍ History ❍ ❍
Introduction
CS555, WMU-CS
1-25
Internet History 1961-1972: Early packet-switching principles ! 1961: Kleinrock - queueing
theory shows effectiveness of packetswitching ! 1964: Baran - packetswitching in military nets ! 1967: ARPAnet conceived by Advanced Research Projects Agency ! 1969: first ARPAnet node operational
! 1972: ❍ ❍
❍ ❍
CS555, WMU-CS
ARPAnet demonstrated publicly NCP (Network Control Protocol) first hosthost protocol first e-mail program ARPAnet has 15 nodes
Introduction
1-26
Internet History 1972-1980: Internetworking, new and proprietary nets ! 1970: ALOHAnet satellite ! !
!
!
!
network in Hawaii 1973: Metcalfe’s PhD thesis proposes Ethernet 1974: Cerf and Kahn architecture for interconnecting networks late70’s: proprietary architectures: DECnet, SNA, XNA late 70’s: switching fixed length packets (ATM precursor) 1979: ARPAnet has 200 nodes
Cerf and Kahn’s internetworking principles: ❍ minimalism, autonomy no internal changes required to interconnect networks ❍ best effort service model ❍ stateless routers ❍ decentralized control define today’s Internet architecture
CS555, WMU-CS
WMU-CS, Dr. Gupta
Introduction
1-27
9
CS555, Spring 2005
Internet History 1980-1990: new protocols, a proliferation of networks ! ! !
! !
1983: deployment of TCP/IP 1982: SMTP e-mail protocol defined 1983: DNS defined for name-to-IPaddress translation 1985: FTP protocol defined 1988: TCP congestion control
new national networks: Csnet, BITnet, NSFnet, Minitel ! 100,000 hosts connected to confederation of networks !
Introduction
CS555, WMU-CS
1-28
Internet History 1990, 2000’s: commercialization, the Web, new apps
Late 1990’s – 2000’s:
! Early 1990’s: ARPAnet
decommissioned
! 1991: NSF lifts restrictions on
!
commercial use of NSFnet (decommissioned, 1995) ! early 1990s: Web ! ❍ hypertext [Bush 1945, Nelson 1960’s] ! ❍ HTML, HTTP: Berners-Lee ❍ 1994: Mosaic, later Netscape ! ❍ late 1990’s: commercialization of the Web
more killer apps: instant messaging, peer2peer file sharing (e.g., Naptser) network security to forefront est. 50 million host, 100 million+ users backbone links running at Gbps Introduction
CS555, WMU-CS
1-29
Introduction: Summary Covered a “ton” of material! ! Internet overview ! what’s a protocol? ! network edge, core, access network ❍ packet-switching versus circuit-switching ! Internet/ISP structure ! performance: loss, delay ! layering and service models ! history CS555, WMU-CS
WMU-CS, Dr. Gupta
You now have: ! context, overview, “feel” of networking ! more depth, detail to
follow!
Introduction
1-30
10
CS555, Spring 2005
Chapter 11 Network Modeling & Simulation
Source: Guizani Book, OPNET docs
CS555, WMU-CS
Introduction
1-31
Agenda ! MODELING CONCEPTS ! MODELING METHODOLOGY: HOW TO GET STARTED? ! OPNET MODELING & SIMULATION
PLATFORM
! OPNET examples CS555, WMU-CS
Introduction
1-32
Learning Objectives !
The importance of modeling and simulation in characterizing systems behavior
!
Practical limitations and issues associated with modeling complex systems
!
The different steps of a successful modeling methodology
!
The OPNET modeling and simulation platform and software modules
!
Practical use cases of the OPNET software product CS555, WMU-CS
WMU-CS, Dr. Gupta
Introduction
1-33
11
CS555, Spring 2005
What’s a Simulation? ! “Simulation” refers to the process of replicating the
behavior of a real-life system using a systematic methodology that is both accurate and repeatable
! Simulation is widely recognized by technical and management
circles that live testing cannot reasonably perform all possible configurations required by a detailed analysis study due to several reasons ❍ ❍ ❍
Cost Flexibility New Functionality
CS555, WMU-CS
Introduction
1-34
Simulation & Real Life Relevance !
Modeling network systems accurately and efficiently is a difficult task
!
Generally, there is a trade to be made between how accurate the simulation should versus how quickly is the answer required
!
Some of the issues the developers have to deal with in creating these simulation models include: ❍ ❍ ❍
Memory Limitations Processor Limitations Simulation Platform Limitations
CS555, WMU-CS
Introduction
1-35
Modeling Methodology ! To tackle any modeling project, the user should follow a
systematic methodology to arrive at the answers required by the analysis study
! This systematic methodology has a number of distinct
characteristics, including: ❍ ❍ ❍ ❍
Tested Repeatable Methodical Achievable
! There is no single way to define a modeling methodology, but
the following describe it in the most general form so that it can be usable in as many possible cases as possible
CS555, WMU-CS
WMU-CS, Dr. Gupta
Introduction
1-36
12
CS555, Spring 2005
Step 1: Define the Problem !
This is the most important step in any modeling project
!
Nevertheless, the analysts in the fury of schedule limitations and budget constraints commonly skip it
!
It is wise to spend as much time as needed to arrive at a very clear problem statement that is as complete as possible from both qualitative and quantitative standpoints
CS555, WMU-CS
Introduction
1-37
Step 1: Define the Problem An example of a good question is: How does HTTP/1.1 perform over a geostationary satellite network when compared to HTTP/1.0 with connection reuse?
!
An example of a bad question addressing similar concerns is: Is HTTP/1.1 better or worse than HTTP/1.0? !
CS555, WMU-CS
Introduction
1-38
Step 2: Define/Build a NetworkTopology ! Generally, there are three different topology types that can
be built: complete, partial, and single path
! A complete topology includes all the links and devices in the
network
! A partial topology models a section of the network in detail
(e.g., a data-center subnet)
! A single-path topology contains only the infrastructure
portion supporting the traffic flow in question among the network devices
! A complete topology is necessary (in most cases) when a
particular problem is spread across the network and it is important to identify the impact of the problem on all devices involved
CS555, WMU-CS
WMU-CS, Dr. Gupta
Introduction
1-39
13
CS555, Spring 2005
Example of Full Topology
CS555, WMU-CS
Introduction
1-40
Step 3: Define/Configure Traffic ! There are two techniques for representing traffic in
OPNET: explicit and background traffic
! The architecture of background traffic in OPNET is
designed so that background traffic influences links, devices, and explicit packet flows along its path
! Background traffic can be represented as a flow between a
source and destination or as static utilization on a link or device
! For example, if we are focusing on the impact of server
traffic on the network and not studying the server itself in detail, this methodology can use the background traffic model without too much loss of accuracy or model flexibility CS555, WMU-CS
Introduction
1-41
Step 4: Choose Statistics ! The user has to select the statistics that are relevant to
the problem statement defined in the first step of this modeling process
! For example, when studying failure/recovery scenarios, link
and circuit utilization levels are prime candidates for statistical monitoring and analysis
! OPNET uses the concept of “buckets” (or bins) to collect
statistics during the simulation
! Using buckets, the simulation kernel groups a number data
points in a bucket and presents a single value to represent those data points
! Occasionally, the collected statistics may not be granular
enough forcing the user to change the collection mode CS555, WMU-CS
WMU-CS, Dr. Gupta
Introduction
1-42
14
CS555, Spring 2005
Bucket Size Effects
100 buckets
vs.
3600 buckets
CS555, WMU-CS
Introduction
1-43
Step 5: Perform What-if’s !
The initial set of simulation runs is necessary to establish a baseline of the model and its statistics. Once the initial runs are completed, further studies can be carried out
!
For example, when conducting a routing analysis study, the user may perform other what-if scenarios on the routing protocols such as: selecting a different routing protocol, changing the attributes of an existing routing protocol, using routing to achieve load balancing etc
CS555, WMU-CS
Introduction
1-44
Step 5: Perform What-if’s (cont.) •There are a number of analysis techniques that can be used to conduct the what-if scenarios. These include: •Discrete event simulation (DES) •Analytical prediction •Hybrid simulation •Parallel simulation •Co-simulation
CS555, WMU-CS
WMU-CS, Dr. Gupta
Introduction
1-45
15
CS555, Spring 2005
Step 6: Present Results & Provide Documentation ! The model developer (or any member of the modeling team)
should take the responsibility of documenting the results and providing the appropriate medium to share the results with other team members
! The level of details of such a presentation depends on the
target audience
! Usually, management is interested in high level results, and
the way they can impact the company’s financial bottom-line
! On the other hand, the technical group is usually interested
in the intimate details of the model to ensure its accuracy and verify its strength
CS555, WMU-CS
Introduction
1-46
Outline of a Technical Report
CS555, WMU-CS
Introduction
1-47
OPNET Modeling & Simulation Platform !
OPNET has several products that serve the needs of individual audiences: enterprises, network R&D organizations, and network service providers ❍
IT Guru: used by enterprises
❍
SP Guru: used by service providers
❍
Modeler: used for R&D and academic purposes
❍
VNE Server: data collection and analysis
❍
WDM Guru: focuses on optical networking technologies such as WDM and SONET CS555, WMU-CS
WMU-CS, Dr. Gupta
Introduction
1-48
16