The resources that are managed by the Network Control API are as follows:
- Network Devices (switches)
- Network Links between the network switches or between a network switch and an endpoint
- Network Flows
The broadcast controller is responsible for uniquely identifying the endpoint connected to the network to authorize it. The objective of the endpoint authorization is that no endpoint is allowed to send or receive any packet and no packet moves on the network without authorization. The broadcast controller tells the network controller through the API, which endpoint is allowed to send and which endpoint is allowed to receive. It also registers the flow, the flow bandwidth and the DSCP-based QoS tag to be used with the flow. More details can be found in the following sections.
There can be multiple broadcast controllers managing a single network controller and likewise, there can be multiple network controllers managed by the same broadcast controller. In the case of multiple broadcast controllers managing a single network controller, this specification, only supports the basic model. This means that there is no separation between the broadcast controllers. In other words, if a broadcast controller A registers an endpoint SS, then a broadcast controller B can retrieve, modify and delete that endpoint SS.
Identifier Persistence & Generation
Persistent identity helps to ensure that users’ expectations meet with reality. For example, if a network device is switched off and back on, the user would expect it to return with the same configuration. This can only be managed if the identifiers used by the network controller and its clients remain the same.
UUIDs are used throughout the data model, and can be generated in a number of ways (including from hardware addresses) in order to achieve consistent behaviour (see RFC 4122).
ip_address parameters together may be used to generate a persistent, unique
id for an Endpoint.
Note that if there are multiple IP addresses associated with a single physical endpoint then it must be modelled as multiple virtual endpoints each with a unique IP address.
sender_endpoint_id parameters together may be used to generate a persistent, unique
id for a Network Flow.
chassis_id parameter may be used to generate a persistent, unique
id for a Network Device.
port_id of the
peers may be used to generate a persistent, unique
id for a Network Link.