home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Info 1997 December
/
Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso
/
drafts
/
draft_n_r
/
draft-pullen-qospf-model-00.txt
< prev
next >
Wrap
Text File
|
1996-11-26
|
25KB
|
542 lines
INTERNET DRAFT J.M.Pullen
Expiration: 25 April 1997 George Mason U.
Lava K. Lavu
George Mason U.
Hai Nguyen
ESystems Falls Church
Eric Crawley
Baynetworks
25 November 1996
A Simulation of QOSFP Multicasting for a Large Area
<draft-pullen-qospf-model-00.txt>
Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its
areas, and its working groups. Note that other groups may also
distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet-
Drafts as reference material or to cite them other than as
``work in progress''
To learn the current status of any Internet-Draft, please check
the ``1id-abstracts.txt'' listing contained in the Internet-
Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net
(Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East
Coast), or ftp.isi.edu (US West Coast).
Abstract
This document describes a detailed simulation model of a sizable
IPmc/RSVP network using the Quality of Service Extensions to OSPF
and the performance predictions produced by the model. The model
was developed using the OPNET simulation package with procedures
defined in the C language. The model was developed to allow
investigation of scaling characteristics of QoS routing by the
Internet multicast/resource reservation community. We are making
our model publicly available for this purpose.
1. Background
The purpose of this document is to describe a simulation model
designed to help in understanding the scaling characteristics
of the QOSPF protocol in networks of significant size.
The successful deployment of IP multicasting [1] and its
availability in the Mbone has led to continuing increase in real-
time multimedia Internet applications. Because the Internet has
traditionally supported only a best-effort quality of service,
there is considerable interest to create mechanisms that will
allow adequate resources to be reserve in networks using the
Internet protocol suite, such that the quality of real-time
traffic such as video and voice can be sustained at specified
levels. The RSVP protocol [2] has been developed for this
purpose and is the subject of considerable ongoing implementation
efforts.
RSVP is does not provide routing, but relies on routing protocols
to be available in its working environment. One school of
thought argues that, to be effective, this routing must be aware
of quality of service (QOS) capabilities of network components
through which the RSVP paths and reservations are to be routed.
A proposal has been put forward for QOS-sensitive routing (QOSPF)
based on the well-known OSPF routing protocol [4] and its
multicast derivative, MOSPF [5]. However, serious questions have
been raised about the scalability of such a protocol. The
simulation described in this document is intended to provide a
tool to examine the behavior of a sizable QOSPF-routed network
with Ipmc and RSVP, handling large numbers of resource-reserved,
real-time multicast applications. A companion paper describes
the simulation models for IPmc and RSVP that support the QOSPF
simulation. Each of these models is available for use of the
IETF comunity.
2. The OPNET Simulation Environment
The Optimized Network Engineering Tools (OPNET) is a commercial
simulation product of the MIL3 Company, Arlington, VA. It
employs a Discrete Event Simulation approach that allows large
numbers of closely-spaced events in a sizable network to be
represented accurately and efficiently. OPNET uses a modeling
approach where networks are built of components interconnected by
perfect links (which can be degraded at will). Each component's
behavior is modeled as a state-transition diagram. The process
that takes place in each state is described by a program in the C
language. We believe this makes the OPNET-based models
relatively easy to port to other modeling environments. Perhaps
more importantly, given the widespread availability of OPNET,
it makes them sufficiently efficient that an extended period of
network behavior can be simulated in considerable detail, even for
large networks.
The following sections describe the state-transition models and
process code for the QOSPF model we have created using OPNET.
3. QOSPF Model
The state-transition diagrams for the QOSPF model can be found at
http://bacon.gmu.edu/qosip/qospf/rtr-states.html.
The following processing takes place in the indicated modules.
3.1 init
This state initializes all the router variables. Default
transition to idle state.
3.2 idle
This state has several transitions. If a packet arrives it
transits to arr state. Depending on interrupts received it will
transit to BCOspfLsa, BCQospfLsa, BCMospfLsa, hello_pks state.
In future versions, links coming up or down will also cause a
transition.
3.3 BCOspfLsa
Transition to this state from idle state is executed whenever the
condition send_ospf_lsa is true, which happens when the network is
being initialized, and when ospf_lsa_refresh_timout occurs. This
state will create Router, Network, Summary Link State
Advertisements and pack all of them into an Link State Update
packet. The Link State Update Packet is sent to the IP layer with a
destination address of AllSPFRouters.
3.4 BCQospfLsa
Transition to this state from the idle state is executed whenever
the condition send_qospf_lsa is true. This state will create Link
Resource Advertisement and Resource Reservation Advertisement and
pack them into a Qospf Link State Update Packet. This Qospf Link
State Update Packet is sent to IP layer with a destination
address of AllSPFRouters.
3.5 BCMospfLsa
Transition to this state from idle state is executed whenever the
condition send_mospf_lsa is true. This state will create Group
Membership Link State Advertisement and pack them into Mospf Link
State Update Packet. This Mospf Link State Update Packet is sent
to IP layer with a destination address of AllSPFRouters.
3.6 arr
The arr state checks the type of packet that is received upon a
packet arrival. It calls the following functions depending on the
protocol Id of the packet received.
a. QospfPkPro: Depending on the type of QOSPF/OSPF/MOSPF packet
received the function calls the following functions.
1. HelloPk_pro: This function is called whenever a hello packet is
received. This function updates the router's neighbor information,
which is later used while sending the different LSAs.
2. OspfLsUpdatePk_pro: This function is called when a OSPF LSA update
packet is received (router LSA, network LSA, or summary LSA). If
the Router is an Area Border Router or if the LSA belongs to the
Area whose Area Id is the Routers Area Id, then it is searched to
determine whether this LSA already exists in the Link State
database. If it exists and if the existing LSA's LS Sequence
Number is less than the received LSA's LS Sequence Number the
existing LSA was replaced with the received one. The function
processes the Network LSA only if it is a designated router or
Area Border Router. It processes the Summary LSA only if the
router is a Area Border Router. The function also turns on the
trigger ospfspfcalc which is the condition for the transition from
arr state to ospfspfcalc.
3. MospfLsUpdatePk_pro: This function is called when a MOSPF LSA
update packet is received. It updates the group membership link
state database of the router. The function also turns on the
trigger mospfspfcalc which is the condition for the transition
from arr state to mospfspfcalc. In future versions, network
topology changes will also trigger this state.
4. QospfLsUpdatePk_pro: This function is called when a QOSPF LSA
update packet is received. It updates the resource link state
database of the router. It turns on the trigger qospfcalc which is
used as a transition condition from arr state to qospfspfcalc
state.
b. RsvpPkPro: This function is invoked whenever a packet is received
by the arr state from the RSVP daemon. RSVP will send a packet to
QOSPF daemon whenever the RSVP daemon receives an initial path
message, or a reservation for a source is successful. This function
calls one of the following two functions depending on the type of
packet received by the QOSPF arr state.
1. Path_Msg_pro: This function gets the source and destination
information, sender transmission specs and sets the trigger
qospfcalc on.
2. Resv_Msg_Pro: This function gets the resources reserved
information from the TCSB of the RSVP daemon and makes the trigger
send_rralsa true, which will in turn turn on the send_qospf_lsa
trigger on. send_qospf_lsa is used to send the send the Qospf LSA
update packets, thereby sending the Resource Reservation
Advertisement with the new information.
3. IgmpPkPro: This function will make the trigger send_grpmbrlsa true
which in turn activates the send_mospf_lsa trigger. send_mospf_lsa
is used to send the MOSPF LSA update packets. This is a trigger
from IGMP so that QOSPF examines all new group joins.
3.7 qospfspfcalc
This function is used to calculate the QOSPF routing table.
Resource LSA's are used to discover the neighbors and RRA's are
used to check for the available resources on the link. This state
transit to upstr_node on detupstrnode condition. Only topology
changes (indicated by router LSA, network LSA, resource LSA)) will
trigger recalculation of all flows, other changes (summary LSA,
group change, amd RRA/DABRA) only cause recalculation of affected
entries.
a. QospfCandidateAddPro: Each vertex's neighbors are checked for
inclusion into the candidate list by examining the Resource-LSA. If
the existing reservation for the flow (for this source destination
pair) or the available bandwidth on this link meets the QOS
requirements of the flow then the other end of the link is considered
for inclusion in the candidate list. The delay from the source to
this vertex(the other end of the link) is calculated and if this
vertex is not on the candidate list it is added to the candidate
list. Route pinning is used. When adding the vertex if the
parent of vertex has a reservation for the flow it is marked
reserved.
b. QospfSPFTreeCalc: While the candidate list is not empty the
candidate that is closest to the root is deleted and added to the
shortest path tree, and the Resource-LSA of this candidate is used to
check for possible inclusion of the other end of the links into the
candidate list. A vertex marked reserved is chosen first in
building the Shortest Path Tree.
c. QospfRouteTableCalc: Using the shortest path tree information
obtained from the shortest path tree database route table is
calculated. The IP layer uses this information to route the QOS
flows.
3.8 hello_pks
Hello packets are created and sent with destination address of
AllSPFRouters. Default transition to idle state.
3.9 mospfspfcalc
The following functions are used to calculate the shortest path
tree and routing table. This state transit to upstr_node upon
detupstrnode condition.
a. CandListInit: Depending upon the SourceNet of the datagram the
candidate lists are initialized.A
b. MospfCandAddPro: The vertex link is examined and if the other end
of the link is not a stub networks and is not already in the
candidate list it is added to the candidate list after calculating
the cost to that vertex. If this other end of the link is already on
the shortest path tree and the calculated cost is less than the one
that shows in the shortest path tree entry update the shortest path
tree to show the calculated cost.
c. MospfSPFTreeCalc: The vertex that is closest to the root that is
in the candidate list is added to the shortest path tree and its link
is considered for possible inclusions in the candidate list.
d. MCRoutetableCalc: Multicast routing table is calculated using the
information of the MOSPF shortest Path tree.
3.10 ospfspfcalc
The following functions are used in this state to calculate the
shortest path tree and using this information the routing table.
Transition to qospfspfcalc state on qospfcalc condition. This was
set to one after processing all functions in the state.
a. OspfCandidateAddPro: This function initializes the candidate list
by examining the link state advertisement of the the Router. For each
link in this advertisement, if the other end of the link is a router
or transit network and if it is not already in the shortest-path
tree then calculate the distance between these vertices. If the
other end of this link is not already on the candidate list or if
the distance calculated is less than the value that appears for
this other end add the other end of the link to candidate list.
b. OspfSPTreeBuild: This function pulls each vertex from the
candidate list that is closest to the root and adds it to the
shortest path tree. In doing so it deletes the vertex from the
candidate list. This function continues to do this till the candidate
list is empty.
c. OspfStubLinkPro: In this procedure the stub networks are added to
shortest path tree.
d. OspfSummaryLinkPro: If the router is an Area Border Router the
summary links that it has received is examined. The route to the Area
border router advertising this summary LSA is examined in the routing
table. If one is found a routing table update is done by adding the
route to the network specified in the summary LSA and the cost to
this route is sum of the cost to area border router advertising this
and the cost to reach this network from that area border router.
e. RoutingTableCalc: This function updates the routing table by
examining the shortest path tree data structure.
3.11 upstr_node
This state does not do anything in the present model. It transitions
to DABRA state.
3.12 DABRA
If the router is an Area Border Router and the area is the source
area then a DABRA message is constructed and send to all the
downstream areas. Default transition to idle state.
4. Performance Predictions
The purpose for generating the model was to use it to predict
performance of a large IPmc-RSVP systems using QOSPF routing.
We describe results of the simulation below.
4.1 small-scale test network and model calibration
A 5-router test Network has been created in a lab environment to
study the behavior of the Quality-of-Service Open Shortest Path First
(QOSPF) routing protocol. The test network is made up of Bay
Networks Backbone Link Node-2 (BLN-2) routers, Silicon Graphics Inc.
(SGI) workstations, and Audio Host Processors. Routers are
interconnected via Crossover cables that perform as T1 links.
Workstations and Hosts are nodes on Fiber Distributed Data Interface
(FDDI) Local Area Networks (LANs). A diagram of the test network is
shown in:
http://bacon.gmu.edu/qosip/qospf/ss-cal-net.html
4.1.1 Hardware and Software Configuration
a. Backbone Link Node-2 Routers: The routers are running BayNetworks
Image 11.0 Release with the addition of QOSPF, IGMP v2.0, and a
subset of RSVP based on Internet Draft (ID) 8.0. For RSVP, fixed
filter reservation style using raw RSVP I/O is supported. The ADspec
object is not supported. Router alert IP option is used. Integrated
services Controlled-Load is supported (as specified in the draft-
ietf-intserv-ctrl-load-svc-03.txt). In addition, a protocol
prioritization mechanism is used to control the queuing delay and
dropping of QOSPF and RSVP messages.
b. Silicon Graphics Inc. Workstations: These are Indy Workstations
with Sysconnect FDDI card (12501) running IRIX v5.1 operating system.
Custom UDP Test traffic generator (both Unicast and Multicast) is
included.
c. Audio Host Processors: These are E-Systems proprietary 6U VMEbus
boxes consisting of Motorola 68040 processor (MVME167-033B), Cyclone
i960 processors (CVM964), and Rockwell FDDI interface card (125010).
Each Host has an internal Ethernet network for processor to processor
communication. The units are running ISI pSOS+ v1.3 real time
operating system. Audio applications use Xpress Transfer Protocol
(XTP) v4.0 as its Transport layer. IGMP v2.0, RIP v1.0 and a subset
of RSVP based on ID 8.0 are also supported.
4.1.2 Test Network Description
The BLN-2 Routers are connected via serial synchronous links acting
as T1 links. Each link has a line bandwidth of 1.25 Mbits/sec.
This is the clock speed closest to the 1.544 Mbits/sec T1 rate that
the routers can source. For each link, the Reservable bandwidth is
set at 1.075 Mbits/sec, and the Best Effort (BE) bandwidth is set at
175 Kbits/sec.
a. Reserved Flows Characteristics: Audio flows are provided with a
Controlled-Load service. The RSVP Tspec has a burst of 5,120 bytes
(10 datagrams) and a rate of 77 Kbytes/sec. Audio data packet size
is 512 bytes. IP datagram packet size is 584 bytes (includes data,
XTP header, IP header and a second encapsulating IP header). Based
on the configured reservable bandwidth of 1.075 Mbits/sec, a maximum
of 13 audio flows can be allocated per link. This does include a 7%
inflation factor.
b. BE Traffic Characteristics: Data packet size is 500 bytes. UDP
IP datagram size is 528 bytes.
4.1.3 Test Scenarios
4.1.3.1 Test Case 1 - Reserved Flows with BE Traffic
a. Test Scenario: Host1 is the source for Audio multicast group
#1-13. Host2 is the source for Audio multicast group #14-26. Host3
joins and starts receiving Audio multicast group #1-26. There are 90
Kbits/sec of BE UDP traffic from Workstation2 to Workstation3.
b. Observation: All Reserved flows and BE traffic from R2-R5-R3 are
contained within a single link. Similarly, only one link is utilized
from R1-R4-R3. Host3 receives all datagrams from Audio multicast
group #1-26. Workstation3 receives 90 Kbit/sec of UDP traffic from
Workstation2 via R2-R5-R3. No packets are clipped, since the link
bandwidth is greater than that consumed by both the Reserved flows
and BE traffic.
4.1.3.2 Test Case 2 - Reserved Flows with BE Traffic and Links break
a. Test Scenario: Same as Test Case 1. Both Reserved flows and BE
traffic are flowing from R1-R4-R3 and R2-R5-R3. The Links connecting
R2 and R5 are disconnected.
b. Observation: Host3 is receiving all Reserved flows from Host1 via
R1-R4-R3, and Host2 via R2-R5-R3. Workstation3 is receiving all BE
UDP traffic from Workstation 2 via R2-R5-R3. After the links between
R2 and R5 are removed, the Reserved flows from Host2 and BE traffic
from Workstation2 are re-routed to OSPF area 3 via R2-R1-R4-R3. The
rerouted traffic, originating from OSPF area2, now utilizes the
second link between R1&R4 and R4&R3.
4.1.3.3 Test Case 3 - Reserved Flows with Heavy BE Traffic
a. Test Scenario: Same as Test Case 1, except that the BE UDP
traffic from Workstation2 to Workstation3 is increased from 90
Kbits/sec to 902.4 Kbits/sec, causing link overload. Note that on
this scenario the BE traffic are exceeding the BE available
bandwidth.
b. Observation: Host3 is receiving all of the Reserved flows from
Host1 via R1-R4-R3, and Host2 via R2-R5-R3. Workstation3 is
receiving in the average 257.15 Kbits/sec of BE UDP traffic from
Workstation 2 via R2-R5-R3. In the average 71.6 packets/sec of BE UDP
packets are clipped at R2 since the available BE bandwidth is much
less than the actual BE traffic. The Reserved flows are not effected
by the heavy BE traffic on the same links.
4.1.4 Calibration
Calibration of the small-scale network simulation against the
behavior or the physical model is ongoing.
4.2 Behavior of the scaled-up QOSPF network
The major purpose for this simulation effort was to examine in
detail the projected performance of a large QOSPF-based autonomous
system. Accordingly we have generated a system of 84 routers
that we believe is representative of the sort of environment where
QOSPF would be used.
4.2.1 Nature of the scaled-up network
The scaled-up network can be seen at:
http://bacon.gmu.edu/qosip/network_model/future_model
The network consist of four areas, each constructed from four
copies of the small-scale network. The areas are cross-linked
such that each small-scale network is connected to two area
routers. Further, the area routers are connected to backbone
routers and cross-linked for redundancy. The intention is to
represent a corporate network with high performance and reliability
requirements, where each of the small-scale networks might
represent a department and each area router a geographic area.
4.2.2 Simulation results from the scaled-up network.
We are still early in the process of understanding just what is
happening inside our complex target environment. In particular we
have been grappling with a series of problems associated with
scaling up the protocols, which appear to be working in the
small-scale network. We are running session generators at moderate
levels (at most one new session per router per second) and working
to verify the validity of the simulation results. Thus far we
have found the target environment is fully able to break any naive
simulation we try, either by demanding amounts of memory beyond
the virtual memory space of Unix, or by running so slowly that
hundreds of hours of wall-clock time would be required to represent
one hour of simulated time. We are making good progress and expect
to have validated simulation statistics within a month. Meanwhile we
are releasing this interim report to the Internet community with the
expectation that this will result in a thorough review and
theoretical validation, or indication where further work is needed,
for the model elements described here.
5. Future Work
We expect to perform further simulations of the QOSPF protocol
to allow it to be defined in such as way as to be most effective.
We welcome participation in this process by the Internet
community.
6. References
[1] Deering, "Host Requirements for IP Multicasting", RFC 1112,
August 1989
[2] Braden et. al., "Resource Reservation Protocol Version 1
Functional Specification", work in progress (draft-ietf-rsvp-
spec-14), November 1996
[3] Zhang et. al., "Quality of Service Extensions to OSPF or
Quality of Service First Path Routing (QOSPF)", work in progress
(draft-zhang-qos-qospf-00.txt), June 1996
[4] Moy, "OSPF Specification", RFC 1131, October 1989
[5] Moy, "MOSPF: Analysis and Experience", RFC 1585, March 1994
[6] MIL3 Inc., OPNET: Optimized Network Engineering Tools,
Simulation Kernel Manual, November 1991
Authors' Addresses
J. Mark Pullen
Computer Science/4A5
George Mason University
Fairfax, VA 22032
mpullen@gmu.edu
Lava K. Lavu
C3I Center/4B5
George Mason University
Fairfax, VA 22030
llavu@bacon.gmu.edu
Hai H. Nguyen
Raytheon E-Systems, Falls Church Division
7700 Arlington Blvd, N201
Falls Church, VA 22046
hai_nguyen@fallschurch.esys.com
Eric Crawley
BayNetworks Milstop 3FS-1302
3 Federal St.
Billerica, MA 01821
esc@baynetworks.com
Expiration: 25 April 1997