Re: [dhcwg] Comments on draft-ietf-dhc-dhcpv6-load-balancing-00

Andre Kostur <akostur@incognito.com> Thu, 13 June 2013 18:36 UTC

Return-Path: <akostur@incognito.com>
X-Original-To: dhcwg@ietfa.amsl.com
Delivered-To: dhcwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B919C21F925A for <dhcwg@ietfa.amsl.com>; Thu, 13 Jun 2013 11:36:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.177
X-Spam-Level:
X-Spam-Status: No, score=-3.177 tagged_above=-999 required=5 tests=[AWL=-2.800, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, GB_SUMOF=5, HTML_MESSAGE=0.001, J_CHICKENPOX_28=0.6, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OBPM95R5786o for <dhcwg@ietfa.amsl.com>; Thu, 13 Jun 2013 11:36:36 -0700 (PDT)
Received: from na3sys010aog110.obsmtp.com (na3sys010aog110.obsmtp.com [74.125.245.88]) by ietfa.amsl.com (Postfix) with SMTP id 3577721F8C40 for <dhcwg@ietf.org>; Thu, 13 Jun 2013 11:36:35 -0700 (PDT)
Received: from mail-ve0-f170.google.com ([209.85.128.170]) (using TLSv1) by na3sys010aob110.postini.com ([74.125.244.12]) with SMTP ID DSNKUboRM0vFdQJaHIls82Tx7ERL2dmi2cdh@postini.com; Thu, 13 Jun 2013 11:36:36 PDT
Received: by mail-ve0-f170.google.com with SMTP id 14so8080739vea.1 for <dhcwg@ietf.org>; Thu, 13 Jun 2013 11:36:34 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:x-gm-message-state; bh=BguXh6miFut5PZZ0zmxvNzcwuP/gDYs2jZeFUXBQCR8=; b=TI4eFtXrInk0ixnKsZW+o6DqZ0j7J7Ha6TAEScRA1JbeKr8WwN/6Oz5QD74jGxL47v /NOtXKPT2tIXN/mHqFL2qltFZ/OjaEp4weM8AxUoAOvj6fJBk52qPOdDluu9Bi+p8rCQ NnRrj1LDZthWcyGSap98jaYBS9W0o7jYrMIGeaYwNMMMf3GpuWiV/F8FoLsQiKvv5B86 imNo0PCInAbQAy8J4B1t3R3mc5BskMPYiqKTEGRnEd3csVZSZ/2ZumvZdktK/GxvIM5S ZsIa3V4ii3uwKuq7ifad6VP633a8PnrQ53qFvFom0wpT+UtuodRI7IbG44vqbUc0YjIt ZCkw==
X-Received: by 10.220.170.72 with SMTP id c8mr926232vcz.14.1371148594569; Thu, 13 Jun 2013 11:36:34 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.220.170.72 with SMTP id c8mr926223vcz.14.1371148594378; Thu, 13 Jun 2013 11:36:34 -0700 (PDT)
Received: by 10.221.49.73 with HTTP; Thu, 13 Jun 2013 11:36:34 -0700 (PDT)
In-Reply-To: <51B77A69.7010602@gmail.com>
References: <51B77A69.7010602@gmail.com>
Date: Thu, 13 Jun 2013 11:36:34 -0700
Message-ID: <CAL10_Bq=JF-0YVc=waBp5w-hP8sDZ61snPVfVO3hUFRAMB7HjQ@mail.gmail.com>
From: Andre Kostur <akostur@incognito.com>
To: Tomek Mrugalski <tomasz.mrugalski@gmail.com>
Content-Type: multipart/alternative; boundary="001a11c2d024e7159a04df0d684b"
X-Gm-Message-State: ALoCoQkPOzHJyu5DDRj3jpS6s0tivm2suK9yVIZ8Xb78vEo2/JEv8LW3wPT9uS8cQWVEqQf294rJC5/CpA2Ia77JCpt7sHwcqZaZ3VP61X2GfX+xzalcqmUPkQ5Nj9WZJGnDez0Vl2MsyfyWHV6OhvlZwSuZ/NLrXA==
Cc: DHC WG <dhcwg@ietf.org>
Subject: Re: [dhcwg] Comments on draft-ietf-dhc-dhcpv6-load-balancing-00
X-BeenThere: dhcwg@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <dhcwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dhcwg>
List-Post: <mailto:dhcwg@ietf.org>
List-Help: <mailto:dhcwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Jun 2013 18:36:48 -0000

Some general clarification questions (inline):


On Tue, Jun 11, 2013 at 12:28 PM, Tomek Mrugalski <
tomasz.mrugalski@gmail.com> wrote:

Section 3.1.2: A question about "A DHCPv6 server receiving a REQUEST or
> RENEW with the server's Server ID specified MAY answer the request even
> if the request would normally be ignored by load balancing.". Does it
> mean that the opposite is true - server MAY chose to not answer if the
> load balancing says so, even when server-id matches? That's what rest of
> the first paragraph suggests. If that is what you meant, then I strongly
> oppose. Here's why:
>

I don't think it says that.  The servers are still doing the logic of "If
the client is supplying a server ID, and it's not me, don't process this
packet."  (Not including potential logic of discarding an advertised IA as
it has seen that a different DHCP server is being chosen, or other such
logic).  Also barring server policy causing it to ignore that packet for
other reasons.

The text mentions a case of 2 servers, with the first one going offline
> and the second server taking over all clients. The text says that once
> the first server recovers and the second server ignores RENEWs,
> eventually the first server will be able to respond clients that start
> REBINDing. This will cause the clients to constantly go through
> REQUEST->failed RENEW attempts->REBIND cycles, even when both servers
> are fine. Nothing really gained, but you just introduced REBINDs to
> perfectly healthy network (with the extra processing needed for REBINDs
> and possible warnings all around, as REBIND is usually a sign of troubles).
>

This shouldn't result in a constant cycle, only one cycle (where "primary
client" == a client which should be answered by the primary server in a
LB+Failover pair, and "secondary client" == a client which should be
answered by the secondary server in a LB+Failover pair):
1) All servers are healthy
2) Primary server fails
3) A set of clients come online.  (mix of primary and secondary clients).
 The Secondary clients are perfectly happy as the secondary server is still
online.  The primary clients get serviced by the secondary server as well,
as the secondary server knows that the primary is offline.
4) Primary server is restored
5) Secondary clients can Renew as the secondary server never went away
6) Primary clients Renewing against the secondary server get ignored
7) Primary clients transition to Rebind, where the primary server then
answers them.  The clients then remember that the primary server answered
and will do future Renews to the primary.

This is only one cycle of failed RENEW -> REBIND.

Security considerations section is nice, but not sufficient. You also
> mention that by misconfiguring HBA, administrators can fail to service
> certain group of users and finding a pattern in such a group would be
> difficult. As a practical aspect, debugging off-by-1 issues would be
> tricky e.g. first server handles 1-127 and the second handles 128-255
> (who is serving bucket 0?). Some warning about it - that the sum of all
> Hash Bucket Assignments of all servers must cover the whole range -
> would be useful.
>

Are these security considerations, or just potential configuration errors?


> Another concern that security considerations is missing is
> misconfiguration between relays and servers. If you do load balancing on
> relays, then you should not do another one on servers. And if you do,
> you just increase you chances to make configuration error, because load
> balancing configuration on relays must match load balancing
> configuration on servers. It would be good to have some trade-offs
> discussed for LB done on servers vs on relays.
>

Again, are these security considerations, or just potential configuration
errors?

-- 
 *Andre Kostur*
Distinguished Software Architect & Engineer
*P:* 604-678-2864
*E:* akostur@incognito.com
*Toll-Free:* 1-800-877-1856


*F:* 604-678-2864
*VoIP:* sip:864@sip.incognito.com

[image: Incognito Software Inc.] <http://www.incognito.com>

 <http://www.incognito.com/company/events>