Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

SDN-IP allows an SDN network to peer and exchange traffic with adjacent external network using the BGP routing protocol. 

Image Added

FIGURE 1 shows the various elements in the SDN-IP network model.

...

Each external BGP router peers with one or more internal BGP speakers. SDN-IP does not currently support multihop BGP for external peering sessions, so each peering sessions must take place in the same subnet. Different peering sessions can be in different subnets however. In order to peer with external routers, the SDN network needs an IP address for each peering session. The IP addresses on the SDN network side are assigned to the BGP speakers so they can peer. It is not required that each internal BGP speaker peer with each external router, because the BGP speakers can redistribute routes between themselves using iBGP. However, for fully redundant peering with external networks, an external peer should have peering sessions with multiple internal BGP speakers. This can be seen in the figure where BGP router Router 1 has a peering session to each internal BGP speaker.

Inside the network the BGP speakers peer with SDN-IP instances (running on ONOS) using iBGP. SDN-IP is a passive iBGP peer - it listens to BGP updates but never advertises updates of its own. iBGP peering sessions within the network can be set up in multiple ways. The easiest way is to have a full mesh of iBGP peering sessions between the BGP speakers and the SDN-IP instances. This can be seen with the red iBGP peering sessions in the figure. In this way, all BGP nodes within the network can learn all the routes. Note it is not necessary (or possible) to have iBGP sessions between two SDN-IP instances, because the SDN-IP instances never advertise routes of their own.

FIGURE 3 shows a variety of examples of different iBGP topologies.

Image Added

Router Abstraction

sdfdsfds

...

  • addresses.json is used to configure IP and MAC addresses.
  • sdnip.json is used to configure BGP peering sessions.

...

IP and MAC addresses

The addresses.json file is used to configure the addresses that ONOS uses to talk with the outside world. This configuration is mainly used for proxy ARP, so that the proxy ARP module knows how to respond to ARP requests coming from outside the network.

...

The first step is to get an ONOS system up and running, and you can read more about how to do this here <LINK>Installing and Running ONOS

Once ONOS is running, SDN-IP has a couple of additional dependencies that it relies on to ensure ARP requests are resolved properly. 

  • onos-app-config is used to read in the addresses.json configuration file
  • onos-app-proxyarp is the proxy ARP module that responds to ARP requests on behalf of hosts and external routers.

It's usually best to ensure these are loaded before starting SDN-IP, either by adding them to the ONOS_FEATURES, or by loading them manually:

...

Shows the routing table of SDN-IP. The routes shown here are the result of running the BGP decision process all received routes.

Troubleshooting

A full running SDN-IP system has a lot of pieces that need to be correct before anything will work. When setting up a system for the first time or when things go wrong, it's best to go step by step to check each piece is in place.