next up previous contents
Next: Switch interface: traffic and Up: Implementation Previous: Monitoring the state   Contents


Switch simulator: RSVP message generation

In order to test the code written, RSVP messages needed to be processed. RSVP traffic is UDP encapsulated; however, extracting an RSVP message from a UDP packet is not complicated since there exists a class DatagramPacket to manipulate them in the Java API3.4; so what was important was to hand RSVP messages to the switch independently from the way this communication was achieved.

I had to find a way to create my own RSVP messages and to pass them to the RSVP process. Basically, building the RSVP messages was not difficult, since the classes used to store RSVP messages have suitable constructors and methods to transform a message into a raw form thanks to myio facilities. I hence had to implement a means to describe the messages I wanted to generate.

I wrote a couple of classes gathered in the generator package. A text file is used to describe the messages to build, and they are then sent to the switch interface (see section [*]). One line is used to describe each parameter of a RSVP object. The generator parses a file, checks the correctness of the message, builds a raw message and sends it to the switch interface.

An example of a file used to describe an RSVP message is given in figure [*]: it describes a Path message from host $\EuScript{A}$ to host $\EuScript{X}$ in the network described in figure [*], $\EuScript{A}$ willing to open an FTP session on $\EuScript{X}$. Running RsvpMessageGenerator will create the corresponding Path message.

Figure: Generation of a Path message from host $\EuScript{A}$ to host $\EuScript{X}$
\begin{figure}\begin{small}
\verbatimtabinput{text_files/message_description}
\end{small}\end{figure}


next up previous contents
Next: Switch interface: traffic and Up: Implementation Previous: Monitoring the state   Contents
Hugo Haas
hugo@larve.net
July 1998 - Please note that this HTML version is broken; I advise you to read the PostScript version.