Ugrađeni mrežni uređaji (2)
Ugrađeni mrežni uređaji (2)
4. Primeri nekih embedded sistema
4.1 Projekat rađen na Univerzitetu u Finskoj (hardverska
realizacija uprošćenog TCP/IP steka)
Po mišljenju autora ovog projekta rasprostranjeno umrežavanje koje je
potrebno za Internet uređaje neće biti moguće ukoliko ne budu zadovoljeni
sledeći zahtevi: Sistemi bi trebalo da koriste standardizovane protokole i
tehnologije, i takođe je važno da se napravi sistem koji je efektivan po
pitanju cene i jednostavnosti implementacije.
U embedded Internet uređaja mogu da se ubrajaju i veliki sistemi kao na
PDA (personal digital assistant ), mikrotalasne pećnice itd. ali i
minimizirani sistemi kao na primer senzori. Zahtevi koje moraju da
zadovolje embedded Internet uređaji se razlikuju od onih za veće,
korisnićki orijentisane uređaje. Tipični zahtevi obuhvataju male dimenzije
i potrošnju, robusnost i po mogućstvu nisku cenu proizvodnje.
Ovde će se izneti problemi i arhitektonski zahtevi koji su neophodni za
realizaciju jednog embedded web servera koji ćemo u daljem tekstu da
zovemo Web Čip.
Autori su se odlučili za HTTP protokol, iz prostog razloga što je HTTP
rasprostranjen i poznat u industriji, ukljućujući i kompanije koje se nalaze
van telekomunikacionog sektora.Oni tvrde da je rešenje na jednom čipu
koji bi obezbeđivao i TCP/IP i HTTP/1.1, obećava i da bi dovelo do još bržeg
umrežavanja Internet uređaja , jer za mnoge proizvođače elektronske
opreme, dodavanje Internet mogućnosti u svoje proizvode bi bio mnogo
lakši dizajnerski poduhvat.
Web Čip arhitektura se koristi samo kao primer implementacije TCP/IPv6
HTTP/1.1 steka (autori ne tvrde da je ovo rešenje optimalno).Treba imati na
umu da je Web Čip «web core block» što znači da je samo jedan blok u
krajnjem proizvodu. Dakle funkcionalnost web čipa se samo dodaje na
Application-specific integrated circuits (ASICs), baš kao i najobičniji
mikrokontroleri.
Izbor TCP/IP i HTTP/1.1 kao osnove za ovaj projekat je očigledan, jer
omogućava podršku za postojeću infrastrukturu. Postoji mnogo sistema,
kao što je ovaj, na raspolaganju, koji su ukombinovani s raznim
hardverskim i softverskim konfiguracijama.Među njima su : ekstremno
minimizovano rešenje mikrokontrolera s Massachusetts University,
najmanji web server na svetu s Stanford University....Svi ovi proizvodi su
generički, pošto oni koriste embedded CPU da bi izvršavali TCP/IP softver.
Glavna osobina ovih sistema je fleksibilnost jer se oni zasnovaju na
softveru.
Integrisanje svih komunikacionih slojeva u jedan čip će obezbediti
nekoliko prednosti u odnosu na slučaj kada bi implementirali web
konekciju s embedded računarom. Prvi očigledan razlog je smanjivanje
troškova i veličine. Ovo će integraciju web servera u male uređaje učiniti
mogućom. Drugi je potrošnja kao takođe kritična stavka kod embedded
uređaja.
Dizajneri su se odlučili za minimalistički pristup embedded web
serveru,jer u velikom broju slučajeva korišćenje «full» implementacije
protokola može dovesti do usložnjavanja hardvera. Zato su oni posmatrali
minimalni skup funkcija koji je potreban za pravilno umrežavanje internet
uređaja. Ipak, mini server treba da odgovori na svaki zahtev od strane bilo
kojeg standardnog browser-a (pretraživača). Pošto su oni odlučili da uklone
neke karakteristike protokola iz implementacije, postoji potreba za daljom
analizom da se utvrdi da li ovo stvara neke nove probleme.
Ovim se ipak postiže mogućnost optimizacije funkcionalnosti svih
protokola.
Takođe je izabran IPv6 iz prostog razloga, što ako ugrađujemo embedded
IP u mobilne telefone i druge uređaje, onda će samo IPv6 biti u mogićnosti
da pruži određene zahteve kao što su proširen adresni prostor i mogućnost
autokonfiguracije.Dakle svi uređaji bazirani na hardveru treba da budu
kompatibilni sa IPv6, a takođe je implementiran i HTTP/1.1 standard pri
implementaciji web čipa.
- 2 -

Web čip je dizajniran da skuplja i obrađuje spoljašnje informacije ili da
emituje proste komande kao što su on/off. Svim informacijama u okviru
web čipa se pristupa sa internet strane koju servisira taj čip.
Standardi zahtevaju određen minimalni skup funkcija, da bi protokoli TCP
i IPv6 bili široko rasprostranjeni, međutim nisu svi standardi još
imlementirani u okviru web čipa. Ovo je zbog toga što je ideja da se
napravi ekstremno minimalna verzija web servera koji je ipak u stanju da
ispravno odgovori na zahteve browsera.
Protok podataka u ovom prototipu je baziran na Ethernet-u.
Implementacija Ethernet-a sama po sebi je standard i može biti realizovana
kao odvojen čip na VHDL bloku.
IPv6 i TCP
Web čip ne implementira ceo IPv6 (već samo njegov minimizovanu
varijantu). IPv6 zaglavlja su ignorisana, s izuzetkom zaglavlja za
«authentication and encapsulating security payload» .Ovo drastočno
smanjuje kompleksnost IPv6 dela protokol steka .
U većini slučajeva ovo uprošćavanje ne bi trebalo da dovede do nekih
neželjenih efekata pošto se ne očekuje potreba za ,recimo, fragmentacijom
što znači da veličina stranica koje se opslužuju treba da bude minimalna.
Nikakva podrška za IPSec nije implementirana pošto se to činilo previše
kompleksnim zahtevom. Zbog svih ovih uprošćenja Web čip nije baš u
skladu s IPv6 zahtevima.
Najviše modifikacija u Internet protokolu je izvršeno u implementaciji TCP-
a, jer je on najkompleksniji. Samo oni delovi TCP koji su potrebni za
primanje HTTP zahteva i slanje odgovarajućeg odgovora su
implementirani (delovi kao što je kontrola zagušenja su izbačeni)
Logika je bila da sam web čip ne proizvodi mnogo saobraćaja, i da hostovi
koji zahtevaju web stranice s web čipa sami vrše proveru zagušenja. Ipak
ovde može nastati problem ako je veći broj web čipova prikačen na
Intenet.
Na TCP nivou su takođe uklonjene neke funkcije koje su obezbeđivale
pouzdan transfer.
Takođe nije realizovna ni mogućnost retransmisije opet zbog velike
kompleksnosti. Očekuje se da će browser uputiti novi zahtev ako veza
- 4 -
pukne, što je retka pojava, bar kada se koristi Ethernet mrežna konekcija.
Jasno je da u nekim slučajevima nedostatak retrasmisije može dovesti do
neželjenog dejstva i povećanog korišćenja resursa u mreži. Naravno može
se lako dodati mogućnost retransmisije ali bi to povećalo komleksnost
implementacije (u smislu broja tranzistora i memorije).
Funkcije koje vrše uspostavljanje veze su takođe uprošćene u odnosu na
standard. Pošto web čip nikad ne inicijalizuje konekciju, on čeka u LISTEN
stanju na zahtev za konekciju koji šalje klijent. Konekcija se zatvara u isto
vreme kad se web strana pošalje onom koji ju je zahtevao. U principu web
čip dozvoljava samo jednu konekciju u određenom trenutku. U lokalnom
okruženju zahtevi se obrađuju brzo i verovatnoća da se novi zahtev pojavi
dok se prethodni obrađuje je vrlo mala.
Efekti minimizacije
Uprošćena implementacija protokol steka može zagušiti saobraćaj i
izazvati probleme u mreži. Glavni delovi TCP protokola koji nisu
implementirani su window management i mehanizam kontrole zagušenja.
Koriste se neki dodatni mrežni resursi , jer web čip ne koristi retransmisiju.
Kao posledica toga se javlja, da u slučaju da paket ne stigne, pošilac zahteva
šalje negativnu potvrdu , kumulativni ack s istim brojem sekvence, sve dok
se konekcija ne prekine posle isteka timeout-a. Posle toga novi zahtev se
mora poslati.
Pricip rada
Kad je bezposlen, web čip čeka dok mu neko ne pošalje zahtev. Postoje dve
vrste zahteva koje dovode do njegovog aktiviranja. Prva vrsta je «neighbor
solicitation messages» koji zahtevaju adresu s Link sloja web čipa.
Drugi tip poruka na koje web čip odgovara korektno je HTTP zahtev kome
prethodi odgovarajući inicijalizacioni segment koji je potreban za pravilno
uspostavljanje TCP konekcije. Na ove poruke on konstruiše HTTP odgovor
od prikupljenih podataka. U praksi čip obično dobija ulazne informacije od
senzora i ima pristup konfiguracionim informacijama. Ostavljeno je
aplikacionim dizajnerima kako da implementiraju logiku koja je potrebna
za skupljanje informacija sa senzora u čip i na web stranu.
- 5 -

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti