Re: [Casm] I-D Action: draft-li-casm-address-pool-management-architecture-00.txt

Brian E Carpenter <> Sun, 25 June 2017 04:57 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 42D4112941D for <>; Sat, 24 Jun 2017 21:57:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Ty1WRqTLqOjv for <>; Sat, 24 Jun 2017 21:57:52 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:400e:c05::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 0B95A129401 for <>; Sat, 24 Jun 2017 21:57:52 -0700 (PDT)
Received: by with SMTP id u62so35713357pgb.3 for <>; Sat, 24 Jun 2017 21:57:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=subject:to:references:from:organization:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=HE8jBfAxa59S3gygAboMHHejTNDxwctcH0/MoKhJISY=; b=gk/DiZ6M6pCI2LUvzCS4IcEVh05dTQ5Kz05LjJ0igo5N2v37rQ6VNYp5Nb7hYkaeSr 1DS1l81qAuxaSElLrvt3TjYzDwfS+0vXx9TwuGXWr8+90uw6wc6Nct6M23wUEhs1FRal 5Nkf9ZQ3PzFD5UZ8YdWCQIf+x1ePsK1kk9efUVlJOunuQDAcZ9aL/CoWw7y/5U0+6Vf+ Ump3x8+gtP9IeQjF7hdvXxTlOAXMNU70s3XkM99taHh9pcqU+2cjyPCcM5rywR8CytNX dDWvZeQI+TjLp6/JgWLwmvGVKruknW+D0/B+JOpomVXDwAYMZHMacC9xrElOYm/4o0tR 4j+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:subject:to:references:from:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=HE8jBfAxa59S3gygAboMHHejTNDxwctcH0/MoKhJISY=; b=Jlby/KUmnzbrDrN15G6/4R25LwQ7qB2+WX6eoHYGte8Z2xQxUZLLrpkB9vjjNGkeL6 6HEIIxVTTKKjqNOglpZmfgDnsbR4rLUZPuVBjcC1m4mxY8UO1rqApqBeIusHlF1K2hCW tsgGCzc1+3zrkokfxkto1eLm8TPyPMLLaXz2sKEaYZWstB6P5KXw0ov+XjFcAHb0J0Yv +SUAvmwPGAQiHdCTe3enCPdwsA4LHe8M8fi+oXVdowE8OrpYwuv+sIBOoRIRbjR4Afqw S0XODVwr03S7yHbVjV5OmXVoMV50nya1xkOXLApZNMf+LnC9WjcvXwh3GqfN8FNP4IXs Vsmw==
X-Gm-Message-State: AKS2vOynI50AoRkoeNLBGOg14Ta6vtqsIQLvvfG5Y6cae5jHyTOQJamv uF7yDTagxKeurZ4u
X-Received: by with SMTP id 3mr17657820plp.24.1498366671319; Sat, 24 Jun 2017 21:57:51 -0700 (PDT)
Received: from [] ( []) by with ESMTPSA id s15sm16651653pgo.48.2017. (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 24 Jun 2017 21:57:50 -0700 (PDT)
To: "" <>, casm <>
References: <>
From: Brian E Carpenter <>
Organization: University of Auckland
Message-ID: <>
Date: Sun, 25 Jun 2017 16:57:47 +1200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
Archived-At: <>
Subject: Re: [Casm] I-D Action: draft-li-casm-address-pool-management-architecture-00.txt
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Coordinated Address Space Management <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sun, 25 Jun 2017 04:57:57 -0000

Sorry, I have been rather busy so did not reply promptly.
See comments in line:

On 17/05/2017 21:30, wrote:
> Hi,Brian, 
>        Thank you for your comments, pls see inline for more comments.
> Chongfeng 
> Hi,
> Thanks for this interesting draft.
> First, here is one of the definitions:
>>       CASM Coordinator: A management system which has a centralized
>>       database manage the overall address pools and allocate address
>>       pools to the device in the devices.
> Ther is no need for this database to be centralized or for the allocation of address pools to be centralized. It can be done with a completely distributed system. (I agree that centralized logging might be needed.) In fact, sections 4.2 and 4.3 describe a centralized model for everything, not just for logging.
>  Chongfeng:  Centralized and distributed is a different way of implementation, in the traditional network, usually using a distributed approach, the distributed approach is not excluded, and CASM focus on centralized solutions. In the centralized address resource management architecture, the allocation of address blocks is determined by the CASM Coordinator, which requires the maintenance of allocated, unallocated address block, and therefore requires a database to hold such information. And also, it maintains log information.

> Could we perhaps agree that this is only one possible architecture?
> If so, we would also need a second draft describing a distributed architecture. It's quite hard to cover both designs in one document.
>  Chongfeng:  Yes, as mentioned earlier, centralized is a possible architecture. A typical distributed example is BNG, which assigns addresses to end users. It is a way that has existed for a long time, should not need the standard, right?

That seems to be an area full proprietary solutions, as far as I can see. 
The idea of a standardized practice is to allow multivendor solutions.
As far as I know, this isn't described in any IETF documents. Maybe you
have a reference? Whether the carriers in general want that, I don't know.
But if they do want it, it would be a topic for the IETF, I think (in
liason with BBF).

My assumption is that current distributed BNG solutions depend on a
systematic algorithm for assigning prefix pools to BNGs, from a central
pool. With autonomic solutions, we are aiming at complete demand-driven
flexibility in assigning prefixes to edge routers. That process could be
the same for BNGs as for the devices in a Radio Access Network.
>>    The overall procedure is as follows:
>>    o  Operators will configure remaining address pools centrally in the
>>       Address Pool Management System (APMS).  There are multiple address
>>       pools which can be configured centrally.  The APMS server will
>>       then divide the address pools into addressing unit (AU) which will
>>       be allocated to the agent in devices by default.
> Certainly the NOC will configure initial address pools into a master agent.
> But from that moment, a distributed process can take over in which pools
> (prefixes) will allocated to distributed agents on demand, with no need for default allocations.
> Chongfeng:  In the initial state, CASM Coordinator assign address pools to the Agent in the device. Then, In the process of running, if the Agent's address pool resources have been used up, the Agent need to apply more address blocks; In addition, when the address pool usage is too low, the Agent can release a part of the address blocks to CASM Coordinator.

Yes. That is exactly what will happen in an autonomic solution, except
that all assigments will be drive by demand, with no central action
except to define the initial central pool.

>>    o  If the lifetime of the address pool is going to expire, the DA
>>       should issue an AddressPoolRenew request to extend the
>>       lifetime,including the IPv4, IPv6, Ports, etc.
> A couple of questions on this.:
> 1. Why is the lifetime useful? Firstly, once an address has been allocated to an end-user, it must be left there as long as necessary; you can't recover an address while it is in active use. That will block the address pool that contains it indefinitely, so what is the value of the lifetime? Secondly, if there is no lifetime, the agent can release the address pool on demand if it is not in use. Again, there is no value in the lifetime that I can see.
> Chongfeng:  For DHCP Server service, lifetime is an important parameter, it need specify Lifetime, for the DHCP server to assign addresses to the end user, control the available time, in addition, when the end user abnormal off-line, DHCP Server need to recycle the address by Lifetime expiration. 

Yes, I understand that is necessary at the local level, but why is
it necessary to consider it as a parameter of an address pool
in the data model? It seems like a parameter of the individual
DHCP server, not a parameter of the address itself.

> 2. Is it really useful to include the notion of ports in an address pool? In the case of IPv6 it is definitely useless. In the case of
> IPv4 with A+P (port-based address sharing, RFC6346), surely you never want to share a single address across different agents? That would lead to complex and fragile CASM operations at rather high frequency.
> RFC6346 defines how A+P gateways may talk to each other (horizontally, not north-south) to share an address using A+P. You seem to be duplicating that function. Also, RFC7768 seems to assume that port sharing occurs entirely within a single CGN. So it seems to me that it's wrong to include port ranges in the CASM model.
> (Note: I have no problem with 'port-range' being defined in the CASM YANG model; that seems necessary for completeness. My problem is with using it in network-wide resource management, which doesn't seem reasonable.)
> Chongfeng: As we know, the range of ports is 1 to 65535, but during NAT use, only a portion is available for use, such as 2048 to 65535. I agree with what you said "RFC7768 seems to assume that port compromised by within a single CGN", Here it used in north-south, and used to set the range of ports that NAT can use. Usually, IPv4 and port are used together. 

OK, but that is not very clear in the draft.


>>  Address pools
> ...
>>    o  IPv6 addresses
> I suggest dividing this into 'Globally routable' and 'ULA'
>>    o  MAC Addresses
> Can you explain this? Where do layer 2 addresses fit in?
> ...
>>   Multicast address pool:
> This topic needs more discussion.
> Regards
>    Brian
> _______________________________________________
> CASM mailing list
> _______________________________________________
> CASM mailing list