Get Started

This chapter focuses on basic concepts and high-level workflows to help you get started with using Cisco Crosswork Optimization Engine.

Before You Begin

Before you begin using Cisco Crosswork Optimization Engine, Cisco recommends that you complete the following planning and information-gathering steps:

  • User Accounts : Cisco recommends as a best practice that you create separate accounts for all of your users, so that there is an audit record of user activity on the system. Prepare a list of the people who will use Cisco Crosswork Optimization Engine. Decide on their user names and preliminary passwords, and create user profiles for them (see Manage Users).

  • User Roles: Cisco recommends that you use role-based access control to confine users to just the software functions needed to perform their job duties. By default, every new user you create has full administrative privileges. Unless you want to extend the same privileges to every user, you will need to plan a system of user roles, create them, and assign them to the user profiles you create (see Create User Roles).

  • Credentials: Gather access credentials and supported protocols that you will use to monitor and manage your devices. For providers, this always includes user IDs, passwords, and connection protocols. For devices, it includes user IDs, passwords, and additional data such as the SNMP v2 read and write community strings, and SNMPv3 auth and privilege types. You will use these to create credential profiles.

    Credential profiles must be present in order for Cisco Crosswork Optimization Engineto access a device or to interact with a provider. Rather than entering credentials each time they are needed, you instead create credential profiles to securely store this information. The platform supports unique credentials for each type of access protocol, and allows you to bundle multiple protocols and their corresponding credentials in a single profile. Devices that use the same credentials can share a credential profile. For example, if all of your routers in a particular building share a single SSH user ID and password, you can create a single credential profile to allow Cisco Crosswork Optimization Engine to access and manage them

  • Tags: Tags are simple text strings you can attach to objects to help group them. Cisco Crosswork Optimization Engine comes with a short list of ready-made tags used to group network devices. You can create your own tags and use them to identify, find, and group devices for a variety of purposes. Plan a preliminary list of custom tags to create when setting up the system, so that you can use them to group your devices when you first onboard them. For example, in addition to type and geolocation, you may want to identify and group them by their location in your network topology (Spine vs. Leaf), or the function they serve on your network (Provider vs. ProviderEdge). You need not have a complete list of tags at first, as you can always add more later, but please note that all the tags you do plan to use must be in place before you need them; you cannot create them "on the fly" (see Manage Tags).

  • Providers: Cisco Crosswork Optimization Engine does not perform route segmentation or configuration changes directly. Instead, it relies on providers, such as SR-PCE and Cisco Crosswork Optimization Engine, to do the basic work of direct interaction with network devices. The provider family determines the type of service that provider supplies to Cisco Crosswork Optimization Engine, and the parameters unique to that service, which must be configured.

    Cisco Crosswork Optimization Engine requires you to have at least one SR-PCE configured as a provider to discover devices and to distribute policy configuration to devices. You can choose to have a backup SR-PCE for redundancy. Cisco recommends that you have an optional NSO server installed and configured as a provider in order to automate the configuration of devices to work with Cisco Crosswork Optimization Engine.

  • Devices: Decide how you are going to onboard your devices:

    • Manually, via the UI or importing a CSV file

    • Automatically (with some manual edits), where the SR-PCE discover the devices and onboards them

    For more information, see About Adding Devices. To see an overview of each onboarding process, see High-Level Workflows.

  • Data Destination(s): Decide which external data destination you are going to use and ensure it is set up to receive input from Cisco Crosswork Optimization Engine. By default, Cisco Crosswork Optimization Engineis configured as the data destination.

Note that you can capture the devices, credential profiles, tags, and providers lists in spreadsheet form, convert the spreadsheet to CSV format, and then upload them in bulk to Cisco Crosswork Optimization Engine. You do this using the Import feature.

You can access CSV templates for each of these lists by clicking the Import icon in the corresponding places in the user interface. Select the Download template link when prompted to choose an export destination path and file name.

High-Level Workflows

These workflows describe the steps to quickly get started with Cisco Crosswork Optimization Engine. The main difference between the two workflows are the steps on how devices are added (see About Adding Devices). You will find that the general order of steps can be done out of the documented order as long as you keep the following in mind:

  • An SR-PCE provider must be configured before devices are added.

  • In order for data collection to occur, devices must be attached to a Cisco Crosswork Data Gateway instance.

  • If you selected to use Cisco NSO for device management during Cisco Crosswork Optimization Engine installation, you must add NSO as a provider (see Cisco Crosswork Optimization Engine Installation Guide).

Workflow: Auto-Onboard Devices

The following workflow describes the main steps to get started with Cisco Crosswork Optimization Engine by configuring a Cisco SR-PCE provider to automatically onboard devices.

Table 1. Workflow: Automatic Onboarding of SR-PCE Devices
Step For more information, see...

1. Ensure that your devices are configured properly for communication and telemetry.

Refer to the guidelines and sample configurations in:

2. Create a device credential profile for accessing your SR-PCE and your devices (this can be the same profile).

Create Credential Profiles

3. Configure SR-PCE as a provider.

Note 
The auto-onboard provider property value must be set to managed or unmanaged to enable automatic onboarding of devices. For more information see About Adding Devices and Auto-Onboard Property Descriptions.

Add Cisco SR-PCE Providers

4. Validate communications with provider.

Get Provider Details

5. (Required if using NSO for device management) Configure NSO credential profile and provider.

6. (Optional) Create tags for use in grouping new devices.

Manage Tags

7. (Optional) To update device attributes (such as mapping a device to NSO, replacing the Loopback IP address with the management IP address, adding geographical coordinates, setting the Local Provider to your NSO server, and so on) export the CSV file, make and save modifications, and import it back to the device inventory.

8. Enroll the Cisco Crosswork Data Gateway and set its Administrative State to Up.

Manage Cisco Crosswork Data Gateway Instances

9. Confirm that the Cisco Crosswork Data Gateway reports an Operational State of Up.

Manage Cisco Crosswork Data Gateway Instances

10. Attach devices to Cisco Crosswork Data Gateway so that data can be collected.

Attach a Device to a Cisco Crosswork Data Gateway Instance

11. View device list (Device Management > Devices) to check that devices have been added properly.

If devices are unreachable, select and edit the device with connectivity details.

Manage Network Devices

Click Details icon to investigate any device whose Reachability State is marked as Unreachable icon (unreachable), Degraded icon (degraded), or Reachability Unknown icon (unknown).

12. Confirm visualization of IGP topology (logical view).

Network Topology Map

13. Visualize discovered SR policies and/or RSVP-TE tunnels.

Visualize SR Policies and RSVP-TE Tunnels

Workflow: Manually Import Devices

The following workflow describes the main steps to get started with Cisco Crosswork Optimization Engine by importing a CSV file to add devices.

Table 2. Workflow: Importing a CSV file to Onboard Devices
Step For more information, see...

1. Ensure that your devices are configured properly for communication and telemetry.

Refer to the guidelines and sample configurations in:

2. Create a device credential profile.

Create Credential Profiles

3. Configure the SR-PCE provider.

Note 
Set auto-onboard property value to off for manual device onboarding. For more information see Auto-Onboard Property Descriptions.

Add Cisco SR-PCE Providers

4. (Required if using NSO for device management) Configure NSO credential profile and provider.

5. (Optional) Create tags for use in grouping new devices.

Manage Tags

6. Create a CSV file and import devices.

Import Devices

7. (Optional) Modify device details.

Edit Devices

8. Enroll the Cisco Crosswork Data Gateway and set its Administrative State to Up.

See the Cisco Crosswork Optimization Engine Installation Guide.

9. Confirm that the Cisco Crosswork Data Gateway reports an Operational State of Up.

Manage Cisco Crosswork Data Gateway Instances

10. Attach devices to Cisco Crosswork Data Gateway so that data can be collected.

Attach a Device to a Cisco Crosswork Data Gateway Instance

11. View device list (Device Management > Devices) to check that devices have been added properly.

If devices are unreachable, select and edit the device with connectivity details.

Manage Network Devices

Click Details icon to investigate any device whose Reachability State is marked as Unreachable icon (unreachable), Degraded icon (degraded), or Reachability Unknown icon (unknown).

12. Confirm visualization of IGP topology (logical view).

Network Topology Map

13. Visualize discovered SR policies and/or RSVP-TE tunnels.

Visualize SR Policies and RSVP-TE Tunnels

Segment Routing Basics

Resource Reservation Protocol (RSVP) is a protocol that you are most likely familiar with. It is a signaling protocol that enables systems to request resource reservations from the network. RSVP processes protocol messages from other systems, processes resource requests from local clients, and generates protocol messages. As a result, resources are reserved for data flows on behalf of local and remote clients. RSVP creates, maintains, and deletes these resource reservations. This section focuses on a high-level overview of Segment Routing (SR) which is gaining popularity in the networking routing area.

Segment routing is a method of forwarding packets on the network based on the source routing paradigm. The source chooses a path and encodes it in the packet header as an ordered list of segments. Segments are an identifier for any type of instruction. For example, topology segments identify the next hop toward a destination. Each segment is identified by the segment ID (SID) consisting of a flat unsigned 32-bit integer.

Segments

Interior gateway protocol (IGP) distributes two types of segments: prefix segments and adjacency segments. Each router (node) and each link (adjacency) has an associated segment identifier (SID).

  • A prefix SID is associated with an IP prefix. The prefix SID is manually configured from the segment routing global block (SRGB) range of labels, and is distributed by IS-IS or OSPF. The prefix segment steers the traffic along the shortest path to its destination. A node SID is a special type of prefix SID that identifies a specific node. It is configured under the loopback interface with the loopback address of the node as the prefix.

    A prefix segment is a global segment, so a prefix SID is globally unique within the segment routing domain.

  • An adjacency segment is identified by a label called an adjacency SID, which represents a specific adjacency, such as egress interface, to a neighboring router. The adjacency SID is distributed by IS-IS or OSPF. The adjacency segment steers the traffic to a specific adjacency.

    An adjacency segment is a local segment, so the adjacency SID is locally unique relative to a specific router.

By combining prefix (node) and adjacency segment IDs in an ordered list, any path within a network can be constructed. At each hop, the top segment is used to identify the next hop. Segments are stacked in order at the top of the packet header. When the top segment contains the identity of another node, the receiving node uses equal cost multipaths (ECMP) to move the packet to the next hop. When the identity is that of the receiving node, the node pops the top segment and performs the task required by the next segment.

Segment Routing for Traffic Engineering

Segment routing for traffic engineering takes place through a tunnel between a source and destination pair. Segment routing for traffic engineering uses the concept of source routing, where the source calculates the path and encodes it in the packet header as a segment. Each segment is an end-to-end path from the source to the destination, and instructs the routers in the provider core network to follow the specified path instead of the shortest path calculated by the IGP. The destination is unaware of the presence of the tunnel.

Segment Routing Policies

Segment routing for traffic engineering uses a “policy” to steer traffic through the network. An SR policy path is expressed as a list of segments that specifies the path, called a segment ID (SID) list. Each segment is an end-to-end path from the source to the destination, and instructs the routers in the network to follow the specified path instead of the shortest path calculated by the IGP. If a packet is steered into an SR policy, the SID list is pushed on the packet by the head-end. The rest of the network executes the instructions embedded in the SID list.


Note

Cisco Crosswork Optimization Engine discovers existing SR policies when devices are imported, but cannot manage them. SR policies can be managed only if they were provisioned using Cisco Crosswork Optimization Engine (see Create and Manage SR Policies).


There are two types of SR policies: dynamic and explicit.

Dynamic SR Policy

A dynamic path is based on an optimization objective and a set of constraints. The head-end computes a solution, resulting in a SID list or a set of SID lists. When the topology changes, a new path is computed. If the head-end does not have enough information about the topology, the head-end might delegate the computation to a path computation engine (PCE).

Explicit SR Policy

When you configure an explicit policy, you specify an explicit path which consists of a list of prefix or adjacency SIDs, each representing a node or link along on the path.

Disjointness

Cisco Crosswork Optimization Engine uses the disjoint policy to compute two lists of segments that steer traffic from two source nodes to two destination nodes along disjoint paths. The disjoint paths can originate from the same head-end or different head-ends. Disjoint level refers to the type of resources that should not be shared by the two computed paths. The following disjoint path computations are supported:

  • Link – Specifies that links are not shared on the computed paths.

  • Node – Specifies that nodes are not shared on the computed paths.

  • SRLG – Specifies that links with the same Share Risk Link Group (SRLG) value are not shared on the computed paths.

  • SRLG-node – Specifies that SRLG and nodes are not shared on the computed paths.

When the first request is received with a given disjoint-group ID, a list of segments is computed, encoding the shortest path from the first source to the first destination. When the second request is received with the same disjoint-group ID, information received in both requests is used to compute two disjoint paths: one path from the first source to the first destination, and another path from the second source to the second destination. Both paths are computed at the same time. The shortest lists of segments is calculated to steer traffic on the computed paths.


Note

  • Disjointness is supported for two policies with the same disjoint ID.

  • Configuring affinity and disjointness at the same time is not supported.