SSF.App.Worm
Class GatewayProtocolSession

java.lang.Object
  |
  +--SSF.OS.ProtocolSession
        |
        +--SSF.App.Worm.MacroscopicModelConfigurator
              |
              +--SSF.App.Worm.GatewayProtocolSession
All Implemented Interfaces:
com.renesys.raceway.DML.Configurable

public class GatewayProtocolSession
extends MacroscopicModelConfigurator
implements com.renesys.raceway.DML.Configurable

Pseudoprotocol for border routers (gateways). Connects to the global macroscopic model to receive information on worm induced scan traffic intensity.


Nested Class Summary
 class GatewayProtocolSession.BccIcmpTransmissionTimer
           
 
Nested classes inherited from class SSF.App.Worm.MacroscopicModelConfigurator
MacroscopicModelConfigurator.MacroModelTimer
 
Field Summary
protected  Exponential interSendTimeDistr
          Distribution of BCC ICMP inter-send times.
 RandomStream rng
          Random number generator for BCC ICMP send process.
 boolean scansBlocked
          If true, this gateway blocks worm scan packets out from and into this AS.
 
Fields inherited from class SSF.OS.ProtocolSession
name, use
 
Constructor Summary
GatewayProtocolSession()
          Methods
 
Method Summary
 void config(com.renesys.raceway.DML.Configuration cfg)
          Configure GatewayProtocolSession.
 void init()
          Initalize (after config phase).
 boolean push(ProtocolMessage msg, ProtocolSession fromSessn)
          Do nothing.
 void sendBccIcmp()
          Send next BCC ICMP packet.
 void setBccIcmpRate(float outgoingRate)
          Update the rate of BCC ICMPs to send.
 void setScansBlocked(boolean doBlock)
          Set switch determining whether this gateway blocks (drops) worm scan packets or not.
 void updateScans(float outgoingRate)
          Update scan traffic intensity at this router.
 
Methods inherited from class SSF.App.Worm.MacroscopicModelConfigurator
configEpidemic, configGlobalOptions, getSimTime, init_macroscopic, update
 
Methods inherited from class SSF.OS.ProtocolSession
close, closed, debugIdentifier, inGraph, open, opened, pushAfterDelay, pushAfterDelayFailed, setGraph, version
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

scansBlocked

public boolean scansBlocked
If true, this gateway blocks worm scan packets out from and into this AS. Other gateways for this AS may still be forwarding scans.


rng

public RandomStream rng
Random number generator for BCC ICMP send process.


interSendTimeDistr

protected Exponential interSendTimeDistr
Distribution of BCC ICMP inter-send times.

Constructor Detail

GatewayProtocolSession

public GatewayProtocolSession()
Methods

Method Detail

init

public void init()
Initalize (after config phase). First instance creates global epidemic model object and initiates the timer that drives the epidemic model. All instances register with the epidemic model so that it can find them deliver information about scan traffic intensity.

Overrides:
init in class ProtocolSession

config

public void config(com.renesys.raceway.DML.Configuration cfg)
            throws com.renesys.raceway.DML.configException
Configure GatewayProtocolSession. Also forwards global configuration of the macroscopic epidemic model to MacroscopicModelConfigurator.

REQUIRED ATTRIBUTES:

OPTIONAL ATTRIBUTES:

Whenever the WormProtocolSession or GatewayProtocolSession is used, the outermost Net must have a global definition of the worm_model [ ... ] attribute. The worm_model attributes are as follows:

Specified by:
config in interface com.renesys.raceway.DML.Configurable
Overrides:
config in class ProtocolSession
com.renesys.raceway.DML.configException
See Also:
for more details.

push

public boolean push(ProtocolMessage msg,
                    ProtocolSession fromSessn)
Do nothing.

Specified by:
push in class ProtocolSession

updateScans

public void updateScans(float outgoingRate)
Update scan traffic intensity at this router.


setScansBlocked

public void setScansBlocked(boolean doBlock)
Set switch determining whether this gateway blocks (drops) worm scan packets or not. By default all gateways forward scans. But e.g. a gateway configured as a firewall or a crashed router might block the worm scans.


setBccIcmpRate

public void setBccIcmpRate(float outgoingRate)
Update the rate of BCC ICMPs to send. (One for each dropped scan packet.)


sendBccIcmp

public void sendBccIcmp()
Send next BCC ICMP packet. Queuing them according to a Poisson process.