Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

MoonShape – Hovedprosjekt vår 2005, HiST/AITeL Oppdragsgiver: DataKompaniet AS v/Tor Rune Skoglund Veileder: Helge Hafting Oppdragstakere: Knut Imar Hagen.

Liknende presentasjoner


Presentasjon om: "MoonShape – Hovedprosjekt vår 2005, HiST/AITeL Oppdragsgiver: DataKompaniet AS v/Tor Rune Skoglund Veileder: Helge Hafting Oppdragstakere: Knut Imar Hagen."— Utskrift av presentasjonen:

1 MoonShape – Hovedprosjekt vår 2005, HiST/AITeL Oppdragsgiver: DataKompaniet AS v/Tor Rune Skoglund Veileder: Helge Hafting Oppdragstakere: Knut Imar Hagen & Knut Magne Solem

2 Oppdragsgiver • Firmanavn: DataKompaniet AS • Oppgavestiller og daglig leder: Tor Rune Skoglund • Grunnlagt som ANS i 1992, omorganisert som AS i 1995, samme året som innflyttingen til Teknostallen. • Slagord: ”Kunnskap og kvalitet siden 1992” • Totalleverandør av dataprodukter og datatjenester til små og mellomstore bedrifter, samt større privatkunder. • Tilbyr feilsøk, test og reparasjoner av nettverksoppsett og enkeltstående PC-er med tilbehør. • Registrert forhandler for en rekke utenlandske firmaer. • Sunn og god økonomi med en jevn omsetningsvekst hvert år.

3 Problemstilling • DataKompaniet administrerer en serverpark og en trådløs wifi-sone. • Kunder har servere i denne serverparken, og kunder kan kjøpe trådløs internettaksess på Teknostallen. • Her flyter datatrafikken ukontrollert med tanke på hastighet og datavolum. • Problemstillingen er å måle og begrense datatrafikken, både hastighet og datavolum, og lage et administrasjonssystem. • Systemet skal basere begrensningen på IP-adresser. • Brukergrensesnittet skal være en Linux-frontend som bruker forretningslogikk med støtte for iptables og modulen TC.

4 Hvorfor denne oppgaven? • Vi som er oppdragstakere liker utfordringer • Denne oppgaven så mest spennende ut av de oppgavene skolen hadde fått tilsendt fra alle oppdragsgivere • Vi måtte velge en oppgave som passet for to personer • Dette er en oppgave som appellerer til vår studieretning på grunn av at den omhandler nettverk og linux • Det var en motivasjonsfaktor å lære noe nytt; iptables med modulen TC og hvordan lage en linux-frontend • Spennende å lære seg å programmere for en unix-plattform

5 Løsning av problemet • Vi startet med å lese veldig mye informasjon om TC • Deretter delte vi opp utviklingen av systemet i flere deler, så hver av oss fikk ansvaret for delområder • Begge var enige om å følge en Open Source-tankegang • Vi fikk låne to datamaskiner med to nettverkskort hver • I systemutviklingsfasen programmerte vi direkte på den ene maskinen og brukte den andre som filtjener i testingen • Underveis hadde vi kontinuerlig kommunikasjon og samarbeidet dermed så godt at det ikke oppstod problemer med selve samhandlingen i utviklingen • Problemene eksisterte derimot med TC og PHP, men vi fant på mange løsninger for alle problemene • TC er dårlig dokumentert, og det førte til at vi måtte finne ut av enkelte ting selv, men systemet fungerer nå tilfredsstillende

6 Linux-ruter med moonshape installert. Serverpark/wifi-sone: INTERNETT Moonshape installeres på ruteren, og vil bare berøre IP-adresser som er lagt inn i systemet. De andre vil flyte igjennom som normalt. Systemet administreres på ruteren via ssh. Skisse av systemet

7 Brukerprogrammer IP-Stack Ingresskø Forwarding Egresskø Linux kernel,eth0 Denne figuren viser hva som skjer i Linuxkjernen ved trafikk inn og ut av et nettverkskort. Pakker inn Pakker ut Hvis /proc/sys/net/ipv4/ip_forward = 1 Hva skjer ”under lokket” - før

8 Brukerprogrammer IP-Stack Ingresskø Forwarding Egresskø kø1 kø2 kø3 Linux kernel,eth0 filter1 filter2 filter3 Her gjør moonshape endringer vha tc-modulen. Moonshape berører kun eth0. Pakker inn Pakker ut Hva skjer ”under lokket” - etter Hvis /proc/sys/net/ipv4/ip_forward = 1

9 Hva skjer ”under lokket” - nedlasting Serverpark: INTERNETT Lokal IP ( ) Får ny avsender- adresse her. Nedlasting av fil fra A ( ) til B: Pakkene blir sendt i full hastighet til eth0, men ingress- køa slipper bare inn pakker med en gitt hastighet. Grunnet egenskapene til TCP, så vil avsenderhastigheten etter hvert matche mottakerhastigheten. Siden pakkene ikke er adressert til eth0, så sendes de videre (forwarding) til eth1. Der foregår POSTROUTING NAT, så der endres avsender- adressen til den offisielle IP-adressen ut mot Internett. B mottar til slutt pakkene med avsenderadresse til eth1. B Reduserer hastighet A moonshape

10 Hva skjer ”under lokket” - opplasting Serverpark: INTERNETT A Får ny mottaker- adresse her. Opplasting av fil via FTP til A ( ) fra B: Pakkene blir sendt i full hastighet fra B til den offisielle IP-adressen til eth1. Der foregår det PREROUTING port-forwarding, og pakkene får ny mottakeradresse. Pakkene blir så videresendt til eth0, og egresskøa vil redusere hastigheten ved å kaste overflødige pakker. Egenskapene til TCP gjør at B etter hvert vil sende i samme hastighet som A tillates mottatt. B Reduserer hastighet Lokal IP ( ) moonshape

11 Resultater • Resultatet er systemet MoonShape • Oppgavekravet var kun å måle datatrafikken, mens vårt system også utfører den ønskede utvidelsen å begrense den • MoonShape er oppdelt i tre deler – Hastighet- og datavolumbegrensning pr. tidsenhet – Utføring av handlingsskript dersom volumbegrensninger overskrides – Statistikk over brukt båndbredde og datavolum • MoonShape har innslag med IP-adresse og nettverksmaske som identifikator, så man kan kontrollere et subnett, eller bare en enkelt IP-adresse • MoonShape består av en linux-frontend med flere tekstbaserte kommandoer og et web-basert administrasjonsgrensesnitt for statistikken

12 Resultater • Systemet er satt sammen av mange små programmer som hver utfører sin bestemte oppgave • Brukermanualen er laget som ”linux man pages” • Alle kodekommentarer og programdokumentasjon er skrevet på engelsk for å følge Open Source-tankegangen • Kort og godt et system som vi utviklere er fornøyde med!

13 Resultater Denne visuali- seringen viser hvordan shaperen oppfører seg på forskjellige hastigheter.

14 Resultater Denne visualiseringen viser hvordan shaperen oppfører seg når man skifter båndbredde under nedlasting. 1 mbit 4 mbit 2 mbit 0,5 mbit 8 mbit

15 Videre arbeid • Vi har implementert den funksjonaliteten som trengs for at systemet skal fungere tilfredsstillende • En utvidelse som er ønsket, men som krever en fullstendig omgjøring av systemet er å kunne skille pakketrafikken på forskjellige portnummer/protokoller. En løsning på dette er beskrevet i sluttrapporten til dette prosjektet.

16


Laste ned ppt "MoonShape – Hovedprosjekt vår 2005, HiST/AITeL Oppdragsgiver: DataKompaniet AS v/Tor Rune Skoglund Veileder: Helge Hafting Oppdragstakere: Knut Imar Hagen."

Liknende presentasjoner


Annonser fra Google