FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
Garant předmětu: Ing. Pavel Šilhavý, Ph.D. Autoři textu: Ing. Pavel Šilhavý, Ph.D.
BRNO * 2013
Vznik těchto skript byl podpořen projektem č. CZ.1.07/2.2.00/28.0062 Evropského sociálního fondu a státním rozpočtem České republiky.
2
FEKT Vysokého učení technického v Brně
Autor
Ing. Pavel Šilhavý, Ph.D.
Název
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
Vydavatel
Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Ústav telekomunikací Technická 12, 616 00 Brno
Vydání
první
Rok vydání
2013
Náklad
elektronicky
ISBN
978-80-214-4827-8
Tato publikace neprošla redakční ani jazykovou úpravou
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
3
Obsah ÚVOD ........................................................................................................................................ 5 1 1.1 1.2 1.3 2 2.1 2.2 2.3 2.4 3 3.1 3.2 3.3 3.4 4 4.1 4.2 5 5.1 5.2 6 6.1 6.2 6.3 6.4 7 7.1 7.2 7.3 7.4 8 8.1 8.2 9 9.1 9.2 9.3 9.4 9.5
MODEMY PRO PŘENOS DAT...................................................................................... 6 ZÁKLADNÍ DATOVÝ ŘETĚZEC...........................................................................................6 SÉRIOVÉ MODEMY PRO TELEFONNÍ KANÁLY ....................................................................7 MODEMOVÁ SÍŤ TAINET INSTALOVANÁ V LABORATOŘI.................................................14 MODEMY DLE ITU-T V.34.......................................................................................... 22 INSTALACE MODEMU .....................................................................................................22 NAVÁZÁNÍ SPOJENÍ A PŘENOS DAT.................................................................................23 MANAGEMENT MODEMOVÉ SÍTĚ ....................................................................................24 ZÁLOHOVÁNÍ PEVNÉHO OKRUHU KOMUTOVANÝM ........................................................25 MODEMY V.34 – ODOLNOST PROTI ŠUMU .......................................................... 26 TEORETICKÝ ÚVOD – MODEM ZYXEL OMNI 288S .......................................................26 INSTALACE MODEMU .....................................................................................................28 DIAGNOSTIKA TELEFONNÍHO MODEMU ..........................................................................29 VLIV ŠUMU NA RYCHLOST SPOJENÍ ................................................................................29 MANAGAMENT MODEMOVÉ SÍTĚ......................................................................... 30 TEORETICKÝ ÚVOD - NETWORK MANAGEMENT SYSTÉM (NMS) ..................................30 ZADÁNÍ ÚLOHY ..............................................................................................................32 MSDSL MODEMY ......................................................................................................... 35 TEORETICKÝ ÚVOD A ZAPOJENÍ ÚLOHY .........................................................................35 ZADÁNÍ ÚLOHY ..............................................................................................................37 ENKAPSULAČNÍ PROTOKOLY PRO ZAČLENĚNÍ ADSL DO IP SÍTÍ ............. 39 TEORETICKÝ ÚVOD A ZAPOJENÍ ÚLOHY .........................................................................39 ENKAPSULAČNÍ PROTOKOLY..........................................................................................40 ZÁKLADNÍ NASTAVENÍ ZAŘÍZENÍ DSLAM EMUTEL MAESTRO ......................................53 ZADÁNÍ ÚLOHY ..............................................................................................................57 ANALÝZA MODULACE DMT .................................................................................... 58 TEORETICKÝ ÚVOD A ZAPOJENÍ ÚLOHY .........................................................................58 VÍCETÓNOVÁ MODULACE DMT.....................................................................................59 EXPERTNÍ REŽIM MODEMU ALCATEL SPEEDTOUCH HOME ............................................60 ZADÁNÍ ÚLOHY ..............................................................................................................66 MĚŘENÍ SPEKTRÁLNÍCH VLASTNOSTÍ ADSL A VDSL.................................... 67 TEORETICKÝ ÚVOD ........................................................................................................67 ZADÁNÍ LABORATORNÍ ÚLOHY ......................................................................................69 PROGRAMOVÁNÍ GSM MODEMU FASTTRACK M1306 .................................... 70 TEORETICKÝ ÚVOD ........................................................................................................70 SIGNALIZAČNÍ A OVLÁDACÍ MODUL ...............................................................................71 POPIS VYTVOŘENÍ PROJEKTU PRO MODUL OPENAT .......................................................72 VYTVOŘENÍ VLASTNÍ OPEN AT APLIKACE POMOCÍ OPEN-AT PROJECT WIZARD ..........73 POSTUP PRO VYTVOŘENÍ NOVÉ OPEN AT APLIKACE ......................................................73
4 9.6 9.7 9.8 9.9 9.10 9.11 9.12 9.13 9.14 9.15
FEKT Vysokého učení technického v Brně VLASTNOSTI VYTVOŘENÉ APLIKACE ............................................................................. 74 DATOVÉ TYPY POUŽÍVANÉ PŘI PROGRAMOVÁNI OPEN-AT APLIKACÍ ............................ 74 KNIHOVNY POUŽÍVANÉ V OPEN-AT.............................................................................. 74 POPIS VYBRANÝCH FUNKCÍ ........................................................................................... 76 UKÁZKOVÁ APLIKACE - BLIKAJÍCÍ ČERVENÉ LED DIODY .............................................. 77 UKÁZKOVÁ APLIKACE - PÍSKÁNÍ SIRÉNKY ..................................................................... 81 UKÁZKOVÁ APLIKACE - POSÍLÁNÍ SMS ZPRÁV POMOCÍ TLAČÍTKA ................................ 82 UKÁZKOVÁ APLIKACE - PŘÍJEM A SIGNALIZACE SMS ZPRÁV ........................................ 88 UKÁZKOVÁ APLIKACE - MULTIFUNKČNÍ APLIKACE....................................................... 94 ZADÁNÍ ÚLOHY ........................................................................................................... 101
10 KONFIGURACE WLAN A VPN SÍTĚ ......................................................................103 10.1 10.2 10.3
TEORETICKÝ ÚVOD ..................................................................................................... 103 POPIS PRACOVIŠTĚ ...................................................................................................... 103 ZADÁNÍ LABORATORNÍ ÚLOHY .................................................................................... 105
SEZNAM POUŽITÉ LITERATURY.................................................................................106
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
5
Úvod Skripta „Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO“ obsahují laboratorní úlohy zaměřené na technologie přenosu dat. V jednotlivých úlohách se mohou studenti prakticky seznámit s technologiemi ADSL, VDSL, MSDSL, jejich dosahem a vlivem rušení na přenosové vlastnosti, vlastnostmi použité modolace a praktickou konfiguraci, s telefoními modemy, s programovatelnými GSM modemy. V jednotlivých úlohách studenti porovnávají přenosovou rychlost na fyzické a aplikační vrstvě, konfigurují modemy a další síťové prvky, atd. a mohou si tak vytvořit představu o vlastnostech jednotlivých technologii a prostředcích pro jejich konfiguraci, správu a dohled.
6
FEKT Vysokého učení technického v Brně
1 Modemy pro přenos dat 1.1 Základní datový řetězec Základním předpokladem pro přenos datových signálů je vytvoření datového spoje. Členění datového řetězce uvádí Obr. 1.
I2
I3 Data
PZ
KJ
I1 UZ DCE
KZ DTE
I1 PO Přenosový okruh
I2 UZ DCE
I3 PJ
KZ
Data
KZ DTE
Datový okruh Datový spoj Obr. 1:
Základní řetězec přenosu dat pomocí modemu.
Koncové datové zařízení (KZ) bývá nejčastěji telekomunikační terminál, který se skládá z periferního zařízení (PZ) a komunikační jednotky (KJ). Periferní zařízení zajišťuje vstup a výstup dat (např. klávesnice, zobrazovací jednotka, atd). Úkolem komunikační jednotky je přiřazování periferních jednotek, kódové převody, značková a bloková synchronizace a zabezpečení přenosu dat. Jako koncového zařízení může být použit např. osobní počítač, s příslušným telekomunikačním programovým vybavením. Ukončující datové zařízení (UZ) je obecný název pro různá zařízení jako jsou měniče datových signálů, modemy a ukončující jednotky datových sítí. Jejich hlavním úkolem je přeměnit datový signál, které přichází z KZ (skrz rozhraní I2) na jiný datový signál, který je technicky a ekonomicky výhodný pro přenos po užitém typu přenosového okruhu (PO). Druhým, neméně důležitým úkolem je vytváření interaktivních vazeb mezi blízkým KZ a vzdáleným UZ i KZ, které umožňují automatizované zahájení, kontrolu a ukončení datového přenosu. 1.1.1
Ukončující datové zařízení
Hlavním úkolem UZ je přeměnit původní digitální signál, jež přichází z KZ, na takový signál, který je vhodný pro přenos po daných telekomunikačních kanálech. Proto se takováto UZ často označují jako měniče datového signálu nebo zkráceně datové měniče. Měniče v přeloženém pásmu jsou charakterizovány tím, že původní digitální datový signál v základním pásmu přecházející z KZ převádějí na jiný signál v přeloženém frekvenčním pásmu, který je vhodný pro přenos daným telekomunikačním kanálem. Metodou je nejčastěji modulace harmonického nosiče. Podobně musí zajistit i opačný převod demodulaci. Měniče v přeloženém pásmu jsou často nazývaný MODEMy (MODulace-DEModulace).
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
7
1.2 Sériové modemy pro telefonní kanály Používá-li se pro přenos dat telefonních kanálů o šířce pásma 300 až 3400 Hz, je UZ nejčastěji telefonní modem se sériovým přenosem dat. Jeho hlavním úkolem je jednak přeměnit datový signál, přicházející z KZ a obsahující stejnosměrnou složku, na modulovaný analogový signál, který již lze přenášet telefonním kanálem, a dále zprostředkovat vytvoření, udržování a zrušení datového okruhu. 1.2.1
Stavba modemů
Konkrétní modemy jsou řešeny buď jako samostatné přístroje nebo jako přídavné zásuvné desky do počítače a nebo jsou přímo umístěny v jednom konstrukčním celku s koncovými zařízením. Nová obvodová i technologická řešení umožnila nejen zvýšit přenosové rychlosti a zmenšit konstrukční rozměry, ale i zvýšit spolehlivost a efektivitu datových přenosů na telefonních okruzích. Moderní modem je v podstatě specializovaný řídící počítač, vybavený vhodnými periferiemi a programovým vybavením. Obr. 2 uvádí základní blokové uspořádání modemů. Vysílač – upravuje datový signál, který přichází z KZ, do podoby vhodné pro přenos kanálem. Základní činností vysílače je modulace. Kromě toho se zde vykonávají funkce, které vedou ke zlepšení provozních parametrů modemu (kódování, skramblování,…).
Vysílač
KZ
Řízení
Linková jednotka
Telefonní vedení
Přijímač
Obr. 2:
Zjednodušené blokové schéma modemu.
Přijímač – zajišťuje proces opačný k procesu vykonanému ve vysílači, tj. hlavně demodulaci spojenou s úpravou vstupní úrovně signálu na velikost potřebnou pro zpracování signálu. Dále pak inverzní funkce k funkcím zajišťujícím definované provozní parametry (dekódování, deskramblování,…). Linková jednotka – zajišťuje vysílací úroveň signálu, galvanické oddělení vlastního kanálu od modemu, rozdělení vysílacího a přijímacího směru (kmitočtové dělení, potlačování ozvěn) a možnost připojení dorozumívací jednotky. Řízení – zajišťuje řízení jednotlivých částí modemu a komunikace s KZ, případně kompresi dat, korekci chyb a další funkce.
8 1.2.2
FEKT Vysokého učení technického v Brně Rozhraní I2
Funkční charakteristiky I2 jsou normalizovány dle doporučení ITU-T V.24 (v počítačovém světě RS232). Definováno je 42 vazebních obvodů pro všeobecné použití (obvody řady 100). Každý z obvodů řady 100 je připojen k definovanému kontaktu konektoru a plní určenou funkci. 1.2.3
Standardy a doporučení
Proto, aby modemy různých výrobců mohly spolupracovat, vznikla postupem času celá řada doporučení, které specifikují, jaké by modemy měli mít vlastnosti. Doporučení definují především způsob komunikace a parametry rozhraní (I1, I2). V Evropě platí pro modemy doporučení řady V. dle ITU-T (International Telecommunication Union). 1.2.4
Datové standardy
Datové standardy definují parametry pro fyzickou realizaci spojení, jako jsou pracovní frekvence a způsoby modulace dat. Tyto standardy nedefinují algoritmy pro korekci chyb a kompresi dat (viz dále). Datové standardy: V.21 Přenosová rychlost 300 b/s. Používá se frekvenční modulace s modulační rychlostí 300 Bd. Standard umožňuje synchronní i asynchronní přenos dat, plný duplex, frekvenční oddělení kanálů. Frekvence nosných kmitočtu jsou 1080 Hz a 1750 Hz. Standard je určen pro komutované linky. V.22 Přenosová rychlost 1200 b/s s možností snížení na 600 b/s. Používá se fázová modulace s modulační rychlostí 600 Bd. Standard umožňuje synchronní i asynchronní přenos dat, plný duplex, frekvenční oddělení kanálů. Frekvence nosných kmitočtů jsou 1200 Hz a 2400 Hz. Standard je určen pro pevné i komutované linky. V.22bis Přenosová rychlost 2400 s možností přechodu na standard V.22. Používá se QAM s modulační rychlostí 600 Bd. Standard umožňuje synchronní i asynchronní přenos dat, plný duplex, frekvenční oddělení kanálů. Frekvence nosných kmitočtů jsou 1200 Hz a 2400 Hz. Standard je určen pro komutované i pevné linky. Je spolehlivý i na rušených linkách. V.23 Přenosová rychlost 1200 b/s se zpětným kanálem o rychlosti 75 b/s. Je možné snížení přenosové rychlosti na 600 b/s. Používá se frekvenční modulace s modulační rychlostí 1200 Bd (600 Bd při přenosové rychlosti 600 b/s). Frekvence nosných kmitočtů jsou 1300 Hz a 2100 Hz (1300 Hz a 1700 Hz při snížení přenosové rychlosti na 600 b/s). Standard umožňuje synchronní i asynchronní přenos dat. Požívá se pouze pro komutované linky. V.26 Přenosová rychlost 2400 b/s. Používá se fázová modulace s modulační rychlostí 1200 Bd. Standard umožňuje plný duplex, synchronní i asynchronní přenos dat. Frekvence nosného kmitočtu je 1800 Hz. Je určen pro pevné čtyřdrátové okruhy. V.26bis Přenosová rychlost 2400 b/s s možností snížení na 1200 b/s. Používá se fázová modulace s modulační rychlostí 1200 Bd. Standard umožňuje poloduplex a synchronní přenos dat. Frekvence nosného kmitočtu je 1800 Hz. Je určen pro komutované okruhy. V26ter Přenosová rychlost 2400 b/s s možností snížení na 1200 b/s. Používá se fázová modulace s modulační rychlostí 1200 Bd. Standard umožňuje poloduplex i plný duplex, synchronní i asynchronní přenos dat, oddělení kanálů technikou potlačení ozvěn. Frekvence nosného kmitočtu je 1800 Hz. Je určen pro pevné i komutované linky.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
9
V.27 Přenosová rychlost 4800 b/s.Používá se fázová modulace s modulační rychlostí 1600 Bd. Standard umožňuje synchronní přenos dat, poloduplex i plný duplex. Frekvence nosného kmitočtu 1800 Hz. Je určen pouze pro pevné linky. V.27bis Přenosová rychlost 4800 b/s s možností snížení na 2400 b/s. Používá se fázová modulace s modulační rychlostí 1600 Bd (1200 Bd při přenosové rychlosti 2400 b/s). Standard umožňuje synchronní přenos dat, poloduplex i plný duplex. Frekvence nosného kmitočtu 1800 Hz. Je určen pouze pro pevné linky. V.27ter Přenosová rychlost 4800 b/s s možností snížení na 2400 b/s. Používá se fázová modulace s modulační rychlostí 1600 Bd (1200 Bd při přenosové rychlosti 2400 b/s). Standard umožňuje synchronní přenos dat, poloduplex i plný duplex. Frekvence nosného kmitočtu 1800 Hz. Je určen pouze pro komutované linky. Tento standard je využíván i při faxovém přenosu. V.29 Přenosová rychlost 9600 b/s s možností snížení na 7200 b/s a 4800 b/s. Používá se QAM (pro přenosovou rychlost 9600 b/s) a fázová modulace (pro přenosové rychlosti 7200 b/s a 4800 b/s). Standard umožňuje poloduplex i plný duplex. Frekvence nosného kmitočtu je 1700 Hz. Je určen pouze pro čtyřvodičové pevné linky. V.32 Přenosová rychlost 9600 b/s s možností snížení na 4800 b/s. Provoz je interně synchronní. Standard umožňuje poloduplex i plný duplex, oddělení kanálů technikou potlačení ozvěn. Frekvence nosného kmitočtu 1800 Hz. Relativně spolehlivý protokol určený pro komutované i pevné linky V.32bis Přenosová rychlost 14000 b/s s možností postupného snižování rychlosti na 12000 b/s, 9600 b/s, 7200b/s, 4800b/s. Provoz je interně synchronní. Standard umožňuje plný duplex. Při plné rychlosti je na rušených linkách méně spolehlivý než V.32. V.33 Přenosová rychlost 14000 b/s s možností snížení. Plně synchronní provoz. Modulace128st. TCM. V.34 Přenosová rychlost 33600 b/s s možností postupného snižování rychlosti na 31200b/s, 28000b/s, 26400 b/s, 24000 b/s, 21600 b/s, 19200 b/s, 16800 b/s, a 14400 b/s. Modulace 960 TCM, modulační rychlost 2400 – 3429 Bd. V.90 Definuje dvojici modemů, analogový a digitální, asymetrický přenos. Vysílaná data (upstream) 33,6kb/s stejné jak V.34. Přijímaná data 56kb/s (downstream). Modulace PCM G.711, modulační rychlost 8000Bd. V.92 Rozšíření specifikace V.90. Modulace PCM je využita i pro vysílaná data (upstream) s rychlostí až do 48kb/s. Dále umožňuje zkrácení času, jež je potřeba pro inicializaci. Umožňuje funkci Modem-on-Hold, která umožňuje přerušit online relaci kvůli příchozímu hovoru a opět ji obnovit po ukončení hovoru bez nutnosti opět vytáčet číslo a s podstatně kratším časem potřebným pro inicializaci. Pro tuto funkci je však nezbytné, aby telekomunikační operátor umožňoval službu Call Waiting. 1.2.5
Detekce a korekce chyb u modemů
Zabezpečení přenosu dat je úkolem především KZ (Koncového zařízení), přesto z důvodu zlepšení odolnosti především vůči impulsnímu rušení bývají implementovány do moderních duplexních modemů speciální protokoly, jež zabezpečují signál proti chybám při přenosu uvnitř datového okruhu.
10
FEKT Vysokého učení technického v Brně
Užívá se protokolů: protokol MNP 1-4 (Microcom Networking Protocol) protokol LAP-M (Link Access Protocol for Modems) protokol podle V.42 (Postupy opravování chyb pro UZ používající konverze asynchronního signálu na synchronní) kód TCM (Trellis Coded Modulation) Protokol MNP je definován v deseti úrovních. Úrovně 1 až 4 zajišťují pouze detekci a korekci chyb, úrovně 5 až 10 zavádějí do přenosu i kompresy dat. Pro detekci chyb v přijatém bloku dat se užívá zabezpečení cyklickým kódem. Úrovně 1 a 2 používají asynchronní znakově orientované metody s protokolovou účinností 70% a 84%. Protokol MNP-3 užívá bitově orientovaný protokol, kde asynchronní tok je změněn na synchronní dle ITU-T V.14. Odstraněním rozběhových a závěrných prvků se zvyšuje protokolová účinnost na 108%. Protokol MNP-4 navíc umožňuje tzv. adaptivní tvorbu bloků, kdy modemy průběžně monitorují chybovost na úseku mezi nimi, a podle toho automaticky řídí délku zabezpečovaných bloků. Dále optimalizuje vlastní přenos dat tak, že redukuje služební doprovodné údaje, které mají často mnoho redundance. Těmito prostředky se protokolová účinnost zvyšuje až na 120%. Protokol LAP-M vychází z protokolu HDLC. Pro detekci chyb v přijatém bloku dat se užívá zabezpečení cyklickým kódem. Protokol dle V.42 se užívá pro duplexní modemy a jakýmsi zastřešujícím protokolem, protože obsahuje protokoly MNP i LAP-M a tzv. alternativní protokol, vycházející z protokolů NP 1-4. Doporučení V.42 určuj předepsané procedury navazování spojení, při nichž se zjišťuje, zda vzdálený modem podporuje LAP-M nebo MNP. Detekční a korekční schopnost má i mřížový kód tzv. TCM (Trellis Code Modulation). Jedná se o rozšíření QAM modulace. Korekční schopnost této modulace se dosahuje přidáním redundantního bitu k sekvenci signálových prvků. Zavedení předpisu, který s přijaté sekvence určí zda ji lze považovat za platnou čí nikoli, umožní detekci chyby a nahrazení nejbližší platnou datovou sekvencí. 1.2.6
Komprese dat v modemech
Komprese dat má za účel snížit nadbytečnost (redundanci) původní datové sekvence a tak dosáhnou lepší využití poskytnuté přenosové rychlosti. Účinnost kompresního algoritmu je popsána tzv. kompresním poměrem, jež vyjadřuje poměr přenosové rychlosti komprimovaných dat ku přenosové rychlosti dat nekomprimovaných. Nejznámější typy redundance a prostředky k její snižování: Znaková redundance – kompresní algoritmus nahrazuje nejčastěji se vyskytující znaky kratším bitovým vyjádřením. Bloková redundance– kompresní algoritmus nahrazuje často se opakující skupiny znaků zkráceným vyjádřením. Poziční redundance– kompresní algoritmus nahrazuje skupiny znaků, jež se vyskytují na předem odhadnutelné pozici. Nejznámější metody komprese v modemech jsou protokoly MNP 5-10 a protokol dle doporučení ITU-T V.42bis. Protokol MNP 5 je asynchronní algoritmus datové komprese, který vychází z adaptivního Huffmanova kódování. Jde především o snížení znakové redundance. Každý byte je nejprve podroben kompresy a poté je zabezpečen dle MNP 4. Protokol MNP 6 je navržen pro rychlé poloduplexní modemy a jeho hlavní výhoda
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
11
spočívá ve zrychlení obracen směru přenosu. Protokol MNP 7 má účinnější kompresní algoritmus snižující dále blokovou a poziční redundanci a dosahuje kompresního poměru až 3:1. Další protokoly MNP vyšších úrovní přinášejí relativně malé zlepšení na úkor relativně velkého zvýšení složitosti. Protokol MNP 8 je určen opět pro poloduplexní provoz. Protokol MNP 9 vylepšuje rozhodovací procesy pro volbu optimálních metod. Protokol MNP 10 je určen pro zvláště nekvalitní datové okruhy a jeho přenosová rychlost je řízena v závislosti na chybovosti. Doporučení V.42bis vzniklo v době, kdy už existovala řada kompresních metod (MNP 5, MNP 7 atd.), které však nebyly mezinárodně standardizovány. Při rozhodování nakonec tehdejší CCITT založilo tento standard na tzv. Lempel-Ziv-Welch algoritmu, modifikovaném firmou British Telecom. Jeho hlavní výhody jsou: Dynamický slovník komprese (zkrácené znakové řetězce, nejnižší potřeba paměti), Automatické rozpoznávání náhodného charakteru vstupních dat (ta nejsou komprimována a komprese se vypíná), Vyšší průměrný kompresní poměr. Kompresní metody V.42bis a MNP 5-10 jsou vzájemně nekompatibilní. 1.2.7
Navazování spojení mezi modemy V.8
Doporučení V.8 specifikuje signály, které jsou použity během navazování spojení. Komunikace mezi modemy probíhá v protokolu V.21 (300bit/s). Během této inicializační sekvence dochází zejména k výměně následujících informací: Typ spojení (např. data –V serie, Videotext –T.101, PSTN Multimedia Terminal - H.324, atd. ) Dostupné modulační mody a podporované standardy Způsob protichybové korekce 1.2.8
Řízení toku dat
Po navázání spojení oznámí modem počítači informaci o přenosové rychlosti. Pokud modem nepodporuje korekci chyb nebo kompresi dat, je při tzv. "přímém spojení" nutné sladit rychlost přenosu dat mezi modemy s rychlostí přenosu dat z modemu do počítače. Opakem jsou modemy s "řízením toku dat" které nepotřebují sladit rychlost datové propustnosti s rychlostí komunikace modemu s počítačem. Počítač pak může vyzvedávat data z modemu vyšší rychlostí (např. 38 400), než data přicházejí z druhého modemu (např. 9 600). Opačný poměr rychlostí není možný. Větší rychlost přenosu dat z modemu do počítače je výhodná, pokud modem používá kompresi dat. Data přicházejí do modemu z jeho protějšku konstantní rychlostí, ale po dekompresi v modemu nabudou na objemu (až 4 krát u V.42bis). V tomto případě oceníme rychlejší přenos dat z modemu do počítače. Pokud se v takovémto případě ovšem špatný program pokouší sladit rychlost spojení s rychlostí odesílání dat do počítače, dojde ke ztrátě či znehodnocení dat. V tomto případě modem umožňuje tuto situaci vyřešit oznamováním "falešných" rychlostí rovných maximální teoretické datové propustnosti. 1.2.9
Metody řízení toku dat (flow control)
Metody řízení toku dat umožňují přenášet mezi modem a počítačem informace o možnosti přenosu dat nebo o nutnosti vyčkat, až bude protějšek data schopen přijmout. Umožňuje tak řešit situaci při komprimaci dat, kdy data sice přicházejí do modemu konstantní
12
FEKT Vysokého učení technického v Brně
rychlostí, ale po dekomprimaci se dynamicky mění jejich objem a tak i potřebná frekvence jejich odesílání do počítače. Tok dat z modemu do počítače lze řídit dvěma způsoby. První je označován jako softwarový (tzv. software handshaking) a je realizován pomocí posílání speciálních řídících znaků Xon/Xoff. Druhý je označován jako hardwarový (tzv. hardware handshaking) a je realizován dvěma řídícími signály RTS/CTS rozhraní RS232). Hardwarová metoda řízení toku dat je obecně více používána, je rychlejší a spolehlivější. Softwarové řízení toku dat nelze používat při přenosu binárních dat (mohou obsahovat speciální znaky Xon/Xoff a narušit tak řízení toku dat mezi modemem a počítačem), hodí se tedy pouze pro terminálovou emulaci a tak patří trochu historii. Hardware handshaking (označováno také jako RTS/CTS) pracuje s dvěma signály RTS a CTS. Když je jedna strana připravena odeslat data, nastaví signál RTS (Request to Send žádost o povolení k odeslání dat), na který protější strana odpoví signálem CTS (Clear to Send - připraven přijmout data), až když je schopna data přijmout. Takto se zařízení chrání před zasláním více dat, než jsou schopna přijmout. Uvedený postup platí u obou směrů komunikace. 1.2.10 Nastavení parametrů modemů Modemy obvykle umožňují změnu nastavení řady provozních parametrů. Současné modemy umožňují nastavení parametrů programově přímo z klávesnice terminálu pomocí tzv. AT příkazů. Metodu AT příkazů aplikovala poprvé firma Hayes. Jde o soubor příkazů začínajících většinou dvojznakem AT (attention) a umožňuje zejména nastavení parametrů modemu, ale i jiné funkce. Používání AT příkazů se rychle rozšířilo a stalo se de facto standardem. Nyní je využívá většina výrobců a jsou podporovány v určité modifikaci téměř každým modemem. Některé standardní AT příkazy: ATA-modem okamžitě zvedne telefon a naváže spojení (pokud někdo volá). ATD-Vytáčení čísla. Za tímto příkazem následuje řetězec znaků tvořící zpravidla telefonní číslo. V tomto řetězci se mohou vyskytovat i speciální symboly, jež mohou vytáčení čísla ovlivňovat. Jsou to např. následující znaky: T- tónová volba, P- pulsní volba, ; - po vytočení se modem vrátí do příkazového režimu, ‘,‘-vloží pauzu mezi dvě vytáčená čísla, atd. ATE-Zapínání a vypínání opisu znaků (echo). AT&F-Nastavení modemu dle doporučení výrobce. ATH-Příkaz, aby modem zavěsil telefonní linku. Vynucené zavěšení ATH0. ATO-Přepnutí modemu zpět do režimu přenosu dat. Typicky byl li přepnut pomocí sekvence ‘+++‘ do příkazového režimu. ATS-Manipulace s vnitřními S-registry viz. v další kapitole. Nastavení S registru ATS<číslo>=hodnota, zjištění hodnoty ATS<číslo>?. ATZ-Inicializace modemu. Modem zavěsí telefonní linku, zinicializuje modem a přepne modem do příkazového režimu. ‘+++’-Žádost o přerušení režimu přenosu a návrat do příkazového režimu tzv. escape sekvence.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
13
1.2.11 S-registry Část paměti RAM modemu tvoří tzv. S-registry, v nich se uchovávají informace pro nastavení modemu. Počet registrů se liší podle výrobce, prvních 11 jich bývá standardních, ostatní registry výrobci přidávají podle konkrétních požadavků. Obsah registrů lze zobrazit a jejich hodnotu měnit pomocí AT příkazů. Některé S-registry: S0-Počet zvonění po kterých modem zvedá telefon (S0=0 -nezvedne). S1-Počítá kolik bylo zvonění. S2-Určuje kód znaku pro přerušení Standardně nastaven na 43 (+) . S3-Kód znaku konec řádků. Standardně nastaven na 13 (tj. skutečné CR v ASCI). S4-Kód znaku “odřádkování“. Standardně nastaven na 10. S5-Kód znaku “smazání posledního znaku“ (Backspace). Standardně nastaven na 8. S6-Počet sekund, které má modem čekat na vytáčecí tón. Standardně 2. S7-Počet sekund, které má modem po vytočení čísla čekat na nosný signál. (30s). S8-Délka pauzy, kterou modem vkládá při vytáčení čísla narazí li na ‘,‘. Standardně 2s. S9-Minimální délka trvání oznamovacího, čí obsazovacího tónu. Standardně 6 (tj. 0,6s). S10-čas mezi ztrátou nosného signálu a zrušení spojení. Standardně 14 (tj. 1,4s). S11-Nastavení rychlosti tónové volby. Standardně 70-95. 1.2.12 Ovládací programy Pro komunikaci modemů navzájem a k jejich ovládaní se používají komunikační programy (Telix, BitCom, DataTalk, Qmodem,…). Někdy mohou být komunikační programy přímo součástí operačních systému (Windows, UNIX,…). Některé komunikační programy umožňují uživateli ovládat modem buď pomocí příkazového módu, kdy se AT příkazy odesílají modemu z klávesnice, nebo nepřímo, kdy uživatel nastaví parametry přenosu zvolením nabízených možností. Uživatel pak nemusí nutně AT příkazy znát, neboť konverzi zvolených parametrů provede program sám. 1.2.13 Přenosové protokoly Zmodem Má vysokou efektivní rychlost přenosu, umožňuje kontinuální přenos více souborů, používá bloky variabilní velikosti, Ymodem Umožňuje kontinuální přenos více souborů. Xmodem Protokol s jednoduchou detekcí chyb, bloky o velikosti 128 bajtů, Kermit Bývá implementován v různých prostředích je ho možné využít v případě nouze při přenosu souborů mezi různými operačními systémy,
14
FEKT Vysokého učení technického v Brně ASCII Pro přenos textových dat, nenabízí žádnou detekci a ochranu proti chybám
1.2.14 Diagnostické funkce modemů Řada modemů je vybavena možnostmi diagnostikovat některé přenosové funkce a vlastnosti. V nejjednodušších případech je to kontrola stavů nejdůležitějších obvodů rozhraní I2 pomocí světelných indikátorů, dále je možno iniciovat vytváření diagnostických smyček. Základním předpisem pro provádění tzv. smyčkových zkoušek modemů je doporučení V.54. Tyto smyčkové zkoušky slouží ke snadné lokalizaci poruch, umožňují místní nebo dálková měření, analogová nebo digitální. Moderní modemy umožňují celou řadu dalších diagnostických i dálkových nastavovacích funkcí a měření digitálních či analogových parametrů přenosového okruhu.
1.3 Modemová síť Tainet instalovaná v laboratoři Základem modemové sítě jsou dvě dvojice modemů, které vytváří dvě samostatné datové cesty. První dvojicí modemů jsou modemy pro běžné telefonní vedení, T-336Cx v externím provedení a T-336NDx v roštovém provedení, s maximální přenosovou rychlostí 33,6 kb/s. Navzájem jsou propojeny pomocí jednoho měděného páru a to buď přímo (pevný spoj) a nebo přes pobočkovou ústřednu (komutovaný spoj). K počítačům jsou modemy připojeny skrze sériové rozhraní RS-232. Druhou dvojicí modemů jsou MDSL modemy, XSTREAM 1300 v externím provedení a XSTREAM 1320 v roštovém provedení. Modemy v roštovém provedení T-336NDx a XSTREAM 1320 jsou umístěny v roštu TRS-32. Ten je pro využití systému vzdálené správy NMS (Network Management System) připojen rozhraním 10Base-T vestavěného komunikačního serveru do školní sítě LAN.
PC
PC
připojeno na T-336NDx Ethernet
PbÚ PC
PC pev ný spoj 33.6 kb/s T-336Cx
připojeno na XSTREAM 1320
pev ný spoj 2048 kb/s
WANpro 2000 připojeno na LAN NMC
Modemov ý rošt TSR-32
PC
Obr. 3:
TMW - konf igurace modemov ésítě
Struktura modemové sítě Tainet.
PC XSTREAM 1300 + modul WANpro 2000
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO 1.3.1
15
Modemový rošt TRS-32
Je to standardní devatenácti-palcový rošt, disponující 16 volnými pozicemi, ve kterých je možné současně provozovat jak standardní faxmodemy tak i novější DSL modemy. Rošt se skládá z rámu, napájecího zdroje a řídící jednotky NMC (Network Management Control Unit). V roštu je umístěna řídící jednotka NMC-9000, s integrovaným komunikačním serverem CS (Communication Server). Ta slouží k správě vložených zařízení, konfiguraci alarmu a nastavení parametrů systému síťové správy NMS (Network Management System). K ovládání lze použít tlačítka a displej na předním panelu řídící jednotky, nebo systém vzdálené správy NMS, případně službu TELNET. Pro vzdálenou správu roštu lze použít sériové rozhraní (RS-232, RS-485), nebo síťové rozhraní (LAN, WAN). Přední panel řídící jednotky je doplněn tlačítkem pro zapnutí a vypnutí akustické signalizace alarmu a pěti LED diodami indikujícími stav napájení, stav alarmu, sledování roštu systémem NMS a připojení CS do LAN či WAN. V roštu TRS-32 jsou umístěny: XSTREAM 1320, duální MSDSL modemová karta 2 Mb/s T-336NDx, duální modemová karta 33,6 kb/s řídící jednotka NMC-9000 1.3.2
Modem T-336Cx/NDx
V laboratorní síti jsou zařazeny dvě varianty modemu, externí T-336Cx a duální modemová karta T-336NDx umístěná v roštu. Jedná se o multi-standardní, synchronní i asynchronní, plně duplexní modem. Je navržen pro použití na 2-vodičových komutovaných nebo na 2/4-vodičových pevných spojích.
Obr. 4:
Čelní panel modemu T-336Cx.
Vlastnosti: možnost ovládání a nastavení z předního panelu pomocí tlačítek a LCD panelu indikace provozních stavů pomocí LED vzdálená konfigurace přes hlavní, nebo sekundární kanál automatické zálohování pevné linky komutovanou, s automatickým či manuálním obnovením diagnostické schopnosti, autotest po zapnutí, analogová smyčka, digitální smyčka a vzdálená digitální smyčka, BER test konfigurovatelné profily automatické snižování a zvyšování rychlosti monitorování stavu vedení
16
FEKT Vysokého učení technického v Brně Popis: Doporučení: V.34+ 336, V.34+ 312, V34 288, V32b 144T, V32 96T, V22b 24,... Datový protokol: V.42bis, V.42, MNP-5, Normal, Direct,..... Typ spoje: D (Dial Line), L (Leased Line). Mód: ANS-Answer Mode, ORG-Originate Mode. Stav modemu: Stanby, Handshaking, Connect, Retrain, Ring... SQ: Kvalita signálu 9,8,7,6....,0 Technické parametry:
Plná kompatibilita s ITU-T: V.33, V.27bis, V.26, V.24, V.28, V.25bis, V.54, V.52, V.14, V.13, V.8. Tab. 1:
Podporované doporučení modemem T-336Cx.
Doporučení
Přenosová rychlost (bit/s)
V.34 +
33600, 31200
V.34 V.32bis
28800, 26400, 24000, 21600, 19200, 16800, 14400, 12000, 9600, 7200, 4800, 2400 14400, 1200, 7200
V.32
9600, 4800
V.26bis
2400, 1200
V.23
1200/75
V.22bis
2400
V.22
1200
V.21
0-300
BELL 212A
1200
BELL 103
0-300
V.17
14400, 12000, 9600, 7200
V.29
9600, 7200
V.27ter
4800, 2400
V.21 channel 2 300 Rychlost DTE: Asynchronní: 75, 300, 600, 1200, 2400, 4800, 7200, 9600, 12000, 14400, 16800, 19200, 21600, 24000, 26400, 28800, 31200, 33600, 38400, 57600, 76800, 115200 bit/s Synchronní: 1200, 2400, 4800, 7200, 9600, 12000, 14400, 16800, 19200, 21600, 24000, 26400, 28800, 31200, 33600 b/s Korekce chyb: MNP4, V.42 Komprese dat: MNP5, V.42bis
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
17
Kontrola toku dat: RTS/CTS, CTS ONLY, XON/XOFF Ovládací příkazy: Rozšířená sada příkazů AT a V.25bis Linkové rozhraní: Externí verze: RJ-11 pro komutovanou linku, JM8 pro pevnou linku Roštová verze: svorkovnice DTE rozhraní: ITU-T V.24/V.28, EIA RS-232C 1.3.3
TAINET Manager for Windows
Jedná se o software, prostřednictvím něhož probíhá vlastní správa modemové sítě. Je určen pro platformu PC (IBM kompatibilní), s operačním systémem MS Windows. Nabízí plně grafické prostředí, ve kterém jsou veškeré funkce dostupné buď pomocí myši, nebo klávesnice. TAINET MANAGER FOR WINDOWS ovládá obvyklé činnosti jako je monitoring, konfigurace, testování, vytváření statistických zpráv pro všechny modemy v síti a množství dalších přídavných funkcí.
Obr. 5:
Program Tainet for Windows.
AT příkazy a návratové kódy modemu Tainet T-336CX: Každá příkazová řádka musí začínat znaky AT (ATtention code). Oba znaky musí být buď velkými, nebo malými písmeny, ale můžete psát příkazy v jakékoliv kombinaci. Příkazy zadávejte po hlášení OK. Modem ignoruje mezery mezi znaky. Jestliže uděláte chybu, stiskněte klávesu
() a napište správně. K vykonání příkazu stiskněte <Enter>.
18
FEKT Vysokého učení technického v Brně Zadávání příkazů při nastavené rychlosti:
Když zapnete modem, můžete zadávat příkazy z jakékoliv nastavené rychlosti na sériovém portu do 115 200 b/s. Ukládání více uživatelských souborů nastavení (profile): Uživatelský soubor nastavení je skupina upravených AT příkazů. Můžete vytvořit a uložit až 2 tyto soubory (0 a 1). Příkaz &Yn vybere soubor k užívání. Příkazy &Wn tyto soubory nastavení ukládá; Zn je resetuje. K nastavení uživatelských souborů nastavení: napište AT&Yn <Enter> k vybrání souboru nastavení, který chcete, aby byl aktivní po zapnutí. (Např. AT&Y1 <Enter> pro užití souboru nastavení 1) napište všechny příkazy, které potřebujete pro tu, či kterou aplikaci napište buď AT&Wn <Enter> pro uložení příkazů. (Např. pro soubor nastavení 2 napište AT&W1 <Enter>.) když změníte některé příkazy a potřebujete obnovit uložený soubor nastavení, napište ATZn. (Např. pro soubor 1 napište ATZ1 <Enter>.) Pro vrácení k továrním hodnotám napište AT&F <Enter> a následovně &Wn. (Např. napište AT&F&W1 pro uložení základních hodnot do souboru nastavení 1.) Důležité: Příkaz ATZ vždy vymaže jakákoliv data uložená v bufferu. Návratové kódy: Po odeslání příkazů modem odpovídá návratovými kódy. Tyto kódy poukazují na stav modemu nebo spojení. Pro slovní návratové kódy zadejte ATV1 (tovární nastavení), pro číselné návratové kódy zadejte ATV0. Pro potlačení návratových kódů zadejte ATQ1. Tab. 2 reprezentuje návratové kódy modemu a jejich význam. Následující Tab. 3 obsahuje klíčové AT příkazy a jejich základní nastavení. Tato základní nastavení pracují ve většině instalací a pravděpodobně je nikdy nebudete muset měnit. Tab. 2:
Návratové kódy modemu T-336Cx.
Návratový kód
Číselné kódy
Popis
BUSY
07
Modem detekoval obsazovací signál
CARRIER xxxx
40-58
Nosná rychlost xxxx b/s
COMPRESSION nn
66-69
Zvolená komprese typu nn
CONNECT xxxx
01
Spojení vytvořeno na rychlosti xxxx
ERROR
04
Chyba v zadání příkazu
NO ANSWER
08
V režimu tzv. tiché odpovědi
NO CARRIER
03
Modem nedetekoval nosnou
NO DIALTONE
06
Modem nedetekoval oznamovací tón
OK
00
Úspěšné vykonání příkazu
PROTOCOL: nn
70,77,80
Spojení vytvořeno pod protokolem nn
RING
02
Modem detekoval přicházející hlášení
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO Tab. 3:
AT příkazy modemu T-336Cx.
AT
Název
A
Zvedne modem v režimu odpovědi nezávisle na registru S0
A/
Opakuje poslední příkaz
Bn
ITU-T/Bell mód B0 Užívá ITU-T V.22 a V.21 standardy pro rychlosti 1200 a 300 b/s B1 Užívá Bell 212A a 103 standardy pro rychlosti 1200 a 300 b/s
&Cn
Řízení CD na sériovém portu C0 CD vždy vypnuto C1 CD sleduje stav nosné od vzdáleného systému
D
Vytáčení
En
Příkazové echo E0 Echo vypnuto na lokálním zařízení (potlačen výpis zadávaných znaků) E1 Echo zapnuto na lokálním zařízení (zapisované znaky se budou zobrazovat)
Hn
Zavěšení (Hang Up) H0 Odpojení od vzdáleného systému a zavěšení telefonní linky H1 Odpojení od vzdáleného systému a vyvěšení v příkazovém režimu
Ln
Hlasitost reproduktoru L0 Reproduktor vypnut L1 Hlasitost malá L2 Hlasitost střední L3 Hlasitost velká
Mn
Řízení reproduktoru M0 Reproduktor vypnut M1 Zapne reproduktor, dokud modem nepřijme nosnou M2 Zapne reproduktor, kdykoliv je modem vyvěšen M3 Vypne reproduktor, když modem vytáčí a zapne, dokud modem nepřijme nosnou
On
Přepnutí z příkazového režimu do CONNECT stavu
Qn
Odpověď modemu Q0 Posílá odpovědi do počítače Q1 Neposílá odpovědi do počítače
P
Pulsní volba
Sn?
Zobrazí registr (např. ATS0=?)
19
20
FEKT Vysokého učení technického v Brně
Sn=v
Nastaví registr na hodnotu v
T
Tónová volba
Vn
Forma návratových kódů V0 číselný kód V1 slovní kód
Wn
Hlášení připojovací rychlosti W0 Zobrazí připojovací rychlost na sériovém portu W1 Zobrazí připojovací rychlost na sériovém portu, protokol, carrier W2 Zobrazí připojovací rychlost na modemovém portu
Xn
Rozšířené návratové kódy
Yn
Odpojení s dlouhou mezerou Y0 Vypíná odpojení s dlouhou mezerou Y1 Zapíná odpojení s dlouhou mezerou
Zn
Reset Z0 Provede reset s načtením z 0 profilu Z1 Provede reset s načtením z 1 profilu
&Dn
Řízení DTR &D0 Ignoruje DTR. DTR není potřeba pro automatickou odpověď &D1 Zapne příkazový režim při shození DTR; DTR není potřeba pro automatickou odpověď &D2 Zavěsí při shození DTR a připraví sériový port k přijímání &D3 Zavěsí a resetuje při shození DTR a připraví sériový port k přijímání
&F
Obnov základní tovární nastavení
&Gn
Zabezpečovací tón (Guard Tone) &G0 Potlačuje zabezpečovací tón &G1 Nastavuje zabezpečovací tón na odpovídajícím modemu na 550 Hz &G2 Nastavuje zabezpečovací tón na odpovídajícím modemu na 1800 Hz
&K
Řízení toku na sériovém portu
&Pn
Poměr pro pulsní volbu (&P0 39/61 poměr a 10 pulsů za 1s)
&Rn
RTS/CTS volby
&Sn
DSR volby
&V
Čti aktuální stav
&Wn
Ulož aktuální konfiguraci (n – daný profil)
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO &Xn
Hodiny synchronního přenosu
&Yn
Vyber aktivní uživatelský soubor nastavení (n – daný profil)
\An
Maximální délka bloku MNP \A0 Nastaví maximální délku bloku MNP na 64 znaků \A1 Nastaví maximální délku bloku MNP na 128 znaků \A2 Nastaví maximální délku bloku MNP na 192 znaků \A3 Nastaví maximální délku bloku MNP na 256 znaků
\Bn
Přenosový "break"
%Cn
Řízení komprese %C0 Potlačuje kompresi dat %C1 Povoluje pouze kompresi MNP5 %C2 Povoluje pouze kompresi V.42bis %C3 Povoluje obě V.42bis i MNP5 komprese dat,využije schopností vzdáleného modemu.
%En
Auto-Retrain %E0 Potlačuje sekvenci automatické re-inicializace. %E1 Povoluje sekvenci automatického re-inicializace. (při 2400 b/s nebo výše) %E2 Povoluje sekvenci automatického re-inicializace. (při 2400 b/s nebo výše) fallback/fall forward
\Gn
Řízení toku modemového portu \G0 Potlačuje řízení toku modemového portu \G1 Nastavuje řízení toku modemového portu na XON/XOFF
\Kn
Řízení Break
\Nn
Operační mód \N0 Nastaví normální (normal) mód \N1 Nastaví přímý (direct) mód \N2 Nastaví spolehlivý (reliable) mód \N3 Nastaví auto-reliable mód \N4 Nastaví V.42 spolehlivý mód \N5 Nastaví MNP spolehlivý mód s přepnutím na normální mód
*Hn
Připojovací vyjednávací rychlost *H0 Připojování probíhá na nejvyšší podporované rychlosti *H1 Připojování probíhá na rychlosti 1200 b/s
21
22
FEKT Vysokého učení technického v Brně *H2 Připojování probíhá na rychlosti 4800 b/s
-Kn
MNP Rozšířené služby -K0 Potlačuje MNP Rozšířené služby -K1 Povoluje MNP Rozšířené služby -K2 Povoluje MNP Rozšířené služby bez indikace MNP během odpovídací detekční fáze
S0
Počet zazvonění před zvednutím
2 Modemy dle ITU-T V.34 2.1 Instalace modemu
Seznamte se s ovládacími a indikačními prvky modemu a s AT příkazy pro ovládání modemů (popis naleznete v přílohách a uživatelském manuálu), Připojte modemy k počítačům a k telefonní ústředně, zapněte napájení,
21
22 BbÚ
PC1
připojeno na T-336NDx
T-336Cx
Obr. 6:
Zapojení úlohy modem dle ITU-T V.34.
Na obou modemech zvolte firemní profil číslo 0: AS-DL-AT-AUTO Na externím modemu T-336Cx prostřednictvím ovládacího panelu modemu: potvrďte dvakráte klávesu ENTER a zobrazí se menu modemu L MENU Select . Pomocí šipekvyberte položku PROFILE, dále zvolte LOAD. Z nabízených profilů vyberte 0: AS-DL-AT-AUTO. na modemu umístěném v modemovém roštu je potřeba nejprve zvolit modem pomocí následné volby NMC Setup NMC Panel Card Control . Nyní pomocí šipek proveďte výběr karty T-336NDx (pozice 3), na vybrané kartě svítí LED select , potvrďte volbu. Další postup je shodný s externím modemem. k ovládání modemu použijte program HyperTerminal, modemy jsou připojeny pomocí COM2, přenosovou rychlost portu zvolte 115200 b/s, HyperTerminal spusťte na obou očítačích. v hlavním „okně“ programu můžete přímo pomocí klávesnice zadávat AT příkazy. 2.1.1
PC2
Modemový rošt TRS-32
Nastavení modemu
po zadání AT&V a Enter se zobrazí aktuální nastavení modemu. Prostudujte význam jednotlivých zobrazovaných položek, jejich popis naleznete v uživatelském manuálu.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
23
2.2 Navázání spojení a přenos dat
Prostudujte tvar příkazu pro vytáčení čísel a zadáním tohoto příkazu navažte spojení s druhým modemem, Čísla telefonních přípojek jsou 21 a 22, použijte tónovou volbu
pokud nemá modem nastavené automatické přihlášení je nutné příchozí volání převzít manuálně pomoci příkazu ATA, Ověřte funkci jak manuálního tak automatického přihlášení Automatické přihlašování souvisí se stavem registru S0, pro S0 = 0, modem se automaticky nepřihlásí, po nastavení registru např. ATS0 = 2 - se modem přihlásí po dvou zvoněních, zjištění stavu registru např. ATS0?, - Ukončit spojení (zavěšení) lze zadáním ATH (v příkazovém režimu modemu „+ + +“). Pozn. Zadávat AT příkazy při navázaném spojení lze až po přepnutí modemu do příkazového režimu. Přepnout modem do příkazového režimu při navázaném spojení lze pomocí + + + (zadávat v rychlém sledu za sebou), v tomto režimu nelze přenášet soubory, návrat z příkazového režimu do přenosového při navázaném spojení lze příkazem ATO. 2.2.1
Přímý přenos textu
Pokud jsou modemy v přenosovém režimu, lze psát text přímo na monitor protějšího počítače. 2.2.2
Zobrazení základních údajů o spojení
Základních informace o kvalitativních a kvantitativních parametrech vytvořeného okruhu lze v průběhu navázaného spojení zobrazit pomocí příkazu AT%S0 (zadávat v příkazovém režimu „+ + +“). Prostudujte a zapište si význam důležitých parametrů. 2.2.3
Přenos souborů
Soubor odešlete druhému počítači tak, že v menu Přenos zvolíte položku Odeslat soubor a v okně této položky si vyberete soubor, který chcete odeslat. Porovnejte doby přenosu a efektivní rychlosti přenosu v b/s textového a komprimovaného souboru při: a) přenosu s kompresí a korekcí chyb podle V.42bis – nastaví se pomocí AT%C1 před vytvořením spojení, b) přenosu bez použití komprese modemem – nastaví se pomocí AT%C0 a to před vytvořením spojení. Údaje o přenosu zaznamenejte do tabulky. Pro přenos využijte připravené soubory test.txt a test.zip. Ověřte funkci datové komprese. Potřebné údaje je třeba odečítat a odhadovat z informací zobrazovaných při přenosu souboru.
24
FEKT Vysokého učení technického v Brně Tab. 4:
přenos
Měření vlivu datové komprese na přenosovou rychlost modemu. textový soubor – velikost:
zip soubor– velikost:
bez komprese
bez komprese
V.42.bis
t (s)
t (s)
použitý protokol t (s)
cps vef (zn/s) (b/s)
V.42.bis cps t (s) (zn/s)
vef (b/s)
cps vef (zn/s) (b/s)
cps vef (zn/s) (b/s)
Zmodem Xmodem Ymodem Kermit vef (b/s) -efektivní rychlost přenosu vyjadřuje rychlost jakou se přenášejí dat mezi počítači, jsou v ní zahrnuty i použité kompresní a zabezpečovací metody, může se tedy značně lišit od přenosové rychlosti vp (b/s) modemu, která vyjadřuje jak rychle se přenášejí data mezi modemy (např. vp = 33600b/s). t (s) - doba přenosu souboru. cps (znacích/s, (byte/s)) („chars per second“) - propustnost udává počet přenesených znaků mezi počítači za sekundu. Propustnost přepočítejte na vef. (cps (B/s), vef (b/s)). Pozn. Pozor, soubory lze přenášet jen v datovém režimu do nějž se z příkazového dostanete zadáním ato. U protokolů Kermit, Xmodem a Ymodem je nutné připravit modem na příjem souboru zadáním Přijmout, výběrem přenosového protokolu a zadáním názvu souboru do kterého se přenášená dat uloží. Protokoly YModem a ZModem umožňují přenášet více souborů najednou a přenesou se i jejich názvy proto se již název souboru nezadává.
2.3 Management modemové sítě
Zapojte pracoviště podle následujícího obrázku. Modemy propojte přímo, připojení na pobočkovou ústřednu zachovejte.
21
připojeno na T-336NDx
BbÚ
22
vedení T-336Cx
PC1
PC2
Modemový rošt TRS-32
Obr. 7:
Zapojení úlohy modem dle ITU-T V.34 - managment.
U počítače zapojeného na „modemový rošt“ spusťte program TAINET Manager for Windows (WNM). Zadejte Username = MANAGER Password = TAINET V menu File příkazem New vytvořte nové schéma. V menu Edit příkazem Add shelf přidejte modemový rošt. Zadejte ID 1:1 a název. Dále přidejte modem ID např. 2:1:1,
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
25
název např. T 336, line ID např. 1, line type 2WLL. Nyní proveďte propojení modemu s modemovým roštem pomocí příkazu Connect v menu Edit (Nejprve označte modem poté Edit Connect poté dvakrát klikněte na ikonu modemového roštu, otevře se Vám obrázek modemového roštu, poté jednou klikněte na kartu modemu (pozice 3) a opět Edit Connect. Nyní můžete provádět konfiguraci a dohled obou modemů. Prostudujte další možnosti programu Tainet Manager. Podrobnější návod je k dispozici na pracovišti.
2.4 Zálohování pevného okruhu komutovaným
Zvolte firemní profily: Roštový modem 4 AS – 2L – ORG – V34 Externí modem
3 AS – 2L – ANS – V34
Poznámka: Postup je shodný jako v první části úlohy. U roštového provedení lze profil zvolit pomocí programu WNM (na záložce modemu tlačítko Line->Load->Factory profile a 4 AS – 2L – ORG – V34) Dvojitým poklepáním na ikonu roštu si otevřete okno, znázorňující čelní pohled roštu. Opětovným „dvoj-klikem“ na modemovou kartu (pozice 3 první modem) otevřete stavové okno modemu. Stavové okno obsahuje základní nastavení modemu, provozní údaje, stavové LED indikátory a tlačítka: Threshold – nastavení funkce alarmu Dial – práce s telefonními čísli uloženými v paměti modemu a přímé vytáčení telefonního čísla Test – testování modemu a telefonní linky S Register – práce s obsahem S Registrů DTE, Command, Line, Dial, Protocol, MODEM – totožné s menu modemu Nastavte modemy tak, aby při poruše pevného okruhu automaticky provedly spojení přes komutovaný spoj. Postup: Pomocí WMNS nastavte ve stavovém „okně“ modemu u LINE: Leased to Dial – Auto Backup Tel – 0
(pod 0 je uloženo číslo 21, možno zkontrolovat v “Dial”)
Dial to Leased – Auto D –> L Timer – 1 min Uložení nastavte do uživatelského profilu 0. Obdobně nastavte externí modem, včetně Backup Tel (22)!!! Vyzkoušejte funkci zálohování, tím že rozpojíte pevný okruh. Po opětovném připojení pevného okru se modemy musí po 1 min opět spojit prostřednictvím pevného spoje. Po skončení práce u obou modemů aktivujte tovární nastevení podle profilu 0: AS-DL-AT-AUTO !!!!
26
FEKT Vysokého učení technického v Brně
3 Modemy V.34 – odolnost proti šumu 3.1 Teoretický úvod – Modem ZyXEL Omni 288S Jedná se o modem dle doporučení ITU-T V.34 s přepojením k počítači prostřednictvím sériového portu.
Obr. 8: Tab. 5:
Modem ZYXEL OMNI 288S.
Modem ZYXEL OMNI 288S - indikace přenosového režimu.
V.34,
V.32b
Režim
Nesvítí
nesvítí
V.22bis, V.22 a ostatní režimy do 9600bs-1
Nesvítí
svítí
V.32bis nebo V.32
Svítí
nesvítí
V.34
Svítí
svítí
ZyX režim
Bliká
Bliká
navazování spojení
Význam dalších diagnostických LED diod: AA - indikace režimu automatické odpovědi, svítí je-li modem v režimu automatické odpovědi, bliká při vyzvánění CD - indikace nosné, svítí, je-li na lince přítomná nosná frekvence TXD - indikace vysílání dat, svítí při vysílání dat z počítače do modemu RXD - indikace přijímání dat, aktivní přijímá-li počítač data od modemu DTR - indikace připravenosti počítače (příslušný signál RS232C) DSR - indikace připravenosti modemu RTS - indikace výzvy k odeslání (příslušný signál RS232C) CTS - indikace uvolnění pro vysílání (příslušný signál RS232C) EC - indikace korekce chyb, bliká při opětovném přenosu SQ - indikace kvality signálu, svítí při dostatečné kvalitě signálu, bliká je-li kvalita signálu na hranici únosnosti OH - indikace připojení na linku, svítí při „vyzvednutí“, po ukončení spojení zhasne
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
27
Prvky zadního panelu: ON/OFF - síťový vypínač POWER - vstupní konektor pro připojení napájení TO DTE - sériový port pro připojení k počítači MIC - mikrofonní vstup pro připojení externího mikrofonu SPK - vstup k připojení externího reproduktoru LINE - konektor pro připojení komutované linky PHONE - konektor pro připojení telefonu Diagnostické funkce modemu Modemy ZyXel Omni 288S mají celou řadu diagnostických možností, jednotlivé testy si podle možností a času vyzkoušejte. Informace o stavu linky AT#E1 příkaz lze zadat po navázání spojení a přepnutí modemu do příkazového režimu. Na terminálu se budou průběžně zobrazovat údaje o stavu linky. Význam jednotlivých položek: SN - poměr signál/šum je udáván (dB) RX - přijímací úroveň signálu (dBm) RG - povolený retrain – udává počet žádostí vzdáleného modemu o retrain (vlivem špatné kvality signálu) RT - žádost o retrain – udává počet žádostí vyslaných k vzdálenému modemu FG - počítadlo požadavků na změnu rychlosti od vzdáleného modemu FR - počítadlo požadavků na změnu rychlosti od lokálního modemu Informace o stavu linky a průběhu spojení ATI2 příkaz lze zadat v průběhu spojení (modem v příkazovém režimu) nebo po ukončení spojení. Na monitoru se zobrazí protokol o stavu linky a průběhu přenosu. Význam jednotlivých položek: Chars Sent - počet znaků vyslaný od PC modemu Chars Received - počet znaků přijatých modemem z linky a vyslaných PC Octets Sent - počet oktetů vyslaných k vzdálenému modemu Octets Received - počet oktetů přijatých od vzdáleného modemu Blocks Sent - počet bloků vyslaných k vzdálenému modemu Blocks Received - počet bloků přijatých od vzdáleného modemu Blocks Resent - počet opakovaně vyslaných bloků Max Outstanding - maximální počet vyslaných nebo přijatých bloků bez potvrzení Max Block Size - maximální počet oktetů v bloku Retrains Requested - počet žádostí místního modemu o retrain Link Duration - čas trvání spojení Retrains Granted - počet žádostí vzdáleného modemu o retrain FCS Errors - počet přijatých bloků s chybným kontrolním součtem Round Trip Delay - zpoždění mezi modemy v jednotkách T (1/2400s) Xmitter Underrun - určuje kolikrát modem neposkytl včas datový oktet k vysílání Receiver Overrun - určuje kolikrát modem nepřevzal včas datový oktet z přijímače Last Speed/Protocol - poslední rychlost linky a použitý protokol před přerušením spojení Disconnect Reason - důvody rozpojení Test analogové zpětné vazby AT&T1 u tohoto testu se prověří všechny části modemu a kabelu RS232 mimo zakončení tlf. linky. Kontrolu provádíte opticky znaky, které zadáváte
28
FEKT Vysokého učení technického v Brně
z klávesnice prochází přes kabel rozhraní RS232 do vysílače modemu modulují se na analogový signál, potom zpětnou vazbou přicházejí do přijímače, demodulují se na digitální signál a vrací se zpět do PC přes RS232, je li někde chyba budou se zobrazovat jiné znaky než vyslané. Test analogové zpětné vazby s auto-testem AT&T8 se provede obdobný test jako předchozí s tím rozdílem že vysílaná data se generují automaticky.
3.2 Instalace modemu
Seznamte se s ovládacími a indikačními prvky modemu a s AT příkazy pro ovládání modemů, Zapojte pracoviště podle následujícího obrázku. Modemy připojte k modelu telefonního kanálu, u kterého použijte funkční generátor jako externí zdroj šumu. Generátor před připojením přepněte do funkce generátoru šumu (tlačítko Noise ) a jeho výstupní amplitudu nastavte na minimum 50mVpp. Pro kontrolu průběhu připojte osciloskop, K ovládání modemu použijte program HyperTerminal, modemy jsou připojeny pomocí COM2, přenosovou rychlost portu zvolte 115200 b/s, HyperTerminal spusťte na obou počítačích, V hlavním „okně“ programu můžete přímo pomocí klávesnice zadávat AT příkazy.
Umělé vedení PC1
modem
modem
Osciloskop
Obr. 9:
PC2
Generátor šumu
Schéma zapojení úlohy Modem ITU-T V.34 – odolnost proti šumu.
Nastavení modemu Nastavte modem podle doporučení výrobce AT&F Sestavení a ukončení spojení Spojení se naváže zadáním příkazu ATD a u protějšího modemu zadáním ATA, Zrušit spojení (zavěšení) lze zadáním ATH (v příkazovém režimu modemu „+++“). Ověřte že navázané spojení je funkční (např. přenesením souboru). Poznámka Zadávat AT příkazy při navázaném spojení lze až po přepnutí modemu do příkazového režimu. Přepnout modem do příkazového režimu při navázaném spojení lze pomocí +++ (zadávat v rychlém sledu za sebou), v tomto režimu nelze přenášet soubory, Návrat z příkazového režimu do přenosového při navázaném spojení lze příkazem ATO.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
29
3.3 Diagnostika telefonního modemu Proveďte následující testy: A) Testy bez navázaného spojení Test analogové zpětné vazby AT&T1 u tohoto testu se prověří všechny části modemu a kabelu RS232 mimo zakončení „tlf. linky“. Kontrolu provádíte opticky, znaky, které zadáváte z klávesnice prochází přes kabel rozhraní RS232 do vysílače modemu modulují se na analogový signál, potom zpětnou vazbou přicházejí do přijímače, demodulují se na digitální signál a vrací se zpět do PC přes RS232, je li někde chyba budou se zobrazovat jiné znaky než vyslané. Ukončení testu - zadáním „+++“ a posléze AT&T0. B) Testy při navázaném spojení Test vzdálené digitální zpětné vazby AT&T6, u tohoto testu je nutné před navázáním spojení u vzdáleného modemu povolit vytvoření digitální zpětné vazby AT&T4. Vzdálený modem potom přijaté znaky zadané z klávesnice posílá zpět k lokálnímu PC. Je-li někde chyba budou se zobrazovat jiné znaky než vyslané. Ukončení testu - zadáním „+++“ a posléze AT&T0.
3.4 Vliv šumu na rychlost spojení Zjistěte vliv šumu telefonního kanálu na změnu přenosové rychlosti při vytvořeném spojení podle doporučení: A) V.34 - standardní nastavení. B) ZyXel 1920 – nastaví se příkazem AT&N34 před zahájením spojení. C) V.32b – nastaví se pomocí AT&N17. Postup: Navažte spojení, Přepněte modemy do příkazového režimu +++, Zapněte monitorování stavu linky AT#E1, na terminálu se budou průběžně zobrazovat údaje o stavu linky, Postupně zvyšujte úroveň šumu a do tabulky zaznamenávejte údaje o stavu linky. Tab. 6: Doporučení
S/N (dB)
Tabulka měření vlivu šumu na rychlost spojení. Přenosová Přenosová Modulační Modulační Rx level rychlost Tx rychlost Rx rychlost Tx rychlost Rx (Bd) (b/s) (b/s) (Bd) (dBm)
Poznámka: Úroveň šumu zvyšujte vždy po 100 až 400 mV (do maximální možné úrovně) s tím, že modemu mezi dalším zvýšením úrovně šumu ponecháte dostatek času, aby stačil zareagovat 5 až 15s (při náhlé velké změně úrovně šumu může dojít k rozpadu spojení), na osciloskopu jsou dobře patrné žádosti modemů o změnu přenosové rychlosti.
30
FEKT Vysokého učení technického v Brně
4 Managament modemové sítě 4.1 Teoretický úvod - Network Management Systém (NMS) Jedná se o integrovaný systém určený pro „řízení“ modemové sítě. Systém uživateli nabízí funkce jako je monitoring, konfigurace, testování atd. Vlastní řízení systému se děje pomocí softwaru TAINET Manager for Windows (TMW). NMS se skládá z těchto částí: Shelves (NMCs). Jde o vlastní rošt, do kterého jsou umístěny modemové karty. Důležitou částí roštu je řídící karta NMC-9000 (Network Management Controller). Communication Server (CS). Jedná se o specifický systém hardwaru a softwaru, speciálně určený pro TAINET MANAGER FOR WINDOWS. Pracuje jako přenosový most (router) mezi WS a NMCs a umožňuje ovládání systému přes Ethernet LAN. Workstation (WS). WS slouží jako řídící centrum NMS, umožňující uživateli monitorovat, ovládat, testovat a konfigurovat jak lokální tak vzdálené NMCs. Všechny výše uvedená zařízení tvoří nezávislé jednotky. Je tak zaručena maximální pružnost při výměně, či rozšiřování zařízení. 4.1.1
TAINET Manager for Windows
Jedná se o software umožňující vlastní správa modemové sítě. Je určen pro platformu PC (IBM kompatibilní), s operačním systémem MS Windows. Nabízí plně grafické prostředí, ve kterém jsou veškeré funkce dostupné buď pomocí myši, nebo klávesnice. TAINET MANAGER FOR WINDOWS ovládá obvyklé činnosti jako je monitoring, konfigurace, testování, vytváření statistických zpráv pro všechny modemy v síti a množství dalších přídavných funkcí.
Obr. 10:
Okno programu Tainet manager.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
31
Vlastnosti: Windows a TCP/IP podpora. TAINET MANAGER FOR WINDOWS běží pod operačním systémem MS Windows s podporou TCP/IP. Může pracovat s Ethernet LAN, což uživateli umožňuje řídit a monitorovat celou síť nebo pouze její část z jednoho místa. Windows GUI. Protože TAINET MANAGER FOR WINDOWS je aplikace určená pro MS Windows, poskytuje uživateli grafické uživatelské rozhraní (Graphical User Interface). Veškeré operace jsou tak dostupné pomocí myši a není nutná znalost jakýchkoli příkazů. Distribuovaný Management. TAINET MANAGER FOR WINDOWS umožňuje namísto monitorování každého modemu zvlášť, ovládat všechny zařízení současně, z jednoho místa. To je umožněno NMC zabudovaným v každém NMCs. Topologie. TAINET MANAGER FOR WINDOWS využívá topologickou grafiku pro zobrazení celé sítě, nebo jen části její struktury. Nabízí různé ikony, pro zobrazení různých stavů a také poslední alarmové události. Geografická mapa. TAINET MANAGER FOR WINDOWS umí použít geografické mapy, aby byl zřejmý vztah mezi geografickou polohou a strukturou sítě. Shelves view. TAINET MANAGER FOR WINDOWS umí s využitím LED indikátorů a stavových ikon zobrazit stav jednoho, nebo více libovolných modemů na jedné obrazovce. Uživateli tak nabízí přehledné zobrazení informací, o stavu sítě. Remote Shelves. TAINET MANAGER FOR WINDOWS umožňuje uživateli řídit a monitorovat modemy nainstalované ve vzdálené oblasti přes komutovanou linku, pronajatou linku nebo síť X.25. SNMP. TAINET MANAGER FOR WINDOWS podporuje SNMP protokol, který umožňuje uživatelům spojit se s jinými standardními systémy řízení sítě. Funkce: Globální pohled. TAINET MANAGER FOR WINDOWS umožňuje uživateli monitorovat pracovní stav a podmínky na lince určitého modemu nebo celé síti, na jedné obrazovce. Poskytuje operátorovy aktuální informace, pro přesné řízení sítě. Indikace stavu. TAINET MANAGER FOR WINDOWS může poskytnout detailní stav jakéhokoli modemu v síti a s ním související podmínky na lince, včetně parametrů DTE Interface signálů, operační mód modemů, rychlost, Tx/Rx úroveň signálu, poměr signál/šum, kvalita linky ...atd. Konfigurace. TAINET MANAGER FOR WINDOWS může přes NMC obsluhovat jakýkoliv modem v síti pro čtení, zobrazování a modifikování programových parametrů. Dále umožňuje uživateli nahrát parametr na disk, nebo načíst parametr z disku a nahrát do jakéhokoliv vybraného modemu. Testování. TAINET MANAGER FOR WINDOWS může simultánně provádět různé „loops“ a „bit error rate“ testy na různých modemech pro prověření správné činnosti modemu a kvality linky. Alarm. Uživatel může nastavit různé podmínky alarmu. V případě jakékoliv abnormální události automaticky uživatele upozorní akustickou signalizací, blikáním červené kontrolky a zobrazením zprávy. Současně zaznamená typ, datum a přesný čas vzniku události pro pozdější vyhodnocení. Real-time Notice.TAINET MANAGER FOR WINDOWS umožňuje uživateli vytisknout záznamy alarmu v reálném čase pro další analýzy. Report. TAINET MANAGER FOR WINDOWS může poskytovat zprávy z alarmových událostí a automaticky vytvořit záznamy zahrnující „on-line“ a „off-line“ časy, přenosové rychlosti a protokoly, doby výpadku a zálohy, abnormality v kvalitě linky .....atd. Pomáhá tak uživateli vytvořit statistickou analýzu.
32
FEKT Vysokého učení technického v Brně Systém zabezpečení.Ochranné vlastnosti jsou využívány pro identifikaci uživatelů, kterým byl povolený vstup do systému. Každý uživatel si vytvoří individuální heslo, aby se zabránilo vstupu jiným osobám do TAINET MANAGER FOR WINDOWS.
4.2 Zadání úlohy 4.2.1
Nastavení modemového roštu MARS V menu řídící jednotky roštu zkontrolujeme následující nastavení: NMC Setup
NMC Panel NMC ID 1
LAN Setup
IP Address = 147.229.148.25 IP NetMask = 255.255.254.0 Default Gateway = 147.229.148.1
4.2.2
Nastavení programu TAINET Manager for Windows
K správě modemové sítě použijeme program TAINET Manager for Windows. Po spuštění TAINET Manager for Windows provedeme přihlášení Username=MANAGER, Password = SYSTEM. Přepneme se do okna aplikace WNMS PCU Server, která se spouští automaticky spolu s TAINET MANAGER FOR WINDOWS. V menu Setup aktivujeme nastavení Enable LAN a do položky menu Setup Setup LAN Node zadáme tyto parametry: ID: IP Address: CS1 147.229.148.25 WS2 147.229.148.X – IP počítače na němž běží TMW 4.2.3
Vytvoření topologie sítě
Přepneme se zpět do programu TAINET MANAGER FOR WINDOWS a otevřeme nový soubor File New. Do nově otevřeného okna postupně pomocí příkazů Add WS, Add Shelf a Add Modem z menu Edit naskládáme ikony, podle Obr. 11. Ikony symbolizují tento počítač, rošt TSR-32 a modemy XSTREAM 1300 a T-336Cx. Ve vlastnostech ikon (musí být označeny) Edit Property... nastavíme tyto parametry: ID: Alias: WS 1
PC1
Shelf 1:1
TRS-32
Modem
3:1:1 XSTREAM1300
Modem
4:1:1 T-336Cx
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
Obr. 11:
33
Vytvoření topologie sítě.
Postup pro propojení dvojic modemů T-336Cx – T-336NDx a XSTREAM1300 – XSTREAM1320 je následující. Klikneme na jeden z modemů, který chceme propojit a zvolíme položku Edit Connect, výběr je signalizován blikající ikonou. Klikneme na druhý modem který chceme propojit a opět vybereme položku Edit Connect. Objeví se dialogové okno, ve kterém vyplníme položky Line ID = 1;2 a Line type = 2W;Dial. 4.2.4
Zobrazení modemového roštu
Dvojitým poklepáním na ikonu roštu otevřeme nové okno, znázorňující čelní pohled roštu. Jsou v něm zobrazeny jednak modemové karty vložené v roštu a dále řídící jednotka roštu. Vyobrazení modemové karty T-336NDx obsahuje dvě stavové ikony, určující v jakém pracovním stavu se modemy nachází a pod nimi graficky znázorněné LED diody pro oba modemy, stejné jako na vlastní kartě. Vyobrazení modemové karty XSTREAM 1320 neobsahuje žádné informační prvky. Graficky znázorněná řídící jednotka kopíruje skutečnou řídící jednotku a stejná je i manipulace s ní.
Obr. 12:
Zobrazení modemového roštu MARS.
34 4.2.5
FEKT Vysokého učení technického v Brně Modemová karta T-336NDx
Dvojitým poklepáním na stavovou ikonu modemu T-336NDx otevřeme stavové okno modemu. Stavové okno obsahuje základní nastavení modemu, provozní údaje, stavové LED indikátory a tlačítka: Threshold – nastavení funkce alarmu, Dial – práce s telefonními čísli uloženými v paměti modemu a přímé vytáčení telefonního čísla, Test – testování modemu a telefonní linky, S Register – práce s obsahem S Registrů, DTE, Command, Line, Dial, Protocol, MODEM – totožné s menu modemu.
Obr. 13: 4.2.6
Modemová karta T-336NDX.
Modemová karta XSTREAM 1320
Dvojitým poklepáním na „stavovou“ ikonu modemu XSTREAM 1320 otevřeme nabídku, ve které zvolíme jeden z modemů. Objeví se stavové okno modemu, které obsahuje provozní údaje, stavové LED indikátory a tlačítka Modem Config, DTE Config, Test totožná s menu modemu a to vše i pro vzdálený modem.
Obr. 14:
Modemová karta XSTREAM1300.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
35
5 MSDSL modemy 5.1 Teoretický úvod a zapojení úlohy Modemy MSDSL (Multi-rate Symmetrical Digital Subscriber Line) nebo také někdy označeny MDSL vycházejí normalizačně z modemů SDSL, od níž se liší zejména podporou většího množství přenosových rychlostí. Typickými úlohami MSDSL modemů jsou mezisíťová propojení LAN – LAN, Vzdálený přístup do datových center, Připojení základnových stanic pro mobilní telefonní sítě (BTS) atd. Technologie MSDSL umožňuje dosáhnout přenosové rychlosti až 2304 kb/s do vzdálenosti až 5,4km. Dále pak nabízí celou řadu přenosových rychlostí 64, 128, 256 , 384, 512, 768, 1024, 1536 a 2048kbit/s. Modem MSDSL využívá modulaci CAP (Carrierless Amplitude/Phase modulation). Česky modulace bez nosné. Tuto modulaci lze zařadit mezi modulace z jednou nosnou. Jedná se v podstatě o modulaci QAM (Quadrature Amplitude Modulation) realizovanou však digitálně pomocí dvou digitálních filtrů (zpravidla FIR) tvořící tzv. Hilbertův pár (mají stejnou amplitudovou charakteristika, fázová se však liší o 90°). Lze realizovat CAP modulaci kompatibilní s QAM. Rozdíl obou modulací nejlépe uvádí struktury modulátorů na Obr. 15. dnotlivých kvadraturních kanálech. Filtr „In Phase“
x
DP nosná Enkodér
2
+
Enkodér
Filtr
x
DP
Obr. 15:
+
„Quadrature“
Vlevo modulátor QAM, vpravo modulátor CAP.
Enkodér u obou modulací realizuje rozdělení bitového toku do jednotlivých směrů „ve fázi“ a „kvadraturního“, dále pak rozdělení na jednotlivé hladiny (tedy jako D/A převodník), tak aby po modulaci vzniklo odpovídající konstelační schéma.
Obr. 16:
Kodér mřížového (trellis) kódu.
36
FEKT Vysokého učení technického v Brně
Na straně přijímače je krom bloků zde uvedených v patřičném reverzním pořadí navíc Ekvalizér vyrovnávající zkreslení vkládané přenosovým kanálem. V modulaci CAP se opět jedná o dva digitální adaptivní filtry vyrovnávající zkreslení a součastně demodulaci v je dná o dva digitální adaptivní filtry vyrovnávající zkreslení a součastně demodulaci v jednotlivých kvadraturních kanálech. Konstelační schéma modulace 128-CAP uvádí Obr. 17. Technologie rovněž využívá dvou-dimenzionální osmy-stavové Trellis (mřížové) kódovaní pomocí 2-D 8-stavový kodéru, viz Obr. 16.
Obr. 17:
Konstelační diagram modulace 128-CAP.
Zapojení laboratorní úlohy uvádí Obr. 18. Na levé straně jsou prvky poskytovatele, složené z převodníku ethernet/RS530 Tainet WANPRO 2000, a modemový rošt MARS900 s osazenou kartou MSDSL modemu XSTREAM1320. Na pravé straně je MSDSL modem Tainet XSTREAM 1300, připojen k osobnímu počítači.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
Ethernet
RS530
37
Ethernet
Internet vedení WAN PRO 2000
Obr. 18:
MARS 9000 XSTREAM 1320
XSTREAM 1300
Zapojení laboratorní úlohy – MSDSL modemy.
5.2 Zadání úlohy 5.2.1
Konfigurace přístupu do sítě Internet
Wanpro 2000: Pomocí tlačítek na čelním panelu nastavte v menu WAN SETUP PROTOCOL SELECT Ethernet Bridge Xstream 1320: Pomocí tlačítek na panelu modemového roštu vyberte kartu MSDSL modemů (NMC Setup NMC Panel Card Control a pomocí šipek proveďte výběr, na vybrané kartě svítí LED select dále vyberte konfiguraci karty A rozsvítí se LED sel v levé řadě LED na kartě). V menu softwaru modemu Profile vyberte profil 0-CO-2048-INT a potvrďte (Central Office, 2048kbit/s, interní hodiny). Xstream 1300: Vyberte Profile 1-CP-2048-RCV a potvrďte (Custom Premise, 2048 kb/s). V menu DTE Config Key tones off. Ve stejném menu zvolte DTE port 1. V menu Router Module System Setup Traffic Types Bridging. Navázané spojení je signalizováno na displeji. Funkčnost ověřte ping-testem např. ping 192.168.20.1, popřípadě i Internet Explorerem na pravém PC. 5.2.2
Konfigurace vzdáleného dohledu
Na počítači vzdáleného dohledu spusťte program Wnms. Zadejte jméno MANAGER a heslo tainet. V menu File příkazem New vytvořte nové schéma. V menu Edit příkazem Add shelf přidejte modemový rošt. Zadejte ID 1:1 a název. Dále přidejte modem ID např. 2:1:1, název, line ID např. 1, line type 2WLL. Nyní proveďte propojení modemu s modemovým roštem pomocí příkazu Connect v menu Edit (Nejprve označte modem poté Edit Connect poté dvakrát klikněte na ikonu modemového roštu, otevře se Vám obrázek modemového roštu, poté klikněte na MSDSL modem a opět Edit Connect, otevře se dialogové okno připojení. Po dvojím kliknutí na kartu MSDSL modemu se zadejte v dialogu port 1. First Port. Nyní můžete provádět konfiguraci a dohled obou MSDSL modemů. Prostudujte další možnosti programu Tainet Manager.
38
FEKT Vysokého učení technického v Brně
5.2.3
Modulace CAP
Tato technologie využívá modulaci 128-CAP, 2-dimenzionální 8-stavové mřížové kódování 2D 8-state mřížový kód a skramblování. Na osciloskopu zobrazte s využitím FFT spektrum vysílaného signálu. Doporučené nastavení Span 1 MHz, Center 500 kHz, využijte funkci průměrování. Prostudujte vliv typu použitého okna. Pro tři zvolené přenosové rychlosti (např. 64 kb/s, 1024 kb/s a 2304 kb/s) zapište do Tab. 7 frekvence f1 až f7, dle spektrální masky, viz Obr. 19. Tab. 7: Přenosová rychlost [kb/s]
Tabulka pro měření spektrálních vlastností MSDSL modemu.
f1
f2
f3
f4
f5
f6
f7
[kHz]
[kHz]
[kHz]
[kHz]
[kHz]
[kHz]
[kHz]
64 128 256 512 786 1024 2304
Obr. 19:
Spektrální maska vysílaného signálu MSDSL modemu.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
39
6 Enkapsulační protokoly pro začlenění ADSL do IP sítí 6.1 Teoretický úvod a zapojení úlohy V době vzniku prvních standardů ADSL technologie (90.let) se předpokládal rozvoj sítí ATM. Z těchto důvodů byly ADSL modemy dle ITU-T 992.1 normalizovány s rozhraním ATM. Při součastné potřebě začlenit tyto modemy do sítí na bázi IP protokolů bylo nezbytné řešit překlenutí této ATM sítě. ADSL modemy mají zpravidla implementovány tyto enkapsulační (zapouzdřovací) protokoly: Bridget/ Routed Ethernet přes ATM (RFC 1483 [ 19 ] / RFC 2684 [ 20 ] ), PPPoA (RFC 2364 [ 21 ]), PPPoE (RFC 2516 [ 22 ]) a Classical IP (RFC 1577 [ 23 ]). Stručný popis těchto protokolů je uveden kapitole 6.2, podrobnější informace lze nalézt přímo v jednotlivých doporučeních viz literatura [ 24 ], [ 25 ]. Na Obr. 20 je uvedeno schéma zapojení úlohy. Na levé straně jsou umístněna zařízení poskytovatele připojení a telefonní ústředna, v pravé části obrázku zařízení uživatele připojení. Směrovač 1 slouží k oddělení od veřejné sítě. Výchozí brána je 192.168.20.1, maska podsítě 255.255.255.0. Pro vlastní konfiguraci je možno využít statické IP adresy v rozsahu 192.168.20.4 až 192.168.20.9, dynamicky jsou přidělovány adresy v rozsahu 192.168.20.10 až 192.168.1.20.252 IP adresy psány kurzivou je možno modifikovat. Stranu poskytovatele připojení dále tvoří DSLAM emutel Maestro. Jedná se o emulátor DSLAMu (DSL access multiplexor), který obsahuje rovněž integrovaný WEB server, FTP server a analyzátor paketů. Lze jej konfigurovat pomocí programu Emutel Maestro v4.0 nainstalovaném na PC1. Konfigurace enkapsulačních protokolů a ATM je dostupná na kartě ATM Configuration. Podrobný návod je uveden v příloze B a v helpu programu.
Obr. 20:
Schéma zapojení úlohy: Enkapsulační protokoly pro začlenění ADSL do IP sítí.
40
FEKT Vysokého učení technického v Brně
Na straně uživatele je zapojen ADSL modem/směrovač Alcatel Speedtouch 610. Jeho základní konfiguraci je možno realizovat prostřednictvím průvodce konfigurací SpeedTouch Setup Wizard (umístněn na ploše PC2), podrobnější konfiguraci pak prostřednictvím webovského rozhranní dostupného implicitně na adrese 10.0.0.138. Pro konfiguraci využívejte jméno adsl a heslo adsl. Ve webovském rozhraní lze konfiguraci enkapsulačních protokolů realizovat v záložce Connection. Nejprve je nutno vytvořit rozhraní v položce Phonebook: (Name, Address: VPI*VCI, Connection Service: Any, ETHoA, PPPoA, IPoA (viz help). Další konfiguraci, která je navázána na toto rozhranní, lze realizovat v odpovídající položce dle zvoleného protokolu: PPP (PPPoA, PPPoE), MER (MAC Encapsulation Routing), IPoA (IP over ATM), CIP (Classical IP over ATM), Bridging (RF1483/Br), PPTP (Relayed PPPoA). Podrobnější informace jsou uvedeny v helpu a přiložené dokumentaci. Doporučený postup je nejprve začít konfiguraci prostřednictvím programu SpeedTouch Setup Wizard, poté se připojit na webovské rozhraní modemu a realizovat případnou modifikaci (například pro vícenásobné připojení na Internet a Web server emutel Maestro). Při nefunkčnosti je vhodné vzájemně porovnat nastavení DSLAMu a Modemu (např. shoduje-li se volba VC-Mux/LLC atd.). V případě volby protokolů Bridging, kdy modem tvoří most, není možno se z pochopitelných důvodů připojit pomocí PC2 na webovské rozhranní, pokud předem neprovedeme změnu IP adresy modemu do statického rozsahu adres 192.168.20.x. Počítač PC2 má nyní IP adresu přidělenu od směrovače 1 192.168.20.x, avšak modem má stále IP adresu 10.0.0.138. Před odchodem z laboratoře uveďte jednotlivé přístroje do počátečního nastavení dle Obr. 20.
6.2 Enkapsulační protokoly 6.2.1
Protokol RFC1483 - Multiprotocol Encapsulation over AAL 5
Bridging je nejjednodušší metodou spolupráce dvou komunikujících zařízení, založenou na komunikaci probíhající pomocí adresace pouze na linkové vrstvě (Layer 2). Například pro Ethernet se jedná o 6 oktetů dlouhé MAC adresy. Protože tato metoda neprovádí převod adres, musí být založena na použití PVC (Permanent Virtual Circuit). V sítích MAN (Metropolitan Area Network), nebo WAN (Wide Area Network), kde je podpora SVC (Switched Virtual Circuit) méně častá, nepředstavuje tato skutečnost žádný větší problém, a proto bridging založený na RFC-1483 je dnes používán v mnoha aplikacích při propojování dvou nebo více spolupracujících LAN sítí v rámci jedné MAN, nebo WAN. Méně časté je použití bridgingu v rámci jedné LAN, a to z toho důvodu, že v lokálních sítích je značná podpora SVC, a proto se zde uplatňuje LANE, MPOA, nebo klasické IP přes ATM. Směrování pracuje na třetí vrstvě, používá tedy IP adresy. Směrovače pracují s rámci vyšších vrstev. Tato vlastnost umožňuje bez problémů propojovat různé síťové technologie. Schopnost pracovat na třetí vrstvě dává směrovači možnost provádět NAT (Network Adress Translation). Doporučení RFC-1483 definuje princip zapouzdření paketů tak, aby byly vhodné pro přenos ATM sítí. Jsou zde popsány dvě možnosti zapouzdření těchto paketů, první dovoluje přenos více protokolů po jednom virtuálním okruhu (VC), zatímco druhá pracuje tak, že každému protokolu je přidělen jeden virtuální okruh (VC). První metodou je LLC/SNAP (Logical Link Control/Sub-network Access Protocol) Encapsulation, toto zapouzdření je používáno při přenosu více protokolů na jednom VC spojení. Pole Payload Field v AAL5 CPCS-PDU musí obsahovat informaci o protokolu
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
41
přenášené PDU (Protocol Data Unit). Tato informace je obsažena ve standardní IEEE 802.2 LLC/SNAP hlavičce, umístěné před přenášenou PDU. Druhou metodou je tzv. VC Multiplexing. Při tomto typu zapouzdření je protokol definován hned při ustavování VC spojení. Takže pro každý protokol musí existovat zvláštní VC spojení. Což znamená, že každý přenášený paket již nemusí nést informaci o druhu přenášeného protokolu. Tímto postupem získáme minimální zvýšení přenosové a výpočetní zátěže při přenášení a generování hlaviček jednotlivým PDU. U přenosové technologie ATM jsou uživatelská data proměnlivé délky segmentována do malých buněk konstantní délky. Toto doporučení nenavrhuje nový způsob segmentace (SAR), ale definuje nový způsob sestavování protokolových CPCS (Part Convergence Sublayer) buněk AAL5. Je zřejmé, že způsob přenosu VC MUX bude efektivnější ve větších sítích s větším počtem VC a jejich dynamickým generováním. Naopak LLC/SNAP najde větší uplatnění tam, kde by nebylo praktické mít pro každý protokol zvláštní VC. Tento případ nastává v malých sítích, které používají semipermanentních PVC, nebo počet možných VC není příliš velký, což je případ právě i ADSL. Jak už bylo zmíněno dříve, LLC zapouzdření je použito tehdy, když po jednom VC je transportováno více různých protokolů. Tato skutečnost znamená, že pole Payload Field musí obsahovat informace o typu přenášeného protokolu. Tato informace je zde přenášena v LLC hlavičce, která je přidána před přenášený rámec. 6.2.2
LLC zapouzdření pro směrované protokoly
Zapouzdření LLC u směrovaných protokolů je identifikováno přidáním hlavičky definované v IEEE 802.2 před přenášenou PDU. Jak znázorňuje Obr. 21, tato hlavička se skládá ze tří polí dlouhých 1B. Pokud jsou přenášena data ve formátu ISO PDU, má tato hlavička hodnotu 0xFE-FE-03 a hned za ní následuje PDU ve formátu ISO. Toto zapouzdření dovoluje však přenášet i datové jednotky jiných směrovaných protokolů, například protokolu IP. Při přenášení těchto PDU jsou za pole LLC hlavičky obsahujících identifikaci 0xAA-AA-03 doplněny další informace v podobě hlavičky SNAP, jak ukazuje Obr. 21, jedná se o 3B dlouhé pole OUI ( Organizationally Unique Identifier ) a 2B dlouhé pole PID ( Protocol Identifier ). Hodnota pole OUI 0x00-00-00 označuje, že následující pole bude typu Ethertype a hodnota pole PID nastavená na 0x08-00 určuje, že se jedná o IP datagram. PF pro ISO PDU 0
LLC Hlav.
1 DSAP (FE)
2 SSAP (FE)
3 Ctrl (03)
0
LLC Hlav. SNAP Hlav.
NLPID
ISO PDU (až 216B – 5B)
Obr. 21:
PF pro IP PDU 1 DSAP(AA)
2 SSAP (AA)
3 Ctrl (03)
OUI ( 0x00-00-00 ) PID (0x08-00)
IP PDU (až 216B – 9B)
Struktura pole Payload Field AAL5 při přenosu ISO PDU a IP PDU.
42
FEKT Vysokého učení technického v Brně
6.2.3
LLC zapouzdření pro protokoly druhé vrstvy
Při tomto způsobu zapouzdření musí pole PF AAL5 nést na svém začátku informaci o typu média, jehož rámce jsou právě přenášena. Tato informace je podobně jako při přenášení IP datagramů zakódována v poli SNAP, přičemž přítomnost tohoto pole v PF je definována hodnotou LLC hlavičky 0xAA-AA-03. Toto doporučení definuje hodnoty jednotlivých polí pro Ethernet, Token Ring, Token Bus a FDDI. Z dnešního pohledu nejpoužívanější sítí je Ethernet, proto bude o způsobu zapouzdření jeho rámců pojednáno podrobněji. Jak je znázorněno na Obr. 22, skládá se pole PF u AAL5 ze sedmi částí, z pole LLC hlavičky, pole OUI, PID, PAD, MAC adresy příjemce a samotného MAC rámce a pole LAN FCS ( Frame Check Sequence ), které je ovšem generováno pouze tehdy, je-li hodnota pole PID rovna 0x00-01. PF pro Ethernet 802.3 0 3 6 8 10
LLC ( 0xAA-AA-03 ) OUI ( 0x00-80-C2 ) PID ( 0x00-01 nebo 0x00-07 ) PAD ( 0x00-00 ) MAC adresa příjemce
MAC rámec
LAN FCS ( je-li PID 0x00-01 )
Obr. 22:
Struktura pole Payload Field AAL5 při přenosu ethernetových rámců.
Hodnota hlavičky LLC 0xAA-AA-03 definovaná již dříve jako indikátor přenosu PDU nenesoucích ISO rámce, je zde použita jako indikátor toho, že zařízení může očekávat hlavičku SNAP. Hodnota v poli OUI SNAP hlavičky nastavená na 0x00-80-C2 indikuje, že pro přenos dat je použit bridging a jedná se o některou z technologií z rodiny 802.x. Pole PID kromě toho, že definuje typ konkrétního přenášeného média, určuje, zda bude na konec PF zařazeno pole LAN FCS. Při přenosu rámců ostatních médií z rodiny 802.x, např. Token Ringu jsou ještě přidána pole nutná k zajištění správné funkce této technologie vycházející z faktu, že se jedná o technologii s deterministickým přístupem k přenosovému médiu. 6.2.4
Zapouzdření pomocí VC MUX pro směrované protokoly
Jak již bylo řečeno dříve, je při použití této metody pro přenos každého typu protokolu použito zvláštního virtuálního spojení ( VC ). V praxi to znamená, že informace o přenášeném protokolu nemusí být přenášena přímo v každém poli PF AAL5, což přispívá ke snížení počtu přenášených redundantních informací a snižuje zpoždění způsobené generováním hlaviček přidávaných před PDUs. Formát PF při použití této metody ukazuje Obr. 23. Jsou možné dva způsoby určení, kterým kanálem budou přenášeny rámce toho kterého protokolu. Prvním způsobem je manuální nastavení, druhým způsobem je nastavení pomocí signalizačních procedur.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
PF pro protokoly třetí vrstvy 0
43
PF pro Bridget Ethernet 802.3 0 PAD ( 0x00-00 )
2
MAC adresa příjemce Přenášená PDU (max. 216 B – 1B)
Samotný MAC rámec
LAN FCS (záleží na každém VC)
Obr. 23:
6.2.5
Struktura pole Payload Field AAL5 při přenosu pomocí VC MUX.
Zapouzdření VC MUX pro protokoly druhé vrstvy
Rámec použitý pro bridging ethernetových rámců je znázorněn na Obr. 23. Jak je vidět, nejsou zde použita pole obsažená v hlavičce LLC, ani pole OUI a PID sloužící k identifikaci použitého protokolu. Tyto informace zde již nejsou potřeba. 6.2.6
Implementace RFC-1483
Implementace protokolu RFC-1483 do ADSL infrastruktury umožňuje použití sítě Ethernet jako PDN (Premise Distribution Network). Jak je vidět z Obr. 24, implementace tohoto protokolu je nutná do ATU-R a přístupového koncentrátoru zvaného B-RAS ( BroadBand Remote Acces Server ). Tento protokol umožňuje přenos rámců jiných síťových technologií, nebo paketů vyšších vrstev pomocí AAL 5. Obr. 24 ukazuje jednu z možností použití tohoto protokolu při přenosu dat přes ADSL. Jako PDN je zde použita síť Ethernet, konkrétně specifikace 10 Base-T. ATU-R je pomocí PVC spojeno se zařízením B-RAS, což znamená, že DSLAM nemusí zpracovávat, ani sám nemusí být zdrojem signalizace. B-RAS
DSLAM
ATU-R
PC
TCP/IP 802.3
Ethernet bridging
1483
1483
AAL5
AAL5
ATM STM-1
ATM STM-1
Obr. 24:
ADSL
TCP/IP LLC
LLC
ATM
MAC
MAC
ADSL
10Base-T
10Base-T
Protokolová architektura RFC-1483B.
44
FEKT Vysokého učení technického v Brně
V ATU-R jsou Ethernetové rámce přicházející z PC zapouzdřeny pomocí protokolu 1483 do ATM buněk a po PVC vyslány směrem k zařízení B-RAS. Jak je vidět, tok ATM buněk prochází DSLAMem transparentně, což znamená, že DSLAM musí mít funkci pouze vrstvy ATM. V přístupovém koncentrátoru B-RAS jsou nejprve pomocí protokolu 1483 z přijatého toku ATM buněk extrahovány Ethernetové rámce, ze kterých jsou dále získány IP datagramy. Přístupový koncentrátor takto získané datagramy posílá na základě jejich IP adresy dále do IP sítě poskytovatele přístupu ke službám. Na Obr. 25 je ATU-R pracující na úrovni třetí vrstvy. Z vlastností protokolu RFC-1483 uvedených v kapitole 1 víme, že pomocí tohoto protokolu je možné přenášet pakety vyšších vrstev, např. IP datagramy přes síť ATM. V ATU-R na Obr. 25 se z přijatých ethernetových rámců nejprve extrahují IP datagramy, které jsou pomocí protokolu 1483 mapovány do ATM buněk. Tyto buňky opět transparentně procházejí přes DSLAM až do přístupového koncentrátoru B-RAS, kde jsou opět pomocí protokolu 1483 převedeny na IP datagramy a na základě jejich IP adres vyslány do IP sítě poskytovatele připojení. ATU-R je zde spojeno s přístupovým koncentrátorem pomocí PVC, toto je nejběžněji používaný způsob připojení. Instalací ATMARP Serveru ( RFC-1577 ) může však být podporováno i spojení pomocí SVCs. B-RAS
DSLAM
ATU-R
TCP/IP
IP routing 1483
1483 AAL5
AAL5
ATM STM-1
ATM STM-1
Obr. 25:
6.2.7
PC
ADSL
TCP/IP LLC
LLC
ATM
MAC
MAC
ADSL
10Base-T
10Base-T
Protokolová architektura RFC-1483R.
Klasické IP a ARP přes ATM (RFC-1577)
Standard IP přes ATM našel své uplatnění, jak v LAN sítích, kde je IP protokol používán, tak i v páteřních sítích, které jsou také často založeny jen na tomto protokolu. V obou těchto typech sítí tak umožňuje provoz protokolů vyšších vrstev ( TCP, UDP ) a aplikací ( FTP, WWW, NFS ), přímo pomocí ATM. Tato specifikace umožňuje vysílání IP datagramů, požadavků ATMARP ( ATM Address Resolution Protocol ) a ATMARP odpovědí po ATM vrstvě AAL5. Tento standard umožňuje pracovat jak s pevnými virtuálními okruhy ( PVC ), tak s přepínanými okruhy ( SVC ) a podporuje logické IP podsítě ( IP subnets ). K zajištění provozu datagramového přenosu IP, definuje tento standard schéma pro zapouzdření paketů, schéma pro mapování IP adres do ATM adres a pravidla pro sestavování a ukončení spojení SVC mezi uzly. Tato pravidla jsou
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
45
definována pro jednotlivé logické podsítě LIS ( Logical IP Subnet ). LIS tvoří uzavřené administrativní domény, které operují a komunikují v ATM síti nezávisle na sobě ( tvoří virtuální sítě ). V rámci jedné LIS je ATM uzlům umožněna komunikace mezi sebou přímo, s uzly vně této LIS musí komunikace procházet přes ATM směrovač. Uzel A
6
Síť ATM
Uzel B
1 2 ATM ARP Server
3 5 4
1 – Požadavek na zjištění ATM adresy podle adresy IP 2 – Odpověď ATM ARP serveru a zaslání ATM adresy 3 – Uzel A sestavil SVC 4 – Uzel B přijímá data, ale neví od koho, zasílá proto požadavek k ATM ARP na zjištění IP adresy podle adresy ATM 5 – Odpověď ATM ARP serveru 6 – Obousměrné spojení uzlů A a B
Obr. 26:
Princip navazování spojení při použití klasického IP přes ATM.
Pro standard IP přes ATM bylo specifikováno LLC/SNAP zapouzdření, které se používá při přenosu více protokolů na jednom VC spojení. Pole Payload Field v AAL5 CPCS-PDU musí obsahovat informaci o protokolu přenášené PDU. Tato informace je zakódována ve standardní IEEE 802.2 LLC/SNAP hlavičce, umístěné před přenášenou PDU. V RFC 1626 ( Default IP MTU for use over ATM AAL5 ) je maximální velikost paketu definována hodnotou MTU ( Maximum Transfer Unit ) 9180 bajtů, dalších 8 bajtů je ponecháno pro hlavičku LLC/SNAP. Tato hodnota byla zvolena tak, aby byla dostatečně velká pro přenos rámců typu Ethernet, Token Ring, FDDI a nebylo nutné tyto rámce fragmentovat. Je však možné po dohodě mezi všemi uzly té které LIS zvětšit tuto hodnotu až na maximální hodnotu definovanou pro ATM AAL5 PDU, která činí 64 KB. Délka paketů závisí na typu přenášených informací. Při použití pevných virtuálních okruhů PVCs se mapují IP adresy do virtuálních spojení mezi uzly manuálně. Je tedy nutné každému uzlu nastavit lokální tabulku adres určující virtuální spojení odpovídající jednotlivým adresám. U větších a dynamicky se měnících sítí je nutné použít přepínané virtuální okruhy SVC. Musí tedy být definován postup, kterým se podle požadavků budou mapovat IP adresy do ATM adres a SVCs. Tato funkce je zajištěna tak, že stanice, která chce zjistit adresu jiné stanice vyšle požadavek pomocí protokolu ATMARP ( ATM Address Resolution Protocol ) k serveru ATM ARP. Tento server musí být definován pro každou LIS. Tento server na základě požadavku obsahujícího IP adresu požadovaného uzlu vyhledá jeho ATM adresu a pošle ji v odpovědi zpět. Na základě této adresy je sestaveno SVC spojení mezi těmito dvěma uzly. Postup při spojování pomocí této metody je nakreslen na Obr. 26.
46 6.2.8
FEKT Vysokého učení technického v Brně Protokol PPP (Point to Point Protocol)
PPP slouží k posílání datagramů po sériové lince. Tento protokol poskytuje rámce na úrovni linkové vrstvy a disponuje mechanismem přenosu dat se zabezpečením. Dále umožňuje na začátku spojení dohodnout obě strany na parametrech přenosu, jde např. o IP adresu, ověření totožnosti klienta, velikosti použitých datagramů, nebo použití, či nepoužití komprese hlaviček. 0
1 Flag
2 Adresa
3 Řídící pole
0
Protokol Data
2 Protokol ( 0021 )
IP datagram
Protokol ( 0057 )
IPv6 datagram
0 Kontrolní součet
0
2
X
Flag
2 Protokol ( 0057 )
X
3 Kód
LCP
Protokol ( 8021 )
NCP
4 ID
6 Délka
0
X Volby
2 Protokol
0
Protokol ( c021 )
3 Kód
Kód
4 ID
ID
6 Délka
X Volby
2 Protokol IPCP ( 8021H )
- Pro dynamické konfigurování spojení pomocí IP datagramů
Protokol IPV6CP ( 8057H )
- Pro dynamické konfigurování spojení pomocí IPv6 datagramů
Protokol SNACP ( 8021H )
- Pro dynamické konfigurování spojení pomocí SNA IBM
Protokol IPXCP ( 8021H )
- Pro dynamické konfigurování spojení pomocí IPX paketů
Protokol OSINLCP ( 8021H )
Obr. 27:
- Pro dynamické konfigurování spojení pomocí protokolů OSI
Struktura paketu protokolu PPP a jeho jednotlivých podprotokolů.
Protokol HDLC ( High - Level Data Link Control Protocol ) je podprotokolem protokolu PPP. Tento protokol definuje pole jednotlivých rámců a obstarává 16ti, popř. 32ti bitový kontrolní součet. Struktura rámce protokolu PPP je na Obr. 27. Adresové a řídící pole mají pevné hodnoty, je tedy možné je po dohodě vypustit. Protokol PPP může přenášet rámce různých protokolů, např. IP, IPX, nebo např. Appletalk, toho je dosaženo tím, že PPP rámec obsahuje pole nesoucí informace o přenášeném protokolu. Např. hodnota tohoto pole nastavená na 0021 znamená, že přenášeným rámcem je IP datagram. Pomocí PPP jsou kromě datových protokolů přenášeny také protokoly kontrolní a řídící, jedná se o protokoly LCP ( Link Control Protocol ) a NCP ( Network Control Protocol ). Jejich syntaxe je znázorněna na Obr. 27.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
47
Protokol LCP se používá k vybudování, či ukončení spojení a ke sjednávání parametrů datového spojení. Těmito parametry se rozumí, např. který autentifikační protokol bude použit, zda bude použita komprese záhlaví pomocí vypuštění adresového a řídícího pole, nebo např. dohodnout maximální velikost vysílaného a přijímaného paketu. U protokolu NCP je každý síťový protokol směrovaný po datové lince konfigurován dynamicky. V tomto protokolu je definováno několik variant, přičemž každá z nich je určena pro jiný druh přenášeného protokolu. Např. pro posílání IP datagramů je nejprve nutné dohodnout IP adresy obou aktérů spojení. K tomuto účelu slouží protokol IPCP ( IP Control Protocol ). Tento protokol má kód 8021, hned za tímto polem následuje podle specifikace pro tento protokol 1B dlouhé pole, které určuje typ příkazu, zprávy. Dále pak následuje 1B dlouhý identifikátor určující ke kterému příkazu se vztahuje odpověď obsažená v tomto rámci. Pole informující o délce rámce má 2B a dále následuje libovolně dlouhé pole, které může obsahovat odpovědi, nebo požadavky na změnu parametrů přenosu. Existují i další varianty protokolu NCP pracující s rámci různých typů, např. OSI, IPv6, IPX atd.. Vlastnosti těchto protokolů jsou definovány ve speciálních RFC. Ověření totožnosti klienta je při použití protokolu PPP pouze volitelnou možností, při použití modemu je však tento úkon většinou nezbytný. Ověření totožnosti může probíhat podle dvou rozdílných schémat, pro každé z nich je definováno samostatné doporučení. Protokol PAP ( Password Authentication Protocol ) definovaný v RFC-1334 pracuje tak, že hostitel, většinou se jedná o server, vyzve připojeného klienta k ověření totožnosti, ten na tuto žádost reaguje zasláním hesla. Podle protokolu CHAP ( Challenge Handshake Authentication Protocol, RFC-1994 ) dojde k ověření totožnosti tak, že klient zašle serveru určitý sled dat zakódovaný pomocí nějakého tajného klíče. Pokud není klient schopen poskytnout platné heslo nebo správnou posloupnost dat, dojde k rozpojení spojení. Ověření totožnosti je možné v obou směrech, což znamená, že i klient může požádat server o prokázání totožnosti. 6.2.9
PPP Over AAL5 (RFC-2364)
ATM AAL5 protokol je navržen pro spojení dvou stanic připojených do ATM sítě pomocí virtuálních kanálů ( VC ). Toto spojení poskytuje potvrzovaný přenos paketů s detekcí chybně přijatých rámců. Tato vlastnost zajišťuje, že je možné použít AAL5 pro přenos datagramů PPP protokolu. PPPoA může používat zapouzdření buď LLC, nebo VC-MUX. Protože protokol PPP používá rámce formátu HDLC, což je rámec standardizovaný ISO, je pro jeho zapouzdření použito formátu popsaného též v kapitole 6.2.8. Na Obr. 28 je znázorněn celý rámec protokolu PPPoA, jak pro zapouzdření LLC, tak pro VC-MUX. Použití jednotlivých polí je v souladu s principy uvedenými v předchozích kapitolách. Při sestavování virtuálního spoje pomocí AAL5, musí nejprve iniciátor spojení pomocí zprávy SETUP dohodnout, jaké zapouzdření, zda LLC, VC-MUX, nebo obojí bude pro datový přenos použito. Pokud je iniciátor spojení schopen nabídnout obě tyto možnosti, je vybrána standardně možnost LLC. V případě potřeby má jak iniciátor spojení, tak volaný právo změnit zapouzdření použité pro přenos PPP rámců. Jsou definovány dva principy a jejich pravidla pro změnu zapouzdření: 1) Změna z VC-MUX na LLC zapouzdření PPP rámců a 2) Změna z LLC na VC-MUX zapouzdření PPP rámců.
48
FEKT Vysokého učení technického v Brně
LLC
VC-MUX
0 DSAP (FE)
1
SSAP (FE) 2
LLC Hlav.
Ctrl (03) 3 NLPID = PPP (CF)
4
Identifikátor protokolu ( 8b - 16b ) PPP informační pole
Informace PPP protokolu
PPP informační pole
Doplněk
Doplněk
PAD ( 0 - 47B )
PAD ( 0 - 47B )
CPCS-UU ( 1B )
CPCS-UU ( 1B )
CPI ( 1B ) Délka ( 2B ) CRC ( 4B )
Obr. 28:
Identifikátor protokolu ( 8b - 16b )
CPCS-PDU Trailer
CPI ( 1B ) Délka ( 2B ) CRC ( 4B )
Struktura rámců PPPoA při použití zapouzdření LLC, nebo VC-MUX.
Nejprve musí být v obou případech vyslán LCP rámec určený pro změnu parametrů spojení. Pokud je použito zapouzdření LLC, musí sled prvních 6B rámce AAL5 obsahovat tuto sekvenci bitů fe-fe-03-0cf-c0-21. Kombinace c0-21 je definována jako identifikátor LCP rámce a při použití zapouzdření VC-MUX konfigurační rámec AAL5 začíná právě touto hodnotou. Pokud dojde k potvrzení LCP rámce příjemcem, PPP linka se dostane do stavu konfigurace. V dalším kroku se zapojí protokoly 3. vrstvy a začne se s vyjednáváním pomocí NCP. Pokud je pro spojení použito SVC, je toto spojení zrušeno pomocí vyslání sledu 111, což znamená „protocol error“. Je-li použito ke spojení PVC, musí nejprve odesílatel pomocí NCP vygenerovat „error mesage“ a přestat posílat veškerá data. V dalším kroku se pomocí LCP a NCP ustaví PPP spojení s novými parametry a jiným použitým zapouzdřením. 6.2.10 Implementace PPPoA Při použití protokolu PPPoA v ADSL infrastruktuře je spojení typu bod-bod ustavováno mezi ATU-R a vzdáleným přístupovým koncentrátorem B-RAS. Jak je vidět z Obr. 29, je při nasazení tohoto protokolu nutné použití ATU-R pracujícího na třetí vrstvě. Protože tento modem pracuje na úrovni třetí vrstvy, je schopen pracovat s IP datagramy, může tedy plnit funkci ( NAT ), tato funkce spočívá v překladu privátních IP adres na veřejné a obráceně. Při použití této protokolové architektury je použit většinou modem s PDN Ethernet 10Base-T. Je tedy nutné použití Eternetové síťové karty v PC uživatele. Při navazování spojení jsou IP datagramy přenášeny mezi PC uživatele a ATU-R pomocí ethernetových rámců, v ATU-R jsou z přijatých rámců extrahovány IP datagramy, pomocí funkce NAT je jim změněna IP adresa odesilatele, respektive příjemce v záhlaví datagramu.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
B-RAS
DSLAM
49
ATU-R
Veřejná IP adresa
NAT
PC
Privátní IP adresa
IP
IP
PPP
PPP
PPPoA
PPPoA
1483
1483
AAL5
AAL5
LLC
LLC
ATM
MAC
MAC
ADSL
10Base-T
10Base-T
ATM STM-1
ATM ADSL
STM-1
IP
TCP/IP
Spojení bod-bod
Obr. 29:
Protokolová architektura PPPoA.
Poté jsou IP datagramům přidána data protokolu PPP a poté jsou takto upravené rámce pomocí protokolu 1483 mapovány do ATM buněk a přenášeny přes PVC k vzdálenému přístupovému serveru B-RAS. Zde jsou z přijatého toku ATM buněk opačným postupem extrahovány IP datagramy a na základě své IP adresy poslány do IP sítě poskytovatele připojení. 6.2.11 PPTP (Point to Point Tunneling Protocol) Použití protokolu PPTP umožňuje nasazení protokolu PPP i při použití ATU-R pracujícím pouze na úrovni druhé vrstvy. PPTP zavádí mechanismus, pomocí něhož jsou mezi PC uživatele a ATU-R posílány pakety protokolu PPP. Tento mechanismus spočívá v sestavení tzv. „tunelu“ na úrovni druhé vrstvy mezi PC a ATU-R, po kterém jsou tyto pakety posílány. Tento „tunel“ je sestaven tak, že PC a ATU-R jsou začleněny do stejné virtuální sítě. Obr. 30 ilustruje architekturu použitých protokolů v jednotlivých zařízeních ADSL infrastruktury při použití protokolu PPTP. Jestliže chce uživatel sestavit spojení bod-bod, PC sestaví nejprve pomocí výměny kontrolních rámců PPTP s ATU-R „tunel“ mezi PC a ATU-R. ATU-R potom po PVC sestaveném mezi ATU-R a vzdáleným přístupovým serverem B-RAS naváže nové spojení PPP. Při sestavování spojení tedy musí být v ATU-R IP adrese cíle přiřazena odpovídající ATM adresa. Na základě těchto informací je pak sestaveno spojení bod-bod.
50
FEKT Vysokého učení technického v Brně
B-RAS
DSLAM
ATU-R
PC
IP
TCP/IP
PPP
PPP
PPP
PPPoA
PPPoA
PPTP
PPTP
1483
1483
IP
IP
AAL5
AAL5
LLC
LLC
ATM
MAC
MAC
ADSL
10Base-T
10Base-T
ATM STM-1
ATM STM-1
ADSL
Spojení bod-bod
Obr. 30:
Protokolová architektura PPPoA s PPTP.
6.2.12 PPP over Ethernet (RFC-2516) Toto doporučení popisuje, jakým způsobem je možné docílit PPP spojení mezi dvěma, nebo více modemy fungujícími jako transparentní most mezi dvěma, nebo více sítěmi typu Ethernet. Tato problematika je tedy velice zajímavá zejména pro širokopásmové technologie jako ADSL a VDSL. PPPoE používá rámce založené na struktuře rámců používaných v síti Ethernet. Jak je patrné z Obr. 31, doplňují běžnou hlavičku ethernetového rámce další pole sloužící k managementu PPP spojení, jejichž význam bude objasněn v dalším textu. Navazování spojení pomocí PPPoE má dvě fáze. První fáze se označuje jako tzv. Discovery a druhou fází je PPP relace. Jestliže chce uživatelská stanice navázat PPPoE relaci, musí nejprve iniciovat fázi Discovery, pomocí níž zjistí MAC adresu svého protějšku, s nímž chce tuto relaci ustavit a dále musí určit PPPoE SESSION_ID viz 3, což je jedinečný identifikátor každého PPP spojení. Zatímco komunikace pomocí PPP je obecně typu peer-topeer, relace Discovery je orientována jako aplikace klient-server. Při inicializaci relace Discovery klient ( uživatelská stanice ) „oslovuje“ ( může jich obecně být i víc, záleží na topologii sítě ) jednotlivé přístupové koncentrátory (servery). Ze všech „oslovených“ koncentrátorů si pak vybere jeden nejvhodnější, s nímž dále pokračuje. Po skončení relace Discovery má jak uživatelská stanice, tak i přístupový koncentrátor dostatek informací k vytvoření relace PPPoE. Relace Discovery sestává ze čtyř kroků, po jejichž skončení znají oba aktéři spojení jak SESSION_ID, tak i MAC adresu svého protějšku. Tyto dvě hodnoty určují jednoznačně každé PPPoE spojení. Prvním krokem je, že uživatelská stanice vyšle do sítě paket PADI ( The PPPoE Active Discovery Initiation ), tento paket má jako adresu cíle uvedenu všesměrovou adresu, pole Kód musí být nastaveno na hodnotu 0x09 a pole SESSION_ID je nastaveno na hodnotu 0x0000. Informace v Data poli PPPoE obsahují tzv. TAGy, které určují služby požadované zdrojem PADI. V druhém kroku přístupový koncentrátor, který přijal paket PADI vyslaný zdrojem a může poskytnout požadované služby, odpoví zdroji zasláním paketu PADO ( PPPoE Active Discovery Offer ). Adresa příjemce je nyní nastavena na hodnotu MAC adresy stanice, která vyslala požadavek PADI, pole Kód je nastaveno na
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
51
hodnotu 0x07 a pole SESSION_ID je prozatím stále nastaveno na hodnotu 0x0000. V tomto paketu musí být dále obsažena pole, která obsahují typy TAGů, které odkazují na služby požadované uživatelskou stanicí a dále musí obsahovat i TAGy ukazující na služby, které poskytuje koncentrátor navíc. Ve třetím kroku se uživatelská stanice rozhodne pro jeden z koncentrátorů, od nichž obdržela PADO a na jeho MAC adresu pošle rámec nazvaný PADR ( PPPoE Active Discovery Request ). Tento rámec musí obsahovat MAC adresu koncentrátoru, pole Kód je nastaveno na hodnotu 0x19 a pole SESSION_ID je stále nastaveno na hodnotu 0x0000. Tento paket opět musí obsahovat TAGy, které ukazují na služby žádané uživatelskou stanicí. Ve čtvrtém kroku obdrží koncentrátor paket PADR a vygeneruje jedinečné SESSION_ID pro toto PPPoE spojení, které pošle v odpovědi PADS ( PPPoE Active Discovery Session-confirmation ) na MAC adresu uživatelské stanice. Pole Kód je nyní nastaveno na hodnotu 0x65. Ethernetový rámec
PPPoE rámec 0
1
Adresa příjemce ( 6B )
Verze
Adresa zdroje ( 6B )
Typ
2 Kód
SESSION_ID ( 1B )
Délka
Ether_type ( 2B )
Data PPPoE
Discovery 0
Data
2 TAG_TYPE
4 TAG_LENGHT
TAG_VALUE ..........
FCS
PPP relace 0
2 PPP protokol
Obr. 31:
X PPP Data
Struktura rámce PPPoE.
Jakmile je ustaveno PPPoE spojení jsou data zapouzdřována jako při běžných datových přenosech pomocí PPP. Pole Ether_type je nastaveno na hodnotu 0x8864, pole Kód musí být nastaveno na 0x00 a pole SESSION_ID musí mít vždy pouze hodnotu určenou pro dané PPPoE spojení. K rozpojení spojení slouží paket PADT ( PPPoE Active Discovery Terminate ), který může vyslat a ukončit tak spojení, jak uživatelská stanice, tak i koncentrátor. Pole Kód je v tomto paketu nastaveno na hodnotu 0xa7. Adresu příjemce nastaví iniciátor ukončení na MAC adresu svého protějšku a pole SESSION_ID musí nést hodnotu spojení, které má být zrušeno. 6.2.13 Implementace PPPoE Z popsaných vlastností protokolu PPPoE vyplývá, že implementace tohoto protokolu není ani tak problémem programového vybavení ATU-R, jako spíše problémem softwarového vybavení PC připojovaného uživatele. Obsahuje-li účastnický ADSL modem směrovač je implementován PPPoE na něm. Pro použití tohoto protokolu je dále nutná implementace protokolu RFC-1483.
52
FEKT Vysokého učení technického v Brně
Jednotlivá CPE jsou s DSLAMem spojena přes PVC, po kterých jsou přenášeny pomocí protokolu RFC-1483 zapouzdřené Ethernetové rámce. Tyto rámce obsahují data PPPoE viz dříve. ATU-R musí být nakonfigurováno jako transparentní most, provádí tedy pouze transparentní přenos přijatých ethernetových rámců pomocí ATM, a to bez ohledu na jejich obsah. V zařízení DSLAM dochází ke sdružování datových toků jednotlivých CPE do multiplexních struktur vyšších řádů a jejich posíláním do ATM sítě. DSLAM je spojen se vzdáleným přístupovým serverem B-RAS též pomocí PVC. V serveru B-RAS jsou z přijatých dat extrahovány IP datagramy, které jsou na základě IP adresy příjemce poslány do IP sítě poskytovatele připojení. Obr. 32 ukazuje protokolovou architekturu jednotlivých zařízení při nasazení protokolu PPPoE. B-RAS
DSLAM
ATU-R
PC
TCP/IP
TCP/IP
PPP
Ethernet bridging
PPPoE
PPPoE
1483
1483
AAL5
AAL5
ATM STM-1
ATM STM-1
ADSL
PPPoE
PPP PPPoE IP
LLC
LLC
ATM
MAC
MAC
ADSL
10Base-T
10Base-T
Spojení bod-bod
Obr. 32:
Protokolová architektura PPPoE.
6.2.14 Shrnutí Z vlastností protokolů popsaných v předešlých kapitolách vyplývá, že protokoly pracující přímo s IP datagramy ( na úrovni třetí vrstvy ) mají větší efektivitu, než protokoly pracující s rámci na úrovni vrstvy druhé. Z těchto vlastností dále vyplývá, že protokoly rodiny RFC-1483 a protokol CIP jsou vhodné pouze k realizaci časově neomezeného připojení do sítě poskytovatele připojení, zatímco protokoly PPPoA a PPPoE jsou vhodné pro realizaci vytáčeného ( tzv. dial-in ) připojení. Obr. 33 ukazuje porovnání velikosti dat přidaných jednotlivými vrstvami při použití různých paketových služeb a různého zapouzdření. Protokoly rodiny RFC-1483 jsou multiprotokolové, což znamená, že jejich prostřednictvím můžeme přes ATM síť přenášet pakety a rámce různých síťových technologií. Tyto protokoly však nepodporují bezpečnost a nenabízejí žádnou možnost zpoplatnění doby připojení, nebo množství přenesených dat. Vzhledem k vlastnostem popsaným v kapitole 1 se při připojení ATU-R pracujícího na druhé vrstvě k zařízení B-RAS přes rozsáhlejší heterogenní sítě doporučuje použití zapouzdření BRG-LLC SNAP. Protokol PPPoA poskytuje připojení na základě uživatelského jména a hesla ( protokol PAP ) nebo na základě tajné kódované posloupnosti ( protokol CHAP ). Nasazení tohoto protokolu ( současně se zařízeními AAA server a RADIUS server) umožňuje zpoplatnění
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
53
doby připojení nebo množství přenesených dat, je však možné nasadit tento protokol i při permanentním připojení ( tzv. always on ). Tento protokol používá pakety na úrovni třetí vrstvy, není ho proto bez implementace protokolu PPTP možné nasadit při použití ATU-R pracujícím pouze na úrovni druhé vrstvy. Data [ B ] 1600000
Celková režije protokolu
1400000 1200000 1000000 800000 600000 400000 200000 0 RTE-L S
Obr. 33:
RTE-V M
BRG-L S
BRG-V
PPPoA-L
PPPoA-V
PPPoE-L S
PPPoE-V M
Porovnání celkového množství dat přidaných při použití různých protokolů.
Protokol PPPoE poskytuje stejné možnosti jako protokol PPPoA. Tento protokol však používá rámce síťové technologie Ethernet. Nasazení tohoto protokolu při použití ATU-R pracujícího na úrovni druhé vrstvy vyžaduje instalaci PPPoE klienta na PC uživatele. Při použití ATU-R pracujícího na úrovni vrstvy třetí není instalace PPPoE klienta nutná. Obsahuje-li účastnický ADSL modem směrovač je implementován PPPoE na něm.
6.3 Základní nastavení zařízení DSLAM emutel Maestro 6.3.1
Vytvoření virtuálních kanálů v zařízení DSLAM
Po spuštění ovládacího programu pro DSLAM emutel Maestro ( Start, Programy, Maestro software ) se objeví hlavní okno tohoto programu. V hlavním menu programu vybereme položku Comms, Connect. Tímto se PC spojí se zařízením DSLAM a můžeme ho tedy pomocí dvou hlavních oken konfigurovat, viz Obr. 34. Kliknutím na záložku ATM Configuration 4.0 se dostaneme do menu pro konfiguraci ATM kanálů. Nejprve musíme v okně ATM Channels vytvořit ATM kanály. Tyto vytvoříme následovně: Do položky VPI vepíšeme identifikátor virtuální cesty, např. 8. Do položky VCI vepíšeme identifikátor virtuálního kanálu, např. 35. V položce MPHY máme tři možnosti: MOD1 – modem v první pozici, MOD2 – modem v druhé pozici a ATM – rozhraní ATM. Zvolíme MOD1 pro modem v první pozici ( Pouze tato pozice je v laboratoři ÚTKO FEKT obsazena ). V položce AAL Type zvolíme AAL5. Do pole Data Rate zadáme požadovanou rychlost kanálu buď v kbit/s, nebo v rámcích/s, např. 19320 rámců/s. Kliknutím na tlačítko Add Channel vytvoříme virtuální kanál s parametry: VPI=8, VCI=35, typ AAL v tomto
54
FEKT Vysokého učení technického v Brně
kanále bude AAL5 a tento kanál je vytvořen na ADSL modemu v pozici 1. Analogicky je možné přidat další virtuální kanály s požadovanými vlastnostmi.
Obr. 34: 6.3.2
Hlavní obrazovka ovládacího programu k zařízení DSLAM Maestro.
Vytvoření PVC v zařízení DSLAM
Vytvoření PVC docílíme tak, že v okně ATM Channels klikneme na ATM kanál, který chceme použít k vytvoření PVC, viz Obr. 34. Vybraný kanál se označí modrou barvou. Hodnoty VPI, VCI a MPHY tohoto kanálu se automaticky doplní do políček se stejnými názvy v okně ATM Routing. V poli Destination máme tři možnosti: Ethernet, WebServer a ATM. Toto políčko označuje rozhraní, na které budou data z MPHY posílána. Volba Ethernet směřuje data na vnější ethernetový port, volba WebServer na integrovaný WebServer. V poli Encapsulation vybereme paketovou službu, která bude použita na daném PVC. Máme k dispozici tyto možnosti: BRG LLC SNAP ( RFC-1483 ), BRG VC MUX( RFC1483 ), CLIP ( RFC-1577 ), PPPoA LLC NLPID ( RFC-2364 ), PPPoA VC MUX ( RFC2364 ), PPPoE LLC SNAP ( RFC-2516 ), PPPoE VC MUX ( RFC-2516 ), RTE LLC SNAP ( RFC-1483 ) a RTE VC MUX ( RFC-1483 ). Zvolíme-li některou z možností PPPoX, musíme nastavit ještě pole Options.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
55
V poli Options zvolíme některou z vytvořených možností (tvorba nové položky viz další kapitola). Zvolenou konfiguraci je možné uložit pomocí tlačítka Save Config. Naopak tlačítkem Upload Config je možné předem uloženou konfiguraci vyvolat. Nepoužívané kanály je možné odstranit tlačítkem Del Channel. Vytvořené PVC je možné odstranit označením PVC a kliknutím na tlačítko Deroute. 6.3.3
Nastavení vlastností paketových služeb
Při zvolení některé z paketových služeb z rodiny PPP je nutné nastavit vlastnosti testovaných paketových služeb. Toto nastavení zvolíme kliknutím na pole Encap List, New, viz Obr. 35.
Obr. 35:
Příklad nastavení pole Encap List.
V poli ID zadáme jméno nastavení. Do pole Local IP Adress zadáme IP adresu interního WebServeru nebo směrovače 1. Do pole Peer Adress zadáme IP adresu ADSL modemu. Do pole Primary DNS IP Adress doplníme hodnotu 147.229.144.10. Do pole Secondary DNS Adress hodnotu 147.229.72.10. Do pole User Name zadáme uživatelské jméno, které bude ověřováno. V poli Password uvedeme heslo, které má být ověřováno. Dále vybereme autentikační mód, buď PAP, nebo CHAP. Další možností je zaškrtnutí políčka Ignore Authentication. Tato volba znamená, že nebude ověřováno uživatelské jméno ani heslo. Nastavení uložíme postupným kliknutím na pole OK a Save Config. 6.3.4
Nastavení přenosové rychlosti pro kanály downstream a upstream
V hlavním okně ovládacího programu k zařízení DSLAM emutel Maestro klikneme na záložku Port 1: Alcatel (CO)v3.8.121. Objeví se okno, viz Obr. 36, pro nastavování bitových rychlostí pro kanály upstream a downstream. Můžeme zde zvolit, jaká přenosová rychlost bude použita na daném kanále a zda bude použito rychlého nebo prokládaného kanálu. Hodnotu zpoždění vzniklou prokládáním můžeme zvolit z hodnot 1, 4 a 16 ms. Změny uvedeme v platnost kliknutím na pole Apply.
56
FEKT Vysokého učení technického v Brně
Obr. 36: 6.3.5
Příklad nastavení jednotlivých kanálů ADSL modemu.
Ovládání interního paketového analyzátoru zařízení DSLAM
Interní paketový analyzátor zařízení DSLAM emutel Maestro spustíme tak, že v hlavním menu vybereme položku System, Logging Window. Otevře se nám okno paketového analyzátoru zobrazené na Obr. 37.
Obr. 37:
Okno interního paketového analyzátoru.
Paketový analyzátor zapneme vybráním položky Options, Log ON v menu paketového analyzátoru. Pro dekódování zachytávaných zpráv zvolíme položku Functions, Start Analysis, pro ukončení této operace zvolíme Otions, Stop Analysis. Po proběhnutí této analýzy jsou okně paketového analyzátoru k dispozici dekódované pakety pocházející z komunikace
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
57
mezi zařízením DSLAM a ADSL modemem. Obr. 38 znázorňuje ukázku takto dekódovaného paketu.
Obr. 38:
Příklad paketu dekódovaného pomocí interního paketového analyzátoru.
6.4 Zadání úlohy
Proveďte konfigurace DSLAMu Emutel Maestro a účastnického modemu ADSL SpeedTouch 610 pro všechny enkapsulační protokoly, které oba umožňují, pouze pro jednu z možné volby VC-Mux či LLC, umožňující přístup do Internetu či na integrovaný WebServer. Funkční konfigurace předveďte vyučujícímu. Pro vybraný typ protokolu realizujte konfiguraci pro součastný přístup na interní WebServer i na Internet. Seznamte se z možnostmi integrovaného paketového analyzátoru. Pomocí analyzátoru zachyťte relaci inicializace protokolu. S pomocí kapitoly 6.2, či doporučené literatury proveďte rozbor relace zachycených paketů. Každý student ze skupiny provede rozbor odlišného protokolu. V textové části protokolu proveďte stručné porovnání a zdůvodněte, co vede k stále častějšímu využití protokolu PPPoE.
Řešení problémů: Příznak: DSLAM Arca je správně nakonfigurován. Ve webovském rozhraní modemu SpeedTouch 610 se zobrazuje při připojení connecting/up, ale přesto není možný přístup do vnější sítě nebo na Web server. Řešení: Konfiguraci DSLAMu Arca si uložte (Save Config) a poté znovu načtěte (Upload Config). Pokud předchozí nepomohlo, v záložce Alcatel odpojte připojení (Close Line) a znovu navažte (Apply). Příznak: Správně nakonfigurované připojení modemu SpeedTouch 610 pomocí webovského rozhranní je nefunkční. Řešení: Proveďte stejnou konfiguraci s pomocí průvodce připojení SpeedTouch Setup Wizard.
58
FEKT Vysokého učení technického v Brně
7 Analýza modulace DMT 7.1 Teoretický úvod a zapojení úlohy Vícetónové modulace se stále více uplatňují v moderních přenosových systémech. Modulace DMT (Discrete MultiTone) se využívá v přenosových systémech pro datový přenos po metalických vedeních. Jedná se zejména o technologie ADSL a VDSL využívané pro datový přenos po telefonních vedeních a PLC systémy (PowerLine Communication) realizující přenos po energetických vedeních. Obdobou DMT je OFDM (Orthogonal Frequency Division Multiplexing), která se uplatňuje v bezdrátových přenosových systémech WLAN dle IEEE 802.11 g a v digitálních rádiových a televizních přenosových systémech. Na Obr. 39 je uvedeno schéma zapojení úlohy. DSLAM (DSL Access Multiplexer) obsahuje ADSL modemy poskytovatele připojení. Přenosová rychlost je záměrně snížena na 2Mbit/s. Účastnický ADSL modem je připojen prostřednictvím telefonního vedení délky 2km. Protože telefonní služba není zapojena, ani odpovídající příslušenství není instalováno (splitter, telefonní přístroj, atd.). ADSL modem SpeedTouch Home je možno konfigurovat z počítače uživatele připojení PC2 prostřednictvím webovského rozhraní. Další možností je konfigurace z příkazové řádky s využitím Telnet klienta. Tato varianta umožňuje rozšířenou možnost konfigurace, avšak ne příliš přehlednou. Nám však nabízí tu výhodu, že po zadání speciálního nedokumentovaného příkazu a hesla je možno se přepnout to expertního režimu. V tomto režimu jsou přístupné jednotlivé registry modemu, a tak je možno získat poměrně rozsáhlý přehled o funkci jednotlivých částí ADSL modemu. V expertním režimu využívejte pouze příkazy pro čtení (dump, get), nikoli pro zápis (Set). Hrozí zde nevratné poškození modemu! Jednotlivé příkazy zadávejte po zralé úvaze. Jednotlivé výpisy je možno z konzoly zkopírovat (Ctrl - C) do programového prostředí Matlab. Zde je dle Vašeho zadání zpracujte. U jednotlivých grafů nezapomeňte doplnit odpovídající jednotky. Pro pochopení obsahu jednotlivých registrů prostudujte následující kapitoly, ve kterých je stručně popsán princip modulace DMT.
ADSL modem Alcatel Speedtouch Home
192.168.20.41 Telefonní vedení 2 km DSLAM
Obr. 39:
192.168.20.59 jméno: adsl heslo: adsl
PC2 - Uživatel
Schéma zapojení úlohy: Analýza modulace DMT.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
59
7.2 Vícetónová modulace DMT Pro ADSL modemy je dle ANSI, ITU-T i ETSI normalizováno použití modulace DMT (Discrete MultiTone). Uvedenou modulaci lze zařadit mezi modulace s více nosnými. Modulace rozdělí kmitočtové pásmo (do 1,104 MHz) do řady subkanálů (u ADSL 255), a v jednotlivých subkanálech je aplikována QAM modulace. Systém modulace DMT si lze tedy představit jako banku QAM modulátorů. Jednotlivé nosné (tóny) jsou vzájemně vzdáleny o 4,3125 kHz. Modulace je však realizována číslicově s využitím algoritmů FFT. Přesněji řečeno každému tónu je dle vysílaných bitů přiděleno na základě konstelačního diagramu QAM komplexní číslo reprezentující amplitudu a fázi daného tónu. Prostřednictvím IFFT je vzniklý vektor komplexních čísel převeden do časové oblasti. Budeme jej dále označovat jako DMT symbol. DMT symbol tvoří 512 hodnot při přenosu směrem k uživateli (Dowstream) a 64 hodnot pro zpětný směr (Upstream). Mezi dvěma symboly dochází ke skokové změně všech amplitud a fází jednotlivých tónů. Proto je na začátek každého symbolu vkládána tzv. Cyklická předpona, kterou tvoří několik vzorků z konce DMT symbolu (32 Downstream/8 Upstream). Cyklická předpona realizuje se symbolem co do fází a amplitud jednotlivých tónů kontinuální signál. S pomocí této předpony lze eliminovat mezisymbolové přeslechy (ISI). Mezisymbolové přeslechy vznikají z důvodu dlouhé impulsní odezvy přenosového kanálu. Ta je srovnatelná s délkou DMT symbolu. S pomocí TEQ ekvalizéru v přijímači lze délku impulsní odezvy zkrátit k délce cyklické předpony. Ta je následně odstraněna. TEQ ekvalizér je zpravidla tvořen FIR filtrem řádu 16-32. Změna amplitud a fází způsobená přenosovým kanálem je eliminována v kmitočtové oblasti pomocí FEQ ekvalizéru. Ten tvoří vektor komplexních čísel, korekcí lineárního zkreslení přenosovým kanálem. Rozměr konstelačních diagramů či bitů přenášených na jednotlivých nosných není fixně dán, ale závisí na odstupu SNR v dílčím subkanále. Jednotlivými tóny tedy může být neseno 2, 3, 4 až 15 bitů. Z toho je patrno, že jsou definovány konstelační schémata neobvyklé pro běžnou M-QAM modulaci. O tom kolik bitů každá nosná bude přenášet je rozhodnuto během inicializace se změřeného SNR v dílčích subkanálech. Postup přidělování bitů se nazývá bitová alokace (bit-loading). Pokud oba modemy podporují funkci bit-swap, může i během přenosu probíhat kontinuální re-alokace. Počet alokovaných bitů je možné vypočítat pomocí vztahu (1).
3 bn log 2 1 SNR n 2 1 BER Q 4
1 Qx e 2 x
y2 2
[bit] (1)
dy [BER]
Pro BER 10-7 můžeme Q-funkci nahradit ztrátou 9,8dB ze SNR. Dále pak zisk kódováním je přibližně 4dB, ztráta kvůli aplikaci tzv. Cyklické předpony je 0,28dB při 255
60
FEKT Vysokého učení technického v Brně
nosných, délce cyklické předpony 32 vzorů a „nm“ - noise margin – je rezerva v odstupu SNR obvykle 6dB. Takto pak lze vztah (2) přepsat: SNRn 9 ,8CPztráta nm 10 bn log 2 1 10
(2)
[bit/s]
Celková přenosová rychlost je pak dána sumou všech bitů přenášených na jednotlivých tónech vynásobenou modulační rychlostí (4000 Bd). Zjednodušené blokové schéma DMT modemu uvádí Obr. 40.
. . tvorba rámce
Datové kanály
protichybové zabezpečení
vkládání CP
IFFT
nastavení vysílacího výkonu
Mapování nosných (QAM)
IIR vysílací filtr
telefonní vedení vidlice
odstranění CP
TEQ
IIR přijímací filtr
potlačení echa
. . Datové kanály
dekod. rámce
protichybové zabezpečení
Obr. 40:
QAM demodulace
FEQ
FFT
Zjednodušené blokové schéma modulace DMT .
7.3 Expertní režim modemu Alcatel SpeedTouch Home
Pro přístup do expertního režimu využijte program Alcatel Tool umístěný na ploše počítače PC2. Po spuštění zadejte IP adresu 192.168.20.59 a heslo adsl. V záložce systém klikněte na tlačítko Console. Poté by se mělo zobrazit okno Telnet klienta již v expertním modu viz Obr. 41. Pomocí příkazu help lze zobrazit seznam všech dostupných příkazu. Po zadání příkazu se dostanete o úroveň výše a o úroveň níž příkazem exit. Nyní zadejte příkaz sachem.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
Obr. 41:
61
Okno Telnet klient v expertním režimu.
Výpis dostupných registrů (bufferů) je možno získat zadáním příkazu content_buffer: Following information is available in the dump buffer : Id = 0: 1 X Init Agc – počáteční nastavení AGC (Automatic gain control)-obr.P1.Rx analog.č. Id = 1: 1 X Mid Agc – nastavení AGC (Automatic gain control) v průběhu inicilalizace Id = 2: 1 X Final Agc – konečné nastavení AGC (Automatic gain control) Id = 3: 1 X Agc. Calculated Teq – parametry AGC předávané pro výpočet koeficientů TEQ Id = 4: 2 X Initial detected tone Id = 5: 1 X Transp demap during synchr Id = 6: 1 X Transp demap during SNR M. Id = 7: 2 X Channel Measurement – přenosová charakteristika kanálu(1 Echo sig.,2 přen.ch.) Id = 8: 1 X Noise Measurement – měření šumu Id = 9: 1 X SNR Measurement – odstup SNR při inicializaci Id = 10:1 X Calculated Teq – vypočtené koeficienty TEQ ekvalizéru Id = 11:1 X Calculated feq coef. – vypočtené koeficienty FEQ ekvalizéru Id = 12:1 X Bit distribution – bitová alokace Id = 13:1 X Gain distribution – nastavení zesílení na jednotlivých nosných – TX analog č. Id = 14:1 X Noise Margin distribution – rozložení rezervy v odstupu SNR Id = 15:1 X Global information – informace o parametrech přenosu Id = 20:32 X Bit swap reports – informace o průběhu realokace nosných Id = 21:1 X DPLL lock traces – parametry fázového závěsu, obnovení synchronizace Id = 22:4 X Transmitted Message – aktuálně vyslaná data Id = 23:3 X Received Message – aktuálně přijatá data Id = 25:1 X Gain distribution Showtime – nastavení zesílení na nosných během přednosu Id = 26:2 X SNR Measurement Showtime – odstup SNR během přenosu (načtení nové viz help) Id = 30:1 X Initialization start indication Id = 32:1 X Showtime reached indication Id = 34:1 X RMS Carrier Mid Measured – efektivní hodnoty napětí na jednotlivých nosných Id = 35:1 X Final Capability Settings – ustavená konfigurace přenosu během inicializace Id = 36:1 X Final Operation Settings Id = 37:1 X Upstream Power Cutback Value – hodnota snížení vysílaného výkonu Id = 38:2 X Agc – celkové nastavení AGC (Analog Gain, FFT shift) Id = 39:3 X Tgc – celkové nastavení úrovně vysílaného signálu Id = 40:1 X Transparent demapping – demapování nosných v jednotlivých fázích přenosu
Obr. 42:
Obsah registrů modemu po zadání příkazu content_buffer.
Výpis registru lze provést zadáním příkazu content_buffer , doplněného o odpovídající Id. Číslice před názvem registru udává kolik měření je v registru uloženo.
62
FEKT Vysokého učení technického v Brně Například výpis rozložení SNR získáme zadáním content_buffer 9:
content_buffer 9 Report 1 : SNR Measurement Carrier 63 : 26.0 26.9 27.6 28.3 28.9 29.7 30.6 Carrier 70 :31.6 32.6 33.5 34.1 34.6 34.9 35.1 35.3 35.4 35.5 Carrier 80 :35.6 35.9 36.3 36.6 37.0 37.4 37.8 38.1 38.5 38.8 Carrier 90 :39.1 39.3 39.5 39.8 40.0 40.1 0.0 40.8 41.2 41.6 Carrier 100 :42.0 42.4 43.0 43.4 43.9 44.4 44.9 45.3 45.7 46.1 Carrier 110 :46.4 46.6 47.1 47.4 47.5 47.9 48.1 48.5 48.7 49.0 Carrier 120 :49.2 48.9 49.6 49.8 50.1 50.0 50.1 50.2 49.1 50.4 Carrier 130 :50.3 50.4 50.4 50.6 50.5 50.3 50.5 50.3 50.2 50.4 Carrier 140 :50.2 50.3 50.3 50.0 50.1 50.3 49.9 49.8 49.9 49.7 Carrier 150 :49.7 49.7 49.9 49.7 49.4 49.8 49.7 49.6 49.4 49.4 Carrier 160 :49.5 49.3 49.5 49.5 49.3 49.6 49.3 49.3 49.1 49.3 Carrier 170 :49.3 49.4 49.1 49.3 49.1 49.3 49.1 49.1 49.2 49.1 Carrier 180 :49.1 49.1 48.9 48.9 48.8 48.8 48.9 48.9 48.8 48.7 Carrier 190 :48.4 48.6 48.4 48.0 48.1 48.1 48.1 48.0 48.0 47.9 Carrier 200 :47.8 47.9 47.8 47.3 47.4 47.3 47.3 47.3 47.1 47.0 Carrier 210 :47.3 47.0 46.9 46.6 46.4 46.6 46.8 46.8 46.6 46.5 Carrier 220 :46.4 46.2 46.3 46.1 45.8 45.9 45.8 45.8 45.8 45.6 Carrier 230 :45.6 45.6 45.2 45.0 44.8 44.1 42.6 40.1 41.1 38.8 Carrier 240 :36.3 33.5 30.7 27.8 24.8 0.0 0.0 0.0 0.0 0.0 Carrier 250 :0.0 0.0 0.0 0.0 0.0 0.0 --------------------------------------
Obr. 43:
Výpis rozložení odstupu SNR.
Výpis obsahuje odstup SNR v dB na všech aktivních tónech (tj. 63. až 255.). Obsah registrů lze mazat, ale i doplňovat o nové údaje (viz help). Například načtení aktuálního rozložení SNR lze realizovat příkazem snr_showtime. V expertním režimu využívejte pouze příkazy pro čtení (dump, get), nikoli pro zápis (Set). Hrozí zde nevratné poškození modemu! Jednotlivé příkazy zadávejte po zralé úvaze. 0 prenosova charakteristika kanalu prenosova charakteristika echosignalu
−10 −20
Prenos [dB]
−30 −40 −50 −60 −70 −80 −90 −100
0
50
100
150
200
250
tony[ − ]
Obr. 44:
Přenosová charakteristika kanálu a echo signálu od upstream směru přenosu.
Následující obrázky uvádí ukázkové charakteristiky, vytvořené ze změřených dat. Na Obr. 44 je přenosová charakteristika kanálu a echo signálu od upstream směru přenosu. Reálná hodnota v dBm/Hz je oproti hodnotám získaným z registru Id 7 o cca 140 dB nižší. Úroveň vysílaného signálu downstream byl -52 dBm/Hz.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
63
Obr. 45 uvádí změřený odstup signál-šum SNR při inicializaci modemu, červená křivka a okamžitý odstup signál šum SNR během přenosu dat. 55 pocatecni SNR SNR behem prenosu
50 45 40
SNR [dB]
35 30 25 20 15 10 5 0
0
50
100
150
200
250
tony[ − ]
Obr. 45:
Odstup SNR při inicializaci modemu a během přenosu.
Obr. 46 uvádí rozložení rezervy v SNR oproti nezbytnému SNR pro aktuální bitovou alokaci, tzv. Noise Margin, při nastavení snížené přenosové rychlosti z cca 5,5 Mbit/s na 2Mbit/s, díky čemuž je tato rezerva výrazně vyšší oproti minimální nastavené hodnotě 6dB. 45 40 35
NM [dB]
30 25 20 15 10 5 0
0
50
100
150
200
250
tony[ − ]
Obr. 46:
Noise Margin.
Obr. 47 uvádí bitovou alokaci, tj. počet bit přenášených na jednotlivých tónech. Modrá křivka je alokace bez omezení rychlosti, červená při omezení na 2Mbit/s.
64
FEKT Vysokého učení technického v Brně
12 Aktualni bitova alokace Bitova alokace bez omezeni rychlosti 10
BG [bit]
8
6
4
2
0
0
50
100
150 tony[ − ]
Obr. 47:
200
250
300
Bitová alokace.
Obr. 48 uvádí modulovou charakteristiku FEQ ekvalizéru, korekci přenosového kanálu, TEQ ekvalizéru a přijímacích filtrů v kmitočtové oblasti. 50 45
Prenos [dB]
40 35 30 25 20 15 10 5 0
0
50
100
150
200
250
tony[ − ]
Obr. 48:
Modulová charakteristika FEQ ekvalizéru.
Na obrázku Obr. 49 je modrou barvou uvedena impulsní odezva přenosového kanálu a červenou barvou pak zkrácená impulsní odezva přenosového kanálu pomocí TEQ ekvalizéru, který ji zkracuji na délku cyklické předpony, tj. 32 vzorků. Jak je možno vidět v blokovém schématu na Obr. 40, následně je cyklická předpona, tj. 32 vzorku na začátku DMT symbolu odstraněna. Takto je zajištěno odstranění mezi-symbolových přeslechů a zachování ortogonality při demodulaci s využitím algoritmu FFT.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
65
1 Impulsni odezva kanalu pred zkracenim Impulsni odezva kanalu po zkraceni
0.8
Impulsni odezva kanalu [−]
0.6 0.4 0.2 0 −0.2 −0.4 −0.6 −0.8 −1
0
100
200
300
400
500
tony[ − ]
Obr. 49:
Impulsní charakteristika přenosového kanálu před a po zkrácení TEQ.
Na Obr. 50 je červenou čarou zobrazena výkonová spektrální hustota PSD přijímaného signálu, modrou čarou výkonová spektrální hustota PSD ozvěnového signálu od směru upstream přenosu a zelenou čarou PSD šumu společně se zbytkem ozvěnového signálu od upstream směru po jeho potlačení s pomocí číslicového zpracování v bloku potlačení ozvěnového signálu viz Obr. 40.
−60 PSD prijimaneho signalu PSD echosignalu PSD sumu
−70 −80
PSD [dBm/Hz]
−90 −100 −110 −120 −130 −140 −150
0
50
100
150
200
250
tony[ − ]
Obr. 50:
PSD přijímaného signálu, PSD echo signálu od upstream směru a PSD šumu.
66
FEKT Vysokého učení technického v Brně
7.4 Zadání úlohy
Prostřednictvím expertního režimu získejte z ADSL modemu tyto informace: Přenosovou charakteristiku kanálu. Rozložení odstupu SNR napříč přenosovým kanálem (při inicializaci a během přenosu - showtime). Rozložení šumu napříč kanálem. Rozložení rezervy v SNR oproti nezbytnému SNR pro aktuální bitovou alokaci (Noise Margin). Bitovou alokaci. Koeficienty ekvalizérů TEQ a FEQ. Obsah registrů naleznete na Obr. 42.
Získané vektory hodnot přeneste do programového prostřední Matlab. Zde je vhodným způsobem zobrazte a v závěrečné zprávě okomentujte.
Přenosová rychlost modemu byla snížena. Na základě změřeného rozložení SNR vypočtěte bitovou alokaci a maximální přenosovou rychlost (neuvažujte vliv kódování, cyklické předpony a rezervu Noise Margin uvažujte 0 dB).
Zobrazte impulsní odezvu kanálu před ekvalizací pomocí TEQ a po ekvalizaci. Proveďte diskuzi k realizovanému zkrácení impulsní odezvy. Výpočet zkrácené impulsní odezvy: Komplexní koeficienty FEQ do fvz/2 doplníme o stejný počet komplexně sdružených prvků tak, aby jsme získali 512 komplexních prvků a po převedení pomocí IFFT získáme reálný signál - impulsní odezvu. Výpočet původní impulsní odezvy: Provedeme dekonvoluci v kmitočtové oblast s pomocí komplexní přenosové funkce TEQ ekvalizéru (získané např. funkcí freqz). Opět provedeme doplnění stejně jako v předchozím případě a převedeme do časové oblasti. Obě charakteristiky pro lepší zobrazení posuneme tak, aby maximální prvek začínal cca na 100. prvku.
Analyzujte funkci kontinuální bitové realokace (Bit swap).
Seznamte se ADSL testerem FETest ParaScope ADSL2+. Otestujte dvojici přípojek označených ADSL a ADSL2+ (VPI 8 VCI 48 LLC-SNAP, RFC1483 bridge). Zaznamenejte dosažené přenosové rychlosti a použitý mód (prokládaný/neprokládaný) Zobrazte bitovou alokaci. Propojte levý počítač přes tester v režimu emulace modemu. Pomocí příkazu ping, zadaného v příkazovém okně v PC, určete zpoždění odezvy na ping a změnu zpoždění (při výpočtu neuvažujte první odezvu) při propojení přes modem a bez něj.
Řešení problémů: Příznak: Požadované položky se ve výpisu content_buffer nezobrazují. Nelze naplnit novým měřením žádná položka. Řešení: Zadejte příkaz clear_buffer. Odpojte telefonní kabel od modemu a znovu připojte.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
67
8 Měření spektrálních vlastností ADSL a VDSL 8.1 Teoretický úvod Dosažitelnou přenosovou kapacitu systémů lze definovat dle Shanonova vztahu v integrálním vyjádření, jak uvádí (3). Zde B je šířka využívaného kmitočtového pásma, PSD [W/Hz] je spektrální výkonová hustota (rozložení výkonu napříč kmitočtovým spektrem), Pcelk je celkový vysílaný výkon, H je přenosová funkce kanálu a N [W/Hz] je spektrální hustota aditivního šumu. PSD f H f 2 C log 2 1 df N f B
PSD f df
(3)
Pcelk , [W]
B
Výkonová spektrální hustota i spektrální hustota aditivního šumu se zpravidla uvádí v dBm/Hz, tedy vztažena k 1mW. Na přenosovém kanále s danou přenosovou funkcí a úrovni šumu lze zvyšovat kapacitu zvyšováním vysílaného výkonu a užitého kmitočtového pásma. Pokud bychom zvyšovali výkon přenosových systémů, vzrůstalo by i rušení okolních systémů pracujících na ostatních párech kabelového svazku. Proto se například u ADSL systémů limituje celkový vysílaný výkon na 25 dBm a spektrální výkonová hustota na cca -40dBm/Hz. Šířku využitého kmitočtového pásma rovněž má smysl zvyšovat jen dokud, je na daném kmitočtu dostatečný SNR. U ADSL systémů se využívá pásmo do cca 1MHz při předpokládaných vzdálenostech několika km. Maximální rychlost 8Mbit/s je dosahována do vzdálenosti cca 3km. VDSL systémy využívají většího kmitočtového pásma do cca 30MHz, avšak na velmi krátké vzdálenosti do několika set metrů. V jednotlivých normalizačních doporučeních jsou stanoveny parametry vysílaného signálu pomocí tzv. spektrálních masek. Obr. 51 uvádí spektrální masku ADSL technologie dle ITU-T 992.1 [ 4 ]. PSD in dBm/Hz –36.5 peak –36 dB/octave 21 dB/octave –90 dBm/Hz
–97.5 peak +15 dBrn 0-4 kHz
0
–50 dBm power in any 1 MHz sliding window above 4545 kHz
–92.5 peak
4
25.875
1104
4545 3093
11 040
Frequency in kHz T1532670-99
Obr. 51:
Spektrální maska ADSL-C dle ITU-T 992.1 ANNEX A.
68
FEKT Vysokého učení technického v Brně
Schéma zapojení pracoviště pro měření ADSL uvádí Obr. 52. Zapojení pro měření VDSL uvádí Obr. 53.
ADSL modem Draytek 2600W
147.229.148.27 Simulátor telefonní vedení ADSL DSLAM
-30 dB
192.168.1.1 jméno: heslo: -
PC2 - Uživatel
Osciloskop
Obr. 52:
Schéma zapojení úlohy pro měření spektrálních vlastností ADSL.
Při realizovaných měření vemte v potaz útlum oddělovacích transformátorů, viz Obr. 52 a Obr. 53. Návod k obsluze osciloskopu je přiložen na pracovišti. Celkový vysílaný výkon by neměl u ADSL překročit 20dBm a výkonová spektrální hustota PSD -36,5dBm/Hz. Pokud Vám vychází vyšší hodnoty, zřejmě jste udělali chybu při výpočtu či měření. Při potížích s nastavením osciloskopu se obraťe na vedoucího laboratorního cvičení. Prostudujte si však nejprve manuál k osciloskopu.
Ethernet
VDSL modem MC602
VDSL modem MC601
PC2 - Uživatel 0 dB
PC1 - Konfigurační
Osciloskop
Obr. 53:
Schéma zapojení úlohy pro měření spektrálních vlastností VDSL.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
69
8.2 Zadání laboratorní úlohy
Měření spektrálních vlastností ADSL: S pomocí osciloskopu s integrovanou funkcí výpočtu FFT změřte vysílané spektrum signálu ADSL modemu. Zaměřte se na kanál Downstream. Při měření s využitím FFT dbejte na vhodnou volbu okna a nastavení synchronizace. U některých osciloskopů je nutno realizovat přepočet při změně vzorkovacího kmitočtu, a proto vypočtěte výkon signálu na základě měření efektivní hodnoty napětí časového průběhu. Při měření je rovněž nutno uvažovat přenos oddělovacího transformátoru cca -30 dB. Realizujte měření pro různé nastavené délky vedení. Zároveň analyzujte pomocí webovského rozhranní ADSL modemu SNR a bitovou alokaci (Main Menu -> Diagnostic Tools -> ADSL Spectrum Analysis ). Jednotlivá měření si uložte a prezentujte v závěrečné zprávě (z osciloskopu prostřednictvím diskety, z modemu pomocí programu HyperSnap). Změřená spektrum zpracuje do grafů kmitočtové závislosti spektrální výkonové hustoty PSD. Ze spektra vypočtěte vysílaný výkon. Předpokládejte vstupní odpor přijímače 135 . Pro kontrolu proveďte měření a výpočet i v časové oblasti. Vysvětlete schodkovitý průběh rozložení výkonu. Na základě měření spektra po přerušení spojení (například změnou délky na simulátoru vedení) popište inicializaci modemu. Změřte kmitočty jednotlivých tónů využívaných při inicializaci a porovnejte s normalizací ITU-T 992.1. Měření spektrálních vlastností VDSL: Realizujte měření vysílaného spektra signálu VDSL modemu. Modemy jsou propojeny přímo bez simulátoru vedení. Měření proveďte pro 6 vhodně vybraných přenosových rychlostí. Rychlost modemu lze nastavovat pomocí VDSL Tool umístěného na levém PC. Počítač je nutno propojit s modemem speciálním přiloženým kabelem na sériový port. Rychlost volí modem na straně ústředny MC602. Účastnický modemu MC601 je nutno přepnout stejným programem do režimu instalace. Pro jednotlivá měření vypočtěte celkový vysílaný výkon a srovnejte jej s výkonem změřeným na základě efektivní hodnoty napětí z časového průběhu. Změřené charakteristiky si opět zaznamenejte. Na levém počítači je nainstalován SW DSO 3000, který umožňuje importovat změřená data prostřednictvím USB rozhranní do počítače. Určete z nich rozložení spektrální výkonové hustoty PSD [dBm/Hz] a doplněné komentářem vložte do zprávy. Vlastní zpracování realizujte s pomocí programu Matlab či Excel. V grafu srovnejte rozložení výkonové spektrální hustoty PSD pro různé přenosové rychlosti.
70
FEKT Vysokého učení technického v Brně
9 Programování GSM modemu FastTrack M1306 9.1 Teoretický úvod Tato laboratorní úloha se zabývá programováním bezdrátového GSM/GPRS modemu s označením FastTrack M1306, Obr. 54, od francouzské firmy Wavecom [ 26 ], [ 27 ], [ 28 ]. Modem lze ovládán pomocí AT příkazů a lze ho použít pro GSM pásmo 900 nebo 1800 MHz. Zároveň slouží jako terminál pro přenos faxů, dat, SMS a hlasu. Modem navíc obsahuje integrovaný mikrokontroler a lze tedy vytvářet vlastní aplikace, které „běží“ přím na modemu bez nutnosti dalšího přídavného mikrokontroleru. Modem mimo jiné obsahuje také programovatelný port se dvěma vstupně/výstupními piny s logickými úrovněmi CMOS (3V). Tento port se využívá pro připojení signalizačního a ovládacího modulu. Modul umožňuje pomocí SMS zpráv aktivovat/deaktivovat např. alarm, zjistit stav portu a informace a událostech na modemu posílat přes FTP protokol na webový server. GSM modemy jsou standardně ovládány pomocí AT příkazů. Pro vytvoření vlastní aplikace je často zapotřebí další jednočipový mikroprocesor. Platforma „Open AT“ společnosti Wavecom nabízí možnost vytvořit aplikaci, která umožňuje definovat funkce vlastních AT příkazů. Vlastní aplikaci je možno vytvořit v prostředí programu Microsoft Visual C++ a její chování můžeme pozorovat v Emulátoru Terminálu, či programu Target Monitoring Tool od firmy Wavecom. V prostředí programu Microsoft Visual C++ vytvoříte aplikaci podle několika programů, které najdete v pracovním adresáři „D:\Open_AT\“. Tyto programy umožňují v zadaném intervalu rozblikat LED diody, či rozhoukat piezosirénku. Podnětem pro jejich spuštění může byt např. přesně definovaná příchozí SMS zpráva, či příchozí hovor. Text SMS zpráv a telefonní číslo, ze kterého SMS přišly, se zobrazují v okně programu Terminal Emulátor.
Obr. 54:
Modem FastTrack M1306.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
71
9.2 Signalizační a ovládací modul Zařízení, které je připojeno ke dvěma vstupně/výstupním pinům, vyvedených na modemu, sloužících např. jako alarm (signalizace pomocí LED diod či piezo sirénky), nebo tlačítkem je možné např. odeslat SMS zprávu. Modul obsahuje 2 jumpery, kterými si zvolíte, zda se má daný pin chovat jako vstup či výstup. Na desce plošného spoje jsou vedle jumperů popisky, aby bylo zřejmé, který co ovládá. Pokud bude port nastavený jako vstup, můžeme k němu pomocí jumperu připojit tlačítko umístěné na desce modulu. Pokud bude port nastaven jako výstup, lze k němu připojit signalizační LED diodu, nebo piezo sirénku rovněž umístěné na desce. Alarm jsem v tomto případě realizoval jako signalizaci pomocí LED diod či piezo sirénky. Tlačítko je použito k odeslání informační SMS zprávy, ale může sloužit také ke spuštění funkcí, definovaných v programu.
Obr. 55:
Modem FastTrack M1306 s připevněným modulem.
Obr. 56:
Deska plošného spoje přídavného modulu.
72
FEKT Vysokého učení technického v Brně
Po zapnutí modemu dojde k jeho automatickému restartu a oba porty se nastaví jako výstup, v tomto případě logická 0. Podle nastavení jumperu bude na modulu svítit LED dioda, nebo pískat piezo sirénka. Tab. 8:
Význam portů přídavného modulu.
COM
Jumper
Funkce
Com 5 - ADL_IO_Q24X6_GPIO_5
JP1
Siréna
Com 5 - ADL_IO_Q24X6_GPIO_5
JP2
Zelená LED
Com 4 - ADL_IO_Q24X6_GPIO_4
JP3
Červená LED
Com 4 - ADL_IO_Q24X6_GPIO_4
JP4
Tlačítko
9.3 Popis vytvoření projektu pro modul OpenAt Pro plnou podporu programovatelného zařízení je nutné nainstalovat podporu. Na přiloženém CD od výrobce se nachází develop kit pro programovací jazyky na platformě C,C++. Možnosti vytvoření aplikace pro modul jsou dvě. První metoda je emulace softwarového řešení od výrobce. V této metodě probíhá testování a ladění na základě simulačního modelu zařízení. Druhá metoda spočívá v přenosu zkompilovaného programu do hardwarového zařízení. Zatímco první metoda simuluje všechny procesy probíhající v zařízení vývojového KITu, druhá je v hodná pro konkrétní řešení z hlediska časové posloupnosti aplikací závislých na čase. Před samotným programováním je nutné nainstalovat podporu komunikace se zařízením. Tento postup je popsán níže.
Obr. 57:
Nastavení pracovních adresářů.
V prvním kroku jsme vyzvání pro nastavení pracovních adresářů s cestami, kam se budou jednotlivé knihovny instalovat. Neméně důležité je zašktávací okno Synchronized worksproces, ve kterém se nastavuje podpora pro jednotlivé programovací buildery.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
73
9.4 Vytvoření vlastní Open AT aplikace pomocí Open-AT Project Wizard Pro vytvoření nové aplikace můžeme použít průvodce, který poskytuje prostředí pro vytváření Open AT projektů.
Obr. 58:
Okno průvodce - Project wizard.
9.5 Postup pro vytvoření nové Open AT aplikace
Po spuštění průvodce vypíšeme do okna „Project Name“ název nového projektu Do okna „Project patch“ zadáme cestu k projektu (buď vypsáním celé cesty, nebo kliknutím na tlačítko s třemi tečkami a vybráním požadovaného adresáře). Do okna „Please select the API“ (Prosím zvolte rozhraní pro programování aplikace) vybereme ADL (reccomend - doporučené). Toto rozhraní využívá již předem definované knihovny a proto je zdrojový kód programu jednodušší. Dále vybereme typ projektu a pod položkou „Please select the project type“ zvolíme Binary (binární-dvojková). V dalším kroku máme na výběr, zda chceme vytvořit nový projekt (New Project), otevřít ukázkový (Sample Project), nebo otevřít již existující projekt (Existing Project). Zvolíme New Project
74
FEKT Vysokého učení technického v Brně Zaškrtneme Launch development environment (spustit vývojové prostředí), vybereme Microsoft Visual C++ 6.0 a stiskneme tlačítko OK. Pokud zadaná cesta neexistuje, průvodce se zeptá na vytvoření adresáře a vytvoří ho automaticky. Vytváření projektu můžeme sledovat v příkazovém řádku. Po skončení tohoto procesu se průvodce zavře, spustí se vývojové prostředí Microsoft Visual C++ a můžeme přejít k samotnému vytvoření projektu.
9.6 Vlastnosti vytvořené aplikace Podle výše popsaného postupu vytvořte nový projekt (vaše jméno_sms). Po vytvoření projektu se do vámi zvoleného adresáře vytvoří tato struktura: RTE - Obsahuje aplikaci vygenerovanou programovacím nástrojem pro podporované jazyky. ARM/OUT - Obsahuje zdrojový kód aplikace, která je přizpůsobená pro nahrání do modulu. GCC/OUT - Obsahuje zdrojový kód aplikace, která je přizpůsobená pro nahrání do modulu s kompilací GCC. SRC - Obsahuje uživatelský Open - AT zdrojový kód aplikace. INC - Obsahuje uživatelský Open - AT hlavičkový kód aplikace.
9.7 Datové typy používané při programováni Open-AT aplikací Platforma Open-AT má kromě standardních datových typů, definované taky vlastní datové typy, které odpovídají standardním datovým typům používaných v klasickém C++. Přehled datových typu v Open-AT: Open-AT Typ
C++ Typ
Délka
Rozmezí
u8
unsigned char
8 bitů
0 až 255
s8
signed char
8 bitů
-128 až 127
ascii
char
8 bitů
-128 až 127
u16
unsigned short
16 bitů
0 až 65 535
s16
short
16 bitů
-32 768 až 32 767
u32
unsigned int
32 bitů
0 až 232
s32
int
32 bitů
-2 31 až (2 31 - 1)
9.8 Knihovny používané v Open-AT Open-AT využívá vlastní knihovny funkcí, zvané ADL. Tato zkratka vychází z anglické definice Application Development Layer (vrstva pro vývoj aplikací). ADL knihovny jsou navrženy a používány pro zjednodušení programování Open-AT aplikací. Seznam funkcí:
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO adl_ioSubscribe
funkce pro ovládání GPIO portů modemu
adl_ioRead
funkce pro čtení log. hodnoty (stavu) GPIO portu
adl_ioWrite
funkce pro zapsání log. hodnoty GPIO portu
adl_simSubscribe
funkce pro přihlášení SIM karty do GSM sítě
adl_simGetState
funkce pro získání informací stavu SIM karty
75
adl_atSendResponse funkce vypisující odezvu do okna Terminálu adl_smsSubscribe
funkce pro přihlášení k SMS službám
adl_smsSend
funkce pro odeslání SMS zprávy
adl_tmrSubscribe
funkce pro přihlášení časovače a jeho nastavení
adl_tmrUnSubscribe funkce pro odhlášení časovače adl_callSubscribe
funkce pro přihlášení ke službám, zobrazujících informace o příchozím hovoru
adl_gprsSubscribe
funkce pro přihlášení k GPRS službám, umožňující připojení k internetu
adl_fcmSubscribe
funkce pro přihlášení k FCM službám, které otevírají tok požadavků a nastavují kontrolní a datové Handlery, pro ovládání a výměnu dat mezi specifickými toky (V24 UART1, UART 2, USB, GSM DATA nebo GPRS)
adl_fcmUnsubscribe funkce pro odhlášení FCM služeb adl_fcmSendData
funkce posílající blok dat
adl_fcmSwitchV24State funkce přepínající stav seriové linky mezi AT/Datovým módem adl_atCmdSubscribe funkce pro přihlášení k zadávání AT příkazů adl_atCmdCreate
funkce umožňující zadání AT příkazu přímo v programu
adl_atCmdUnSubscribe funkce pro odhlášení zadaného AT příkazu ip_Subscribe
funkce pro přihlášení knihovny IPConnect
ip_Connect
funkce umožňující sestavení GPRS (GSM) spojení
ip_FTPSet
funkce, pomocí které nastavujeme připojení k FTP serveru
ip_FTPPut
funkce umožňující upload souboru na FTP server
ed_SendData
funkce umožňující posílání dat na seriovou linku
Podrobnější informace naleznete v AUG_ADL_User_Guide_for_Open_AT_301.pdf umístněném na ploše. Deklarace hlavičkových souborů, potřebných pro program: #include "adl_Global.h" #include "ipconnect.h" #include "time.h" Soubor adl_Global.h odkazuje na většinu dalších hlavičkových souborů, které budete využívat. Soubor ipconnect.h obsahuje funkce, umožňující připojení k internetu. Soubor time.h obsahuje funkce, umožňující pracovat s informacemi o aktuálním čase.
76
FEKT Vysokého učení technického v Brně
9.9 Popis vybraných funkcí 9.9.1
Funkce pro monitorování sms:
s8 adl_smsSubscribe SmsCtrlHandler, u8 Mode );
(
adl_smsHdlr_f
SmsHandler,
adl_smsCtrlHdlr_f
Parametry: SmsHandler ukazatel na paměťový prostor definovaný na SIM kartě. Ukazatel SmsHandler dostaneme při odpovědi na funkci: typedef bool ( * adl_smsHdlr_f ) ( ascii * SmsTel ,ascii * SmsTimeLength ,ascii * SmsText ); Hodnotu ukazatele používejte při jakékoliv funkci spojené s SMS deklarací. SmsTel – hodnota telefonního čísla. SmsTimeLength – hodnota času, který se nastaví v modulu. Tento čas reprezentuje interval, po který je otevřen příchozí a odchozí buffer sms zpráv. SmsText – tato proměnná obsahuje test zprávy. Výstupem této funkce je logická hodnota treu nebo false (typ boolean). Pokud se vrátí hodnota true, můžeme ukazatel použít k odeslání sms. SmsCtrlHandler - Ukazatel na událost sms je definován takto: typedef void ( * adl_smsCtrlHdlr_f ) ( u8 Event, u16 Nb ); Obsahuje hodnoty stavů SMS zprávy. Popis vrácených hodnot: ADL_SMS_EVENT_SENDING_OK - Sms zpráva byla odeslána. ADL_SMS_EVENT_SENDING_ERROR - Některý s parametrů sms odesílací funkce byl chybně nastaven. Chybovost parametru zjistíme v číselné hodnotě „+CMS ERROR“. ADL_SMS_EVENT_SENDING_MR - Zpráva byla odeslána. Parametr Nb obsahuje referenční hodnotu. ADL_SMS_EVENT_SENDING_OK - Obsah handlu je nastaven na přijatý kontrolní handle. 9.9.2
Odeslání SMS
s8 adl_smsSend ( u8 Handle, ascii * SmsTel, ascii * SmsText, u8 Mode ); Parametry: Handle - viz kapitola 9.9.1., SmsTel - telefonní číslo kam se SMS odešle., SmsText - SMS text., Mode viz kapitola 9.9.1.. Popis ostatních funkcí můžete nalézt v souboru, který je umístněn na ploše PC AUG_ADL_User_Guide_for_Open_AT_301.pdf na ploše.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
77
9.10 Ukázková aplikace - blikající červené LED diody 9.10.1 Popis funkce programu Tento program slouží pro rozblikání červené LED diody, umístěné na signalizačním modulu, připojeném k modemu. V programu je možnost nastavit rychlost a počet bliknutí. Pro správnou funkci tohoto programu musíme nastavit jumper, umístěný na ovládacím modulu do pozice „Led1“. Po spuštění programu je z hlavní části programu volán cyklický časovač, nastavený na 1s a při každém jeho přetečení se opakovaně zapisuje na port GPIO4 (ke kterému je připojena červená LED) log.0 a log.1, což způsobí blikání této LED diody. V okně programu Terminal Emulator se při každé změně stavu portu (log. 0 nebo 1) zobrazuje zpráva o tom, zda LED svítí, nebo je zhaslá. Funkce použité v tomto programu: adl_ioSubscribe
funkce pro ovládání GPIO portů modemu
adl_ioWrite
funkce pro zapsání log. hodnoty GPIO portu
adl_tmrSubscribe
funkce pro přihlášení časovače a jeho nastavení
adl_tmrUnSubscribe funkce pro odhlášení časovače adl_atSendResponse funkce vypisující odezvu do okna Terminálu 9.10.2 Vlastní aplikace Jako první je potřeba v Microsoft Visual C++ nastavit aktivní projekt – to provedete kliknutím pravým tlačítkem myši na položku „jmeno_vaseho_projektu_rte_classes“ a zvolíte „Set as Active Project“. Nyní si otevřeme složku Globals a poklikáme na položku „adl_main“, hlavní program. Tímto se nám otevře okno, do kterého budeme psát zdrojový text našeho programu. Nejprve je nutno si deklarovat hlavičkové soubory. Tyto soubory mají připonu .h a definujeme je pomocí funkce #include a název hlavičkového souboru uvádíme buď pomocí direktivy <jméno_souboru>, nebo dáme jméno_souboru do uvozovek – “jméno_souboru“. Deklarace hlavičkových souborů, potřebných pro tento program: #include "adl_Global.h" Hlavičkový soubor automaticky generovaný při vytvoření nové aplikace. Tento soubor odkazuje na ostatní hlavičkové soubory, obsahující standardní funkce používané jak v Open-AT, tak v C++. Seznam některých hlavičkových souborů, obsažených v adl_Global.h: adl_str.h
Obsluha řetězců
adl_gpio.h
Obsluha GPIO portů modemu
adl_sim.h
Obsluha služeb SIM karty
adl_sms.h
Obsluha SMS zpráv
adl_call.h
Obsluha hovorů
adl_gprs.h
Obsluha GPRS služeb
78
FEKT Vysokého učení technického v Brně
Dále je potřeba definovat proměnné, nezbytné pro chod programu. Tyto jsou rovněž automaticky generovaný při vytvoření nové aplikace a potřebné ve všech programech: u32 wm_apmCustomStack [ 256 ]; const u16 wm_apmCustomStackSize = sizeof ( wm_apmCustomStack ); Deklarace vlastních proměnných: s8 stav; - Proměnnou stav si vytvoříme pro uložení návratové hodnoty funkce „adl_ioSubscribe“ která je potřebná pro nastavení a ovládání portu GPIO4 ke kterému je LED dioda připojena adl_tmr_t *timer; - adl_tmr_t je datový typ ukazatele časovače (timeru), definovaný v Open-AT. u32 stavGPIO4=0, odpoc=11; - Proměnnou stavGPIO4 budeme používat pro rozsvícení, nebo zhasnutí LED diody. Může mít hodnotu 0 – LED svítí, nebo 1 (0xFFFFFFFF) – LED je zhaslá Pro začátek ji nastavíme na hodnotu 0. Modul má invertované vstupy, proto reaguje na opačné hodnoty. Proměnnou odpoc si vytvoříme pro volbu počtu bliknutí. Pro začátek ji nastavíme na hodnotu 11 a pak ji budeme dekrementovat, čímž nastavíme, kolikrát se LED rozsvítí a zhasne. Při každém přetečení časovače je volána funkce: void Gpio_TimerHandler ( u8 ID ) { Rozhodování, v jakém stavu je LED: pokud svítí, zhasneme ji, a pokud nesvítí, tak ji opět rozsvítíme – tím dosáhneme požadovaného blikání. Pokud je hodnota proměnné GPIO4 0, port se nastaví na log.0 a LED se rozsvítí, pokud je hodnota proměnné GPIO4 0xFFFFFFFF, port se nastaví na log.1 a LED zhasne. Funkce adl_atSendResponse vypíše odezvu, v tomto případě informaci o tom, že LED svítí, nebo je zhaslá, do okna Terminálu. Parametr \r udává návrat na začátek řádku a parametr \n udává nový řádek. if ( stavGPIO4 == 0 ) { stavGPIO4 = 0xFFFFFFFF; adl_atSendResponse ( ADL_AT_UNS, "\r\nLed zhasne\r\n" ); } else { stavGPIO4 = 0; adl_atSendResponse ( ADL_AT_UNS, "\r\nLed se rozsviti\r\n" ); } Funkce adl_ioWrite slouží pro zapsání log. hodnoty na port GPIO4. První parametr udává návratovou hodnotu funkce adl_ioSubscribe. Druhý parametr udává typ modulu obsaženého v modemu a označení portu, se kterým budeme pracovat.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
79
Třetí parametr udává jaká hodnota se má na port zapsat. Funkce odpoc-- dekrementuje (snižuje její hodnotu o jedničku) proměnnou odpoc (původně nastavenou na 11), čímž se odpočítává počet bliknutí. adl_ioWrite ( stav, ADL_IO_Q24X6_GPIO_4, stavGPIO4 ); odpoc--; Až se LED 5x rozsvítí a 5x zhasne, proměnná odpoc dosáhne nulové hodnoty, dojde k ukončení časovače, což provádí funkce adl_tmrUnSubscribe. Její parametry jsou: První parametr udává název časovače, který chceme odhlásit. Druhý parametr udává ovladač časovače, který chceme odhlásit. Třetí parametr udává typ časovače. if ( odpoc == 0 ) { adl_tmrUnSubscribe( timer, Gpio_TimerHandler, ADL_TMR_TYPE_100MS ); } } Hlavní funkce: Funkce generující se automaticky, při vytvoření nové aplikace a sloužící k inicializaci modemu a jeho restartu před spuštěním programu. V této části se volají všechny funkce hlavního programu. void adl_main ( adl_InitType_e InitType ) { stav=adl_ioSubscribe (ADL_IO_Q24X6_GPIO_4, 0, 0xFFFFFFFF, 0, (adl_ioHdlr_f) NULL ); timer=adl_tmrSubscribe ( TRUE, 3, ADL_TMR_TYPE_100MS, Gpio_TimerHandler ); } Funkce adl_ioSubscribe slouží pro nastavení a ovládání GPIO portů modemu. My budeme pracovat s portem GPIO4, ke kterému je připojena LED a nastavíme ho jako výstup. První parametr udává masku obsahující typ modulu obsaženého v modulu a číslo portu. Druhý parametr udává, zda se bude zvolený port chovat jako vstup (1), nebo výstup (0). Třetí parametr udává jaká hodnota se má na port zapsat při spuštění – v tomto případě 0xFFFFFFFF ( log 1 ) – LED nesvítí. Čtvrtý parametr udává časový interval mezi dvěmi vyvolávajícími operacemi s GPIO, pokud je port nastaven jako vstup. V našem případě je nastaven na 0, protože vyvolávací čas (polling time) není požadován. Pátý parametr udává Handler, přijímající stav portu definovaného v masce. Pokud je vyvolávací čas (polling time) na staven na 0, musí být hodnota tohoto Handleru NULL. Funkce adl_tmrSubscribe slouží pro přihlášení časovače a nastavení rychlosti blikání. První parametr udává, zda je časovač cyklický (TRUE), nebo ne (FALSE). Cyklický časovač se nastavuje vždy po skončení cyklu.
80
FEKT Vysokého učení technického v Brně Druhý parametr udává počet period, po kterých časovač vyprší (rychlost blikání). Třetí parametr udává typ časovače, v našem případě 100 ms. Čtvrtý parametr udává parametr Handler návratové funkce asociované s časovačem.
9.10.3 Spuštění aplikace
Před spuštěním aplikace je třeba ji zkompilovat kliknutím na příkaz: “Build“ -> “Build nazev_vasi_aplikace_rte.dll“ nebo klávesou F7 (ve Visual C++). Spustíme program Target Monitoring Tool a v něm zvolíme Commands -> “Auto Detect“ (pro automatickou detekci cílové rychlosti). Zvolíme Commands -> “Init Target“ (pro inicializaci cíle v Debug módu). Zvolíme Traces -> “Open“ (pro otevření okna pro monitorování cíle). Zvolíme Commands -> “Get Informations About Target“ (pro inicializaci monitorovacího módu). V programu Target Monitoring Tool spustíme Terminal Emulator a napíšeme do něj příkaz “AT“. Pokud bylo připojení k modemu úspěšné, terminál by měl odpovědět OK Ve Visual C++ zadáme příkaz “Build“ -> “Start Debug“ -> “Go“ nebo stiskneme klávesu F5 Nyní se nám otevře okno programu RemoteTasks Monitor, ve kterém spustíme aplikaci tlačítkem „Start“. Tlačítkem „Stop“ pak můžeme aplikaci zastavit a tlačítko Suit slouží pro ukončení aplikace a návrat do Microsoft Visual C++.
Obr. 59:
Okno programu RemoteTasks Monitor.
V okně programu Terminal Emulátor byste měli vidět odezvy, které jsou v programu definované - zobrazování stavu LED diody. Příklad můžeme vidět na Obr. 60.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
Obr. 60:
81
Okno programu Terminal Emulátor při blikání LED.
9.11 Ukázková aplikace - pískání sirénky 9.11.1 Popis funkce programu Tento program slouží pro rozblikání zelené LED diody, nebo pískání sirénky, umístěné na signalizačním modulu, připojeném k modemu. V programu je možnost nastavit rychlost a počet bliknutí (písknutí). Pro správnou funkci tohoto programu musíme nastavit jumper, umístěný na ovládacím modulu do pozice Led2, pro blikání zelené LED, nebo do pozice Pzo, pro houkání piezo sirénky. Funkce programu i zdrojový text jsou téměř stejné, jako v předchozím programu (viz kapitola 9.10) s tím rozdílem, že zelená LED dioda i piezosirénka jsou připojeny na port GPIO5. Funkce použité v tomto programu: Program využívá naprosto stejné funkce, jako předchozí, viz kapitola 9.10. Spuštění programu je rovněž totožné. V programu stačí přepsat pouze parametry funkcí adl_ioSubscribe a adl_ioWrite z původní hodnoty ADL_IO_Q24X6_GPIO_4 na ADL_IO_Q24X6_GPIO_5.
82
FEKT Vysokého učení technického v Brně
9.12 Ukázková aplikace - posílání SMS zpráv pomocí tlačítka 9.12.1 Popis funkce programu Tento program umožňuje pomocí tlačítka umístěného na modulu odeslat SMS zprávu. Program pomocí časovače stále testuje stav tlačítka a při jeho sepnutí odešle zprávu na tel. číslo definované v programu. Pro správnou funkci tohoto programu musíme nastavit jumper, umístěný na ovládacím modulu do pozice „Tl1“ (JP3 na JP4). Funkce použité v tomto programu: adl_ioSubscribe
funkce pro ovládání GPIO portů modemu
adl_ioRead
funkce pro čtení log. hodnoty (stavu) GPIO portu
adl_simSubscribe
funkce pro přihlášení SIM karty do GSM sítě
adl_simGetState
funkce pro získání informací stavu SIM karty
adl_atSendResponse funkce vypisující odezvu do okna Terminálu adl_smsSubscribe
funkce pro přihlášení k SMS službám
adl_smsSend
funkce pro odeslání SMS zprávy
adl_tmrSubscribe
funkce pro přihlášení časovače a jeho nastavení
adl_tmrUnSubscribe funkce pro odhlášení časovače 9.12.2 Vlastní aplikace Otevření aplikace je stejné jako u předchozích příkladů viz kapitola 9.10.3. Deklarace hlavičkových souborů, potřebných pro náš program: #include "adl_Global.h" Postačí tento soubor, jelikož odkazuje na další hlavičkové soubory, které budeme využívat. Dále je potřeba definovat proměnné, nezbytné pro chod programu. Tyto jsou rovněž automaticky generovaný při vytvoření nové aplikace a potřebné ve všech programech: u32 wm_apmCustomStack [ 256 ]; const u16 wm_apmCustomStackSize = sizeof ( wm_apmCustomStack ); Deklarace vlastních proměnných: s8 stav, sms, vysledek; - Proměnnou stav si vytvoříme pro uložení návratové hodnoty funkce „adl_ioSubscribe“ která je potřebná pro zjištění stavu portu GPIO4 ke kterému je připojeno tlačítko. Proměnná sms volá funkci pro přihlášení k SMS službám. Proměnná vysledek sloužící ke kontrole, zda byla SMS odeslána adl_tmr_t *timer; - adl_tmr_t je datový typ ukazatele časovače (timeru), definovaný v Open-AT. u32 precti; - Proměnná precti je potřebná ke zjištění stavu tlačítka. adl_simState_e stav_sim; - Proměnná stav_sim je potřebná pro zjištění stavu SIM karty bool neco; - Proměnná neco se využívá k ošetření tlačítka, aby se při jeho držení neposílalo několik SMS za sebou.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
83
Testování, v jakém stavu je tlačítko. Pokud je hodnota proměnné precti 0 (FALSE), tlačítko je rozeplé, a jeho stav se vypíše pomocí funkce adl_atSendResponse do okna terminálu. Dále se provede nastavení proměnné něco na hodnotu 1, abych při stisku tlačítka mohl zajistit, že se SMS pošle jen jednou. void Gpio_TimerHandler ( u8 ID ) { if ( precti == 0 ) { adl_atSendResponse ( ADL_AT_UNS, "\r\nTlacitko je rozeple\r\n" ); neco = 1; } else { if ( neco == 1 ) { adl_atSendResponse ( ADL_AT_UNS, "\r\nTlacitko je seple\r\n" ); vysledek=adl_smsSend ( sms, "+420XXXXXXXXX", "Pokusna SMS z modemu M1306", ADL_SMS_MODE_TEXT ); switch (vysledek) { case OK: adl_atSendResponse ( ADL_AT_UNS, "\r\nSMS byla uspesne odeslana\r\n" ); break; case ADL_RET_ERR_PARAM: adl_atSendResponse ( ADL_AT_UNS, "\r\nParameter ma spatnou hodnotu\r\n" ); break; case ADL_RET_ERR_UNKNOWN_HDL: adl_atSendResponse
(
ADL_AT_UNS,
"\r\ntNeznamy
ukazatel\r\n" ); break; case ADL_RET_ERR_BAD_STATE: adl_atSendResponse ( ADL_AT_UNS, "\r\nSMS nemohla byt poslana, protoze neprobehla inicializace\r\n" ); break; } neco = 0;
84
FEKT Vysokého učení technického v Brně } } precti=adl_ioRead ( stav ); }
Pokud je hodnota proměnné precti 1, znamená to, že bylo stisknuto tlačítko a testuje se ještě jestli je hodnota proměnné neco 1 (TRUE) a pokud ano, vypíše pomocí funkce adl_atSendResponse do okna Terminálu zprávu o tom, že bylo tlačítko stisknuto a zavolá funkci adl_smsSend která odešle SMS zprávu a v zápětí nastaví hodnotu proměnné neco zpět na nulu (FALSE), aby se SMS nemohla odeslat vícekrát (při následujícím přetečení časovače). Další SMS je tedy možno odeslat až při dalším stisku tlačítka, kdy se po jeho prvním uvolnění nastaví hodnota proměnné neco zpět na 1 (TRUE). Parametry funkce adl_smsSend jsou: První parametr udává hodnotu, kterou vrací funkce adl_smsSubscribe. Druhý parametr udává tel. číslo, na které chceme poslat SMS (musí byt v uvozovkách). Třetí parametr udává text zprávy (rovněž v uvozovkách). Čtvrtý parametr udává mód – v tomto případě textový. Funkce switch (vysledek) vypíše podle hodnoty, kterou vrací funkce adl_smsSend, zda byla SMS odeslána, nebo chybu, kvůli které, nemohla byt odeslána. Pomocí funkce adl_ioRead se při každém přetečení časovače (v tomto případě nastaveného na 100ms) zjišťuje stav tlačítka. Inicializace SIM void SimHandler ( u8 Event ) { switch (Event) { case ADL_SIM_EVENT_PIN_OK: adl_atSendResponse ( ADL_AT_UNS, "\r\nPIN kod byl zadan spravne\r\n" ); break; case ADL_SIM_EVENT_REMOVED: adl_atSendResponse ( ADL_AT_UNS, "\r\nNeni vlozena SIM karta\r\n" ); break; case ADL_SIM_EVENT_INSERTED: adl_atSendResponse ( ADL_AT_UNS, "\r\nSIM karata je vlozena\r\n" ); break; case ADL_SIM_EVENT_FULL_INIT: adl_atSendResponse ( ADL_AT_UNS, "\r\nInicializace SIM probehla v poradku\r\n" ); break; case ADL_SIM_EVENT_PIN_ERROR:
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
85
adl_atSendResponse ( ADL_AT_UNS, "\r\nSpatne zadany PIN kod\r\n" ); break; case ADL_SIM_EVENT_PIN_NO_ATTEMPT: adl_atSendResponse ( ADL_AT_UNS, "\r\nZbyva posledni pokus pro spravne zadani PIN kodu\r\n" ); break; case ADL_SIM_EVENT_PIN_WAIT: adl_atSendResponse ( ADL_AT_UNS, "\r\nArgument PinCode je nastaven na NULL\r\n" ); break; } } SimHandler je parametrem funkce adl_simSubscribe a podle hodnoty parametru Event vypíše funkce switch (Event), zda byla SIM inicializována, a zda byl správně zadaný PIN. void SmsCtrlHandler(u8 Event, u16 Nb) { } SmsCtrlHandler je parametr funkce adl_smsSubscribe a její parametr Event slouží pro zjištění událostí během posílání SMS. V tomto programu nejsou tyto události vypisovány. bool SmsHandler (ascii *SmsTel, ascii *SmsTimeOrLength, ascii *SmsText) { return TRUE; } SmsHandler je parametr funkce adl_smsSubscribe, který je volaný při každé příchozí SMS. Parametr SmsTel obsahuje telefonní číslo odesilatele SMS, SmsTimeOrLenght obsahuje čas, kdy byla SMS přijata a SmsText obsahuje text SMS zprávy. Všechny parametry jsou v podobě ASCII znaků, tudíž jsou přímo v podobě textu. Pokud chceme, aby se příchozí SMS uložila na SIM kartu zvolíme return TRUE a pokud nepožadujeme její uložení na SIM, zvolíme return FALSE. Hlavní funkce: Funkce generující se automaticky, při vytvoření nové aplikace a sloužící k inicializaci modemu a jeho restartu před spuštěním programu. V této části se volají všechny funkce hlavního programu. void adl_main ( adl_InitType_e InitType ) { stav=adl_ioSubscribe (adl_ioHdlr_f) NULL);
(ADL_IO_Q24X6_GPIO_4,
0xFFFFFFFF,
0,
0,
86
FEKT Vysokého učení technického v Brně adl_simSubscribe ( SimHandler, "1234" ); stav_sim=adl_simGetState ( ); switch (stav_sim) { case ADL_SIM_STATE_INIT:
adl_atSendResponse ( ADL_AT_UNS, "\r\nZjistovani stavu (PIN zatim neznamy)\r\n" ); break; case ADL_SIM_STATE_REMOVED: adl_atSendResponse ( ADL_AT_UNS, "\r\nNeni vlozena SIM karta\r\n" ); break; case ADL_SIM_STATE_INSERTED: adl_atSendResponse ( ADL_AT_UNS, "\r\nSIM karta vlozena (PIN zatim neznamy)\r\n" ); break; case ADL_SIM_STATE_FULL_INIT: adl_atSendResponse ( ADL_AT_UNS, "\r\nKompletni inicializace SIM probehla v poradku\r\n" ); break; case ADL_SIM_STATE_PIN_ERROR: adl_atSendResponse ( ADL_AT_UNS, "\r\nSpatne vlozena SIM karta\r\n" ); break; case ADL_SIM_STATE_PIN_OK: adl_atSendResponse ( ADL_AT_UNS, "\r\nPIN kod v poradku, ceka se na uplnou inicializaci\r\n" ); break; case ADL_SIM_STATE_PIN_WAIT: adl_atSendResponse ( ADL_AT_UNS, "\r\nSIM karta vlozena, PIN kod jeste nebyl zadan\r\n" ); break; case ADL_SIM_STATE_LAST: adl_atSendResponse ( ADL_AT_UNS, "\r\nVzdycky posledni stav\r\n" ); break; } sms=adl_smsSubscribe ADL_SMS_MODE_TEXT); timer=adl_tmrSubscribe Gpio_TimerHandler ); }
(SmsHandler, (
TRUE,
1,
SmsCtrlHandler, ADL_TMR_TYPE_100MS,
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
87
Funkce adl_ioSubscribe slouží pro nastavení portu GPIO4, ke kterému je připojené tlačítko, jako vstup. Parametry této funkce byly již popsány. Funkce adl_simSubscribe slouží k přihlášení SIM karty do GSM sítě. Parametry této funkce jsou následující: První parametr - SimHandler vrací stav inicializace SIM karty. Druhý parametr je PIN kód, který se zadává v uvozovkách. Je-li zadávání PINu vypnuto, stačí napsat prázdné uvozovky. Funkce adl_simGetState sloužící ke zjištění aktuálního stavu SIM karty. Podle hodnoty, kterou vrací, můžeme zjistit, v jakém stavu se SIM právě nachází (např. zda byla SIM inicializována, a zda byl správně zadaný PIN kód). Tento stav můžeme vypsat pomocí funkce switch (stav_sim) a adl_atSendResponse do okna Terminálu. Funkce adl_smsSubscribe slouží k přihlášení SIM karty ke službám SMS. Parametry této funkce jsou následující: První parametr SmsHandler je volán při každé příchozí SMS a je popsán výše. Druhý parametr SmsCtrlHandler slouží pro zjištění událostí během posílání SMS je rovněž popsán výše. Třetí parametr nastavuje mód přenosu SMS, v tomto případě textový. Funkce adl_tmrSubscribe slouží k přihlášení časovače pro snímání stavu tlačítka.V našem případě je tento časovač nastaven na 100 ms (1x100ms). Parametry této funkce jsou popsány v předchozím programu. 9.12.3 Spuštění aplikace Spuštění této aplikace je naprosto stejné jako u předchozích úloh. Výpis přihlašování modemu do GSM sítě, stavu tlačítka a informaci o tom, že SMS zpráva byla odeslána, můžeme vidět na tomto obrázku:
Obr. 61:
Okno programu Terminal Emulátor při odesílání SMS.
Samozřejmým požadavkem pro chod této aplikace je vložení SIM karty do modemu a správné zadání PIN kódu, aby se modem mohl přihlásit do GSM sítě. Pokud tlačítko není
88
FEKT Vysokého učení technického v Brně
sepnuto, vypisuje se jeho stav do okna Terminálu. V případě sepnutí dojde k odeslání SMS a oznámení o úspěšném odeslání SMS zprávy a jeho stavu.
9.13 Ukázková aplikace - příjem a signalizace SMS zpráv 9.13.1 Popis funkce programu Tento program umožňuje příjem SMS zpráv, zobrazení čísla odesilatele, textu zprávy a signalizaci přijaté zprávy pomocí LED diody, či piezo sirénky, umístěných na modulu. Popis některých funkcí je již zjednodušený, jelikož jsou použity a popsány v předchozích programech. Pro správnou funkci tohoto programu musíme nastavit jumper, umístěný na ovládacím modulu do pozice Led2, pro blikání zelené LED, nebo do pozice Pzo, pro houkání piezo sirénky. Po spuštění programu je v hlavní části programu nastaven cyklický časovač, který je volán při příchodu nové SMS zprávy a spouští blikání LED, nebo houkaní sirénky, podle toho, jak je jumper připojený k portu GPIO 5 nastaven. V okně programu Terminal Emulátor se při příchozí SMS zobrazuje její text, číslo odesilatele a zpráva o tom, že LED zabliká, nebo sirénka zapíská. Funkce použité v tomto programu: adl_ioSubscribe
funkce pro ovládání GPIO portů modemu
adl_ioWrite
funkce pro zapsání log. hodnoty GPIO portu
adl_simSubscribe
funkce pro přihlášení SIM karty do GSM sítě
adl_simGetState
funkce pro získání informací stavu SIM karty
adl_atSendResponse
funkce vypisující odezvu do okna Terminálu
adl_smsSubscribe
funkce pro přihlášení k SMS službám
adl_tmrSubscribe
funkce pro přihlášení časovače a jeho nastavení
9.13.2 Vlastní aplikace s popisem její funkce Otevření aplikace je stejné jako u předchozích příkladů viz kapitola 9.10.3. Deklarace hlavičkových souborů, potřebných pro náš program: #include "adl_Global.h" Postačí tento soubor, jelikož odkazuje na další hlavičkové soubory, které budeme využívat. Dále je potřeba definovat proměnné, nezbytné pro chod programu. Tyto jsou rovněž automaticky generovaný při vytvoření nové aplikace a potřebné ve všech programech: u32 wm_apmCustomStack [ 256 ]; const u16 wm_apmCustomStackSize = sizeof ( wm_apmCustomStack ); Deklarace vlastních proměnných: s8 stav, sms, prisla_sms=0; - Proměnnou stav si vytvoříme pro uložení návratové hodnoty funkce „adl_ioSubscribe“ která je potřebná pro zjištění stavu portu GPIO5 ke kterému je připojena LED, či piezo. Proměnná sms volá funkci pro přihlášení k SMS službám proměnná prisla_sms sloužící ke kontrole, zda přišla SMS zpráva.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
89
adl_tmr_t *timer; - adl_tmr_t je datový typ ukazatele časovače (timeru), definovaný v Open-AT adl_simState_e stav_sim; - Proměnná stav_sim je potřebná pro zjištění stavu SIM karty u32 stavGPIO5=0, odpoc=0; - Proměnnou stavGPIO5 budeme používat pro rozsvícení, nebo zhasnutí LED diody. Může mít hodnotu 0 – LED svítí, nebo 1 (0xFFFFFFFF) – LED je zhaslá Pro začátek ji nastavíme na hodnotu 0. Modul má invertované vstupy, proto reaguje na opačné hodnoty. Proměnnou odpoc si vytvoříme pro volbu počtu bliknutí. Pro začátek ji nastavíme na hodnotu 0 a pak ji budeme inkrementovat, čímž nastavíme, kolikrát se LED rozsvítí a zhasne (3x blikne). Inicializace SIM void SimHandler ( u8 Event ) { switch (Event) { case ADL_SIM_EVENT_PIN_OK: adl_atSendResponse ( ADL_AT_UNS, "\r\nPIN kod byl zadan spravne\r\n" ); break; case ADL_SIM_EVENT_REMOVED: adl_atSendResponse ( ADL_AT_UNS, "\r\nNeni vlozena SIM karta\r\n" ); break; case ADL_SIM_EVENT_INSERTED: adl_atSendResponse ( ADL_AT_UNS, "\r\nSIM karata je vlozena\r\n" ); break; case ADL_SIM_EVENT_FULL_INIT: adl_atSendResponse ( ADL_AT_UNS, "\r\nInicializace SIM probehla v poradku\r\n" ); break; case ADL_SIM_EVENT_PIN_ERROR: adl_atSendResponse ( ADL_AT_UNS, "\r\nSpatne zadany PIN kod\r\n" ); break; case ADL_SIM_EVENT_PIN_NO_ATTEMPT: adl_atSendResponse ( ADL_AT_UNS, "\r\nPosledni pokus pro spravne zadani PIN\r\n" ); break; case ADL_SIM_EVENT_PIN_WAIT: adl_atSendResponse ( ADL_AT_UNS, "\r\nArgument PinCode je nastaven na NULL\r\n" ) break; } }
90
FEKT Vysokého učení technického v Brně
SimHandler je parametrem funkce adl_simSubscribe a podle hodnoty parametru Event vypíše funkce switch (Event), zda byla SIM inicializována, a zda byl správně zadaný PIN. void SmsCtrlHandler(u8 Event, u16 Nb) { } SmsCtrlHandler je parametr funkce adl_smsSubscribe a její parametr Event slouží pro zjištění událostí během posílání SMS. V tomto programu nejsou tyto události vypisovány. bool SmsHandler(ascii *SmsTel, ascii *SmsTimeOrLength, ascii *SmsText) { adl_atSendResponse ( ADL_AT_UNS, "\n" ); adl_atSendResponse ( ADL_AT_UNS, "\n" ); adl_atSendResponse ( ADL_AT_UNS, "Dosla SMS z telefonniho cisla: " ); adl_atSendResponse ( ADL_AT_UNS, SmsTel ); adl_atSendResponse ( ADL_AT_UNS, "\n" ); adl_atSendResponse ( ADL_AT_UNS, "\n" ); adl_atSendResponse ( ADL_AT_UNS, "Text prichozi zpravy: " ); adl_atSendResponse ( ADL_AT_UNS, SmsText ); adl_atSendResponse ( ADL_AT_UNS, "\n" ); adl_atSendResponse ( ADL_AT_UNS, "\n" ); prisla_sms=1; return TRUE; } SmsHandler je parametr funkce adl_smsSubscribe, který je volaný při každé příchozí SMS. Parametr SmsTel obsahuje telefonní číslo odesilatele SMS, SmsTimeOrLenght obsahuje čas, kdy byla SMS přijata a SmsText obsahuje text SMS zprávy. Všechny parametry jsou v podobě ASCII znaků, tudíž jsou přímo v podobě textu. Funkce adl_atSendResponse vypisuje informace přijaté SMS do okna Terminálu. Její parametr \n udává nový řádek. Hodnotu proměnné prisla_sms nastavíme na 1, abychom pak zajistili, že se LED rozbliká jen při příchodu nové SMS. Pokud chceme, aby se příchozí SMS uložila na SIM kartu zvolíme return TRUE a pokud nepožadujeme její uložení na SIM, zvolíme return FALSE a zpráva se zobrazí jen v okně Terminálu. void Gpio_TimerHandler ( u8 ID ); { if ( prisla_sms == 1 ) { if ( stavGPIO5 == 0 )
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
91
{ stavGPIO5 = 0xFFFFFFFF; adl_atSendResponse ( ADL_AT_UNS, "\r\nLed zhasne\r\n" ); } else { stavGPIO5 = 0; adl_atSendResponse ( ADL_AT_UNS, "\r\nLed se rozsviti\r\n" ); } adl_ioWrite ( stav, ADL_IO_Q24X6_GPIO_5, stavGPIO5 ); odpoc++; if ( odpoc == 7 ) { prisla_sms = 0; } } } Tato funkce je volána při každém přetečení časovače a pokud přišla nová SMS zpráva (hodnota proměnné prisla_sms je 1), spustí se blikání LED, realizované pomocí funkce adl_ioWrite a vypíše se stav LED do okna Terminálu pomocí funkce adl_atSendResponse. Parametry těchto funkcí jsou popsány u předchozích programů, tak je nebudu opakovat (viz. kap. 7.3.4). Hodnota proměnné odpoc byla na začátku nastavená na 0 a při příchodu SMS ji začneme inkrementovat (zvětšovat o jedničku), pomocí funkce odpoc++. Tato inkrementace se provede při každém přetečení časovače a až dosáhne hodnoty 7 (LED 3x blikne a zůstane zhasnutá), nastaví se hodnota proměnné prisla_sms na 0, čímž se zamezí dalšímu blikání (popř. pískání sirénky), dokud nepřijde další SMS zpráva. Hlavní funkce: Funkce generující se automaticky, při vytvoření nové aplikace a sloužící k inicializaci modemu a jeho restartu před spuštěním programu. V této časti se volají všechny funkce hlavního programu. void adl_main ( adl_InitType_e InitType ) { stav=adl_ioSubscribe (adl_ioHdlr_f) NULL);
(ADL_IO_Q24X6_GPIO_5,
adl_simSubscribe ( SimHandler, "" ); stav_sim=adl_simGetState ( ); switch (stav_sim) {
0,
0xFFFFFFFF,
0,
92
FEKT Vysokého učení technického v Brně case ADL_SIM_STATE_INIT:
adl_atSendResponse ( ADL_AT_UNS, "\r\nZjistovani stavu (PIN zatim neznamy)\r\n" ); break; case ADL_SIM_STATE_REMOVED: adl_atSendResponse ( ADL_AT_UNS, "\r\nNeni vlozena SIM karta\r\n" ); break; case ADL_SIM_STATE_INSERTED: adl_atSendResponse ( ADL_AT_UNS, "\r\nSIM karta vlozena (PIN zatim neznamy)\r\n" ); break; case ADL_SIM_STATE_FULL_INIT: adl_atSendResponse ( ADL_AT_UNS, "\r\nKompletni inicializace SIM probehla v poradku\r\n" ); break; case ADL_SIM_STATE_PIN_ERROR: adl_atSendResponse ( ADL_AT_UNS, "\r\nSpatne vlozena SIM karta\r\n" ); break; case ADL_SIM_STATE_PIN_OK: adl_atSendResponse ( ADL_AT_UNS, "\r\nPIN kod v poradku, ceka se na uplnou inicializaci\r\n" ); break; case ADL_SIM_STATE_PIN_WAIT: adl_atSendResponse ( ADL_AT_UNS, "\r\nSIM karta vlozena, PIN kod jeste nebyl zadan\r\n" ); break; case ADL_SIM_STATE_LAST: adl_atSendResponse ( ADL_AT_UNS, "\r\nVzdycky posledni stav\r\n" ); break; } sms=adl_smsSubscribe (SmsHandler, SmsCtrlHandler, ADL_SMS_MODE_TEXT); timer=adl_tmrSubscribe ( TRUE, 10, ADL_TMR_TYPE_100MS, Gpio_TimerHandler ); } Funkce adl_ioSubscribe slouží pro nastavení portu GPIO5, ke kterému je připojená LED či piezo, jako výstup. Funkce adl_simSubscribe slouží k přihlášení SIM karty do GSM sítě. Parametry této funkce jsou následující: První parametr - SimHandler vrací stav inicializace SIM karty. Druhý parametr je PIN kód, který se zadává v uvozovkách. Je-li zadávání PINu vypnuto, stačí napsat prázdné uvozovky.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
93
Funkce adl_simGetState sloužící ke zjištění aktuálního stavu SIM karty. Podle hodnoty, kterou vrací, můžeme zjistit, v jakém stavu se SIM právě nachází (např. zda byla SIM inicializována, a zda byl správně zadaný PIN kód). Tento stav můžeme vypsat pomocí funkce switch (stav_sim) a adl_atSendResponse do okna Terminálu. Funkce adl_smsSubscribe slouží k přihlášení SIM karty ke službám SMS. Parametry této funkce jsou nasledující: První parametr SmsHandler je volán při každé příchozí SMS a je popsán výše. Druhý parametr SmsCtrlHandler slouží pro zjištění událostí během posílání SMS je rovněž popsán výše. Třetí parametr nastavuje mód přenosu SMS, v tomto případě textový. Funkce adl_tmrSubscribe slouží k přihlášení časovače pro blikání LED, nebo pískání pieza.V našem případě je tento časovač nastaven na 1s (10x100ms). Parametry této funkce jsou popsány v předchozím programu. 9.13.3 Spuštění aplikace Spuštění této aplikace je naprosto stejné jako u předchozí úlohy. Výpis přihlašování modemu do GSM sítě a vypsání příchozí SMS můžeme vidět na tomto obrázku Obr. 62.
Obr. 62:
Okno programu Terminal Emulátor při přijímání SMS.
Samozřejmým požadavkem pro chod této aplikace je vložení SIM karty do modemu a správné zadání PIN kódu, aby se modem mohl přihlásit do GSM sítě. Program nevyžaduje žádnou obsluhu, jen si musíme zvolit, zda chceme, aby nám při příchodu SMS zapískala piezo sirénka, nebo zablikala LED dioda. Tuto volbu provedeme pomocí jumperu. Informace o příchodu SMS, jejím obsahu, čísle odesilatele a stav LED nám program vypisuje do okna Terminálu.
94
FEKT Vysokého učení technického v Brně
9.14 Ukázková aplikace - Multifunkční aplikace 9.14.1 Popis funkce programu Tento program umožňuje příjem a posílání SMS zpráv, zobrazení čísla odesilatele a textu zprávy v okně Terminálu. Tyto informace jsou rovněž zapisovány do souboru, který je pomocí FTP protokolu odeslán na FTP server, a zobrazeny na webových stránkách.
Obr. 63:
Vývojový diagram multifunkčního programu.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
95
Tlačítkem je možno SMS zprávu odeslat. Pomocí předem definovaných SMS zpráv lze ovládat log. úrovně GPIO portů modemu a v tomto případě rozsvěcovat, nebo zhasínat LED diodu. V tomto programu jsou zahrnuty taky části předchozích programů a proto některé funkce a proměnné, již dříve použité, zde popisovat nebudu. Pro správnou funkci tohoto programu musíme jeden jumper, umístěný na ovládacím modulu nastavit do pozice Tl1 (tlačítko), a druhý jumper do pozice Led2, pro blikání zelené LED, nebo do pozice Pzo, pro houkání piezo sirénky. Funkce tohoto programu je nejlépe patrná z vývojového diagramu, viz Obr. 63. Funkce použité v tomto programu: adl_ioSubscribe
funkce pro ovládání GPIO portů modemu
adl_ioRead
funkce pro čtení log. hodnoty (stavu) GPIO portu
adl_ioWrite
funkce pro zapsání log. hodnoty GPIO portu
adl_simSubscribe
funkce pro přihlášení SIM karty do GSM sítě
adl_simGetState
funkce pro získání informací stavu SIM karty
adl_atSendResponse funkce vypisující odezvu do okna Terminálu adl_smsSubscribe
funkce pro přihlášení k SMS službám
adl_smsSend
funkce pro odeslání SMS zprávy
adl_tmrSubscribe
funkce pro přihlášení časovače a jeho nastavení
adl_tmrUnSubscribe funkce pro odhlášení časovače adl_callSubscribe
funkce pro přihlášení ke službám, zobrazujících informace o příchozím hovoru
adl_gprsSubscribe
funkce pro přihlášení k GPRS službám, umožňující připojení k internetu
adl_fcmSubscribe
funkce pro přihlášení k FCM službám, které otevírají tok požadavků a nastavují kontrolní a datové Handlery, pro ovládání a výměnu dat mezi specifickými toky (V24 UART1, UART 2, USB, GSM DATA nebo GPRS)
adl_fcmUnsubscribe funkce pro odhlášení FCM služeb adl_fcmSendData
funkce posílající blok dat
adl_fcmSwitchV24State funkce přepínající stav seriové linky mezi AT/Datovým módem adl_atCmdSubscribe funkce pro přihlášení k zadávání AT příkazů adl_atCmdCreate
funkce umožňující zadání AT příkazu přímo v programu
adl_atCmdUnSubscribe funkce pro odhlášení zadaného AT příkazu ip_Subscribe
funkce pro přihlášení knihovny IPConnect
ip_Connect
funkce umožňující sestavení GPRS (GSM) spojení
ip_FTPSet
funkce, pomocí které nastavujeme připojení k FTP serveru
ip_FTPPut
funkce umožňující upload souboru na FTP server
ed_SendData
funkce umožňující posílání dat na seriovou linku
96
FEKT Vysokého učení technického v Brně
9.14.2 Vlastní aplikace s popisem její funkce Otevření aplikace je stejné jako u předchozích příkladů viz kapitola 9.10.3. Pro sestavení internetového spojení program využívá knihovnu IPConnect. K vytvoření FTP spojení jsem využil vzorový příklad FTP, z originálního CD přiloženého k modemu. Deklarace hlavičkových souborů, potřebných pro náš program: #include "adl_Global.h" #include "ipconnect.h" #include "time.h" Soubor adl_Global.h odkazuje na většinu dalších hlavičkových souborů, které budeme využívat. Soubor ipconnect.h obsahuje funkce, umožňující připojení k internetu. Soubor time.h obsahuje funkce, umožňující pracovat s informacemi o aktuálním čase. Dále je potřeba definovat proměnné, nezbytné pro chod programu. Tyto jsou rovněž automaticky generovaný při vytvoření nové aplikace a potřebné ve všech programech: u32 wm_apmCustomStack [ 256 ]; const u16 wm_apmCustomStackSize = sizeof ( wm_apmCustomStack ); Deklarace vlastních proměnných: s8 stav_led, stav_tl, sms, posli_sms, sending_data, ipconnect, ftp_put; s16 AtCmd; s32 un_timer_at, un_timer_ip, un_timer_ftp; u32 stavGPIO4=0, stavGPIO5=0; ascii *text1="Prisla SMS zprava z cisla: ", *text2="Text SMS zpravy: ", *text3="Bylo sepnuto tlacitko a odeslana SMS"; adl_simState_e stav_sim; adl_tmr_t *timer_at, *timer_tl, *timer_ip, *timer_ftp; bool neco; u8 SmsTextAll[1400]=""; Proměnná stav_led volá funkci adl_ioSubscribe, která nastavuje port GPIO5. Proměnná stav_tl volá funkci adl_ioSubscribe, která nastavuje port GPIO4. Proměnná sms volá funkci adl_smsSubscribe, která nastavuje modem pro služby SMS. Proměnná posli_sms volá funkci adl_smsSend, která umožňuje poslat SMS. Proměnná sending_data volá funkci ed_SendData, která posílá data na seriovou linku. Proměnná ipconnect volá funkci ip_Connect, která sestavuje GPRS spojení. Proměnná ftp_put volá funkci ip_FTPPut, která provádí upload na FTP server. Proměnná AtCmd volá funkci adl_atCmdSubscribe, která slouží k přihlášení služby pro zadávání AT příkazů. Proměnné un_timer_at, un_timer_ip, un_timer_ftp volají funkci adl_tmrUnSubscribe, která odhlásí časovače timer_at, timer_ip a timer_ftp . V proměnné stavGPIO4 je uložená hodnota log. úrovně, která se zapisuje na port GPIO4. V proměnné stavGPIO5 je uložená hodnota log. úrovně, která se zapisuje na port GPIO5. Proměnné *text1, *text2 a *text3 ukazují na textové řetězce, které se později vypisují do souboru, zobrazeném na webové stránce. Proměnná stav_sim je potřebná pro
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
97
zjištění stavu SIM karty a volá funkci adl_simGetState. Proměnné *timer_at, *timer_tl, *timer_ip a *timer_ftp ukazují na funkci adl_tmrSubscribe, která slouží pro přihlášení a nastavení časovače. Proměnná neco se využívá k ošetření tlačítka, aby se při jeho držení neposílalo několik SMS za sebou. Proměnná SmsTextAll je textový řetězec o délce 1400 bytů, do kterého se vkládají informace, které jsou později odeslány na FTP server. Popis funkce programu: Při příchodu nové SMS zprávy se zavolají a provedou tyto funkce: Do řetězce strCas se budou ukládat informace o aktuálním čase. Řetězec je dlouhý 40 bytů char strCas[40]=""; time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime ( &rawtime ); sprintf(strCas,"%s", asctime (timeinfo)); Funkce strcat umožňuje spojování řetězců. Tuto funkci využívám proto, aby se mi všechny potřebné informace uložily do jednoho řetězce a jeho obsah pak mohl být odeslán na FTP server. Parametr \n určuje nový řádek. Obsah proměnných strCas (informace o aktuálním čase), text1 (textový řetězec popsaný výše), SmsTel (telefonní číslo odesilatele SMS zprávy), text2 (textový řetězec popsaný výše) a SmsText (text SMS) jsou spojeny do řetězce SmsTextAll: strcat(SmsTextAll, "\n"); strcat(SmsTextAll, strCas); strcat(SmsTextAll, "\n"); strcat(SmsTextAll, text1); strcat(SmsTextAll, SmsTel); strcat(SmsTextAll, "\n"); strcat(SmsTextAll, text2); strcat(SmsTextAll, SmsText); strcat(SmsTextAll, "\n"); strcat(SmsTextAll, "\n"); Funkce strcmp provádí porovnání řetězců a pokud text SMS zprávy odpovídá znakům: "1/1 www:zap" (zapínací SMS, která byla poslána z internetu), provede se rozsvícení LED diody a informace o rozsvícení se vypíše do okna Terminálu. if ( strcmp (SmsText, "1/1 www:zap" ) == 0 ) { stavGPIO5 = 0; adl_ioWrite ( stav_led, ADL_IO_Q24X6_GPIO_5, stavGPIO5 ); adl_atSendResponse ( ADL_AT_UNS, "\r\nLed se rozsviti, prisla 'zapinaci' SMS\r\n" );
98
FEKT Vysokého učení technického v Brně }
Pokud text SMS zprávy odpovídá znakům: "1/1 www:vyp" (vypínací SMS, která byla poslána z internetu), provede se zhasnutí LED diody a informace o zhasnutí se vypíše do okna Terminálu. if ( strcmp (SmsText, "1/1 www:vyp" ) == 0 ) { stavGPIO5 = 0xFFFFFFFF; adl_ioWrite ( stav_led, ADL_IO_Q24X6_GPIO_5, stavGPIO5 ); adl_atSendResponse ( ADL_AT_UNS, "\r\nLed zhasne, prisla 'vypinaci' SMS\r\n" ); } Dále se do okna Terminálu vypíše informace o čísle odesilatele a textu SMS: adl_atSendResponse ( ADL_AT_UNS, "\n" ); adl_atSendResponse ( ADL_AT_UNS, "\n" ); adl_atSendResponse ( ADL_AT_UNS, "Prisla SMS z telefonniho cisla: " ); adl_atSendResponse ( ADL_AT_UNS, SmsTel ); adl_atSendResponse ( ADL_AT_UNS, "\n" ); adl_atSendResponse ( ADL_AT_UNS, "\n" ); adl_atSendResponse ( ADL_AT_UNS, "Text prichozi zpravy: " ); adl_atSendResponse ( ADL_AT_UNS, SmsText ); adl_atSendResponse ( ADL_AT_UNS, "\n" ); adl_atSendResponse ( ADL_AT_UNS, "\n" ); Následně se provede funkce ip_FTPPut, která se připojí na FTP server a čeká na data, které se mají uploadovat. Parametry této funkce jsou: První parametr určuje cestu, kde se má soubor zapsat ( / znamená do rootu), druhý parametr určuje název souboru, třetí parametr je řídící Handler a čtvrtý parametr je datový Handler. ftp_put=ip_FTPPut ( "/", "vypis.txt", ftp_CtrlHandler, ftp_PutDataHandler ); switch (ftp_put) // vypise stav ftp_put { case 0: adl_atSendResponse ( ADL_AT_UNS, "\r\nFTP_Put probehlo uspesne\r\n" ); break; case ED_ERR_NO_TCPIP: adl_atSendResponse ( ADL_AT_UNS, "\r\nTCPIP service is not supported \r\n" ); break; case ED_ERR_NOT_INIT: adl_atSendResponse ( ADL_AT_UNS, "\r\nThe eDLib cannot be used.\r\n" );
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
99
break; case ED_ERR_INVALID_ARG: adl_atSendResponse ( ADL_AT_UNS, "\r\nData is a NULL pointer\r\n" ); break; case ED_ERR_INVALID_CALL: adl_atSendResponse ( ADL_AT_UNS, "\r\nFunction cannot be called now.\r\n" ); break; case ED_ERR_INVALID_SIZE: adl_atSendResponse ( ADL_AT_UNS, "\r\nDataLen parameter is too great.\r\n" ); break; } V posledním kroku se spustí časovač timer_ftp, který po jeho vypršení zavolá funkci ed_SendData, posílající data na seriovou linku. Časovač je použitý z toho důvodu, že připojení na FTP server trvá určitou dobu (přibližně 10s) a teprve potom je možné poslat data. timer_ftp=adl_tmrSubscribe ( TRUE, 250, ADL_TMR_TYPE_100MS, ftp_timer ); Funkce ed_SendData vypadá takto: Její parametry jsou: první určuje data, které chceme poslat (v našem případě textový řetězec SmsTextAll, popisovaný výš). Druhý parametr udává délku dat (pomocí funkce strlen(SmsTextAll) se délka přizpůsobí délce posílaného řetězce) a poslední parametr udává, že po odeslání dat se spojení s FTP serverem ukončí. sending_data = ed_SendData ( SmsTextAll, strlen(SmsTextAll), TRUE ); Při sepnutí tlačítka se vypíše jeho stav do okna Terminálu, odešle se SMS zpráva a do řetězce SmsTextAll se přidají informace o sepnutí a odeslání SMS. Dále se provede připojení na FTP server, spustí se časovač timer_ftp a čeká se na odeslání dat. O úspěšném odeslání jsme opět informování v okně terminálu a taky na webové stránce. Všechny funkce při stisknutí tlačítka byly popisovány již dříve, a proto se již nebudu opakovat. Hlavní program: V hlavní časti programu jsou volány tyto funkce, které byly již popsány. Parametry těchto funkcí jsou popsány v předchozích aplikacích. adl_simSubscribe ( SimHandler, "" ); stav_sim=adl_simGetState ( ); timer_at=adl_tmrSubscribe ( TRUE, 50, ADL_TMR_TYPE_100MS, at_timer ); timer_tl=adl_tmrSubscribe ( TRUE, 10, ADL_TMR_TYPE_100MS, tlac_timer ); timer_ip=adl_tmrSubscribe ( TRUE, 120, ADL_TMR_TYPE_100MS, ip_timer ); sms=adl_smsSubscribe (SmsHandler, SmsCtrlHandler, ADL_SMS_MODE_TEXT); adl_callSubscribe ( CallHandler ); ip_Subscribe ( ftp_ConnectHandler ); adl_gprsSubscribe ( GprsHandler );
100
FEKT Vysokého učení technického v Brně
AtCmd=adl_atCmdSubscribe ( "AT+CGATT=1", AtCmdhdl, ADL_CMD_TYPE_PARA ); stav_led=adl_ioSubscribe (ADL_IO_Q24X6_GPIO_5, 0, 0xFFFFFFFF, 0, (adl_ioHdlr_f) NULL); stav_tl=adl_ioSubscribe (ADL_IO_Q24X6_GPIO_4, 0xFFFFFFFF, 0, 0, (adl_ioHdlr_f) NULL); 9.14.3 Spuštění a ovládání aplikace Spuštění této aplikace je naprosto stejné jako u předchozí úlohy. Výpis stavu modemu můžeme vidět na obrázku Obr. 64. Samozřejmým požadavkem pro chod této aplikace je vložení SIM karty do modemu a správné zadání PIN kódu, aby se modem mohl přihlásit do GSM sítě. Po kompletním načtení programu a po přihlášení modemu do sítě máme možnost přijímat i odesílat SMS zprávy a nechat se o tom informovat pomocí webové stránky. Pokud tlačítko není sepnuto, vypisuje se jeho stav do okna Terminálu. V případě sepnutí dojde k odeslání SMS zprávy a oznámení o jeho stavu a úspěšném odeslání. Tyto informace jsou zobrazeny v okně Terminálu a zároveň jsou odeslány na FTP server. Při potížích zkontrolujte tato nastavení: at+ipgprs=1,"internet.t-mobile.cz","","" at+ipftp=21,"A","192.168.20.9","gms","gsm" at+cgatt=1 at+ipconnect=1,1
Obr. 64:
Okno programu Terminal Emulátor při chodu multifunkčního programu.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
101
9.15 Zadání úlohy Vyučující Vám vybere jedno z uvedených zadání. Zadání se skládají z části pro levý počítač a pravý počítač. 9.15.1 Zadání č. 1
Seznamte se vzorovými vypracovanými programy. Programy nahrajte na modem a vyzkoušejte. Zadání pro lévé PC. Vytvořte program, který: Po startu rozviti zelenou LED Pokud přijde SMS s textem jiným než „porucha“ nebo „odstraneno“, zelená LED pouze dvakrát blikne (v cca. 1 sekundovém intervalu). Pokud však je v SMS text „porucha“, zelená LED zhasne a rozsvítí se červená LED. Na FTP server je uložen aktuální čas a slovo „porucha“. Pokud je v SMS text „odstraneno“, červena LED zhasne a rozsvítí se zelená LED. Na FTP server je uložen aktuální čas a slovo „odstraneno“. Následně se rozsvítí zelená LED. Zadání pro pravé PC. Vytvořte program, který: Po startu rozviti zelenou LED Při stisku tlačítka je odeslána zpráva „porucha“ a zelená LED zhasne. Na FTP server je uložen aktuální čas a slovo „porucha“. Při dalším stisku tlačítka je odeslána zpráva „odstraneno“ a zelená LED se rozsvítí. Na FTP server je uložen aktuální čas a slovo „odstraneno“ Tyto stavy stále opakuje. 9.15.2 Zadání č. 2
Seznamte se vzorovými vypracovanými programy. Programy nahrajte na modem a vyzkoušejte. Zadání pro lévé PC. Vytvořte program, který: Po spuštění aplikace modem zhasne zelenou LED diodu. Po stisku tlačítka modem rozsvítí zelenou LED, připojí se k FTP serveru, k účtu gsm1. Zde přečte soubor „zprava.txt“ a obsah souboru zobrazí v terminálovém okně. Následně zašle protějšímu modemu SMS zprávu. Nakonec zelenou LED zhasne. Během programu vypisuje aplikace do okna terminálu úkony, které provedla. Zadání pro pravé PC. Vytvořte program, který: Po spuštění aplikace modem zhasne obě dvě LED diody a čeká na příchozí SMS zprávu. Pokud přijde SMS zpráva rozsvítí červenou LED diodu, připojí se k FTP serveru, k účtu gsm1. Do souboru „zprava.txt“ uloží slovo „cervena“. Pokud přijde další SMS zpráva rozsvítí zelenou LED diodu, připojí se k FTP serveru, k účtu gsm1. Do souboru „zprava.txt“ uloží slovo „zelena“. Druhý a třetí krok opakujte. Během programu vypisuje aplikace do okna terminálu úkony, které provedla.
102
FEKT Vysokého učení technického v Brně
9.15.3 Zadání č. 3
Seznamte se vzorovými vypracovanými programy. Programy nahrajte na modem a vyzkoušejte. Zadání pro lévé i pravé PC. Vytvořte program, který: Po zmáčknutí tlačítka se připojte pře GPRS do definovaného souboru Přečtěte obsah. Tento text vypište na obrazovku a odešlete pomocí SMS 9.15.4 Zadání č. 4
Seznamte se vzorovými vypracovanými programy. Programy nahrajte na modem a vyzkoušejte. Zadání pro lévé i pravé PC. Vytvořte program, který: Přijme-li SMS – „start“. Rozviti zelenou LED. Vypíše telefonní číslo, ze kterého byla SMS odeslána Toto číslo uloží do definovaného souboru pomocí služby GPRS. Rozviti červenou LED 9.15.5 Zadání č. 5
Seznamte se vzorovými vypracovanými programy. Programy nahrajte na modem a vyzkoušejte. Zadání pro lévé i pravé PC. Vytvořte program, který: Po zmáčknutí tlačítka se připojí přes GPRS do definovaného souboru, umístěném na FTP serveru. Přečtěte obsah. Tento text vypište na obrazovku a odešlete pomocí SMS Pokud vše proběhlo v pořádku, rozsvítí zelenou LED (např. na 5 sekund). 9.15.6 Zadání č. 6
Seznamte se vzorovými vypracovanými programy. Programy nahrajte na modem a vyzkoušejte. Zadání pro lévé PC. Vytvořte program, který: Po spuštění aplikace se zhasne zelena LED. Program čeká na stisk tlačítka. Po stisknutí tlačítka se rozsvítí zelená LED. Program se připojí k FTP serveru, k účtu gsm1. Do souboru „zprava.txt“ uloží text „cervena“. Při dalším stisku „zelena“, a tak stále dokola. Následně zašle protějšímu modemu SMS zprávu s názvem souboru kam uložil zprávu. Nakonec zelenou LED zhasne. Během programu vypisuje aplikace do okna terminálu úkony, které provedla. Zadání pro pravé PC. Vytvořte program, který: Po spuštění aplikace modem zhasne obě dvě LED diody a čeká na příchozí SMS zprávu. Pokud přijde SMS zpráva přečte ji a připojí se na FTP server, účet gsm1 k souboru, jehož název dostal v SMS zprávě. Přečtěte obsah souboru. Je-li text „cervena“ rozsvítí červenou LED, je-li „zelena“ rozsvítí zelenou LED. V případě jiného textu vypíše hlášku „NEZNAMY PRIKAZ“ Během programu vypisuje aplikace do okna terminálu úkony, které provedla.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
103
10 Konfigurace WLAN a VPN sítě 10.1 Teoretický úvod V současnosti jsou nejvíce rozšířeny standardy WLAN technologie, dle IEEE (Institute of Electrical and Electronics Engineers). Konkrétně se jedná o následující standardy: IEEE 802.11 byl prvním standardem zaměřeným na problematiku bezdrátových lokálních počítačových sítí. Zahrnoval všechny dostupné přenosové technologie (DSSS, FHSS, infračervený přenos). DSSS a FHSS technologie standardizované v tomto dokumentu pracující pouze na rychlostech 1 Mb/s a 2 Mb/s a v kmitočtovém pásmu 2,4 - 2,4835 GHz. IEEE 802.11b zahrnuje oproti předchozímu standardu navýšení přenosových rychlostí na 1, 2, 5,5 a 11Mb/s. Technologie označena často také jako High Rate DSSS (HR/DSSS). Nezahrnuje však technologii FHSS. Zvýšení rychlosti bylo dosaženo využitím jiného typu kódování. Důležitou vlastnosti je zachování kmitočtového pásma 2,4 - 2,4835 GHz (zachována možnost zpětné kompatibility se systémy 802.11). IEEE 802.11a představuje technologie bezdrátových sítových pracujících v kmitočtovém pásmu 5GHz (není zpětně kompatibilní se systémy pracujícími kolem kmitočtu 2,4 GHz). Volba jiného kmitočtového pásma však umožnila dosáhnout výrazné vyšších přenosových rychlostí. Presto, že standard 802.11a specifikuje pouze rychlosti 6, 12 a 24 Mb/s a 54 Mb/s stanovuje jako maximum, většina zařízení nabízí i jiné rychlosti. Konkrétně jsou podporovány rychlosti 6, 9, 12, 18, 24, 36, 48 a 54 Mb/s, ale existují řešení, které dosahují až 108 Mb/s. IEEE 802.11g je standard přinášející rychlosti 802.11a do pásma 2,4 GHz (zachování kompatibility se systémy 802.11b). Důvodem vzniku je fakt, že kmitočtové pásmo kolem 5 GHz je v řadě států rezervováno pro jiné účely a nelze ho volně využít pro provozováni bezdrátových lokálních sítí. Vyšší rychlosti jsou dosaženy využitím efektivnějšího kódování založeného na technologii OFDM (Orthogonal Frequency Divisin Multiplexing). Technologie OFDM je využita pouze pro vyšší rychlosti a u rychlostí podporované v 802.11b je zachováno původní kódování. Proto tato zařízení jsou plně kompatibilní se systémy 802.11b. Virtuální privátní síť VPN (virtual private network) je prostředek pro propojení několika síťových uživatelů, kteří fyzicky nejsou v jedné lokalitě, do jediné virtuální počítačové sítě. Komunikace mezi těmito uživateli probíhá stejně jako by byli na jediném síťovém segmentu. Služby virtuální privátní sítě realizuje VPN server, na který se připojuje VPN klient. Klient disponuje internetovým připojením umožňujícím přístup k VPN serveru. Po úspěšném připojení je klient připojen do intranetové sítě. Pro připojení klienta do vzdálené sítě lze použít protokol PPTP (Point-to-Point Tunneling Protocol) či L2TP (Layer 2 Tunneling Protocol), na připojení dvou sítí se pak použije IPSEC (Internet Protocol Security). PPTP využívá pro svou činnost PPP (point-to-point protocol). L2TP kombinuje vlastnosti PPTP a L2F (Layer Two Forwarding), podporuje IPSec.
10.2 Popis pracoviště Schéma zapojení úlohy uvádí Obr. 65. V této úloze realizujete konfiguraci bezdrátové sítě WLAN s různým zabezpečením a konfiguraci virtuální privátní sítě VPN.
104
FEKT Vysokého učení technického v Brně
Obr. 65:
Zapojení laboratorní úlohy – Konfigurace WLAN a VPN sítě.
Pracoviště obsahuje modem/router Draytek. Přístup k webovému konfiguračnímu rozhraní routeru Drytek získáte zadáním IP adresy 192.168.1.1 do webového prohlížeče (uživatel i heslo prázdné). Testovat stav linky lze snadno pomocí příkazu ping. Zadat ho lze v příkazovém řádku (Start/Spustit a zadat cmd). Příkaz ping bez parametrů zobrazí nápovědu. Poměrně užitečná je kombinace „ping 147.229.148.1 –n 500“, ověřte. Funkčnost a přenosovou rychlost propojení lze testovat pomocí přenosu souboru z FTP serveru. Použijte FTP 147.229.148.35 (jméno: adsl, heslo: adsl). Aktuální přenosovou rychlost zobrazuje např. Total-commander. Při konfiguraci VPN sítě zkontrolujte v obecném nastavení přidělované IP adresy serverem VPN. Vytvořte účet VPN pro vzdáleného uživatele (teleworker). IP adresu VPN serveru s tímto účtem doplňte k nastavení WLAN sítě (menu řízení přístupu dle MAC adres, daná MAC musí mít znemožněna přístup bez VPN a musí být zadána IP adresa VPN serveru).
Obr. 66:
Webové konfigurační rozhraní routeru Draytek Vigor 2800.
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
105
10.3 Zadání laboratorní úlohy
V menu Reboot systém proveďte reset zařízení do továrního nastavení! Konfigurace WAN a LAN rozhraní - seznamte se s konfigurací routeru Drytek prostřednictvím webového rozhraní [ 29 ]. Prostudujte význam jednotlivých položek v menu. Změny provádějte s rozvahou, hrozí zablokování přístupu! Seznamte se především s nastavením rozhraní WAN a LAN, dále s nastavením IP adres a DHCP serveru na LAN. Pro rozhraní WAN konfigurujte získání IP adresy z DHCP serveru (IP získá od školního DHCP serveru). Router automaticky aktivuje NAT. Správnost nastavení ověřte příkazem ping do sítě Internet. Konfigurace WLAN rozhraní - aktivujte WLAN rozhraní a proveďte základní konfiguraci (nastavte SSID, kanál atd.). Do vytvořené WLAN sítě připojte klienta a ověřte funkčnost připojení např. příkazem ping (zkontrolujte, že klientské PC má zakázané připojení kabelem do LAN a pracuje tedy pouze přes WIFI). Ověřte dosažitelnou přenosovou rychlost sítě pomocí přenosu souboru. Na routeru omezte přenosovou rychlost dostupnou pro každého klienta připojeného na AP Drytek. Omezení přenosové rychlosti prověřte přenosem souborů z FTP. Zabezpečení sítě WLAN - aktivujte základní zabezpečení WLAN sítě v podobě filtrování MAC adres klientů, ověřte funkci. Prověřte dosažitelnou přenosovou rychlost sítě. Postupně nastavujte další úrovně zabezpečení (WEP, WPA/PSK ). RADIUS server není k dispozici. U každého způsobu zabezpečení ověřte dosažitelnou přenosovou rychlost. Získané poznatky a charakteristiku jednotlivých zabezpečení stručně komentujte v protokolu. Virtuální privátní síť - před konfigurací VPN serveru v routeru Drytek si ověřte použití VPN za pomocí připojení ke školnímu VPN serveru [ 30 ]. Nastavení je podrobně dokumentováno v literatuře dostupné na pracovišti. Pomocí příkazu tracert ověřte dostupnost některého ze serverů VUT a poznamenejte jména a dostupnost serverů, přes které je spojení vedeno. Doplňte na routeru zabezpečení pomocí filtrování MAC adres o nutnost připojení klienta pomocí VPN. Ověřte ztrátu spojení klienta. Zaznamenejte rozsah IP adres přidělovaných VPN serverem. Nakonfigurujte na routeru VPN server pro vzdáleného uživatele (teleworker). Připojte klienta do VPN sítě a ověřte získanou konektivitu a dosažitelnou přenosovou rychlost. Kontrolu funkčnosti připojení přes VPN provede vyučující. Postup nastavení a význam nastavovaných položek v routeru komentujte do protokolu. Bezpečnost sítí WLAN – deaktivujte veškerá zabezpečení sítě WLAN. Na PC klienta spusťte analyzátor paketů WildPacketsOmniPeek. Seznamte se s prostředím. Proveďte zachycení paketů ve WLAN síti při navazování spojení s FTP serverem. V zachycených paketech nalezněte paket s přihlašovacími údaji. Paket podrobně komentujte do protokolu. Aktivujte postupně všechna možná zabezpečení a přenosy podrobte analýze paketů. Prakticky vyzkoušejte konfiguraci WLAN rozhraní na PDA. Získané zkušenosti a případná omezení PDA komentujte do protokolu.
106
FEKT Vysokého učení technického v Brně
Seznam použité literatury [1]
SVOBODA, J., a kol. Telekomunikační technika díl 2, Hüthig&Beneš, 1999, ISBN 80901936-4-1.
[2]
ŠILHAVÝ, P. Datová komunikace. Skriptum FEKT VUT v Brně. Brno 2011. ISBN 978-80-214-4455-3.
[3]
BINGHAM J. A. C. ADSL, VDSL, and Multicarrier Modulation, John Wiley, 2000, ISBN 0-471-29099-8.
[4]
ITU-T Recommendation G.992.1: Asymmetric digital subscriber line (ADSL) transceivers, December 2003.
[5]
ITU-T Recommendation G.992.3: Asymmetric digital subscriber line transceivers 2 (ADSL2), October 2011.
[6]
ITU-T Recommendation G.992.5: Asymmetric digital subscriber line 2 transceivers (ADSL2)– Extended bandwidth ADSL2 (ADSL2plus), November 2010.
[7]
Šilhavý, P. Half-overlap subchannel Filtered MultiTone Modulation with the small delay. Proceedings of the Seventh International Conference on Networking 2008, pp. 474-478, ISBN: 978-0-7695-3106-9, Cancun, Mexico, April 2008, IARIA.
[8]
User’s Guide - Vigor2850 Series VDSL2 Security Firewall, [online]. 8. 6. 2011 [cit. 26. 8. 2013]. Dostupné na internetu: .
[9]
GINSBURG , D. Implementing ADSL. AWL, Inc., Massachusetts USA. November 1999, ISBN 0-201-65760-0.
[ 10 ] ITU-T Recommendation G.993.2: Very high speed digital subscriber line transceivers 2 (VDSL2), September 2012. [ 11 ] User’s Guide - Vigor2750 Series High Speed VDSL Router, [online]. 26. 10. 2010 [cit. 26. 8. 2013]. Dostupné na internetu: . [ 12 ] HomePlug AV White Paper, [online]. [cit. 16. 10. 2012]. Dostupné na internetu: . [ 13 ] Bradner, S. Benchmarking Terminology for Network Interconnection Devices - RFC 1242, [online]. Julz 1991, [cit. 16. 10. 2012]. Dostupné na internetu: . [ 14 ] Bradner, S., McQuaid, J.. Benchmarking Methodology for Network Interconnect Devices - RFC 2544, [online]. March 1999, [cit. 16. 10. 2012]. Dostupné na internetu: . [ 15 ] Konfigurační manuál – GPON - XDK E8110T, XDK E8010U. OFA s.r.o., Praha 2011. [ 16 ] ITU-T Recommendation T.50: Terminal equipment and protocols for telemetric services, September 1992. [ 17 ] User’s Guide - Radio data modem CDX 800. [online], [cit. 27. 8. 2013]. Dostupné na internetu: .
Přenos dat a kódování pro integrovanou výuku VUT a VŠB-TUO
107
[ 18 ] User’s Guide – Fastrack Modem M1306B. [online], 11. 11. 2006 [cit. 27. 8. 2013]. Dostupné na internetu: < http://www.sendsms.com.cn/download/Fastrack_M1306B_ User_Guide_rev003.pdf >. [ 19 ] Multiprotocol Encapsulation over ATM Adaptation Layer 5 - RFC 1483. [online], 7. 1993 [cit. 28. 8. 2013]. Dostupné na internetu: . [ 20 ] Multiprotocol Encapsulation over ATM Adaptation Layer 5 - RFC 2684. [online], 9. 1999 [cit. 28. 8. 2013]. Dostupné na internetu: . [ 21 ] The Point-to-Point Protocol Over AAL5 - RFC 2364. [online], 7. 1998 [cit. 28. 8. 2013]. Dostupné na internetu: . [ 22 ] A Method for Transmitting PPP Over Ethernet (PPPoE) - RFC 2516. [online], 2. 1999 [cit. 28. 8. 2013]. Dostupné na internetu: . [ 23 ] Classical IP and ARP over ATM [cit. 28. 8. 2013]. Dostupné na internetu:
- RFC 1577. [online], 1. 1994 .
[ 24 ] GINSBURG , D. Implementing ADSL. AWL, Inc., Massachusetts USA. November 1999, ISBN 0-201-65760-0. [ 25 ] TYL, J. Začlenění technologie typu ADSL do sítě Internet. Diplomová práce. UTKO, FEKT VUT v Brně. 2003. [ 26 ] Wavecom, Getting started with Open AT. [online], 24. 06. 2004 [cit. 16. 10. 2012]. Dostupné na internetu: [ 27 ] Wavecom, AT Commands interface guide for IP connectivity. [online], 24. 06. 2004 [cit. 16. 10. 2012]. Dostupné na internetu: . [ 28 ] Halamík, Z.. Programování GSM komunikace na základě „OpenAT“ platformy. Bakalářská práce UTKO 2006. [ 29 ] Konfigurace multifunkčního zařízení Draytek. [online], [cit. 16. 10. 2012]. Dostupné na internetu: .
24.
06.
2004
[ 30 ] Virtuální privátní síť VUT s podrobným popisem. [online], 24. 06. 2004 [cit. 16. 10. 2012]. Dostupné na internetu: . [ 31 ] ITU-T Recommendation G.996.1: Test procedures for digital subscriber line (DSL) transceivers. ITU-T, June 1999.