• Nie Znaleziono Wyników

A software environment for multicast routing testing

N/A
N/A
Protected

Academic year: 2021

Share "A software environment for multicast routing testing"

Copied!
4
0
0

Pełen tekst

(1)

A software environment for multicast routing testing

Paweł Krzy˙zaniak, Marek Michalski, Member, IEEE

Poznan University of Technology, Chair of Communication and Computer Networks, ul. Polanka 3, 60-965 Pozna´n, Poland, e-mail: (pawel.krzyzaniak, marek.michalski)@et.put.poznan.pl

Abstract—Presented paper introduces a software environment facilitating routing protocols testing (with emphasis on multicast routing protocols). The main purpose of the program is to increase the efficiency of various network topologies analysis by means of configuration process automation. The program was designed to be used in conjunction with Juniper MX-series routers, although its universal nature allows it to cooperate with other routing platforms running Junos OS as well.

I. INTRODUCTION

Nowadays world becomes virtual. The virtualization tech-nology is very popular in many areas, the word virtualization can have different meanings. Basically, it is logical division of physical resources and realization of independent access for different users. We will focus on virtualization in computer networks. Even here we can have different approaches to virtualization. The host machines can be virtualized [1], [2], the processors can be divided into virtual processors [3], networks segments can be virtualized as a Virtual Local Area Networks (VLANs) on layer 2 [4] or in layer 3 as a Virtual Private Networks (VPNs) [5] which can be realized in many different ways. Also the network equipment can be virtualized, huge hardware machines can be treated as a set of several smaller ones [6]. In this paper we will focus on mechanism of logical systems, which is developed by Juniper Networks Company [7]. It allows to divide huge router into smaller ones, but still fully functional. With them we will analyze multicast protocols and another network protocols and mechanisms.

II. GENERALDESCRIPTION

The program was initially devised as a part of master thesis and was subsequently custom-tailored to serve as an effective tool for teaching the basics of multicast routing mechanisms in computer networks laboratory. All tests were performed on Juniper MX240 Ethernet Services Router [8] shown in Fig. 1. The software makes use of logical systems virtualization technology provided by Juniper Networks Junos OS [7]. This technology allows the user to create up to 15 logical systems (restriction imposed by Junos OS) on a single hardware platform. It has to be noted however that logical system concept is not synonymous with the widely recognized notion of virtual router. Although similar in its core assumptions, logical system is a much more versatile tool. The most significant difference between these two concepts is that for every logical system created, the routing engine starts a new routing protocol process [9]. It means that every logical system is a fully separate entity that works independently. Should one of the logical systems fail, the routing processes

Fig. 1. Juniper MX240 Ethernet Services Router

of other logical systems will not be affected, thus ensuring a more stable functioning of the whole network. Complete list of features supported by logical systems technology can be found in [9].

Presented software environment has a form of a functional and easy to use graphical interface (Fig. 2) [10]. Main window is divided into four sections. The largest portion of the window is occupied by a panel containing current topology. The user can create a logical system by double clicking left mouse button anywhere in the panel. By double clicking right mouse button the user can create a host (representing an arbitrary physical device). Every object in the panel is fully interactive - it can be moved around the panel, has a related context menu as well as a list of modifiable parameters displayed in a property grid located under the treeview. The treeview itself enables a quick access to every logical system and its inter-faces. The bottom section contains a window displaying all commands that are sent to the router. The user can customize the appearance of the main window as well as numerous functional capabilities of the program to suit his own needs, e.g. resize all sections composing the main window, switch between different modes of creating and sending commands (instantaneous and explicit), modify the colors of elements in network topology, show/hide selected labels (like IP addresses and subnet masks on interfaces) to improve the clarity of examined topology, etc. One of the most important aspects of the program is that the knowledge of Junos OS syntax is not required. The configuration process is done entirely through the graphical interface. The program translates the choices made by user into Junos OS commands and sends them to the router. The following section contains a more detailed description of program’s features.

(2)

III. SELECTEDFEATURES

As stated at the beginning of this paper, the main purpose of the program is to relieve the user from the necessity of manu-ally entering configuration commands on every single router. The program delivers many conveniences providing users with maximum comfort. One of the most important features realizing this approach is automatic IP address generation. The software uses a predefined pool to assign IP addresses from the same subnet to interfaces that are being connected. This feature provides the ability to create a complex topology consisting of many interconnected logical systems within minutes (or even seconds). The logical systems (as well as other objects) can be easily removed from current topology (and from physical router’s configuration) by choosing appropriate option from their context menu. Similar rule applies to links and interfaces - right-clicking on a connection between two objects (routers, hosts or external network) or on a particular interface in treeview brings up a context menu allowing to disconnect it. The interfaces themselves are automatically detected by software. When a new network is created, user is prompted to enter all information required to establish a connection with physical routers. Confirmation of all entered information (by clicking appropriate button) starts a new thread (a separate thread is run for every router the application is attempting to connect to). This thread first establishes a connection with router. Then it performs all necessary operations to create a list of available interfaces. All interfaces that are either logical in nature or not configurable are filtered in this process. If the router is equipped with hardware (a specialized PIC (Physical Interface Card) [9]) enabling the use of logical tunnel interfaces, the user can utilize them to interconnect logical systems. If logical tunnel interfaces are not available on router, the user can still use physical interfaces to connect objects in network topology. Moreover, the user can define the way these interfaces are connected in a separate window. This information is then used to automatically select proper interfaces when two logical systems are being connected. Of course, the user can switch between logical tunnel interfaces (if they are available) and physical interfaces at any time.

The software uses a set of Visual Basic scripts to start a new process of PuTTy [11] program and establish an individual connection session with a particular logical system or host (if user defined IP address of that host). These scripts automatically fill in all necessary information to properly login to any logical system. An example use of this feature is shown in Fig. 3. Right-clicking on a logical system brings up its context menu. "Console" option executes a parameterized script starting a new PuTTy process. After successful login the script issues a command switching the console view to the selected logical system. As seen in Fig. 3, logical systems emulate a real router to a great extent. User can work in both operational and configuration mode and issue commands that are characteristic to these modes. Although most important and frequently used commands are accessible via the context menu, PuTTy terminal is very handy for issuing commands

Fig. 2. The main window with example topology

that require constant refreshing (e.g. ping command). Another useful feature of the software is the ability to switch between two modes of creating and sending router commands: instantaneous and explicit. In first mode, the commands are created and sent right after any change in configuration-related parameter is detected, which applies to almost every parameter that does not refer to object’s appearance (like its color or position). In second mode, it is up to user to decide when the commands should be created and sent. The appropriate buttons are available in configuration windows and context menus of logical systems and interfaces. The commands can also be sent in a cumulative way by choosing a proper option from the context menu of a physical router. It results in creating commands for every modified logical system (and its interfaces) that exist within that physical router. Modes can be changed at any time - user can choose the one that better suits his needs in a given situation. Presented software environment focuses on multicast routing protocols. Users can configure one of many available protocols - PIM-DM [12], PIM-SM [13] (along with various Rendezvous Point election mechanisms), PIM-SSM [14], MSDP [15] and DVMRP [16] (which is considered to be an obsolete protocol, but was included for comparison purposes). Since PIM does not build its own routing table - it relies on other sources of routing information (like unicast routing protocols, but also static routes) - the program enables the user to configure several dynamic unicast routing protocols (OSPF, RIP and BGP [17]) as well as static routes. Both OSPF and BGP use the notion of areas. All the routers (or interfaces) within an area share common configuration characteristics. It would be then highly impractical and time consuming to manually configure all the

(3)

Fig. 3. The context menu and terminal window with logical router LR1 connected

routers within a given area (even through graphic interface). For this reason, the objects representing these areas (seen on Fig. 2) were developed. By choosing appropriate option from toolbar, the user can draw an OSPF or AS area of an arbitrary size. As every object in topology, areas are described by a set of modifiable parameters. By placing a router (or link) within range of a particular area, the software automatically performs proper operations (like setting AS area number, configuring default metric of OSPF stub area, etc.). This feature is especially useful when configuring multi-area OSPF. Every router forwarding multicast packets is a part of multicast tree (whether it is a shortest path tree or a shared tree). These trees are composed of links and routers that are a part of multicast data transmission path. Learning the path traversed by multicast packets requires tracing the route from last-hop router back to the source network by issuing proper command. This method however does not scale well when multiple end stations are connected to different routers. Described software environment performs all necessary actions to learn multicast routes automatically and pictures the results in topology sec-tion of the main window (Fig. 4 ). The data transmission path is marked by a thick green line. Host icons (Fig. 4), in this case, are representing Linux computers acting as multicast transmitters and receivers. As with logical systems, hosts can be accessed via their context menu. Both transmitters and receivers use an open source software called MGEN (Multi-Generator) [18] to generate and request multicast data stream for a particular group address, respectively. MGEN can, among its numerous applications, generate packets (both TCP and UDP) according to specific traffic pattern (periodic, burst, etc.) destined for a particular IP address and define the output interface used to transmit this data stream. Similar parameters can be used to set the end station in listening mode and store information about received packets in log files for further analysis. The software allows the user to save and then load a network topology from a file. This file stores all information needed to recreate the exact topology that was previously saved. The ability to save and load can be used to create

Fig. 4. The multicast tree in the example topology

various lab scenarios. The same topology can be loaded and viewed on multiple workstations thus allowing many users to access logical systems simultaneously via graphical interface. When user is finished working with application and wants to erase all configuration changes, he can do this by clicking "Clear network" icon on toolbar. The software issues a set of commands deleting all logical systems that were created during current session. Network is also automatically cleared when user decides to load topology from file, ensuring that existing configuration won’t be merged with the loaded one.

IV. FURTHER DEVELOPMENT

The efforts are currently focused on providing the appli-cation with mechanisms supporting interoperability between multiple lab groups working on the same physical router. The external networks are currently depicted by a cloud symbol. The intention is to provide all lab groups with the full picture of network, that is - to provide all groups with complete information about networks managed by other groups in a graphical way. Because there is no possibility to exchange data directly between computers in lab environment, all required information regarding logical system topology has to be gath-ered from physical router itself. Another interesting and unique feature supported by Junos is a virtual switch [19]. This tech-nology is available only on MX-series routers. Incorporation of this technology into software environment would expand its capabilities to support data link layer specific functions, which could considerably improve software’s overall usefulness.

(4)

V. SUMMARY

In this paper, a software environment for multicast routing mechanisms testing was presented. Its purpose is to provide a tool that will enable the user to effectively test various network topologies and learn the basics of multicast routing without the knowledge of Junos OS syntax. The paper described numerous features of presented software and its proposed applications.

ACKNOWLEDGEMENTS

The work described in this paper was financed from the research funding for the years 2011-2014 as research grant UMO-2011/01/B/ST7/03959.

REFERENCES

[1] Virtualization Overview, VMware Inc. available at: http://www.vmware.com/pdf/virtualization.pdf.

[2] Quick Migration with Hyper-V, White Paper, Microsoft Company, Jan-uary 2008.

[3] White Paper: Intel Virtualization Technology FlexMigration Enablement, available at: http://communities.intel.com/docs/DOC-5062.

[4] IEEE Std. 802.1Q-2005, Virtual Bridged Local Area Networks. ISBN 0-7381-3662-X.

[5] OpenVPN - The Open Source VPN. available at: openvpn.net. [6] Cisco Nexus 1000V Series Switches Data Sheet, available at:

http://www.cisco.com/en/US/prod/collateral/switches/ps9441/ps9902/data _sheet_c78-492971.html.

[7] Junos Network Operating System, available at: http://www.juniper.net/us/en/products-services/nos/junos/.

[8] D. R. Hanks Jr., H. Reynolds, Juniper MX Series, A Comprehensive Guide to Trio Technologies on the MX, O’Reilly Media, 2012.

[9] OS Logical Systems Configuration Guide, Juniper Networks, Inc., 2012. [10] Michalski M.: A software and hardware system for a fully functional remote access to laboratory networks. The Fifth International Conference on Networking and Services, Valencia, Spain April 20-25, 2009 str. 561-565.

[11] PuTTy official website, available at: http://www.putty.org/.

[12] Protocol Independent Multicast - Dense Mode (PIM-DM): Protocol Specification (Revised), RFC 3973, available at: http://tools.ietf.org/html/rfc3973.

[13] Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised), RFC 4601 available at: http://tools.ietf.org/html/rfc4601.

[14] An Overview of Source-Specific Multicast (SSM), RFC 3569, July 2003, available at: http://tools.ietf.org/html/rfc3569.

[15] Multicast Source Discovery Protocol (MSDP), RFC 3618, October 2003, available at: http://tools.ietf.org/html/rfc3618.

[16] Distance Vector Multicast Routing Protocol, RFC 1075, November 1988, available at: http://tools.ietf.org/html/rfc1075.

[17] Andrew. S. Tannenbaum, Computer Networks, Prentice-Hall Inc., third edition, 1996.

[18] Multi-Generator, avail. at: http://cs.itd.nrl.navy.mil/work/mgen/index.php. [19] Junos OS MX Series Ethernet Services Routers Solutions Guide, Juniper

Cytaty

Powiązane dokumenty

Najnowszym elementem polskiego rynku kapitałowego jest rynek obligacji korporacyjnych i komunalnych Catalyst.. Rozpoczął on działalność 30 września 2009 roku i jest prowadzony

In order to determine the propulsion power requirement, the program estimates hull resistance, appendage resistance, propeller efficiency, propulsion coefficients, and added

Whether sex robots could play this ‘educational’ role in a process of embodied social-skill acquisition that ultimately promotes more successfull human-human reciprocal

Pozostaje także we współpracy z Instytu- tem Historii Zgromadzenia Redemptorystów w Rzymie, Ośrodkiem Badań nad Polonią i Duszpasterstwem Polonijnym KUL, Polskim

In this paper, we propose the Smart Discovery Protocol (SDP) which outperforms the operational service discovery protocols with three main features: (1) more expressive semantic

nazw regionalnych (związanych z ukształtow a­ niem powierzchni terenu, hydrografią, florą i fauną) oraz podgrupę tzw. Visegrád), nazwy wytworzone od zawodów i

[r]