Ostinato Virtual and Actual IP connectivity to the network (2/3)

Before we fully get into configuring Ostinato, we shall configure the Ostinato facing interfaces on the router topology originally started in the previous post

Just to recap here – this is the topology

5 Router Multicast Topology
5 Router Multicast Topology

The Interfaces facing Ostinato will be attached to an Internet Enhanced Service (IES) which is a form of IP connectivity to the network Global Routing Table (GRT). SROS defines an IES as a customer connectivity service (Access) as opposed to internal infrastructure (Network)

We will be creating IES Services on R3, R4 and R5:

Service Router Ostinato Drone
Router Service ID Interface SAP IP Address Interface IP Address
R3 33 OST-e3 1/1/4 10.0.3.3/27 e3 10.0.3.1/27
R4 44 OST-e2 1/1/4 10.0.4.4/27 e2 10.0.4.1/27
R5 55 OST-e1 1/1/4 10.0.5.5/27 e1 10.0.5.1/27

By default SROS has Ports configured as network. A SAP (Service Access Point) which is basically the same as a UNI (User Network Interface) can only be attached to an access port, so we are required to change the port mode prior to creating the SAP by associating it with a port.

A:R5# configure port 1/1/4
A:R5>config>port# shutdown
*A:R5>config>port# ethernet mode access
*A:R5>config>port# ethernet encap-type null
*A:R5>config>port# no shutdown
*A:R5>config>port# exit all 

Once this has been done on R3, R4 and R5 we can create the IES Services.

A:R3# configure service ies 33 customer 1 create
*A:R3>config>service>ies$ service-name "Multicast Receiver OST-e3"
*A:R3>config>service>ies$ interface OST-e3 create
*A:R3>config>service>ies>if$ address 10.0.3.3/27
*A:R3>config>service>ies>if$ sap 1/1/4 create
*A:R3>config>service>ies>if>sap$ exit
*A:R3>config>service>ies>if$ exit
*A:R3>config>service>ies$ no shutdown
*A:R3>config>service>ies$ info
----------------------------------------------
            interface "OST-e3" create
                address 10.0.3.3/27
                sap 1/1/4 create
                exit
            exit
            service-name "Multicast Receiver OST-e3"
            no shutdown
----------------------------------------------

As the Ostinato E3 will be a multicast reciever, we shall enable IGMP on this interface (IGMPv3 is enabled by default, however the IGMP version will fallback to previous versions depending on the supported version of the attached end systems)

A:R3# configure service ies 33 customer 1 create
*A:R3>config>service>ies$ /configure router igmp interface "OST-e3"
*A:R3>config>router>igmp>if# exit all
*A:R3# show router igmp interface

===============================================================================
IGMP Interfaces
===============================================================================
Interface               Adm  Oper Querier         Cfg/Opr Num     Policy
                                                  Version Groups
-------------------------------------------------------------------------------
OST-e3                  Up   Up   10.0.3.3        3/3     0       none
-------------------------------------------------------------------------------
Interfaces : 1
===============================================================================

We shall do similar for R4:

A:R4# configure service ies 44 customer 1 create
*A:R4>config>service>ies$ service-name "Multicast Receiver OST-e2"
*A:R4>config>service>ies$ interface OST-e2 create
*A:R4>config>service>ies>if$ address 10.0.4.4/27
*A:R4>config>service>ies>if$ sap 1/1/4 create
*A:R4>config>service>ies>if>sap$ exit
*A:R4>config>service>ies>if$ exit
*A:R4>config>service>ies$ no shutdown
*A:R4>config>service>ies$ /configure router igmp interface "OST-e2"
*A:R4>config>router>igmp>if$ exit all
*A:R4# show router igmp interface

===============================================================================
IGMP Interfaces
===============================================================================
Interface               Adm  Oper Querier         Cfg/Opr Num     Policy
                                                  Version Groups
-------------------------------------------------------------------------------
OST-e2                  Up   Up   10.0.4.4        3/3     0       none
-------------------------------------------------------------------------------
Interfaces : 1
===============================================================================

For R5, creating the IES repeats the same concept, however as the Multicast sender will be connected to this service, there are some minor variations, particularly we add the interface into OSPF (passively) so the RPF checks to the multicast source work, and we add the interface into PIM rather than IGMP.

A:R5# configure service ies 55 customer 1 create
*A:R5>config>service>ies$ service-name "Multicast Sender OST-e1"
*A:R5>config>service>ies$ interface OST-e1 create
*A:R5>config>service>ies>if$ address 10.0.5.5/27
*A:R5>config>service>ies>if$ sap 1/1/4 create
*A:R5>config>service>ies>if>sap$ exit
*A:R5>config>service>ies>if$ exit
*A:R5>config>service>ies$ no shutdown
*A:R5>config>service>ies$ /configure router pim interface "OST-e1"
*A:R5>config>service>ies$ /configure router ospf area 0 interface "OST-e1" passive
*A:R5>config>service>ies$ exit all
*A:R5# show router pim interface

===============================================================================
PIM Interfaces ipv4
===============================================================================
Interface                   Adm  Opr  DR Prty         Hello Intvl  Mcast Send
   DR
-------------------------------------------------------------------------------
R1                          Up   Up   1               30           auto
   10.1.5.5
R2                          Up   Up   1               30           auto
   10.2.5.5
OST-e1                      Up   Up   1               30           auto
   10.0.5.5
-------------------------------------------------------------------------------
Interfaces : 3 Tunnel-Interfaces : 0
===============================================================================

Firing up the Ostinato GUI

When the Ostinato GUI is first started, it assumes that the locally attached interfaces on the GUI machine is the portgroup we intend to work with.

Initial startup assumes the portgroup is on the local system
Initial startup assumes the portgroup is on the local system

Clicking on a portgroup and using the File menu (or right click context) will allow you to disconnect or delete the port group. For this example we will just delete the existing port group and then create a new portgroup where we specific the IP or hostname of the ostinato drone.

Port Group on a remote machine in this case box.home.local
Port Group on a remote machine in this case box.home.local

Now that we can see the list of interfaces, we can get ready to create a device – in this case a device doesn’t actually send traffic in of itself, however it is configured to simulate a layer 2 or layer 3 device connected to the network or device under test. We shall start with Port0 (e1) on the Drone which is connected to R5. We need to select the port, then the devices tab. Clicking in the window we can then right click and create a new device group.

Create a device on port0 (eth1)
Create a device on port0 (eth1)

We will select the IPv4 stack for the device, go with the default (VLAN tag 0, 1 device) and populate the IP address information for the Drone (10.0.5.1/27) with the Gateway being the IP of the adjacent Router (R5 10.0.5.5) Once configured, this must be applied (clicking the button in the upper right corner) which then pushes the configuration from the GUI to the drone.

Populating IPv4 information for ToR5-OST-e1
Populating IPv4 information for ToR5-OST-e1

Once a device has been populated, Ostination can generate and respond to IPv4 ARP and IPv6 ND. We need to select the Column of the port of interest (Port 2-0) in the Statistics window pane(from the ports and streams box) and click on the button second from the right (Resolve Neighbors) – ARP traffic should be generated.

Generate ARP Ostinato device (ToR5-OST-e1)

To verify if this was successful, In the Ports and Streams window pane, go to the devices tab and click on the information radio button. If you then click on refresh, you should see ARP and a number of send/received ARP messages – clicking on that should give you the neighbor resolution status.

ARP Status

We can confirm this is working from the router side as well:

A:R5# show router arp dynamic

===============================================================================
ARP Table (Router: Base)
===============================================================================
IP Address      MAC Address       Expiry    Type   Interface
-------------------------------------------------------------------------------
10.1.5.1        00:45:d3:03:b4:04 03h59m08s Dyn[I] R1
10.2.5.2        00:45:d3:58:a9:02 03h59m45s Dyn[I] R2
10.0.5.1        48:00:01:2e:10:83 03h55m03s Dyn[I] OST-e1
-------------------------------------------------------------------------------
No. of ARP Entries: 3
===============================================================================
A:R5# ping 10.0.5.1 count 3
PING 10.0.5.1 56 data bytes
64 bytes from 10.0.5.1: icmp_seq=1 ttl=64 time=1.71ms.
64 bytes from 10.0.5.1: icmp_seq=2 ttl=64 time=2.60ms.
64 bytes from 10.0.5.1: icmp_seq=3 ttl=64 time=1.32ms.

---- 10.0.5.1 PING Statistics ----
3 packets transmitted, 3 packets received, 0.00% packet loss
round-trip min = 1.32ms, avg = 1.88ms, max = 2.60ms, stddev = 0.538ms

We’ll follow the same concept for Port2 (connecting to R4)

Populating IPv4 information for ToR4-OST-e2
Populating IPv4 information for ToR4-OST-e2
A:R4# show router arp dynamic

===============================================================================
ARP Table (Router: Base)
===============================================================================
IP Address      MAC Address       Expiry    Type   Interface
-------------------------------------------------------------------------------
10.2.4.2        00:45:d3:58:a9:03 03h47m55s Dyn[I] R2
10.3.4.3        00:45:d3:1c:b6:01 03h47m54s Dyn[I] R3
10.0.4.1        34:00:02:bf:69:5b 03h59m57s Dyn[I] OST-e2
-------------------------------------------------------------------------------
No. of ARP Entries: 3
===============================================================================
A:R4# ping 10.0.4.1 count 3
PING 10.0.4.1 56 data bytes
64 bytes from 10.0.4.1: icmp_seq=1 ttl=64 time=2.17ms.
64 bytes from 10.0.4.1: icmp_seq=2 ttl=64 time=0.995ms.
64 bytes from 10.0.4.1: icmp_seq=3 ttl=64 time=3.65ms.

---- 10.0.4.1 PING Statistics ----
3 packets transmitted, 3 packets received, 0.00% packet loss
round-trip min = 0.995ms, avg = 2.27ms, max = 3.65ms, stddev = 1.09ms

And for Port3 (connecting to R3)

Populating IPv4 information for ToR3-OST-e3
Populating IPv4 information for ToR3-OST-e3
A:R3# show router arp dynamic

===============================================================================
ARP Table (Router: Base)
===============================================================================
IP Address      MAC Address       Expiry    Type   Interface
-------------------------------------------------------------------------------
10.1.3.1        00:45:d3:03:b4:03 03h44m53s Dyn[I] R1
10.3.4.4        00:45:d3:01:30:01 03h47m07s Dyn[I] R4
10.0.3.1        10:00:03:29:03:98 03h53m53s Dyn[I] OST-e3
-------------------------------------------------------------------------------
No. of ARP Entries: 3
===============================================================================
A:R3# ping 10.0.3.1 count 3
PING 10.0.3.1 56 data bytes
64 bytes from 10.0.3.1: icmp_seq=1 ttl=64 time=1.11ms.
64 bytes from 10.0.3.1: icmp_seq=2 ttl=64 time=1.22ms.
64 bytes from 10.0.3.1: icmp_seq=3 ttl=64 time=0.932ms.

---- 10.0.3.1 PING Statistics ----
3 packets transmitted, 3 packets received, 0.00% packet loss
round-trip min = 0.932ms, avg = 1.09ms, max = 1.22ms, stddev = 0.117ms

Now that the network is multicast enabled and we have basic IP device connectivity from Ostinato to the network we are ready to generate test streams and do something.

The next post (and final of the current Ostinato series) is actually configuring Multicast Streams and generate IGMP reports