In case anyone is interested, many many years ago we used squid's ICP for
load-balancing multiple upstream ISP links/proxies. It worked pretty well,
picking the lowest-latency (least saturated) upstream proxy and thus
load-balancing the traffic.

Then the upstream proxies started to not support or block ICP, so I wrote
an ICP <-> ICMP proxy which turned ICP requests into ICMP pings on the way
out, and the ICMP ping responses into ICP_OP_MISS on the way back . This
code still lives http://minkirri.apana.org.au/~abo/projects/pyproxy/

In theory this could still be used with any proxy that supports ICP to
load-balance upstream proxies that don't. However, I don't know how many
proxies support ICP (polipo doesn't), and in the modern world the ICP round
trip latency before each request is probably more overhead than people
could bare. At the time we were using it the latency beyond the upstream
proxies out of Australia was so bad and the links were so saturated the
benefits from load balancing outweighed the extra ICP latency.



On 26 June 2014 23:13, Juliusz Chroboczek <j...@pps.univ-paris-diderot.fr>
wrote:

> > I'm not sure why you need to hack mosh to be able to use it through
> > different ISP. If you can select by destination you could create iptable
> > rules. Maybe I don't get the point of your project in detail.
>
> We're not selecting by destination.  We're selecting by *source*.
>
> The point is that we don't want to put any policy decisions into the
> routing protocol -- the upper layers choose the ISP by setting the source
> address of the packets being sent.
>
> > 2 $FW 0.0.0.0/0 tcp,udp imap,imaps
>
> That only works if you assume there's a NAT that will translate the source
> addresses.  If there's no NAT, then ISP2 should shoot the packets sourced
> in
> ISP1's address ranges, according to BCP38.
>
> We're mostly aiming for IPv6.  In IPv4, many of the use scenarios are
> solved by NAT.
>
> -- Juliusz
>
>
> ------------------------------------------------------------------------------
> Open source business process management suite built on Java and Eclipse
> Turn processes into business applications with Bonita BPM Community Edition
> Quickly connect people, data, and systems into organized workflows
> Winner of BOSSIE, CODIE, OW2 and Gartner awards
> http://p.sf.net/sfu/Bonitasoft
> _______________________________________________
> Polipo-users mailing list
> Polipo-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/polipo-users
>
>


-- 
Donovan Baarda <a...@minkirri.apana.org.au>
------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Polipo-users mailing list
Polipo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/polipo-users

Reply via email to