Professional Documents
Culture Documents
This publication is copyright under the Berne Convention and the Universal Copyright
Convention. All rights reserved. Apart from any fair dealing for the purposes of research
or private study, or criticism or review, as permitted under the Copyright, Designs and
Patents Act 1988, this publication may be reproduced, stored or transmitted, in any
form or by any means, only with the prior permission in writing of the publishers, or in
the case of reprographic reproduction in accordance with the terms of licences issued
by the Copyright Licensing Agency. Enquiries concerning reproduction outside those
terms should be sent to the publisher at the undermentioned address:
www.theiet.org
While the author and publisher believe that the information and guidance given in this
work are correct, all parties must rely upon their own skill and judgement when making
use of them. Neither the author nor publisher assumes any liability to anyone for any
loss or damage caused by any error or omission in the work, whether such an error or
omission is the result of negligence or any other cause. Any and all such liability
is disclaimed.
The moral rights of the author to be identified as author of this work have been
asserted by him in accordance with the Copyright, Designs and Patents Act 1988.
5 Network-requirement analysis 93
5.1 Network services and requirements 93
5.2 Service characteristics 94
5.3 Requirement-analysis process 98
5.4 User-requirement analysis 99
5.5 Application-requirement analysis 100
5.6 Host-requirement analysis 101
5.7 Network-requirement analysis 102
5.8 Requirement-analysis model 103
5.9 Reliability, maintainability, and availability analyses 104
5.10 Related works 109
5.11 Review questions 110
5.12 Problems 111
References 299
Index 315
List of figures
This book introduces a methodological approach to network design that enables read-
ers to evaluate a network situation and identify the most important aspects to be
monitored and analyzed. It shows how to go from the analysis of initial network
requirements to the network architecture design, modeling, simulation, and evalua-
tion. Practice exercises are given for selected chapters, and case studies take the reader
through the whole network-design process. It is ideal for practitioners and researchers
working in all aspects of network services.
Intended audience
This book is intentionally designed for undergraduate and graduate programs in net-
working, communications, and computer engineering, as well as communications,
IT, and networking professionals, researchers and scientists involved in the planning,
design, development, testing, and operation of network services. This book is also
suitable for self-study to gain a basic knowledge of computer-network design to be
able to develop a simple network model for further analysis at advanced level.
Developed as a textbook, this book can benefit lecturers and students in net-
working, communications, and computer engineering. The chapters are particularly
designed as a series of independent modules that can be combined in a number of
ways for designing the courses.
simulation, and examine the techniques facilitating such work. It will provide you with
the appreciation of the design and development simulation software as appropriate
models to evaluate the pure performance and availability, as well as performability of
computer networks.
This book covers the following topics:
● Internetworking and internetworking units
● Systematic approach to network design:
– Requirements and flow analysis
– Logical design
– Addressing and routing
– Internetworking strategies: switching, routing, hierarchy, and redundancy
● Probability and statistics used in modeling networks:
– Probabilities
– Random variables and their families
– Random-variate generation
– Application of statistical models in network simulation
● Input modeling techniques and output data analysis
● Queueing theory and analytical modeling of nodes and networks:
– Queueing models and their variations
– Analysis of queueing models and their applications in network design
● Performance evaluation of computer networks
– Network simulation
– Modeling for analytical solutions and simulation
– Modeling and simulation of single-and multi-server queueing systems
– Modeling of complex systems
– Building simulation models and analytical models
In this book, I will provide detailed steps from the analysis of initial network
requirements to the network architecture design, modeling, simulation, and evalua-
tion. In particular, there are more focuses on the statistical and queueing models to
show that they are particularly useful for the network design and analysis. This book
is directed at readers with little or no background in networking. For the readers with
great interest, related works are provided in a separate section of every chapter for
further study. Also, this book contains a number of review questions and problems at
the end of each chapter for the readers to practice.
This book is specifically designed for undergraduate and graduate programs in net-
working, communications, and computer engineering, as well as communications,
IT, and networking professionals, researchers and scientists involved in the planning,
design, development, testing, and operation of network services.
For best use of the book, the students of undergraduate programs in network-
ing, communications, and computer engineering are suggested to follow the whole
structure of the book. The students of postgraduate programs who are supposed to
Preface xxiii
have good background knowledge in computer networks and used to work on network
design/development can have a quick review of Chapters 1–3.
The book consists of several homework problems that are organized to assist both
instructors and students with reference to the relevant sections.
Dependence graph
The dependence between chapters in the book is summarized in Figure P.1 where
some chapters can be skipped depending on the background of the students and also
on the preferences of the instructor.
Chapter 1
Background
Chapter 2 of
networking
Chapter 3 Network
design
Chapter 4 Chapter 5
Chapter 6
Chapter 7
Chapter 8 Modeling
Chapter 9
Chapter 10
Chapter 11
Chapter 12
Performance
evaluation
Chapter 13 Chapter 15
Chapter 14 Chapter 16
Chapter 17
It has been decades since the first computer was produced to do a very basic cal-
culation. When first developed, the computer was simply a standalone machine to
help people in either solving problems that require high-complexity computational
algorithms or storing data or providing amusement with a variety of entertainment
and was therefore named as a personal computer (PC). Over the time, such PC has
been keeping changing to meet the users’ non-stopping requirements in daily life.
Along with a number of social activities of high interactive demands between users
of distant areas, a two-way flow of information between the PC and the user is shown
to be insufficient and hence necessitate the networking concept to link all the PCs
in a proper manner that allows them to understand each other even though they have
different configurations and may be located at different continents.
Aiming at showing an overview picture of computer networks, in this chapter,
I will first outline the fundamentals of networking in Section 1.1 with different net-
work models. Starting from small-size networks, Section 1.2 will discuss local area
network (LAN) for limited geographic area with variant topologies, technologies and
access mechanisms. Section 1.3 will then consider wide area network (WAN) for
a large geographic area, where I will highlight some well-known WAN devices and
topologies along with relevant technologies over network media. In order to model the
communications between different devices in different networks, a reference model
or framework is required. Section 1.4 will provide a brief explanation of seven layers
in open systems interconnection (OSI) framework. As the most widely used pro-
tocol over the Internet, Transmission Control Protocol/Internet Protocol (TCP/IP)
suite with a variety of communication protocols will be presented in Section 1.5.
A brief account of internetworks and internetworking units will be explained in Sec-
tion 1.6 where I will show the functionalities of intermediary devices for computer
networking, including repeaters/hubs, bridges/switches, and routers/gateways.
evolved technology also allowed sharing graphic, voice and even video streams over
various types of computer systems. In the 1990s, the Internet was emerged as a
novel concept to form a global community as a global communication network where
people at any location or time zone can simply surf the World Wide Web (WWW) to
exchange the information. Since then, the Internet has become a part of our daily life.
However, behind such high-technology communication network, there are a number
of interconnections between electronic devices and computer systems that we are not
aware of their presence.
Depending on the size, service, and functionality of a network, there are many
types of computer networks as follows:
● LAN (cf. Figure 1.1): connects the devices which are geographically close to
each other. As an extension of wired LAN, wireless LAN (WLAN) enables the
over-the-air connection of wireless enabled devices.
● WAN (cf. Figure 1.2): consists of two or more LANs connecting the devices
which are geographically far apart.
● Campus area network (CAN) (cf. Figure 1.3): connects LANs within either a
school campus or an enterprise campus.
● Metropolitan area network (MAN) (cf. Figure 1.4): connects LANs within a town
or a city but has a smaller coverage area compared to WAN.
● Home area network (HAN) (cf. Figure 1.5): connects devices within an individual
home.
● Personal area network (PAN) (cf. Figure 1.6): is the smallest network connecting
devices around an individual person, which could be PCs, telephones, mobile
phones, tablets, personal digital assistants (PDAs), printers, etc.
University
As listed above, the size of the geographical area is exploited to name distinct
groups of computer networks. In the scope of this book, I will scrutinize the LANs
and WANs in most parts, while the CANs, MANs, PANs, and HANs can be referred
to as special models with specific group of users and geographic boundaries.
Internetworking and network fundamentals 5
1
Note that the bandwidth is defined differently in digital communications, which is used to represent the
operation frequency range measured in hertz (Hz). In the rest of this book, bandwidth and capacity are
used interchangeably, unless otherwise indicated.
6 Network design, modeling, and performance evaluation
Network symbol
Network symbol
A simplest form of the hubs is a repeater with only two physical incoming and outgoing
ports, which used to extend the network coverage. The hubs are generally regarded
as multi-port repeaters to regenerate the received signals and send them over all ports
(cf. Figure 1.7).
Definition 1.2. Throughput is defined as the actual data transfer rate in bps.
1.2.1.2 Switches
Switches are normally used in a large network to connect devices to a LAN by regener-
ating the received data frame and sending it to a certain destination port (cf. Figure 1.8).
A predecessor of switches is a bridge that simply connects a LAN to another LAN
via two physical ports. The switches typically have multiple ports and thus can be
regarded as multi-port bridges.
1.2.1.3 Routers
Routers are intermediary network devices used to connect LANs and WANs (cf.
Figure 1.9). The routers receive and forward data packets based on addresses. Instead
of using hardware to forward the packets as in switches, the routers use software
to manage the packet forwarding with different protocols and also support different
network technologies.
Internetworking and network fundamentals 7
Network symbol
1.2.2.1 Bus
Bus topology has been deployed for connecting PCs since the early implementation of
historic Ethernet where all devices are connected to a single central cable, namely, the
bus, as the backbone of the network and they use a shared medium (cf. Figure 1.10).
1.2.2.2 Star
In a star topology, devices are connected to a central point of the network, e.g., hubs,
over the same shared medium as in bus topology (cf. Figure 1.11).
1.2.2.3 Ring
In a ring topology, devices are linked together in a closed loop with no central point.
Each device sequentially receives and passes the data frames to the next device until
reaching the destination (cf. Figure 1.12).
8 Network design, modeling, and performance evaluation
Carrier sense
(CS)
Multiple access
(MA)
Collision detection
(CD)
Figure 1.17 Carrier sense multiple access with collision detection (CSMA/CD)
Internetworking and network fundamentals 13
can transmit its data. Otherwise, the device has to wait until the occupied transmission
finishes prior to transmitting its data. However, there is a likely scenario that collision
may happen when two devices in the network transmit data simultaneously. In that
case, both devices back off, and each device will wait a random time period before
retransmitting its data. Such collision indeed occurs quite often in a network with
many devices and thus causes performance degradation of the Ethernet in a busy
network.
Carrier sense
(CS)
RTS
Collision avoidance
(CA)
Data
Figure 1.18 Carrier sense multiple access with collision avoidance (CSMA/CA)
14 Network design, modeling, and performance evaluation
Token
network. If a device receives the token, it is granted the right to transmit data. However,
if the device holding the token does not want to send any data then it will pass the token
to the next device. Such token passing helps prevent the collisions in the network.
The data frame circulates the ring until it reaches the intended receiver. The receiver
copies the data frame for further processing and forward it to continue circulating
the ring until it reaches the sender for verifying if has been received by the receiver.
Although the collisions are unlikely to occur with control token, the delay caused
by circulating the token around the network is substantial in a large network with a
number of devices.
sender sends the data packet across the network to a specified receiver based on the
destination address. The unicast transmission is still of greatest importance in LAN.
Not interested
Not registered
a multicast address and a copy of the packet will be sent to each receiver in the set of
the multicast destination address.
WAN
switch
Modem Modem
1.3.1.2 Modems
A modem is basically a device that has the function of both modulator and demodulator
to convey analog signals over the medium, e.g., telephone lines. A modem at the sender
converts the digital data to analog signals for transmission and another modem at the
receiver will do the reverse job by changing the received analog signals into the
original digital data (cf. Figure 1.24). Depending on the modulation/demodulation,
the modems may have different data rates.
WAN
switch
CSU/DSU
Modem
Modem Access
server
Modem
1.3.1.5 Multiplexers
A MUX is a device used to combine data channels from different WAN technologies
into a single data stream which can be then transmitted over a common line with an
integrated CSU/DSU (cf. Figure 1.27). The MUX also allows us to combine both
data and voice over the same line connecting to the WAN. The MUX can therefore
eliminate a number of individual connections for each channel saving significantly
operation and implementation costs.
MUX
can be applied only in a small network, whereas it is impractical in a large WAN with
a large number of devices.
3
2
This accordingly increases network efficiency and saves significantly the cost of
the customers in leasing the point-to-point lines from a carrier network provider. In
packet-switched networks (PSNs) with VCs, connections are virtually set up between
the WANs and the carrier network allowing the customers in different WANs share
the same carrier network which is referred to as a cloud. Some examples of the PSNs
include X.25, frame relay, ATM, and SMDS, which will be sequentially discussed in
Sections 1.3.3.5–1.3.3.8.
2 1
3
when a router has voice, text, data, etc. to transmit to another router at a remote
site, an ISDN circuit is firstly initiated to set up a voice call to the remote network
with a telephone number. The data communication between the two devices will be
carried out when the connection between them is authentically established. As in
circuit switching, the connection will be terminated when the data communication is
complete.
Applications of ISDN involve providing additional telephone lines in homes for
tasks requiring integrated voice and data, high-speed file transfer, resource sharing,
and video-conferencing.
ISDN devices include the following (cf. Figure 1.33):
● Terminals: There are two types of terminal equipment (TE). TE type 1, i.e., TE1,
and TE type 2, i.e., TE2. The TE1s are specialized ISDN terminals to connect to
the ISDN network through four-wire, twisted-pair digital links, while the TE2s
connect to the ISDN network through a terminal adapter (TA).
● TAs: An ISDN TA can be either a standalone device or an integrated board within
TE2, which is basically used to connect the ISDN to other interfaces, e.g., serial
interface on a router.
● Network-termination (NT) devices: also include two NT types, i.e., NT1 and NT2,
corresponding to TE1 and TE2 to connect the four-wire subscriber wiring of TE
to the conventional two-wire local loop at customer sites.
● Line-termination equipment: is a device physically connected to the phone
company switch.
● Exchange-termination equipment: is a device used to connect between the
switches within the phone network.
Switched network
NT1/NT2
NT1/NT2 ISDN
ISDN switch
Packet network
switch
TE
TE
Private line network
DCE DCE
PSE PSE
DCE DCE
PSE PSE
DTE DTE
X.25 Network
1.3.3.5 X.25
X.25 is an International Telecommunication Union-Telecommunication Standard-
ization Sector (ITU-T) standard protocol in WAN that describes how to connect user
devices and network devices in PSNs along with their maintenance and operation pro-
cedures. The X.25 can operate effectively and independently of the type of systems in
the network. In order to ensure reliable communication among network devices, the
X.25 contains both SVCs and PVCs (cf. Section 1.3.3.3) within the physical circuit.
X.25 devices include data TE (DTE), data circuit-terminating equipment (DCE),
and packet-switching exchange (PSE) (cf. Figure 1.34).
● DTEs are simply end devices, e.g., terminals, PCs, or network hosts.
● DCEs are communication devices, e.g., modems and switches, that act as an
interface to link the DTEs at the ESs and the PSE at the carrier provider to
transfer data across the network.
DCE
DCE
DCE
DCE DCE
DTE
DTE
Frame relay
by the ITU-T and is an American National Standards Institute (ANSI) standard in the
United States (US).
Similar to X.25, frame relay devices basically include DTEs and DCEs (cf.
Figure 1.35). The data communication between devices in PSN is realized via either
SVCs or PVCs along with two following techniques:
● Variable-length packets: The packets of different lengths are switched across the
VCs until reaching the destination and thus enhance the network efficiency.
● Statistical multiplexing: The statistical multiplexing is used to control the network
access of devices to efficiently allocate bandwidth in frame relay PSN.
Due to its similarity with X.25, frame relay is also regarded as a streamlined
version of X.25. However, the frame relay typically operates over WAN facilities and
consequently achieves a higher performance with more reliable connection services
when compared to X.25.
suffering the latency caused by waiting the large data packet. The ATM therefore
provides high-speed WANs and LANs.
ATM devices (cf. Figure 1.36) consist of the following:
● ATM switch: has similar role as the switches used in different technology but
specifically designed for cell relay in an ATM network.
● ATM endpoint: is basically an ES which could be routers, LAN switches,
CSU/DSU, and workstations.
SNI
SNI
MUX
Carrier equipment
SMDS
CPE CPE
PSTN
ADSL
modem DSL access DSL switch
multiplexer ISP
ATM network
supported data rate, there are various xDSL forms, of which can be typically listed
as follows:
● Asymmetric DSL (ADSL): is the most popular associated with DSL technology.
In the ADSL, more bandwidth is allocated for downlink compared to uplink, and
thus suitable for users who prefer to download data, surf internet, watch online
movie, etc., rather than uploading or sharing data online. With the asymmetry
in ADSL circuit design dividing the bandwidth of a telephone line into multiple
channels for high-speed downstream, medium-speed duplex, and basic telephone
service, the ADSL can enable data flow for both downstream and upstream,
while guaranteeing uninterrupted basic telephone service. The ADSL is therefore
playing a crucial role and will keep promoting in telephony markets.
● Symmetric DSL (SDSL): provides symmetrically high-speed data communication
of variable rate up to 1.54 Mbps. The SDSL, though supports only data yet does
28 Network design, modeling, and performance evaluation
not allow analog signal as in ADSL, is easy to deploy and is thus beneficial for
the services required only high-speed data transmission over a long distance.
● High-bit-rate DSL: is a symmetric version of DSL that can offer full-rate service
of 1.5 Mbps over two-wire pairs but does not support adaptive-rate services as in
SDSL.
● Very high-data-rate DSL: enables high-speed data transmissions of nearly ten
times than that of the ADSL over short distances using twisted-pair copper
telephone lines as in ADSL.
Data Data
Application layer
Presentation layer
Session layer
Transmit data
Receive data
Transport layer
Network layer
Data-link layer
Physical layer
Transmission medium
layers of the OSI model, followed by the introduction of the interactions between these
layers in communications as well as the information format associated with each layer.
Data
Data
PDU
Application layer
Session layer
Segment/
Transport layer
Datagram
the PDU refers to a unit of data after encapsulating the SDU with control information.
The PDUs are defined according to the OSI model layers (cf. Figure 1.41). In the
upper OSI layers, i.e., application, presentation, and session layers, PDU is referred
to as data. In the lower OSI layers, there are four PDUs as follows:
● Layer 4—transport layer: PDU is a segment (TCP)/datagram (UDP).
● Layer 3—network layer: PDU is a packet.
● Layer 2—data-link layer: PDU is a frame.
● Layer 1—physical layer: PDU is a bit.
Application layer
Session layer
Data-link layer
Network access layer
Physical layer
2
TCP/IP suite can also be referred to as the Internet protocol suite.
34 Network design, modeling, and performance evaluation
1.6 Internetworks
As shown in previous sections, there exists a variety of network models with different
sizes and functionalities. It is vital to connect them together in a large network, namely,
internetwork, by using intermediary devices.
When considering a large group with a number of individual elements, one of the
questions that can be raised is how to share a limited resource available in the group
to every element in an efficient way. This concern indeed applies to the internetworks
which also require an efficient resource sharing and effective communication capa-
bility between all individual networks. In other words, network management plays an
important role in internetworks to cope with the incompatibility of different devices
as well as the inconsistency of different network models.
With the evolved technologies, many manufacturers, vendors, and operators are
continuing to create new machines with different configurations, OSs with differ-
ent programs, and also different transmission media with advanced communication
mechanisms. Internetworking therefore has to enable the compatibility of them allow-
ing the cooperation of PCs from different vendors with different OSs using different
transmission media on different networks in different continents.
Internetworking is not simply providing a connection between devices to link
them together. Such process sounds simple, but it in fact requires complicated tasks
with challenges to be faced. There are a number of concerns regarding the connectivity,
compatibility, flexibility, reliability, and security in the internetworks. For instance,
one of the critical issues is how to provide a reliable and secured communication
between different devices over different media in different systems given a number
of advanced technologies evolved along with cyberattacks developed in parallel, e.g.,
distributed denial-of-service attack and recently WannaCry ransomware attack have
affected computers worldwide.
In order to easily manage such a large network, internetworks require a network
hierarchy for organizing devices in systems and an addressing mechanism to identify
36 Network design, modeling, and performance evaluation
AS
ES IS ES
IS
Area
Area
IS IS
ES
ES IS
IS
ES ES
Area
Area
IS
MAC address
Manufacturer’s Interface
identification number serial number
24 bits 24 bits
devices in IS have multiple LAN interfaces for interconnection and thus should have
multiple MAC addresses. Since MAC is a sublayer of data-link layer in the OSI
framework (cf. Section 1.4.1.6), the MAC addresses are also referred to as a subset
of data-link layer addresses.
A MAC address consists of 48 bits written in hexadecimal (or base-16) numbers
(cf. Figure 1.44). For simple representation, there are two formats of MAC addresses,
i.e., MM-MM-MM-SS-SS-SS or MMMM.MMSS.SSSS. The first 24 bits are identi-
fication number of the manufacturer and the remaining 24 bits are the interface serial
number assigned by the manufacturer.
● 00-00-0A-BC-19-82
● 0000.0ABC.1982
● IPv4: 172.10.10.82
● IPv6: 1982:BA10:C12:7:10:14:12:30
38 Network design, modeling, and performance evaluation
1.6.4.1 Computers
Along with the intermediary devices in the internetworks, there is a must-have device
that every computer system cannot run without it. That is computer or PC or terminal.
Every PC has a unique way to identify itself, which is based on a physical address.
A PC has a physical address regardless it is connected to internetwork or runs on its
own. The physical address can be found on the NIC which is a circuit board or a chip
allowing a PC to communicate with other PCs in the network.
The physical address is programmed into a chip on the NIC and is assigned by the
hardware manufacturer before it leaves the factory. Since the physical address is also
referred to as MAC address (cf. Section 1.6.2.1), the NIC is a layer-2 device at the
data-link layer. The address is unique on every NIC card, so if the NIC were replaced
on a PC, the physical address of the PC would change to that of the new NIC.
1.6.4.2 Repeaters/Hubs
A repeat, as the name says, is basically an intermediary device used to extend the
coverage of LANs. It has two ports and the data flow can travel in both ways, i.e.,
two-way communications. When receiving the data from one port, the repeaters may
clean up the noise, amplify, and pass the data at bit level to another port; hence, the
repeaters function at the physical layer of the OSI framework. The repeaters therefore
depend on the transmission media, but they are independent of the communication
protocols. Affected by the transmission media, the repeaters are normally confined
to a house or a single building.
The repeaters provide no traffic isolation of all data flows from the computers
attached to them in the network. The monitoring of the operation at the repeaters
is limited, and thus using the repeaters should be aware of the connection links,
especially those which are likely to fail. The number of repeaters in the network is
also restricted due to their limited transmission distance.
Following are the two common types of repeaters:
● Simple repeaters: are simply used to get around limitations in cable length caused
by signal loss or timing dispersion. They pass on individual data bits without
performing any processing at the packet level. The collisions are also passed
along with the data with no restriction. Therefore, the number of the repeaters
that can be used in the network is limited and the basic Ethernet design requires
that signals must be able to get from one end of the network to the other within a
specified amount of time and a maximum allowable length.
● Buffered repeaters: operate at the level of the whole data packets. Rather than
passing bit by bit as in the simple repeaters, the buffered repeater processes an
entire packet received from a network, stores the packet in an internal buffer,
and then retransmits it at the other end port to another network. The collisions
are not passed and repeated, and thus, there is no restriction of the number of
the buffered repeaters that can be used in the network. There is only a require-
ment that the packets received from two networks should have the same format,
while the requirement that both the networks should be of the same type can be
relaxed.
40 Network design, modeling, and performance evaluation
1.6.4.3 Bridges/Switches
A bridge, like a repeater, is used to store and transmit packets and also dependent on
the transmission media. However, the bridge functions at the data-link layer of the
OSI model. The bridge cannot recognize the protocols used at the layers above the
data-link layer, but it simply passes all protocols onto the network.
One of the advantages of the bridge is that it can isolate traffic by dividing
the network to reduce traffic load on the network. Therefore, more repeaters can
be used. Operating at the data-link layer, the bridges can determine whether the
destination MAC address carried by data is not part of the same network segment
as its source; however, it cannot determine what network segment the data should
be sent to. In that case, the bridges pass randomly data across all segments of the
network. Such broadcasting may cause broadcast storms, which is a major drawback of
the bridge.
With multiple ports, a multi-port bridge is named as a switch and is popularly
used in internetworks.
1.6.4.4 Routers
Considering a large network including a number of network segments or subnetworks
using different protocols, hubs and even switches are shown to be not able to support
all of them. In such a complex network, it is required to have an intermediary device
that can find the best path for the data transmission between the segments based on
their address. A router was therefore designed.
The routers operate at the network layer of the OSI framework. Different from
the hubs and switches, the routers are independent of the transmission media. The
routers are generally much more complex and expensive than hubs and switches,
and thus they are used only when routing is required to connect networks having
dissimilar protocols. The routers make their decisions on the path routing based on
network layer address (cf. Section 1.6.2.2) rather than the destination MAC address
(cf. Section 1.6.2.1). In Chapter 2, routing protocols will be discussed in detail.
1.6.4.5 Gateways
Basically, a gateway can be viewed as a general version of a router, which also has
a basic function to connect different networks. However, the gateways operate at
the transport layer or above layers in the OSI model. The gateway can convert data
format from the application program, languages, architecture, and communication
protocols at a system to make them conform with others at the destination system.
The gateway is therefore more complex than the router in enabling the communication
and understanding between different architectures and environments.
Internetworking and network fundamentals 41
Data Networking Spohn et al. in 2002 [1], Stallings in 2006 [2], and Dye et al. in
2011 [3].
LAN Fraser in 1983 [4], Chu and Gans in 1987 [5], Pahlavan et al. in 1995 [6],
Crow et al. in 1997 [7], Woodcock in 1999 [8], Clark and Hamilton in 1999 [9],
Bray and Sturman in 2000 [10], Stallings in 2001 [11], and Roshan and Leary in
2003 [12].
WAN Decina and Scace in 1986 [13], Lechleider in 1991 [14], Thorpe and Ross in
1992 [15], McDysan and Spohn in 1994 [16], Brown and Malis in 1998 [17],
Ginsburg in 1999 [18], and Bellamy in 2000 [19].
OSI Model ISO/IEC standard 7498-1 in 1994 [20].
TCP/IP Cerf and Khan in 1974 [21] and Rodriguez et al. in 2001 [22].
Internetworks Boggs et al. in 1980 [23], Teare in 1999 [24], and Stallings in
2003 [25].
[Q1.12] What services are provided by ISDN and what data rates are offered by
each service?
[Q1.13] What are the similarities and differences between X.25, Frame relay, ATM,
and SMDS?
[Q1.14] Describe some typical forms of DSL and their applications.
[Q1.15] List seven layers of the OSI reference model in order and the corresponding
PDU at each layer.
[Q1.16] Describe TCP/IP suite with its layers and discuss the necessity of layering
with the TCP/IP.
[Q1.17] Differentiate between TCP and UDP.
[Q1.18] List and briefly describe some application-layer protocols usingTCP and/or
UDP.
[Q1.19] What are internetworks?
[Q1.20] How to identify devices in the internetworks?
[Q1.21] Describe briefly intermediary devices used in internetworks and discuss
how to differentiate between them.
1.9 Problems
[P1.1] Consider a network consisting of N devices. How many cable links are
required in total and how many ports are required in each device if they are
connected in a ring, bus, star, and full mesh topology? Illustrate the answer
with five devices.
[P1.2] Sketch a hybrid topology to connect 40 devices with a star backbone and
four ring networks. Modify the topology using a ring backbone and two bus
networks.
[P1.3] Given six devices with ten cables, design a partial mesh network using all
cables.
[P1.4] Consider a PCN employing VC to connect node A and node B via three
nodes 1, 2, and 3. The length of the message to be sent is 40 octets and
every packet contains a header of 3 octets for control information. Assume
that it takes 1 ms to send an octet, and there is no delay caused by the
processing at the nodes.
● Determine the transmission time to send a message from A to B.
● Suppose that the message is split into two packets. Find the new trans-
mission time from A to B. Discuss the findings when the message is
split further into four or five or ten packets.
● Let N , K, L, and H denote the message length in octets, header length in
octets per packet, the number of packets in a message, and the number of
hops between two end devices, respectively. Assume that N is divisible
by L. Derive the expression of the transmission time between these two
end nodes, which is also known as end-to-end delay.
● Find the optimal L, as a function of K, L, and H , so as to minimize the
end-to-end delay in VC-based PCN.
Internetworking and network fundamentals 43
are basically two activities involved in the routing process, including path determina-
tion and packet switching. While the packet switching requires a simple algorithm to
examine the address of the next hop for the packets to be forwarded, the path deter-
mination, which will be explained in the following subsection, is rather complicated
with different routing protocols.
With different design goals, the routing algorithms are classified based on dif-
ferent criteria, such as network infrastructures, hierarchies, complexity, convergence,
adaptability, and flexibility. They may be contrary in meaning and functionality but
can supplement each other if appropriately used. For instance, some can be listed as
follows:
● Flat routing algorithms where all nodes are regarded as peers of the same level
versus hierarchical routing algorithms which are based on the network hierarchies
as modeled in an organization (cf. Section 1.6.1).
● Single-path routing algorithms for finding only one best path from source to
destination versus multipath routing algorithms which support multiple paths to
the same destination for load sharing.
● Distance-vector routing algorithms which simply use the distances between
neighboring nodes with low complexity versus link-state routing algorithms
which rely on the routing updates of the entire network and thus require high-
complexity processing at the routers but allow fast convergence.
● Static routing algorithms of which the routes are manually preset by a net-
work administrator irrespective of possible succeeding network changes versus
dynamic routing algorithms which automatically find alternative routes as the
network topology or traffic changes.
Basically, with respect to a specific router in a network, there are two kinds of
network connection which are either directly or remotely connected. The associated
networks of the router can be therefore categorized as follows:
● Directly connected networks: are networks connected directly with the router
interfaces via directly connected routes.
● Remote networks: are networks connected through other routers by using routing
protocols with either static or dynamic routes. Details of the static and dynamic
routing protocols will be presented in Sections 2.2 and 2.3, respectively.
AS 1
IGP EGP AS 2
IGP
EGP
AS 3
EGP
IGP
IGP: RIP, IGRP, EIGRP, OSPF
EGP: BGP
Figure 2.1 Interior gateway protocol (IGP) versus exterior gateway protocol
(EGP)
A static routing protocol can be identified as bus routes based on which the bus uses
the same route everyday to travel between two end stations through the same number
of stops. In the context of networking, the bus can be regarded as a packet, whereas
the intermediary stops are routers in the network.
The static routes are manually defined by system administrators and are fixed
regardless of network changes or reconfiguration. These routes are easy to configure
and maintain in a small network, but it will be time-consuming with a considerably
increased complexity as the network size increases. The static routing is therefore
suitable for only a network with simple topologies, a small number of nodes, and
when the links are unlikely to change. Since the administrators are required to con-
figure the routes, their intervention is indispensable whenever the network topology
changes. The static routing protocols are however shown to provide more secure
communications with no extra resources for traffic reduction and also with minimal
processing.
● RIP version 1 (RIPv1): is the original version of the RIP which was defined
in RFC 1058. The RIPv1 supports only subnets of the same class having the
same length or fixed length, while it does not support different-sized subnets
with variable length subnetting since there is no subnet information carried in the
routing updates. The RIPv1 is thus also known as a classful routing protocol. In
particular, there is no router authentication in the RIPv1, which makes it exposed
to the possibility of being attacked.
● RIP version 2 (RIPv2): was originally described in RFC 1058 in 1993 and was
later standardized in RFC 2453 in 1998. The RIPv2 allows more information to
be included in the RIP packets. Specifically, an RIPv2 packet contains additional
subnet and authentication information, and thus the RIPv2, as a classless rout-
ing protocol, can support variable-length subnets and authentication mechanism.
The hop count is also limited by 15 hops and the RIPv2 maintains backward
compatibility with RIPv1. In order to reduce unnecessary load on those hosts
which are not involved in routing, instead of broadcasting the routing table as in
the RIPv1, the RIPv2 multicasts it to all adjacent routers using an IP multicast
address 224.0.0.9. Additionally, the RIPv2 packet includes route tags to distin-
guish between internal routes learned with the RIP and those learned with other
protocols.
● RIP next generation (RIPng): was defined in RFC 2080 in 1997 as an extension
of the RIPv2 to support the next generation of IP, i.e., IPv6 (cf. Section 1.6.2.2).
Similar to the RIP, the IGRP employs distance-vector routing algorithm to deter-
mine the direction and distance to any link in the internetwork and also has four
timers consisting of update timer, an invalid timer, a hold-down timer, and a flush
timer. However, the default configurable hop count of the IGRP-routed packets is 100,
which can be configured up to 255, and the routing updates are advertised over longer
intervals of 90 s. Therefore, the IGRP can handle complex topologies in large net-
works, providing scalability and flexibility for segments having different bandwidth
and delay characteristics.
In particular, the IGRP uses a combination of variables consisting of bandwidth,
delay, load, reliability, and MTU to determine a composite metric which can be
adjusted through the use of preset constants. Here, the MTU is the maximum packet
size in bytes that a particular interface can handle and the composite metric is a
function of the bandwidth, delay, load, and reliability.
Let B, D, L, and R denote the bandwidth, delay, load, reliability, respectively.
The composite metric for the IGRP, i.e., MIGRP , is computed by
K2 B K5
MIGRP = K1 B + + K3 D , (2.1)
256 − L R + K4
where K1 , K2 , K3 , and K4 are constant metric weights used to define with the router
configuration command.
By default, K1 = K3 = 1 and K2 = K4 = K5 = 0, and thus from (2.1), MIGRP =
B + D. This means that the IGRP chooses a route based on the bandwidth and the
delay by default.
Although the IGRP has been shown to be one of the most successful routing
protocols of Cisco, it lacks of support for variable-length subnetting as in the RIPv1.
Instead of designing an IGRP version 2 as the RIPv2 with that additional capability,
Cisco decided to develop an EIGRP as an hybrid approach of both the DVRP and
LSRP, which will be discussed in detail in Section 2.4.3.
Loop
R1 R2 R3
R3, its routing table also shows that the packet can reach R3 via R2, and hence
R1 resends its data to R2; and so on.
The packet will encircle endlessly between routers R1 and R2.
With an infinite number of traffics looping to and fro between routers, the routing
loop causes a significant waste of spectrum and burdened load for the routers’ CPUs.
The routing update process will also be affected in future with more routing loops,
especially in a large network. Therefore, it is critically important to have a mechanism
to get rid of such routing loops.
There are a variety of approaches to prevent routing loops from happening, which
can be listed as follows:
● Count-to-infinity condition: is the condition when the routing updates increase
the metric value to “infinity.” Different routing protocols have different “infinity”
values. For example, RIP defines that the maximum allowable hop count is 15
hops, which means “infinity” is 16 hops.
● Hold-down timers: are used to eliminate regular update messages from improperly
restoring a bad route. The hold-down timers only allow the routers to hold any
network changes for a specified period of time. If a route is identified as likely to
be down, then any other information for that route will be ignored for a hold-down
period depending on the routing protocol. This hold-down period helps all routers
have enough time to acquire the status of the unreachable network. For example,
the hold-down timer in RIP is set for 180 s by default.
● Split horizon rule: states that a router should not advertise its routing table back
to the interface where it receives the update. The split horizon rule can be applied
together with either route poisoning to prevent a router from sending packets
through an invalid route or poison reverse to explicitly mark the route as unreach-
able in the routing update. For example, the RIP has a poisoned route with a
metric of 16.
only its neighbors as in the DVRP. Here, the cost of reaching a destination is also
calculated based on route metrics and only connectivity-related information, not the
whole routing table, is passed between the routers.
Given the full knowledge of the network topology, the LSRP only requires update
when there is a network change instead of performing periodic updates. The LSRP
is particularly helpful for large networks which require fast convergence; however,
it requires more CPU power and memory for processing at the routers compared to
the DVRP, which make the LSRP more expensive to implement. Also, details of the
network hierarchy are required and the administrators should have a good knowledge
of how to design a network with the LSRP.
Two typical examples of LSRPs are as follows:
● OSPF: which was designed by the Internet Engineering Task Force (IETF)
working group.
● Intermediate System to Intermediate System (IS–IS): which was designed by the
ISO for the OSI framework, not the TCP/IP protocol suite.
Although the OSPF and IS–IS were designed by different groups with different
standards, they both have many similarities in providing the necessary routing func-
tionality with link-state routing algorithm. So, only the OSPF is selected to discuss
in the following subsection.
can be more complicated with the introduction of cost factors depending on the link
availability, reliability, and latency in addition to data throughput.
With the same concept of the LSRP, the OSPF operates following network hier-
archy and can quickly detect the network changes allowing fast convergence to the
new topology. As shown in Section 1.6.1, the AS is the largest entity consisting of
a number of networks which can be grouped into different areas. These areas are
connected via area border routers (ABRs) (cf. Figure 2.3). The LSAs from all the
routers in the same area, namely, internal routers, are collected to build a topological
database for that area, which is then managed and shared between the ABRs to have
an overall picture of the internetwork. Hence, the topological databases should be
identical at all the internal routers within the same area.
Depending on the location of the source and destination within the same area or
in different areas, there are two corresponding kinds of OSPF routing, namely, intra-
area and inter-area routing. In order to distribute or share routing information between
areas, the OSPF requires a backbone area which consists of all ABRs, other attached
routers, and also other non-backbone areas (cf. Figure 2.4). All the routers having an
interface connected to the backbone area are thus named as backbone routers. These
backbone routers employ inter-area routing over the backbone topology, while the
intra-area routing is performed at internal routers given only the knowledge of their
individual area topology.
Area 0
ABR
ABR
OSPF
Area 2
Area 1
OSPF Backbone
Area 0 Area 3
ABR
ABR
ABR
Area 1
Area 2
Example 2.2. Find the shortest path between two nodes A and J in Figure 2.5.
The shortest path from A to J can be determined following Dijkstra’s algorithm as
in Table 2.1 where the bold texts in each column for each node are used to trace
back the shortest route from the initial node to that node and the bold values are the
corresponding distance value. In this example, the shortest route from A to J can be
traced back as J <- I <- G <- F <- D <- C <- A having the shortest distance of 28.
B 10 E 10 H
4 3 9 6 3 14
A 9 D 10 G 15 J
5 1 4 5 5 8
C 11 F 11 I
Figure 2.5 A graph in Example 2.2 where the value on the edge represents weight
or path cost
56 Network design, modeling, and performance evaluation
Table 2.1 Dijkstra’s algorithm for finding the shortest distance in Example 2.2
A B C D E F G H I J
(0) (∞) (∞) (∞) (∞) (∞) (∞) (∞) (∞) (∞)
(4, A) (5, A) (9, A) (∞) (∞) (∞) (∞) (∞) (∞)
(4,A) (5,A) (6, C) (14, B) (∞) (∞) (∞) (∞) (∞)
(6,C) (14, B) (10, D) (16, D) (∞) (∞) (∞)
(14,B) (10,D) (15, F) (∞) (21, F) (∞)
(15,F) (18, G) (20, G) (30, G)
(18,G) (20,G) (28,I)
AS 1
IBGP
EBGP AS 2
EIGRP
IBGP
EBGP
OSPF
AS 3
EBGP
IBGP
RIP
Figure 2.6 Border Gateway Protocols (BGPs) with Internal BGP (IBGP) and
External BGP (EBGP)
Although BGP is normally applied between differentASs and ISPs on the Internet,
it can also be used for routing within an AS to coordinate and synchronize routing
policy of routers in the AS. The BGP therefore supports both session types which are
referred to as EBGP and IBGP (cf. Figure 2.6).
The BGP is based on paths and network policies configured by network adminis-
trator to make core routing decision and thus functions as a DVRP. In order to propagate
and manage the routes, there is a mechanism for route mapping which includes a set
of rules describing different actions. However, considering a full mesh configuration
of all routers within an AS employing the IBGP, each router is required to connect to
all other routers, which causes a quadratic grow of network connections between the
routers. Therefore, as a means to alleviate this scaling problem, the BGP makes use
of a variety of route parameters, namely, attributes, to define different route policies
for route selection process, as well as implementing route reflection (cf. RFC 4456)
and AS confederation (cf. RFC 5065). These additional features enable the BGP to
meet the scalability as well as the continuing changes of the Internet infrastructure.
Routing protocols Sportack and Fairweather in 1999 [26], Doyle and Carroll in
2005 [27], and Graziani and Allan in 2007 [28].
DVRP Ford in 1956 [29], Ford and Fulkerson in 1956 [30], and Bellman in 1958 [31].
58 Network design, modeling, and performance evaluation
RIP Hedrick in 1988 [32], Malkin and Minnear in 1997 [33], and Malkin in 1998
[34].
IGRP Rutgers in 1991 [35] and technotes of Cisco in 2005 [36].
LSRP Clausen and Jacquet in 2003 [37].
OSPF Moy in 1998 [38,39] and Coltun et al. in 2008 [40].
Dijkstra’s algorithm Dijkstra in 1959 [41].
EIGRP Garcia-Lunes-Aceves in 1993 [42], Pepelnjak in 1999 [43], and Savage et
al. in 2016 [44].
BGP Rekhter et al. in 1995 and 2006 [45,46], Halab and McPhersoni in 2000 [47],
White et al. in 2004 [48], Bates et al. in 2006 [49], and Traina et al. in 2007 [50].
2.8 Problems
[P2.1] What is the maximum number of nodes in a RIP network?
[P2.2] Consider the bandwidth consumption of the RIP protocol. Assume a network
consists of eight nodes and a node has three neighboring nodes.
● Estimate the number of messages exchanged per unit time.
● Estimate the size of the messages exchanged as a function of the size of
the RIP network given a RIP message consists of a 4-byte header plus
20-byte per entry and up to 25 entries per message.
● Estimate the bandwidth consumption of a RIP network.
Routing in computer networks 59
[P2.3] Assume that there are ten routers in the network and every router has four
neighbors.
● Estimate the amount of memory required to store the information used by
the distance-vector routing given the size of each entry that RIP requires
is 10 bytes.
● Estimate the amount of memory required to store the information used
by the link-state algorithm given each entry size is 10 bytes.
[P2.4] Find the shortest distance from node A to node J in the network in Figure 2.7
using Dijkstra’s algorithm.
B 6 E
4 5
9
12
A 5 C 10 F 7 H
7
8 10
8
D 5 G
[P2.5] Find the shortest route from node A to other nodes in the network in
Figure 2.7.
[P2.6] Using Dijkstra’s algorithm, find which of the vertices A or B or C is the
nearest to J in Figure 2.8.
A 19 E 9 H
9 15 10 30
B 11 D 25 G 25 J
13 12 11 28
C 24 F 8 I
As discussed in Sections 1.5.1 and 1.5.2, Internet Protocol (IP) is a protocol at Internet
layer of TCP/IP suite. In order to employ a variety of routing protocols to direct
data packets over the internetwork, an address of every node in the network is of
paramount importance. The IP addressing and routing are therefore the cornerstones
of a computer network. Indeed, a packet includes not only the actual data to be
conveyed but also a source IP address and a destination IP address along with some
additional control information.
In this chapter, I will first present in Section 3.1 an overview of IP addresses with
various types and addressing mechanisms. The first version of IP addresses, namely,
IP version 4 (IPv4) will be discussed in Section 3.2 followed by various mechanisms
for dividing the network with subnetting in Sections 3.3 and 3.4 as well as how to
group the small networks via supernetting in Section 3.5. A brief introduction of the
extended version of IP addressing called IP version 6 (IPv6) will be described in
Section 3.6 along with discussions for further readings.
32 bits
8 bits
1
Note that the term “octet” is different from “byte” which is used as a storage unit of 8 bits.
64 Network design, modeling, and performance evaluation
32 bits
8 bits
8 bits 24 bits
16 bits 16 bits
24 bits 8 bits
A 0 N .H .H .H 255.0.0.0 /8 27 − 2 224 − 2
B 10 N .N .H .H 255.255.0.0 /16 214 216 − 2
C 110 N .N .N .H 255.255.255.0 /24 221 − 2 28 − 2
D 1110 Not defined
E 1111 Not defined
● Class D: 224–239
● Class E: 240–255
Note that two IP addresses are taken away from the number of addresses per net-
work in Table 3.2 due to the usage of a network address with all-zeros host bits and
a broadcast address with all-ones host bits. There are also two Class A network
addresses 0.0.0.0/8 and 127.0.0.0/8 and two Class C network addresses 192.0.0.0/24
and 223.255.255.0/24 which are reserved and cannot be assigned to any network.
Let nX , hX , NN ,X , NH ,X , X ∈ {A, B, C}, denote the number of bits for Class X
network, the number of host bits in Class X network, the number of Class X networks,
and the number of hosts per Class X network, respectively. As shown in Table 3.2,
nA = 8 bits, nB = 16 bits, and nC = 24 bits. The length of an IPv4 address is 32 bits,
so the number of host bits is hX = 32 − nX [bits].
66 Network design, modeling, and performance evaluation
Since the leading bits are fixed and there are some reserved IP addresses, Nn,X
and Nh,X can be computed as
⎧
⎪ n −1
⎨2 A − 2, if X = A,
NN ,X = 2nB −2 , if X = B, (3.2)
⎪
⎩ nC −3
2 − 2, if X = C,
NH ,X = 2hX − 2 = 232−nX − 2. (3.3)
The total number of hosts in Class X network, denoted by NT ,X , is thus given by
NT ,X = NN ,X NH ,X . (3.4)
3.3 Subnetting
In a small network with a limited number of colocated hosts, the usage of only a
specific network address is possible to support all hosts sharing a common natural
mask. However, within an enterprise or a campus where a network is divided into
smaller networks or subnetworks, subnetting is crucial to allocate the IP addresses to
hosts in different subnets.
For subnetting, some bits for host identifier are used to indicate subnet number
(cf. Figure 3.5). The hosts in the same subnet share a common subnet address and
32 bits
n bits s bits h bits
subnet mask. Let n, s, and h denote the number of bits for network, subnet, and host,
respectively, i.e., n + s + h = 32 bits. The number of subnets per network, i.e., NS
and the number of hosts per subnet, i.e., NHS , are computed by
NS = 2s , (3.5)
NHS = 2 − 2 = 2
h 32−n−s
− 2, (3.6)
respectively. Notice that, in (3.6), two IP addresses are taken away for subnet address
and broadcast address. The total number of hosts per network with subnetting, i.e.,
NH , is thus given by
NH = NS NHS = 2s+h − 2s+1 . (3.7)
Remark 3.1. It can be observed that the number of hosts with subnetting is less
than those without subnetting due to the usage of additional IP addresses for subnet
address and broadcast address in each subnet. Indeed, without subnetting, the total
number of hosts per network is given as in (3.3), i.e., NH ,no subnet = 2s+h − 2 > NH .
Example 3.3. Given a network address 180.16.0.0/16, i.e., n = 16 bits for network
prefix. If we borrow 3 bits for subnetting, i.e., s = 3 bits, we have a total of NS = 23 =
8 subnets, each of which has NHS = 213 − 2 hosts per subnet. All eight subnets have
the same subnet mask 255.255.224.0 with CIDR /19. The subnet address, broadcast
address, and host address range in each subnet can be assigned as in Table 3.3.
Remark 3.2. In Example 3.3, the third octet of the subnet addresses is multiples of
32, which is 28−s with s = 3. Note that this is only applied for n = 16 and s ≤ 8.
Extended for the scenario when 8 < s ≤ 16, the fourth octet of the subnet addresses
would be multiples of 216−s , while the third octet is unchanged. A similar scenario
can be observed when n = 24 and s ≤ 8. In this case the fourth octet of the subnet
addresses would be multiples of 28−s .
68 Network design, modeling, and performance evaluation
Lab Users
A 60
B 30
C 25
D 20
In this example, Lab A has the maximum number of hosts with NHS ,max = 60.
From (3.8), the minimum number of hosts bits is hmin = 6 bits. The number of bits
borrowed for subnetting is s = 32 − 24 − 6 = 2 bits and thus can support up to four
subnets sharing the same subnet mask 255.255.255.192 with CIDR /26. Each subnet
can have maximum NHS = 62 hosts satisfying the requirements of the number of users
in all labs in Table 3.4. The subnet address, broadcast address, and host address range
in each subnet can be assigned as in Table 3.5.
32 bits
16 bits 6 bits
VLSM
16 bits 9 bits 7 bits
Step 3 Find the number of bits borrowed for subnetting in each subnet with respect
to the number of host bits determined in Step 2.
Step 4 Determine subnet mask for each subnet, and design all subnets and host
address range.
Example 3.6. Given an IP address 199.10.10.0/24, design variable-length subnetting
for an office consisting of four rooms with the required number of hosts in each room
as in Table 3.6. Following the steps for the VLSM design, the subnetting for these four
rooms can be sketched out as in Table 3.7 where for simplicity the network part in the
host address range, i.e., 199.10.10, is eliminated. The subnet mask is also not shown,
which can be deduced from the CIDR.
Room Users
A 12
B 52
C 20
D 5
Room Host Subnet CIDR Subnet address Host addresses Broadcast address
bits bits
3.5 Supernetting
While subnetting is employed to divide a network into subnetworks, supernetting is the
process of combining subnetworks into a large network or supernetwork. Supernetting
is viewed as network address aggregation. The requirement of supernetting is further
illustrated in Example 3.7.
Example 3.7. Assume that there are 12,000 computers in an enterprise to be net-
worked. A Class B network can be used to support up to NH ,B = 216 − 2 =65,534
hosts. However, this is a wastage of IP resources. Alternatively, 48 Class C network
addresses can be employed for NH ,C = 48(28 − 2) =12,192 hosts. In this case, for
routing, it is required to advertise 48 network addresses. Instead of advertising all of
these addresses, address aggregation or route summarization can be carried out to
form a supernet, and only the summarized address is advertised.
Internet Protocol addressing 71
32 bits
24 bits 8 bits
● 130.100.0.0/24
● 130.100.1.0/24
● 130.100.2.0/24
● 130.100.3.0/24
Performing address aggregation, the above four IP addresses, can be grouped with
CIDR /22, and only 130.100.0.0/22 is advertised to represent all subnets.
3.6 IP version 6
IPv6 is the latest version of the IP developed by the IETF in 1995. The IPv6 addresses
are used as 128-bit identifiers for either interfaces or sets of interfaces. With such
extensive address space, the IPv6 is aimed to replace the existing IPv4.
An IPv6 address consists of 128 bits, i.e., 16 octets, which are represented in eight
groups of hexadecimal numbers. Each group has two octets, and these eight groups
are separated by colons. For example, 0182:0A1C:001F:0000:0000:0014:0000:0003.
72 Network design, modeling, and performance evaluation
182:A1C:1F :: 14 : 0 : 3
● Hop limit (8 bits): is set as a counter which is decremented by one at each inter-
mediary device, e.g., router/gateway and the packet is dropped when this counter
reaches zero.
● Source address (SA)/destination address (DA) (128 bits): is IPv6 address of the
source/destination node.
There are also extension headers which have the size of multiple of 8 bits to carry
additional information about the Internet layer; for instance, some have been defined
including hop-by-hop header, end-to-end header, routing header, fragment header,
authentication header, and privacy header.
For more information, the readers are suggested to refer to the following selected
references:
IP Addressing Postel in 1981 [51], Mockapetris in 1987 [52], Braden in 1989 [53],
Egevang and Francis in 1994 [54], Rekhter et al. in 1996 [55], Graziani and
Johnson in 2007 [28], Dye et al. in 2011 [3], and Cotton et al. in 2013 [56].
IPv4 Perkins in 1996 [57] and in 2010 [58], and Touch in 2013 [59].
Subnetting Mogul in 1984 [60] and Tsuchiya in 1991 [61].
VLSM Pummill and Manning in 1995 [62].
CIDR Rekhter and Li in 1993 [63], Rekhter in 1995 [64], and Fuller and Li in
2006 [65].
IPv6 Hinden and Haberman in 2005 [66], Hinden and Deering in 2006 [67],
Boucadair and Venaas in 2014 [68], and Deering and Hinden in 2017 [69].
[Q3.4] How many IPv4 address classes? Show their bit pattern/format with
corresponding natural mask.
[Q3.5] Describe the steps for subnetting a network, given the number of required
hosts in each subnet.
[Q3.6] Why do we need to consider variable-length subnetting and in which
scenarios?
[Q3.7] Compare fixed-length subnetting versus variable-length subnetting with
illustrations.
[Q3.8] Explain why supernetting is necessary in an enterprise via an example.
[Q3.9] What are the rules in address aggregation?
[Q3.10] What is the length of IPv6 addresses and how to represent them in
abbreviated format?
[Q3.11] How many IPv6 types? Describe and differentiate between them.
[Q3.12] Describe the format of an IPv6 packet.
3.9 Problems
[P3.1] A small organization has a Class C IP address for 6 networks each with 20
hosts. What is an appropriate subnet mask?
[P3.2] A university has 200 LANs with 100 hosts in each LAN. Design an
appropriate CIDR addressing scheme for supernetting.
[P3.3] Perform CIDR aggregation on the following /24 IP addresses:
128.56.24.0/24, 128.56.25.0/24, 128.56.26.0/24, 128.56.27.0/24.
[P3.4] What is the efficiency of IPv6 packets that carry 10 ms of 64 kbps voice?
[P3.5] Abbreviate the following IPv6 addresses:
● 0000:0000:0F56:6281:0AB0:6DB7:BB27:7323
● 0000:0000:0000:AD63:73BA:0000:87AB:0392
● 2918:00AD:0000:0000:0000:0000:0123:000A
[P3.6] Write the following IPv5 address in full:
● 0:10::78A:6D
● ::13B:4C:0:8
● ::1
[P3.7] Fill in Table 3.9 with Class C address and Table 3.10 with Class B address
0
1
2
3
4
5
6
Internet Protocol addressing 75
0
2
4
6
8
10
12
14
[P3.8] Find the network address, broadcast address, and host address range given
a host address:
● 192.168.180.94/27
● 172.23.10.19 /21
● 147.252.238.20 255.255.240.0
[P3.9] Divide a network having an address 136.178.0.0/16 into 16 subnets. Show
the binary and dotted-decimal forms of each subnet, as well as the subnet
mask.
[P3.10] Given an IP address 196.168.1.0. Develop a subnetting scheme for the
network in Figure 3.9.
14 hosts
Switch1 PC1
BRANCH 1
20 hosts
Switch0
PC0
HQ
8 hosts 12 hosts
LAN 1 LAN 4
Se1/0 Se1/: Fa0/0 Fa0/1 Fa0/2 Fa0
Fa0 Fa0/2 Fa0/1 Fa0/0
2811 Se1/0 11 2950-24
2950-24 PC-PT
PC-PT BRAN Se1/0 BRANCH 4 Switch4
Switch1 PC4
PC1
Network address: 129.130.0.0/16
Administration 1 400
Finance 1 40
Sale 1 150
Manufacturing 15 60
Training 2 20
[P3.13] An organization has 1,200 hosts required to be networked with only Class
C addresses, and the organization wants to advertise a single address. The
address range available is 194.20.1.0–194.20.100.0.
● Discuss the criteria to select an appropriate block of addresses for this
design.
● Design an addressing scheme to meet the network requirements.
Internet Protocol addressing 77
[P3.14] A university has three sites, each of which has different departments with
different requirements as shown in Table 3.12. The university has been
allocated an IP address 132.128.0.0/16. Develop an IP addressing scheme
to meet the design requirements with the most efficient use of address
space.
The first three chapters have reviewed basic concepts of internetworking and network
fundamentals with different network models, routing protocols, and IP-addressing
mechanisms. Given these background knowledge and existing technologies, it is
absolutely necessary to understand how to model and design a network as well as
validate its performance in different settings or configurations. The characteristics
of systems and services also need to investigate with proper use of terminologies in
computer-networking context.
In this chapter, I will first introduce in Section 4.1 a brief overview of various
approaches and processes for network analysis, architecture, and design. Details of the
network analysis, architecture, and design processes will be sequentially presented in
Sections 4.2–4.4. As a typical network-design model, the hierarchical design approach
will be discussed in detail in Section 4.5 along with its layers in Section 4.6. Various
network-design approaches and their evolution will be summarized in Section 4.7.
Finally, Section 4.8 will provide further discussion on network management and
security.
Given:
• Historical data
• Observation data
• Survey data
• Requirements
• Goals
• Technology selection
• Equipment selection
Network design
• Physical devices and connections
• Performance evaluation
In the following sections, I will briefly introduce the key processes in accordance
with those described above.
Network analysis, architecture, and design 81
● Evaluate and choose appropriate technologies for each area/part of the network
under design.
● Develop strategies to connect these technologies across the network.
● Learn how to set design goals, such as minimizing CAPEX/OPEX or maximizing
network performance, as well as how to achieve these goals.
● Apply the trade-offs, dependencies, and constraints developed as part of the
network-architecture process in solving the optimization problems.
● Develop evaluation criteria for the proposed design according to various perfor-
mance metrics.
Two typical trade-offs in the network design are generally discussed for every
network design, which are as follows:
Interconnectivity
Interconnectivity
Networkhierarchy
Hiearchy
Interconnectivity
Interconnectivity
Network
● Scalability: The hierarchy allows the network to grow but still be able to control
and manage. All functionalities are localized, and potentials problems can be
easily identified to resolve. PSTN is a typical example of a very large-scale
hierarchical network.
● Implementation: With a hierarchical design, a network designer can assign clear
functionality to each layer, which helps facilitate network implementation.
● Troubleshooting: Since the functions of each layer are well defined, the problems
in the network can be easily isolated for fault detection and correction. The net-
work can be even temporarily segmented to reduce the scope and spreading of
the problems.
● Predictability: With the functional layers, the behavior of a hierarchical network
is predictable. In a sense, this is helpful for capacity planning to deal with network
growth in future. Such design approach also facilitates network modeling with
anticipated performance.
● Compatibility: The well-organized underlying infrastructure with hierarchical
design enables the adaptation of diverse applications and protocols.
● Manageability: The above-listed benefits of the hierarchical design contribute to
a great manageability of the network. As defined in the ITU standard for network
management, five domains of FCAPS can be maintained, including Fault Man-
agement, Configuration Management, Accounting Management, Performance
Management, and Security Management.
84 Network design, modeling, and performance evaluation
Core layer
Distribution
Network hierarchy
layer
Access layer
Basically, a network hierarchical design consists of core layer, distribution layer, and
access layer (cf. Figure 4.3). In the following sections, these three layers will be
described in detail.
Core
Core
In summary, a systematic approach for network design consists of the following main
steps:
● Step 1: Define problem(s)
● Step 2: Analyze customer’s requirements
● Step 3: Analyze network environment
● Step 4: Analyze current systems/networks (if any)
● Step 5: Propose solutions for the developed problem(s)
● Step 6: Perform theoretical modeling and analysis (optional)
● Step 7: Model the network with simulation software/tools
● Step 8: Determine the optimal solution
● Step 9: Plan the implementation
● Step 10: Design the practical network or test bed
● Step 11: Evaluate the network performance.
In the above steps for network design and analysis, network services and service-
based networking should be taken into account along with various performance
metrics, such as throughput, latency, and reliability. Parameters in network configu-
ration, such as bandwidth, flow allocation, networking, and physical design, should
also be evaluated to realize their impacts on the network performance, and hence
characterizing services with concluding remarks.
Network analysis, architecture, and design 87
Network hierarchy
Interconnectivity
CDN
and eavesdroppers who are trying to overhear the data or even harm the communi-
cations between devices across the networks. The security is therefore required to be
maintained in any network together with the network management to defend against
cyber threats and data breaches. The network security is a broad field consisting of
a number of policies and mechanisms in the literature from various perspectives at
different layers in the OSI reference model (cf. Section 1.4). The study of the network
security is only briefly introduced in this book. For a thorough understanding, the
readers are suggested to refer to the relevant works provided in Section 4.9.
A network designer should build a set of diagrams which can be used to prepare
the environment for the network design. These diagrams may include network design
goals and criteria for technology evaluation which will be discussed in Sections 4.8.1
and 4.8.2, respectively. Such schematic and illustrative representations are really
helpful for the network implementation with equipment settings, cable deployment,
etc. and also facilitate the network management afterwards. In particular, when the
design is based on an existing network, a network transition plan should be carefully
developed taking into account other factors, such as compatibility, adaptability, and
extendability.
Depending on the critical requirements in different networks, the above design goals
should be prioritized as in a wish list where we set primary goal(s), secondary goal(s),
etc. In order to satisfy these goals, the network designer is also required to consider
various constraints in the network. These constraints could be limited resources or
facilities, and cost in terms of both CAPEX and OPEX.
Network analysis, architecture, and design 89
network, as well as for troubleshooting in the case of network faults. These network
management protocols require to be examined regularly to update the instrumentation
requirements.
In summary, the network management involves the following tasks:
● Event notification via monitoring: The event could be a problem or a failure of
any components in the network, e.g., hosts, switches, hubs, routers, cables, NICs,
etc. A threshold is set based on the characteristics of the individual element,
which can be measured either between elements or across the entire network. The
characteristics may include capacity, delay, availability, reliability, utilization,
etc. The monitoring allows us to notify the status of the events in the network for
real-time analysis.
● Performance evaluation via monitoring: The monitoring process is not only for
examining events but also for evaluating the performance based on the collected
data. In order to analyze the events in the real time, it is required to have short
polling intervals which can only be supported in the network with high-speed CPU,
memory, and sufficient storage capacity. The performance metrics are validated
with reference to the preset baselines for every component within the network. In
the performance evaluation, link and element characteristics should be specific
to the type of the element being managed. For the sake of visualization, the
processed data, either real-time or time-averaging data, can be displayed, and the
old data is also required to archive for backup (if necessary).
● Network configuration: For network configuration, a characteristic set should be
generated for all elements in the network. Specifically, for each element, a table
of configuration parameters is generated along with techniques or methods which
can be employed to adjust these parameters. It is therefore required to understand
the advantages and disadvantages of these methods.
● Network troubleshooting: It is crucial to understand the effects of problems or
faults in the network and how to fix them. The troubleshooting task is a com-
plicated process requiring a thorough understanding of the characteristics and
parameters of all elements in the network. Through troubleshooting, problems
can be identified, noticed, isolated, and resolved.
● Planning: The above monitoring, evaluation, configuration, and troubleshoot-
ing tasks are all helpful for planning of the network management. For instance,
troubleshooting task helps us plan ahead of potential issues in the network, while
monitoring and evaluation support the reconfiguration of the network in the case
of faults.
The network management is generally designed with manageable resources by
employing appropriate network-management protocols and instrumentation. In the
context of computer networks, the instrumentation is the set of facilities that allows
us to access characteristics and configuration parameters of elements in the network.
The network-management protocols are used to couple this instrumentation with the
monitoring, processing, visualization, and storage. Specifically, SNMP is widely
used for the network management. It can provide facilities for not only collecting
but also configuring parameters from the network elements. The thresholds can be
Network analysis, architecture, and design 91
set in the form of traps for automatic notices. In the SNMP, there is a management
information base which is a collection of parameters accessible by the SNMP for
organizing elements in the network. The SNMP also supports remote monitoring
allowing the MIP to provide information about the elements as well as the entire
network.
Similar to network design, network management also requires an architecture.
A network designer should consider the data flows for the information management.
The monitoring can be realized via either in-band or out-of-band monitoring with
the employment of centralized and/or distributed monitoring nodes. Due to these
additional tasks, capacity and delay requirements for the network-management need
to be taken into account. For instance, a monitoring node is deployed in every subnet
of a LAN. In this case, the traffic for network management data should be designed
so as not to overload the network.
4.11 Problems
[P4.1] Select any simulation software and do the research on how to develop a ref-
erence model using that software. Discuss its advantages and disadvantages.
[P4.2] Network hierarchical design is stated to allow us dealing with network growth
in the future with its predictability. Elaborate this further via an example to
show its extendability.
[P4.3] Consider a university network having two campuses, each of which has
ten LANs. Develop a network hierarchical model for this network with the
employment of interconnectivity links.
[P4.4] Do the research on techniques in content delivery network (CDN) and show
how they can be integrated into the traditional network hierarchy.
[P4.5] In the network design, there is a step requiring us to determine the optimal
solution of the network model, i.e., Step 8. Discuss potential approaches
and/or available techniques to solve this optimal problem.
Chapter 5
Network-requirement analysis
User User
Application Application
Network
Host Host
In IP networks, services and their descriptions are developed by the Internet Engi-
neering Task Force (IETF). The IETF standard reports and specifications also define
levels of performance, e.g., capacity, delay, availability, and reliability, and functions
supported in the system, e.g., management, scheduling, security, accounting, and
billing.
routers, OSs, etc. Indeed, they are helpful in not only network configuration but also
monitoring and validation of various services in the system.
In order to facilitate the description of service levels in the network, service
characteristics are grouped together. A service level can be then configured, measured,
and verified instead of a number of service characteristics. The service levels are
accordingly beneficial in network accounting and billing. These service levels can be
described by the following factors:
● Committed Information Rates (CIRs): In a network where virtual circuit is
employed for a specified service, CIR is defined as a guaranteed data rate, and the
bandwidth (cf. Definition 1.2 in Chapter 1) should not fall below this committed
figure.
● Classes of Service (CoS): CoS is literally a priority value that can be employed to
differentiate traffics of different kinds.
● Types of Service (ToS): ToS is employed to designate the priority of datagram
allowing to determine how the datagram should be routed for different services.
● Quality of Service (QoS): QoS is specified to guarantee a certain level of perfor-
mance to a data flow in the network targeting either low-latency, high-throughput,
or high-reliability services.
Service requests in general are classified as either best effort service or specified
service with deterministic functions. In addition, service levels need to be defined
so as to meet these requests. There are a variety of typical service performance
requirements with respect to different metrics as follows:
● Reliability: is a measure of the accuracy of information delivery in the system.
This can be represented by either bit error rate (BER) (cf. Definition 5.1) or packet
error rate (PER) (cf. Definition 5.2). The reliability can also be reflected through
the completion time to notify the accuracy of the information. If the completion
time of a data transmission takes longer than that is specified for every ToS, then
the data is regarded as lost or corrupted.
● Capacity: is a measure of the amount of information that can be reliably trans-
ferred over the communication channels. In computing, the bandwidth is regarded
as the theoretical capacity of one or more elements in the system (cf. Definition
1.1). The capacity is also referred to as the maximum bit rate which is measured
in bits per second (bps) (cf. Theorems 5.1 and 5.2 for the well-known Nyquist’s
and Shannon’s theorem to calculate the channel capacity of noiseless and noisy
channels, respectively). In the real system, throughput is normally measured as
the achievable capacity of the system or its component which is lower or much
lower than the theoretical capacity.
● Latency: is a measure of time differences in transmission of information between
nodes across the system incorporating application-processing time and task-
completion time. Note that the latency is different from network delay which
specifies only the duration for data to travel across the network. The network
delay generally consists of processing delay of the packet headers at the end
node, queuing delay of the packets in the waiting queues, transmission delay
96 Network design, modeling, and performance evaluation
for pushing packets onto the communication link, and propagation delay for the
signals to travel from the source node to the destination node.
Definition 5.1. BER is defined as the number of bit errors divided by the total number
of transmission bits during a time interval. These bit errors can be caused be noise,
interference, and distortion in digital transmission. The BER is normally represented
in percentage with no unit.
Definition 5.2. PER is defined as the number of incorrectly received packets over
the total number of packets transmitted over the media. The PER is expressed in
percentage, and the packet is incorrectly received when there is at least a bit error.
From the above definition of the BER and PER, their relationship can be deduced
as follows:
Lemma 5.1. Consider a data transmission with data packets having length of N bits.
Let Pe and PN denote the BER and PER, respectively. The PER can be determined
through the BER as
PN = 1 − (1 − Pe )N . (5.1)
1 − PN = (1 − Pe )N . (5.2)
Corollary 5.1. For large packet size with low BER, i.e., N → ∞, Pe → 0, (5.1) can
be approximated as
PN ≈ NPe . (5.3)
(1 − Pe )N ≈ 1 − NPe . (5.4)
1
Exact
0.99 Approximated
0.98
0.97
0.96
PN
0.95
0.94
0.93
0.92
0.91
0.9
0 10 20 30 40 50 60 70 80 90 100
N
Figure 5.2 Packet error probability (PER) versus the number of bits
C = 2B. (5.6)
Example 5.1. A noiseless 10 kHz channel can transmit binary data at a maximum
rate of 20 kbps.
Definition 5.3. The signal-to-noise ratio (SNR) γ is defined as the ratio of sig-
nal power to noise power. The SNR is a dimensionless quantity, which can also be
expressed in logarithmic decibel scale as
C = B log2 (1 + γ ). (5.8)
Example 5.2. A noisy 10 kHz channel link having SNR of 10 dB can transmit binary
data at a rate up to 34.59 kbps, while a link with 0 dB SNR, i.e., signal power is equal
to noise power, results in a lower capacity of 10 kbps (cf. Figure 5.3).
98 Network design, modeling, and performance evaluation
120
100
80
C [Kbps]
60
40
20
B = 10 kHz
B = 20 kHz
0
0 2 4 6 8 10 12 14 16 18 20
SNR [dB]
User requirements
Application requirements
Host requirements
Mainframe
Network requirements
● Timeliness of data,
● Interactivity between users,
● Quality of supplied services,
● Adaptability in different networks,
● Security of data communications and storage from attacker, and
● Affordability of networking.
100 Network design, modeling, and performance evaluation
Apart from user expectation for high QoS, a network designer also needs to have
knowledge on
● number of users in the network,
● location and distribution/density of users,
● expected growth of the network, and
● redundancy for enhanced reliability or data backup.
Given these three specific application requirements, there are three correspond-
ing application types as follows:
● Real-time applications: The real-time applications are the applications that require
to have a strict timing relationship between source node and destination node
considering the duration of both data transfer and processing. The delay require-
ment is specified for each application to enable the interactivity in real time. The
speech and non-buffered videos are typical examples of applications requiring
real-time services. On the other hand, non-real-time applications are referred to
as the applications with a loose delay requirement, such as web browser and email
applications.
● Mission-critical applications: In mission-critical applications, the reliability mea-
sure is taken into account. With deterministic and/or guaranteed reliability, the
mission-critical applications aim to provide accurate delivery of data. In fact,
the loss of reliability means the information is undetectable or unrecoverable,
which may cause the loss of revenues and even loss of life due to corrupted
sensitive data. In these applications, best effort delivery is employed given the
constraints/requirements of the reliability.
● Controlled-rate application: In most applications, a high bandwidth is normally
expected for the best QoS. This requirement is critical in controlled-rate applica-
tions where the different applications and services may require different rate. For
instance, voice, video, teleconference/teleservice, and file transfer have their own
specified requirements of data rate. In these controlled-rate applications, simi-
lar to the mission-critical application, the data delivery follows the best effort
approach subject to the constraint on the required bandwidth.
Network-requirement analysis 101
● Storage performance
● Processor performance
● Memory performance
● Capacity performance
● OS performance
● Device driver performance.
Some basic functional requirements to be planned at the network level can be listed
as follows:
Customer
Survey data
Developing performance
metrics and thresholds
Data analysis
Characterizing network
behaviors and services
From the above analyses, guidelines for these requirements should be outlined for all
steps in a generic system. Basically, a requirement-analysis process model consists
of the following three steps (cf. Figure 5.5):
TBF TBF
On
Off Time
Figure 5.6 Time between failure (TBF) and time to repair (TTR) of a system
Lemma 5.2. When the lifetime of a device follows an exponential distribution with a
failure rate λ, its reliability in a duration t can be computed by
R(t) = e−λt . (5.10)
R(t) = 1 − Pr [T ≤ t]
(a)
= 1 − FT (t)
(b)
= e−λt ,
where FT (t) denotes the cumulative distribution function (cdf) of T , (a) follows from
the definition of the cdf, i.e., FT (t) Pr [T ≤ t], and (b) follows due to the cdf of
an exponential random variable given by FT (t) = 1 − e−λt (details of the cdf and
exponential distribution will be discussed in Chapters 11 and 13).
Definition 5.5. MTBF of a device is defined as the average operating time of the
device between failures. Statistically, the MTBF can be expressed as its average
lifetime, i.e.,
MTBF = E[T ], (5.11)
where E[ · ] denotes the expectation operator and E[T ] is the expected value, a.k.a.
average value or mean, of T .
Lemma 5.3. When the lifetime of a device follows an exponential distribution with a
failure rate λ, its MTBF is given by
1
MTBF = . (5.12)
λ
Proof. The proof follows from the expected value of an exponential random variable,
i.e., E[T ] = 1/λ.
Remark 5.1. Equation (5.12) in Lemma 5.3 means the MTBF of the device is the
reciprocal of its failure rate. This is indeed true from Definition 5.5 of the MTBF.
106 Network design, modeling, and performance evaluation
Lemma 5.4. The reliability of a system having N devices connected in series (cf.
Figure 5.7) is given by
N
RS (t) = R1 (t)R2 (t) · · · RN (t) = Rn (t). (5.13)
n=1
Device 1 Device 2 Device 3 Device 4 Device (n–3) Device (n–2) Device (n–1) Device n
Proof. With serial connection as in a chain, a system only works when all connected
devices work properly. The system reliability therefore depends on all of its devices.
Let TS and Tn , n = 1, 2, . . . , N , denote the lifetime of the system and the nth device,
respectively. It can be noticed in a serial connection that the lifetime of the system is
the minimum lifetime of all devices, i.e.,
TS = min{T1 , T2 , . . . , TN } = min {Tn } (5.14)
n=1,2,...,N
From the definition of reliability (cf. (5.9) in Definition 5.4), the system reliability is
given by
RS Pr [TS > t]
(a)
= Pr [min{T1 , T2 , . . . , TN } > t] = Pr min {Tn } > t
n=1,2,...,N
N
= Pr [{T1 > t} ∩ {T2 > t} ∩ · · · ∩ {TN > t}] = Pr {Tn > t}
n=1
(b)
N
= Pr [T1 > t] Pr [T2 > t] · · · Pr [TN > t] = Pr [Tn > t],
n=1
N
= R1 (t)R2 (t) · · · RN (t) = Rn (t),
n=1
where (a) follows from (5.14) and (b) follows due to the fact that the lifetime of
devices is independently distributed. The lemma is proved.
Network-requirement analysis 107
Corollary 5.2. In a serially connected system, when the lifetime of devices follows
an exponential distribution, each of which has a failure rate λn , n = 1, 2, . . . , N , the
system reliability is given by
N
RS (t) = e− n=1 λn t . (5.15)
Proof. The proof follows from (5.10) in Lemma 5.2 and (5.13) in Lemma 5.4.
Lemma 5.5. The reliability of a system having N devices connected in parallel (cf.
Figure 5.8) is given by
RS (t) = 1 − (1 − R1 (t))(1 − R2 (t)) · · · (1 − RN (t))
N
= 1− (1 − Rn (t)). (5.16)
n=1
Device 1
Device 2
Device (n–1)
Device n
Proof. When N devices are connected in parallel over N branches, the system still
can work when one out of N devices works fine. This means that the lifetime of the
system is the maximum lifetime of all devices within the system, i.e.,
Following the same approach as in the proof of Lemma 5.4, the system reliability can
be determined by
RS Pr [TS > t]
(a)
= Pr [max{T1 , T2 , . . . , TN } > t] = Prmax {Tn } > t
n=1,2,...,N
N
= Pr [{T1 > t} ∪ {T2 > t} ∪ · · · ∪ {TN > t}] = Pr {Tn > t}
n=1
N
(b)
= 1 − Pr [{T1 ≤ t} ∩ {T2 ≤ t} ∩ · · · ∩ {TN ≤ t}] = 1 − Pr {Tn ≤ t}
n=1
(c)
= 1 − (1 − Pr [T1 > t])(1 − Pr [T2 > t]) · · · (1 − Pr [TN > t] )
N
=1− (1 − Pr [Tn > t]),
n=1
N
= 1 − (1 − R1 (t))(1 − R2 (t)) · · · (1 − RN (t)) = 1 − (1 − Rn (t)),
n=1
where (a) follows from (5.17), (b) follows from Pr [A ∪ B] = 1 − Pr [Ā ∩ B̄ ] gen-
eralized for N events, and (c) follows from the complementary property Pr [X̄ ] =
1 − Pr [X ] and property of independently distributed random variables. Here X̄
denotes the complement of an event X . The lemma is proved.
Corollary 5.3. In a parallel-connected system, when the lifetime of the devices follows
an exponential distribution, each of which has a failure rate λn , n = 1, 2, . . . , N , the
system reliability is given by
N
RS (t) = 1 − (1 − eλn t ). (5.18)
n=1
Proof. The proof follows from (5.10) in Lemma 5.2 and (5.16) in Lemma 5.5.
Remark 5.3. The two connection cases in Lemmas 5.4 and 5.5 are also well known
in electronic circuits. In a practical system, the connection of devices is much more
complicated. They can be connected in series-parallel hybrid or combination. The
reliability of the system can be found by first dividing it into simple serial and parallel
branches. Then, compute the reliability of each branch and group them together for
the whole system.
Network-requirement analysis 109
Definition 5.6. The availability of a device is defined by the ratio of the average
working time of the device to the total time of the device in the system. Let A, Top ,
and Ttotal denote the availability, operation time, and total time, respectively. A is
computed by
E[Top ]
A (5.20)
E[Ttotal ]
Note that the average operation time of the device is in fact the MTBF, and the total time
consists of the operation time, i.e., MTBF, and the time when the device is unavailable
and needs to be repaired, i.e., MTTR. The availability A can be given by
MTBF
A= . (5.21)
MTBF + MTTR
Lemma 5.6. When both the lifetime and repair time of a device follow exponential
distributions with a failure rate λ and a repair rate δ, respectively, its availability is
given by
δ
A= . (5.22)
δ+λ
Proof. As shown in Lemma 5.3, the MTBF is the reciprocal of its failure rate λ.
Similarly, when the repair time of the device follows an exponential distribution with
a rate δ, the MTTR can be computed by
1
MTTR = . (5.23)
δ
Substituting (5.12) and (5.23) into 5.21, the lemma is proved.
Service Characteristics Braden et al. in 1994 [97], Huston in 2000 [98], Evans
and Filsfils in 2007 [99], Marchese in 2007 [100], Braun et al. in 2008 [101],
Papadimitriou in 2010 [102], and Baker et al. in 2010 [103].
Reliability Rubino in 1999 [104] and Proakis and Salehi in 2001 and 2007 [105,106].
Capacity Nyquist in 1928 [107], Shannon in 1948 and 1949 [108,109], Marks in
1991 [110], and Cover and Thomas in 2006 [111].
Latency Ramaswamy et al. in 2004 [112], Stallings in 2006 [2], and Kurose and
Ross in 2012 [113].
Requirement Analysis Jain in 1991 [114], Kotonya and Sommerville in 1998 [115],
Hay in 2003 [116], McCabe in 2007 [73], and Laplante in 2013 [117].
RMA Analyses Smith in 2011 [118], Ayers in 2012 [119], Elsayed in 2012 [120],
and Lienig and Bruemmer in 2017 [121].
[Q5.18] How to determine the availability of a device? Show its relationship with
the MTBF and MTTR.
5.12 Problems
[P5.1] Consider a noiseless 20 kHz channel.
● Find the number of discrete signal states required to achieve a channel
capacity of 64 kbps.
● Given a fixed channel bandwidth, how many states are required to
achieve a double channel capacity in general?
[P5.2] In Theorem 5.2, the signal-to-noise ratio (SNR) γ is given by
S
γ = ,
N0 B
where S [W] is signal power, N0 [W/Hz] is noise power spectral density, and
B [Hz] is channel bandwidth.
● Rewrite (5.8).
● Derive the channel capacity for a very low SNR regime when B goes to
infinity.
[P5.3] Over a noisy channel having bandwidth B = 10 MHz and S/N0 = 105
● Find the channel capacity.
● Find the maximum channel capacity that can be achieved over broad-
band given fixed S/N0 .
[P5.4] The mean time between failures (MTBF) for a newly installed component is
given as 2,500 h.
● What is the reliability over a week, assuming 8 h/day and 5 days/week
working?
● How would the reliability change for the component if a backup is used?
● Calculate the overall reliability of three identical components connected
in series without backup.
● Calculate the overall reliability of the above three-component system
assuming that each has a backup individually.
● Assume the mean time to repair (MTTR) of a component is 0.5 h.
– What is the long-term availability of this component?
– What is the availability for the given time interval?
[P5.5] A system of components is connected as in Figure 5.9. The MTBF and MTTR
of each type of component are given in Table 5.1.
X Y Z
Y Z
X 5,000 6
Y 80,000 12
Z 150,000 48
A B C E F G I
B C E F H J
(a) (b) (c)
A B C E F G I
A B D E F H I
(a) (b) (c)
●Redraw the diagram using only the components given above showing
the layout to give the highest reliability. Find the formula of R1 (t), R2 (t),
R3 (t), and R0 (t) for the new configuration.
[P5.8] A system is set as in Figure 5.11 where the components in each subsystem
are grouped by dotted lines. Denote the reliability of component X at a
specific time t by RX (t).
● Find the reliability of each subsystem and overall system.
● Redraw the diagram using only the components given above showing
the layout to give the highest reliability. Find the formula of reliability
for the new configuration.
This page intentionally left blank
Chapter 6
Network flow analysis
6.1 Flows
A flow is defined as a set of application and protocol information having common
attributes, such as source and destination addresses, information type, routing pro-
tocol, etc. During a single session of a running application, there always exists a
flow between two end nodes, which is associated with the end-to-end communication
between a source (or sender) and a destination (or receiver). The flows therefore can
be examined through the communications on the basis of links within the network,
which can be then adapted for the entire network.
The network design is generally aimed for either capacity planning or service
planning. The flows are studied in the context of these two network planning schemes,
which are categorized as follows:
● Capacity planning: In this planning scheme, the flows are designed for best
effort services. There is no guarantee of data delivery or QoS requirement with
unspecified delivery bit rate and time.
● Service planning: Different from capacity planning, service planning targets at
services with specified QoS, such as data rate, latency, reliability, etc.
116 Network design, modeling, and performance evaluation
Individual flow
Backbone flow
Core
Composite flow
Composite flow
f low
te
osi
o mp
C
Individual flow
Composite flow
There are basically following three flow types (cf. Figure 6.1):
● Individual flow: is the flow for a single session of an application. The individual
flow is devised for specified requirements.
● Composite flow: is the combination of individual flows that share the same path
and links within the same network. The composite flow is normally used in
capacity planning for best effort services.
● Backbone flow: is formed by composite flows to link different networks following
network hierarchy.
These above flow types have implications on capacity planning in the network. They
are useful for developing routing protocols and addressing schemes, especially in a
large network with a number of flows.
Identifying data flow types is important to help us select appropriate technology
and protocols. Such flow analysis process not only provides an end-to-end perspective
on link requirements but also establishes flow boundaries in the network hierarchy.
The flow analysis indeed allows us to gain some insights into the network hierarchy
degree and redundancy (if necessary). Useful information for determining intercon-
nection strategy should also be attained through the flow analysis. Switching, routing,
or hybrid techniques are expected to be developed with respect to different flow
specifications for either capacity or service plan.
Network flow analysis 117
These two characteristics of the flows can be realized in different models which will
be discussed in the following subsections.
Client
Client Server
Client
Client Client
Client
Manager
Server Server
Server-to-server
be found in monitoring systems (e.g., weather/climate, water, etc.) via either wired
or wireless communications between sensors or computing nodes.
In the cooperative computing flow model, apart from server-to-client flows as in
client–server model, there are server-to-server flows to connect the servers for col-
laborative work and server-to-manager flows to connect the servers with the manager
at the top level.
Task
manager
Client
Client
Computing nodes
Client
Client
Considering the categories of both computing nodes and tasks, following are the
two specified models related to distributed computing:
● Computing cluster: is a group of loosely coupled computing nodes to accomplish
a coarse-granularity task. In this case, the flows are asymmetric, which are mainly
from the nodes to task manager. Hence, the node-to-manager or node-to-server
flows are critical flows. Since the task for each node is independent of that for
another node, the flows in the computing cluster are not synchronized.
● Parallel computing system: is a set of closely coupled computing nodes to carry
out a fine-granularity task. Specifically, each task is divided into several subtasks
for computing nodes to concurrently work on along with continuously sharing
information between them. The communications between nodes is critical in the
parallel computing system; hence, node-to-node flows are critical flows.
In the above two computing models, flow characteristics vary depending on
the degree of granularity and coupling. Therefore, in order to optimize flow perfor-
mance, multicasting should be taken into account subject to the constraints on the
task requirements and capabilities of computing nodes.
LAN
LAN
MAN
LAN
LAN
WAN
LAN MAN
LAN
LAN
LAN
The flow boundaries are defined as the separations between large portions within
a system. They are helpful in indicating not only network flow hierarchies but also
directionality and consolidation of the flows. Flow boundaries are thus required to be
determined as part of the flow analysis.
A simple way to set up the boundaries is based on geographic areas, such as
between campuses, buildings, and floors. The network topology is also a factor
to define the flow boundaries, such as LAN/WAN, LAN/MAN, and MAN/MAN
separations (cf. Figure 6.6).
Another separation approach is to use logical boundaries to separate between
backbones, between network access points in the Internet, between WANs, or between
areas with different service requirements. For simplicity, service providers and net-
work engineers normally consider the network boundaries between the WANs in the
logical model.
80% 80%
20%
LAN
LAN
WAN
20%
LAN
LAN
80%
80%
for the flow distributions, e.g., LANs, MANs, and WANs, or more specifically with
campus area networks and home area networks.
The flow distributions with identified backbones are helpful in showing when
the flows stay in one region or transit from one region to another region. A typical
example of flow distribution is within a LAN and between LANs in a WAN. A simple
80/20 rule can be applied where 80% of the traffic flow is within the LAN and 20% is
across the WAN (cf. Figure 6.7). This means that the WAN capacity is approximately
25% of the LAN capacity. For example, 2.048 Mbps T1/E1 WAN circuit connects 10
Mbps LANs.
● Two-part flowspec: contains not only best effort flows but also specified or
predictable flows. This flowspec can be applied for both capacity and service
planning.
● Multipart flowspec: consists of all the above in addition to provide more details
and requirements on individual components of the flows.
Given the list of all flows and their characteristics, a flowspec algorithm can be
developed to bring all these characteristics together into a specification in the form of
combined flows. All characteristics for each flow, including capacity/throughput,
delay/latency, and RMA (if any available), should be combined to describe the
expected overall performance.
The development of flowspec algorithm should meet the following conditions:
● For best effort flows: only capacity requirements are involved in the calculation
for these flows.
● For specified flows: all performance characteristics (if available), i.e., capac-
ity/throughput, delay/latency, and RMA, are computed for these flows. For each
of these characteristics, it is aimed at solving an optimization problem to maximize
the overall performance of the specified flows.
● When delay and/or reliability requirements are indicated, these can be considered
as constraints in the optimization problem and should be treated individually in
the calculation for the flowspec.
● Capacities produced by one-part, two-part, and multipart flowspecs are regarded
as baseline performance only, while the performance modifiers rely on various
factors in practical network deployment.
The flow characteristics in flowspec algorithm can be computed for different
flowspec types as follows:
● One-part flowspec: Considering capacity planning with L best effort (BE) flows,
let CBE,i , i = 1, 2, . . . , L, denote the capacity of the ith flow. The total capacity
CBE is given by
L
CBE = CBE,i . (6.1)
i=1
K
CSP = CSP,j . (6.2)
j=1
In addition, the reliability and delay of the SP flows denoted by RSP and DSP ,
respectively, should be considered in two-part flowspec.
Network flow analysis 125
Establishing flow
boundaries Boundary?
Determining flow
distributions Traffic?
Developing flowspec
Prioritizing flows
Information Flows Ford in 1956 [29], Ford and Fulkerson in 1956 [30], Omidyar
and Pujolle in 1996 [122], Brownlee et al. in 1999 [123], and Floyd and Fall in
1999 [124], Gamal and Kim in 2012 [125], and Frana in 2018 [126].
Network flow analysis 127
P2P Model Shen et al. in 2009 [127], Fitzek and Charaf in 2009 [128], Gurler and
Tekalp in 2013 [129], Kumar and Lee in 2014 [130], Yin et al. in 2017 [131],
Wu et al. in 2017 [132], and Jiang et al. in 2018 [133].
D2D Systems Asadi et al. in 2014 [134], Trestian et al. in 2015 [135], Wu et al. in
2016 [136], and Ali et al. in 2016, 2017, and 2018 [137–139].
Client–Server Model Sinha in 1992 [140], Ramesh and Perros in 2000 [141],
Kanitkar and Delis in 2002 [142], AbdulFatah and Majumdar in 2002 [143],
and Zhu et al. in 2016 [144].
Cooperative Computing Taylor in 1990 [145], Richardson et al. in 1998 [146],
Wu et al. in 2013 [147], You and Huang in 2018 [148], and Sheng et al. in
2018 [149].
Distributed Computing Casavant and Kuhl in 1988 [150], Morse in 1994 [151],
Bianchi in 2000 [152], Younis and Fahmy in 2004 [153], Nishida and Nguyen in
2013 [154], Kandaswamy et al. in 2018 [155], and Pascale et al. in 2018 [156].
Flow Boundaries Estrin et al. in 1989 [157] and Quoitin et al. in 2003 [158].
Flow Distributions McCabe in 2007 [73] and Oppenheimer in 2010 [77].
Flow Specification Partridge in 1992 [159] and Marques et al. in 2009 [160].
Flow Analysis and Control Cruz in 1991 [161], Parekh and Gallager in 1993 [162],
Jane et al. in 1993 [163], Sen and Wang in 2004 [164], Popovski and Yomo in
2007 [165], Katti et al. in 2008 [166], Sohn and Kim in 2008 [167], and Liu and
Chen in 2015 [168].
Flow Virtualization Dally in 1992 [169], Jagadeesan et al. in 2014 [170], Lara et al.
in 2014 [171], Kreutz et al. in 2015 [172], Hassan et al. in 2017 [173], Li et al.
in 2018 [174], and Jia et al. in 2018 [175].
6.10 Problems
[P6.1] Discuss how to design flows for capacity planning and service planning
schemes in an enterprise subject to various service requirements in different
areas/buildings/offices.
[P6.2] Provide an example of a communication network where peer-to-peer model
is incorporated in client–server model.
[P6.3] Assume the servers are located in the cloud. This computing model is also
known as cloud computing. Do the research on this model and show how
to adapt cooperative computing and distributed computing models for the
cloud-based servers.
[P6.4] Apart from the popular 80/20 rule, investigate other flow distribution rules,
e.g., 50/50, 20/80, etc., and their applications in practical networks.
[P6.5] In the flow analysis model, discuss criteria for prioritizing flows based
on flowspec. Show their corresponding impacts on the network flow
performance in the whole network.
Chapter 7
Network performance evaluation
In the previous chapters, we have gone through the whole network-design process
starting from the initial requirement analysis to flow analysis with detailed guide-
lines for configuring network elements and entire network, as well as mechanisms
for developing network and flow specification. In order to validate the effective-
ness of a network design, its performance needs to be evaluated. In general, there
are three approaches to evaluate the network performance, including benchmarking,
simulation, and analytical modeling.
In this chapter, I will sequentially discuss these three approaches along with their
merits and demerits as well as their applications. Section 7.1 will first present the
benchmarking technique, followed by the introduction of simulation and analytical
modeling approaches in Sections 7.2 and 7.3, respectively. Also, in this chapter, a
typical system and its component will be provided in Section 7.4 as illustrations of
different performance-evaluation techniques.
However, apart from these above merits, the benchmarking technique has some
essential demerits as follows:
● Cost: The benchmarking requires a high cost in building the system, instrumen-
tation, and testing before the product is able to come into use.
● Time: Such high complicated process with benchmarking technique is definitely
time-consuming.
● Personnel: The success of the product after a number of tests and trial runs requires
a lot of efforts, and human factor plays a key role in the benchmarking process.
● Extendability: Some changes in the system or network environment may have
considerable impacts on the results. The benchmarking results are hard to be
extended for different cases; hence, different benchmarking processes are needed.
Although the simulation has shown a number of merits, it has some demerits that
need to be considered in the performance-evaluation process, such as the following:
● Personnel: In order to construct a new simulator or simulation software, it nor-
mally requires a lot of human efforts, time, and work commitment, especially
with inexperienced engineer or a programmer with no specialized knowledge in
that simulator.
● Time: The simulation is shown to be much faster than benchmarking. However,
a large number of simulation runs are required to elaborate and validate the
correctness of the results, which is a time-consuming process depending on the
length of the simulation program. Although the simulation programs are easy to
run and rerun for a number of times, very minor changes of the system parameters
may require new simulation runs.
Network performance evaluation 131
The analytical modeling, however, has some disadvantages due to its inherent
restrictions and requirements as follows:
Attribute(s) State
Entity
Exogenous events
Activity
Endogenous events
System
Data packets
Data flow
Transmitter Receiver
State:
Attribute: The number of
Account balance customers waiting
and waiting time
Customer
Banking system
State:
The number of
Attribute: packets waiting in
Packet length/size the buffer and
waiting time
Data packet
Single-server
queuing system
waiting time are state variables. The arrival of the customer is an exogenous event,
while the completion of the service for the customer is an endogenous event.
Example 7.2. Analogically, consider a single-server queuing system for data com-
munications (cf. Figure 7.4). The entities in this system are the packets, and their
length is an attribute. The transmission and reception of the packets are activities of
these entities. In this case, the event can be the arrival of the packets at the server,
and the state variable is the number of packets waiting in the queue to be sent. Details
of the queuing system will be discussed in Chapter 15.
Network performance evaluation 135
7.7 Problems
[P7.1] Select a network-simulation software. Discuss about its advantages and
disadvantages in modeling a real system.
[P7.2] Compare the complexity of analytical modeling and simulation approaches.
Any simulation software or tool can be selected.
[P7.3] Discuss the accuracy of the results derived from analytical modeling
compared with those obtained from simulation software.
[P7.4] Provide an example to show the artificiality and impracticality of the
analytical modeling.
[P7.5] Build a table comparing merits and demerits of three approaches to evaluate
network performance.
[P7.6] Develop a simulation model for a multi-server queuing system. Illustrate its
components and their relationship in a diagram.
This page intentionally left blank
Chapter 8
Network simulation models
In fact, the above scenarios when employing simulation would be benefited due to a
number of its advantages. The simulation could
● allow new policies, procedures, algorithms, etc. that can be tested and validated
without interrupting ongoing process and operation of a real system;
● help us to test new hardware/systems to verify their functionalities and compati-
bility and/or to validate their performance prior to buying them;
● test various hypotheses on certain phenomena that can occur during the operation;
● allow us to either speed up or slow down the phenomena by compressing or
expanding the simulation time;
● provide insight about the interaction of variables within the system along with
their impacts on the system performance;
● perform bottleneck analyses of the system; and
● help us to understand the operation of an entire system by answering various
“What If ” questions.
The above limitation is due to the following disadvantages of the simulation, including
the following:
For simplifying the modeling and analysis, the system can be assumed to be invariant
within a specific period of time. In this case, it is regarded as a static simulation
model.
Within a system, there may have one or several variables affecting the perfor-
mance of the system. The simulation models should represent these variables and thus
can be classified into two other kinds as follows:
Considering the change of state over time of the random variables within a system,
there are also two kinds of the simulation models, including the following:
● Discrete simulation models: are used to represent the discrete systems in which
the state variables change in a discrete set of points over time.
140 Network design, modeling, and performance evaluation
● Continuous simulation models: are used to represent the systems in which the
state variables change continuously over time.
A typical model that is frequently considered in network design is “discrete,
dynamic, and stochastic simulation model.” In this model, there is one or multiple
random variables which change in a discrete set of points over time.
Model construction
Model running
and
data collection
Data analysis,
documentation, and
implementation
Formulate an
optimization problem:
objectives and constraints
Construct a simulation
model with inputs and
corresponding responses
Aggregate simulation
data, plot figures, and write
report
8.7 Problems
[P8.1] Provide an example for each type of the following simulation models:
● Static simulation model
● Dynamic simulation model
● Deterministic simulation model
● Stochastic simulation model
● Discrete simulation model
● Continuous simulation model.
[P8.2] Produce a table summarizing all the above simulation models highlighting
the differences between them.
[P8.3] Find a research article on networking which uses simulation to verify
the mathematical analysis. Do the research on the considered simulation
approach to show its necessity and effectiveness in network-performance
evaluation.
[P8.4] Provide an example of a complex system that simulation should be performed
prior to implementing in a real system.
[P8.5] Discuss on how to perform bottleneck analyses of the system with simulation.
[P8.6] Investigate why the simulation outputs are sometimes regarded as unfeasible
and/or unreliable in practical networks.
[P8.7] In a simulation model, how to verify if the number of simulation runs is
enough to represent the real statistics of the performance metrics under
investigation, i.e., Step 10 in the simulation process? Provide an example of
a simulation model where the number of runs is not large enough to validate
its performance.
This page intentionally left blank
Chapter 9
Statistical models in network simulation
In practical networks, most of the parameters are random and variant over time.
Statistical models are crucial in network simulation to represent the real network.
Specifically, queuing systems have been developed as a statistical model of the waiting
lines in telecommunication networks.
In this chapter, I will first introduce statistical models used for modeling queu-
ing systems with different distribution types in Section 9.1. Section 9.2 will present
Poisson point process (PPP) and its variants including homogeneous PPP and inhomo-
geneous PPP which have been well developed to model the number of events occurred
in the statistical models. This chapter will be closed by outlining detailed steps for
developing input models in Section 9.3, which include data collection, distribution
identification, parameter estimation, and testing.
Details of the above distributions and their properties will be discussed in the fol-
lowing chapters. In addition, the number of packets arrived in the system during a
specific interval follows a Poisson distribution, a.k.a. PPP, which will be discussed in
Section 9.2.
For evaluating the reliability and maintainability, the time to failure is another
random variable that needs to be considered. In order to represent this, some statistical
models can be used, such as follows:
N(t)
1
0 t
t1 t2 t3 t4 t5 t6
Theorem 9.1. In the SPPP, the time difference between events, a.k.a. interarrival
time, is exponentially distributed and independent with a mean of 1/λ.
This invariant average interval implies that the SPPP is stationary and memory-
less.
Adapting to queuing systems with a service facility, the next customer is served
as soon as the one in service leaves the system. The time between service completions
is indeed the service time. Therefore, if the time between completions is exponentially
distributed, then the service time itself is exponentially distributed. This means that
the service is also an SPPP.
Due to the stationary increment, the number of events in the interval (a, b], a ≤ b,
denoted by N (a, b] follows Poisson distribution with
e−(a,b) ((a, b))n
Pr [N (a, b] = n] = , n ∈ N, (9.14)
n!
where (a, b) denotes the average number of events in (a, b] given by
b
(a, b) = E[N (a, b]] = λ(t)dt.
a
The number of events is also independent in any disjoint intervals, i.e., (a1 , b1 ], (a2 , b2 ],
. . . , (aK , bK ], and thus
Pr [{N (a1 , b1 ] = n1 , N (a2 , b2 ] = n2 , . . . , N (aK , bK ] = nK }]
K
e−(ai ,bi ) ((ai , bi ))n
= i
. (9.15)
i=1
ni !
Example 9.2. Suppose e-mail arrivals to a server follow a PPP having rates of 2 per
minute in the morning from 8 am to 12 pm, and then 0.5 per minute in the afternoon
from 12 to 4 pm.
Set t = 0 corresponds to 8 am, an NPPP N (t) over time [0, t] has the following
rate function:
2 if 0 ≤ t < 4,
λ(t) =
0.5 if 4 ≤ t < 8.
Statistical models in network simulation 151
The probability distribution of the number of arrivals over time [0, t] is expressed by
e−(t) ((t))n
Pr [N (t) = n] = , n ∈ N,
n!
where the average number of arrivals by time t, i.e., (t), is given by
⎧ t
⎪
⎪
⎪
⎪
⎪ 2ds = 2t if 0 ≤ t < 4,
⎪
⎨
(t) = 4 0
t
⎪
⎪
⎪
⎪ t
⎪
⎪ 2ds + 0.5ds = + 6 if 4 ≤ t < 8.
⎩ 2
0 4
where i (t) is the average number of arrivals over time t given by (9.4) for the
case of NPPP. The superposition property of the PPP means that if the arrivals to
a multi-server facility are PPP with each server having exponential service times,
the departures also constitute a Poisson stream.
● Splitting/Thinning: A PPP with a mean (t) can be split into multiple subpro-
cesses, each having a probability pi , i = 1, 2, . . . . The ith subprocess is also a
PPP with a mean rate of
i (t) = pi (t). (9.18)
152 Network design, modeling, and performance evaluation
Data collection
e
Probability distribution
identification
Parameter estimation
● Analyze data promptly: to evaluate the data as long as it is observed to check for
its appropriateness and accuracy.
● Combine data: to combine data sets of the same types over successive time
periods.
● Examine data: to perform data censoring over the entire collected data set.
● Check variables: to validate the relationship between variables in addition to
autocorrelation checking.
Definition 9.5. If X is a random variable having cdf FX (x), then the q-quantile,
q ∈ [0, 1], of X is the α such that
FX (α) Pr [X ≤ α] = q. (9.19)
If FX (x) is invertible, then α can be determined as
α = FX−1 (q). (9.20)
Let xi , i = 1, 2, . . . , n, denote a sample of data from the random variable X and
yj , and j = 1, 2, . . . , n, denote the observations of the real data in ascending order. It
can be approximated that
−1 j − 0.5
yj ≈ F X (9.21)
n
where j is called the ranking or order number. This accordingly means that if X is
an appropriate
random variable
to represent the observed data, then the plot of { yj }
versus FX−1 (( j − 0.5)/n) is approximately a straight line. A further observation is
that if the line has a slope of one then the parameter values of the distribution are
appropriate.
Besides the check for appropriateness of a distribution, the Q–Q plot can be
employed to check the homogeneity between two sample sets by comparing their
plots of the order values. If they are homogeneous, then a distribution can represent
both of them.
Definition 9.6. Given a sampled data set of size N , i.e., {X1 , X2 , . . . , XN }, its sample
mean and variance are determined by
N
Xi
X̄ i=1 , (9.22)
N
N
X 2 − N X̄ 2
Var[X ] i=1 i . (9.23)
N −1
Statistical models in network simulation 155
Definition 9.7. If the sampled data set are grouped with a frequency distribution fi
for the observed value Xi , the sample mean and variance can be given by
G
f i Xi
X̄ = i=1
G
, (9.24)
i=1 fi
G G
i=1 fi Xi −
2 2
i=1 fi X̄
Var[X ] = G , (9.25)
i=1 fi −1
where G is the number of groups in the data set.
Through statistical analysis over a number of observed values, the sample mean
and variance are regarded as two statistics of the distribution.
For more information, the readers are suggested to refer to the following selected
references:
Statistical Models Davison in 2003 [210], Cox in 2006 [211], Rissanen in 2007
[212], Wasserman in 2010 [213], and Kroese and Chan in 2013 [214].
Probability Distribution Papoulis in 2002 [215], Forbes et al. in 2010 [216],
Montgomery and Runger in 2013 [217], and Ross in 2014 [218].
Poisson Point Process Ross in 1995 [219], Nelson in 1995 [220], Kulkarni in 1995
[202], Papoulis in 2002 [215], Daley and Vere-Jones in 2003 and 2008 [221,222],
Illian et al. in 2008 [223], Bass in 2011 [224], and Snyder and Miller in 2012
[225].
156 Network design, modeling, and performance evaluation
Input modeling Jain in 1991 [114], Banks et al. in 2010 [185], Choi and Kang in
2013 [205], and Obaidat in 2015 [226].
Parameter Estimation Bos in 2007 [227], Levy in 2008 [228], and Aster et al. in
2012 [229].
Distribution Fitness Test Massey in 1951 [230], D’Agostino in 1986 [231], Green-
wood and Nikulin in 1996 [232], Fan in 1997 [233], and Justel et al. in 1997
[234].
[Q9.1] Provide some statistical models which are commonly used in queuing
systems.
[Q9.2] How to model packet interarrival time, service time, and failure time in a
queuing model?
[Q9.3] What is a Poisson point process (PPP)?
[Q9.4] What is the probability of observing a number of events x within a specified
interval in a PPP having an event rate of λ?
[Q9.5] Differentiate between stationary PPP and nonstationary PPP.
[Q9.6] What is the probability function of stationary PPP and nonstationary PPP
within a specific interval t?
[Q9.7] Explain how to generate different PPPs with superposition/pooling and
splitting/thinning operations.
[Q9.8] Describe the steps for developing an input model in network simulation.
Illustrate them with a flowchart.
[Q9.9] How to verify the appropriateness of the collected data?
[Q9.10] Explain how to identify a probability distribution of the collected data.
[Q9.11] Provide some typical distributions that can be easily identified through
their properties.
[Q9.12] What are quantiles of a random variable?
[Q9.13] How to determine the q-quantile of a random variable X ?
[Q9.14] Explain how to employ Q–Q plot to evaluate the fitness of a distribution
of a random variable.
[Q9.15] What are sample mean and sample variance of a data set and how to
determine them?
[Q9.16] What is distribution fitness test and its principle in examining a data
distribution?
9.6 Problems
[P9.1] Show that the interarrival time in both stationary and nonstationary PPP
follows an exponential distribution.
[P9.2] Does the probability function increase or decrease if the rate of the PPP
increases? Prove this.
Statistical models in network simulation 157
[P9.3] Consider packet arrivals at a server following a PPP with a rate of 25 packets
per minute.
● Derive the probability function of the PPP.
● Find the probability that there are 30 packet arrivals in a minute.
● Assume the rate of the PPP is doubled, i.e., 50 packets per minute, find
the probability that there are 30 packet arrivals in a minute.
[P9.4] E-mails arrive at a server following a PPP with a rate of 1,000 e-mails per
day during the weekday, i.e., from Monday to Friday, and 200 e-mails per
day during the weekend. Assume a week starts on Monday, i.e., t = 0, and
ends on Sunday, i.e., t = 6.
● Derive the probability function of the number of e-mails over time [0, t]
where 0 ≤ t ≤ 6.
● Derive the probability function of the number of e-mails received from
Wednesday to Saturday.
[P9.5] Provide two examples to illustrate the pooling and thinning of PPP.
[P9.6] Provide an example to show that Q–Q plot can be used to check the
homogeneity between two sample sets.
[P9.7] Do the research on goodness-of-fit tests. Discuss the principle and usage of
Kolmogorov–Smirnov test and Fisher test for various sample sets.
This page intentionally left blank
Chapter 10
Probabilities in performance analysis
When talking about the randomness of an event in statistical models, it always goes
together with the probability concept. This chapter is devoted to introduce the prob-
abilities in the context of network performance analysis. For some people who may
have learned and are familiar with the general concept of the probability, this chap-
ter will help them review these and present the terminology and concepts in the
communication networks.
In this chapter, I will first introduce the basic concepts and terminology of the
probability in Section 10.1. Section 10.2 will present axioms and properties of the
probability. Considering the relationship between events, Sections 10.3 and 10.4 will
discuss the conditional probability and independence of the events along with their
applications in network-performance evaluation.
Remark 10.1. A set is mutually exclusive and collectively exhaustive when it satisfies
both (10.2) and (10.4).
Depending on data types, a sample space can be either a discrete or continuous set.
Example 10.2. The sample space when decoding three received data packets is
S = {s1 s2 s3 , s1 s2 f3 , s1 f2 s3 , f1 s2 s3 , s1 f2 f3 , f1 s2 f3 , f1 f2 s3 , f1 f2 f3 },
where si and fi , i = 1, 2, 3, are the successful and failed outcomes, respectively, of the
ith packet.
Definition 10.4. An event is a specified set/subset of outcomes in an experiment. The
corresponding event space is a mutually exclusive and collectively exhaustive set of
all the outcomes of the event.
An illustration of event in an experiment is shown in Figure 10.1 where the sample
space of the experiment has eight outcomes, and a specified event consisting of two
outcomes is selected.
Example 10.3. Suppose we examine three decoded data packets. Let si and fi ,
i = 1, 2, 3, denote the successful packet and failed packet, respectively, of the ith
Probabilities in performance analysis 161
Outcome
Outcome
Outcome
Outcome Outcome
Outcome
Event
Outcome
Outcome
Sample
space
Experiment
packet. An event E consists of all possible outcomes which have at least two successful
packets. The corresponding event space E of the event E is
E = {s1 s2 s3 , s1 s2 f3 , s1 f2 s3 , f1 s2 s3 },
Definition 10.5. An experiment is random if its outcome cannot be predicted with
certainty or determined with a probability.
Most experiments in practice are random. For instance, the communication chan-
nels in wireless networks suffer from random fading and noise due to the randomness
of the communication media.
Equation (10.7) can also be applied for any sets having a number of subsets as
in Theorem 10.1.
162 Network design, modeling, and performance evaluation
Theorem 10.1. If a set A has M collectively exhaustive and mutually exclusive subsets
{A1 , A2 , . . . , AM }, then
M
M
Pr [A] = Pr Ai = Pr [Ai ]. (10.8)
i=1 i=1
Proof. The proof follows from the definition of union and intersection operations of
collectively exhaustive set and mutually exclusive set, respectively, with A = A1 ∪
A2 ∪ · · · ∪ AM and Ai ∩ Aj = ∅, ∀i = j.
Proof. The proof follows from Theorem 10.1 where each outcome ei , i = 1, 2, . . . , M ,
is regarded as a subset of a set E.
Example 10.4. A data symbol consists of 2 b. There are four different data symbols
which can be generated from these 2 b. Assume that they are equally likely. Applying
Corollary 10.1, the probability of each outcome is 1/4.
Some other properties of probability can be obtained from the set theory concepts
as in Theorems 10.2 and 10.3.
Proof. The proof follows from the fact that there is nothing in the null set.
Proof. The proof follows from the definition of the complement set, i.e.,
x ∈ A ⇔ x ∈ A. (10.13)
Equivalently, we have
Example 10.5. A data packet is received correctly with a probability of 0.2. Then,
the probability of the packet to be corrupted or lost is 1 − 0.2 = 0.8.
Proof. The proof follows from the definition of a subset, i.e., if x ∈ Ai , then
x ∈ A.
Example 10.6. A data symbol consists of 2 b 0 and 1. Four different data symbols
generated from these 2 b are assumed to be equally likely. Let A denote the event that
the data symbol consists of at least 1 b; 1 and B denote the event that the data symbol
consists of exact 2 b 1. Events A and B can have the following possible outcomes:
A = {01, 10, 11}
B = {11}
It can be seen that B ⊂ A, Pr [B] = 1/4, and Pr [A] = 3/4. This verifies that Pr [B] ≤
Pr [A] as shown in Theorem 10.4.
Proof. The proof follows from the definition of union set. The union set of A and
B is equal to set A plus set B minus the intersection set between A and B, i.e.,
A ∩ B.
Proof. The proof follows from the fact of union and intersection sets that
M
A = (A ∩ B1 ) ∪ (A ∩ B2 ) ∪ · · · ∪ (A ∩ BM ) = (A ∩ Bi ), (10.18)
i=1
and from the computation of the probability of the union set as in Theorem 10.1.
Example 10.8. A model of mobile phone usage consists of voice ( V ) and data (D).
Each voice or data call can be classified as either long (L) or short (S). The probability
of a long voice call, i.e., Pr [LV ], is 0.2, of a short voice call, i.e., Pr [SV ], is 0.3, of
a long data call, i.e., Pr [LD], is 0.4, and of a short data call, i.e., Pr [SD], is 0.1.
Applying Theorem 10.6, we can obtain the probability of a long call, i.e., Pr [L], and
of a voice call, i.e., Pr [V ], as follows:
Pr [L] = Pr [LV ] + Pr [LD] = 0.2 + 0.4 = 0.6
Pr [V ] = Pr [LV ] + Pr [SV ] = 0.2 + 0.3 = 0.5.
Remark 10.3. Definition 10.6 also means that in order for both events A and B
to occur, event B can occur first and then event A occurs given that B has already
occurred. Equation (10.19) can be equivalently written as
Pr [AB] = Pr [A|B]Pr [B]. (10.20)
Remark 10.4. A notice in (10.19) is that there is an implicit condition of Pr [B] > 0.
Indeed, if Pr [B] = 0, i.e., event B does not exist, then Pr [A|B] has no meaning.
detected in both checks, while 40% of the data packets can only be detected for errors
in the first check.
Let A and B denote the events that the packets can be detected for errors in the first
check and in the second check, respectively. We have Pr [AB] = 0.2 and Pr [A] = 0.4.
The probability of the packets that can be detected for errors in the second check
if they can also be detected in the first check is
Pr [AB] 0.2
Pr [B|A] = = = 0.5.
Pr [A] 0.4
Remark 10.5. Similar to the axioms of the probability, we have some well-known
axioms of the conditional probability as follows:
0 ≤ Pr [A|B] ≤ 1, (10.21)
Pr [A|A] = 1. (10.22)
Some other properties of the conditional probability are shown in the following
theorems:
Theorem 10.7. If a set A has M collectively exhaustive and mutually exclusive subsets
{A1 , A2 , . . . , AM }, then
M
M
Pr [A|B] = Pr Ai |B = Pr [Ai |B]. (10.23)
i=1 i=1
Proof. The proof follows from Definition 10.6 and Theorem 10.1, i.e.,
Pr [AB]
Pr [A|B] =
Pr [B]
M
Pr i=1 Ai B
=
Pr [B]
M
= Pr Ai |B
i=1
M
= Pr [Ai |B].
i=1
Example 10.10. A server carries out two tests on every received data packets. 25%
of the packets pass both tests, while 40% of the packets pass the first test, and 30%
of the packets pass the second test.
Let A and B denote the event that the packets pass the first test and the second
test, respectively. We have Pr [AB] = 0.25, Pr [A] = 0.4, and Pr [B] = 0.3
The probability of the packets that pass the second test if they also pass the first
test is
Pr [AB] 0.25
Pr [B|A] = = = 0.625.
Pr [A] 0.4
The probability of the packets that pass the first test if they also pass the second
test is
Pr [AB] 0.25
Pr [A|B] = = = 0.833.
Pr [B] 0.3
Pr [A|B] can also be interpreted as the probability that the accepted data packets in
the second test can pass the first test.
Remark 10.6. It can be noted in example that Pr [A|B] = Pr [B|A]. These two
conditional probabilities also have different meanings.
A special case is when two events A and B are equally likely as in the following
lemma.
Proof. The proof follows from Theorem 10.8 when Pr [A] = Pr [B].
Proof. The proof follows from Theorem 10.6 of the intersection sets and Definition
10.6 of conditional probability
M
Pr [A] = Pr [ABi ]
i=1
M
= Pr [A|Bi ] Pr [Bi ].
i=1
Example 10.11. A cloud computing data center has three servers, denoted by S1 , S2 ,
and S3 , to process the data. 20% of the data is processed at the first server, 30% of
data at the second server, and 50% of the data at the third server.
Let A denote the event that the data is successfully processed at the data center.
Observing the successful data process from the three servers, we have the follow-
ing conditional probabilities: Pr [A|S1 ] = 0.8, Pr [A|S2 ] = 0.7, and Pr [A|S3 ] = 0.9.
The probability that the data is successfully processed can be determined by the
law of total probability in Theorem 10.9 as
Pr [A] = Pr [A|S1 ] Pr [S1 ] + Pr [A|S2 ] Pr [S2 ] + Pr [A|S3 ] Pr [S3 ]
This accordingly means that the successfully processed data has to be from either one
of three servers, and this is always true. However,
Pr [A|S1 ] + Pr [A|S2 ] + Pr [A|S3 ] = 1.
From the observation in Example 10.11, we have the following lemma.
Proof. The proof follows from the law of total probability in Theorem 10.9 and Bayes’
theorem, i.e., Theorem 10.8, as
M
M
Pr [A|Bi ] Pr [Bi ]
Pr [Bi |A] =
i=1 i=1
Pr [A]
1
M
= Pr [A|Bi ] Pr [Bi ]
Pr [A] i=1
1
= Pr [A] = 1.
Pr [A]
Definition 10.7. Two events A and B are independent if and only if the probability of
their intersection set equals to the product of their individual probabilities, i.e.,
Pr [A ∩ B] = Pr [AB] = Pr [A] Pr [B]. (10.29)
Proof. The proof follows from Definition 10.6 of the conditional probability and
Definition 10.7 of the independent events, i.e.,
Pr [AB]
Pr [B] =
Pr [A|B]
Pr [A] Pr [B]
= .
Pr [A|B]
We thus deduce (10.30) and similarly obtain (10.31), which completes the proof.
The above definition of two independent events can be extended to the general
case of more than two events as follows:
Definition 10.8. M events {A1 , A2 , . . . , AM } are independent if and only if every set
of (M − 1) sets is independent and
M
M
Pr Ai = Pr [Ai ]. (10.32)
i=1 i=1
Theorem 10.11. If two events A and B are conditionally independent given an event
C, then
Pr [AB|C] = Pr [A|C] Pr [B|C] (10.33)
and
Pr [A|BC] = Pr [A|C]. (10.34)
Proof. The proof of (10.33) follows from the Bayes’ theorem (cf. Theorem 10.8) and
Definition 10.6 as
Pr [AC] Pr [BC]
Pr [AB|C] =
Pr [C] Pr [C]
= Pr [A|C] Pr [B|C]
Pr [A|BC] = Pr [A|B|C]
= Pr [A|C].
170 Network design, modeling, and performance evaluation
Remark 10.7. The independence concept is also related to the RMA analysis in
Chapter 5 (cf. Section 5.9).
Let S denote the event that the whole system consisting of N independent devices
is successful and Dn , n = 1, 2, . . . , N , denote the event that the nth device is successful.
If these devices are connected in series, it can be deduced that
N
N
Pr [S] = Pr Dn = Pr [Dn ]. (10.35)
n=1 n=1
N
Pr [S] = 1 − (1 − Pr [Dn ]). (10.36)
n=1
10.7 Problems
[P10.1] Monitor three consecutive phone calls going through a telephone switch-
ing office. Classify each one as a voice call (v) if someone is speaking or a
data call (d) if the call is carrying a modem or fax signal. Your observation
is a sequence of three letters (each letter is either v or d). For example,
two voice calls followed by one data call corresponds to vvd. Write the
elements of the following sets:
● A1 = {first call is a voice call}
● A2 = {second call is a voice call}
● A3 = {all calls are the same}
● A4 = {one or more voice calls}
● B1 = {first call is a data call}
● B2 = {second call is a data call}
● B3 = {voice and data alternate}
● B4 = {two or more data calls}
For each pair of events A1 and B1 , A2 and B2 , and so on, identify whether
the pair of events is either mutually exclusive or collectively exhaustive
or both.
[P10.2] Differentiate between mutually exclusive events and independent events.
[P10.3] Derive the probability of the union of two events A and B for the following
cases:
● A and B are mutually exclusive.
● A and B are independent.
[P10.4] Monitor a phone call. Classify the call as a voice call (V ) if someone
is speaking or a data call (D) if the call is carrying a modem or fax
signal. Classify the call as long (L) if the call lasts for more than 3 min;
otherwise, classify the call as brief (B). Based on data collected by the
telephone company, we use the following probability model: P[V ] = 0.7,
P[L] = 0.6, P[VL] = 0.35. Find the following probabilities:
● Pr [DL]
● Pr [D ∪ L]
● Pr [VB]
● Pr [V ∪ L]
● Pr [V ∪ D]
● Pr [LB]
172 Network design, modeling, and performance evaluation
[P10.5] Monitor three consecutive phone calls going through a telephone switch-
ing office. Classify each one as a voice call (v) if someone is speaking or
a data call (d) if the call is carrying a modem or fax signal. Your observa-
tion is a sequence of three letters (each one is either v or d). For example,
three voice calls corresponds to vvv. The outcomes vvv and ddd have
probability 0.2, whereas each of the other outcomes vvd, vdv, vdd, dvv,
dvd, and ddv has probability 0.1. Count the number of voice calls NV
in the three calls you have observed. Consider the four events NV = 0,
NV = 1, NV = 2, NV = 3. Describe in words and calculate the following
probabilities:
● Pr [NV = 2]
● Pr [NV ≥ 1]
● Pr [{vvd}|NV = 2]
● Pr [{ddv|}|NV = 2]
● Pr [NV = 2|NV ≥ 1]
● Pr [NV ≥ 1|NV = 2]
Determine whether the pair of events {NV = 2} and {NV ≥ 1} is
independent.
[P10.6] In a cellular phone system, a mobile phone must be paged to receive a
phone call. However, paging attempts do not always succeed because the
mobile phone may not receive the paging signal clearly. Consequently, the
system will page a phone up to three times before giving up. If a single
paging attempt succeeds with probability 0.8, sketch a probability tree
for this experiment and find the probability P[F] that the phone is found.
[P10.7] A machine produces routers in pairs. Tests show that the first router is
acceptable with probability 70%. If the first router is acceptable, then the
second router will be acceptable with probability 90%. Otherwise, if the
first router is defective, then the second router will be acceptable with
probability 30%.
● Find the probability that exactly one router of a pair is acceptable.
● Find the probability that both routers in a pair are acceptable.
● Suppose the quality of each pair of routers is independent of the
quality of every other pair of routers. Find the probability of at least
one acceptable router out of two pairs of routers.
● Find the minimum number of pair of routers the machine must produce
to reach a probability of 99% that there will be at least one acceptable
router.
[P10.8] Consider a binary code with 4 b (0 or 1) in each code word. An example
of a code word is 0110.
● Find the number of code words that can be generated.
● Find the number of code words that have exactly two zeroes.
● Find the number of code words that begin with a zero.
● In a constant-ratio binary code, each code word has N bits. In every
word, M of the N bits are 1 and the other N − M bits are 0. Find the
number of code words in the code when N = 8 and M = 3.
Probabilities in performance analysis 173
In network modeling and simulation, a real network can be represented via statistical
models. Due to the randomness of the phenomenon, possible outcomes of the event
can be assigned by a real number of random quantity which is known as a random
variable. The random variable is specified by a probability distribution. Depending on
the data type of the random quantity, we have two kinds of random variables including
discrete and continuous random variables.
In this chapter, I will first introduce the basic concepts of random variables in
Section 11.1. Discrete and continuous random variables will be sequentially presented
in Sections 11.2 and 11.3. Specifically, distribution functions, mean, variance, and
moments will be discussed for each random variable type.
Random
Outcome Real value variable
X
SX = {x1 , x2 , . . . } (11.2)
SX = {x1 , x2 , . . . , xN }. (11.3)
1
Note that the upper case letter is used to name the random variable, while the lower case letter is for its
value.
Random variables in network modeling and simulation 177
0.5
0.45
0.4
0.35
0.3
fX (x)
0.25
0.2
0.15
0.1
0.05
0
0 1 2
x
Example 11.2. In Example 11.1, it is assumed that the success and fail of file
sharing between two devices are equally likely. The outcomes in the sample space
S = {ss, sf , fs, ff } are thus equally likely, each of which has a probability of 1/4. The
pmf of the number of files that are successfully received, i.e., random variable X (cf.
Figure 11.2), is given by
⎧
⎪
⎨1/4 if x = 0, 2,
fX (x) = 1/2 if x = 1,
⎪
⎩
0 otherwise.
Remark 11.1. From Definition 11.3, it can be noticed that the pmf of a discrete
random variable X has the following properties:
0 ≤ fX (x) ≤ 1 ∀x ∈ SX , (11.5)
fX (x) = 1. (11.6)
x∈SX
178 Network design, modeling, and performance evaluation
Theorem 11.2. The pmf of a derived discrete random variable Y = g(X ) is given by
fY ( y) = fX (g −1 (y)). (11.10)
x:x=g −1 (y)
Definition 11.5. The cdf FX (x) of a discrete random variable X is the probability
that X will take a value less than or equal to x, i.e.,
FX (x) Pr [X ≤ x] (11.11)
= fX (x ). (11.12)
x ≤x∈SX
Random variables in network modeling and simulation 179
0.9
0.8
0.7
0.6
0.5
FX (x)
0.4
0.3
0.2
0.1
0
–1 –0.5 0 0.5 1 1.5 2 2.5 3
x
Example 11.3. In Example 11.1, the cdf of the number of files that are successfully
received, i.e., random variable X (cf. Figure 11.3), is given by
⎧
⎪
⎪ 0 if x < 0,
⎪
⎨1/4 if 0 ≤ x < 1,
FX (x) =
⎪3/4 if 1 ≤ x < 2,
⎪
⎪
⎩
1 if x ≥ 2.
Remark 11.2. From Definition 11.5, it can be noticed that the cdf of a discrete
random variable X has the following properties:
0 ≤ FX (x) ≤ 1 ∀x ∈ SX , (11.13)
FX ( − ∞) = 0, (11.14)
FX (∞) = 1. (11.15)
Theorem 11.3. The cdf of a random variable X is an increasing function over the
whole range of x in the sample space, i.e.,
FX (x1 ) ≤ FX (x2 ) ∀x1 ≤ x2 ∈ SX . (11.16)
Theorem 11.4. The probability that a discrete random variable X is within a specified
interval can be determined via its cdf and pmf as follows:
Pr [a < X ≤ b] = FX (b) − FX (a), (11.17)
Pr [a ≤ X ≤ b] = FX (b) − FX (a) + fX (a), (11.18)
Pr [a < X < b] = FX (b) − FX (a) − fX (b), (11.19)
Pr [a ≤ X < b] = FX (b) − FX (a) + fX (a) − fX (b). (11.20)
Pr [a < X ≤ b] = Pr [X ≤ b] − Pr [X ≤ a]
= FX (b) − FX (a),
Pr [a ≤ X ≤ b] = Pr [X ≤ b] − Pr [X ≤ a] + Pr [X = a]
= FX (b) − FX (a) + fX (a),
Pr [a < X < b] = Pr [X ≤ b] − Pr [X ≤ a] − Pr [X = b]
= FX (b) − FX (a) − fX (b),
Pr [a ≤ X < b] = Pr [X ≤ b] − Pr [X ≤ a] + Pr [X = a] − Pr [X = b]
= FX (b) − FX (a) + fX (a) − fX (b).
where E[·] denotes the expectation operator, and fX (x) is the pmf of X given by (11.4).
In statistics, the expected value can also be represented by μX . For consistency,
the expected value is denoted by E[X ] throughout.
Example 11.4. Consider Example 11.1 with the pmf of random variable X given by
⎧
⎪
⎨1/4 if x = 0, 2,
fX (x) = 1/2 if x = 1,
⎪
⎩
0 otherwise.
Random variables in network modeling and simulation 181
Theorem 11.5. The expected value of a derived discrete random variable Y = g(X )
is given by
E[Y ] = g(x)fX (x), (11.22)
x∈SX
Proof. The proof follows from Definition 11.6 and Theorem 11.2 as
E[Y ] = yfY (y)
y∈SY
= g(x) fX (g −1 (y))
y∈SY x:x=g −1 (y)
= g(x)fX (x)
y∈SY x:x=g −1 (y)
= g(x)fX (x).
x∈SX
= aE[X ] + b,
where the last equal sign is due to (11.6), i.e., x∈SX fX (x) = 1, and
Definition 11.6.
182 Network design, modeling, and performance evaluation
Proof. The proof follows from Definition 11.6 and Theorem 11.5 as
N
E[Y ] = ai fXi (xi )
i=1 xi ∈SXi
N
= ai E[Xi ].
i=1
= E[X ]E[Y ].
where the second equal sign is based on Definition 10.7 of two independent
events.
In statistics, the expected value can also be represented by σX2 . For consistency,
the variance value is denoted by V [X ] throughout.
Example 11.5. Consider Example 11.1 with the pmf of random variable X given by
⎧
⎪
⎨1/4 if x = 0, 2,
fX (x) = 1/2 if x = 1,
⎪
⎩
0 otherwise.
and the expected value of X is E[X ] = 1. The variance of X is calculated by using
(11.27) as
V [X ] = (x − E[X ])2 fX (x)
x∈{0,1,2}
(a)
= (ax + b − (aE[X ] + b))2 fX (x)
x∈SX
= a2 (x − E[X ])2 fX (x)
x∈SX
(b)
= a2 V [X ],
where (a) follows from Lemma 11.1 and (b) follows from Definition 11.7.
The variance of a random variable can also be represented via a standard deviation
which is simply defined as the square root of its variance.
Definition 11.8. The standard deviation of a random variable X is the square root
of its variance, i.e.,
σX V [X ], (11.32)
where σX denotes the standard deviation of X , V [X ] is the variance of X given by
either (11.26) or (11.28).
Proof. The proof follows from Definition 11.9 and Theorem 11.6 as
cov[X , Y ] = E[(X − E[X ])(Y − E[Y ])]
= E[XY − XE[Y ] − YE[X ] + E[X ]E[Y ]]
= E[XY ] − E[X ]E[Y ].
Random variables in network modeling and simulation 185
N
V [Y ] = V ai X i
i=1
⎡ N 2 ⎤
N
= E⎣ ai X i − ai E[Xi ] ⎦
i=1 i=1
N
=E a2i (Xi − E[Xi ]) 2
i=1
N
+2 ai aj E[(Xi − E[Xi ])(Xj − E[Xj ])]
i=1 j
=i∈[1,N ]
N
N
= a2i V [Xi ] +2 ai aj cov[Xi , Xj ].
i=1 i=1 j
=i∈[1,N ]
Proof. The proof follows from Theorem 11.11, and the fact in Lemma 11.3 that
cov[Xi , Xj ] = 0 if Xi and Xj are independent.
11.2.5 Moments
In order to model a generalized change of a probability distribution of a random
variable about its average value, a new term, namely, central moment, is widely used
186 Network design, modeling, and performance evaluation
in statistics. The central moment and its variant forms of a discrete random variable
are defined as follows:
Definition 11.10. The nth central moment of a discrete random variable X is
E [(X − E[X ])n ] = (x − E[X ])n fX (x), (11.37)
x∈SX
where σX is the standard deviation of X given by (11.32) and fX (x) is the pmf of X
given by (11.4).
Specifically, the normalized moment has been applied in analyzing the shape of
a probability distribution. For instance,
● When n = 3, the third normalized moment is called skewness which is a measure
of the asymmetry of the probability distribution of a random variable about its
expected value.
● When n = 4, the fourth normalized moment is called kurtosis which is a measure
of the heaviness of the tail of the probability distribution of a random variable.
0.9
0.8
0.7
0.6
FX (x)
0.5
0.4
0.3
0.2
0.1
0
0 0.5 1 1.5 2 2.5 3 3.5 4
x
Example 11.7. cdf of a continuous uniform random variable in the range [1, 3] as
shown in Figure 11.4 is given by
⎧
⎪
⎪ 0 if x ≤ 1,
⎨
x−1
FX (x) = if 1 ≤ x ≤ 3,
⎪
⎪
⎩ 2
1 if x > 3.
Remark 11.3. Note that the cdf given by (11.41) is identical to that for discrete
random variable as in (11.11); however, it is not computed by (11.12) which is only
feasible for a finite set. Due to the continuity of the real values in the sample space,
the cdf of a continuous random variable is also a continuous function.
188 Network design, modeling, and performance evaluation
Remark 11.4. It can be shown that the cdf of a continuous random variable also has
the properties of the discrete random variables, i.e.,
0 ≤ FX (x) ≤ 1 ∀x ∈ SX , (11.42)
FX ( − ∞) = 0, (11.43)
FX (∞) = 1, (11.44)
FX (x1 ) ≤ FX (x2 ) ∀x1 ≤ x2 ∈ SX . (11.45)
1.5
1
fX (x)
0.5
–0.5
1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
x
Example 11.8. pdf of a continuous uniform random variable in the range [1, 3] as
shown in Figure 11.5 is determined by
⎧
⎨1
if 1 ≤ x ≤ 3,
fX (x) = 2
⎩0 otherwise.
Random variables in network modeling and simulation 189
Remark 11.5. From Definition 11.15, it can be noticed that the pdf of a continuous
random variable X has the following properties:
fX (x) ≥ 0 ∀x ∈ SX , (11.47)
∞
fX (x)dx = 1, (11.48)
−∞
Theorem 11.12. The cdf of a continuous random variable X can be determined via
its pdf as
x
FX (x) = fX (t)dt, (11.49)
−∞
Proof. The proof follows from Definitions 11.5 and 11.15, i.e.,
x
FX (x) = Pr [X ≤ x] = fX (t)dt.
−∞
b
= fX (x)dx. (11.51)
a
Proof. The proof of (11.50) is similar to that of Theorem 11.4, and the proof of
(11.51) follows from (11.49) in Theorem 11.12, i.e.,
b
= fX (x)dx.
a
190 Network design, modeling, and performance evaluation
Remark 11.6. Note that the interval between a and b in Theorem 11.13 can be either
left-bounded, right-bounded, closed, or open since Pr [X = x] = 0, ∀x ∈ SX , i.e.,
Pr [a ≤ X < b] = Pr [a ≤ X ≤ b] = Pr [a < X < b] = FX (b) − FX (a). (11.52)
where E[X ] is the expected value of X given by (11.53) and fX (x) is the pdf of X given
by (11.46).
where E[X ] is the expected value of X given by (11.53) and E[X 2 ] is given by
∞
E[X ] =
2
x2 fX (x)dx. (11.58)
−∞
11.3.5 Moments
The central moment and its variant forms of a continuous random variable are defined
as follows:
Definition 11.19. The nth central moment of a continuous random variable X is
∞
E [(X − E[X ]) ] = n
(x − E[X ])n fX (x)dx, (11.61)
−∞
where σX is the standard deviation of X and fX (x) is the pdf of X given by (11.46).
Remark 11.7. Similar to the discrete random variable, the first raw moment, the
second central moment, the third normalized moment, and the fourth normalized
moment of the continuous random variable stand for its variance, expected value,
skewness, and kurtosis, respectively.
[Q11.12] Prove that the variance of a random variable X can be computed through
the first and the second moments of X , i.e., V [X ] = E[X 2 ] − E 2 [X ].
[Q11.13] Derive the expected value and variance of a derived random variable Y =
g(X ).
[Q11.14] What is covariance of two random variables and its meaning? Draw the
condition of two independent random variables.
[Q11.15] Derive the variance of a linear sum of N independent random variables.
[Q11.16] What are the nth central moment, the nth moment, and the nth normalized
moment of a discrete random variable?
[Q11.17] What is the probability density function (pdf) of a continuous random
variable and its relation with the cdf?
[Q11.18] Differentiate between the pdf and the pmf. Explain why the continuous
random variable cannot be represented by the pmf.
[Q11.19] Derive the probability that a continuous random variable is within a
specified interval via its pdf and cdf.
[Q11.20] How to determine the expected value and variance of a discrete random
variable given its pdf?
[Q11.21] Demonstrate the differences between the continuous and discrete random
variables in calculating the expected value, variance, and moments.
11.6 Problems
[P11.1] A random variable Z is given by Z = Ni=1 ai Xi + M j=1 bj Yj + c. The
expected value and variance of Xi , i = 1, 2, . . . , N , and Yj , j = 1, 2, . . . , M ,
are E[Xi ] = μXi , V [Xi ] = σX2i , E[Yj ] = μYj , and V [Yj ] = σY2j .
● Derive the general expressions for the expected value and variance
of Z.
● Find E[Z] and V [Z] for the following special cases:
– cov[Xi , Xj ] = 0, ∀i
= j, {i, j} ∈ {1, 2, . . . , N }.
– cov[Yi , Yj ] = 0, ∀i
= j, {i, j} ∈ {1, 2, . . . , M }.
– cov[Xi , Yj ] = 0, ∀i ∈ {1, 2, . . . , N } and j ∈ {1, 2, . . . , M }.
[P11.2] Consider the data transmission between two devices A and B. Assume that
A transmits three packets, each of which can be either successful (s) or
failed (f ) to receive at B with the same probability.
● Find the sample space of this experiment.
● Let X denote the number of packets that are successfully received
at B. Derive the probability mass function (pmf) and the cumulative
distribution function (cdf) of X .
● Find the probability that there is at least one packet successfully
received.
● Find the probability that there is either one or two packets successfully
received.
194 Network design, modeling, and performance evaluation
where c is a constant.
● Find the value of constant c.
● Find Pr [X ≥ 2].
● Find the expected value and variance of X .
[P11.4] A discrete random variable X has the following pmf:
⎧
⎪
⎨1/8 if x = 0, 2,
fX (x) = 3/8 if x = 1, 3,
⎪
⎩
0 otherwise.
Voice calls cost 25 pence each and data calls cost 40 pence each. Let
T (pence) denote the cost of the three telephone calls monitored in the
experiment.
● Find the expected value and variance of N .
● Express T as a function of N .
● Derive the pmf of T.
● Find the expected value and variance of T based on those of N .
Random variables in network modeling and simulation 195
[P11.7] In an experiment to monitor two calls, the pmf of the number of voice
calls, i.e., N , is
⎧
⎪
⎪ 0.1 if n = 0,
⎪
⎨ 0.4 if n = 1,
fN (n) =
⎪
⎪ 0.5 if n = 2,
⎪
⎩
0 otherwise.
● Find the expected value and variance of N .
● Find the skewness and kurtosis of N .
[P11.8] The number of memory chips M needed in a personal computer depends on
how many application programs, A, the owner wants to run simultaneously.
The number of chips M and the number of application programs A are
described by
⎧
⎪
⎨4 if A = 1, 2,
M = 6 if A = 3,
⎪
⎩
8 if A = 4.
0.1(5 − a) if a = 1, 2, 3, 4,
fA (a) =
0 otherwise.
Discrete random variables, as introduced in Chapter 11, have been well developed
to model a number of practical network phenomena which are vital for network
simulation. This chapter will discuss various families of discrete random variables
and their applications in modeling and validating random events.
In this chapter, I will first provide a review of formulas related to discrete ran-
dom variables in Section 12.1. Then, various kinds of discrete random variables,
including Bernoulli, binomial, geometric, Pascal, Poisson, and discrete uniform ran-
dom variables, will be sequentially presented in Sections 12.2–12.7. Specifically, the
probability mass function (pmf), expected value, variance, and properties of each of
these random variables will be derived and discussed in detail.
Example 12.1. Perform a test of a network device. There are only two possible
outcomes which could be either a success or a failure. This is also known as boolean
or binary outcomes. The test is successful with probability p and failed with probability
1 − p. Let a random variable X represent the number of successful devices in a test,
where X has the value of 1 if the test is successful and 0 if the test is failed.
198 Network design, modeling, and performance evaluation
pmf fX (x) Pr [X = x]
0 ≤ fX (x) ≤ 1
x∈S X fX (x) = 1
fX |B (x) Pr [X = x|B]
fX (x) = M i=1 fX |B (x) Pr [Bi ]
cdf FX (x) Pr [X ≤ x] = x ≤x∈S X fX (x )
0 ≤ FX (x) ≤ 1, FX (−∞) = 0, FX (∞) = 1
FX (x1 ) ≤ FX (x2 ) ∀x1 ≤ x2
Pr [a < X ≤ b] = FX (b) − FX (a) ∀a < b
E[X ] E[X ] x∈S X xfX (x)
V [X ] V [X ] E (X − E[X ])2 = x∈S X (x − E[X ])2 fX (x)
V [X ] = E[X 2 ] − E 2 [X ]
σX σX V [X ]
Y = g(X ) fY (y) = x:x=g −1 (y) fX (g −1 (y))
E[Y ] = x∈S X g(x) fX (x)
E[aX + b] = aE[X ] + b
V [Y ] = x∈S X (g(x) − E[g(X )])2 fX (x)
V [aX + b] = a2 V [X ]
Central moment E [(X − E[X ])n ] = x∈SX (x − E[X ])n fX (x)
Raw moment E[X n ] = x∈SX xn fX (x)
Normalized moment (E [(X − E[X ])n ])/σXn = x∈SX (x − E[X ]) fX (x) /
n
n
x∈SX (x − E[X ]) fX (x)
2
Definition 12.1. The pmf of a Bernoulli random variable X ∼ Ber(p), 0 < p < 1, is
⎧
⎪
⎨p if x = 1,
fX (x) = 1 − p if x = 0, (12.1)
⎪
⎩
0, otherwise.
Discrete random variables and their applications 199
0.6
0.5
0.4
fX (x)
0.3
0.2
0.1
0
0 1
x
Remark 12.1. It can be observed in (12.1) that x∈SX fX (x) = 1. This reflects the
fact that the total pmf should be equal to 1 (cf. (11.6)). Note that this fact applies to
all discrete random variables including those covered in this chapter.
Theorem 12.1. The expected value and variance of a Bernoulli random variable
X ∼ Ber(p) are respectively given by
E[X ] = p, (12.2)
Example 12.2. Perform the test of N network devices, each of which is successful
with probability p and failed with probability (1 − p). The test result of a device is
independent of those of other devices. Let a random variable X represent the number
of successful devices in the N tests.
Definition 12.2. The pmf of a binomial random variable X ∼ Bin(N , p), 0 < p < 1,
N ∈ Z+ , is
⎧
⎪
⎨
N x
p (1 − p)N −x if x = 0, 1, 2, . . . , N ,
fX (x) = x (12.4)
⎪
⎩
0 otherwise,
N
where denotes the binomial coefficient given by
x
N N!
, (12.5)
x x!(N − x)!
and k! denotes the factorial of a nonnegative integer k computed by
k
k! i. (12.6)
i=1
0.18
0.16
0.14
0.12
0.1
fX (x)
0.08
0.06
0.04
0.02
0
0 2 4 6 8 10 12 14 16 18 20
x
N N
Remark 12.4. Note that 0! = 1, and thus = = 1, which means fX (x)
0 N
still exists when x = 0 and x = N . In these two special cases, fX (0) = (1 − p)N and
fX (N ) = pN .
Proof. The proof follows from the well-known binomial formula for the expansion
of (x + y)n based on the Pascal’s triangle, i.e.,
n
n
(x + y)n = xn−k yk .
k=0
k
N
N x
p (1 − p)N −x = (1 − p + p)N = 1.
x=0
x
202 Network design, modeling, and performance evaluation
Theorem 12.3. The expected value and variance of a binomial random variable
X ∼ Bin(N , p) are respectively given by
E[X ] = Np, (12.8)
V [X ] = Np(1 − p). (12.9)
Proof. The proof follows from the fact that the binomial random variable can be
regarded as the summation of N Bernoulli random variables, i.e.,
N
X = Xi ,
i=1
= Np.
Since {X1 , X2 , . . . , XN } are independent, from Lemma 11.4 with the variance of each
Xi , i = 1, 2, . . . , N , given by V [Xi ] = p(1 − p) (cf. Theorem 12.1), the variance of X
can be determined by
N
V [X ] = V [Xi ]
i=1
= Np(1 − p).
Example 12.3. Perform a test of network devices, each of which is successful with
probability p and failed with probability (1 − p). Let X be the number of tests up to
and including the first successful test.
In Example 12.3, the random variable X is called geometric random variable
due to the fact that its function distribution has the form of a geometric progression
1
The geometric random variable may be defined differently in some materials as the number of tests until
having the first success or before the first success. It is also defined as the number of failures prior to
having the first success. In either case, the distribution function can be similarly obtained by shifting the
random variable.
Discrete random variables and their applications 203
as shown later in Definition 12.3. For simplicity, the geometric random variable is
written as X ∼ Geo(p).
Definition 12.3. The pmf of a geometric random variable X ∼ Geo(p), 0 < p < 1, is
⎧
⎨p(1 − p)x−1 if x = 1, 2, . . . ,
fX (x) = (12.10)
⎩0 otherwise.
An illustration of a geometric random variable X ∼ Geo(0.6) is shown in
Figure 12.3.
0.6
0.5
0.4
fX (x)
0.3
0.2
0.1
0
2 4 6 8 10 12 14 16 18 20
x
Remark 12.5. In (12.10), it can be easily seen that there is only one success with
probability p, while the remaining (x − 1) tests are failed with probability (1 − p).
Remark 12.6. If we define a random variable Y as the number of failures until having
the first success, i.e., Y = X − 1, then the pmf of Y should be
⎧
⎨p(1 − p) y if y = 0, 1, 2, . . . ,
fY (y) = (12.11)
⎩0 otherwise.
In this case, there is y failures with probability (1 − p) and one success with probability
p. Notice that the range of y is from 0 for the case of no failure, which is different from
the range of random variable X in Definition 12.3 starting from 1.
204 Network design, modeling, and performance evaluation
Proof. We have
∞
∞
p(1 − p)x−1 = p (1 − p)x−1
x=1 x=1
∞
= p (1 − p)x
x=0
(a) 1
= p
1 − (1 − p)
= 1,
where (a) follows from the infinite sum of geometric series, i.e.,
∞
1
qx = , ∀|q| < 1.
x=0
1−q
Theorem 12.5. The expected value and variance of a geometric random variable
X ∼ Geo(p) are respectively given by
1
E[X ] = , (12.13)
p
1−p
V [X ] = . (12.14)
p2
(a)
∞
= xp(1 − p)x−1
x=1
∞
= p x(1 − p)x−1
x=1
(b) 1
= p
(1 − (1 − p))2
1
= .
p
Discrete random variables and their applications 205
where (a) follows from the pmf of X in (12.3) and (b) follows from the derivative of
geometric progression, i.e.,
∞
1
nxn−1 = , ∀|x| < 1.
x=1
(1 − x)2
∞
= x2 p(1 − p)x−1
x=1
∞
∞
= p x(x + 1)(1 − p)x−1 − p x(1 − p)x−1
x=1 x=1
(a) 2 1
= p −
(1 − (1 − p))3 p
2 1
= 2− ,
p p
where (a) follows from the derivative of geometric progression, i.e.,
∞
2
n(n + 1)xn−1 = , ∀|x| < 1.
x=1
(1 − x)3
V [X ] = E[X 2 ] − E 2 [X ]
2 1 1
= 2− − 2
p p p
1−p
= .
p2
Example 12.4. Perform a test of network devices, each of which is successful with
probability p and failed with probability (1 − p). Let X be the number of tests up to
and including the k successful tests.
206 Network design, modeling, and performance evaluation
In Example 12.4, the random variable X is called Pascal random variable and,
for simplicity, it is written as X ∼ Pas(k, p).
Definition 12.4. The pmf of a Pascal random variable X ∼ Pas(k, p), 0 < p < 1,
k ∈ Z+ , is
⎧
⎪ x−1 k
⎨ p (1 − p)x−k if x = k, k + 1, . . . ,
fX (x) = k − 1 (12.15)
⎪
⎩
0 otherwise.
An illustration of a Pascal random variable X ∼ Pas(4, 0.6) is shown in
Figure 12.4.
0.25
0.2
0.15
fX (x)
0.1
0.05
0
4 6 8 10 12 14 16 18 20
x
x−1
Remark 12.7. In (12.15), the binomial coefficient is the number of possi-
k −1
bilities to have (k − 1) successful tests out of (x − 1) tests given the fact that the last
test is successful, i.e., the kth successful test.
Remark 12.8. It can be seen that the binomial coefficient in the pmf of Pascal random
variable has a reversed form of that of the binomial random variable where the number
of tests is fixed. Therefore, the Pascal random variable is also called as “negative”
binomial random variable in some materials.
Proof.
∞
∞
x−1 x−1
pk (1 − p)x−k = pk (1 − p)x−k
x=k
k −1 x=k
k −1
∞
1 x−1
= pk (1 − p)x−1
(1 − p)k−1 x=k k − 1
(a) 1 (1 − p)k−1
= pk
(1 − p)k−1 (1 − (1 − p))k
= 1,
where (a) follows from the ordinary generating function of binomial coefficients, i.e.,
∞
n xm
xn =
n=m
m (1 − x)m+1
when n = x − 1, m = k − 1, and x = 1 − p.
Theorem 12.7. The expected value and variance of a Pascal random variable X ∼
Pas(k, p) are respectively given by
k
E[X ] = , (12.17)
p
k(1 − p)
V [X ] = . (12.18)
p2
Proof. The proof follows from the fact that the Pascal random variable can be regarded
as the summation of k geometric random variables, i.e.,
k
X = Xi ,
i=1
From Theorems 11.11 and 12.5 with E[Xi ] = 1/p, i = 1, 2, . . . , N , the expected
value of X can be obtained by
k
E[X ] = E[Xi ]
i=1
k
= .
p
Since {X1 , X2 , . . . , Xk } are independent, from Lemma 11.4 with the variance of each
Xi , i = 1, 2, . . . , N , given by V [Xi ] = (1 − p)/p2 (cf. Theorem 12.5), the variance of
X can be determined by
k
V [X ] = V [Xi ]
i=1
k(1 − p)
= .
p2
A Poisson random variable is associated with Poisson point process which was
described in Chapter 9 (cf. Section 9.2). In this section, the Poisson random variable
is discussed in detail showing its pmf, expected value, and variance.
A Poisson random variable X is used to represent the number of events occurring
in a specified time interval. For simplicity, X is written as X ∼ Poi(λ) where λ is a
Poisson parameter. As shown later, λ is also the average number of events, and thus
it is also known as event rate.
0.18
0.16
0.14
0.12
0.1
fX (x)
0.08
0.06
0.04
0.02
0
0 2 4 6 8 10 12 14 16 18 20
x
Proof. We have
∞
λx e−λ
∞
λx
= e−λ
x=0
x! x=0
x!
(a)
= e−λ eλ
= 1,
where (a) follows from the Maclaurin series of exponential function, i.e.,
∞
xn
ex = .
n=0
n!
Theorem 12.9. The expected value and variance of a Poisson random variable X ∼
Poi(λ) are respectively given by
E[X ] = λ, (12.21)
V [X ] = λ. (12.22)
210 Network design, modeling, and performance evaluation
(a) ∞
λx e−λ
= x
x=0
x!
∞
λx e−λ
= x
x=1
x!
∞
λx−1
= λe−λ
x=1
(x − 1)!
∞
λx
= λe−λ
x=0
x!
(b)
= λe−λ eλ
= λ
where (a) follows from the pmf of X given by (12.19) and (b) follows from the
Maclaurin series of exponential function, i.e.,
∞
xn
ex = .
n=0
n!
where (a) follows the same Maclaurin series of exponential function as in the proof
of the expected value of X .
Definition 12.6. The pmf of a discrete uniform random variable X ∼ U (a, b), a, b ∈
Z, a < b, is
⎧
⎪ 1
⎨ if x = a, a + 1, a + 2, . . . , b,
fX (x) = b−a+1 (12.23)
⎪
⎩
0 otherwise.
0.2
0.18
0.16
0.14
0.12
fX (x)
0.1
0.08
0.06
0.04
0.02
0
1 2 3 4 5
x
This verifies that the total pmf should be equal to 1 (cf. (11.6)).
Theorem 12.10. The expected value and variance of a discrete uniform random
variable X ∼ U (a, b) is
a+b
E[X ] = , (12.24)
2
(b − a + 1)2 − 1
V [X ] = . (12.25)
12
(a)
b
1
= x
x=a
b−a+1
1 b
= x
b − a + 1 x=a
(b) 1 (b − a + 1)(a + b)
=
b−a+1 2
a+b
= ,
2
where (a) follows from the pmf of X given by (12.23) and (b) follows from the sum
of series that
b
(b − a + 1)(a + b)
i= .
i=a
2
In order to derive the variance of X , for simplicity, let us define another random
variable Y = X − a + 1. Y is also a uniform random variable, but it is defined within
a simple range, i.e., Y ∼ U (1, n), where n = b − a + 1. The pmf of Y is thus given by
⎧
⎪
⎨
1
if y = 1, 2, . . . , n,
fY (y) = n
⎪
⎩0 otherwise.
Discrete random variables and their applications 213
n
1
= y
y=1
n
1
n
= y
n y=1
n+1
= .
2
E[X ] = E[Y ] + a − 1
b−a+2
= +a−1
2
a+b
= .
2
n
1
= y2
y=1
n
1 2
n
= y
n y=1
1 n(n + 1)(2n + 1)
(a)
=
n 6
(n + 1)(2n + 1)
= ,
6
n
n(n + 1)(2n + 1)
i2 = .
i=1
6
214 Network design, modeling, and performance evaluation
V [Y ] = E[Y 2 ] − E 2 [Y ]
(n + 1)(2n + 1) (n + 1)2
= −
6 4
n −1
2
=
12
(b − a + 1)2 − 1
= .
12
According to Lemma 11.2, we have
(b − a + 1)2 − 1
V [X ] = V [Y ] = .
12
For more information, the readers are suggested to refer to the following selected
references:
Bernoulli Distribution Johnson et al. in 2005 [245] and Forbes et al. in 2010 [216].
Binomial Distribution Miller in 1954 [248], Kaas and Buhrman in 1980 [249], and
Wang in 1993 [250].
Geometric Distribution Andrews in 1998 [251] and Spiegel in 2003 [252].
Pascal Distribution Wilf in 2006 [253] and Hilbe in 2011 [254].
Poisson Distribution Haight in 1967 [255], Knusel in 1986 [256], Daley and Vere-
Jones in 2003 and 2008 [221,222], Illian et al. in 2008 [223], Bass in 2011 [224],
and Snyder and Miller in 2012 [225].
Discrete Uniform Distribution Papoulis in 2002 [215], Johnson et al. in 2005 [245],
and Forbes et al. in 2010 [216].
[Q12.4] What is the relationship between binomial random variable and Bernoulli
random variable?
[Q12.5] What is the relationship between Pascal random variable and geometric
random variable?
[Q12.6] What is the physical meaning of the Poisson parameter in defining the
distribution function of a Poisson random variable?
12.10 Problems
[P12.1] A Bernoulli test of network devices is represented by a Bernoulli random
variable X ∼ Ber(0.4). Find its expected value and variance of X .
[P12.2] Perform a test of five devices, each of which follows a Bernoulli distribu-
tion with a success probability of 0.3. Assume the tests are independent
of each other.
● Derive the probability mass function (pmf) of the number of successful
devices denoted by X .
● Find the expected value and variance of X .
[P12.3] A test of devices has a successful probability of 0.6. Let X denote the
number of tests up to and including the last successful attempt.
● How to represent X ?
● Derive the probability mass function (pmf) of X .
● Find the expected value and variance of X .
[P12.4] Consider a test of network devices. Let X denote the number of failures
until the first success.
● Derive the pmf of X .
● Find the expected value and variance of X .
● What is the relationship between X and the geometric random
variable?
[P12.5] Each time a modem transmits 1 b, the receiving modem analyzes the signal
that arrives and decides whether the transmitted bit is 0 or 1. It makes an
error with probability p, independent of whether any other bit is received
correctly.
● If the transmission continues until the receiving modem makes its first
error, what is the pmf of X , the number of bits transmitted?
● If p = 0.1, what is the probability that X = 10? What is the probability
that X ≥ 10?
● If the modem transmits 100 b, what is the pmf of Y , the number of
errors?
● If p = 0.01 and the modem transmits 100 b, what is the probability
of Y = 2 errors at the receiver? What is the probability that Y ≤ 2?
● If the transmission continues until the receiving modem makes three
errors, what is the pmf of Z, the number of bits transmitted?
● If p = 0.25, what is the probability of Z = 12 b transmitted?
216 Network design, modeling, and performance evaluation
Together with discrete random variables for modeling discrete random events, contin-
uous random variables have also been well developed to represent network phenomena
in which the variables can randomly take infinite and uncountable values. This chapter
will discuss various families of continuous random variables and their applications
in modeling and validating random events.
In this chapter, I will first provide a review of formulas related to continuous
random variables in Section 13.1. Then, various kinds of continuous random variables,
including uniform, exponential, Erlang, normal, and lognormal random variables,
will be sequentially discussed in Sections 13.2–13.6. For each random variable, its
probability density function (pdf), cumulative distribution function (cdf), expected
value, and variance will be derived along with discussion of their properties and
relevant applications.
Similar to discrete uniform random variable in Chapter 12 (cf. Section 12.7), a con-
tinuous uniform random variable is used to represent an event with equiprobable
outcomes having values within a specified range.
218 Network design, modeling, and performance evaluation
σX σX V [X ]
Y = g(X ) fY (y) = x:x=g −1 (y) fX (g −1 (y)
∞
E[Y ] = −∞ g(x) fX (x)dx
E[aX + b] = aE[X ] + b
∞
V [Y ] = −∞ (g(x) − E[g(X )])2 fX (x)dx
V [aX + b] = a2 V [X ]
∞
Central moment E [(X − E[X ])n ] = −∞ (x − E[X ])n fX (x)dx
∞
Raw moment E[X n ] = −∞ xn fX (x)dx
− E[X ]) ] )/σX )
n n
Normalized moment ((E [(X
∞
n
∞
= ( −∞ (x − E[X ])n fX (x)dx)/ −∞ (x − E[X ])2 f (x)dx
X
Let X denote the continuous uniform random variable with the sample space
SX = [a, b], where a < b. The random variable X can be simply written as X ∼
U (a, b) with a notice that the range of values is continuous.
Definition 13.1. The pdf of a continuous uniform random variable X ∼ U (a, b),
a < b, is
⎧
⎨ 1 if a ≤ x ≤ b,
fX (x) = b − a (13.1)
⎩0 otherwise
∞ b
1
fX (x)dx = dx
b−a
−∞ a
1
= x|b
b−a a
= 1.
Continuous random variables and their applications 219
1.5
0.5
fX (x)
–0.5
–1
1 1.5 2 2.5 3 3.5 4 4.5 5
x
This verifies the fact that the total pdf should be equal to 1 (cf. (11.48)). Note that
this fact applies to all continuous random variables including those covered in this
chapter.
Theorem 13.1. The cdf of a continuous uniform random variable X ∼ U (a, b), a < b,
is given by
⎧
⎪
⎪ 0 if x < a
⎨x − a
FX (x) = if a ≤ x ≤ b (13.2)
⎪
⎪ b−a
⎩
1 if x > b
Proof. The proof follows from Definition 11.14 and Theorem 11.12 as follows:
● If x ≤ a, then
FX (x) = Pr [X ≤ x] = 0.
220 Network design, modeling, and performance evaluation
0.9
0.8
0.7
0.6
FX (x)
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6
x
● If a ≤ x ≤ b, then
x
FX (x) = fX (t)dt
−∞
x
1
= fX (t)dt
b−a
a
x
t
=
b − a a
x−a
= .
b−a
● If x > b, then
FX (x) = Pr [X ≤ x] = 1.
Theorem 13.2. The expected value and variance of a continuous uniform random
variable X ∼ U (a, b) are respectively given by
a+b
E[X ] = , (13.3)
2
Continuous random variables and their applications 221
(b − a)2
V [X ] = . (13.4)
12
∞
E[X ] = xfX (x)dx
−∞
b
(a) x
= dx
b−a
a
b
1 x2
=
b−a 2 a
a+b
= ,
2
∞
E[X ] =
2
x2 fX (x)dx
−∞
b
x2
= dx
b−a
a
b
1 x3
=
b−a 3 a
a2 + ab + b2
= .
3
V [X ] = E[X 2 ] − E 2 [X ]
2
a2 + ab + b2 a+b
= −
3 2
(b − a)2
= .
12
222 Network design, modeling, and performance evaluation
Proof. We have
∞ ∞
1
λe−λx = λ − e−λx
λ 0
0
(a) 1
= λ
λ
= 1,
where (a) follows from the fact that
lim e−λx = 0.
x→∞
Proof. The proof follows from Definition 11.14 and Theorem 11.12 as follows:
● If x < 0, then
FX (x) = Pr [X ≤ x] = 0.
Continuous random variables and their applications 223
4.5
3.5
3
fX(x)
2.5
1.5
0.5
0
0 0.5 1 1.5 2 2.5 3
x
0.9
0.8
0.7
0.6
0.5
FX (x)
0.4
0.3
0.2
0.1
0
0 0.5 1 1.5 2 2.5 3
x
● If x ≥ 0, then
x
FX (x) = fX (t)dt
−∞
x
= λe−λt dt
0
x
= −e−λt 0
= 1 − e−λx .
Theorem 13.5. The expected value and variance of an exponential random variable
X ∼ Exp(λ) are respectively given by
1
E[X ] = , (13.8)
λ
1
V [X ] = . (13.9)
λ2
∞
E[X ] = xfX (x)dx
−∞
∞
(a)
= xλe−λx dx
0
∞
∞
= = −xe−λx 0 +
(b)
e−λx dx
0
(c) 1 −λx ∞
= − e
λ 0
1
= ,
λ
where (a) follows from (13.5), (b) follows by performing integration by parts, and (c)
follows from the fact that
lim xe−λx = 0.
x→∞
Continuous random variables and their applications 225
∞
E[X ] =
2
x2 fX (x)dx
−∞
∞
= x2 λe−λx dx
0
∞
∞
= −x2 e−λx 0 +
(a)
2xe−λx dx
0
(b) 2
= E[X ]
λ
(c) 2
= 2,
λ
where (a) follows by performing integration by parts, and (b) follows from the proof
of E[X ] with a fact that
lim x2 e−λx = 0
x→∞
V [X ] = E[X 2 ] − E 2 [X ]
2
2 1
= 2−
λ λ
1
= .
λ2
Pr [X ≤ a + b, X > a]
Pr [X ≤ a + b|X > a] =
Pr [X > a]
Pr [a < X ≤ a + b]
=
Pr [X > a]
(a) F X (a + b) − FX (a)
=
f − FX (a)
(b) 1 − e−λ(a+b) − (1 − e−λa )
=
1 − (1 − e−λa )
= 1 − e−λb
(c)
= FX (b)
(d)
= Pr [X ≤ b],
where (a) follows from Theorems 11.13 and 10.3, (b) and (c) follow from
Theorem 13.4, and (d) follows from Definition 11.14.
Proof. We have
∞ ∞
λN xN −1 e−λx λN
dx = xN −1 e−λx dx
(N − 1)! (N − 1)!
0 0
λ (N − 1)!
N
=
(N − 1)! λN
= 1,
∞
m!
xm e−ax dx =
am+1
0
when m = N − 1 and a = λ.
1.4
1.2
0.8
fX(x)
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3
x
0.9
0.8
0.7
0.6
FX (x)
0.5
0.4
0.3
0.2
0.1
0
0 0.5 1 1.5 2 2.5 3
x
(a)
N −1
= fY (k)
k=0
(b)
N −1
(λx)k e−λx
=
k=0
k!
N −1
(λx)k
−λx
= e ,
k=0
k!
Continuous random variables and their applications 229
where (a) follows from Definition 11.3 with fY (k) denoting the probability mass
function (pmf) of Y and (b) follows from Definition 12.5 of the pmf of Poisson
random variable.
From Definition 11.14, the cdf of X is given by
FX (x) = Pr [X ≤ x]
= 1 − Pr [X > x]
N −1
(λx)k
= 1 − e−λx .
k=0
k!
Theorem 13.9. The expected value and variance of an Erlang random variable X ∼
Erl(N , λ) are respectively given by
N
E[X ] = , (13.14)
λ
N
V [X ] = 2 . (13.15)
λ
Proof. The proof follows from the fact that the Erlang random variable can be regarded
as the summation of N exponential random variables, i.e.,
N
X = Xi ,
i=1
N
E[X ] = E[Xi ]
i=1
N
= .
λ
Since {X1 , X2 , . . . , XN } are independent, from Lemma 11.4 with the variance of each
Xi , i = 1, 2, . . . , N , given by V [Xi ] = 1/λ2 (cf. Theorem 13.5), the variance of X can
be determined by
N
V [X ] = V [Xi ]
i=1
N
= .
λ2
230 Network design, modeling, and performance evaluation
Proof. We have
∞ ∞ 2
1 (x − μ)2 (a) 1 t
√ exp − dx = √ exp − dt
2π σ 2σ 2
2π 2
−∞ −∞
∞ 2
(b)2 t
= √ exp − dt
2π 2
0
⎛∞ ⎞1/2
2 ∞ 2
2⎝ u v
dv⎠
(c)
= exp − du exp −
π 2 2
0 0
⎛∞ ∞ ⎞1/2
2
2⎝ u +v 2
= exp − dudv⎠
π 2
0 0
Continuous random variables and their applications 231
⎛∞ ∞ ⎞1/2
2
2⎝ u + (wu)2
ududw⎠
(d)
= exp −
π 2
0 0
⎛∞ ⎞1/2
2 u→∞
2⎝ 1 u (1 + w2 )
= − exp − dw⎠
π 1 + w2 2 u=0
0
⎛∞ ⎞1/2
2⎝ 1
= dw⎠
π 1 + w2
0
2 1/2
= arctan (w)|∞
π 0
2 π
=
π 2
= 1,
where (a) follows by letting t = (x − μ)/σ , (b) follows from the fact that e−t /2 is an
2
even function, (c) follows by duplicating the same integration along with changing
variable t = u and t = v, and (d) follows by changing variable v = wu.
0.14
0.12
0.1
0.08
fX(x)
0.06
0.04
0.02
0
–10 –8 –6 –4 –2 0 2 4 6 8 10
x
0.9
0.8
0.7
0.6
FX (x)
0.5
0.4
0.3
0.2
0.1
0
–10 –8 –6 –4 –2 0 2 4 6 8 10
x
x
(a) 1 (t − μ)2 x−μ
= √ exp − dt =
2πσ 2σ 2 σ
−∞
√
((x−μ)/(σ 2))
(b) 1 1
= +√ e−u du
2 π
0
(c) 1 x−μ
= 1 + erf √ ,
2 σ 2
where (a) follows from the pdf of X given by (13.16) and √ the cdf (x) defined
by
0 (13.22), (b) follows by changing variable u = (t − μ)/(σ 2) and the fact that
−∞
fX (t)dt = 1/2, and (c) follows from the definition of error function in (13.23).
Theorem 13.12. The expected value and variance of a normal random variable
X ∼ N (μ, σ 2 ) are respectively given by
E[X ] = μ, (13.24)
V [X ] = σ . 2
(13.25)
Proof. Let us first find the expected value and variance of a standard normal random
variable Y ∼ N (0, 1) having the pdf given by (13.18).
From Definition 11.16, the expected value of Y is given by
∞
E[Y ] = yfY (y)dy
−∞
∞ 2
y y
= √ exp − dy
2π 2
−∞
= 0,
where the second equality is due to the fact that the integrand is an odd function.
234 Network design, modeling, and performance evaluation
∞
E[Y ] =
2
y2 fY (y)dy
−∞
∞ 2
y2 y
= √ exp − dy
2π 2
−∞
∞ 2
(a)2 y
= √ y2 exp − dy
2π 2
0
√
(b) 2 π
= √
π (4/(2 2))
= 1,
where (a) follows from the fact that the integrand is an even function and (b) follows
from
∞ √
m −ax2 π
x e dx = (m+1)/2
4a
0
V [Y ] = E[Y 2 ] − E 2 [Y ]
= 1.
E[X ] = μ + σ E[Y ]
= μ,
V [X ] = σ 2 V [Y ]
= σ 2.
Continuous random variables and their applications 235
Proof. We have
∞ ∞ 2
1 ( ln x − μ)2 (a) 1 t
√ exp − 2
dx = √ exp − dt
2πσ x 2σ 2π 2
0 −∞
(b) 2 π
=
π 2
= 1,
where (a) follows by letting t = ( ln x − μ)/σ and (b) follows the same proof of
Theorem 13.10.
Remark 13.3. Let Y denote a normal random variable having mean μ and variance
σ 2 , i.e., Y ∼ N (μ, σ 2 ). By definition, X can be written as
X = eY . (13.28)
0.5
0.45
0.4
0.35
0.3
fX (x)
0.25
0.2
0.15
0.1
0.05
0
0 1 2 3 4 5 6
x
0.9
0.8
0.7
0.6
FX (x)
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6
x
Theorem 13.15. The expected value and variance of a lognormal random variable
X ∼ LN (μ, σ 2 ) are respectively given by
σ2
E[X ] = exp μ + , (13.31)
2
∞
E[X ] = ey fy (y)dy
−∞
∞
(a) 1 (y − μ)2
= ey √ exp − dy
2πσ 2σ 2
−∞
∞
σ2 1 (y − μ)2 σ2
= exp μ + √ exp y − −μ− dy
2 2πσ 2σ 2 2
−∞
∞
σ 2
1 (y − μ − σ 2 )2
= exp μ + √ exp −
2 2πσ 2σ 2
−∞
(b) σ 2
= exp μ + .
2
where (a) follows from Definition 13.4 and (b) follows from the fact that the integrand
is the pdf of a normal random variable N (μ + σ 2 , σ 2 ).
238 Network design, modeling, and performance evaluation
where (a) follows from the proof of the expected value and (b) follows from the fact
that 2Y ∼ N (2μ, 4σ 2 ).
13.9 Problems
[P13.1] A continuous random variable X has E[X ] = 3 and V [X ] = 9. Find the
probability density function (pdf) and cumulative distribution function (cdf)
of X when
● X is a continuous uniform random variable.
● X is an exponential random variable.
[P13.2] The probability that a telephone call lasts no more than t minutes is modeled
by the following cdf:
1 − e−t/3 if t ≥ 0,
FT (t) =
0 otherwise.
● Derive the pdf of the duration in minutes of a telephone conversation.
● Find the probability that a conversation will last between 2 and 4 min.
● Find the expected duration of a telephone call.
● Find the variance and standard deviation of the call duration.
● Find the probability that a call duration is within ±1 standard deviation
of the expected call duration.
[P13.3] An exponentially distributed random variable X has the following relation-
ship:
P[X ≤ 1] = 0.9P[X ≤ 2].
● Find the value of λ.
● Derive the pdf and cdf of X .
[P13.4] The lifetime X , in years, of a networking device is given by the following
pdf:
0.4e−0.4x if x ≥ 0,
fX (x) =
0 otherwise.
● Derive the cdf of X .
● Find the expected value and variance of X .
● Find the probability that this device is still alive after 5 years.
● Find the probability that the device dies between 3 and 6 years from
the time it is placed in the networking system.
[P13.5] A component has an exponential time-to-failure with a mean of 10,000 h.
● Derive the pdf and cdf of the time-to-failure of the component.
● The component has already been in operation for its mean life. Find
the probability that it will fail by 15,000 h.
● At 15,000 h, the component is still in operation. Find the probability
that it will operate for another 5,000 h.
[P13.6] Phone company A charges 0.15 per minute for telephone calls. For any
fraction of a minute at the end of a call, they charge for a full minute.
Phone Company B also charges 0.15 per minute. However, Phone Company
B calculates its charge based on the exact duration of a call. Find the
240 Network design, modeling, and performance evaluation
expected revenues per call for companies A and B when the duration of a
call in minutes is exponentially distributed with a rate λ = 1/3. (Note that,
if X is an exponential (λ) random variable, then K =
X is a geometric
(p) random variable with p = 1 − e−λ and E[K] = 1/p.)
[P13.7] The time intervals between hits on a web page from remote computers are
exponentially distributed, with a mean of 15 s.
● Derive the pdf and cdf of the duration of K hits.
● Find the probability that the third hit connection occurs after 30 s have
elapsed.
[P13.8] Consider the validation of a network component. There are four steps to
validate the quality of a component. Each step requires an average of 10
min. The validation time for each step is exponentially distributed, and the
steps are independent of each other.
● Let X denote the total validation time of all four steps. Derive the pdf
and cdf of X .
● Find the expected value and variance of the total validation time.
● Find the probability that the whole validation finishes in 30 min or less.
● Find the probability that the third step of the validation process occurs
after 15 min have elapsed.
[P13.9] A standard normal random variable X has expected value E[X ] = 0 and
variance V [X ] = 1. Let Y = 2 + 4X and Z = eY .
● Derive the pdf and cdf of Y .
● Derive the pdf and cdf of Z.
● Find the expected value and variance of Z.
Chapter 14
Random variable generation in network
simulation
Proof. We have
Pr [X ≤ x] = Pr [FX−1 (R) ≤ x]
= Pr [R ≤ FX (x)]
= FX (x),
where the last equality is due to the fact that Pr [R ≤ r] = r if R ∼ U (0, 1). This
according means that FX (x) is the cdf of X .
From Theorem 14.1, the inverse transform technique for generating samples of
a random variable X given its cdf FX (x) can be realized via the following steps:
● Step 1: Generate samples of a uniform random variable R ∼ U (0, 1).
● Step 2: Determine the generalized inverse function of cdf, i.e., FX−1 (r).
● Step 3: For every r, find x such that x = FX−1 (r)
Remark 14.1. Note that the generalized inverse function in (14.1) is used when the
cdf FX (x) is not continuous, and thus it can be employed to generate discrete random
variables via the following steps:
● Step 1: Generate samples of a uniform random variable R ∼ U (0, 1).
● Step 2: For every r, increase xi from i = 1 until FX (xi ) > r, then return x = xi .
Therefore, all discrete distributions can be generated via inverse-transform technique
as long as its pmf is specified.
Proof. The proof follows from the pmf of X given by Definition 12.1, i.e.,
⎧
⎪
⎨p if x = 1,
fX (x) = 1 − p if x = 0, (14.4)
⎪
⎩
0, otherwise.
600
500
400
300
200
100
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Proof. We first derive the cdf of X from its pmf, i.e., fX (x), defined in Definition
12.3 as
p(1 − p)x−1 if x = 1, 2, . . . ,
fX (x) = (14.7)
0 otherwise.
244 Network design, modeling, and performance evaluation
∞
= 1 − p(1 − p)x (1 − p)k
k=0
(a) 1
= 1 − p(1 − p)x
1 − (1 − p)
= 1 − (1 − p)x ,
where (a) follows from the infinite sum of geometric series, i.e.,
∞
1
qx = , ∀|q| < 1.
x=0
1−q
600
500
400
300
200
100
0
1 2 3 4 5 6 7 8
250
200
150
100
50
0
1 1.5 2 2.5 3 3.5 4 4.5 5
Proof. The proof follows from Theorem 14.1 where the cdf of X was derived in
Theorem 13.1 as
⎧
⎪
⎪ 0 if x ≤ a
⎨x − a
FX (x) = if a ≤ x ≤ b (14.13)
⎪
⎪ b−a
⎩
1 if x > b
X = a + (b − a)R.
120
100
80
60
40
20
0
1 1.5 2 2.5 3 3.5 4 4.5 5
Proof. The proof follows from Theorem 14.1 where the cdf of X was derived in
Theorem 13.4 as
1 − e−λx if x ≥ 0
FX (x) = (14.15)
0 otherwise.
1
X = − ln (1 − R).
λ
600
500
400
300
200
100
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6
300
250
200
150
100
50
0
4 6 8 10 12 14 16 18
k
X = Xi ,
i=1
where Xi ∼ Geo(p), i = 1, 2, . . . , k.
The approach to generate the Pascal random variable X ∼ Pas(k, p), 0 < p < 1,
k ∈ Z+ is known as convolution method, which can be carried out as follows:
k
X = Xi .
i=1
350
300
250
200
150
100
50
0
4 6 8 10 12 14 16
300
250
200
150
100
50
0
0 0.5 1 1.5 2 2.5
where Xi ∼ Exp(λ), i = 1, 2, . . . , k.
Employing the same approach to generate Pascal random variables, the Erlang
random variable X ∼ Erl(N , λ) can be carried out with convolution technique as
follows:
● Step 1: Generate N independent exponential random variables X1 ∼ Exp(λ), X2 ∼
Exp(λ), . . . , XN ∼ Exp(λ) (cf.
Section 14.1.5).
● Step 2: Determine X as X = Ni=1 Xi .
An illustration of generating Erlang samples X ∼ Erl(3, 5) is shown in
Figure 14.8.
250
200
150
100
50
0
–1 –0.5 0 0.5 1 1.5 2 2.5
Y = μ + σ Z, (14.17)
400
350
300
250
200
150
100
50
0
0 2 4 6 8 10 12
14.5 Problems
[P14.1] Develop a generator for the following random variables:
● X ∼ Ber(0.5).
● X ∼ Geo(0.5).
● X ∼ U (2, 6), X ∈ Z (discrete).
● X ∼ U (2, 6) (continuous).
● X ∼ Exp(3).
● X ∼ Bin(10, 0.5).
● X ∼ Erl(4, 3).
[P14.2] Develop a random-variate generator for a random variable X having the
following cdf:
e2x /2 if x ≤ 0,
F(x) =
1 − e−2x if x > 0.
[P14.3] Develop a generation scheme for the triangular distribution with the
following pdf:
⎧
⎪ x−2
⎪
⎪ 2 if 2 ≤ x ≤ 3,
⎨
f (x) = 2 − x/3
⎪ if 3 < x ≤ 6,
⎪
⎪
⎩ 2
0 otherwise.
[P14.4] Develop a generator for the variable having the following cdf:
⎧
⎪
⎪ 0 if x ≤ −3,
⎪
⎪
⎪
⎪ 1 x
⎨ + if − 3 < x ≤ 0,
F(x) = 21 6x2
⎪
⎪
⎪
⎪ + if 0 < x ≤ 4,
⎪
⎪ 2 32
⎩1 if x > 4.
[P14.5] Develop a generator for a random variable X having the following cdf:
⎧
⎪
⎨0 if x < 0,
F(x) = x /16 if 0 ≤ x ≤ 2,
4
⎪
⎩
1 if x > 2.
[P14.6] Develop a generator for a random variable X having the following cdf:
⎧
⎪
⎪ 0 if x < 0,
⎪
⎨x/3 if 0 ≤ x ≤ 2,
F(x) =
⎪
⎪ 2/3 + (x − 2)/24 if 2 < x ≤ 10,
⎪
⎩
1 if x > 10.
254 Network design, modeling, and performance evaluation
As outlined in Chapter 9, statistical models are crucial for network simulation and
performance evaluation when most parameters and events in practical networks are
randomly distributed and variant over time following different distributions. A typical
application of the statistical models can be found in queuing systems to model the
waiting experiences. This statistical modeling of the waiting is well known as queuing
theory. This chapter is devoted to study the queuing theory in the context of computer
and communication networks.
In this chapter, I will first introduce the basic concept of queuing theory in
Section 15.1. The application of queuing theory in the form of queuing systems
for computer and communication networks will be presented in Section 15.2. As a
background of the queuing system, the Poisson point process will be then reviewed in
Section 15.3. Various performance measures and their relationship with Little’s law
will be discussed in Section 15.4. This chapter will be closed by introducing Kendall’s
notation for specifying queuing systems in Section 15.5.
operation, and properties of all resources as well as relevant parameters within the
system need to be understood and considered when developing any queuing models.
Indeed, the queuing model is generally subject to constraints of available resources
along with contention between them.
As modeling of a waiting line, a queuing model simply represents a service
facility to be able to accommodate requests that are waiting to be served. Depending
on the number of servers, the queuing model can be categorized into two basic types
including the following:
● Single-server queue: In a single-server queue, packets are sequentially served one
at a time. If there are more than one packet arriving, then there is only one packet
to be served, while the remaining packets queue in a buffer. After the service of
a packet is complete, it leaves the system and thus the number of packets in the
system is reduced by one. The next packet in the queue will be served and the
number of packets in the queue is also reduced by one.
● Multi-server queue: In a multi-server queue, packets are served by multiple
servers in parallel. If the number of packet arrivals is less than the number of
servers, then some servers will be idle. Otherwise, the number of packets being
served is the number of servers, while the remaining packets will queue in a
buffer.
The above two queuing models will be discussed in detail in the subsequent Chapters
16 and 17.
In a practical communication network consisting of multiple nodes, these nodes
are generally interconnected via various communication links, and thus they experi-
ence multiple queues of different types, namely, a network of queues. In this case,
the network of queues can be regarded as an aggregation of various simple queuing
models.
Data packets
Packet arrival
Queue Server
Source
Let TW and TR denote the waiting time and response time, respectively. We then
have the following relationship:
TR = TW + TS , (15.15)
Note that the number of packets being served is the number of servers in the
system.
Let ns , NQ (t), and N (t) denote the number of servers, the number of packets in
the queue, and the number of packets in the system, respectively. We then have
Remark 15.1. When both TS and TI are exponential distributed with E[TS ] = 1/μ
and E[TI ] = 1/λ, we have
λ
ρ= . (15.18)
μ
Remark 15.2. From (15.19), the average busy period of the server can be
determined by
US
E[TB ] = E[T0 ]. (15.20)
1 − US
Remark 15.3. It can be observed that the utilization of server is indeed the probability
that the server is busy, and thus it can be obtained by
US = 1 − P0 , (15.21)
where P0 is the steady-state probability that the server is idle. Substituting (15.21)
into (15.19), P0 can be derived as
E[T0 ]
P0 = . (15.22)
E[TB ] + E[T0 ]
where Pn is the steady-state probability that there are n packets in the system, λk is
the arrival rate of kth packet, and μk is the service rate of the kth packet.
Theorem 15.1. The steady-state probability that the system is idle can be given by
∞ n−1
−1
λ k
P0 = 1 + nk=0 . (15.24)
n=1 k=1 μk
TR, N
TW, NQ
λ, TI μ, TS
Definition 15.7. Little’s law is used to show the relationship between performance
measures in queuing systems. We have the following relations:
E[N (t)] = λE[TR ], (15.25)
E[NQ (t)] = λE[TW ], (15.26)
E[TR ] = E[TW ] + E[TS ]. (15.27)
Theorem 15.2. The traffic intensity represents the difference between the average
number of packets in the queue and those in the system, i.e.,
ρ = E[N (t)] − E[NQ (t)]. (15.28)
where (a) follows from (15.13), i.e., E[TS ] = 1/μ, and (b) follows from Definition
15.4 of traffic intensity, i.e., ρ = λ/μ. This completes the proof.
Kendall’s notation is used to describe queuing systems via six parameters represented
as follows:
A/B/ns /nk /np /S,
where
● A denotes the distribution of packet interarrivals.
● B denotes the distribution of service time at the server. For communication net-
works, a server is simply a communication link. In this case, the link transmission
time can be regarded as the service time.
Queuing theory for network modeling and performance evaluation 263
15.8 Problems
[P15.1] Show the relationship between the number of packets in the queue and those
in the system.
[P15.2] Derive the average busy and idle periods of the server as a function of the
server utilization.
[P15.3] Derive the traffic intensity using Little’s law.
[P15.4] Interpret the following Kendall’s notation for various queuing systems:
● M /M /1/K
● M /M /c/c
● M /M /∞
● M /M /c/K/L
● M /G/1/K/L
● D/D/c/K/K
[P15.5] A PPP N (t) in a queuing system has an arrival rate λ = 4 packets/second.
● Derive the pmf and cdf of N (t).
● Find the expected value of N (t) during an interval of a minute.
● Find the probability that there are 100 packets arrived in a minute.
Queuing theory for network modeling and performance evaluation 265
[P15.6] A single-server queuing system has both interarrival time and service time
following exponential distribution with an average arrival rate λ = 10
packets/second and a service rate μ = 12 packets/second, respectively.
● Give the Kendall’s notation describing this system.
● Derive the pmf and cdf of both the interarrival time and service time.
● Find the traffic intensity of the system.
This page intentionally left blank
Chapter 16
Single-server queues—network behaviors
and analysis
Queuing models can be generally classified based on the number of servers in the
system. This chapter is devoted to present single-server queues in which packets are
sequentially processed by only one server. If there are more than one packet arriving,
then they have to wait until the service at the server is complete. Depending on
the system capacity and population size of the sources, various models have been
developed for single-server queues.
In this chapter, I will first introduce M /M /1 queue with infinite system capacity
and infinite population in Section 16.1. Variant models of M /M /1 queue with finite
system capacity and finite population will be sequentially discussed in Sections 16.2
and 16.3. Specifically, network behaviors and their relevant performance measures
will be provided in detail for every queuing model.
16.1 M /M /1 Queue
In M /M /1 queue, there is only a server. The system capacity and the population,
which by default are not given, mean infinite (cf. Figure 16.1). Both interarrival time,
i.e., TI , and service time, i.e., TS , are exponentially distributed with E[TI ] = 1/λ and
E[TS ] = 1/μ.
∞
Infinite source Queue Server
FIFO
Remark 16.1. In single-server queues, in order to prevent from the overload of the
queue, it is required that the arrival rate should be less than the service rate, i.e.,
λ < μ. In other terms, the traffic intensity ρ should be
λ
ρ= < 1. (16.1)
μ
where (a) follows from the assumption that λk = λ and μk = μ ∀k and (b) follows
from the infinite sum of geometric series, i.e.,
∞
1
qx = , ∀|q| < 1.
x=0
1−q
n−1
λ
P n = P0
k=0
μ
= (1 − ρ)ρ n .
Theorem 16.2. The average number of packets in the system and in the queue of
M /M /1 system is, respectively, given by
ρ
E[N ] = , (16.3)
1−ρ
ρ2
E[NQ ] = . (16.4)
1−ρ
Single-server queues—network behaviors and analysis 269
Proof. We have
∞
E[N ] = nPn
n=0
(a)
∞
= n(1 − ρ)ρ n
n=0
∞
= (1 − ρ)ρ nρ n−1
n=1
(b) 1
= (1 − ρ)ρ
(1 − ρ)2
ρ
= ,
1−ρ
where (a) follows from (16.2) and (b) follows from the derivative of geometric
progression, i.e.,
∞
1
nxn−1 = , ∀|x| < 1.
x=1
(1 − x)2
From (15.28) in Theorem 15.2, we have
E[NQ ] = E[N ] − ρ
(a) ρ
= −ρ
1−ρ
ρ2
= ,
1−ρ
where (a) follows from (16.3).
Theorem 16.3. The average response time and waiting time in M /M /1 queue are,
respectively, given by
1
E[TR ] = , (16.5)
μ−λ
ρ
E[TW ] = . (16.6)
μ−λ
We also have
Theorem 16.4. Server utilization and the average busy period of the server in M /M /1
queue are, respectively, given by
US = ρ, (16.7)
1
E[TB ] = . (16.8)
μ−λ
US = 1 − P 0
= 1 − (1 − ρ)
= ρ,
where the second equal sign follows from (16.2) in Theorem 16.1 with n = 0, i.e.,
P0 = 1 − ρ.
From (15.22) with a notice that the average idle time of the server, i.e., E[T0 ] =
1/λ, we have
E[T0 ]
P0 =
E[TB ] + E[T0 ]
1/λ
= .
E[TB ] + (1/λ)
1/λ 1
E[TB ] = −
1−ρ λ
(ρ/(1 − ρ))
=
λ
1
= .
μ−λ
Single-server queues—network behaviors and analysis 271
∞
Infinite source Queue Server
FIFO
System capacity = K
K n
−1
(a) λ
= 1+
n=1
μ
K −1
= ρ n
n=0
⎧
1⎪
⎨ if ρ = 1,
= K 1+−1ρ
(b)
⎪
⎩ if 0 ≤ ρ < 1,
1 − ρ K+1
272 Network design, modeling and performance evaluation
where (a) follows from the assumption that λk = λ and μk = μ ∀k and (b) follows
from the infinite sum of geometric series, i.e.,
K
1 − qK+1
qx = , ∀|q| < 1.
x=0
1−q
n−1
λ
P n = P0
k=0
μ
ρn
= K
k=0 ρk
⎧
⎪ 1
⎨ if ρ = 1,
= K 1+−1ρ
⎪
⎩ ρn if ρ < 1.
1 − ρ K+1
Theorem 16.6. The average number of packets in the system and in the queue of the
M /M /1/K system is, respectively, given by
K
kρ k
E[N ] = K , (16.10)
k=1 n=0 ρn
−1
K
kρ k
K
E[NQ ] = K + ρ n
− 1. (16.11)
k=1 n=0 ρn n=0
Proof. We have
K
E[N ] = kPk
k=0
(a)
K
kρ k
= K
k=0 n=0 ρn
K
kρ k
= K ,
k=1 n=0 ρn
We also have
K
E[NQ ] = (k − 1)Pk
k=1
K
K
= kPk − Pk
k=1 k=1
(a)
= E[N ] − (1 − P0 )
K −1
(b)
K
kρ k
= K + ρ n
−1
n=0 ρ
n
k=1 n=0
K
where (a) follows from k=0 Pk = 1 and (b) follows from (16.10) and (16.9).
Remark 16.2. In an M /M /1/K queue, due to its limited capacity, the system is
blocked when there are K packets in the system. In other words, the (K + 1)th packet
will be dropped. The blocking probability of the queuing system can be understood
as the probability that the system is full, which is given by
ρK
P K = K . (16.12)
k=0 ρk
It is also noticed that the packet arrival only occurs when the system is unblocked.
Let λ denote the average arrival rate into the system. We then have
λ = λ(1 − PK )
ρK
= λ 1 − K (16.13)
k=0 ρk
Remark 16.3. Another observation from (16.10), (16.11), and (16.13) is that
E[N ] = E[NQ ] + ρ(1 − PK ) (16.14)
Theorem 16.7. The average response time and waiting time in M /M /1/K queue are,
respectively, given by
K
(kρ k / Kn=0 ρ n )
E[TR ] = k=1 , (16.15)
λ 1 − (ρ K / Kk=0 ρ k )
K K −1
K
k=1 (kρ k
/ n=0 ρ n
) + n=0 ρ n
−1
E[TW ] = . (16.16)
λ 1 − (ρ K / Kk=0 ρ k )
274 Network design, modeling and performance evaluation
Proof. The proof follows from the Little’s law in Section 15.4.5 with
E[N ]
E[TR ] = ,
λ
E[NQ ]
E[TW ] = ,
λ
where λ is given by (16.13), and E[N ] and E[NQ ] are given by (16.10) and (16.11),
respectively.
Theorem 16.8. Server utilization and the average busy period of the server in
M /M /1/K queue are, respectively, given by
K −1
US = 1 − ρn , (16.17)
n=0
K
1 n
E[TB ] = ρ −1 . (16.18)
λ n=0
Remark 16.4. With a finite source, it can be noticed that the arrival rate at the nth
stage is reduced as the birth rate in the birth–death process with
(K − n)λ if 0 ≤ n ≤ K,
λn = (16.19)
0 if n > K,
while the service rate is a constant death rate due to the fact that there is only a single
server in the system, i.e.,
μn = μ, 1 ≤ n ≤ K. (16.20)
Single-server queues—network behaviors and analysis 275
Queue Server
FIFO
System capacity = K
K sources
n−1 −1
K
λk
P0 = 1+ nk=0
n=1 k=1 μk
n −1
(a)
K
n−1
λ
= 1+ (K − k)
n=1 k=0
μ
−1
(b) K
K!
= 1+ ρ n
n=1
(K − n)!
K −1
K!
= ρ n
,
n=0
(K − n)!
where (a) follows from (16.19), (16.20), and ρ = λ/μ, and (b) follows from the fact
that
n−1
K!
(K − k) = .
k=0
(K − n)!
276 Network design, modeling and performance evaluation
n−1 n
λ
P n = P0 (K − k)
k=0
μ
(K!/(K − n)!)ρ n
= K .
k=0 (K!/(K − k)!)ρ
k
Theorem 16.10. The average number of packets in the system and in the queue of
the M /M /1/K/K system is, respectively, given by
⎛ K −1 ⎞
1 K!
E[N ] = K − ⎝1 − ρn ⎠, (16.22)
ρ n=0
(K − n)!
⎛ K −1 ⎞
K!
1 ⎝ ⎠.
E[NQ ] = K − 1 + 1− ρn (16.23)
ρ n=0
(K − n)!
Proof. We have
K
E[N ] = kPk
k=0
K
= (KPk − (K − k)Pk )
k=0
(a)
K
= K− (K − k)Pk
k=0
1
K−1
(b)
= K− Pk+1
ρ k=0
(c) 1
= K− (1 − P0 )
ρ
⎛ K −1 ⎞
1⎝ K!
(d)
= K− 1− ρn ⎠,
ρ n=0
(K − n)!
where (a) and (c) follow from Kk=0 Pk = 1, (b) follows from the fact that Pk+1 =
ρ(K − k)Pk , and (d) follows from (16.21).
Single-server queues—network behaviors and analysis 277
We also have
K
E[NQ ] = (k − 1)Pk
k=1
K
K
= kPk − Pk
k=1 k=1
(a)
= E[N ] − (1 − P0 )
(b) 1
= K − (1 − P0 ) − (1 − P0 )
ρ
1
= K − 1+ (1 − P0 )
ρ
⎛ K −1 ⎞
K!
(c) 1 ⎝ ⎠
= K − 1+ 1− ρn
ρ n=0
(K − n)!
where (a) follows from Kk=0 Pk = 1, (b) follows from the derivation of (16.22), and
(c) follows from (16.21).
Remark 16.5. Notice that in an M /M /1/K/K queue, apart from the packets in the
system, there are packets waiting in the source. Let NS denote the number of packets
in the source. The average number of packets in the source can be given by
E[NS ] = K − E[N ]
⎛ K −1 ⎞
1 K!
= ⎝1 − ρn ⎠. (16.24)
ρ n=0
(K − n)!
Theorem 16.11. The average response time and waiting time in M /M /1/K/K queue
are, respectively, given by
−1
K
K − (1/ρ) 1 − n=0 (K!/(K − n)!)ρ
n
Proof. The proof follows from the Little’s law in Section 15.4.5 with
E[N ]
E[TR ] = ,
λE[NS ]
E[NQ ]
E[TW ] = ,
λE[NS ]
where E[NS ], E[N ], and E[NQ ] are given by (16.24), (16.22), and (16.23),
respectively.
Theorem 16.12. Server utilization and the average busy period of the server in
M /M /1/K/K queue are, respectively, given by
K −1
K!
US = 1 − ρ n
, (16.28)
n=0
(K − n)!
K
1 K!
E[TB ] = ρ −1 .
n
(16.29)
Kλ n=0
(K − n)!
Proof. The proof is similar to that for Theorem 16.8 by using (15.21) and (15.20),
i.e.,
US = 1 − P 0 ,
US
E[TB ] = E[T0 ],
1 − US
with P0 given by (16.21) and the average idle time of the server E[T0 ] = 1/(Kλ).
16.6 Problems
[P16.1] Consider a server in a network. Packets arrive on an average of 5 s and it
takes an average of 4 s for processing at the server. Both the inter-arrival
time and service time are exponentially distributed. The queue is assumed
to be infinitely large (unbounded) and the serving discipline is FIFO.
● Give the Kendall’s notation describing this system and check the
condition for stability of this system.
● Find the probability that the server is busy.
● Find the probability that there are less than three packets in the system.
● Find the average number of packets waiting to be processed and the
average number of packets in the system.
● Find the average time the packet spends in the queue and totally spends
in the system.
[P16.2] An M/M/1 queue has a service rate of two customers per hour.
● Find the maximum arrival rate such that the average queuing interval
is not longer than 30 min.
● Using the obtained maximum arrival rate,
– Find the average number of customers in the queue and in the
system.
– Find the probability that the server is busy.
– Find the probability that there are no more than two customers in
the system.
280 Network design, modeling and performance evaluation
[P16.3] The data arrivals at a server are assumed to follow Poisson point process.
The time to process data at the server is exponentially distributed with a
mean of 1.5 s. The average waiting time of the packet in the queue is 3 s.
● Find the arrival rate of the packets.
● Find the server utilization and the average busy period of the server.
● Find the average number of packets in the queue and in the system.
● Find the probability that there is at least a packet in the system.
[P16.4] At a database server, it takes an average of 25 s to store a particular data
packet. The packet arrival and storing time at the server follow exponential
distribution.
● Find the average interarrival time of the data packets given that the
average queuing length is five data packets.
● Find the average response and waiting time in the system.
[P16.5] A single-server queue has a finite capacity of five packets. Both the inter-
arrival and service time are exponentially distributed with the average
interarrival of 10 s and the average service time of 8 s.
● Give the Kendall’s notation describing this system.
● Find the probability that the server is idle and the blocking probability
of the queuing system.
● Find the average number of packets in the system and in the queue.
● Find the average response time and waiting time of the data packets.
● Find the server utilization and the average busy period of the server.
[P16.6] Considering a finite source in a single-server queuing system with a limited
capacity of five packets and a population size of five packets. Both the
packet arrival and service follow Poisson point process with an arrival rate
of 5 packets/s and a service rate of 8 packets/s.
● Give the Kendall’s notation describing this system.
● Find the probability that the server is busy.
● Find the average number of packets in the system, in the queue and in
the source.
● Find the average response time and waiting time of the data packets.
● Find the server utilization, source utilization and the average busy
period of the server.
Chapter 17
Multi-server queues—network behaviors and
analysis
Considering queuing systems with multiple servers, this chapter is devoted to present
multi-server queues in which packets are served by multiple packets in parallel. There
exist various models for multi-server queues depending on the system capacity and
population size of the sources.
In this chapter, I will first introduce M /M /c queue with infinite system capacity
and infinite population in Section 17.1. Its variant models with finite system capacity
and finite population will be sequentially discussed in Sections 17.2 and 17.3. For
every queuing model, its behaviors will be presented along with detailed analyses of
relevant performance measures.
17.1 M /M /c Queue
In M /M /c queue, there are c servers. By default, the capacity and population without
stated means infinite (cf. Figure 17.1). Both interarrival time, i.e., TI , and service
time, i.e., TS , are exponentially distributed with E[TI ] = 1/λ and E[TS ] = 1/μ,
respectively.
Remark 17.1. With multiple servers to serve in parallel, it can be noticed that the
service rate at the nth stage increases as the death rate in the birth–death process
with
⎧
⎨nμ if 0 ≤ n ≤ c,
μn = (17.1)
⎩cμ if n > c,
where the second case is due to the maximum service rate with c servers is cμ. The
arrival rate is however a constant birth rate, i.e.,
λn = λ, n ≥ 0. (17.2)
Remark 17.2. In multi-server queues, in order to prevent from the overload of the
queue, it is required that the arrival rate should be less than the service rate, i.e.,
λ < cμ. In other terms, the traffic intensity, i.e., ρ = λ/μ, should be
ρ < c. (17.3)
282 Network design, modeling, and performance evaluation
∞ ...
...
Infinite source Queue
FIFO
c Servers
n−1 −1
∞
λk
P0 = 1+ nk=0
n=1 k=1 μk
−1
(a)
c−1
λn
∞
λn
= 1+ n
+
n=1
n!μ n=c
c!c (μ)n
n−c
c−1 −1
ρn ρ c
ρ n−c
∞
= +
n=0
n! c! n=c cn−c
Multi-server queues—network behaviors and analysis 283
c−1 −1
(b)
ρn ρc
n
∞
= + a
n=0
n! c! n=0
c−1 −1
(c)
ρn ρc
= + ,
n=0
n! c!(1 − a)
where (a) follows from (17.1) and (17.2), (b) is due to a = ρ/c, and (c) follows from
the infinite sum of geometric series, i.e.,
∞
1
qx = , ∀|q| < 1.
x=0
1−q
n−1
λk
Pn = P0 nk=0
k=1 kμ
⎧ λn
⎪
⎨P 0 if 0 ≤ n ≤ c,
= n!μn
⎪ λ n
⎩P0 if n > c
c!c μn
n−c
⎧
⎪ ρn
⎨P0 if 0 ≤ n ≤ c,
= n!
n c
⎪
⎩P0 a c if n > c
c!
⎧ −1
⎪
⎪ ρk
ρ n c−1 ρc
⎪
⎨ + if 0 ≤ n ≤ c,
n! k=0 k! c!(1 − a)
= c−1 k −1
⎪
⎪ an c
c ρ ρc
⎪
⎩ + if n > c.
c! k=0 k! c!(1 − a)
Remark 17.3. Notice that, if the number of arriving packets is larger than the number
of servers, then only c packets can be served in parallel with c servers, while the
remaining packets have to wait.
PW = Pn≥c
∞
= Pn
n=c
c−1 −1
∞
an c c
ρk ρc
= + ,
n=c
c! k=0
k! c!(1 − a)
Theorem 17.3. The average number of packets in the system and in the queue of
M /M /c system are, respectively, given by
c−1 −1
∞
an c c
ρ k ρc
E[N ] = ρ + (n − c) + , (17.7)
n=c+1
c! k=0
k! c!(1 − a)
c−1 −1
∞
an c c
ρk ρc
E[NQ ] = (n − c) + . (17.8)
n=c+1
c! k=0
k! c!(1 − a)
∞
E[NQ ] = (n − c)Pn
n=c+1
c−1 −1
(a)
∞
an c c
ρk ρc
= (n − c) + ,
n=c+1
c! k=0
k! c!(1 − a)
E[N ] = E[NQ ] + ρ
c−1 −1
∞
an c c
ρk ρc
= ρ+ (n − c) + .
n=c+1
c! k=0
k! c!(1 − a)
Theorem 17.4. The average response time and waiting time in M /M /c queue are,
respectively, given by
⎡ c−1 −1 ⎤
1⎣
∞
an c c
ρ k ρc
E[TR ] = ρ+ (n − c) + ⎦, (17.9)
λ n=c
c! k=0
k! c!(1 − a)
Multi-server queues—network behaviors and analysis 285
c−1 −1
1
ρk
∞
an c c ρc
E[TW ] = (n − c) + . (17.10)
λ n=c c! k=0
k! c!(1 − a)
Remark 17.4. Note that the traffic intensity in multi-server queue is in fact the
utilization of all servers. Let UA denote the utilization of all servers. We then have
UA = ρ. (17.11)
This overall utilization also means the average number of busy servers in the system.
Let cB and cI denote the number of busy servers and the number of idle servers,
respectively. We can arrive at
E[cB ] = ρ, (17.12)
E[cI ] = c − ρ. (17.13)
Remark 17.5. Considering the whole system, the system utilization in the multi-
server queue, denoted by USystem , is similarly defined as in (15.21), i.e.,
USystem = 1 − P0
c−1 −1
ρn ρc
= 1− + , (17.14)
n=0
n! c!(1 − a)
where P0 is given by (17.5).
Theorem 17.5. Server utilization and the average busy period of the server in M /M /c
queue are, respectively, given by
ρ
US = a = , (17.15)
c
286 Network design, modeling, and performance evaluation
c−1
1
ρn ρc
E[TB ] = + −1 . (17.16)
λ n=0
n! c!(1 − a)
Proof. We have
UA = cUS ,
and thus
UA
US =
c
ρ
= = a.
c
From (15.22) with a notice that the average idle time of the server, i.e.,
E[T0 ] = 1/λ, we have
E[T0 ]
P0 =
E[TB ] + E[T0 ]
1/λ
= .
E[TB ] + (1/λ)
Therefore, we can obtain E[TB ] as
1 − P0
E[TB ] =
λP0
c−1
(a) 1
ρn ρc
= + −1 ,
λ n=0
n! c!(1 − a)
where (a) follows from (17.5) with n = 0.
...
Infinite source Queue
FIFO
c Servers
System capacity = K
n−1 −1
K
λk
P0 = 1+ nk=0
n=1 k=1 kμ
−1
(a)
c−1
λn
K
λn
= 1+ n
+
n=1
n!μ n=c
c!c (μ)n
n−c
c−1 −1
ρn ρ c
ρ n−c
K
= +
n=0
n! c! n=c cn−c
c−1 −1
ρn ρc
n
K−c
= + a
n=0
n! c! n=0
c−1 −1
(b)
ρn ρ c (1 − aK−c+1 )
= + ,
n=0
n! c!(1 − a)
where (a) follows from (17.1) and (17.2), and (b) follows from
K
1 − aK−c+1
ak−c = if a = 1. (17.18)
k=c
1−a
288 Network design, modeling, and performance evaluation
Proof. The waiting probability can be similarly derived as in Theorem 17.2 with a
notice that the number of packets allowed in the system is limited by K, i.e.,
PW = Pc≤n≤K
K
= Pn
n=c
c−1 −1
K
an c c
ρk ρ c (1 − aK−c+1 )
= + ,
n=c
c! k=0
k! c!(1 − a)
Theorem 17.8. The average number of packets in the system and in the queue of
M /M /c/K system is, respectively, given by
⎛ c−1 −1 ⎞
a K c
c
ρk ρ c
(1 − a K−c+1
)
E[N ] = ρ ⎝1 − + ⎠
c! k=0
k! c!(1 − a)
c−1 −1
K
an c c
ρk ρ c (1 − aK−c+1 )
+ (n − c) + , (17.20)
n=c+1
c! k=0
k! c!(1 − a)
Multi-server queues—network behaviors and analysis 289
c−1 −1
K
an c c
ρk ρ c (1 − aK−c+1 )
E[NQ ] = (n − c) + . (17.21)
n=c+1
c! k=0
k! c!(1 − a)
K
E[NQ ] = (n − c)Pn
n=c+1
c−1 −1
(a)
K
an c c
ρk ρ c (1 − aK−c+1 )
= (n − c) + ,
n=c+1
c! k=0
k! c!(1 − a)
K
an c c
ρk ρ c (1 − aK−c+1 )
+ (n − c) + .
n=c+1
c! k=0
k! c!(1 − a)
Theorem 17.9. The average response time and waiting time in M /M /c/K queue are,
respectively, given by
1
E[TR ] =
μ
K −1
c−1
(n − c)(an cc /c!)
n=c+1 k=0 (ρ /k!) + ((ρ (1 − a
k c K−c+1
))/(c!(1 − a)))
+ −1 ,
c−1
λ 1 − (a c /c!)
K c
k=0 (ρ /k!) + ((ρ (1 − a
k c K−c+1 ))/(c!(1 − a))
(17.22)
E[TW ]
K −1
c−1
n=c+1 (n − c)(an cc /c!) k=0 (ρ /k!) + ((ρ (1 − a
k c K−c+1
))/(c!(1 − a)))
= −1 .
c−1
λ 1 − (a c /c!)
K c
k=0 (ρ /k!) + ((ρ (1 − a
k c K−c+1 ))/(c!(1 − a))
(17.23)
290 Network design, modeling, and performance evaluation
Proof. Let us first derive E[TW ]. Similar to the proof of Theorem 16.7, from the
Little’s law, we have
E[NQ ]
E[TW ] =
λ(1 − PK )
K −1
c−1
(a)
(n − c)(an cc /c!)
n=c+1 k=0 (ρ /k!) + ((ρ (1 − a
k c K−c+1
))/(c!(1 − a)))
= −1 ,
c−1
λ 1 − (a c /c!)
K c
k=0 (ρ /k!) + ((ρ (1 − a
k c K−c+1 ))/(c!(1 − a))
E[N ]
E[TR ] =
λ(1 − PK )
(a) E[NQ ] + ρ(1 − PK )
=
λ(1 − PK )
1
= E[TW ] +
μ
(b) 1
=
μ
K −1
c−1
n=c+1 (n − c)(a c /c!) k=0 (ρ /k!) + ((ρ (1 − a ))/(c!(1 − a)))
n c k c K−c+1
+ −1 .
c−1
λ 1 − (a c /c!)
K c
k=0 (ρ /k!) + ((ρ (1 − a
k c K−c+1 ))/(c!(1 − a))
where (a) follows from (16.14) and (b) follows from (17.23).
Remark 17.6. We can similarly obtain the following measures of the M /M /c/K
queue:
● Utilization of all servers:
UA = ρ(1 − PK )
⎛ c−1 −1 ⎞
a K c
c
ρk ρ c
(1 − a K−c+1
)
= ρ ⎝1 − + ⎠. (17.24)
c! k=0
k! c!(1 − a)
● System utilization:
USystem = 1 − P0
c−1 −1
ρn ρ c (1 − aK−c+1 )
= 1− + . (17.25)
n=0
n! c!(1 − a)
Multi-server queues—network behaviors and analysis 291
Theorem 17.10. Server utilization and the average busy period of the server in
M /M /c/K queue are, respectively, given by
⎛ c−1 −1 ⎞
a K c
c
ρk ρ c
(1 − a K−c+1
)
US = a ⎝1 − + ⎠, (17.28)
c! k=0
k! c!(1 − a)
c−1
1
ρn ρ c (1 − aK−c+1 )
E[TB ] = + −1 . (17.29)
λ n=0
n! c!(1 − a)
Proof. We have
UA = cUS ,
and thus
UA
US =
c
c−1
aK c c
ρk ρ c (1 − aK−c+1 )
= a 1− + .
c! k=0
k! c!(1 − a)
From (15.22) with a notice that the average idle time of the server, i.e., E[T0 ] =
1/λ, we can obtain E[TB ] as
1 − P0
E[TB ] =
λP0
c−1
1
ρn ρ c (1 − aK−c+1 )
= + −1 .
λ n=0
n! c!(1 − a)
similar to those in the M /M /c/K queuing system with c servers, system capac-
ity K, exponentially distributed interarrival time, i.e., TI , with E[TI ] = 1/λ and
exponentially distributed service time, i.e., TS , with E[TS ] = 1/μ.
...
...
Queue
FIFO
K sources
c Servers
System capacity = K
Remark 17.7. With a finite source, it can be noticed that the arrival rate at the nth
stage is reduced as the birth rate in the birth–death process with
⎧
⎨(K − n)λ if 0 ≤ n ≤ K,
λn = (17.30)
⎩0 if n > K,
while the service rate at the nth stage increases as follows:
⎧
⎨nμ if 1 ≤ n ≤ c,
μn = (17.31)
⎩cμ if c ≤ n ≤ K.
n−1 −1
K
λk
P0 = 1+ nk=0
n=1 k=1 kμ
−1
(a)
c−1
K!λn
K
K!λn
= 1+ +
n=1
(K − n)!n!μn n=c
(K − n)!c!cn−c μn
c−1 −1
(b)
K ρ c
K
K!
= ρn + an−c ,
n=0
n c! n=c
(K − n)!
where (a) follows from (17.30),K (17.31),
and n−1
k=0 (K − n) = (K!/(K − n)!) and (b)
is due to binomial coefficient n K!/(n!(K − n)!) and a = ρ/c.
Substituting P0 into (15.23), we obtain
n−1
λk
Pn = P0 nk=0
k=1 μk
⎧ K!λn
⎪
⎨P 0 if 0 ≤ n ≤ c,
= (K − n)!n!μn
n
⎪
⎩P0
K!λ
if c < n ≤ K
(K − n)!c!cn−c μn
⎧
⎪
⎨P0 n ρ
K n
if 0 ≤ n ≤ c,
= n c
K!a c
⎪
⎩P0 if c < n ≤ K
(K − n)!c!
⎧ −1
⎪
⎪ K n c−1
K n ρ c K K!
⎪
⎨ n ρ ρ + a n−c
if 0 ≤ n ≤ c,
n
c! n=c (K − n)!
= n=0
−1
⎪
⎪ K!an cc K n ρ c
c−1 K K!
⎪
⎩ ρ + a n−c
if c < n ≤ K,
(K − n)!c! n=0 n c! n=c (K − n)!
Theorem 17.13. The average number of packets in the system and in the queue of
M /M /c/K/K system is, respectively, given by
c−1
−1
K n ρ c
K!
c K
K n
E[N ] = n ρ ρ + a n−c
n=0
n n=0
n c! n=c (K − n)!
c−1 −1
K
K!an cc
K ρ c
K!
K
+ n ρ +
n
a n−c
,
n=c+1
(K − n)!c! n=0 n c! n=c (K − n)!
(17.34)
c−1 −1
K
K!an cc
K ρ c
K!
K
E[NQ ] = (n − c) ρ +
n
a n−c
.
n=c+1
(K − n)!c! n=0 n c! n=c (K − n)!
(17.35)
Proof. We have
K
E[N ] = nPn
n=0
c−1
−1
K n ρ c
K!
c K
(a) K n
= n ρ ρ + a n−c
n=0
n n=0
n c! n=c (K − n)!
c−1 −1
K
K!an cc
K ρ c
K
K!
+ n ρn + an−c ,
n=c+1
(K − n)!c! n=0
n c! n=c
(K − n)!
K
E[NQ ] = (n − c)Pn
n=c+1
c−1 −1
K
K!an cc
K ρ c
K
K!
= (n − c) ρn + an−c .
n=c+1
(K − n)!c! n=0 n c! n=c (K − n)!
Remark 17.8. Notice that in an M /M /c/K/K queue, apart from the packets in the
system, there are packets waiting in the source. Let NS denote the number of packets
in the source. The average number of packets in the source can be determined by
E[NS ] = K − E[N ], (17.36)
where E[N ] is given by (17.34).
Multi-server queues—network behaviors and analysis 295
Theorem 17.14. The average response time and waiting time in M /M /c/K/K queue
are, respectively, given by
1 E[N ]
E[TR ] = , (17.38)
λ K − E[N ]
1 E[NQ ]
E[TW ] = , (17.39)
λ K − E[N ]
where E[N ] and E[NQ ] are given by (17.34) and (17.35), respectively.
Proof. The proof follows from the Little’s law in Section 15.4.5 with
E[N ]
E[TR ] = ,
λE[NS ]
E[NQ ]
E[TW ] = ,
λE[NS ]
Remark 17.9. We can similarly obtain the following measures of the M /M /c/K/K
queue:
● Utilization of all servers:
UA = ρE[NS ]
= ρ(K − E[N ]). (17.40)
● System utilization:
USystem = 1 − P0
c−1 −1
K ρ c
K!
K
= 1− ρ +
n
a n−c
. (17.41)
n=0
n c! n=c (K − n)!
● The average number of busy servers:
E[cB ] = UA = ρ(K − E[N ]). (17.42)
● The average number of idle servers:
E[cI ] = c − ρ(K − E[N ]). (17.43)
296 Network design, modeling, and performance evaluation
Theorem 17.15. Server utilization and the average busy period of the server in
M /M /c/K/K queue are, respectively, given by
US = a(K − E[N ]), (17.44)
c−1
1
K ρ c
K!
K
E[TB ] = ρ +
n
a n−c
−1 . (17.45)
Kλ n=0
n c! n=c (K − n)!
Proof. We have
UA = cUS ,
and thus
UA
US =
c
= a(K − E[N ]).
From (15.22) with a notice that the average idle time of the server, i.e., E[T0 ] =
1/(Kλ), we can obtain E[TB ] as
1 − P0
E[TB ] =
KλP0
c−1
1
K ρ c
K!
K
= ρ +n
a n−c
−1 .
Kλ n=0
n c! n=c (K − n)!
17.6 Problems
[P17.1] Derive the waiting probability of data packets in M /M /c, M /M /c/K, and
M /M /c/K/K queuing systems.
[P17.2] At a company, two mail servers are working in parallel. E-mails arrive on
an average of every 1 min throughout the day. It takes an average of 2 s to
process an e-mail at the servers. Both interarrival time and service time are
exponentially distributed. The queue is assumed to be infinitely large and
the serving discipline is FIFO.
● Give the Kendall’s notation describing this system.
● Find the probability that there is no e-mail to be processed at the servers.
● Find the average number of e-mails waiting in the queue and in the
system.
● Find the average response time of the servers, the average waiting time
of the e-mails, and the average busy time of the servers.
● Find the server and system utilizations.
● Discuss the impacts on performance measures of the queue when a
third e-mail server working at the same speed as the first two servers
is added to the system.
[P17.3] A queuing system consists of three servers with a finite capacity of six
packets. Both the interarrival and service time are exponentially distributed
with the average interarrival of 6 s and the average service time of 9 s.
● Give the Kendall’s notation describing this system.
● Find the probability that all the servers are idle, the blocking probability
of the queuing system, and the waiting probability of the packets.
● Find the average number of packets in the system and in the queue.
● Find the average response time and waiting time of the data packets.
● Find the server utilization, system utilization, and the average busy
period of the servers.
[P17.4] Considering a finite source in a four-server queuing system with a limited
capacity of eight packets and the same population size of eight packets.
Both the packet arrival and service follow Poisson point process with an
arrival rate of 20 packets/s and a service rate at each server of 10 packets/s.
● Give the Kendall’s notation describing this system.
298 Network design, modeling, and performance evaluation
● Find the probability that all the servers are busy and the waiting
probability of the packets.
● Find the average number of packets in the system, in the queue, and in
the source.
● Find the average response time and waiting time of the data packets.
● Find the server utilization, source utilization, and system utilization.
● Find the average idle period and busy period of the server.
References
[1] D. L. Spohn, T. Brown, and S. Grau, Data Network Design, 3rd ed. New York,
NY, USA: McGraw-Hill, Inc., 2002.
[2] W. Stallings, Data and Computer Communications, 8th ed. Upper Saddle
River, NJ, USA: Prentice-Hall, Inc., 2006.
[3] M. Dye, R. McDonald, and A. Rufi, Network Fundamentals, CCNA
Exploration Companion Guide, 1st ed. Cisco Press, Indiana, USA, 2011.
[4] A. Fraser, “Towards a universal data transport system,” IEEE J. Sel. Areas
Commun., vol. 1, no. 5, pp. 803–816, 1983.
[5] T.-S. Chu and M. Gans, “High speed infrared local wireless communication,”
IEEE Commun. Mag., vol. 25, no. 8, pp. 4–10, 1987.
[6] K. Pahlavan, T. H. Probert, and M. E. Chase, “Trends in local wireless
networks,” IEEE Commun. Mag., vol. 33, no. 3, pp. 88–95, 1995.
[7] B. P. Crow, I. Widjaja, J. G. Kim, and P. T. Sakai, “IEEE 802.11 wireless local
area networks,” IEEE Commun. Mag., vol. 35, no. 9, pp. 116–126, 1997.
[8] J. Woodcock, Step Up to Networking (IT Professional). Microsoft Press, USA,
1999.
[9] K. Clark and K. Hamilton, CCIE Professional Development: Cisco LAN
Switching. Cisco Press, Indiana, USA, 1999.
[10] J. Bray and C. Sturman, Bluetooth: Connect Without Cables, 1st ed. Upper
Saddle River, NJ, USA: Prentice Hall PTR, 2000.
[11] W. Stallings, Wireless Communications and Networks, 1st ed. Prentice Hall
Professional Technical Reference, New Jersey, USA, 2001.
[12] P. Roshan and J. Leary, 802.11 Wireless LAN Fundamentals. Cisco Press,
Indiana, USA, 2003.
[13] M. Decina and E. Scace, “CCITT recommendations on the ISDN: A review,”
IEEE J. Sel. Areas Commun., vol. 4, no. 3, pp. 320–325, 1986.
[14] J. W. Lechleider, “High bit rate digital subscriber lines: A review of HDSL
progress,” IEEE J. Sel. Areas Commun., vol. 9, no. 6, pp. 769–784, 1991.
[15] N. M. Thorpe and D. Ross, X.25 Made Easy. Upper Saddle River, NJ, USA:
Prentice-Hall, Inc., 1992.
[16] D. E. McDysan and D. L. Spohn, ATM: Theory and Application. New York,
NY, USA: McGraw-Hill, Inc., 1994.
[17] C. Brown and A. Malis, “RFC 2427: Multiprotocol Interconnect over Frame
Relay,” IETF, Tech. Rep., 1998.
[18] D. Ginsburg, ATM: Solutions for Enterprise Internetworking, 2nd ed. Boston,
MA, USA: Addison-Wesley Longman Publishing Co., Inc., 1999.
[19] J. C. Bellamy, Digital Telephony, 3rd ed. Wiley, New York, USA, 2000.
300 Network design, modeling, and performance evaluation
[44] D. Savage, J. Ng, S. Moore, D. Slice, P. Paluch, and R. White, “RFC 7868:
Cisco’s Enhanced Interior Gateway Routing Protocol (EIGRP),” IETF, Tech.
Rep., 2016.
[45] Y. Rekhter and P. Gross, “RFC 1772: Application of the Border Gateway
Protocol in the Internet,” IETF, Tech. Rep., 1995.
[46] Y. Rekhter, T. Li, and S. Hares, “RFC 4271: A Border Gateway Protocol 4
(BGP-4),” IETF, Tech. Rep., 2006.
[47] S. Halabi and D. McPherson, Internet Routing Architectures, 2nd ed. Cisco
Press, Indiana, USA, 2000.
[48] R. White, D. McPherson, and S. Sangli, Practical BGP. Redwood City, CA,
USA: Addison Wesley Longman Publishing Co., Inc., 2004.
[49] T. Bates, E. Chen, and R. Chandra, “RFC 4456: BGP Route Reflection: An
Alternative to Full Mesh Internal BGP (iBGP),” IETF, Tech. Rep., 2006.
[50] P. Traina, D. McPherson, and J. Scudder, “RFC 5065: Autonomous System
Confederations for BGP,” IETF, Tech. Rep., 2007.
[51] J. Postel, “RFC 791: Internet Protocol—DARPA Internet Program Protocol
Specification,” IETF, Tech. Rep., 1981.
[52] P. Mockapetris, “RFC 1035: Domain Names—Implementation and
Specification,” IETF, Tech. Rep., 1987.
[53] R. Braden, “RFC 1122: Requirements for Internet Hosts—Communication
Layers,” IETF, Tech. Rep., 1989.
[54] K. Egevang and P. Francis, “RFC 1631: The IP Network Address Translator
(NAT),” IETF, Tech. Rep., 1994.
[55] Y. Rekhter, B. Moskowitz, D. Karrenberg, G. J. de Groot, and E. Lear, “RFC
1918: Address Allocation for Private Internets,” IETF, Tech. Rep., 1996.
[56] M. Cotton, L. Vegoda, R. Bonica, and B. Haberman, “RFC 6890: Special-
Purpose IP Address Registries,” IETF, Tech. Rep., 2013.
[57] C. Perkins, “RFC 2003: IP Encapsulation within IP,” IETF, Tech. Rep., 1996.
[58] C. Perkins, “RFC 5944: IP Mobility Support for IPv4, Revised,” IETF, Tech.
Rep., 2010.
[59] J. Touch, “RFC 6864: Updated Specification of the IPv4 ID Field,” IETF,
Tech. Rep., 2013.
[60] J. Mogul, “RFC 917: Internet Subnets,” IETF, Tech. Rep., 1984.
[61] P. Tsuchiya, “RFC 1219: On the Assignment of Subnet Numbers,” IETF,
Tech. Rep., 1991.
[62] T. Pummill and B. Manning, “RFC 1878: Variable Length Subnet Table For
IPv4,” IETF, Tech. Rep., 1995.
[63] Y. Rekhter and T. Li, “RFC 1518: An Architecture for IP Address Allocation
with CIDR,” IETF, Tech. Rep., 1993.
[64] Y. Rekhter, “RFC 1817: CIDR and Classful Routing,” IETF, Tech. Rep.,
1995.
[65] V. Fuller and T. Li, “RFC 4632: Classless Inter-domain Routing (CIDR): The
Internet Address Assignment and Aggregation Plan,” IETF, Tech. Rep., 2006.
[66] R. Hinden and B. Haberman, “RFC 4193: Unique Local IPv6 Unicast
Addresses,” IETF, Tech. Rep., 2005.
302 Network design, modeling, and performance evaluation
[123] N. Brownlee, C. Mills, and G. Ruth, “RFC 2722: Traffic Flow Measurement:
Architecture,” IETF, Tech. Rep., 1999.
[124] S. Floyd and K. Fall, “Promoting the use of end-to-end congestion control
in the Internet,” IEEE/ACM Trans. Networking, vol. 7, no. 4, pp. 458–472,
1999.
[125] A. E. Gamal and Y.-H. Kim, Network Information Theory. New York, NY,
USA: Cambridge University Press, 2012.
[126] P. L. Frana, “Telematics and the early history of international digital
information flows,” IEEE Ann. Hist. Comput., vol. 40, no. 2, pp. 32–47, 2018.
[127] X. Shen, H. Yu, J. Buford, and M. Akon, Handbook of Peer-to-Peer
Networking, 1st ed. Springer Publishing Company, Incorporated, New York,
USA, 2009.
[128] F. H. P. Fitzek and H. Charaf, Mobile Peer-to-Peer Networks: An Introduction
to the Tutorial Guide. Wiley Telecom, New York, USA, 2009.
[129] C. G. Gurler and M. Tekalp, “Peer-to-peer system design for adaptive 3D
video streaming,” IEEE Commun. Mag., vol. 51, no. 5, pp. 108–114, 2013.
[130] N. Kumar and J. H. Lee, “Peer-to-peer cooperative caching for data dissem-
ination in urban vehicular communications,” IEEE Syst. J., vol. 8, no. 4,
pp. 1136–1144, 2014.
[131] Z. Yin, C. Wu, Z. Yang, and Y. Liu, “Peer-to-peer indoor navigation using
smartphones,” IEEE J. Sel. Areas Commun., vol. 35, no. 5, pp. 1141–1153,
2017.
[132] W. Wu, H. Mao, Y. Wang, J. Wang, W. Wang, and C. Tian, “CoolConfer-
encing: Enabling robust peer-to-peer multi-party video conferencing,” IEEE
Access, vol. 5, pp. 25474–25486, 2017.
[133] C. Jiang, L. Gao, L. Duan, and J. Huang, “Scalable mobile crowdsensing
via peer-to-peer data sharing,” IEEE Trans. Mob. Comput., vol. 17, no. 4,
pp. 898–912, 2018.
[134] A. Asadi, Q. Wang, and V. Mancuso, “A survey on device-to-device commu-
nication in cellular networks,” IEEE Commun. Surv. Tutorials, vol. 16, no. 4,
pp. 1801–1819, Fourthquarter 2014.
[135] R. Trestian, Q. T. Vien, H. X. Nguyen, and O. Gemikonakli, “ECO-M:
Energy-efficient cluster-oriented multimedia delivery in a LTE D2D
environment,” in 2015 IEEE International Conference on Communications
(ICC), 2015, pp. 55–61.
[136] Y. Wu, S. Wang, W. Liu, W. Guo, and X. Chu, “Iunius: A cross-layer
peer-to-peer system with device-to-device communications,” IEEE Trans.
Wireless Commun., vol. 15, no. 10, pp. 7005–7017, 2016.
[137] K. Ali, H. X. Nguyen, P. Shah, Q. T. Vien, and N. Bhuvanasundaram,
“Architecture for public safety network using D2D communication,” in 2016
IEEE Wireless Communications and Networking Conference, 2016, pp. 1–6.
[138] K. Ali, H. X. Nguyen, P. Shah, Q. T. Vien, and E. Ever, “D2D multi-hop
relaying services towards disaster communication system,” in 2017 24th
International Conference on Telecommunications (ICT), 2017, pp. 1–5.
306 Network design, modeling, and performance evaluation
[251] G. E. Andrews, “The geometric series in calculus,” Am. Math. Mon., vol. 105,
no. 1, pp. 36–40, 1998.
[252] M. R. Spiegel, Theory and Problems of probability and Statistics (Schaum’s
Outline Series). McGraw-Hill Education (India) Pvt Limited, 2003. [Online].
Available: https://books.google.co.uk/books?id=qXPAOq5qE5wC.
[253] H. S. Wilf, Generatingfunctionology. Natick, MA, USA: A. K. Peters, Ltd.,
2006.
[254] J. Hilbe, Negative Binomial Regression. Cambridge University Press,
Cambridge, UK, 2011.
[255] F. Haight, Handbook of the Poisson distribution, ser. Publications in
Operations Research. Wiley, New York, USA, 1967.
[256] L. Knüsel, “Computation of the Chi square and Poisson distribution,” SIAM
J. Sci. Stat. Comput., vol. 7, no. 3, pp. 1022–1036, 1986.
[257] N. Balakrishnan and A. P. Basu, Exponential Distribution: Theory, Methods
and Applications. Taylor & Francis, Oxford, UK, 1996.
[258] M. V. Jambunathan, “Some properties of beta and gamma distributions,”
Ann. Math. Stat., vol. 25, no. 2, pp. 401–405, 1954.
[259] J. Patel and C. Read, Handbook of the Normal Distribution, 2nd ed., ser.
Statistics: A Series of Textbooks and Monographs. Taylor & Francis, Oxford,
UK, 1996.
[260] J. Aitchison and J. Brown, Lognormal Distribution, ser. Department of
Applied Economics Monographs. Cambridge University Press, Cambridge,
UK, 1957.
[261] E. L. Crow and K. Shimizu, Lognormal Distributions: Theory and Appli-
cations, ser. Statistics: A Series of Textbooks and Monographs. CRC Press,
Florida, USA, 1987.
[262] G. E. P. Box and M. E. Muller, “A note on the generation of random normal
deviates,” Ann. Math. Stat., vol. 29, no. 2, pp. 610–611, 1958.
[263] L. Devroye, “On the computer generation of random variables with a given
characteristic function,” Comput. Math. Appl., vol. 7, no. 6, pp. 547–552,
1981.
[264] L. Devroye, Non-Uniform Random Variate Generation, 1st ed. Springer-
Verlag Berlin, Germany, 1986.
[265] L. Barabesi and L. Pratelli, “Universal methods for generating random
variables with a given characteristic function,” J. Stat. Comput. Simul.,
vol. 85, no. 8, pp. 1679–1691, 2015.
[266] C. P. Robert and G. Casella, Monte Carlo Statistical Methods (Springer Texts
in Statistics). Berlin, Heidelberg: Springer-Verlag, 2005.
[267] R. Y. Rubinstein and D. P. Kroese, Simulation and the Monte Carlo Method,
ser. Wiley Series in Probability and Statistics, 2nd ed. Wiley, New York,
USA, 2007.
[268] L. Takács, Introduction to the Theory of Queues, ser. University Texts in the
Mathematical Sciences. Oxford University Press, Oxford, UK, 1962.
[269] G. Newell, Applications of Queueing Theory, ser. Monographs on Applied
Probability and Statistics. Chapman and Hall, London, UK, 1971.
References 313
[270] L. Kleinrock, Queueing Systems: Volume 1: Theory. New York, NY, USA:
Wiley-Interscience, 1975.
[271] L. Kleinrock, Queueing Systems: Volume 2: Computer Applications. John
Wiley & Sons, New York, USA, 1976.
[272] G. Giambene, Queuing Theory and Telecommunications: Networks and
Applications. Berlin, Heidelberg: Springer-Verlag, 2005.
[273] A. S. Alfa, Queueing Theory for Telecommunications: Discrete Time
Modelling of a Single Node System, 1st ed. Springer Publishing Company,
Incorporated, New York, USA, 2010.
[274] R. W. Wolff, “Poisson arrivals see time averages,” Oper. Res., vol. 30, no. 2,
pp. 223–231, 1982.
[275] E. A. van Doorn and G. Regterschot, “Conditional pasta,” Oper. Res. Lett.,
vol. 7, no. 5, pp. 229–232, 1988.
[276] J. D. C. Little, “A proof for the queuing formula: L = λw,” Oper. Res., vol. 9,
no. 3, pp. 383–387, 1961.
[277] S. Stidham, “A last word on L = λw,” Oper. Res., vol. 22, no. 2, pp. 417–421,
1974.
[278] D. G. Kendall, “Stochastic processes occurring in the theory of queues and
their analysis by the method of the imbedded Markov chain,” Ann. Math.
Stat., vol. 24, no. 3, pp. 338–354, 1953.
[279] A. Lee, Applied Queueing Theory, ser. Studies in Management. Macmillan,
London, UK, 1966.
[280] L. Takács, “A single-server queue with feedback,” Bell Syst. Tech. J., vol. 42,
no. 2, pp. 505–519, 1963.
[281] W. Chang, “Single-server queuing processes in computing systems,” IBM
Syst. J., vol. 9, no. 1, pp. 36–71, 1970.
[282] B. Gopinath and J. A. Morrison, “Discrete-time single server queues with
correlated inputs,” Bell Syst. Tech. J., vol. 56, no. 9, pp. 1743–1768,
1977.
[283] A. Eckberg, “The single server queue with periodic arrival process and deter-
ministic service times,” IEEE Trans. Commun., vol. 27, no. 3, pp. 556–562,
1979.
[284] H. Wang and N. B. Mandayam, “A simple packet-transmission scheme for
wireless data over fading channels,” IEEE Trans. Commun., vol. 52, no. 7,
pp. 1055–1059, 2004.
[285] A. Steiner and S. Shamai, “On queueing and multilayer coding,” IEEE Trans.
Inf. Theory, vol. 56, no. 5, pp. 2392–2415, 2010.
[286] J. Cohen, The Single Server Queue, 2nd ed., ser. North-Holland Series
in Applied Mathematics and Mechanics. Elsevier Science, Amsterdam,
Netherlands, 2012.
[287] L. Zhao, W. Sun, Y. Shi, and J. Liu, “Optimal placement of cloudlets for
access delay minimization in SDN-based Internet of Things networks,” IEEE
Internet Things J., vol. 5, no. 2, pp. 1334–1344, 2018.
[288] D. J. Daley and L. D. Servi, “Idle and busy periods in stable M/M/k queues,”
J. Appl. Probab., vol. 35, no. 4, pp. 950–962, 1998.
314 Network design, modeling, and performance evaluation
[289] J. R. Artalejo and M. J. Lopez-Herrero, “Analysis of the busy period for the
M/M/c queue: An algorithmic approach,” J. Appl. Probab., vol. 38, no. 1,
pp. 209–222, 2001.
[290] I. Elhanany and M. Kahane, “Heterogeneous bursty traffic dispersion over
multiple server clusters,” IEEE Commun. Lett., vol. 9, no. 3, pp. 261–263,
2005.
[291] S. Dudin and C. Kim, “Analysis of multi-server queue with spatial generation
and location-dependent service rate of customers as a cell operation model,”
IEEE Trans. Commun., vol. 65, no. 10, pp. 4325–4333, 2017.
[292] M. Fidler, B. Walker, and Y. Jiang, “Non-asymptotic delay bounds for
multi-server systems with synchronization constraints,” IEEE Trans. Parallel
Distrib. Syst., vol. 29, no. 7, pp. 1545–1559, 2018.
[293] Z. Jiang, B. Krishnamachari, S. Zhou, and Z. Niu, “Optimal sleeping
mechanism for multiple servers with MMPP-based bursty traffic arrival,”
IEEE Wireless Commun. Lett., vol. 7, no. 3, pp. 436–439, 2018.
Index
Erlang random variable 226–9, 250 Gaussian random variable: see normal
expected value and variance of 229 random variable
ES 36 generic computing devices 101
event, defined 160–1 geometric random variable 202–5,
event notification via monitoring 90 243–4
exchange-termination equipment 23
expected value 180–2 half-duplex systems 117
of continuous random variable 190 hierarchical design of network 49, 82–3
of discrete random variables 180–2 hierarchical layers of network 84
experiment, defined 159 access layer 85–6
exponential distribution 145–6, 153 core layer 84
exponential random variable 222–6, distribution layer 84–5
247 high-bit-rate DSL 28
expected value and variance of hold-down timers 52
224–5 home area network (HAN) 2
exterior gateway protocol (EGP) 47–8 homogeneous Poisson point process
147–50
failure rate 104
host-requirement analysis 101–2
fast Ethernet 11
hosts 93
File Transfer Protocol (FTP) 29, 35
hubs 5–6
financial requirements 102
100BaseTX and 100BaseFX fast
fine granularity 120
Ethernet 11
finest grain set 160
HyperText Transfer Protocol (HTTP)
flat routing algorithms 47
35
flow analysis model 125–6
flow boundaries 121–2
flow distributions 122–3 independence of events 168–70
flow models 117 individual flow 116
client–server model 119 inhomogeneous Poisson point process
cooperative computing model 147
119–20 input modelling 152
distributed computing model 120–1 data collection 152–3
peer-to-peer (P2P) model 118 distribution fitness test 155
flows 115–16 parameter estimation 154–5
flowspec 123–4 probability distribution identification
developing 126 153–4
flow specification 123–5 Integrated Services Digital Network
flow types 116 (ISDN) 22–4
frame relay 24–5 interarrival and service time in Poisson
full-duplex system 117 point process 259
full mesh topologies 19–20 interior gateway protocols (IGPs) 47,
49–56
Gamma and Erlang distribution 146 Interior Gateway Routing Protocol
Gamma and Weibull distribution 146 (IGRP) 45, 50–1
gateways 40 intermediate system (IS) 36
318 Network design, modeling, and performance evaluation