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

Podobné dokumenty
Projekt TPS SIN099. Zadání : Prostudujte, znovu zapojte a dopracujte projekt p. Šafra z TPS2005/06. Configurace Callback a Multilink

Semestrální projekt do předmětu. Technologie počítačových sítí

Počítačové sítě Implementace RM OSI. Počítačové sítě - Vrstva datových spojů 1

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

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

Hot Standby Router Protocol (zajištění vysoké spolehlivosti výchozí brány)

Zabezpečení dat při přenosu

6. Transportní vrstva

VPDN na IPv4 Semestrální projekt TPS 2010

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.

Projekt IEEE 802, normy ISO 8802

EXTRAKT z české technické normy

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

Autentizace uživatele připojeného přes 802.1X k přepínači Cisco Catalyst 2900/3550 pomocí služby RADIUS

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

Nastavení telefonu Sony Ericsson P800

Analýza aplikačních protokolů

TFTP Trivial File Transfer Protocol

VLAN Membership Policy Server a protokol VQP Dynamické přiřazování do VLANů.

Local Interconnect Network - LIN

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

Definice pojmů a přehled rozsahu služby

Protokol S-BUS pro MORSE Popis protokolu

Počítačové siete

Studium protokolu Session Decription Protocol. Jaroslav Vilč

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

Technologie počítačových sítí

Zjednodusene zaklady ARP,TCP/IP Jiri Kubina Ver. 1.0 leden 2006

Y36PSI IPv6. Jan Kubr - 7_IPv6 Jan Kubr 1/29

Počítačové sítě Datový spoj

VLSM Statické směrování

Uživatelský modul. DF1 Ethernet

Projekt VRF LITE. Jiří Otisk, Filip Frank

Počítačové sítě II. 12. IP: pomocné protokoly (ICMP, ARP, DHCP) Miroslav Spousta,

Vlastnosti podporované transportním protokolem TCP:

SEMESTRÁLNÍ PROJEKT Y38PRO

Protokol GLBP. Projekt do předmětu Správa počítačových systémů Radim Poloch (pol380), Jan Prokop (pro266)

SSL Secure Sockets Layer

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

SPINEL. Komunikační protokol. Obecný popis. Verze 1.0

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

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

Y36PSI Protokolová rodina TCP/IP

Uživatelský modul Stunnel

Nastavení telefonu Sony Ericsson T300

Možnosti Multi-Topology Routing v Cisco IOS (ISIS, OSPF, BGP, EIGRP)

Přepínaný Ethernet. Virtuální sítě.

5. Směrování v počítačových sítích a směrovací protokoly

Počítačové sítě Datový spoj

Access Control Lists (ACL)

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

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.

Specifikace rozhraní. Oznamovací povinnost podle zákona č. 307/2013 Sb., ve znění pozdějších předpisů. Martin Falc, SW architekt.

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

Kódování signálu. Problémy při návrhu linkové úrovně. Úvod do počítačových sítí. Linková úroveň

EXTRAKT z technické normy ISO

Pokročilé možnosti DHCP serveru v Cisco IOS. Vladimír Jarotek

3. Linková vrstva. Linková (spojová) vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování

Abychom se v IPv6 adresách lépe orientovali, rozdělíme si je dle způsobu adresování do několika skupin:

VLSM Statické směrování

2N VoiceBlue Next. 2N VoiceBlue Next & Siemens HiPath (series 3000) Propojení pomocí SIP trunku. Quick guide. Version 1.

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

Popis a ověření možností přepínacího modulu WIC- 4ESW pro směrovače Cisco

Analýza protokolů rodiny TCP/IP, NAT

Uživatelský modul. WiFi STA

Počítačové sítě Protokoly, architektura Normalizace architektury otevřených systémů Referenční model OSI standard ISO 7498 r

SMĚROVANÉ A PŘEPÍNANÉ SÍTĚ semestrální projekt. DHCP snooping. Petr Gurecký gur020

Podpora QoS na DSLAM Zyxel IP Expres IES 1000

Základy IOS, Přepínače: Spanning Tree

JAK ČÍST TUTO PREZENTACI

MPLS Penultimate Hop Popping

Principy ATM sítí. Ing. Vladimír Horák Ústav výpočetní techniky Univerzity Karlovy Operační centrum sítě PASNET

Komunikační protokol

Uživatelský modul. Modem Bonding

Nezávislé unicast a multicast topologie s využitím MBGP

IPv6. RNDr. Ing. Vladimir Smotlacha, Ph.D.

3.17 Využívané síťové protokoly

IPZ laboratoře. Analýza komunikace na sběrnici USB L305. Cvičící: Straka Martin, Šimek Václav, Kaštil Jan. Cvičení 2

Protokol UNI pro MORSE

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

Počítačové sítě II. 15. Internet protokol verze 6 Miroslav Spousta, 2006

Komunikační protokol EX Bus. Komunikační protokol EX Bus. Topologie. Fyzická vrstva. Přístup ke sdílenému přenosovému mediu (sběrnici)

Zákony pro lidi - Monitor změn (zdroj:

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

HiPath HG 1500 Multimediální komunikace ve společnostech střední velikosti

Knihovna SBUS. Implementace neúplných protokolů S-BUS pro stanici server, paritní a datový mód

Použití Virtual NAT interfaces na Cisco IOS

Semestrální práce do předmětu TPS (Technologie Počítačových Sítí).

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

1. DATOVÉ SCHRÁNKY OBECNÝ PŘÍSTUP K DATOVÉ SCHRÁNCE DATOVÉ ZPRÁVY... 3

Routování směrovač. směrovač

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

Zkrácení zápisu dvojitou dvojtečkou lze použít pouze jednou z důvodu nejednoznačnosti interpretace výsledného zápisu adresy.

VPN - Virtual private networks

Interface CAR2FMS v2 firmware CAN data generátor

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

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

Technologie počítačových sítí AFT NAT64/DNS64. Bc. Lumír Balhar (BAL344), Bc. Petr Kadlec (KAD0019)

QoS na MPLS (Diffserv)

Transkript:

Semestrální projekt do předmětu TPS Název projektu: Studium a analýza protokolu LCP (PPP) - vlastnosti callback a multilink včetně teoretického popisu Cíl projektu: Cílem projektu je hlouběji prozkoumat a popsat činnost vlastností callback a multilink protokolu LCP (PPP) protokolu dle příslušných RFC dokumentů Dále taky vyzkoušet implementaci těchto vlastností na Cisco routerech v školním prostředí Teoretická část projektu Tvar rámce PPP: Křídlová značka Adresa Řídící pole Protokol Data Kontrolní součet Křídlová značka Křídlová značka (8 bitů) - uvozuje i ukončuje každý PPP-rámec Obsahuje binárně 01111110 Aby bylo možno přenášet tuto hodnotu jako platná data, používá se technika Esc-sekvencí Adresa (8 bitů) - obsahuje vždy hodnotu 11111111 (broadcast) Důsledek - ppp neumožňuje určit příjemce paketu Řídící pole (8 bitů) - obsahuje hodnotu 00000011 Pokud se na lince vyskytují rámce pouze s těmito adresami a řídícími poli, pak oba konce linky mohou dohodnout pomocí LCP protokolu na použití komprese (Address-and-Control- Field-Compression) Při této kompresi se prostě při vysílání tato dvě pole vypustí a při příjmu se opět doplní Protokol (8 / 16 bitů dle ISO 3309) - obsahuje číslo identifikující typ protokolu přenášeného jako data Data (0 nebo více byte) - obsahuje datagram protokolu specifikovaného v poli protokol Maximální délka je závislá na implementaci konkrétního PPP a lze ji měnit (výchozí 1500 byte) Kontrolní součet (16 nebo 32 bitů) - zajišťuje detekci chyb Výchozí velikost 16 bitů, lze ale dohodnout na 32 bitů pomocí LCP protokolu Formát LCP rámce (je nesen v PPP rámci): Pole Protokol PPP rámce Pole Data PPP rámce 0xc021 - (LCP) Kód ID Délka Volby Velikost obou polí odpovídá specifikaci PPP rámce Popis hlavičky LCP Osmibitové pole kód specifikuje typ příkazu (resp odpovědi) protokolu LCP:

Kód Název Význam 1 Configure-Request Konfigurační paket nesoucí požadavky na změnu implicitních parametrů linky 2 Configure-Ack Konfigurační paket s kladným potvrzením požadavků na změnu implicitních parametrů linky Tj všechny požadované změny parametrů jsou akceptovány 3 Configure-Nak Konfigurační paket s odpovědí Avšak protější strana neakceptuje všechny požadavky na změnu parametrů linky Ty, které neakceptuje, jsou v tomto paketu specifikovány, ostatní požadavky jsou akceptovány 4 Configure-reject Konfigurační paket odmítající všechny požadavky Může být důsledkem i chybného kódu požadavku 5 Terminate-Request Požadavek na ukončení spojení 6 Terminate-Ack Potvrzení požadavku na ukončení spojení 7 Code-Reject Odmítnutí požadavku z důvodu neznámého kódu Může být způsobeno i tím, že protější stanice používá jinou verzi protokolu 8 Protokol-Reject Protější strana nepodporuje uvedený protokol 9 Echo-Request Podpora testovací smyčky na linkové úrovni 10 Echo-Reply Povinná odpověď na Echo-Request 11 Discard-Request Zahoď tento paket Používá se pro testování linky při zátěži, tj odesílatel generuje pomocí těchto paketů umělou zátěž linky Osmibitové pole ID je identifikace požadavku Odesílatel zvolí identifikaci do tohoto pole a adresát ji zkopíruje do své odpovědi Pomocí tohoto pole se určuje příslušnost odpovědi k danému požadavku Šestnáctibitové pole délka obsahuje číslo udávající velikost LCP paketu (tedy součet velikostí polí kód, ID, volby i samotného pole délka) Pole volby obsahuje jednotlivé požadavky (resp odpovědi) na změnu implicitních parametrů linky Toto pole se skládá z jedné nebo více voleb Jednotlivé volby jsou ukládány sekvenčně za sebou jak je znázorněno na následujícím obrázku: Struktura voleb: Volba Délka Data Volba Délka Data Následující tabulka uvádí LCP volby související s tímto projektem Podrobnější popis jednotlivých voleb následuje dále v textu Pole volba a délka jsou 1 bytová Volba Název volby Popis 13 Callback Funkce zpětného volání 17 MRRU Indikuje podporu multilinku 18 Short seq number header Požadavek na použití fragmentů s krátkým sekv č 19 Endpoint discriminator Jednoznačná identifikace systému Popis zpětného volání (callback) dle RFC 1570: Tato volba poskytuje možnost vyžádat si u telefonicky volaného účastníka zpětné volání (dále callback) Callback se používá z mnoha rozličných důvodů, například pro úsporu poplatků Při volání na server, poskytující callback, je volaný účastník na serveru nejdříve

ověřen pomocí autentizačního protokolu (např PAP, CHAP) a následně je možno zaslat serveru požadavek na callback V případě akceptování serverem následuje ukončení spojení a server znovu sestaví spojení (zavolá zpět) Formát volby Callback: Volba = 13 Délka >= 3 Operace Zpráva Operace: Toto pole je osmibitové a označuje obsah pole Zpráva Kód operace Obsah pole Zpráva 0 Prázdné Umístění* uživatele je rozhodnuto na základě jeho autentizace 1 Vytáčecí příkaz pro příslušné zařízení (nejspíše modem) Předpokládá se, že autentizovaný uživatel zná konfiguraci daného zařízení 2 Identifikátor umístění Na základě tohoto identifikátoru a autentizačních informací se v databázi vyhledá umístění* uživatele 3 Telefonní číslo dle doporučení ITU-T číslo E164 4 Jednoznačné jméno dle X500 Na základě tohoto jména a autentizačních informací se v databázi vyhledá umístění* uživatele *Umístění číslo volané při callback Zpráva: Toto pole obsahuje nula nebo více bajtů a jeho obecný obsah je určen dle pole Operace Formát informace v tomto poli je dán implementací Popis PPP Multilink Protocol (dále MP) dle RFC 1990: 1) Motivace MP poskytuje metody pro dělení, znovu sestavení a seřazení datagramů napříč vícenásobnými logickými datovými spojeními Toto bylo původně motivováno potřebou využít současně více fyzických ISDN kanálů pro jedno logické spojení Ve výsledku se ovšem dá MP použít v jakékoliv situaci, kde jsou 2 systémy spojeny současně více PPP kanály 2) Funkční popis Multilink je dohodnut pomocí volby LCP protokolu během počátečního vyjednávání spojení (negotiation) Negotiation ukazuje 3 věci: a) Systém nabízející možnost Multilinku je schopen kombinovat více fyzických spojení do jednoho logického spojení b) Systém je schopen přijímat datové jednotky protokolu vyšší vrstvy (tzv PDU) rozdělené pomocí hlaviček Multilinku (viz níže) na fragmenty a ty znovu sestavovat zpět do původního stavu pro další zpracování c) Systém je schopen příjmu PDU N-bytové velikosti, kde N je specifikováno pomocí volby LCP, dokonce i tehdy, je-li N větší než MRU jednotlivých fyzických spojení Jakmile je Multilink úspěšně vyjednán, vysílající systém může volně odesílat PDU zapouzdřené a/nebo rozdělené pomocí hlaviček Multilinku Doporučuje se činnost multilinku modelovat jako virtuální PPP entitu (rozhraní) spojové vrstvy v níž přijaté pakety, skrz rozdílné fyzické entity (rozhraní), jsou označeny jako

náležející samostatnému PPP síťovému protokolu (MP) a znovu sestaveny a seřazeny podle informací v hlavičkách Multilinku Skupinu fyzických rozhraní spadající pod totéž virtuální PPP rozhraní nazýváme svazkem Virtuální PPP rozhraní se tedy chová jako běžné PPP rozhraní, avšak příchozí PPP paket na toto rozhraní, je rozdělen (fragmentován) na několik Multilink paketů (fragmentů) a odeslán na fyzická rozhraní spadající pod toto virtuální PPP rozhraní Na straně příjemce je postup analogicky opačný MP pakety příchozí skrz fyzická rozhraní spadající pod PPP virtuální rozhraní jsou zpětně složeny (dle MP hlavičky) do původního odesílaného PPP paketu 3) Formáty MP paketů (fragmentů) V této části specifikuji jednotlivé pakety (fragmenty) v Multilinku Pakety síťového protokolu jsou nejdříve zapouzdřeny podle běžných PPP procedur a předány virtuálnímu PPP rozhraní (podrobnosti výše) PPP Multilink fragmenty mají následující formát: 1 Formát fragmentu s dlouhým sekvenčním číslem 2 Formát fragmentu s krátkým sekvenčním číslem Adresa 0xff Řídící pole 0x03 Adresa 0xff Řídící pole 0x03 PID (H) 0x00 PID (L) 0x3d PPP hlavička PID (H) 0x00 PID (L) 0x3d B E 0 0 0 0 0 0 Sekvenční číslo Sekvenční číslo (L) Data fragmentu Kontrolní součet MP hlavička PPP kontrolní součet B E 0 0 Sekvenční číslo Data fragmentu Kontrolní součet PPP hlavička viz výše Za PPP hlavičkou následuje MP hlavička Ta začíná dvěmi jednobitovými hodnotami B a E, které označují počáteční nebo konečný fragment paketu B bit (Beginning fragment) je nastaven na 1 pro první fragment PPP paketu a na 0 pro všechny zbývající fragmenty PPP paketu E bit (Ending fragment) je nastaven na 1 pro poslední fragment a na 0 pro všechny ostatní fragmenty Fragment může mít nastaven B i E na 1 současně (tedy obsahuje celý paket) Sekvenční číslo je 24 nebo 12 bitové číslo Výchozí hodnota je 24 bitů, ale velikost může být dohodnuta v průběhu LCP negotiation na 12 bitů (podrobnosti níže u LCP volby č 18) Mezi E bitem a sekvenčním číslem je rezervované pole, jehož využití není momentálně definováno Všechny hodnoty tohoto pole musí být nastaveny na 0 V případě fragmentů s krátkými sekvenčními čísly je velikost tohoto pole 2 bity, jinak 6 bitů PPP kontrolní součet je spočítán podle stejných pravidel jako u jakéhokoliv jiného PPP paketu (počítá se tedy i z MP hlavičky, která je součástí pole Data)

Doplnění fragmentů (padding) systémy podporující multilink by měly pro doplnění fragmentů implementovat metodu *Self-Describing-Padding Na použití této metody se systémy dohodnou během negotiation pomocí volby LCP Configure-Request *Princip metody každý byte doplněný na konec rámce obsahuje svůj index (svoje pořadové číslo) První byte obsahuje 1, poslední počet doplněných bytů Neobsahují-li doplněné byty správné indexy, měl by celý rámec být zahozen, bez generování jakékoliv odpovědi Příklad: PPP rámec 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Počet doplněných byte = 15, každý obsahuje svůj index Formát volby LCP Configure-Request pro Self-Describing-Padding: Typ = 10 Délka = 3 Maximální hodnota Maximální hodnota (1 byte) maximální počet bytů, které mohou rámec doplnit Hodnota může být 0 255 0 značí že metoda Self-Describing-Padding je podporována, ale neočekává se využívání paddingu 4) Detekce ztráty fragmentu Jednotlivými kanály svazku mohou být fragmenty přenášeny s různou rychlostí Fragmenty jsou potom přijaty v odlišném pořadí než byly odeslány Vysílač musí odesílat pakety s přesně po sobě jdoucími sekvenčními čísly Každý fragment musí mít sekvenční číslo (i ten jež obsahuje celý paket má nastaven současně B i E bit) První paket na svazku má sekvenční číslo 0 Hodnota sekvenčního čísla na svazku je nulována pouze po dosažení své maximální hodnoty, kdy se fragmenty začínají číslovat opět od 0 Hodnota sekvenčního čísla tedy není nulována s příchodem nového paketu Ztráta fragmentu se detekuje jako nepřijetí všech fragmentů mezi počátečním fragmentem (nastaven B bit) a konečným fragmentem (E bit) Chybějící fragment je detekován podle chybějícího sekvenčního čísla v řadě Přijímací strana čeká na přijetí všech fragmentů mezi počátečním a koncovým fragmentem dokud ji to umožňuje její vyrovnávací paměť Pokud je ztracen konečný fragment, musí být všechny předcházející fragmenty daného paketu zahozeny, bez generování jakékoliv odpovědi 5) Použití komprese Komprese může být použita buď odděleně na každém spojení ve svazku nebo na celém svazku (který je chápán jako jedno logické spojení) Použití komprese odděleně je indikováno protokolem CCP (Compression Control Protocol) s odlišným PID (Protocol ID) 51) Typy voleb při LCP konfiguraci MP umožňuje použití dalších LCP konfiguračních voleb: Multilink Maximum Received Reconstructed Unit (MRRU) Typ = 17 Délka = 4 MRRU

Systém, který odeslal tuto volbu během negotiation, podporuje MP Hodnota MRRU (2 byte) určuje max počet bytů pole Data přijatého a znovu sestaveného (z jednotlivých fragmentů) PPP rámce Odesílající systém tedy nesmí odeslat PPP rámec s velikostí pole Data větší než je hodnota MRRU přijímací strany Na spojení nesmí být poslán žádný MP paket, dokud není vyjednána hodnota MRRU Short Sequence Number Header Format Typ = 18 Délka = 2 Tato volba doporučuje protější straně použití krátkých 12 bitových sekvenčních čísel Je-li tato volba protější stranou přijata, všechny MP pakety, na všech spojeních svazku, musí mít 12 bitová sekvenční čísla Jako výchozí se používají 24 bitová sekvenční čísla Endpoint Discriminator Typ = 19 Délka Třída Adresa Tato volba jednoznačně identifikuje systém jako celek Je-li vyjednáváno spojení se systémem, který ještě není připojen, musí být vytvořen pro tento systém nový svazek spojení Je-li vyjednáváno spojení se systémem, který již je připojen skrz některý ze stávajících svazků, poté toto spojení musí být připojeno do svazku spojení s tímto systémem nebo se musí vytvořit nový svazek spojení Popis jednotlivých polí: Délka = 3 (1 byte typ + 1 byte délka + 1 byte třída) + délka adresy Třída = 1 bytové pole určuje typ obsahu pole Adresa Některé hodnoty: Kód Název Délka 0 Žádná třída Nulová délka 1 Lokálně přiřazená adresa Max délka 20 bytů 2 IP adresa Pevná délka 4 byty 3 IEEE 8021 globálně přiřazená MAC adresa Pevná délka 6 bytů 4 PPP magic-number Max délka 20 bytů 5 Telefonní číslo dle doporučení ITU-T číslo E164 Max délka 15 bytů Adresa = jedno nebo více bajtová hodnota dle pole Třída Identifikace jednotlivých svazků v systému je čistě na systému implementující multilink 6) Uzavření spojení svazku Jednotlivé spojení svazku mohou být ukončeny běžnými PPP LCP procedurami (pakety LCP Terminate-Request a Terminate-Ack) Tyto LCP pakety nejsou nijak MP ovlivněny a jejich přenos na svazku je povolen Zůstane-li na svazku jediné unikátní spojení a ostatní byly úspěšně uzavřeny, používání MP může být zastaveno 7) Přidání či odebrání fyzických spojení do svazku Fyzická spojení mohou být dynamicky přidávány či odebírány z existujících svazků Tato režie je spojena s údajem Endpoint Discriminator (viz výše)

Praktická část projektu Ověření funkcí callback a multilink na Cisco routerech: Cisco router běžící jako callback klient podporuje pouze případ, kdy je tel číslo zpětného volání uloženo přímo na callback serveru Cisco router běžící jako callback server podporuje i případ kdy je číslo pro zpětné volání zasláno klientem toto ale Cisco callback klient neumí Callback server přijme hovor a v případě úspěšné autentizace a přijmutí požadavku na zpětné volání volá zpět Cisco router však podporuje i funkci zpětného volání na základě identifikace volajícího tel čísla z ISDN linky - na callback serveru je uložena tabulka callback tel čísel a v případě, že toto tel číslo volá na server, server hovor odmítne a okamžitě volá zpět Až poté proběhne PPP autentizace např protokolem PAP Schéma zapojení je stejné pro obě varianty: 10000/24 RH callback server RK callback klient 1 2 BRI0, tel č: 5683 ISDN BRI0, tel č: 5690 1) Zpětný hovor identifikován vyhledáním autentizovaného host name v dialer map Příkazy nezbytné pro správnou činnost jsou označeny takto pro multilink modře, pro callback zeleně Dobrovolné příkazy pro callback jsou červené Callback server (RH): enable conf term hostname RServer isdn switch-type basic-netinterface bri 0 ip address 10001 2552552550 encapsulation ppp ppp authentication pap ppp multilink ppp pap sent-username RServer password cisco dialer map ip 10002 name RClient class dial1 broadcast 5690 dialer callback-secure dialer idle-timeout 60 ppp callback accept no shutdown exit map-class dialer dial1 dialer callback-serv er username exit username RClient password cisco Popis k jednotlivým příkazům: ppp multilink zapíná na daném rozhraní možnost použití multilinku Funkci multilinku musí mít pro funkční využití zapnutou server i klient

dialer map ip 10002 name RClient class dial1 broadcast 5690 ip adresa 10002 zařízení se jménem (hostname) RClient je dostupná přes telefonní číslo 5690 Každému uživateli by odpovídal jeden řádek tohoto příkazu Příklad pro dalšího uživatele: dialer map ip 10003 name RClient2 class dial1 broadcast 5685 dialer callback-secure linka je po neúspěšné autentizace ze strany klienta odpojena dialer idle-timeout 60 linka je po 60 sekundách nečinnosti odpojena ppp callback accept zapíná přijmutí požadavků na callback dialer callback-server username číslo pro zpětné volání je nalezeno v lokální databázi (viz dialer map) Alternativní varianta: dialer callback-server dialstring číslo pro zpětné volání je odesláno klientem během negotiation Callback klient (RK): enable conf term hostname RClient isdn switch-type basic-net3 dialer-list 1 protocol ip permit interface bri 0 ip address 10002 2552552550 encapsulation ppp ppp authentication pap ppp multilink dialer load-treshold 3 ppp pap sent-username RClient password cisco dialer map ip 10001 name RServer broadcast 5683 dialer-group 1 dialer idle-timeout 60 ppp callback request no shutdown exit username RServer password cisco Popis k jednotlivým příkazům: dialer-list 1 protocol ip permit povolím ip protokol pro aktivaci vytáčené linky dialer load-treshold 3 při 3*100/255 % využití svazku se vytvoří další spojení Při poklesu využití svazku pod tuto hodnotu se jedno ze spojení svazku uvolní ppp callback request zasílá serveru požadavek na callback Vynecháním příkazů pro multilink a dobrovolných příkazů bychom dostali triviální konfiguraci pro callback Vynecháním všech příkazů pro callback bychom dostali triviální konfiguraci pro multilink Následuje výpis z klientského routeru RK, kde je vidět činnost callback i multilink: (za povšimnutí stojí i virtuální PPP interface, který router sám vytvoří při zapnutí Multilink) V případě potřeby hlubšího prozkoumání činnosti multilinku a callback lze použít následující ladící příkazy: debug ppp negotiation zobrazuje události týkající se počátečního vyjednávání ppp protokolu

debug isdn events zobrazuje události týkající se isdn vhodné pro zkoumání činnosti multilinku RClient# ping <- ping serveru jež vyvolá vytočení linky Protocol [ip]: Target IP address: 10001 Repeat count [5]: 30 Datagram size [100]: 1200 <- potřebná velikost datagramu pro multilink Timeout in seconds [2]: 1 Klient se začíná připojovat na server na prvním ISDN kanále Extended commands [n]: 2 Tady server odpojil vytočené spojení kvůli callback Sweep range of sizes [n]: Type escape sequence to abort Sending 30, 1200-byte ICMP Echos to 10001, timeout is 2 seconds: 01:54:169672598560: %LINK-3-UPDOWN: Interface BRI0/0:1, changed state to up 01:54:39: %LINK-3-UPDOWN: Interface Virtual-Access1, changed state to up 01:54:40: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0/0:1, changed state to up 01:54:40: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access1, changed state to up 01:54:176093659140: %ISDN-6-DISCONNECT: Interface BRI0/0:1 disconnected from 5683 RServer, call lasted 2 seconds 01:54:178262533152: %LINK-3-UPDOWN: Interface BRI0/0:1, changed state to down 01:54:42: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0/0:1, changed state to down 01:54:42: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access1, changed state to down 01:54:54: %LINK-3-UPDOWN: Interface BRI0/0:1, changed state to up 01:54:54: %LINK-3-UPDOWN: Interface Virtual-Access1, changed state to up! 01:54:55: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0/0:1, changed state to up 01:54:55: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access1, changed state to up!!!!!!!!! 3 A tady server sám zavolal zpátky na stejný kanál 01:54:255571944480: %LINK-3-UPDOWN: Interface BRI0/0:2, changed state to up 01:54:255580736304: %ISDN-6-CONNECT: Interface BRI0/0:1 is now connected to 5683 RServer 01:55:00: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0/0:2, changed state to up 4 Vzhledem k multilinku se začíná připojovat druhý ISDN kanál 01:55:4294967296: %ISDN-6-DISCONNECT: Interface BRI0/0:2 disconnected from 5683 RServer, call lasted 2 seconds 01:55:6463841312: %LINK-3-UPDOWN: Interface BRI0/0:2, changed state to down 01:55:02: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0/0:2, changed state to down!!!!!!!!! 5 I druhý kanál byl serverem odpojen kvůli callback Success rate is 63 percent (19/30), round-trip min/avg/max = 304/307/309 ms RClient# 01:55:14: %LINK-3-UPDOWN: Interface BRI0/0:2, changed state to up 01:55:16: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0/0:2, changed state to up 01:55:20: %ISDN-6-CONNECT: Interface BRI0/0:2 is now connected to 5683 RServer RClient#show isdn active <- zobrazí seznam aktivních isdn připojení ISDN ACTIVE CALLS 6 Server opět zavolal zpátky na stejný kanál Call Calling Called Remote Seconds Seconds Seconds Charges Type Number Number Name Used Left Idle Units/Currency In 5683 RServer 44 Unavail 0 In 5683 RServer 24 Unavail 0 RClient# 7 Je vidět že obě spojení jsou příchozí ze serveru

Legenda Výpis týkající se příkazu ping Výpis týkající se prvního ISDN kanálu Výpis týkající se druhého ISDN kanálu Výpis týkající se virtuálního PPP interface 2) Uvádím i příklad konfigurace, kdy je callback serverem rozhodnut dle tel čísla volající na server Callback server (RH): enable conf term hostname RServer isdn switch-type basic-net3 interface bri 0 ip address 10001 2552552550 encapsulation ppp ppp authentication pap ppp multilink ppp pap sent-username RServer password cisco dialer map ip 10002 name RClient broadcast 5690 dialer idle-timeout 60 isdn caller 5690 callback dialer enable-timeout 2 no shutdown exit username RClient password cisco Popis k jednotlivým příkazům: isdn caller 5690 callback pro volající číslo 5690 je povolen callback Je možno nastavit celou skupinu čísel, např příkaz isdn caller 5690x callback callback je povolen na čísla 56900 až 56909 Znak x označuje libovolnou cifru dialer enable-timeout 2 určuje ve vteřinách za jak dlouho po odmítnutí příchozího hovoru server zavolá zpátky Ostatní příkazy jsou popsány výše Callback klient (RK): enable conf term hostname RClient isdn switch-type basic-net3 dialer-list 1 protocol ip permit interface bri 0 ip address 10002 2552552550 encapsulation ppp ppp authentication pap

ppp multilink dialer load-treshold 3 ppp pap sent-username RClient password cisco dialer map ip 10001 name RServer broadcast 5683 dialer group 1 dialer idle-timeout 60 dialer wait-for-carrier-time 4 no shutdown exit username RServer password cisco Popis k jednotlivým příkazům: dialer wait-for-carrier-time 4 počet sekund čekání na callback Doporučuje se nastavit hodnota 2x větší než je hodnota enable-timeout na serveru Ostatní příkazy jsou popsány výše

Následuje výpis z klientského routeru RK, kde je vidět činnost callback: RClient# debug isdn events RClient# ping 10001 Type escape sequence to abort Sending 5, 100-byte ICMP Echos to 10001, timeout is 2 seconds: 01:40:49: ISDN BR0/0: Outgoing call id = 0x8011, dsl 0 01:40:49: ISDN BR0/0: Event: Call to 5683 at 64 Kb/s <- zobrazuje události týkající se isdn <- ping serveru jež vyvolá vytočení linky 1 Vytáčí se číslo serveru 01:40:49: ISDN BR0/0: process_bri_call(): call id 0x8011, called_number 5683, speed 64, call type DATA 01:40:212631023020: CC_CHAN_GetIdleChanbri: dsl 0 01:40:210453397504: Found idle channel B1 01:40:212631063484: ISDN BR0/0: LIF_EVENT: ces/callid 1/0x8011 HOST_PROCEEDING 01:40:214748364800: ISDN BR0/0: LIF_EVENT: ces/callid 1/0x8011 HOST_DISCONNECT 01:40:214748364800: ISDN BR0/0: Event: Call to 5683 was hung up 2 Server odmítá spojení 01:40:214748365483: ISDN BR0/0: process_disc_ack(): call id 0x8011, ces 1, call type DATA 01:40:216926031032: ISDN BR0/0: LIF_EVENT: ces/callid 1/0x8011 HOST_DISCONNECT_ACK 01:40:214748364800: ISDN BR0/0: HOST_DISCONNECT_ACK: call type is DATA 01:40:219043332096: ISDN BR0/0: Incoming call id = 0x0007, dsl 0 3 Server volá zpátky 01:40:219043332096: ISDN BR0/0: LIF_EVENT: ces/callid 1/0x7 HOST_INCOMING_CALL 01:40:219043332096: ISDN BR0/0: HOST_INCOMING_CALL: voice_answer_data = FALSE call type is DATA 01:40:221220998276: ISDN BR0/0: RM returned call_type 0 resource type 0 01:40:51: ISDN BR0/0: isdn_send_connect(): msg 4, call id 0x7, ces 1 bchan 1, call type DATA 01:40:51: %LINK-3-UPDOWN: Interface BRI0/0:2, changed state to up!!! Success rate is 60 percent (3/5), round-trip min/avg/max = 32/37/48 ms 4 Spojení bylo navázáno RClient# 01:40:225515964892: %ISDN-6-CONNECT: Interface BRI0/0:2 is now connected to 5683 RServer 01:40:53: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0/0:2, changed state to up 5 IP spojení bylo úspěšně navázáno RClient#show isdn active <- zobrazí seznam aktivních isdn připojení ISDN ACTIVE CALLS Call Calling Called Remote Seconds Seconds Seconds Charges Type Number Number Name Used Left Idle Units/Currency In 5683 RServer 31 90 29 6 Spojení se serverem je opět příchozí RClient#

Použité texty: Formát rámce PPP, LCP: http://wwwcsvsbcz/grygarek/tps/projekty/0405z/ppp/lcppdf Nastavení PPP callback na cisco routerech: http://wwwciscocom/en/us/products/ps6350/products_configuration_guide_chapter09186a0 0800ca6e9html Nastavení callback dle tel čísla volajícího na cisco routerech: http://wwwciscocom/en/us/products/ps6350/products_configuration_guide_chapter09186a0 0800ca6e8html Popis callback dle RFC 1570: http://wwwfaqsorg/rfcs/rfc1570html Popis PPP Multilink protokolu dle RFC 1990: http://wwwfaqsorg/rfcs/rfc1990html Zpracoval Michal Šafr, saf028