Gå til innhold

Dele båndbredde "dynamisk"


Anbefalte innlegg

Har ikke gjort noe research på det enda, men er det mulig via noe slags trafficshaping eller noe sånt å dele båndbredde mellom et variabelt antall maskiner?

 

Dvs. dersom det er 1 maskin koblet på skal han ha 100%, dersom det er to skal de 50% hver, dersom det er tre skal de ha 33% hver osv.

 

Hensikten er at de tre gutta som deler en hybel ikke skal krangle om at "hey kutt ut å laste ned, jeg prøver å spille cs her!!" men samtidig vil det være meningsløst å bare bli tildelt 33% båndbredde hvis det bare er deg som sitter på nettet.

 

Noen som har noen bra linker eller annen info å henvise til?

Lenke til kommentar
Videoannonse
Annonse

Hei, jeg har tenkt på noe tilsvarende selv, og gjorde derfor litt research på det før. Jeg har en server i kjelleren, men også en spille-PC oppe, og ideen var at jeg skulle ha reservert 10% av båndbredden når spille-PCen var påslått.

 

Det jeg kom frem til forrige gang var at det ikke er mulig med en software-basert løsniong eller å konfigurere i (min ihvertfall) bredbåndsrouter. Linux-mestrene på forumet informerte meg om at det var mulig, men at jeg da måtte kjøre en "linux router", dvs en (svak gammel) PC med linux software til å fungere som en smart router. Løsningen ble ikke aktuel for meg siden jeg ikke hadde anledning til å sette opp enda en maskin i huset.

 

Men jeg er ingen ekspert på akkurat dette... Jeg skal følge med tråden i tilfelle du finner et svar som jeg ikke fant =) Jeg tror fremdeles det kan være en annen smart løsning på det.

 

-Stigma

Lenke til kommentar

Heisann

Jeg har testa det du ønsker litt fram og tilbake. Det var med CBQ. (Men der er flere typer "køer" som man kan teste)

Men hensikten falt bort pga jeg skulle bruke det i samme sammenheng, dvs leeching vs spilling.

Poenget er at la oss si du "deler" båndbredda _likt_ mellom 3 maskiner;

Hvor maskin1 spiller cs, de to andre leecher maksimalt av det de får.

Omså du deler opp trafikken 1/3 på hver maskin så vil det fortsatt si at maskin1 vil ikke få _alle_ de pakkene den ønsker så fort som den ønsker igjennom "routern". Det vil ikke bli like ille som om kø-systemet ikke var der, men fortsatt ikke så bra som man ønsker det var.

En løsning jeg ikke prøvde var å sette MAKSIMAL prioritet på "cs-trafikken" og det meste annet minimal prioritet. Men en eller annen gang MÅ annen trafikk komme igjennom, og nok en gang vil "cs-trafikken" komme seinere enn ønsket.

 

Men nå skal det sies at dette fungerte utmerket for vanlig trafikk, dvs leeching osv. MEn husk, vanligvis er det bare mulig å begrense trafikken UT av et interface, så man må tweake trafikken UT av "intern-NIC'et". (Før noen forklarer at det er mulig å begrense inntrafikk også, men det blir som å ikke ta imot det som kommer fykende. Det kommer fortsatt der men vi tar bare ikke imot det).

 

MEN dette er egentlig veldig avansert stuff og må stort sett gjøres igjennom script eller command-prompt'en. Du vil finne .init-script for enkelte av disse, eks CBQ-init osv. Dette kalles for traffic-shaping, og du vil finne litt om dette i "Advanced Linux Routing Howto".

NB: Disse bruker iproute2 binaries("ip"), da ifconfig, route og de verktøyene som brukes nå begynner å bli gammel og sliten.

 

Når det gjelder det å følge med på om maskiner er på eller ei, så kan man løse det på flere måter. Den mest automatiske og enkleste (for brukerne når det først er satt opp) vil være å følge med på trafikken som kommer fykende, og så dele linja opp deretter. Hint: se i /proc/net/ip_conntrack (hvis du har enablet connection-tracking, noe jeg regner med).

 

Så sant du ikke finner noe verktøy som gjør dette automatisk for deg, eller finner rene fw-distros som allerede har dette innebygd så blir det et helvetes slit =)

 

Lykke til!

 

-Dante

Lenke til kommentar

For de som ser dette på forsiden av hw.no: Ja, jeg tenker på en linux-basert løsning ;)

 

Jeg skal se nærmere på lartc.org/, takk 4-Dante!

 

Det at man ikke kan begrense trafikken inn er logisk, men det bør jo fungere indirekte gjennom å begrense trafikken ut (jeg vet egentlig ikke hva jeg snakker om, so correct me if i'm wrong.....)

 

Så var spørsmålet om det finnes en linux fw-distro som har en slik genial løsning out-of-the-box. Har brukt både smoothwall, ipcop og clarkconnect hjemme, så ingen av de har det i hvert fall.

Lenke til kommentar
Sett opp en "liten" PC med 2 nettverkskort,

legg inn Clark Connect, som er en router/dhcp-tjener -distro.

Så laster du ned en modul for bandwidth limiter.

All info finner du på den offisielle siden deres, www.clarkconnect.com

 

Denne skal nok funke bra vil jeg tro.

Lykke til :p

Clarkconnect bruker et CBQ-script fra sourceforge. Ser interessant ut! Siden dette tydeligvis har kommet inn i Clarkconnect skal jeg prøve den.

 

Eneste jeg kan tenke meg som kan fungere optimalt er om ISP utfører prioriteringen. noe jeg tiler sterkt på at de er villig til.

Vi er da ikke kresne heller ;)

Lenke til kommentar
  • 2 uker senere...

Etter litt overfladisk test av det skriptet kan jeg si at det ser ut til å fungere passelig bra, men det støtter kun statisk deling av båndbredde. Dvs. man kan angi maks hastighet for en/flere bestemte IPer.

 

Og i en lykkelig verden kan man jo enkelt klikke seg inn på web-interfacet til cc og fjerne sin egen restriksjon når det bare er deg som bruker nettet. Men en annen automatisk (dynamisk) løsning er klart mer ønskelig.

Lenke til kommentar
Etter litt overfladisk test av det skriptet kan jeg si at det ser ut til å fungere passelig bra, men det støtter kun statisk deling av båndbredde. Dvs. man kan angi maks hastighet for en/flere bestemte IPer.

 

Og i en lykkelig verden kan man jo enkelt klikke seg inn på web-interfacet til cc og fjerne sin egen restriksjon når det bare er deg som bruker nettet. Men en annen automatisk (dynamisk) løsning er klart mer ønskelig.

 

Hvis du gjør deg kjent med syntaksen til cbq.init, så er det ikke umulig å lage egne script som gjør lignende.

Og når du tenker på "dynamisk". Overvåk /proc/net/ip_conntrack, så vil du fort finne ut hvilke ip'er har trafikk eller ei. (Og dermed kan du endre tweakinga derifra)

 

-Dante

Lenke til kommentar
Hvis du gjør deg kjent med syntaksen til cbq.init, så er det ikke umulig å lage egne script som gjør lignende.

Og når du tenker på "dynamisk". Overvåk /proc/net/ip_conntrack, så vil du fort finne ut hvilke ip'er har trafikk eller ei. (Og dermed kan du endre tweakinga derifra)

 

-Dante

Åååå, Linux/GNU er da heeerlig! :D

Slike dynamiske Bash script var det første jeg lærte meg i Linux, har stor kjærlighet for dem :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...