Network Working Group | C. Li |
Internet-Draft | C. Xie |
Intended status: Informational | China Telecom |
Expires: November 5, 2017 | R. Kumar |
R. Lohiya | |
Juniper Networks | |
J. Bi | |
Tsinghua University | |
W. Xu | |
Huawei Technologies | |
May 4, 2017 |
Coordinated Address Space Management architecture
draft-li-casm-address-pool-management-architecture-00
This document describes an architecture for the IP address space management. It includes architectural concepts and components used in the CASM (Coordinated Address Space Management), with a focus on those interfaces to be standardized in the IETF.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 5, 2017.
Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
The address space management is an integral part of any network management solution. The network architectures are rapidly changing with the migration toward private and public clouds. At the same time, application architectures are also evolving with a shift toward micro-services and multi-tiered approach.
There is a pressing need to define a new address management system which can meet these diverse set of requirements. Such a system must be built with well-defined interfaces so users can easily migrate from one vendor to another without rewriting their network management systems.
This document defines a reference architecture that should become the basis to develop a new address management system. We are calling this new system as Centralized Address Space Management (CSAM) system.
A series of use cases are defined in "Use Case Draft". For example, Broadband Network Gateway (BNG), which manages a routable IP address on behalf of each subscriber, should be configured with the IP address pools allocated to subscribers. However, currently operators are facing with the address shortage problem, the remaining IPv4 address pools are usually quite scattered, no more than /24 per address pool in many cases. Therefore, it is complicated to manually configure the address pools on lots of Broadband Network Gateway (BNG) for operators. For large scale MAN, the number of BNGs can be up to over one hundred. Manual configuration on all the BNGs statically will not only greatly increase the workload, but also decrease the utilization efficiency of the address pools when the number of subscribers changes in the future.
Above is one example of use case, there are other devices which may need to configure address pools as well. In this document, we propose a mechanism to manage the address pools centrally. In this way, operators do not need to configure the address pools one by one manually and it also helps to use the address pools more efficiently.
The following terms are used in this document:
The figure below shows the reference model for CASM. This figure covers the various possible scenarios that can exist in a CASM system.
+-------------+ +-------------+ +-------------+ | CASM | | CASM | | CASM | |application 1| |application j| |application n| +------/------+ +------/------+ +------/------+ | | | | | | | | | | | | | | | +-------\---------------------\---------------------\-------+ | Coordinated Address Space Management System (CASM) | | Coordinator | | +-------------+ +-------------+ +-------------+ | | | Pool | | Address | | Address | | | | Management | | Management | | Database | | | +-------------+ +-------------+ +-------------+ | | | +---.-------------------------.--------------------------.--+ | | | | | | | | | | | | | | | +----------\--------+ +---------\---------+ +--------\----------+ | | | | | | | +-------------+ | | +-------------+ | | +-------------+ | | | Agent | | | | Agent | | | | Agent | | | +-------------+ | | +-------------+ | | +-------------+ | | | | | | | | +-------------+ | | +-------------+ | | +-------------+ | | | CASM | | | | CASM | | | | CASM | | | | Distributor | | | | Distributor | | | | Distributor | | | +-------------+ | | +-------------+ | | +-------------+ | | Device 1 | | Device 2 | | Device m | +-------------------+ +-------------------+ +-------------------+
Figure 1: CASM reference architecture
The overall procedure is as follows:
CASM Application is a functional entity which usually used to manage, operate, maintain the CASM Coordinator. For example, operator or external user can manage the address pool in CASM Coordinator, and access log, address allocation records, etc.
Coordinated Address Space Management System (CASM) Coordinator is a centralized address management coordinator for CASM application to maintain the overall address pools, addresses, address properties, etc.
It maintains an address database including the overall address pools (OAP) and the address pool status (APS). CASM Applications can maintain its remaining address pools in the OAP. They can also reserve some address pool for special-purpose usage. The address pools status is to reflect the current usage of the address pools for different devices. CASM Coordinator also has the interface to maintain the address pools to different devices dynamically.
A CASM Device is responsible for distribute or allocate address from local address pools received from CASM Coordinator.
Device agent (DA) is a component in a CASM device through which contact with CASM Coordinator. It initiates the address pools allocation requests, passes the address pools to local instances, report the status of local address pool usage and update the address pools requests, etc. for some devices, e.g. v6transition, VPN, etc., additional routing modules needs to update the routing table accordingly.
CASM Distributor is another component in a CASM device, DHCP Server is a typical distributor which can assign IP addresses to client computer, DHCP protocol is usually used for this assignment. The address assignment procedure between the CASM Distributor and computer is out of scope of this draft.
The device determines whether the usage status of the IP address pool in device is satisfies the condition. The address pool is a sharable resource, when the resource in device is insufficient or excessive, the device sends address pools request to the CASM Coordinator, and receives response with address pools allocated for this device from CASM COORDINATOR server. Then it can use this address pools for assignment. In addition, it reports usage status of local address pool and update the address pools requests, etc.
The typical CASM devices such as BNG, BRAS, CGN, DHCP Server, NAT, V6Transition, DNS Server, etc., are described in use cases of "draft-xie-ps-centralized-address-management-02" and "draft-kumar-casm-problem-and-use-cases-00".
The form of device is diverse, it can be physical or virtualized, and it can be a box integrated with control plane and user plane, or separated control plane remote from box and one or more devices share centralized control plane. In this device form, the control plane will manage multiple user plane devices. A number of devices that are subordinate to a control plane will jointly share the address pools to make the utilization more high.
The CASM should support following functionality for it to be adopted for wide variety of use cases.
A CASM system should allow ability to manage different kind of address pools. The following pools should be considered for implementation; this is not mandatory or exhaustive by any means but given here as most commonly used in networks. The CASM system should allow user-defined pools with any address objects.
Unicast address pool:
Multicast address pool:
There should be a rich set of functionality as defined in this section for operation of a given pool.
Address management:
General management:
The CASM architecture consists of three major distinct entities: CASM Application, CASM Coordinator and network device with a device Agent. In order to provide address space and pools resource that CASM Coordinator can centrally maintaining, there is an interface between CASM Applications and CASM Coordinator. The CASM Application can manage the address space and pool in the CASM Coordinator, and the get address allocation records, logs from CASM Coordinator.
There are three broad categories for CASM interface definition:
Pool management interface: Interface to external user or applications such as SDN controller to manage addresses
Log interface: Interface to access log and records such as DHCP, DNS, NAT Integration interface: Interface to address services such as DHCP, DNS, NAT
In order to build a complete address management system, it is important that CASM should be able to integrate with other address services. This will provide a complete solution to network operators without requiring any manual or proprietary workflows.
DHCP server:
DNS server:
The CASM architecture consists of three major distinct entities: CASM Application, CASM Coordinator and network device with a device Agent. In order to provide address pool manipulations between CASM Coordinator and device, the CASM architecture calls for well-defined protocols for interfacing between them. For example, legacy protocol such as radius to compatible with legacy network equipment. In modern network management system, device acts as NETCONF/RESTCONF server side. It sends address pool request to the CASM Coordinator which is protocol client, the centralized CASM Coordinator responses with allocated address pool, the device receives the response message and retrieve the allocated address pool information carried in the response message.
The overall address management procedure is as follows:
+--------------+ +-----------------+ | Device | | CASM | | Agent | | Coordinator | +------+-------+ +--------+--------+ | | +--------+-------+ | |1.DA start-up | | +---------+------+ | | 2.Address Pool Request | |------------------------------------------>| | | | +--------+-------+ | | 3. Check | | | address pool | | +--------+-------+ | 4.Address Pool Reply | |<------------------------------------------| | |
Figure 2: Initial Address Pool Configuration
Figure 2 The procedure is as follows:
+--------------+ +-----------------+ | Device | | CASM | | Agent | | Coordinator | +------+-------+ +--------+--------+ | | +--------+-------+ | |1.Monitor and | | |count the status| | +--------+-------+ | | 2.Address Pool Status Report | |--------------------------------------------->| | +--------+-------+ | | 3. Record | | | address pool | | +--------+-------+ | 4.Address Pool Report Confirm | |<---------------------------------------------| | | | |
Figure 3: Address Pool Status Report
Figure 3 Figure 3 illustrates the active address pool status report procedure:
When the status of CASM Coordinator is lost or the CASM Coordinator needs the status information of the DAs, the CASM Coordinator may actively query the TD for the status information, as shown in step 1 of Figure 4. The following steps 2,3,4,5 are the same as the Address Pool Status Report procedure.
+--------------+ +-----------------+ | Device | | CASM | | Agent | | Coordinator | +------+-------+ +--------+--------+ | | | | | 1.Address Pool Status Query | |<---------------------------------------------| | | +--------+-------+ | |2.Monitor and | | |count the status| | +--------+-------+ | | 3.Address Pool Status Report | |--------------------------------------------->| | +--------+-------+ | | 4. Record | | | address pool | | +--------+-------+ | 5.Address Pool Report Confirm | |<---------------------------------------------| | | | |
Figure 4: Address Pool Status Query
When the DA uses up the addresses allocated, it will renew the address pool request to the CASM Coordinator for an additional address pool. The procedure is the same as the initial address pool request.
+--------------+ +-----------------+ | Device | | CASM | | Agent | | Coordinator | +------+-------+ +--------+--------+ | | +--------+-------+ | |1.Address pools | | | not used for a| | | long time | | +--------+-------+ | | 2.Address Pool Release Request | |--------------------------------------------->| | +--------+-------+ | |3. Update | | | address pool | | | database | | +--------+-------+ | 4.Address Pool Release Notification | |<---------------------------------------------| +--------+-------+ | |5. Reduce | | | address pool | | +--------+-------+ | | 6.Address Pool Release Confirm | |--------------------------------------------->| | | | |
Figure 5: Address Pool Release
Figure 5 illustrates the address pool release procedure:
N/A.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[RFC6888] | Perreault, S., Yamagata, I., Miyakawa, S., Nakagawa, A. and H. Ashida, "Common Requirements for Carrier-Grade NATs (CGNs)", BCP 127, RFC 6888, DOI 10.17487/RFC6888, April 2013. |