Linux ATM

Allikas: Kuutõrvaja

Sissejuhatus

Algselt lairiba-ISDN-i (B-ISDN) jaoks väljatöötatud võrgutehnika ATM (Asynchronous Transfer Mode, asünkroonne edastusreziim) toob edaspidi gigabittides edastuskiirused lõppseadmeteni välja. Esmakordselt 1988.a. standardiseeritud

ATM põhineb ühendusega edastusel. Siin suunatakse liiklus tõhusamalt õigele vastuvõtjale. Peamiselt heliliikluses kasutatud aegmultipleksimine (TDM, time-division multiplexing) jaotab riba paremini ning eraldab ühe ühenduse kasutusse ainult sellele vajaliku keskmise ribalaiuse. Samaaegseid ühendusi jaamade vahel võib luua ja töödelda kiiresti ja tõhusalt.

Levinud kiired pakettedastuse meetodid (X.25, Frame Relay, FDDI) kasutavad muutuva pikkusega pakette. Puhangulisi andmeid saata on lihtne, kuid aegsõltuva informatsiooni (näiteks heli ja pildi) saatmine komplitseerub. Üks suur pakett võib hõivata kogu ribalaiuse pikaks ajaks ja teised ühendused ei saa seda kasutada. ATM seevastu edastab väikesi konstantse pikkusega pakette, mida nimetatakse rakkudeks (cell).

ATM oma 155 Mbit/s algkiirusega on tõhusam kui FDDI ja läbilaskevõimet saab tõsta gigabittideni välja. Võrgu jaamad ühendatakse kas otse ATM-sõlmega (switch) või samas karkassis asuvate vana kohtvõrgutehnikat toetavate liidestega, mis on marsruuterite abil ühendatud ATM- keskmagistraaliga. Otse ATM-sõlmega saab ühendada ka teenustena ostetud kaugühendusi. Sel juhul kasutatakse nii koht- kui ka kaugvõrkudes sama edastusviisi.

ATM-ile kavandatud liiklusklasse on neli. Klass A edastab konstantse kiirusega ühenduspõhist sünkroniseeritud liiklust, näiteks pakkimata pilti või heli. Klass B on nagu A, kuid edastab vahelduva kiirusega, näiteks pakitud pilti või heli. Klass C edastab vahelduva kiirusega asünkroonset liiklust nagu X.25 või Frame Relay. Klass D on ühenduseta pakettvõrgu, näiteks tavalise kohtvõrgu jaoks.

ATM-i kaks olulist eelist on suvalist tüüpi andmete edastuse võime ja väga suur edastuskiirus. Samas võrgus võib üheaegselt edastada teksti, andmeid, heli, pilti ja mitmesuguseid signaale väikestes rakkudes. ATM-i rakk koosneb 48-baidisest kasulikust lastist ja 5-baidisest päisest. ATM pakub ka voojuhtimist.

Ühenduspõhisel andmeedastusel tuleb kõigepealt luua saatja ja vastuvõtja vahel virtuaalühendus. Saatja saadab võrku ühenduse loomise raku, mis sõlm-sõlmelt otsib omale tee läbi võrgu ning defineerib ühendusele marsruudi ja kasutatava klassi. Ühendusloomerakk kannab ettepanekut teenuste laadi, näiteks keskmise edastuskiiruse kohta. Vastuvõtja saadetud kviteerimisrakk kulgeb sama marsruuti mööda tagasi saatjale, seades ühenduse teenusteks valmis. Kui võrk ei suuda soovitud teenuseid võimaldada, teatab kviteerimisrakk saatjale saadavate teenuste liigid ja ühendus jääb loomata. Saatja võib reageerida väiksemate teenuste taotlusega või proovida hiljem uuesti.

Globaalset võrguaadressi kasutatakse ainult ühenduse loomisel. Kui loomis- ja kviteerimisrakud on mõlemas suunas marsruudi läbinud, kasutatakse marsruudil asuvates ATM-sõlmedes teeidentifikaatoreid (VPI, virtual path identifier) ja kanaliidentifikaatoreid (VCI, virtual circuit identifier). Identifikaatorid on lühikesed 8- kuni 16-bitised aadressid, mis defineerivad lokaalselt järgmise sõlme. Kui ATM-sõlm võtab raku vastu, loeb ta identifikaatorid, asendab need uue lokaalse identifikaatoriga ja saadab raku edasi. Identifikaatorid vahetatakse marsruutimisel, sest nad on igas sõlmes lokaalsed.

Linux kernel

make menuconfig v .configure

CONFIG_ATM=m
CONFIG_ATM_CLIP=m
CONFIG_ATM_CLIP_NO_ICMP=y

CONFIG_ATM_DUMMY=m
CONFIG_ATM_TCP=m

Kaardi tugi samuti vajalik. Igaüks valib enda kaardi jaoks vajaliku.

CONFIG_ATM_NICSTAR=m
CONFIG_ATM_NICSTAR_USE_SUNI=y
CONFIG_ATM_FORE200E_MAYBE=m
CONFIG_ATM_FORE200E_PCA=y
CONFIG_ATM_FORE200E_PCA_DEFAULT_FW=y
CONFIG_ATM_FORE200E_TX_RETRY=16
CONFIG_ATM_FORE200E_DEBUG=0
CONFIG_ATM_FORE200E=m
CONFIG_ROADRUNNER=m

Võrk

Esimene pool

atm1      kapseldus:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
         inet aadress:192.168.1.2  mask:255.255.255.0
         UP RUNNING  MTU:1500 meetrika:1
         RX pakette:14 vigu:0 ära visatud:0 ületäit:0 kaadri vigu:0
         TX pakette:276 vigu:0 ära visatud:1495 ületäit:0 carrier:0
         kollisioone:0 txqueuelen:100
         RX baite:816 (816.0 b)  TX baite:15299 (14.9 Kb)

stardiskript

/usr/local/sbin/atmsigd -b
/usr/local/sbin/atmarpd -b
/usr/local/sbin/atmaddr -a Test2
/usr/local/sbin/atmarp -c atm1
/sbin/ifconfig atm1 192.168.1.2 up
/sbin/ifconfig atm1 mtu 1500
#Teise poole ATM otsa IP läheb PVC peale..
/usr/local/sbin/atmarp -s 192.168.1.1 0.0.166

Teine pool

atm1      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
         inet addr:192.168.2.2  Mask:255.255.255.0
         UP RUNNING  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:100
         RX bytes:0 (0.0 b)  TX bytes:55 (55.0 b)

stardiskript

atmsigd -b
atmarpd -b
atmarp -c atm1

/sbin/ifconfig atm1 mtu 1500
/sbin/ifconfig atm1 192.168.2.2 up
/sbin/ifconfig atm1 up

#Teise poole ATM otsa IP l.heb PVC peale..
atmarp -s 192.168.2.1 0.0.166

Korrasoleku proov

localhost etc # ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
64 bytes from 192.168.2.1: icmp_seq=1 ttl=30 time=1.31 ms
64 bytes from 192.168.2.1: icmp_seq=2 ttl=30 time=1.32 ms