Re: Redirection to Other IP Addresses

Bin Ni <> Tue, 30 July 2019 23:52 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 768FD12010C for <>; Tue, 30 Jul 2019 16:52:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.65
X-Spam-Status: No, score=-2.65 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, 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 XkaHquBdjrez for <>; Tue, 30 Jul 2019 16:52:38 -0700 (PDT)
Received: from ( [IPv6:2603:400a:ffff:804:801e:34:0:38]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 96C721200B9 for <>; Tue, 30 Jul 2019 16:52:38 -0700 (PDT)
Received: from lists by with local (Exim 4.89) (envelope-from <>) id 1hsbsc-0001vQ-5v for; Tue, 30 Jul 2019 23:50:06 +0000
Resent-Date: Tue, 30 Jul 2019 23:50:06 +0000
Resent-Message-Id: <>
Received: from ([2603:400a:ffff:804:801e:34:0:4f]) by with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <>) id 1hsbsZ-00015y-O1 for; Tue, 30 Jul 2019 23:50:03 +0000
Received: from ([2607:f8b0:4864:20::e34]) by with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from <>) id 1hsbsW-0003mO-Um for; Tue, 30 Jul 2019 23:50:03 +0000
Received: by with SMTP id h28so44889505vsl.12 for <>; Tue, 30 Jul 2019 16:49:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WLO/Oc7VN7sNJtBbS9wI48sNr34wp7CGhTyxdNGDrDc=; b=a10gUGukD3l1++lCeKU6a6nMWNbELufI8dg0hArOvpO7wnTpY2K43h51aD5R9TSpL7 B3/wuPeKAVYOChh3bXBNxIiaTjz4IMTV0LHwlrbQXTbOm3gIFqKGHb57TyaoQd5Z815+ 3pp6rFoqFe3ypUY6zPdN8kFk3RO799vl8AuefajB398eVPxt/ch4ZZf2REWnh0zkEW41 5zoIhBXtz31xv8CWEvScCPcHBPsN0NwYIfJK4AtvrUj97hytPLm6M/9TcKjZJXNJneeG gflKRp7SfqyLRIM7XVWLat5kyCzjn+lP106tV6oa4li7obxVYKddpDjsxRRw0Qwm7f2V cgfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WLO/Oc7VN7sNJtBbS9wI48sNr34wp7CGhTyxdNGDrDc=; b=XU6YArzTnji4tqECK/PX/fwnpd+/qVTwoPTLHRCg2j5M5+C0QhyqHu92vTyhauMjnr zlQJTT1KfdJMYHUzSq8Nj4Y07sNScb9lKS1zlHnm/q/JcwDwG1uVTwbasWYoBUodFXBM derQeqyJiJWNBAcWD/CPnQp8vq5xmLsk6m0N9FYY0wLnWd8uMwXhePe+Azo1xFbbHTI3 X8rPjLAyZimo3Pn6rofh21401a3wDErrZmKYO/lZ+sAxhE5Evu94clgYeY8iQavuLJhg M45lLqtUU1I9stVLYd6HavqeY2jlylXAkw5aSTuqDqEs3CXjczEd5zbnH1QssUjWKhEX SLtw==
X-Gm-Message-State: APjAAAU5vFagPLnu6rpEdFfo8Fg4k/tAa2ersXHymionb6w3lmD6kRXE p9ITf/09Ds0fHKDOR82n8IOySgKckePDrbYqexbTHBJmuoXPtw==
X-Google-Smtp-Source: APXvYqx5rcMg7od5yl1BjKG74OCCfuLK4Xj6McNfgiVVVsb8bIGYuy5v9SgPft6EQiDVrzPIL5bWvKRHA0kqxYC0RL8=
X-Received: by 2002:a67:e296:: with SMTP id g22mr54968703vsf.174.1564530579432; Tue, 30 Jul 2019 16:49:39 -0700 (PDT)
MIME-Version: 1.0
References: <> <> <> <> <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
From: Bin Ni <>
Date: Tue, 30 Jul 2019 16:49:28 -0700
Message-ID: <>
To: Amos Jeffries <>
Content-Type: multipart/alternative; boundary="0000000000006d8d96058eeea97f"
Received-SPF: pass client-ip=2607:f8b0:4864:20::e34;;
X-W3C-Hub-Spam-Status: No, score=-3.3
X-W3C-Hub-Spam-Report: AWL=0.625, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: 1hsbsW-0003mO-Um e2738aff8cd4822f62bc8a02cb0fdf64
Subject: Re: Redirection to Other IP Addresses
Archived-At: <>
X-Mailing-List: <> archive/latest/36880
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

Hi Amos and All,

Regarding the 30X redirect across different cache servers, it is already
used by many big CDN companies that I know of.
It is proven to make the system faster without much burden on the front-end
layer which you are concerned.
But 30X has the limitations I mentioned. This is why I'm proposing this new
type of redirection to address the limitations.
So it is not a question that this proposal will be useful or not.
I know it will at least be very useful to those CDNs.

Thanks for your comments.
Please let me know if you have any questions.


On Tue, Jul 30, 2019 at 12:38 AM Amos Jeffries <> wrote:

> On 30/07/19 7:02 am, Bin Ni wrote:
> > Yes, what we want is a way to force a "deterministic behavior from the
> > client", just like all the 30X redirections today.
> >
> > Let me give a few more cases in which this can be helpful:
> > 1. A client in North America is returned a server IP in Europe by the
> > DNS. The server then wants to direct the client to another server in
> > North America for better performance.
> > 2. The content of a website is hashed to multiple servers based on URL.
> > These multiple servers may not even be in the same datacenter. The DNS
> > does not have this information and may return any IP to any query of the
> > website's hostname.  Each server will calculate the hash for each
> > request and redirect client to the correct server that has the content.
> > This is quite common for CDN.
> It is common for good reason: efficiency.
> There is a secondary level of efficiency that comes from the redirects
> being actual HTTP 30x redirects. Having large objects at different URL
> entirely provides for a different CDN or caching layer closer to the
> client to provide the large object contents. DNS can be (often is)
> involved in that layer to provide the closest server IP.
> As proposed so far your mechanism would flatten this two-tier structure.
> Forcing the frontend layer (now only layer) to be involved in deciding
> the specific hardware location of individual objects / resources.
>  Making the frontend machinery store more information and do more work
> per-request is not going to make the system faster, quite the opposite.
> By separating the work into the three layers: frontend LB, cache, and
> origin. Each CDN layer gets some orders of magnitude increase in
> performance / capacity:
>  - origin able to handle/generate some few thousand responses per second,
>  - cache able to re-distribute those as static objects at line speed for
> an order or two magnitude more than origins,
>  - frontend LB able to handle millions of the small ~1KB
> request/response pairs for redirection spreading that high load across
> the lower layers.