Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

close
keyboard_arrow_left
list Table of Contents
file_download PDF
keyboard_arrow_right

Configuring Topology Acquisition

date_range 02-Nov-23

Overview

After you have successfully established a connection between the NorthStar Controller and the network, you can configure topology acquisition using Border Gateway Protocol Link State (BGP-LS) or an IGP (OSPF or IS-IS). For BGP-LS topology acquisition, you must configure both the NorthStar Controller and the PCC routers.

We recommend that you use BGP-LS instead of IGP adjacency because:

  • The OSPF and IS-IS databases have lifetime timers. If the OSPF or IS-IS neighbor goes down, the corresponding database is not immediately removed, making it impossible for the NorthStar Controller to determine whether the topology is valid.

  • Using BGP-LS minimizes the risk of making the Junos VM a transit router between AS areas if the GRE metric is not properly configured.

  • Typically, the NorthStar Controller is located in a network operations center (NOC) data center, multihops away from the backbone and MPLS TE routers. This is easily accommodated by BGP-LS, but more difficult for IGP protocols because they would have to employ a tunneling mechanism such as GRE to establish adjacency.

Note:

If BGP-LS is used, the Junos VM is configured to automatically accept any I-BGP session. However, you must verify that the Junos VM is correctly configured and that it has IP reachability to the peering router.

Before You Begin

Before you begin, complete the following tasks:

  • Verify IP connectivity between a switch (or router) and the x86 appliance on which the NorthStar Controller software is installed.

  • Configure the Network Topology Acquisition Daemon (NTAD). The NTAD forwards topology information from the network to the NorthStar application, and it must be running on the Junos VM.

    Use the following command to enable the NTAD:

    content_copy zoom_out_map
    junosVM# set protocols topology-export

    Use the following command to verify that the NTAD is running; if the topology-export statement is missing, the match produces no results:

    content_copy zoom_out_map
    junosVM> show system processes extensive | match ntad 
     2462 root         1  96    0  6368K  1176K select   1:41  0.00% ntad
    
    
  • Configure BGP Monitoring Protocol (BMP) if you have decided to use BMP as an alternative to NTAD. BMP must be enabled on both the NorthStar and Junos VM sides.

    1. Use a text editing tool such as vi to modify the /opt/northstar/data/northstar.cfg file, changing topology_src_protocol from 1 (which is NTAD) to 2 (which is BMP):

      content_copy zoom_out_map
      vi /opt/northstar/data/northstar.cfg
      .
      .
      .
      topology_src_protocol=2
    2. Restart toposerver so the change takes effect:

      content_copy zoom_out_map
      supervisorctl restart northstar:toposerver
    3. On the Junos VM, disable NTAD by deleting the protocols topology-export statement.

    4. On the Junos VM, under “firewall”, configure the firewall filter to permit BMP TCP segments from NorthStar toward the Junos VM.

      Note:

      Be sure to insert “term bmp” before “term default-discard”.

      content_copy zoom_out_map
        filter protect-re {
          term mgmt-intf {
              from {
                  interface-set mgmt-intf;
              }
              then accept;
          }
         .
         .
         .
          term bmp {
              from {
                 protocol tcp;
                 port 10001;
              }
              then accept;
          }
          term default-discard {
              then {
                  syslog;
                  discard;
              }
          }
        }
    5. On the Junos VM, under “routing options”, enable BMP:

      content_copy zoom_out_map
          bmp {
              connection-mode active;
              monitor enable;
              station northstar {
                  station-address station-address;
                  station-port 10001;
              }
          }
      }
      
      Where, station address is any IP address of the controller that can be accessed externally. If the JunosVM and the controller are present on the same network segment, the station address must be in the shared network segment.  

Configuring Topology Acquisition Using BGP-LS

Configure BGP-LS Topology Acquisition on the NorthStar Controller

To configure BGP-LS topology acquisition on the NorthStar Controller, perform the following configuration steps from the NorthStar Junos VM:

  1. Initiate an SSH or a telnet session to the Junos VM external IP or management IP address.
  2. Specify the autonomous system (AS) number for the node (BGP peer).
    content_copy zoom_out_map
    [edit routing-options]
    user@northstar_junosvm# set autonomous-system AS_number
    
  3. Specify the BGP group name and type for the node.
    content_copy zoom_out_map
    [edit protocols bgp]
    user@northstar_junosvm# set group group_1 type internal
    
  4. Specify a description for the BGP group for the node.
    content_copy zoom_out_map
    [edit protocols bgp group group_1]
    user@northstar_junosvm# set description “NorthStar BGP-TE Peering”
    
  5. Specify the address of the local end of a BGP session.

    This is the IP address for the Junos VM external IP address that is used to accept incoming connections to the Junos VM peer and to establish connections to the remote peer.

    content_copy zoom_out_map
    [edit protocols bgp group group_1]
    user@northstar_junosvm# set local-address <junosVM IP address>
    
  6. Enable the traffic engineering features for the BGP routing protocol.
    content_copy zoom_out_map
    [edit protocols bgp group group_1]
    user@northstar_junosvm# set family traffic-engineering unicast
    
  7. Specify the IP address for the neighbor router that connects with the NorthStar Controller.
    content_copy zoom_out_map
    [edit protocols bgp group group_1]
    user@northstar_junosvm# set neighbor <router loopback IP address>
    
    Note:

    You can specify the router loopback address if it is reachable by the BGP peer on the other end. But for loopback to be reachable, usually some IGP has to be enabled between the NorthStar Junos VM and the peer on the other end.

Configure the Peering Router to Support Topology Acquisition

To enable the NorthStar Controller to discover the network, you must add the following configuration on each router that peers with the NorthStar Controller. The NorthStar Junos VM must peer with at least one router from each area (autonomous system).

To enable topology acquisition, initiate a telnet session to each PCC router and add the following configuration:

  1. Configure a policy.
    content_copy zoom_out_map
    [edit policy-options]
    user@PE1# set policy-statement TE term 1 from family traffic-engineering 
    user@PE1# set policy-statement TE term 1 then accept 
    
    Note:

    This configuration is appropriate for both OSPF and IS-IS.

  2. Import the routes into the traffic-engineering database.
    content_copy zoom_out_map
    [edit protocols mpls traffic-engineering database]
    user@PE1# set import policy TE 
    
  3. Configure a BGP group by specifying the IP address of the router that peers with the NorthStar Controller as the local address (typically the loopback address) and the Junos VM external IP address as the neighbor.
    content_copy zoom_out_map
    [edit routing-options]
    user@PE1# set autonomous-system AS Number 
    [edit protocols bgp group northstar]
    user@PE1# set type internal 
    user@PE1# set description “NorthStar BGP-TE Peering” 
    user@PE1# set local-address <router-IP-address> 
    user@PE1# set family traffic-engineering unicast 
    user@PE1# set export TE 
    user@PE1# set neighbor <JunosVM IP-address> 
    

Configuring Topology Acquisition Using OSPF

Configure OSPF on the NorthStar Controller

To configure OSPF on the NorthStar Controller:

  1. Configure the policy.
    content_copy zoom_out_map
    [edit policy-options]
    user@northstar_junosvm# set policy-statement TE term 1 from family traffic-engineering 
    user@northstar_junosvm# set policy-statement TE term 1 then accept 
    
  2. Populate the traffic engineering database.
    content_copy zoom_out_map
    [edit]
    user@northstar_junosvm# set protocols mpls traffic-engineering database import policy TE 
    
  3. Configure OSPF.
    content_copy zoom_out_map
    [edit]
    user@northstar_junosvm# set protocols ospf area area interface interface interface-type p2p 
    

Configure OSPF over GRE on the NorthStar Controller

Once you have configured OSPF on the NorthStar Controller, you can take the following additional steps to configure OSPF over GRE:

  1. Initiate an SSH or telnet session using the NorthStar Junos VM external IP address.
  2. Configure the tunnel.
    content_copy zoom_out_map
    [edit interfaces]
    user@northstar_junosvm# set gre unit 0 tunnel source local-physical-ip 
    user@northstar_junosvm# set gre unit 0  tunnel destination destination-ip 
    user@northstar_junosvm# set gre unit 0  family inet address tunnel-ip-addr 
    user@northstar_junosvm# set gre unit 0  family iso 
    user@northstar_junosvm# set gre unit 0  family mpls 
    
  3. Enable OSPF traffic engineering on the Junos VM and add the GRE interface to the OSPF configuration.
    content_copy zoom_out_map
    [edit protocols ospf]
    user@northstar_junosvm# set traffic-engineering 
    user@northstar_junosvm# set area area interface gre.0 interface-type p2p 
    user@northstar_junosvm# set area area interface gre.0 metric 65530 
    

Configuring Topology Acquisition Using IS-IS

Configure IS-IS on the NorthStar Controller

To configure IS-IS topology acquisition and enable IS-IS routing, perform the following steps on the NorthStar Junos VM:

  1. Configure interfaces for IS-IS routing. For example:
    content_copy zoom_out_map
    [edit]
    user@northstar_junosvm# set interfaces em0 unit 0 family inet address 172.16.16.2/24
    user@northstar_junosvm# set interfaces em1 unit 0 family inet address 192.168.179.117/25
    user@northstar_junosvm# set interfaces em0 unit 0 family inet address 172.16.16.2/24
    user@northstar_junosvm# set interfaces em2 unit 0 family mpls
    user@northstar_junosvm# set interfaces lo0 unit 0 family inet address 88.88.88.88/32 primary
    user@northstar_junosvm# set routing-options static route 0.0.0.0/0 next-hop 192.168.179.126
    user@northstar_junosvm# set routing-options autonomous-system 1001
    
  2. Configure the policy.
    content_copy zoom_out_map
    [edit policy-options]
    user@northstar_junosvm# set policy-statement TE term 1 from family traffic-engineering 
    user@northstar_junosvm# set policy-statement TE term 1 then accept 
    
  3. Populate the traffic engineering database.
    content_copy zoom_out_map
    [edit protocols]
    user@northstar_junosvm# set mpls traffic-engineering database import policy TE 
    
  4. Configure IS-IS.
    content_copy zoom_out_map
    [edit protocols]
    user@northstar_junosvm# set isis interface interface level level metric metric 
    user@northstar_junosvm# set isis interface interface point-to-point 
    

Configure IS-IS over GRE on the NorthStar Controller

Once you have configured IS-IS on the NorthStar Controller, you can take the following additional steps to configure IS-IS over GRE:

  1. Initiate an SSH or telnet session using the IP address for the NorthStar Junos VM external IP address.
  2. Configure the tunnel.
    content_copy zoom_out_map
    [edit interfaces]
    user@northstar_junosvm# set gre unit 0 tunnel source local-physical-ip 
    user@northstar_junosvm# set gre unit 0  tunnel destination destination 
    user@northstar_junosvm# set gre unit 0  family inet addresstunnel-ip-addr 
    user@northstar_junosvm# set gre unit 0  family iso 
    user@northstar_junosvm# set gre unit 0  family mpls 
    
  3. Add the GRE interface to the IS-IS configuration.
    content_copy zoom_out_map
    [edit protocols isis]
    user@northstar_junosvm# set interface gre.0 level level metric 65530 
    user@northstar_junosvm# set interface gre.0 point-to-point 
    
external-footer-nav