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 -

background image

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 -

background image

Želiš da pročitaš svih 21 strana?

Prijavi se i preuzmi ceo dokument.

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

Slični dokumenti