Skip to content

Tutorial 9: DMM app discovery ARCFIRE 2018

Eduard Grasa edited this page Mar 13, 2018 · 36 revisions

Introduction

The goal of this tutorial is to demonstrate how RINA can carry out Distributed Mobility Management and application discovery over a variety of DIFs. Figure 1 shows a view of the physical systems involved in the experiment. Six Raspberry Pis will play the role of WiFi Access Routers (ARs) of the provider network. The ARs are divided into two groups of three, each one connected to an Edge Router (ER). Both ERs are connected to a Core Router (CR), which connects the service provider network to the Internet via two ISP routers. Each ISP router is directly connected to a Server. One ER is connected to a Data Centre (DC) gateway, which provides access to a small service-provider owner DC with four servers. All these systems (except for the Raspberry Pis) will be deployed as KVM/QEMU Virtual Machines (VMs). A couple of User Equipment (UE) hosts will access services deployed on servers reachable via the Internet and/or the service provider edge data-centre. All systems have RINA capabilities via the IRATI open source RINA implementation.

Tutorial 9 scenario: physical systems

Layer diagrams are shown in the Figure below. The upper part of the Figure shows the layers (DIFs) involved in the case when the UE accesses an application via the Internet DIF. The Mobile Network DIF (in blue) features distributed mobility management, allowing the UE to move through the access network without impacting service continuity, while still providing shortest path routing.

Tutorial 9 scenario: physical systems

When the application requests a flow to a service, the RINA system will locate that service (through which DIF is it available), make the UE join the appropriate DIF and allocate the flow to the destination application. If the service is available locally at the service provider DC, RINA will also locate the service and in this case make the UE join an Enterprise VPN DIF (which involves authentication and access control), and finally allocate the flow to the application hosted at the DC.

1. Configuration of the Raspberry Pis

Each Raspberry Pi acts as a WiFi Access Point, connected to and Edge Router. It has two shim DIFs: one for the WiFi interface and another one that runs over a VLAN to connect to the AP to the "mobile network core". The first step to get RINA up and running on the Raspberry Pi is to install IRATI as explained in IRATI Raspbian installation. The rest of this section assumes IRATI has been installed within the /usr/local/irati/ folder.

1.1 Raspberry Pi 1 (AP1)

Copy the following IRATI configuration files to the /usr/local/irati/etc folder:

Now, assuming the pi user exists on the Raspberry Pi, copy the following files to the /home/pi folder:

Edit /etc/rc.local and add a call to the IRATI init script at the end of the file (so that IRATI will be initialized at boot time).

/home/pi/init-rina.sh

Edit the /etc/default/hostapd file and point it to the /home/pi/hostapd.conf config file (edit the DAEMON_CONF variable):

DAEMON_CONF="/home/pi/hostapd.conf"

If you reboot the Raspberry Pi it should create the VLANs, configure the WiFi interface in AP mode and startup IRATI.

1.2 Raspberry Pi 2 (AP2)

Copy the following IRATI configuration files to the /usr/local/irati/etc folder:

Now, assuming the pi user exists on the Raspberry Pi, copy the following files to the /home/pi folder:

Edit /etc/rc.local and add a call to the IRATI init script at the end of the file (so that IRATI will be initialized at boot time).

/home/pi/init-rina.sh

Edit the /etc/default/hostapd file and point it to the /home/pi/hostapd.conf config file (edit the DAEMON_CONF variable):

DAEMON_CONF="/home/pi/hostapd.conf"

If you reboot the Raspberry Pi it should create the VLANs, configure the WiFi interface in AP mode and startup IRATI.

1.3 Raspberry Pi 3 (AP3)

Copy the following IRATI configuration files to the /usr/local/irati/etc folder:

Now, assuming the pi user exists on the Raspberry Pi, copy the following files to the /home/pi folder:

Edit /etc/rc.local and add a call to the IRATI init script at the end of the file (so that IRATI will be initialized at boot time).

/home/pi/init-rina.sh

Edit the /etc/default/hostapd file and point it to the /home/pi/hostapd.conf config file (edit the DAEMON_CONF variable):

DAEMON_CONF="/home/pi/hostapd.conf"

If you reboot the Raspberry Pi it should create the VLANs, configure the WiFi interface in AP mode and startup IRATI.

1.4 Raspberry Pi 4 (AP4)

Copy the following IRATI configuration files to the /usr/local/irati/etc folder:

Now, assuming the pi user exists on the Raspberry Pi, copy the following files to the /home/pi folder:

Edit /etc/rc.local and add a call to the IRATI init script at the end of the file (so that IRATI will be initialized at boot time).

/home/pi/init-rina.sh

Edit the /etc/default/hostapd file and point it to the /home/pi/hostapd.conf config file (edit the DAEMON_CONF variable):

DAEMON_CONF="/home/pi/hostapd.conf"

If you reboot the Raspberry Pi it should create the VLANs, configure the WiFi interface in AP mode and startup IRATI.

1.5 Raspberry Pi 5 (AP5)

Copy the following IRATI configuration files to the /usr/local/irati/etc folder:

Now, assuming the pi user exists on the Raspberry Pi, copy the following files to the /home/pi folder:

Edit /etc/rc.local and add a call to the IRATI init script at the end of the file (so that IRATI will be initialized at boot time).

/home/pi/init-rina.sh

Edit the /etc/default/hostapd file and point it to the /home/pi/hostapd.conf config file (edit the DAEMON_CONF variable):

DAEMON_CONF="/home/pi/hostapd.conf"

If you reboot the Raspberry Pi it should create the VLANs, configure the WiFi interface in AP mode and startup IRATI.

1.6 Raspberry Pi 6 (AP6)

Copy the following IRATI configuration files to the /usr/local/irati/etc folder:

Now, assuming the pi user exists on the Raspberry Pi, copy the following files to the /home/pi folder:

Edit /etc/rc.local and add a call to the IRATI init script at the end of the file (so that IRATI will be initialized at boot time).

/home/pi/init-rina.sh

Edit the /etc/default/hostapd file and point it to the /home/pi/hostapd.conf config file (edit the DAEMON_CONF variable):

DAEMON_CONF="/home/pi/hostapd.conf"

If you reboot the Raspberry Pi it should create the VLANs, configure the WiFi interface in AP mode and startup IRATI.

2. Configuration of the VLAN-aware Ethernet Switch

Make sure you create the VLANs indicated in Figure 1, and that you connect the Raspberry Pis and the Machine that will run the Demonstrator with IRATI VMs at the apropriate ports. For example, a possible configuration is:

  • AP1 is connected to Eth. switch port 1.
  • AP2 is connected to Eth. switch port 2.
  • AP3 is connected to Eth. switch port 3.
  • AP4 is connected to Eth. switch port 4.
  • AP5 is connected to Eth. switch port 5.
  • AP6 is connected to Eth. switch port 6.
  • Demonstrator machine is connected to Eth. switch port 8.

Then the following VLANs (which tag the traffic), have to be configured: VLAN 10 on port 1, VLAN 20 on port 2, VLAN 30 on port 3, VLAN 40 on port 4, VLAN 50 on port 5, VLAN 60 on port 6, VLANs 10, 20, 30, 40, 50, 60 on port 8.

3. Configuration of the machine that runs the Demonstrator

Before starting the demonstrator, make sure that:

  • You have connected the machine to the VLAN-aware Ethernet switch via the eth0 interface
  • You have connected all the Raspberry Pis to the VLAN Aware Ethernet switch and they are up and running
  • VLANs have been configured at the switch

The machine where the demonstrator needs to be installed must be a Linux machine and have the bridgeutils and qemu-kvm packages installed. Then copy the pre-configured demonstrator tar.gz file to any folder of your choice, and extract it.

Clone this wiki locally