Morten Grouleff <morten-nospam011202@grouleff.com> writes:
> Jeg er ude efter en måde at benytte to internetforbindelser samtidigt
> til et bestemt formål: Hurtigere download af een stor fil, f.eks. den
> nyeste redhat som ISO fil. Lad os som eksempel sige at jeg har 2 stk
> 1MBit ADSL forbindelser, hver med sin offentlige IP, og en
> windows-maskine inde bagved som NAT'er forbindelser ud over begge
> linier.
>
> Jeg har kikket lidt i "advanced routing howto" og har fundet ud af at
> route og fundet ud af at lave routing efter source-IP. Jeg kan derved
> dirrigere trafik fra en maskine på et intern IP til den af de to
> forbindelser, jeg vil, samtidig med at linux-maskinen bruger den anden
> linie som sin default route. Men denne opdeling melle de to linier er
> temmelig statisk...
>
> Jeg er godt klar over at det ikke umiddelbart kan lade sig gøre at sende
> vilkårlig trafik ud over begge linier, da modtagerne ikke kan finde ud
> af at trafikken kommer fra een maskine når der er flere afsender-IP i
> pakkerne.
So far so good... du har forstået problematikken
Du skal route samme
session på samme linie _hele_ tiden.
>
> Men for i hvert fald en bestemt brug må det kunne lade sig gøre:
> download af filer med f.eks. "download accelerator" fra windows. Den
> åbner flere uafhængige HTTP eller FTP sessions for at downloade en
> enkelt fil. Hvis man nu kunne få linux til at route nogle connections
> over den ene linie og nogen connections over den anden, ville effekten
> vel være at slå de to linier sammen mht til download tid for lige netop
> denne fil?
Ja, det er også korrekt at du kan dette. Hvorfor Eindows sætter flere
sessions igang for at accelerere en enkelt fils download kan jeg nu ikke
indse - men dem om det. [Normalt vil man kun gøre dette ved download af
mange filer].
En løsning på dit eksempel er en QoS deling af linierne, den løsning har
jeg ikke megen forstand på - men det burde kunne lade sig gøre - dit pro-
blem kommer dog i så tilfælde til at bestå i at du ikke kan garante hvil-
ken linie som QoS systemet vælger..
>
> I praksis burde det kunne gøres ved at route på "source port". Og her
> kommer problemet: Det kan jeg ikke lige finde en overskuelig måde at
> gøre på. "ip route" kender vist ikke til protokoller og porte. Måske kan
> det laves ved at mærke pakkerne med iptables og route på baggrund af
> mærket?
Nej, det kan du ikke (ihvertfald ikke umiddelbart). Det kan dog lade sig
gøre at lave et program til at løse problematikken. Og det vil sansynlig-
vis også kunne lade sig gøre at benytte proxy-servere til at styre dette.
Men din problematik kommer til at bestå i to ting:
1) om du kan finde et program til at downloade i flere dele.
2) at opsætte en case, hvor disse dele bliver routed forskelligt.
#1 er et program spørgsmål, om ikke andet så kan det lade sig gøre at lave
et sådan program uden de store problemer...
#2 er mere skummel, lad mig prøve at opstille i det mindste en case hvor
det kan lade sig gøre... Du kan opsætte 2 maskiner med hver deres proxy,
og som bliver source routed igennem til forskellige linier. Nu skal du have
et program som kan benytte sig af 2 proxier til at downloade med.
En anden løsning er at du benytter dig af 2 eksterne proxier, som hverisær
er routed forskelligt [simpel destination routing med NAT]:
proxy 1 er routed gennem linie 1
proxy 2 er routed gennem linie 2.
Hvis du nu kan få et program til at dele loaded gennem disse 2 proxies -
ja så er den hjemme. [dette scenarie er en hel del nemmere en loadbalan-
cing scenarier som også ville kunne gøre samme - men som ikke ville kun-
ne garantere dig at det ikke blev routed på samme linie].
>
> PS. Tillykke. Der er næppe mange, der læste så meget af dette indlæg...
PS. Skrevet kl. kvart i 5 - og måske ikke specielt læselig af den grund
--
Mvh. Kim Petersen /| Tlf: +4575831551 |\ Jomfru Ingefreds Vej 18
Software Engineer / | Fax: (none atm.) | \ 7100 Vejle
LSS / | Email: kim@vindinggaard.dk | \ DK - Danmark