1 / 35

USB langattomassa lähiverkossa

USB langattomassa lähiverkossa. Diplomityöseminaariesitelmä 2.6.2005 Antti Huopaniemi antti.huopaniemi@pp.inet.fi 040-5000495. Motivaatio. kotona langaton lähiverkko kannettavat työasemat: Windows 2000, Windows XP/Linux, Linux, myös yksi PDA

judd
Download Presentation

USB langattomassa lähiverkossa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. USB langattomassa lähiverkossa Diplomityöseminaariesitelmä 2.6.2005 Antti Huopaniemi antti.huopaniemi@pp.inet.fi 040-5000495

  2. Motivaatio • kotona langaton lähiverkko • kannettavat työasemat: Windows 2000, Windows XP/Linux, Linux, myös yksi PDA • erinäisiä USB-laitteita: monitoimikone (tulostin/skanneri/faksi/kopiokone), CD-polttoasema, digikamera • USB-laitteen käyttö vaatii fyysisen liittämisen, kömpelöä • miksei yleiskäyttöistä langatonta USB:tä?

  3. Kysymyksiä • onko ylipäätänsä mahdollista toteuttaa USB langattomassa lähiverkossa? • mitä esteitä tai rajoituksia langaton lähiverkko aiheuttaa? • mitä tarvitaan USB:n toteuttamiseksi langattoman lähiverkon yli? • miten paikallisesti liitetylle USB-laitteelle tarkoitettu data voidaan ohjata verkkoon? • suorituskyky, viive, luotettavuus, tehokkuus? • hallinta, samanaikaisuus? • voiko langattomassa lähiverkossa oleva USB-laite toimia ikään kuin se olisi paikallisesti liitetty (samat laiteajurit, ei muutoksia sovelluksiin)? Miten tässä tapauksessa tietoturva ja palvelujen löytäminen?

  4. Työhön... Ei halutunlaista ratkaisua olemassa, joten: • selvitä, miten USB toimii • selvitä, miten I/O toimii Windows 2000/XP ja Linux-käyttöjärjestelmissä • selvitä, miten em. käyttöjärjestelmät tukevat USB:tä ja miten USB-laitteet tulevat osaksi käyttöjärjestelmän kytke-ja-käytä-, virranhallinta- ja valvontatomintoja • datan ohjaus verkkoon paikallisen laitteen sijasta toteutettu verkkokäyttöjärjestelmissä, voiko hyödyntää? • voiko hyödyntää olemassa olevia palvelunhakuprotokollia? • voisiko ongelman ratkaista jollakin muulla verkkoteknologialla?

  5. USB-väylä • teollisuusstandardi oheislaitteiden liittämiseksi tietokoneisiin • monipuolinen mutta yksinkertainen, halpa, suorituskykyinen • 1,4 miljardia USB-laitetta toimitettu helmikuuhun 2003 mennessä, arvio 4,3 miljardia USB-laitetta vuoteen 2007 mennessä, vuonna 2007 arvoidaan toimitettavan 860 miljoonaa laitetta (Lähde: In-Stat/MDR, helmikuu 2003) • väylän nopeudet: low-speed: 1,5 Mbit/s, full-speed: 12 Mbit/s ja high-speed: 480 Mbit/s • kaapelin maksimipituus: 5 m (3 m low-speed), voi syöttää myös virran laitteelle (5 V, max 500 mA) • käyttötarkoitukset: kaiuttimet, mikrofonit, puhelimet, modeemit, näppäimistöt, hiiret, tabletit, ohjainsauvat, keskittimet, digitaalikamerat, muistitikut, CD/DVD-asemat, tulostimet, skannerit

  6. USB-”oheislaite”

  7. USB-topologia max. 127 laitetta! Lähde: Universal Serial Bus Protocol Specification, s. 16

  8. USB-siirtomenetelmät • halllinta (control transfer): oheislaitteen hallintaan ja määritysten asettamiseen/lukemiseen, ei datan siirtoon. Tiedonsiirto luotettava. • bulkki (bulk transfer): ei-aikakriittiseen tiedonsiirtoon, motto: ”siirrä, kun ehdit”. Tiedonsiirto luotettava. Esimerkki: tulostimet, skannerit • keskeytys (interrupt transfer): periodinen, rajoitettu latenssi. Tiedonsiirto luotettava. Esimerkki: näppämistöt, hiiret • isokroninen (isochronous transfer): periodinen, ennalta sovittu kaistan tarve ja latenssi. Virhetilanteessa ei uudelleenlähetystä, oletuksena pieni bittivirhetiheys. Esimerkki: multimediasovellukset

  9. USB-laitteen ohjelmarajapinnat

  10. USB I/O Lähde: Universal Serial Bus Protocol Specification, s. 59

  11. USB I/O Lähde: Universal Serial Bus Protocol Specification, s. 63

  12. Langattomat lähiverkot • eli WLAN • IEEE 802.11-standardi • 802.11a: max. nopeus 54 Mbit/s, toimii 5 GHz-taajuudella, modulointi OFDM • 802.11b: max. nopeus 11 Mbit/s, toimii 2.4 GHz-taajuudella, modulointi DSSS. Tunnetaan myös nimellä Wi-Fi. • 802.11g: max. nopeus 54 Mbit/s, toimii 2.4 GHz-taajuudella, modulointi joko DSSS tai OFDM. • tietoturva: WEP, TKIP, CCMP, IEEE 802.1X

  13. Microsoft Windows 2000/XP I/O-komponentit Lähde: Solomon & Russinovich: Inside Microsoft Windows 2000, s. 528

  14. Microsoft Windows 2000/XP I/O • kaikki laite-I/O kohdistuu virtuaalitiedostoihin • jokaisella tiedostolla tiedosto-objekti, joka sisältää mm. attribuutit tiedostonimi ja laiteobjekti • laiteobjekti esittää laitetta järjestelmässä. Laiteobjektissa viittaus ajuriobjektiin, joka sisältää tarvittavat tiedostojärjestelmän operaatiot (avaa, sulje, lue, kirjoita,...) • PDO (Physical Device Object): USB-väylän ja väyläajurin näkemä laitteen laiteobjekti • FDO (Functional Device Object): laiteajurin näkemä laitteen laiteobjekti • FiDO (Filter Driver Object): suodatinajurin näkemä laitteen laiteobjekti

  15. Microsoft Windows 2000/XP I/O Lähde: Solomon & Russinovich: Inside Microsoft Windows 2000, s. 598 Oney: Programming the Microsoft Windows Driver Model, s. 85

  16. Linux-ydin Lähde: Rubini & Corbet: Linux Device Drivers, s. 5

  17. Linux I/O • jokaisella tiedostolla tiedosto-objekti, joka sisältää viittauksen (f_op) VFS-tiedosto-operaatioihin, joita laite tukee • versio 2.4 ja uudemmissa /devfs-virtuaalitiedostojärjestelmä VFS:n alla, jolloin tiedosto-objekti viittaa suoraan laiteajurin listaan toteutetuista VFS-operaatioista, VFS-operaatiot kohdistetaan virtuaalitiedostoon • vanhemmissa monimutkaisempi ratkaisu: fyysiset laitetiedostot, laitteen tunnistus pää- ja alinumeroiden (major number/minor number) avulla

  18. Linux I/O – devfs

  19. Linux I/O – pre devfs fd f_op File Object Device Driver Process open fops f_dentry read write release Dentry Object d_inode def_blk_fops (def_chr_fops) f_op Inode Object open fops read write i_sb release Superblock Object blkdevs (chrdevs) 1 name fops Disk File name 2 fops ...

  20. Esimerkki uudelleenohjauksesta – Microsoft CIFS Lähde: Solomon & Russinovich: Inside Microsoft Windows 2000, s. 804

  21. Microsoft Windows 2000/XP USB-ajuripinot Lähde: Microsoft Windows Driver Development Kit

  22. Microsoft Windows 2000/XP USB-laiteobjektipinot Lähde: Microsoft Windows Driver Development Kit

  23. Linux USB-alijärjestelmä

  24. Digi International AnyWhere USB Lähde: Digi International AnyWhere USB-esite

  25. Cypress WirelessUSB • SoC (System-on-a-Chip), joka voidaan integroida USB-laiteohjaimiin • toimii 2,4 GHz-taajuudella • nopeus 62,5 kbit/s • kantama 10-50 m riippuen mallista • tuki vain HID-laitteille Lähde: Cypress WirelessUSB LS Radio Module Datasheet

  26. NAIST USB/IP Project Vain Linux-ympäristö! Lähde: NAIST USB/IP Project – WWW-sivu

  27. Wireless USB (WUSB) • USB-väylän laajennus nopeaan langattomaan verkkoon • käyttää UWB-teknologiaa, taajuusalue 3.1-10.6 GHz • max. nopeudella 480 Mbit/s kantama 3 m, 110 Mbit/s-nopeudella kantama 10 m • tietoturva ja virranhallinta huomioitu • yhteensopiva langallisen USB:n kanssa Lähde: Intel Corporation

  28. Esitetty ratkaisu

  29. Esitetty ratkaisu

  30. Palvelun löytäminen ja varaaminen

  31. Putken laajentaminen

  32. Suorituskyky ja luotettavuus • langattoman lähiverkon käytännön nopeus vain noin puolet nimellisnopeudesta <-> USB full-speed (12 Mbit/s) ja high-speed (480 Mbit/s) • seuraukset alhaisemmasta nopeudesta ja latenssista? • USB-spesifikaation määrittelemät maksimiviiveet • hallintaputket: ok, eivät aikakriittisiä • bulkkiputket: ok, eivät aikakriittisiä. Ylikuormitus? • keskeytysputket: toimivat, mutta eivät ehkä täytä käyttäjän vastevaatimuksia • isokroniset putket: ongelmallisia, viive ja ylikuormitus? • sovelluksen ja laiteajurin ajastimet? • luotettavuus: TCP kuljetusprotokollana, uudelleenlähetys virhetilanteessa

  33. Tietoturva

  34. Johtopäätökset • onko ylipäätänsä mahdollista toteuttaa USB langattomassa lähiverkossa? • kyllä, vrt. NAIST USB/IP Linux-ympäristössä. Windows-ympäristössä dokumentoimattomat funktiot ja tietorakenteet saattavat tuottaa ongelmia. • mitä esteitä tai rajoituksia langaton lähiverkko aiheuttaa? • aikakriittiset sovellukset, jotka hyödyntävät keskeytys- ja isokronista siirtoa, eivät ehkä toimi halutulla tavalla. Yleensäkin suurta hetkellistä kaistanleveyttä vaativa siirto ongelmallinen. • mitä tarvitaan USB:n toteuttamiseksi langattoman lähiverkon yli? • esitetty ratkaisussa • miten paikallisesti liitetylle USB-laitteelle tarkoitettu data voidaan ohjata verkkoon? • esitetty ratkaisussa • suorituskyky, viive, luotettavuus, tehokkuus? • USB-spesifikaation viivevaatimukset täyttyvät. Laiteajurien ja sovelluksien viiveen sieto? Luotettavuus saavutetaan TCP-kuljetusprotokollalla suorituskyvyn kustannuksella.

  35. Johtopäätökset • hallinta ja samanaikaisuus? • toteutettava yhteistyönä Service Discovery/Access Control- ja Remote USB Bus/Host Controller Driver/Remote USB Driver-ohjelmien välillä • voiko langattomassa lähiverkossa oleva USB-laite toimia ikään kuin se olisi paikallisesti liitetty (samat laiteajurit, ei muutoksia sovelluksiin)? Miten tässä tapauksessa tietoturva ja palvelujen löytäminen? • voi, laitteen fyysisen liittämisen sijasta valitaan ohjelmallisesti haluttu resurssi. Laitteen fyysisen irrottamisen sijasta vapautetaan ohjelmallisesti kyseinen resurssi. Nämä toiminnot lataavat/poistavat muistista alkuperäiset laiteajurit. Modifioidut USB-ajurit tukevat käyttöjärjestelmän kytke-ja-käytä-, virranhallinta- ja valvontatoimintoja. • hallinnan helppous ja hyvä tietoturva ristiriitaisia tavoitteita.

More Related