Fakulta elektrotechnická

Rozměr: px
Začít zobrazení ze stránky:

Download "Fakulta elektrotechnická"

Transkript

1 České vysoké učení technické vpraze Fakulta elektrotechnická DIPLOMOVÁ PRÁCE Použití operačního systému Linux pro měřící aplikace Praha, květen 2007 Autor: Bohuslav Stalmach Vedoucí práce: Doc. Ing. Jaroslav Roztočil, CSc.

2

3 Prohlášení Prohlašuji, že jsem svou diplomovou práci vypracoval samostatněapoužil jsem pouze podklady uvedené vpřiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu 60 Zákona č.121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). V Praze dne podpis i

4 Poděkování Na tomto místě bychrád poděkoval především rodičům za podporu po celou dobu studia na ČVUT. Nemalé díky patřívedoucímu práce Doc. Ing. Jaroslavu Roztočilovi, CSc za jeho nesmírnou trpělivost a cenné přípomínky k diplomové práci. ii

5 Abstrakt Cílem diplomové práce bylo v jazyce C vyvinout multiplatformní software, který otestuje vlastnosti přenosové cesty IP sítí sdůrazem na ztrátovost paketů apřenosovou rychlost. Serverováčást je spustitelná podoperačním systémem Linux, klientská část pak pod systémy Linux a 32-bitovými Windows. Byl použit UDP protokol a to tak, aby bylo možné měřit i v sítích, které používají NAT/PAT techniky a to obou směrech. iii

6 Abstract Main goal of the project is to develop multiplatform software in C programming language that will test communication path characteristic of IP networks with emphasis to packet loss and transmission speed. Server part will run under Linux operating system, client part will run under Linux and 32-bit Windows. Software will use UDP protocol and it will be possible to measure networks that use NAT/PAT techniques in both directions. iv

7 Tady bude zadání v

8 Obsah Seznam obrázků viii 1 Úvod UDP protokol Struktura paketu Výhody UDP protokolu při testování IPsítí NAP/NAT Analýza Požadavky na aplikaci Obecné Server Klient Design Komunikační protokol Význam jednotlivých paketů Návrh aplikace Klient Server Technická poznámka Sít ová vrstva - tm sockets.h Nejnižší vrstva Servisní vrstva Časovač - timer.h Vstupní parametry - parser.h Seznam vstupních parametrů extractor.h vi

9 2.9 Hash - md5.h Reporty - reporter.h Server - tm server.h Klient - tm client.h Úpravy pro Windows Použití useradd tool.sh - ukázkový skript Kompilace Linux Windows Závěr 34 Literatura 35 A CD s aplikací I vii

10 Seznam obrázků 1.1 Zapouzdření UDP datagramu UDP datagram NAT Souběh požadavků v jednom bodě Standardní průběh komunikace Opakované vyslání paketu Vazby mezi strukturami msghdr, iovec a daty iperf Snímek terminálu viii

11 Kapitola 1 Úvod Vsoučasnédoběexistujeněkolik podobných aplikacíatovčetnězdrojových kódu mnohdy sotevřenou licencí. Všechny tyto aplikace však postrádají klíčové vlastnosti, které zadavatele vedly k požadavku na aplikaci zcela novou. Zásadní rozdíl je především v možnosti ověření uživatelů, kteřížádají otestovacídatový tok. Dalšízvelkých rozdílů je využití jen jednoho UDP portu na straně serveru, cožhlavnídůvod, proč jen nelze modifikovat již existující software. 1.1 UDP protokol Obrázek 1.1: Zapouzdření UDP datagramu UDP (User datagram protocol) je součástí sadyinternetových protokolů atvoříspolečně s TCP protokolem většinu internetové komunikace. Protokol je popsán v RFC 768 [7]. 1

12 1.1. UDP PROTOKOL KAPITOLA 1. ÚVOD UDP byl původně určen pro zasílání krátkých zpráv (datagramů)ajakotakový postrádá spolehlivost TCP. Mezi komunikujícími zařízeními se nevytváříspojení, čímž odpadárežie na vytvoření a udržování takovéhoto spojení. Díky těmto vlastnostem je UDP protokol vhodný pro aplikace, kde jde především o přenosovou rychlost a ztráta několika paketů nevede k zásadní ztrátě informace. Použivá se tedy pro aplikace, kde server na základě krátkých požadavků rozesílá velkákvantadatvelkému počtu klientů. UDP protokol podporuje zasílání zprávy všem počítačům na lokální síti (broadcast) a všem zájemcům o danou službu (multicast). Z toho důvodu UDP protokol nalezneme u aplikací prošíření audiovizuálních dat. Zrozšířených použití protokolu UDP jmenujme DNS (Domain Name System), TFTP (Trivial File System Protocol a z populárních pak VoIP telefonii. O protokolu TFTP bude zmínka v následujícím textu Struktura paketu Na obrázku 1.2 je zobrazena struktura UDP paketu. UDP hlavička obshuje pouze čtyři části, z nichž dvě jsou volitelné. Obrázek 1.2: UDP datagram zdrojový portidentifikuje odesilatele a je použit, pokud očekáváme odpověd. Jdeonepovinný parametr. cílový portpodle tohoto portu se na cílovém počítači vybírá příslušná aplikace. Parametr je povinný. 2

13 1.2. VÝHODY UDP PROTOKOLU PŘI TESTOVÁNÍ IPSÍTÍKAPITOLA 1. ÚVOD délka 16 bitová hodnota, která obsahuje délku celého datagramu (včetně hlavičky) v bytech. Minimální délka je 8 bytů, což jevelikosthlavičky, kotrolní součet nepovinná hodnota pro kontrolu paketu. Ač nepovinná, většinou se používá. Kromě RFC 768 [7], je možno pro více informacínavštívit příslušnou stránku na Wikipedii [1], či do [11]. 1.2 Výhody UDP protokolu při testování IPsítí UDP protokol sám o sobě nezaručuje, že datagram dorazínamísto určení astejnětak nezaručuje, že datagramy dorazí vestejném pořadí, v jakém byly vyslány. V některých případech může dojít i ke zduplikování paketu uprostřed přenosové cesty. Aprávě výše uvedené vlastnosti lze s výhodou využít pro testování IPsítí. Pokud jsou na vysílací straně pakety označeny, lze na straně příjemce snadno zjistit, jestli se na přenosové cestě některý paket ztratil či zda došlo ke změně pořadípaketů. Tyto vlastnosti jsou velmi výhodné pro samotné měření, ale aplikace si musí samapřidat vlastní mechanismy, které zabezpečídoručenídůležitých zpráv. 1.3 NAP/NAT Network address translation (NAT) je technika vyvinutá vipv4sítích kvůli nedostatku IP adres. Hlavním využitím je připojení lokální sítě k Internetu přes jedinou veřejnou IP adresu tak, že při cestě datagramu z lokálního počítače router (gateway) nahradí zdrojovouadresusvouvlastní adresou, takže z pohledu cílového počítače tento komunikuje pouze s gateway. Dalšívýhodou je skrytí lokálních počítačůpřed vnějšísítí, které tak nejsou běžnými metodami přímo dostupné z Internetu a klesá takpravděpodobnost napadení počítače a snižuje se možnost vzdálené nákazy virem (červem). Omezením je pak nefunkčnost některých služeb či náročnost jejich konfigurace. Pokud použijeme Port Address Translation (PAT), router nahrazuje jednak IP adresu, jednak zdrojový port datagramu. Více v RFC 3022[10]. Je-li klient skryt pomocí některé zpředchozích technik před veřejnou sítí, server takovéhoto klienta nevidí. Teprvé poté, co klient zašle svůj datagram na server, vytvoří 3

14 1.3. NAP/NAT KAPITOLA 1. ÚVOD se v routerech na cestě patřičnésměrovací tabulky. Jedobrésiuvědomit, že port i adresa UDP paketu, který přichází naserversemůžou lišit od reálné adresy klienta. Je tedy zbytečné na aplikační úrovni vkládat na straně klienta adresu, nebot bude s velkou pravděpodobností přepsána. Jediné, co NAT zaručuje je, že pokud jsou vyslány z počítače za NATem pakety z jednoho zdrojového portu, budou se i zvnějšku jevit, že byly vyslány z jednoho portu, ačkoliv číslo portu se může na obou stranách lišit. Obrázek 1.3: NAT 4

15 Kapitola 2 Analýza 2.1 Požadavky na aplikaci Obecné Zadání diplomovépráce poměrně přesně definujepožadavky na aplikaci. Při realizaci je již odpočátku nutné počítat s tím, že klientská část musí být zkompilovatelná -provozu schopná -jaknaoperačním systému Linux, tak na 32-bit verzích Microsoft Windows. Dalšípožadavek, který jenaprvní pohled skryt, je zaručená funkčnost aplikace i v sítích za NAT/PAT. Předpokládá se, že server je veřejně přístupný, kdežto klient je v síti neveřejných adres Server Zásadním požadavkem je nutnost použít na straně serveru pro komunikaci pouze jeden UDP port. Klasické klient UDP server aplikace, například TFTP použivající protokol stejného jména, který je definovám v RFC 1350 [9], fungují jinak. Server naslouchá na obecně známem portu (v případě TFTP je to port 69). Klient zašle datagram na tento 5

16 2.1. POŽADAVKY NA APLIKACI KAPITOLA 2. ANALÝZA port, server vytvořínovýsocketadalší komunikace s klientem probíhá jižpřes jiný UDP port. Tímto způsobem se obejde faktická neexistence dvoubodového spojeníznámeho z protokolu TCP, kdy přes jeden TCP port na straněserverumůže kumunikovat několik klientů vjedenokamžik. Ale jak již bylořečeno, tuto techniku nelze využít. Dalšíodlišností od existujících aplikacíjeověřeníuživatele, kterýžádáodatovýtokpomocíuživatelského jména a hesla. Jedině vpřípadě, že souhlasí obaúdaje se záznamy na serveru, je datový tok vyslán. Vzhledem k odstavci v sekci 1.3 je třeba zajistit, aby server správněčetl adresu příchozího paketu a mohl tak komunikovat s klinety za NAT/PAT. Obrázek 2.1: Souběh požadavků v jednom bodě Posledním požadavkem na server je použití reprezentativních datových toků pro testování linkové vrstvy a vlivu komprese na přenosové charakteristiky. Při tomto požadavku budou použity externí souboryrůzných obsahů (komprimované video, zip soubory, obrázky, text), jejichž obsahem budou pakety plněny. Na linkové vrstvě TCP/IP protokolu je totiž implementováno několik protokolů, kterédokáží komprimovat data, čímžsnižují velikost paketu a teoreticky zvyšují propustnost takové sítě. Je zřejmé, že například již vysoce zkomprimované MPEG video nebude při přenosu dále komprimováno, ale například u bitmapových obrázkůči textu dosáhne komprimační algoritmus zajímavých kompresních poměrů. Použitím různých reprezentativních datových tokůmůžeme ověřit funkčnost kompresních algoritmů napřenosové cestě. Z protokolů linkové vrstvy, které jsouschopny datové kompresejmenujmealespoň protokoly PPP, Frame Relay, High-Level Data Link Control (HDLC) a X.25. 6

17 2.1. POŽADAVKY NA APLIKACI KAPITOLA 2. ANALÝZA Kritickou částí aplikace bude časovač, který zaručí, že rozestupy mezi pakety budou odpovídat požadavku klienta. Musí být schopen správné funkce i při vysílání více datových toků různým klientům. Server bude schopen datové toky nejen vysílat, ale také přijímat datový tok od klienta a to bud samostatně v obou směrech, či v duálním režimu, kdy se postupně změřípřenosová cesta v obou směrech datovým tokem shodných parametrů. Je důležité zajistitvýměnu výsledků měření mezi serverem a klientem Klient Důležitým požadavkem, který vyplynul až vprůběhu řešení, je možnost použití klientské části aplikace v uživatelských skriptech. Je tedy potřeba, aby klient dokázal zpracovat požadavky z příkazovéřádky a aby takto bylo možno nastavit všechny požadavky na datový tok.vevšech žádostech o datový tokmusíbýt uveden uživatel a heslo. Heslo se zasílá v hash podobě -odtudplynepotřeba vybrat vhodnou hashovací funkci.uživatel může zadat datový tokv raw podobě - to jest velikost paketů a rozestup mezi nimi. Druhou možností je zadat datový tok jako definovanou přenosovou rychlost, která je doplněna bud informací o velikosti paketu či rozestupu mezi pakety. Ostatní parametry budou dopočítány. Další, výslovně zadané parametry, jsou typ výplně paketu a timeout pro komunikaci se serverem. Pro lepší funkci budou implementovány další parametry, které používá software iperf, kterýbylvminulostipoužíván zadavatelem. Po přijetídatového toku klient vyhodnocuje datovýtokzněkolika hledisek: ztrátovost paketů, změna pořadípaketů, přenosová rychlost, rozestupy mezi pakety, kolísání rozestupů (jitter). V normálním režimu vypisuje klient výsledky na standardní výstup, popřípadě do CSV souboru, což jevýhodné zejména při opakovaném měření. Klient dokáže datový tok nejen zpracovat, ale v případě duálního režimu i vyslat datový tok na server. 7

18 2.2. DESIGN KAPITOLA 2. ANALÝZA 2.2 Design Komunikační protokol Klient a server mezi sebou komunikují pomoci UDP datagramů. Datagram obsahuje ID paketu, časovou značku a data. Podle ID paketu se datagramy dělí nadatové(id > 0) a pakety nesoucí informaci(id < 0). Tyto se dále dělí na pakety servisní (ACK, DEN, FIN, ERR) a reporty. Speciální paketsid = 0 (REQ) obsahuje žádost o datový tok a jako takový vždy zahajuje komunikaci. Na obrázku 2.2 je vidět standardní průběh komunikace se serverem. Pokud v průběhu komunikace vznikne chyba, je vyslán paket ERR, který obsahuje kód chyby. Obrázek 2.2: Standardní průběh komunikace Jelikož je UDP protokol nespolehlivý, je potřeba na aplikační úrovni zajistit ověření doručení servisních a informačních paketů. Nejjednoduším řešením je opakované zasílání po určitém časovém intervalu, dokud neobdržíme odpověd či pokud není překročen stanovený počet opakování. Princip je na obrázku 2.3. Protože klient i server mohou býti kompilovány na různých softwarových a hardwarových architekturách, není semožné spolehnout na to, že číselné hodnoty budou na obou 8

19 2.2. DESIGN KAPITOLA 2. ANALÝZA stranách interpretovány stejně například kvůli odlišnému pořadínejvyšších a nejnižších bytů. Čísla budou překódována do šestnáctkové soustavy (HEX) a zasílána jako text, kdy jeden znak bude mít jeden byte. Tímto se vyhneme potížím s pořadím bytů včíselné proměnné. Obrázek 2.3: Opakované vyslání paketu Význam jednotlivých paketů REQ -request-prvnípaket,který klient posílánaserver.sloužíkověření uživatele azároveň k definování požadovaného datového toku. ACK - acknowledgement- potvrzuje, že paket byl přijat. V případě, že předchozí paket byl REQ, potvrzuje ověření uživatele. ERR - error - při zpracování požadavků vznikla chyba. V případě, že předchozí paket byl REQ, oznamuje paket, že uživatel nebyl korektně ověřen. DEN -dataend-předchozí datový paket byl poslední. Tento paket obsahuje také informaci o ID posledního vyslaného paketu, jinými slovy počet odeslaných paketů. FIN - finish - vysílací strana ukončuje komunikaci 9

20 2.2. DESIGN KAPITOLA 2. ANALÝZA Návrh aplikace Server i klient sdílí většinu kódu, využívají stejné knihovny. Rozdíl je především v tom, že server je vícevláknový - využívá POSIXvláken operačního systému Linux. Vlákna jsou využita pouze pro vysílání datových tokůodserverusměrem ke klientovi. Příjem paketů se shodně na klientu i serveru zpracovává sekvenčně vhlavním vlákně. Vnásledujících odstavcích je bližšínávrh aplikace. Text se již nezabývá ověřováním přijetí paketů Klient Klient je spouštěn z příkazovéřádky. Načte uživatelem definované parametry a nezadané parametry doplní navýchozí hodnoty. Jelikož může být datový tok definován neuplnými parametry, klient zbýlé parametry dopočítá. S takto vypočtenými daty zašle REQ paket. Po obdrženípaketuackčeká napříchozídatový tok. Jelikož paketacksemůže po cestě ztratit, je zaslání paketu ACK v tomto případě nepovinné a klient přichozí datové pakety správně zpracuje i bez tohoto potvrzení. Po příchodu prvního datového paketu odměříčas. Dokud jsou ID paketů vetšínež nula, načte z hlavičky paketu časovou značku a vypočítá rozdíl oproti aktuálnímu času. Dále sleduje časový rozdíl oproti minulému paketu. Pokud se ID paketu nelišíodpředchozího ID právě od jedničku, započítá jejjako ztracený. Pokud je ID paketu nižšínežpředchozí ID, započítá jej jako paket mimo pořadí asnížípočet ztracených paketů. Jakmile klient obdrží paket DEN, který zároveň obsahuje informaci o posledním zaslaném ID paketu, vypočte přenosovou rychlost, průměrný rozestup mezi pakety, nejistotu rozestupů. V duálním režimu server po odeslání paketudenodešle paket REQ a klient tentokráte vysílá datovýtoksměrem k serveru. Po odeslaní paketu DEN klientem čeká klient na report ze serveru a poté ukončuje komunikaci. Podle požadavků uživatele pak tiskne formátovanou závěrečnou zprávu na standardní výstup, popřípadědocsv souboru pro pozdějšízpracování. Toto je poslední akce, program se ukončí. 10

21 2.2. DESIGN KAPITOLA 2. ANALÝZA Server Po spuštění serverpřijímá požadavky na uživatelem definovaném portu. Při obdržení paketu s jiným než nulovým ID ověřínejdříve, jestli paket pocházíodověřeného uživatele. Pokud ne, paket je zahozen a dále nezpracováván. Paket s ID = 0 obsahuje uživatelské jméno a heslo, které jeověřeno proti seznamu uživatelů. Pokud je ověření vpořádku, server vytvořínovévlákno, kteréodešle paket ACK a po definovanéprodlevězačne vysílat požadovanýdatovýtok. Nazávěr odešle paket DEN, kterým signalizuje konec vysílání. Vpřípadě, že součástí požadavku na datovýtokbylažádost o duální režim, nevyřazuje server klienta ze seznamu ověřených klientů, ale odesílápaketreq.hlavnívlákno serveru mezitím zpracovává dalšípříchozípakety. Prokaždého klienta, který požádal o duální režim má server vytvořen záznam, do kterého ukládá informace o paketech. Po příchodu paketu DEN vyhodnotí datový tok a report zašle klientovi. Záznam je smazán a klient je ostraněn ze seznamu ověřených klientů. Autentizace platíjenproprávě probíhající datové toky. Na rozdíl od klienta zobrazuje server informace o svém stavu na standardní výstup, do svého logu a do systémového logu. Do systémového logu jsou zapisovány pouze nejdůležitější informace - spuštění serveru, vypnutí a neuspěšná autentizace včetně informací o klientovi, který sepokusilopřipojení. Do svého logu si server zapisuje stejné zprávy jako na výstup s tím, že výstup na obrazovku lze zakázat - tzv. tichý režim. Pokud server běží v konzoli, je možnéhoukončit stiskem kláves Ctrl+C, popřípadězasláním signálu SIGTERM, po jehožobdržení se server korektně ukončí. Server může být spuštěn takéjakosystémový démon (daemon) běžící na pozadí. Počet současně bežících serverů není omezen, v systémovém logu jsou jednotlivé zpravy odlišeny pomocí PID (process id). 11

22 2.3. TECHNICKÁ POZNÁMKA KAPITOLA 2. ANALÝZA 2.3 Technická poznámka Aplikace byla programována ve vývojovém prostředí KDevelop. Ke kompilaci byl použit balík nástrojůgccatojakvprostředí Linux, tak Windows. Jako programovací jazyk bylo zvolen jazyk C v jeho ANSI podobě atovčetně ANSI C formátování kódu. Z ANSI normy C90 nejsou dodrženy zejména formáty komentářů, nebot norma C90 neumožnuje použití komentářůc++stylutj.dvělomítka. 2.4 Sít ová vrstva - tm sockets.h Vcílových operačních systémech se k přístupu ke službám sítě používájí sockety,které v obou případech vychází zberkeley sockets API. Zatímco v případě Linuxu byla specifikace dodržena, v případě Microsoft Windows a jejich WinSock došlo k odchylkám. Obě implementace byly porovnány a nakonec byla vybrána množina funkcí, které jsoutéměř identické akód je tak přenositelný s minimálními zásahy v kódu jen s pomocí direktiv preprocesoru. Popis rozhraní socket najdeme například [3] a popis rozhraní WinSock pak [2] Nejnižšívrstva Základem každé komunikace je vytvoření socketu,přes který bude aplikace komunikovat svnějším světem. K tomu sloužívolání socket() int socket(int domain, int type, int protocol);,kterémávnašem případě podobu socket(af_inet, SOCK_DGRAM, 0); 12

23 2.4. SÍŤOVÁ VRSTVA - TM SOCKETS.H KAPITOLA 2. ANALÝZA Používáme totiž rodinuaf INET, datagramově orientovaný protokol SOCK DGRAM, což jevnašem případě UDP. Aby bylo přes socket možno přijímat datagramy, je potřeba ho svázat s konkrétním portem a sít ovým zařízením, k čemuž slouží funkce bind(). Bind je potřeba použít jak u klienta, tak u serveru, nebot oba přijímají datagramy. Pokud bychom chtěli jen odesílat, bind nenínutný. Je použit IP 4 protokol, ale počításeúpravou programu tak, abyt mohl být použit i na IP 6sítích. Pro vlastní odesílání ačtení jednotlivého datagramu jsou použity funkce readmsg(), recvmsg() respektive WSARecvFrom() a WSASendTo(), což jsou knihovní funkce definované vhlavičkových souborech socket.h (linux, unix) a WinSock2.h (windows). /* socket */ ssize_t sendmsg (int socket, const struct msghdr *message, int flags); ssize_t recvmsg(int socket, struct msghdr *message, int flags); /* WinSock */ int WSARecvFrom( SOCKET s, LPWSABUF lpbuffers, DWORD dwbuffercount, LPDWORD lpnumberofbytesrecvd, LPDWORD lpflags, struct sockaddr* lpfrom, LPINT lpfromlen, LPWSAOVERLAPPED lpoverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpcompletionroutine ); int WSASendTo( SOCKET s, LPWSABUF lpbuffers, DWORD dwbuffercount, LPDWORD lpnumberofbytessent, DWORD dwflags, const struct sockaddr* lpto, 13

24 2.4. SÍŤOVÁ VRSTVA - TM SOCKETS.H KAPITOLA 2. ANALÝZA int itolen, LPWSAOVERLAPPED lpoverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpcompletionroutine ); Prvotní design aplikace původně počítal s použitím funkcí WSARecv() a WSASend(), které jsoutotožné s funkcemi v POSIXové implementaci. Přesto, že jsou tyto funkce v dokumentaci Microsoftu MSDN, je jich možno plně využít až voperačním systému Windows VISTA. Pro maximální použitelnost aplikace na starších Windows byly nakonec použity výše uvedené funkce za cenu rozdílu v kódu pro Windows a Linux. Aplikace zdaleka nevyužívá všechny možnosti, které tyto funkce programátorovi poskytují. Volání funkce vypadá jednoduše, více nám řekne pohled na strukturu msghdr. struct msghdr{ void *msg_name /* Optional address. */ socklen_t msg_namelen /* Size of address. */ struct iovec *msg_iov /* Scatter/gather array.*/ int msg_iovlen /* Members in msg_iov.*/ void *msg_control /* Ancillary data; see below.*/ socklen_t msg_controllen /* Ancillary data buffer len.*/ int msg_flags /* Flags on received message*/ }; struct iovec{ void *iov_base; /* starting address of the buffer */ size_t iov_len; /* size of buffer */ }; Díky těmto funkcím je možné zapsatačíst více bufferů zároveň. Pointer *msg iov totiž může ukazovat na pole struktur iovec, jehoždélka je určena položkou msg iovlen. Struktura iovec pak obsahuje ukazatel na buffer a jeho délku. Při posílání paketuje 14

25 2.4. SÍŤOVÁ VRSTVA - TM SOCKETS.H KAPITOLA 2. ANALÝZA potřeba řádně vyplnit hlavičku *msg name, která vnašem případě ukazuje na strukturu sockaddr in, která definuje informace o adresátovi paketu. Pro většípřehlednost je připojen obrázek 2.4 vazeb mezi jednotlivými strukturami tak, jak je používá aplikace. Obrázek 2.4: Vazby mezi strukturami msghdr, iovec a daty struct sockaddr_in { short sin_family; // e.g. AF_INET unsigned short sin_port; // e.g. htons(3490) struct in_addr sin_addr; // see struct in_addr, below char sin_zero[8]; // zero this if you want to }; struct in_addr { unsigned long s_addr; }; // load with inet_aton() Servisní vrstva Jak je patrné zpředchozího textu, manipulace s nízkoúrovňovými funkcemi není jednoduchá, bylo tedy potřeba vytvořit obslužné funkce, které vyplní datové struktury azároveň zvýšípřehlednost kódu. Tyto funkce jsou definovány v hlavičkové souboru 15

26 2.4. SÍŤOVÁ VRSTVA - TM SOCKETS.H KAPITOLA 2. ANALÝZA tm sockets.h a implementovány v příslušné knihovně. Využijeme toho, že již při volání úvodní bind() funkce potřebujeme mít inicializovánu strukturu sockaddr in. Jelikož velikosti datových struktur známe také, použijeme jižuživatelskou funkci tm fill msghdr(), která vyplní vše potřebné. void tm_fill_msghdr(struct msghdr *hdr, struct iovec *iov, struct sockaddr_in *SA); Takto vyplněnou strukturu, na kterou ukazuje pointer *hdr, lze již předložit funkci sendmsg(), čímž bydošlo k odeslání prázdného paketu. Pro rozumné využití jepotřeba před odesláním doplnit ukazatele na datové struktury, které jsou celkem dvě. První je typu socket header t a druhá ukazuje na libovolná data, at už je to buffer pro výplň datového paketu, či jiná struktura. Pokud takový paketpřijme druhá strana, podle kontextu (a ID paketu) pozná, jaká dataočekávat a provede příslušné přetypování. Na samotném konci stojí funkce tm send data packet(), která pošle paket na definovanou adresu s příslušným obsahem. int send_data_packet(int sckt, struct msghdr *msg, int ID, void *data, int datalen,int flags); Příklad: funkce recvmsg vyplní strukturu, na kterou odkazuje ukazatel hdr a ta bude obsahovat informace o odesilateli. Chceme-li ihned odpovědět odesilateli, že něco není v pořádku, stačí zavolat send data pacet(sckr, hdr, -1, NULL, 0, 0). Funkce odešle paket s ID -1 (ERR) na adresu odesilatele. Požadovaný datový tok pak generujeme jednoduše tak, že v pravidelných intervalech zasíláme pakety dané velikosti. Knihovna obsahuje dalšípomocné funkce, ale ty nejsou důležité kpochopení fungování aplikace. Na úplném konci stojí funkce tm sendstream(), kterázužitkovává všechny dříve uvedené funkce k zaslání požadovaného datového toku. Ve struktuře req jsou obsaženy všechny parametry. Tato funkce počítástím, že může být v případěserveruvolána ve více vláknech. 16

27 2.4. SÍŤOVÁ VRSTVA - TM SOCKETS.H KAPITOLA 2. ANALÝZA int tm_sendstream(int serversocket,struct sockaddr_in *to, stream_request_t *req) Struktura sockaddr in je již známá, struktura stream request t je ukázána níže. typedef struct stream_request_ { char username[username_l]; char password[password_l]; char mode; // u... upload : client -> server // x... dual : client <-> server // d... download : client <- server uint32_t packet_size; uint32_t packet_delay; uint32_t packet_num; //number of packets to be sent char packet_data; // 0... random data // f... file - filename must be specified char filename[filename_l]; uint32_t bandwidth; // in bytes per second uint32_t stream_dur; // if packet_num == 0 packet will be sent for stream_dur sec uint32_t stream_size; // if packet_num == 0 && stream_dur==0 stream_size bytes wi char single; } stream_request_t; Každý paket,který aplikace vysílá, obsahuje hlavičku typu packet header t,což je struktura typedef struct packet_header_ { int32_t id; // packet ID struct timeval timestamp; // time at packet s departure } 17

28 2.5. ČASOVAČ - TIMER.H KAPITOLA 2. ANALÝZA packet_header_t; timestamp obsahuje systémový čas v okamžiku odeslání paketu.jepotřeba si uvědomit, ža paket stráví nějakýčas v sít ovém subsystému jádra operačního systému, takže čas reálného odeslání paketu-tadyčasu, když paket opouští sít ovou kartu - se lišíodčasu v hlavičce paketu. Tento rozdíl může činit desítky mikrosekund. Hlavičkou se myslí hlavička packet header t přidaná na aplikační úrovni, nikoliv hlavička IP či UDP protokolu. Význam hodnoty ID paketu již bylpopsán, již stačí jen doplnit hodnoty tak, jak jsou definovány v hlavičkovém souboru tm sockets.h. #define REQ 0 #define DEN -2 #define ERR -1 #define ACK -3 #define FIN Časovač -timer.h Na kvalitěčasovače přímo závisí kvalita generovaných datových tokůatudíž ipřesnost měření. Jelikožžádný ze standardních systémových časovačů nedosahuje požadovaného rozlišení apřesnosti, bylo nutné implementovat vlastní. Nejpřesnějšímetodouseukázala tzv. busy loop, čili smyčka, které je v cyklu, dokud není splněna daná podmínka - vypršel danýčas. Příklad busy loop: while(!isolder(&now,&future)) { gettimeofday(&now,null); } 18

29 2.6. VSTUPNÍ PARAMETRY - PARSER.H KAPITOLA 2. ANALÝZA Periodicky se odměřuje nastavený čas a smyčka se ukončíažposplnění podmínky. Tato metoda funguje výborně, pokud je generován pouze jeden datový tok. Smyčka totiž zcela logicky pohlcuje většinu výkonu procesoru a pokud je těchto smyček pušteno více najendou, dochází knepřesnostem. Tento důvod a také předpoklad, že pro většinu měřených datových toků bude čekacíčas poměrně vysoký, byl pro tyto vyššíčasy implementován dalšíčasovač, který při čekání nechává procesor odpočinout - využívá volání usleep(), což jeuspánívlákna na požadovaný počet mikrosekund. Tento časovač jeméně přesný, ale po zavadení korekce, kdy je porovnána nastavená askutečnáčekací doba, dosahuje dobrých výsledků. Následuje příklad debugovacího výpisu časovače s autokorekcí. set=8000 measure=8369 rozdil=-369 should=7631 set=7631 measure=8021 rozdil=21 should=7610 set=7610 measure=8001 rozdil=1 should=7609 Set... nastavená hodnota, measure... změřená hodnota, should... doporučené nastavení časovače pro další iteraci. Pokud jde o klienta, vždy je použita busy loop, v případě serveru jen pokud jde ovelmikrátké čekací časy. Pro dlouhé čekací doby je použita druhá metoda.časovač je implementován v knihovně timer, uživatelské funkce jsou definovány v hlavičkovém souboru timer.h. Knihovna dále obsahuje funkce pro práci s časem a strukturou timeval, kterou používají jako windows, tak linuxové knihovny. Pokud by nároky na přesnost byly vyšší, než jestandardní linuxové jádro schopno zajistit, lze použít některé ze speciálních realtime (RT) jader, popřípaděpřímo RT distribuci (například ELinos). 2.6 Vstupní parametry - parser.h Parametry jsou předávány z příkazové řádky. Na zpracování parametrů bylapoužita knihovna getopt respektive její nadstavbagetopt long. Tato knihovna je šířena pod 19

30 2.6. VSTUPNÍ PARAMETRY - PARSER.H KAPITOLA 2. ANALÝZA licencí GNU Lesser General Public License[4], která při dynamickém linkování nijakne- omezuje autorská práva autora aplikace, která tutoknihovnupoužívá. Pouze při statickém slinkování senavýslednou aplikaci automaticky vztahuje licence GPL a všechny právní aspekty z tohoto plynoucí. Knihovna umí jednoše pracovat s krátkými i dlouhými názvy parametrů, dále lze nastavit, zda-li má daný parametr povinnou hodnotu či nikoliv. Použití je velmi jednoduché - definice vstupních parametrů jezřejmá znásledujícího příkladu: static struct option long_options[] = { /* These options set a flag. */ {"verbose", no_argument, &verbose_flag, 1}, {"brief", no_argument, &verbose_flag, 0}, {"server", no_argument, 0, s }, {"client", required_argument, 0, c }, {0, 0, 0, 0} }; Na příkladu vidíme všechny možnosti vstupních parametrů. Parametry --verbose a --brief nastavují hodnotu proměnné verbose flag. Parametr --server, -s jsou identické anepředpokládá sežádná další hodnota. Za parametrem --client či -c musí následovat hodnota. Knihovna tuto hodnotu nekontroluje, je potřeba ji dále ošetřit. Pomocí další knihovní funkce se prochází poleargumentů argv[], které obsahuje argumenty zpříkazovéřádky. Nad touto knihovnou je postavena uživatelská knihovna parser, která zpracovává vstupní parametry, provádí kontrolu správnosti parametrů - rozsahy, hodnoty. Pokud nejsou některé hodnoty nastaveny uživatelem, jsou použity výchozí hodnoty - například velikost datového paketu (1450B), port (5000), sít ové rozhraní (INADDR ANY), délka datového toku (10s). Hodnota 1450B není zvolena náhodou. Moderní ethernetové sítě majítotiž hodnotu MTU (Maximum transmission unit) 1500B. MTU je velikost paketu, který projdepřes sít ové zařízení (gateway, router, bridge...), aniž bybylippaket fragmentován - rozdělen na více částí, z nichž každá jemenši než MTU. Při fragmentaci se zvyšuje pravděpodobnost ztráty paketu, nebot při ztrátě jednézjehočástí je zahozen celý (platíjenvpřípadě UDP). Pokud od hodnoty MTU 1500B odečteme velikosti 20

31 2.6. VSTUPNÍ PARAMETRY - PARSER.H KAPITOLA 2. ANALÝZA hlaviček všech nižších protokolů, dostáváme se na hodnotu okolo 1450B - ne všechny hlavičky musí být v paketu přítomny. Hodnota 1450B je nejvyššímožná velikost paketu, který na standardní síti projde bez fragmentace. Minimální hodnotu MTU přenosové cesty lze zjistit tak, že v hlavičce IP protokolu nastavíme volbu DF (Don t Fragment). Každé zařízenínapřenosové cestě, jehož MTUjemenšínež velikost paketu tento paket namísto fragmentace skartuje a vyšle zpět ICMP zprávu ICMP Destination Unreachable (Datagram Too Big). Začneme-li na malé velikosti paketu a postupně jizvyšujeme, pak snadno nalezneme MTU celé trasy. Tato technika je přesněji popsána v [6]. Další funkcí knihovny je výpočet hodnot ze zadaných parametrů. Zadá-li například uživatel požadovaný datovýtokanicjiného, použije se výchozí velikost paketu (1450B) pro výpočet rozestupu mezi pakety. Server tak vždy dostává informace stejného typu a nemusí jižžádnédalšívýpočty provádět. Poslední důležitou funkcí knihovny je generování hash hodnoty ze zadaného hesla. Jak již bylořečeno, pokud to jen bylo možné, bylo dodrženy názvy parametrů testovacího software iperf[5]. Mnoho jich bylo vypuštěno, protože se týkaly jen protokolu TCP, další zabrali jejich místo, protože iperf některé vlastnosti vůbec nepodporuje. Obrázek 2.5: iperf

32 2.7. SEZNAM VSTUPNÍCH PARAMETRŮ KAPITOLA 2. ANALÝZA 2.7 Seznam vstupních parametrů s l Popis -s --server serverový mód - -y --daemon daemon mód - -r --root exkluzivní mód - do ukončení aktuálního - měření budou ostatnížádosti odmítány. -c host - -client klientský mód - je potřeba zadat adresu serveru, - na který se má klient připojit. Po- kud není zadán port (-p - -port), použije se výchozí hodnota -i # - -interval interval, ve kterém jsou pravidelně vypisovány 0 reporty -l # --len velikost paketu v bytech p # --port port, na kterém bežíserver p # --port port, na který sepřipojuje klient b # - -bandwidth datový tokvbytechzavteřinu 1Mbs -w # --win velikost příjímacího bufferu dle systému -B # - -bind sít ové zařízení, na kterém má aplikace naslouchat 1Mbs -d - -dualtest po přijetí dat za serveru vyšle klient svůj testovací - datovýtok -u - -upload měřenípouzevesměru klient - server - -n # --num počet paketů datového toku - -t # --time čas v sekundách - délka datového toku 10 -T # --tout čas v sekundách - timeout při komunikaci se 10 serverem -D # --delay čas v milissekundách - rozestup mezi pakety - -F fil --file jméno souboru pro reprezentativní datový - tok -C fil --file soubor, do kterého se má připojit CSV report - -a user - -username uživatelské jméno - -x pass - -password heslo - 22

33 2.8. EXTRACTOR.H KAPITOLA 2. ANALÝZA Příklad : [bob@bob src]$./udptool --server --port B extractor.h Tato knihovna obsahuje funkce, které z požadovaného souboru načítají data a tato kopírují do bufferu. Data se načítají postupně až ke konci souboru. Pokud je požadováno více dat, než zbývá do konce souboru, začne se znovu od začátku. 2.9 Hash - md5.h Pro hashovaní hesla byla použita hashovací funkce MD5 [8], kterou v knihovně md5 podle uvedeného RFC 1321 implementoval L. Peter Deutsch (ghost@aladdin.com) a dal ji volně kpoužití při zachování určitých podmínek, jako je například zmínka o autorovi a nezasahování dokódu. Sama funkce MD5 je již překonána, přesto pro naše použití postačuje Reporty - reporter.h Tento hlavičkový soubor popisuje funkce, které sepoužívají k vyhodnocování příchozích datových toků. Výsledný reportvpřípadě duálního módu zasílá server klientovi. Zastřešující funkce data stream eval() vyhodnocuje vlastní datový tok. Jako vstup sloužíukazatel 23

34 2.11. SERVER - TM SERVER.H KAPITOLA 2. ANALÝZA na hlavičku paketu - packet header t. Funkce vyhodnotí spoždění paketu, počítá ztracené pakety a pakety mimo pořadí. Hlavičkový soubordále definuje funkce na převod číselných proměnných na textový HEX formát Server - tm server.h Serverováčást aplikace je určena k provozu pouze na operačním systému Linux. Využívá vlákna dle POSIX specifikace pro zasílaní datových toků více klientům současně. Jelikož vláknu lze předat pouze obecný ukazatel (void *), obsahuje knihovna podpůrné datové struktury a funkce, které umožní předat vytvářenému vláknu informace o datovém toku. Pro každého klienta, žádajícího o testovací datový tok je tedy vytvořeno vlákno, na jehož výsledky ovšem hlavní vlákno nečeká. Vlákno samotné nepřijímá pakety od klienta. Místo toho kontroluje sdílené datové struktury, například seznam přijatých servisních paketů. Přístup ke sdíleným strukturám je řízen pomocímutexů. Vlákno po odeslání dat a paketu DEN čeká napaketack,poněm odesílá paket FIN a opět čeká naack. Server může obsluhovat teoreticky neomezený počet klientů, jediný limit je pamět a maximálnípočet současněspuštěných vláken, kterédovolí spustit operačnísystém. Pokud si odmyslíme vysílací vlákna, funguje čtecíčást serveru i klienta jako asychronní stavový automat, který jetaktován příchody paketů na socket. Automat každý paket vyhodnotí aprovedepříslušnou akci. Po ukončení akceseopět čeká napaket.uklientskéčásti akce blokuje, čili klient nemůže zpracovávat další paket. Server naopak každou složitějšíakci pouští vevlákně, takže téměř ihned může zpracovávat dalšípaket. 24

35 2.12. KLIENT - TM CLIENT.H KAPITOLA 2. ANALÝZA 2.12 Klient - tm client.h Vpředchozích částech byla činnost klientskéčásti aplikace popsána podrobněazimple- mentačního hlediska nepřidávánicnového. Tyto části aplikace jsou odděleny především proto, aby se zjednodušila kompilace pod oběma operačnimi systémy. Pokud by měl systém běžet jen pod operačním systémem Linux, nebylo by toto oddělení vůbec potřeba. Klientská část ma přeci jen jednu odlišnost a to je volitelný timeout, po jehož překročení bude spojení vyhodnoceno jako ztracené a klient ukončen. Obrázek 2.6: Snímek terminálu 25

36 2.13. ÚPRAVY PRO WINDOWS KAPITOLA 2. ANALÝZA 2.13 Úpravy pro Windows Jak již bylořečeno, pro kompilaci pod oběma systémy nebylo potřeba velké množství úprav. Při kompilaci je serverová část skryta, zbývají tedy jen rozdíly mezi knihovnami socket.h a winsock.h. Ačsezákladní funkce jmenují různě (viz strana ), jejich funkce je podobná. Postup pro kompilaci pod operačním systémem Windows bude popsán vzávěrečných kapitolách. 26

37 Kapitola 3 Použití Aplikace je implementována, ukažme si její použití a chování v reálné situaci. Spust me serverovou aplikaci na linuxovém stroji příkazem [bob@bob src]$./udptool --server --port B Server se spustil a naslouchá na rozhraní , portu Server je ted připraven pro příjem požadavků odklientů. Spust me tedy klient. [bob@localhost src]$./udptool -c p l t 5 -i 1 --username bob --password threepo -t 5 -i 1 Význam parametrůjezřejmý, přesto zopakujeme, co vlatně po programu žádáme. Program se má spustit v klientském módu a připojit se k serveru bežícímu na IP adrese Mázaslatpožadavek na datovýtok,který bude obsahovat pakety velké 1900B. Uživatelské jméno je pak bob, heslo 453sdfs. Dále sdělujeme, že chceme každou vteřinu zobrazovat průběh měření. Server obdržel požadavek, klient byl úspěšně ověřen a datový tok tak mohl být zaslán. Podívejme se na klientskou obrazovku. 27

38 KAPITOLA 3. POUŽITÍ src]$./udptool -c p username bob --password threepo -l t 5 -i Connecting to :10000 Timeout set to 5 sec Request username : bob pckt size : 1900 pckt delay : 3800 pckt data : 0 bandwidth : stream dur : Interval Transfered Bandwidth Jitter Lost Total 00-01s 0.00 kb -0.00kBs 0.000ms s kb kBs 0.015ms s kb kBs 0.015ms s kb kBs 0.015ms s kb kBs 0.015ms DEN from :10000 lastid= [Server -> Client] Sent packets: 1317 Recv packets: 1317 Lost packets: 0 Pckt loss : 0.00 % Duplicated : 0 Out of order: 0 Jitter : 15 usec Avg delay : 3799 usec Avg ping : 15 usec Duration : s Transfered : 2441 kb 28

39 KAPITOLA 3. POUŽITÍ Speed : kbs ( Bs) Posilam FIN ACK [bob@localhost src]$ V horní části obrazovky vidíme informace o požadovaném datovém toku, ve střední části průběžné výsledky měření a nakonec souhrné informace. Jelikož server i klient v tomto případěbežely na stejném stroji, žadný paket se neztratil. Log serveru pak vypadá takto: 06:40:49 bob udptool[2241]: Connection from :32788, bob - access granted 06:40:54 bob udptool[2241]: ACK from : :40:55 bob udptool[2241]: ACK from : :40:56 bob udptool[2241]: Client :32788 disconnected Ukažme si, jak vypadá výstup aplikace na typické asymetrickésítí -vtomtopřípadě ADSL [Client -> Server] Sent packets: 281 Recv packets: 279 Lost packets: 2 Pckt loss : 0.71 % Duplicated : 0 Out of order: 0 Jitter : 443 usec Avg delay : usec Avg ping : usec Duration : s Transfered : 271 kb 29

40 3.1. USERADD KAPITOLA 3. POUŽITÍ Speed : kbs (69326 Bs) [Server -> Client] Sent packets: 281 Recv packets: 138 Lost packets: 143 Pckt loss : % Duplicated : 0 Out of order: 0 Jitter : usec Avg delay : usec Avg ping : usec Duration : s Transfered : 133 kb Speed : kbs (26582 Bs) Posilam FIN ACK Vidíme, že na cestě server - klient se ztratilo 50 % paketů apřenosová rychlost byla 26 kb/s, což je 208kb/s, přičemž teoretická maximální rychlost linky byla 256kb/s. 3.1 useradd Součástí aplikacejenástroj useradd, kterýsloužíkpřidávání uživatelů. [bob@localhost useradd]$./useradd Usage useradd USER [filename] Aplikace jako paremetry přijímájméno uživatele, kterého přidáváme a cestu k souboru shesly. useradd nekontroluje již zapsanéuživatele, případné duplicity řešíuživatel. Jde 30

41 3.2. TOOL.SH - UKÁZKOVÝ SKRIPT KAPITOLA 3. POUŽITÍ oobyčejný textovýsoubor,kterýjemožno editovat v libovolném editoru a uživatele odstranit. Nástroj beží pod Linuxem i Windows. 3.2 tool.sh - ukázkový skript Jak již bylozmíněno v úvodu, byla aplikace navržena tak, aby se klient dal používat v uživatelských skriptech. #!/bin/sh./udptool -c $1 -p $2 -a bob -x threepo -b $3 -t 2 -u grep Lost Uvedený skript tool.sh spust me s parametry Klient se připojí na IP adresu , port a bude posílat na server datový tok o rychlosti bajtů za sekundu. Příkaz grep zajistí, že se nám vypíše pouze řádek se ztracenými pakety. [bob@localhost src]$./tool.sh Lost packets: 15 Pckt loss : % [bob@localhost src]$ 31

42 Kapitola 4 Kompilace 4.1 Linux Pro zkompilováni aplikace ze zdrojových kódů potřebujeme následující software: autoconf automake gcc Aplikace vyžaduje knihovnu libpthread.so, kterájeovšem součástí drtivévětšiny distribucí. Nejdřívejetřeba spustit skript configure apotéjižstačíjenmake popřípadě make all. Výsledné spusstilený binární souborudptool se nachází vadresáři src. 32

43 4.2. WINDOWS KAPITOLA 4. KOMPILACE 4.2 Windows Pro kompilaci ze zdrojových kódů potřebujeme balík nástrojů MinGW - Minimalist GNU for Windows( který obsahuje všechny potřebnénástroje (čili ekvivalenty výše uvedených linuxových nástrojů) a knihovny. Úvodní krok je stejný - v konzoli MSYS spustíme configure. Nyníjepotřeba v soubotu src/makefile nahradit odkaz na knihovnu pthread (řetězec -lpthread) odkazem na knihovnu WinSock2 (-lws2 32). A nyní jižopět stačí make. 33

44 Kapitola 5 Závěr Při implementaci software, který bylcílem diplomové práce, docházelo k spřesňování požadavků. Výhodou jsou jasné požadavky a tím i mantinely, ve kterých jsem se pohyboval. Nevýhodou pak složitějšípřídávání nové funkčnosti, se kterou nebylo v návrhu od počátku počítáno. Většina požadavků bylasplněna, ale výsledky budou zřejméaž po delších zkušenostech zadavatele. Vytvořený software není naprostou novinkou, nebot vznikl na základě nespokojenosti s jinými aplikacemi, jejichž dobré vlastnosti měl převzít apřídat další, kterými v té doběexistující aplikace nedisponovaly. Počítám s tím, že při používání vyplynou dalšípožadavky a rád tuto aplikaci upravím tak, aby dál dobře sloužila svému účelu. 34

45 Literatura [1] User datagram protocol. Datagram Protocol. [2] Winsock reference. [3] sys/socket.h - internet protocol family /xns/syssocket.h.html, [4] Gnu lesser general public license [5] Mark Gates, Ajay Tirumala, J. D. K. G. Iperf user docs php, [6] Mogul, J., and Deering, S. Path mtu discovery. RFC 1191 (1990). [7] Postel, J. User datagram protocol. RFC 768 (1980). [8] Rivest, R. The md5 message-digest algorithm. RFC [9] Sollins, K. The tftp protocol (revision 2). RFC 1350 (1992). [10] Srisuresh, P., and Egevang, K. Traditional ip network address translator (traditional nat). RFC 3022 (1991). [11] Stevens, W. R. UNIX Network Programming: Networking APIs Sockets and XTI, vol. 1. Prentice Hall;,

46 Příloha A CD s aplikací Ktéto práci je přiloženo CD, na kterém jsou uloženy zdrojové kódy, manuál a verze aplikace pro všechny podporované systémy - Windows řady NT (NT, 2000, XP) a Linux. bin win32 linux src data dip bin zkompilované spustitelnésoubory win32 linux src zdrojové kódy data soubory pro otestování reprezentativních datových toků dip tato práce ve formátu PDF I

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF IP vrstva Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF UDP TCP Transportní vrstva ICMP IGMP OSPF Síťová vrstva ARP IP RARP Ethernet driver Vrstva síťového rozhraní 1 IP vrstva Do IP vrstvy náležejí další

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

4. Síťová vrstva. Síťová vrstva. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si funkci síťové vrstvy a jednotlivé protokoly.

4. Síťová vrstva. Síťová vrstva. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si funkci síťové vrstvy a jednotlivé protokoly. 4. Síťová vrstva Studijní cíl Představíme si funkci síťové vrstvy a jednotlivé protokoly. Doba nutná k nastudování 3 hodiny Síťová vrstva Síťová vrstva zajišťuje směrování a poskytuje jediné síťové rozhraní

Více

Počítačové sítě Systém pro přenos souborů protokol FTP

Počítačové sítě Systém pro přenos souborů protokol FTP Počítačové sítě Systém pro přenos souborů protokol FTP Autorizovaný přístup do souborového systému hostitelského uzlu Informace o obsahu souborového systému hostitelského uzlu Obousměrný přenos kopií souborů

Více

Analýza aplikačních protokolů

Analýza aplikačních protokolů ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická PROJEKT Č. 4 Analýza aplikačních protokolů Vypracoval: V rámci předmětu: Jan HLÍDEK Komunikace v datových sítích (X32KDS) Měřeno: 28. 4. 2008

Více

Analýza protokolů rodiny TCP/IP, NAT

Analýza protokolů rodiny TCP/IP, NAT Analýza protokolů rodiny TCP/IP, NAT Počítačové sítě 7. cvičení ARP Address Resolution Protocol mapování IP adres na MAC adresy Při potřebě zjistit MAC adresu k IP adrese se generuje ARP request (broadcast),

Více

6. Transportní vrstva

6. Transportní vrstva 6. Transportní vrstva Studijní cíl Představíme si funkci transportní vrstvy. Podrobněji popíšeme protokoly TCP a UDP. Doba nutná k nastudování 3 hodiny Transportní vrstva Transportní vrstva odpovídá v

Více

Přednáška 3. Opakovače,směrovače, mosty a síťové brány

Přednáška 3. Opakovače,směrovače, mosty a síťové brány Přednáška 3 Opakovače,směrovače, mosty a síťové brány Server a Client Server je obecné označení pro proces nebo systém, který poskytuje nějakou službu. Služba je obvykle realizována některým aplikačním

Více

PROTOKOL RDS. Dotaz na stav stanice " STAV CNC Informace o stavu CNC a radiové stanice FORMÁT JEDNOTLIVÝCH ZPRÁV

PROTOKOL RDS. Dotaz na stav stanice  STAV CNC Informace o stavu CNC a radiové stanice FORMÁT JEDNOTLIVÝCH ZPRÁV PROTOKOL RDS Rádiový modem komunikuje s připojeným zařízením po sériové lince. Standardní protokol komunikace je jednoduchý. Data, která mají být sítí přenesena, je třeba opatřit hlavičkou a kontrolním

Více

Zajištění kvality služby (QoS) v operačním systému Windows

Zajištění kvality služby (QoS) v operačním systému Windows VŠB TU Ostrava Směrované a přepínané sítě Zajištění kvality služby (QoS) v operačním systému Windows Teoretické možnosti aplikace mechanismů zabezpečení kvality služby (QoS) v nových verzích MS Windows

Více

JAK ČÍST TUTO PREZENTACI

JAK ČÍST TUTO PREZENTACI PŘENOSOVÉ METODY V IP SÍTÍCH, S DŮRAZEM NA BEZPEČNOSTNÍ TECHNOLOGIE David Prachař, ABBAS a.s. JAK ČÍST TUTO PREZENTACI UŽIVATEL TECHNIK SPECIALISTA VÝZNAM POUŽÍVANÝCH TERMÍNŮ TERMÍN SWITCH ROUTER OSI

Více

Y36PSI Protokolová rodina TCP/IP

Y36PSI Protokolová rodina TCP/IP Y36PSI Protokolová rodina TCP/IP Jan Kubr - Y36PSI 1 11/2008 Program protokol síťové vrstvy IP podpůrné protokoly ICMP RARP, BOOTP, DHCP protokoly transportní vrstvy UDP TCP Jan Kubr - Y36PSI 2 11/2008

Více

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

TCP-Wedge ZDARMA. Přidává podporu TCP/IP: Sběr dat z adres portu IP na libovolné síti TCP/IP - ethernet / internet.

TCP-Wedge ZDARMA. Přidává podporu TCP/IP: Sběr dat z adres portu IP na libovolné síti TCP/IP - ethernet / internet. Katalogový list www.abetec.cz Software WinWedge Professional pro sběr dat 15-1003E Obj. číslo: 106001285 Výrobce: Mark-10 Corporation Anotace Přenáší data do libovolného programu Windows. Poskytuje plný

Více

Inovace bakalářského studijního oboru Aplikovaná chemie

Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz CZ.1.07/2.2.00/15.0247 Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. Síťové vrstvy a protokoly Síťové vrstvy Síťové vrstvy Fyzická

Více

TFTP Trivial File Transfer Protocol

TFTP Trivial File Transfer Protocol TFTP Trivial File Transfer Protocol Jan Krňoul KIV / PSI TFTP Jednoduchý protokol pro přenos souborů 1980 IEN 133 1981 RFC 783 1992 RFC 1350 1998 RFC 1785, 2090, 2347, 2348, 2349 Noel Chiappa, Bob Baldvin,

Více

Počítačové sítě II. 12. IP: pomocné protokoly (ICMP, ARP, DHCP) Miroslav Spousta, 2006 <qiq@ucw.cz>, http://www.ucw.cz/~qiq/vsfs/

Počítačové sítě II. 12. IP: pomocné protokoly (ICMP, ARP, DHCP) Miroslav Spousta, 2006 <qiq@ucw.cz>, http://www.ucw.cz/~qiq/vsfs/ Počítačové sítě II 12. IP: pomocné protokoly (ICMP, ARP, DHCP) Miroslav Spousta, 2006 , http://www.ucw.cz/~qiq/vsfs/ 1 ICMP Internet Control Message Protocol doslova protokol řídicích hlášení

Více

MODELY POČÍTAČOVÝCH SÍTÍ

MODELY POČÍTAČOVÝCH SÍTÍ MODELY POČÍTAČOVÝCH SÍTÍ V počátcích budování počítačových sítí byly sítě a technické prostředky těchto sítí od jednotlivých výrobců vzájemně nekompatibilní. Vznikla tedy potřeba vytvoření jednotného síťového

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Identifikátor materiálu: ICT-3-03

Identifikátor materiálu: ICT-3-03 Identifikátor materiálu: ICT-3-03 Předmět Téma sady Informační a komunikační technologie Téma materiálu TCP/IP Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí architekturu TCP/IP. Druh

Více

Počítačové sítě Transportní vrstva. Transportní vrstva

Počítačové sítě Transportní vrstva. Transportní vrstva UDP TCP Rozhraní služeb Rozhraní protokolů 17 6 ICMP IGMP OSPF 01 02 89 SAP Síťová vrstva IP Rozhraní přístupu k I/O ARP Ethernet driver RARP Vrstva síťového rozhraní 1 DATA Systém A Uživatel transportní

Více

SSL Secure Sockets Layer

SSL Secure Sockets Layer SSL Secure Sockets Layer internetové aplikační protokoly jsou nezabezpečené SSL vkládá do architektury šifrující vrstvu aplikační (HTTP, IMAP,...) SSL transportní (TCP, UDP) síťová (IP) SSL poskytuje zabezpečenou

Více

Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík

Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík SŠ IT a SP, Brno frantisek.kovarik@sspbrno.cz Model TCP/IP - IP vrstva 2 Obsah 3. bloku IPv4 záhlaví, IP adresy ARP/RARP, ICMP, IGMP,

Více

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Real Time programování v LabView. Ing. Martin Bušek, Ph.D. Real Time programování v LabView Ing. Martin Bušek, Ph.D. Úvod - související komponenty LabVIEW development Konkrétní RT hardware - cíl Použití LabVIEW RT module - Pharlap ETS, RTX, VxWorks Možnost užití

Více

ACASYS-KS Komunikace v systému ACASYS

ACASYS-KS Komunikace v systému ACASYS Komunikace v systému ACASYS Programátorská příručka Verze 1.05 acasys-ks_ms_cz_105 AMiT, spol. s r. o. nepřejímá žádné záruky, pokud se týče obsahu této publikace a vyhrazuje si právo měnit obsah dokumentace

Více

Uživatelský modul. DF1 Ethernet

Uživatelský modul. DF1 Ethernet Uživatelský modul DF1 Ethernet APLIKAC NÍ PR ÍRUC KA POUŽITÉ SYMBOLY Použité symboly Nebezpečí Důležité upozornění, jež může mít vliv na bezpečí osoby či funkčnost přístroje. Pozor Upozornění na možné

Více

Konfigurace DHCP serveru a překladu adres na směrovačích Cisco

Konfigurace DHCP serveru a překladu adres na směrovačích Cisco ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická PROJEKT Č. 5 Konfigurace DHCP serveru a překladu adres na směrovačích Cisco Vypracoval: V rámci předmětu: Jan HLÍDEK Komunikace v datových

Více

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy TÉMATICKÝ OKRUH Počítače, sítě a operační systémy Číslo otázky : 08. Otázka : Protokolová rodina TCP/IP. Vztah k referenčnímu modelu ISO-OSI. Obsah : 1 Úvod 2 TCP/IP vs ISO-OSI 3 IP - Internet Protocol

Více

SEMESTRÁLNÍ PROJEKT Y38PRO

SEMESTRÁLNÍ PROJEKT Y38PRO SEMESTRÁLNÍ PROJEKT Y38PRO Závěrečná zpráva Jiří Pomije Cíl projektu Propojení regulátoru s PC a vytvoření knihovny funkcí pro práci s regulátorem TLK43. Regulátor TLK43 je mikroprocesorový regulátor s

Více

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP. Protokol TELNET Schéma funkčních modulů komunikace protokolem TELNET Telnet klient Telnet server login shell terminal driver Jádro TCP/IP TCP/IP Jádro Pseudo terminal driver Uživatel u terminálu TCP spojení

Více

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP TCP/IP.

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP TCP/IP. Protokol TELNET Schéma funkčních modulů komunikace protokolem TELNET Telnet klient Telnet server login shell terminal driver Operační systém TCP/IP TCP spojení TCP/IP Pseudo terminal driver Operační systém

Více

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly. 7. Aplikační vrstva Studijní cíl Představíme si funkci aplikační vrstvy a jednotlivé protokoly. Doba nutná k nastudování 2 hodiny Aplikační vrstva Účelem aplikační vrstvy je poskytnout aplikačním procesům

Více

CCNA 2/10 Další funkce TCP/IP Aleš Mareček Jaroslav Matějíček 1

CCNA 2/10 Další funkce TCP/IP Aleš Mareček Jaroslav Matějíček 1 CCNA 2/10 Další funkce TCP/IP Aleš Mareček Jaroslav Matějíček xmarec07@stud.fit.vutbr.cz xmatej33@stud.fit.vutbr.cz 1 Obsah: 1. TCP... 3 1.1 Hlavička TCP segmentu... 3 1.2 Přenos dat a potvrzovací proces...

Více

Příklad aplikace Klient/Server s Boss/Worker modelem (informativní)

Příklad aplikace Klient/Server s Boss/Worker modelem (informativní) Příklad aplikace Klient/Server s Boss/Worker modelem (informativní) Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze A0B36PR2 Programování 2 Jan Faigl, 2015 A0B36PR2

Více

Síťové programování. Berkeley sockets Zdroje. Wikipedia Google Jan Kubr

Síťové programování. Berkeley sockets Zdroje. Wikipedia Google Jan Kubr Síťové programování Berkeley sockets Zdroje Wikipedia Google Jan Kubr Co víte o souborech a operacích s nimi Deskriptor (fd) popisovač, číslo Zápis (write, fwrite, ) - deskriptor, data Čtení (read, fread,

Více

1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS

1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS 1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS Pro přístup do administrace služby GTS Bezpečný Internet používejte zákaznický WebCare GTS Czech, který je přístupny přes webové

Více

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům. Aplikační vrstva http-protokol, díky kterému je možné zobrazovat webové stránky. -Protokol dokáže přenášet jakékoliv soubory (stránky, obrázky, ) a používá se také k různým dalším službám na internetu

Více

Měřicí přístroje pro testování metalických vedení

Měřicí přístroje pro testování metalických vedení Měřicí přístroje pro testování metalických vedení AXS -200/850 AXS 200/850 je příruční měřící zařízení určené především pro měření metalických vedení. Mezi kmenové funkce patří především testy síťové vrstvy,

Více

Instrukce pro vzdálené připojení do učebny 39d

Instrukce pro vzdálené připojení do učebny 39d Instrukce pro vzdálené připojení do učebny 39d Každá skupina má k dispozici jedno sdílené připojení, prostřednictvím kterého se může vzdáleně připojit do učebny 39d a pracovat na svých semestrálních projektech

Více

Zjednodusene zaklady ARP,TCP/IP Jiri Kubina jiri.kubina@osu.cz Ver. 1.0 leden 2006

Zjednodusene zaklady ARP,TCP/IP Jiri Kubina jiri.kubina@osu.cz Ver. 1.0 leden 2006 Zjednodusene zaklady ARP,TCP/IP Jiri Kubina Ver. 1.0 leden 2006 Obsah 1.ARP - zjednoduseny popis metody prekladu IP na MAC 2.Strucny prehled IP protokolu 3.Hlavicka TCP 4.Navazani spojeni - TCP 5.Datova

Více

Uživatelský manuál. Format Convert V3.1

Uživatelský manuál. Format Convert V3.1 Uživatelský manuál Format Convert V3.1 Obsah Obsah 1 Kapitola 1 - Popis softwaru Systémové požadavky 2 Podporovaná zařízení a formáty 2 Odinstalace 3 Kapitola 2 - Ovládání Výběr formátu souboru 4 Výběr

Více

Možnosti IPv6 NAT. Lukáš Krupčík, Martin Hruška KRU0052, HRU0079. Konfigurace... 3 Statické NAT-PT Ověření zapojení... 7

Možnosti IPv6 NAT. Lukáš Krupčík, Martin Hruška KRU0052, HRU0079. Konfigurace... 3 Statické NAT-PT Ověření zapojení... 7 Možnosti IPv6 NAT Lukáš Krupčík, Martin Hruška KRU0052, HRU0079 Abstrakt: Tento dokument ukazuje možné řešení problematiky IPv6 NAT. Součástí je návrh topologií zapojení a praktické otestovaní. Kontrola

Více

Obsah PODĚKOVÁNÍ...11

Obsah PODĚKOVÁNÍ...11 PODĚKOVÁNÍ..........................................11 ÚVOD.................................................13 Cíle knihy............................................. 13 Koncepce a přístup.....................................

Více

Administrace služby - GTS Network Storage

Administrace služby - GTS Network Storage 1. Návod k ovládání programu Cisco VPN Client (IP SECový tunel pro přístup GTS Network Storage) Program Cisco VPN client lze bezplatně stáhnout z webových stránek GTS pod odkazem: Software ke stažení http://www.gts.cz/cs/zakaznicka-podpora/technicka-podpora/gtspremium-net-vpn-client/software-ke-stazeni.shtml

Více

Počítačové sítě II. 14. Transportní vrstva: TCP a UDP. Miroslav Spousta, 2005

Počítačové sítě II. 14. Transportní vrstva: TCP a UDP. Miroslav Spousta, 2005 Počítačové sítě II 14. Transportní vrstva: TCP a UDP Miroslav Spousta, 2005 1 Transportní vrstva přítomná v ISO/OSI i TCP/IP zodpovědná za rozšíření vlastností, které požadují vyšší vrstvy (aplikační)

Více

Popis programu EnicomD

Popis programu EnicomD Popis programu EnicomD Pomocí programu ENICOM D lze konfigurovat výstup RS 232 přijímačů Rx1 DIN/DATA a Rx1 DATA (přidělovat textové řetězce k jednotlivým vysílačům resp. tlačítkům a nastavovat parametry

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Cisco IOS TCL skriptování využití SMTP knihovny

Cisco IOS TCL skriptování využití SMTP knihovny Cisco IOS TCL skriptování využití SMTP knihovny Bc. Petr Hanták (han377), Bc. Vít Klimenko (kli307) Abstrakt: Úkolem tohoto projektu bylo zmapovat SMTP knihovnu pro odesílání emailových zpráv z Cisco směrovačů

Více

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat.

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat. Počítačové sítě Počítačová síť je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat. Základní prvky sítě Počítače se síťovým adaptérem pracovní

Více

Statistiky sledování televize

Statistiky sledování televize Statistiky sledování televize Semestrální práce (36SEM) ZS 2005/2006 Martin Fiala FEL ČVUT 5.ročník - 2 - Obsah 1. Úvod......4 1.1 Digitální vysílání......4 1.2 Převod přijímaného signálu na lokální síť...4

Více

Komunikační protokol MODBUS RTU v displejích TDS

Komunikační protokol MODBUS RTU v displejích TDS Komunikační protokol MODBUS RTU v displejích TDS Kompletní popis protokolu 13. prosince 2018 w w w. p a p o u c h. c o m MODBUS RTU v TDS M O DBUS RTU v TDS Katalogový list Vytvořen: 6.4.2009 Poslední

Více

Ověření možností generování provozu na platformě MikroTik + srovnání s Cisco a Open Source řešeními

Ověření možností generování provozu na platformě MikroTik + srovnání s Cisco a Open Source řešeními Ověření možností generování provozu na platformě MikroTik + srovnání s Cisco a Open Source řešeními Bc. Josef Hrabal - HRA0031 Bc. Kamil Malík MAL0018 Abstrakt: Tento dokument, se zabývá ověřením a vyzkoušením

Více

CCNA I. 3. Connecting to the Network. CCNA I.: 3. Connecting to the network

CCNA I. 3. Connecting to the Network. CCNA I.: 3. Connecting to the network CCNA I. 3. Connecting to the Network Základní pojmy Konvergence sítí (telefony, TV, PC, GSM) SOHO (Small Office and Home Office) nabídka a prodej produktů evidence objednávek komunikace se zákazníky zábava

Více

Vlastnosti podporované transportním protokolem TCP:

Vlastnosti podporované transportním protokolem TCP: Transportní vrstva Transportní vrstva odpovídá v podstatě transportní vrstvě OSI, protože poskytuje mechanismus pro koncový přenos dat mezi dvěma stanicemi. Původně se proto tato vrstva označovala jako

Více

PŘÍRUČKA SÍŤOVÝCH APLIKACÍ

PŘÍRUČKA SÍŤOVÝCH APLIKACÍ PŘÍRUČKA SÍŤOVÝCH APLIKACÍ Uložení protokolu tisku na síť Verze 0 CZE Definice poznámek V celé Příručce uživatele používáme následující ikony: Poznámky uvádějí, jak reagovat na situaci, která může nastat,

Více

Siemens (3V) Ericsson (5V) Alcatel (3.6V) C10, C35, C45, C55 T10s 501 S10, S25, S35 T20e (3V) M35, M50, MT50 T18s A60

Siemens (3V) Ericsson (5V) Alcatel (3.6V) C10, C35, C45, C55 T10s 501 S10, S25, S35 T20e (3V) M35, M50, MT50 T18s A60 1. Popis zařízení UPS monitor UPS monitor je jednoduché zařízení sloužící ke sledování stavu UPS (Uninterruptible Power Supply) záložních napájecích zdroj ů. Zařízení má vestavěný generátor času a kalendá

Více

Semestrální projekt do předmětu SPS

Semestrální projekt do předmětu SPS Semestrální projekt do předmětu SPS Název projektu: Instalace a provoz protokolu IPv6 v nových verzích MS Windows (XP). Ověření proti routerům Cisco a Linux. Cíl projektu: Autoři: Cílem tohoto projektu

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence

Více

Komunikační protokol MODBUS RTU v displejích TDS

Komunikační protokol MODBUS RTU v displejích TDS Komunikační protokol MODBUS RTU v displejích TDS Kompletní popis protokolu 25. července 2012 w w w. p a p o u c h. c o m MODBUS RTU v TDS M O DBUS RTU v TDS Katalogový list Vytvořen: 6.4.2009 Poslední

Více

ETH2CAN CAN firmware

ETH2CAN CAN firmware ETH2CAN CAN firmware Obsah: ZÁKLADNÍ POPIS 2 KOMUNIKACE PO ROZHRANÍ ETHERNET 3 Paket UNKNOWN_PACKET_ID 4 Paket RUN 4 Paket MODE 5 Paket RESET 5 Paket SETTINGS 6 Paket PACKET_FULL_SETTINGS 6 Paket FIRMWARE

Více

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ 1. Dědičnost v OOP umožňuje: a) dědit vlastnosti od jiných tříd a dále je rozšiřovat b) dědit vlastnosti od jiných tříd, rozšiřovat lze jen atributy

Více

Komunikační sokety. teorie a implementace v C#, C++ a Javě. Aleš Keprt Katedra informatiky UP duben 2006, revize květen 2007

Komunikační sokety. teorie a implementace v C#, C++ a Javě. Aleš Keprt Katedra informatiky UP duben 2006, revize květen 2007 Komunikační sokety teorie a implementace v C#, C++ a Javě Aleš Keprt Katedra informatiky UP duben 2006, revize květen 2007 Hrajeme proti sobě ale jak na to? Komunikace mezi procesy na jednom počítači Roury

Více

WrapSix aneb nebojme se NAT64. Michal Zima.

WrapSix aneb nebojme se NAT64. Michal Zima. WrapSix aneb nebojme se NAT64 Michal Zima zima@wrapsix.cz EurOpen, 14. května 2013 NAT64 je jedním z mnoha přechodových mechanismů pro IPv6 nahrazuje koncept NAT-PT hlavní RFC6144 6147 snaží se obejít

Více

Komunikační protokoly počítačů a počítačových sítí

Komunikační protokoly počítačů a počítačových sítí Komunikační protokoly počítačů a počítačových sítí Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1138_Komunikační protokoly počítačů a počítačových sítí_pwp Název školy: Číslo a název projektu:

Více

Hypertext Transfer Protocol (HTTP/1.1 RFC 2616) Počítačové sítě Pavel Šinták

Hypertext Transfer Protocol (HTTP/1.1 RFC 2616) Počítačové sítě Pavel Šinták Hypertext Transfer Protocol (HTTP/1.1 RFC 2616) Počítačové sítě Pavel Šinták 25.4.2005 Obsah Úvod Vrstvy podle TCP/IP Požadavek / Odpověď Metody požadavku Hlavičky Kódy odpovědi Ukázka 25.4.2005 Pavel

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004 Dokumentace k projektu č. 2 do IZP Iterační výpočty 24. listopadu 2004 Autor: Kamil Dudka, xdudka00@stud.fit.vutbr.cz Fakulta Informačních Technologií Vysoké Učení Technické v Brně Obsah 1. Úvod...3 2.

Více

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP Počítačové sítě Lekce 4: Síťová architektura TCP/IP Co je TCP/IP? V úzkém slova smyslu je to sada protokolů používaných v počítačích sítích s počítači na bázi Unixu: TCP = Transmission Control Protocol

Více

L2 multicast v doméně s přepínači CISCO

L2 multicast v doméně s přepínači CISCO L2 multicast v doméně s přepínači CISCO Vojtěch Kotík (KOT0084) Abstrakt: Tento dokument se zabývá šířením L2 multicastu v doméně složené z přepínačů Cisco. Obsahuje stručný popis technologie a jejích

Více

Procesy a vlákna (Processes and Threads)

Procesy a vlákna (Processes and Threads) ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna (Processes and Threads) Správa procesů a vláken České vysoké učení technické Fakulta elektrotechnická 2012 Použitá literatura [1] Stallings, W.: Operating

Více

TCP protokolu. Ing. Karel Tomala, Ing. Petr Koudelka, Ph.D. Oddělení kontroly datových služeb. Sítě FTTx v roce 2018, Brno, 08/03/2018

TCP protokolu. Ing. Karel Tomala, Ing. Petr Koudelka, Ph.D. Oddělení kontroly datových služeb. Sítě FTTx v roce 2018, Brno, 08/03/2018 Měření datových parametrů sítí pomocí TCP protokolu Ing. Karel Tomala, Ing. Petr Koudelka, Ph.D. Oddělení kontroly datových služeb Sítě FTTx v roce 2018, Brno, 08/03/2018 Obsah Nařízení Evropského parlamentu

Více

TC-502L TC-60xL. Tenký klient

TC-502L TC-60xL. Tenký klient TC-502L TC-60xL Tenký klient Popis přístroje Tenký klient TC-502L s kompletní podporou pro připojení do systémů Windows 7, Vista, Windows 2008, Windows 2003, Windows XP Pro, Linux servery. TC-604 navíc

Více

Model ISO - OSI. 5 až 7 - uživatelská část, 1 až 3 - síťová část

Model ISO - OSI. 5 až 7 - uživatelská část, 1 až 3 - síťová část Zatímco první čtyři vrstvy jsou poměrně exaktně definovány, zbylé tři vrstvy nemusí být striktně použity tak, jak jsou definovány podle tohoto modelu. (Příkladem, kdy nejsou v modelu použity všechny vrstvy,

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí, 9. Sítě MS Windows MS Windows existoval ve 2 vývojových větvích 9x a NT, tyto později byly sloučeny. V současnosti existují aktuální verze Windows XP a Windows 2003 Server. (Očekává se vydání Windows Vista)

Více

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný Load Balancer RNDr. Václav Petříček Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný 1.4.2005 Co je Load Balancer Nástroj pro zvýšení výkonnosti serverů Virtuální server skrývající farmu skutečných

Více

VDDMAIL by ESCAD, Corp. (Součást IWSE.NET Services by ESCAD, Corp.)

VDDMAIL by ESCAD, Corp. (Součást IWSE.NET Services by ESCAD, Corp.) 1 z 10 VDDMAIL by ESCAD, Corp. (Součást IWSE.NET Services by ESCAD, Corp.) Obsah: A. Úvod B. Popis aplikace C. Instalace D. První spuštění E. Manuál programu VDDMAIL 1. Záložka DDE Server DDE Parametry

Více

QoS na L2/L3/L4. Brno, 28.05.2015 Ing. Martin Ťupa

QoS na L2/L3/L4. Brno, 28.05.2015 Ing. Martin Ťupa QoS na L2/L3/L4 Brno, 28.05.2015 Ing. Martin Ťupa Měření kvality služeb Kolik protlačíte přes aktivní prvky? Kde jsou limitní hodnoty ETH spoje? Central Office Data Hlas Video House Multiservice switch

Více

DHCP. Martin Jiřička,

DHCP. Martin Jiřička, DHCP Dynamic Host Configuration Protocol Historie Internet System Consortium odvozeno z BOOTP, rozšiřuje ho nástup s rozvojem sítí rozdíly v konfiguraci přidělování IP BOOTP statické DHCP dynamické (nejen)

Více

Telekomunikační sítě Protokolové modely

Telekomunikační sítě Protokolové modely Fakulta elektrotechniky a informatiky, VŠB-TU Ostrava Telekomunikační sítě Protokolové modely Datum: 14.2.2012 Autor: Ing. Petr Machník, Ph.D. Kontakt: petr.machnik@vsb.cz Předmět: Telekomunikační sítě

Více

DŮLEŽITÉ INFORMACE, PROSÍM ČTĚTE!

DŮLEŽITÉ INFORMACE, PROSÍM ČTĚTE! DŮLEŽITÉ INFORMACE, PROSÍM ČTĚTE! Tento dodatek k uživatelské příručce obsahuje postup nastavení USB portu pro ADSL modem CellPipe 22A-BX-CZ Verze 1.0 01/2004 Úvod Vážený zákazníku, tento text popisuje

Více

Aktivní prvky: brány a směrovače. směrovače

Aktivní prvky: brány a směrovače. směrovače Aktivní prvky: brány a směrovače směrovače 1 Předmět: Téma hodiny: Třída: Počítačové sítě a systémy Aktivní prvky brány a směrovače 3. a 4. ročník SŠ technické Autor: Ing. Fales Alexandr Software: SMART

Více

Quido - Telnet. Popis konfigurace modulů Quido protokolem Telnet. 3. srpna 2007 w w w. p a p o u c h. c o m

Quido - Telnet. Popis konfigurace modulů Quido protokolem Telnet. 3. srpna 2007 w w w. p a p o u c h. c o m Popis konfigurace modulů Quido protokolem Telnet 3. srpna 2007 w w w. p a p o u c h. c o m Q uido - Telnet Katalogový list Vytvořen: 3.8.2007 Poslední aktualizace: 3.8 2007 13:08 Počet stran: 12 2007 Adresa:

Více

Programování síťové služby Sniffer OSPFv2 a OSPFv3

Programování síťové služby Sniffer OSPFv2 a OSPFv3 Dokumentace k projektu z předmětu ISA Programování síťové služby Sniffer OSPFv2 a OSPFv3 Dne 27. listopadu 2011 zpracovala: Kateřina Šímová, xsimov01@stud.fit.vutbr.cz Fakulta informačních technologií

Více

Instalace a konfigurace web serveru. WA1 Martin Klíma

Instalace a konfigurace web serveru. WA1 Martin Klíma Instalace a konfigurace web serveru WA1 Martin Klíma Instalace a konfigurace Apache 1. Instalace stáhnout z http://httpd.apache.org/ nebo nějaký balíček předkonfigurovaného apache, např. WinLamp http://sourceforge.net/projects/winlamp/

Více

1 Správce licencí Správce licencí Správce licencí Start > Všechny programy > IDEA StatiCa > Správce licencí Soubor > Správce licencí Licence

1 Správce licencí Správce licencí Správce licencí Start > Všechny programy > IDEA StatiCa > Správce licencí Soubor > Správce licencí Licence 1 Správce licencí Programy IDEA jsou chráněny proti neoprávněnému použití. Pro běh programu je vyžadována platná licence. Upozornění: Lokální licence na pracovní stanici a síťová licence Eleckey jsou softwarové

Více

Inovace bakalářského studijního oboru Aplikovaná chemie

Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz CZ.1.07/2.2.00/15.0247 Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. Síťové vrstvy a protokoly Síťové vrstvy Fyzická vrstva Lan,

Více

Základní komunikační operace

Základní komunikační operace Základní komunikační operace Úvod Operace send a recieve Blokující a neblokující posílání zpráv Blokující posílání zpráv Neblokující posílání zpráv One-to-all broadcast/all-to-one reduction All-to-all

Více

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání

Více

TC-502L. Tenký klient

TC-502L. Tenký klient TC-502L Tenký klient Popis přístroje Tenký klient s kompletní podporou pro připojení do systémů Windows 7, Vista, Windows 2008, Windows 2003, Windows XP Pro, Linux servery. Disponuje 1x rozhraním LAN 10/100,

Více

Connection Manager - Uživatelská příručka

Connection Manager - Uživatelská příručka Connection Manager - Uživatelská příručka 1.0. vydání 2 Obsah Aplikace Správce připojení 3 Začínáme 3 Spuštění Správce připojení 3 Zobrazení stavu aktuálního připojení 3 Připojení k internetu 3 Připojení

Více

Administrace služby IP komplet premium

Administrace služby IP komplet premium 1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare T-Mobile Czech Republic Pro přístup do administrace služby Bezpečný Internet používejte zákaznický WebCare T-Mobile Czech Republic,

Více

Definice pojmů a přehled rozsahu služby

Definice pojmů a přehled rozsahu služby PŘÍLOHA 1 Definice pojmů a přehled rozsahu služby SMLOUVY o přístupu k infrastruktuře sítě společnosti využívající technologie Carrier IP Stream mezi společnostmi a Poskytovatelem 1. Definice základních

Více

BEZTŘÍDNÍ SMĚROVÁNÍ, RIP V2 CLASSLESS ROUTING, RIP V2

BEZTŘÍDNÍ SMĚROVÁNÍ, RIP V2 CLASSLESS ROUTING, RIP V2 FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS BEZTŘÍDNÍ SMĚROVÁNÍ, RIP V2 CLASSLESS ROUTING, RIP V2 JIŘÍ KAZÍK JAROSLAV

Více

SIMATIC S IT. Micro Automation. Promoters Meeting October Představení CP IT SPIDER CONTROL TELESERVIS. TESTOVACÍ server.

SIMATIC S IT. Micro Automation. Promoters Meeting October Představení CP IT SPIDER CONTROL TELESERVIS. TESTOVACÍ server. SIMATIC S7-200 243-1 2005, Page 1 Program workshopu Začátek: 9.00 GPRS - aplikace pro GPRS, základy - jak nastavit vzdálenou stanici, knihovna instrukcí pro GPRS - jak nastavit server (SINAUT MICRO SC,

Více

Administrace služby IP komplet premium

Administrace služby IP komplet premium 1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare T-Mobile Czech Republic Pro přístup do administrace služby Bezpečný Internet používejte zákaznický WebCare T-Mobile Czech Republic,

Více

STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST. Obor SOČ: 18. Informatika. Školní sdílení PC obrazovek. School sharing PC screens

STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST. Obor SOČ: 18. Informatika. Školní sdílení PC obrazovek. School sharing PC screens STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST Obor SOČ: 18. Informatika Školní sdílení PC obrazovek School sharing PC screens Autoři: Vojtěch Průša Škola: Střední průmyslová škola elektrotechnická Havířov Konzultant:

Více

Knihovna EpsnetLib TXV 003 73.01 první vydání září 2012 změny vyhrazeny

Knihovna EpsnetLib TXV 003 73.01 první vydání září 2012 změny vyhrazeny Knihovna EpsnetLib TXV 003 73.01 první vydání září 2012 změny vyhrazeny 1 TXV 003 73.01 Historie změn Datum Vydání Popis změn Září 2012 1 První vydání, popis odpovídá EpsnetLib_v11 OBSAH 1 Úvod...3 2 Datové

Více

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií 1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední

Více