iBGPlay as a Next Generation Looking Glass

Network operators usually use LookingGlasses to perform troubleshooting or other network management activity. A strong limitation of LookingGlasses is its inability to show past routing events. Also, those tools present routing information in a textual form, which may be hard to understand. iBGPlay, as a Next Generation Looking Glass, can give the following features that LookingGlasses do not have:
  • Current and historical routing analysis
  • Visualization and graphical animation of current routing status and historic events
  • Real-time and continuous routing monitoring
  • Flexible search of prefixes by AS number, description, dns names, next-hop, most active origns, etc.

How to set up iBGPlay as a publicy available Next Generation Looking Glass

The users who have iBGPlay, FULL or LITE version, can easily set up iBGPlay for public use as a Java applet. To do that, proceed as follows. You need a Web server hosting the site where you will publish the applet. For iBGPlay to work as applet, you need to build a "signed" applet. Details follow (you need Java jdk 1.6)
  1. Get the .jar file of the client from the downloaded package
    • if you have a FULL version you find it in the package you downloaded
    • if you have a LITE version you can download the client from your login page
  2. use the keytool of JDK to create a certificate as in the following example:
    • keytool -dname "cn=iBGPlay, ou=Dipartimento di Ingegneria Informatica e Automazione, o=Universita degli Studi Roma Tre, l=Roma, st=RM, c=IT" -genkey -alias signApplet -keystore myKeyStore -validity 999 -keypass 1234abcd -storepass abcde1234;
    • you can find details here
  3. sign the .jar file of the client with the following command
    • jarsigner -keystore myKeyStore -storepass abcde1234 -keypass 1234abcd -signedjar signed_ibgp_client_obf.jar ibgp_client.jar signapplet;
    • you can find details here
  4. copy the signed .jar and the cfg/ directory in your web site.
Please do not hesitate to contact us if you need any help in configuring your iBGPlay ng Looking Glass. For your convenience you can find here some html snippet you can take as examples.

A possible directory tree

|-- index.html
|-- main.html
|-- cfg
|     |-- .... do not change the configuration files!
|     `-- ....
|-- signed_ibgp_client_obf.jar
`-- startApplet.html

index.html

<html>
    <head>
        <title>iBGPlay - Next Generation Looking Glass\</title>
    </head>
    <frameset rows="*,0" border="0">
        <frame name="main" src="main.html">
        <frame name="applet" src="about:blank">
    </frameset>
</html>

main.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <title>iBGPlay - Next Generation Looking Glass</title>
    </head>
    <body>
        <div align="center">
            <h1>iBGPlay - ng Looking Glass</h1>
            <p>The applet should start automatically. If this does not happen, you can start it manually by
             clicking <a href="./startApplet.html" target="applet">here</a>.</p>
            <br/> Note that <a href="http://www.java.com/it/download/index.jsp">java jre 1.6 plugin</a> is
            required.
            <form name="myform" action="./startApplet.html" target="applet"> </form>
            <SCRIPT language="JavaScript">
                function submitform()
                {
                    document.myform.submit();
                }
                submitform()
            </SCRIPT>
            <p>For further information about iBGPlay visit</p>
            <p align="center"><a href="http://www.ibgplay.org">www.ibgplay.org</a></p>
            <p> If you have any question or comment about the system, please contact <a
            href="mailto:.....?SUBJECT=iBGPlay looking glass">.......</a></p>
        </div>
    </body>
</html>

startApplet.html

<html>
    <APPLET code="client.control.rbgp.ReverseBGPlayController.class" codebase="." height="600"
    width="700" archive="signed_ibgp_client_obf.jar"></APPLET>
</html>