Re: [babel] Congestion control [was: Open issues...]

Dave Taht <dave.taht@gmail.com> Fri, 26 July 2019 23:30 UTC

Return-Path: <dave.taht@gmail.com>
X-Original-To: babel@ietfa.amsl.com
Delivered-To: babel@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C4116120181 for <babel@ietfa.amsl.com>; Fri, 26 Jul 2019 16:30:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 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_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4Q3BKDV7iJHr for <babel@ietfa.amsl.com>; Fri, 26 Jul 2019 16:30:30 -0700 (PDT)
Received: from mail-io1-xd34.google.com (mail-io1-xd34.google.com [IPv6:2607:f8b0:4864:20::d34]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2AAC51201DB for <babel@ietf.org>; Fri, 26 Jul 2019 16:30:28 -0700 (PDT)
Received: by mail-io1-xd34.google.com with SMTP id h6so21589908iom.7 for <babel@ietf.org>; Fri, 26 Jul 2019 16:30:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=5IQ7BQlf4Xd66DZ6nGGiDERnY7A2+UtwRdxl0+w6Nhk=; b=mkUMM6+avkBu7Z0cOv/0mZc0ukh3ArXzRg6QdKrtSR3p5wHOLoKx4xR4KCmVWHmiKB 3RPTgzltCNyJjG97rXYT9lWPxcpdnpkt4jiheEpSNEDzs8lCG/MnaNBzqrNkOzJgdzSz AA56Jw3buh7Svtw4ewFlrfHh79aGqP+BOjti4gScpXtBTkz2bjThl4Rb5dQnKk2Ig3fK UzJ8C6jUDqSS/eWZvzUv0qYxaaxh25ghSyuDVk056OcXXpR+JzIgj/DB1nWcNcjGmMAa yfyJ8o8Bs9OnAmumY/mOHmpEA8YHMc2Aoq1GotImJo+Uyl8JruWz8LeFiqKDtU3DyH5I KSeA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=5IQ7BQlf4Xd66DZ6nGGiDERnY7A2+UtwRdxl0+w6Nhk=; b=nh4qQ/IUNKFipekXctRCQ9Ef6avxcVVOnfw+rQnzl0TRVwVoqUx9Gr0/AwkxwXfX+d F1YumiYvWRqEEOS08EJIMD0NulEU9WoBwM8NinAE2BGMpgbtBn346M+Q/rSN8znhYnSb oTvDIlB8GCTedbxOSxevbO208LerN6xHHPRVyBF5MqOQAG4nqZSMDOGkIIcAIb3HbRZv YLF+3obTprubUX1xreiQ5hEWPMXJcc7veLDuRdeS4DolgfvMEF8yNI1CqnjBgm3ZzdDm 4rPa+YzPvjnsv6Biy3SHZFFisWS4wRX6JIvTMryU8hLkxqcXzFcth7j9uIBQmkqU7fS5 if/Q==
X-Gm-Message-State: APjAAAU6DyCFwjqlysLVXrasAz+oFEHklU26cgMcB4hqBxg8wvcfxnP3 mCBQPN0lMX6DgZXmQ+qJL5TUAgpHdK5KwmKJvoU=
X-Google-Smtp-Source: APXvYqzgOKfx8qergQjUZQ27tKW4FbZdNyQsJTnzq9iwfv7labarZa1TkioAz/d7GOTCLddv29PrmBEP0Olvh5RBf74=
X-Received: by 2002:a02:b713:: with SMTP id g19mr99815391jam.77.1564183827385; Fri, 26 Jul 2019 16:30:27 -0700 (PDT)
MIME-Version: 1.0
References: <87k1c75cn5.wl-jch@irif.fr> <CAA93jw7YZp6nPgW_DccAkbaSG=MxeFymesKBMJnOwgk++COHTQ@mail.gmail.com> <87tvb8eanl.wl-jch@irif.fr>
In-Reply-To: <87tvb8eanl.wl-jch@irif.fr>
From: Dave Taht <dave.taht@gmail.com>
Date: Fri, 26 Jul 2019 16:30:19 -0700
Message-ID: <CAA93jw7NYz-nANLuERmQ=3kAvOArRHeBzDUwzxnC4QBZJ6_RbQ@mail.gmail.com>
To: Juliusz Chroboczek <jch@irif.fr>
Cc: Babel at IETF <babel@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/OiCMwwi8YlUykHQyQqbIusbn57I>
Subject: Re: [babel] Congestion control [was: Open issues...]
X-BeenThere: babel@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A list for discussion of the Babel Routing Protocol." <babel.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/babel>, <mailto:babel-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/babel/>
List-Post: <mailto:babel@ietf.org>
List-Help: <mailto:babel-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/babel>, <mailto:babel-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 26 Jul 2019 23:30:33 -0000

On Fri, Jul 26, 2019 at 2:41 PM Juliusz Chroboczek <jch@irif.fr> wrote:
>
> > B) As you have larger numbers of routes (1000s), congestion control
> > becomes a problem
>
> I'm pretty sure that packet pacing (spreading the announcements over the
> update interval rather then sending them all as a burst as we currently do)
> would solve your issues, Dave.

I think it would make a big difference yes. Ain't a lot of code,
either, and the upcoming
release of openwrt is mostly 4.14 based. I can go toss the patch together again.

> This won't happen for 1.9, which I'd like to release before the summer ends.

Would love to see that make this openwrt release.

>
> > My "solution" for some congestion control issues is to start dynamically
> > increasing the route announcement interval for stabler routes, while
> > still announcing the most important ones (like defaults) in the
> > hello. the protocol has an underused feature where we can announce a per
> > route interval larger than the default.
>
> Indeed.  This can be done in addition to packet pacing.

I think this is a good long term solution to larger numbers of routes
on stabler networks.

In either case the "fitting" algorithm for these two approaches either
separate or combined has to somehow stay below the allocated
bandwidth, and we need more experience with unicast and real networks
than we have as yet.

It's not enough though, to get to my (personal) goal of being able to
carry a full ipv6 route table (64k routes); too many scalability
issues
in the code itself.

>
> -- Juliusz

I also keep hoping somehow someday we'll get to atomic updates. The
nexthop code finally landed in 5.2? (3?) netlink, so that can safely
wait til after 1,9.


-- 

Dave Täht
CTO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-831-205-9740