# The traffic generators currently available are FTP,
# FTP/GENERIC, TELNET, CBR, and HTTP.
# 
# ---------------------------------------------------------------
# 1. FTP
# 
# FTP uses tcplib to simulate the file transfer protocol.  In order to use
# FTP, the following format is needed:
# 
#     FTP <src> <dest> <items to send> <start time>
# 
# where 
# 
#     <src> is the client node.
#     <dest> is the server node.
#     <items to send> is how many application layer items to send.
#     <start time> is when to start FTP during the simulation.
# 
# If <items to send> is set to 0, FTP will use tcplib to randomly determine
# the amount of application layer items to send.  The size of each item is
# will always be randomly determined by tcplib.  Note that the term "item"
# in the application layer is eqivalent to the term "packet" at the network
# layer and "frame" at the MAC layer.
# 
# 
# EXAMPLE:
# 
#     a) FTP 0 1 10 0S
# 
#        Node 0 sends node 1 ten items at the start of the simulation,
#        with the size of each item randomly determined by tcplib.
# 
#     b) FTP 0 1 0 100S
# 
#        Node 0 sends node 1 the number of items randomly picked by tcplib
#        after 100 seconds into the simulation.  The size of each item is
#        also randomly determined by tcplib.
# 
# 
# ---------------------------------------------------------------
# 2. FTP/GENERIC
# 
# FTP/GENERIC does not use tcplib to simulate file transfer.  Instead,
# the client simply sends the data items to the server without the server
# sending any control information back to the client.  In order to use
# FTP/GENERIC, the following format is needed:
# 
#     FTP/GENERIC <src> <dest> <items to send> <item size> <start time> <end time>
# 
# where
# 
#     <src> is the client node.
#     <dest> is the server node.
#     <items to send> is how many application layer items to send.
#     <item size> is size of each application layer item.
#     <start time> is when to start FTP/GENERIC during the simulation.
#     <end time> is when to terminate FTP/GENERIC during the simulation.
# 
# If <items to send> is set to 0, FTP/GENERIC will run until the specified
# <end time> or until the end of the simuation, which ever comes first.  
# If <end time> is set to 0, FTP/GENERIC will run until all <items to send>
# is transmitted or until the end of simulation, which ever comes first.
# If <items to send> and <end time> are both greater than 0, FTP/GENERIC will
# will run until either <items to send> is done, <end time> is reached, or 
# the simulation ends, which ever comes first.
# 
# EXAMPLE:
# 
#     a) FTP/GENERIC 0 1 10 1460 0S 600S
# 
#        Node 0 sends node 1 ten items of 1460B each at the start of the 
#        simulation up to 600 seconds into the simulation.  If the ten
#        items are sent before 600 seconds elapsed, no other items are 
#        sent.
# 
#     b) FTP/GENERIC 0 1 10 1460 0S 0S
# 
#        Node 0 sends node 1 ten items of 1460B each at the start of the 
#        simulation until the end of the simulation.  If the ten
#        items are sent the simulation ends, no other items are 
#        sent.
# 
#     c) FTP/GENERIC 0 1 0 1460 0S 0S
# 
#        Node 0 continuously sends node 1 items of 1460B each at the 
#        start of the simulation until the end of the simulation.  
# 
# 
# ---------------------------------------------------------------
# 3. TELNET
# 
# TELNET uses tcplib to simulate the telnet protocol.  In order to use
# TELNET, the following format is needed:
# 
#     TELNET <src> dest> <session duration> <start time>
# 
# where
# 
#     <src> is the client node.
#     <dest> is the server node.
#     <session duration> is how long the telnet session will last.
#     <start time> is when to start TELNET during the simulation.
# 
# If <session duration> is set to 0, FTP will use tcplib to randomly determine
# how long the telnet session will last.  The interval between telnet items 
# are determined by tcplib.
# 
# 
# EXAMPLE:
# 
#     a) TELNET 0 1 100S 0S
# 
#        Node 0 sends node 1 telnet traffic for a duration of 100 seconds at
#        the start of the simulation.
# 
#     b) TELNET 0 1 0S 0S
# 
#        Node 0 sends node 1 telnet traffic for a duration randomly
#        determined by tcplib at the start of the simulation.
# 
# 
# ---------------------------------------------------------------
# 4. CBR
# 
# CBR simulates a constant bit rate generator.  In order to use CBR, the
# following format is needed:
# 
#     CBR <src> <dest> <items to send> <item size> 
#         <interval> <start time> <end time>
# 
# where
# 
#     <src> is the client node.
#     <dest> is the server node.
#     <items to send> is how many application layer items to send.
#     <item size> is size of each application layer item.
#     <interval> is the interdeparture time between the application layer items.
#     <start time> is when to start CBR during the simulation.
#     <end time> is when to terminate CBR during the simulation.
# 
# If <items to send> is set to 0, CBR will run until the specified
# <end time> or until the end of the simuation, which ever comes first.  
# If <end time> is set to 0, CBR will run until all <items to send>
# is transmitted or until the end of simulation, which ever comes first.
# If <items to send> and <end time> are both greater than 0, CBR will
# will run until either <items to send> is done, <end time> is reached, or 
# the simulation ends, which ever comes first.
# 
# EXAMPLE:
# 
#     a) CBR 0 1 10 1460 1S 0S 600S
# 
#        Node 0 sends node 1 ten items of 1460B each at the start of the 
#        simulation up to 600 seconds into the simulation.  The interdeparture
#        time for each item is 1 second.  If the ten items are sent before 
#        600 seconds elapsed, no other items are sent.
# 
#     b) CBR 0 1 0 1460 1S 0S 600S
# 
#        Node 0 continuously sends node 1 items of 1460B each at the start of
#        the simulation up to 600 seconds into the simulation.
#        The interdeparture time for each item is 1 second.
#       
#     c) CBR 0 1 0 1460 1S 0S 0S
# 
#        Node 0 continuously sends node 1 items of 1460B each at the start of
#        the simulation up to the end of the simulation.
#        The interdeparture time for each item is 1 second.
#       
# 
# ---------------------------------------------------------------
# 5. HTTP
# 
# HTTP simulates single-TCP connection web servers and clients.  Bruce Mah
# has gathered packet traces of HTTP network conversations, and produced
# CDFs for "the size of HTTP items retrieved, number of items per 'Web page',
# think time, and user browsing behavior."  
# (http://www.ca.sandia.gov/~bmah/Software/HttpModel/)
# 
# This model has been implemented for GloMoSim, and the following format
# describes its use for servers:
# 
#     HTTPD <address>
# 
# where
# 
#     <address> is the node address of a node which will be serving
#               Web pages.
# 
# For HTTP clients, the  following format is used:
# 
#     HTTP <address> <num_of_server> <server_1> ... <server_n> <start> <thresh>
# 
# where
# 
#     <address> is the node address of the node on which this client resides
#     <num_of_server> is the number of server addresses which will follow
#     <server_1>
#     .
#     .
#     <server_n> are the node addresses of the servers which this client
#                will choose between when requesting pages.  There must
#                be "HTTPD <address>" lines existing separately for each of
#                these addresses.
#     <start> is the start time for when the client will begin requesting
#             pages
#     <thresh> is a ceiling (specified in units of time) on the amount of
#              "think time" that will be allowed for a client.  The 
#              network-trace based amount of time modulo this threshhold
#              is used to determine think time.
# 
# EXAMPLE:
# 
#     HTTPD 2
#     HTTPD 5
#     HTTPD 8
#     HTTPD 11
#     HTTP 1 3 2 5 11 10S 120S
# 
#     There are HTTP servers on nodes 2, 5, 8, and 11.  There is an HTTP
#     client on node 1.  This client chooses between servers {2, 5, 11} only
#     when requesting web pages.  It begins browsing after 10S of simulation
#     time have passed, and will "think" (remain idle) for at most 2 minutes
#     of simulation time, at a time.

FTP 0 1 10 150S
TELNET 2 3 10S 150S

#CBR 18 16 10000 512   5S    70S 100S
#CBR 10 28 10000 512 2.5S 82.49S 199S
#CBR 21 0  10000 512 0.8S 91.39S 248S
#CBR 14 17 10000 512 1.1S 107.8S 274S

#CBR 1 0 0 512 4MS 0 0
#CBR 2 0 0 512 4MS 0 0
#CBR 3 0 0 512 4MS 0 0
#CBR 4 0 0 512 4MS 0 0
#CBR 5 0 0 512 4MS 0 0

CBR 0 3 0 1500 2S 0 0
CBR 1 2 0 1500 2S 0 0 
CBR 2 1 0 1500 2S 0 0 
CBR 3 0 0 1500 2S 0 0