PPP jest protokołem warstwy łącza danych modelu OSI, stosowanym do
realizacji połączeń punkt-punkt. Działa on w ramach wielowarstwowej architektury
(p. rys.), której najważniejszym składnikiem jest protokół LCP, oferujący zestaw
dodatkowych usług: negocjowania warunków połączenia (w tym rozmiar ramki),
sposobu uwierzytelniania i wykrywania błędów transmisji. Format ramki PPP bazuje
na protokole ISO HDLC (nie jest on zgodny z implementacją HDLC firmy Cisco).
Podstawowe opcje dostępne w ramach protokołu PPP to:
Najwyższa warstwa architektury PPP to grupa protokołów NCP (Network Control Protocol) odpowiedzialnych za obsługę poszczególnych protokołów warstwy sieciowej. Na przykład do przenoszenia protokołu IP służyć będzie komponent IPCP (Internet Protocol Control Protocol). Faza uzgodnienia protokołów sieciowych, które będą przenoszone w połączeniu PPP, realizowana jest po etapie negocjowania opcji połączenia (protokół LCP) i przeprowadzeniu uwierzytelniania.
Dostępne są dwie metody uwierzytelniania przy podłączaniu zdalnym: PAP
oraz CHAP. Wyobraźmy sobie układ pary routerów, w której router C2600 dzwoni do
routera C2600BIS z wykorzystaniem interfejsów ISDN - patrz
rysunek.
Stosując metodę PAP, router C2600 przesyła do routera C2600BIS parę informacji: nazwę użytkownika (nazwę hosta) oraz hasło.
Router C2600BIS, posługując się na przykład lokalną bazą danych kont użytkowników, przeprowadza proces uwierzytelniania i akceptuje zdalne żądanie bądź je odrzuca. Wadą metody PAP jest przesyłanie hasła jawnym tekstem, co umożliwia przechwycenie ramek sieciowych i podsłuchanie hasła przez niepowołane osoby.
| Niezależnie od długości hasła i treści łańcucha challenge wynik działania algorytmu MD5 jest zawsze 128-bitowy. |
Poniżej prezentujemy fragment konfiguracji routera C2600 dla interfejsu ISDN BRI 0/0, dotyczący protokołu PPP i metody CHAP. Poleceniem encapsulation ppp włączamy w ramach interfejsu hermetyzację PPP. Komenda ppp authentication PAP włącza wymagany sposób uwierzytelniania, natomiast poleceniem ppp pap sent-username zdefiniowano nazwę użytkownika oraz hasło przesyłane do routera C2600BIS. Pokazana w przykładzie komenda username tworzy w lokalnej bazie danych konto użytkownika potrzebne w sytuacji, gdy router C2600BIS dzwoni do routera C2600. Podobny zestaw poleceń konfiguracyjnych należy wykonać również na routerze C2600BIS:
C2600(config)# hostname C2600 C2600(config)#username C2600BIS password haslo C2600(config)#interface BRI 0/0 C2600(config-if)#encapsulation ppp C2600(config-if)#ppp authentication PAP C2600(config-if)#ppp pap sent-username C2600 password haslo
| Aby metoda CHAP mogła działać poprawnie, na obydwu routerach należy założyć konto użytkownika o nazwie zgodnej z nazwą sąsiedniego routera. Hasło obydwu tych kont MUSI być identyczne. |
Proces uwierzytelniania w metodzie CHAP jest bardziej złożony. Metoda jest też bezpieczniejsza - hasło nigdy nie jest przesyłane w sieci jawnym tekstem, a więc nie można go łatwo podsłuchać. Metoda CHAP opiera się na mechanizmie Challenge-Response i algorytmie MD5. Załóżmy, że router C2600 dzwoni do routera C2600BIS. Po wynegocjowaniu opcji połączenia w protokole LCP, router C2600BIS przesyła do routera C2600 niepowtarzalny łańcuch znaków - challenge. W pakiecie tym umieszczana jest również nazwa hosta C2600BIS. Router C2600 w lokalnej bazie danych odszukuje konto użytkownika z nazwą C2600BIS, a hasło tego konta wraz z otrzymanym łańcuchem challenge służy do wygenerowania 128-bitowego łańcucha hash, będącego wynikiem działania generatora opartego na algorytmie MD5.
| Protokoły uwierzytelniania włączone w konfiguracji interfejsu dotyczą tylko komunikacji wchodzącej. Klient dzwoniący musi dostosować się do metod uwierzytelniania włączonych na routerze dostępowym. Router dzwoniący nie korzysta z ustawień polecenia ppp authentication. |
Wynik działania algorytmu MD5 wraz z nazwą routera C2600 odsyłany jest do routera C2600BIS jako pakiet response. Na podstawie hasła konta C2600 i wysłanego wcześniej pakietu challenge router C2600BIS wylicza algorytmem MD5 128-bitowy łańcuch i porównuje go z wartością otrzymaną w pakiecie response. Jeżeli obie wartości są identyczne, proces uwierzytelniania kończy się pomyślnie, w przeciwnym wypadku połączenie jest zrywane.
Na rysunku poniżej prezentujemy działanie i fragment konfiguracji metody CHAP dla routerów C2600 i C2600BIS.
| Dla prezentowanej pary routerów proces uwierzytelniania realizowany jest w obie strony, to znaczy router C2600BIS weryfikuje router C2600 i odwrotnie. Pojedynczy proces uwierzytelniania ma miejsce na przykład przy dodzwanianym połączeniu klienta Windows 9x do routera Cisco. |
W ramach konfiguracji interfejsu włączyć można obie metody uwierzytelniania PPP. Jeśli na przykład na routerze C2600BIS wykonano by polecenie ppp authentication chap pap, to router w fazie negocjowania warunków połączenia żądałby od klientów używania w pierwszej kolejności metody CHAP. Protokół PAP stosowany będzie dla tych klientów, którzy nie obsługują metody CHAP.
Przebieg procesu uwierzytelniania można obserwować za pomocą polecenia debug ppp authentication.
ISDN gwarantuje cyfrową transmisję na całej trasie między klientem
dzwoniącym a węzłem końcowym. Przy zwykłych połączeniach analogowych przekaz
cyfrowy uzyskujemy na odcinku między komputerem klienckim a modemem oraz w
"chmurce" usługodawcy; niestety, na odcinku między modemem dostępowym a
usługodawcą komunikacja jest analogowa. W sieci ISDN komunikacja między dwoma
węzłami na całej trasie jest cyfrowa. Z punktu widzenia końcowego użytkownika,
wykorzystującego dodzwaniane połączenia ISDN, zwrócić należy uwagę na
następujące elementy:
Międzynarodowa unia telekomunikacyjna ITU-T definiuje obecnie dwa typy interfejsu dostępowego do sieci ISDN, określającego fizyczne połączenie między klientem końcowym a usługodawcą. Są to interfejsy BRI (Basic Rate Interface) oraz PRI (Primary Rate Interface). Interfejs BRI, oznaczany czasami jako 2B+D, ma dwa kanały B (B1 oraz B2) o przepustowości 64 Kb/s każdy oraz jeden kanał D (Delta) o przepustowości 16 Kb/s. Kanały B wykorzystywane są do cyfrowej obsługi głosu oraz do szybkiej transmisji danych w komunikacji opartej na przełączaniu obwodów (circuit-switched). Dane przesyłane są zwykle w postaci ramek protokołów PPP czy HDLC. Kanał D wykorzystywany jest przede wszystkim do celów sygnalizacyjnych, w tym obsługi procedury ustanawiania i zrywania połączenia. Ruch w kanale D realizowany jest z wykorzystaniem specjalizowanego protokołu warstwy drugiej LAPD.
Interfejs PRI zapewnia w krajach Ameryki Północnej oraz w Japonii 23 kanały B po 64 Kb/s oraz jeden kanał D (64 Kb/s), dając prędkość zgodną ze standardem T1 (1,544 Mb/s). W Europie interfejs PRI ma 30 kanałów B (po 64 Kb/s) oraz jeden kanał D (64 Kb/s), zapewniając prędkość E1 (2,048 Mb/s). Szacując łączną przepustowość interfejsów BRI oraz PRI, należy dodatkowo uwzględnić kanał synchronizacyjny, np. w Europie interfejs PRI zapewnia 32 kanały po 64 Kb/s (30 kanałów B, jeden kanał D i jeden kanał synchronizacyjny). W dalszej części artykułu zajmiemy się konfigurowaniem połączeń poprzez interfejs BRI. Poniższy rysunek przedstawia warstwową architekturę protokołów tworzących technologię ISDN w odniesieniu do modelu siecio-wego OSI. Warto zwrócić uwagę na różne protokoły wykorzystywane na poszczególnych warstwach, niezależnie dla kanałów B i kanału D.
Na rysunku widać, że kanały B nie bazują na własnych, specjalizowanych
protokołach warstwy drugiej i trzeciej. Zamiast nich do przenoszenia pakietów
warstwy sieciowej (np. IP) wykorzystuje się jeden ze standardowych protokołów
warstwy łącza danych sieci WAN. Pracę warstwy sieciowej w kanale D definiuje
standard Q.931, określający komunikację między terminalem końcowym a lokalnym
przełącznikiem ISDN. Warstwę drugą w kanale D opisuje protokół LAPD (standard
Q.921), który odpowiedzialny jest między innymi za adresowanie sprzętowe w
ramach kilku (do 8) urządzeń podłączonych do wspólnej magistrali oraz
rozróżnianie i obsługę różnych typów ramek. Kanały B oraz kanał D współdzielą
warstwę fizyczną, która pracuje zgodnie z jednym ze standardów: I.430 dla
interfejsu BRI z magistralą S/T, I.431 dla interfejsu PRI, ANSI T1.601 dla
interfejsu BRI i magistrali U w Ameryce Północnej. Warstwa fizyczna
multipleksuje ruch z poszczególnych kanałów ISDN, tworząc ciągły strumień, w
którym każdy bit pełni specyficzną funkcję. Proces ten nazywamy ramkowaniem
(framing). Proces ustanawiania połączenia poprzez interfejs BRI składa się z
następujących etapów:
| Nigdy nie należy łączyć interfejsu ISDN BRI U routera z urządzeniem NT1, gdyż grozi to zniszczeniem portu. |
Technologia ISDN definiuje szereg urządzeń oraz standardów komunikacyjnych realizowanych w formie interfejsów między poszczególnymi komponentami (standardy ITU-T E.163, E.164, I.100, I.400, Q.921, Q.931). W dalszej części artykułu skupimy się na tych jej składnikach, które dotyczą różnych sposobów podłączania routera Cisco do sieci ISDN z wykorzystaniem interfejsu BRI. Typowe rozwiązania przedstawia rysunek.
Oto znaczenie poszczególnych elementów pokazanych na
rysunku:
DDR (Dial-on-Demand Routing) to mechanizm pozwalający na dynamiczne zestawianie dodzwanianego połączenia między routerami Cisco, wykorzystywanego następnie do przesłania pakietów danych bądź aktualizacji routingu. Dzięki zastosowaniu routingu DDR nie jest konieczne utrzymywanie stałego łącza między zdalnym oddziałem a centralą firmy. Połączenie zestawiane jest tylko po to, aby przesłać wymagane dane; następnie jest zrywane, co pozwala zmniejszyć koszty komunikacji. Routing DDR znalazł zastosowanie przede wszystkim tam, gdzie zdalne oddziały i ich pracownicy sporadycznie potrzebują dostępu do sieci firmowej, a poprzez zestawione połączenie przesyła się niewielkie ilości danych. Połączenia dodzwaniane z wykorzystaniem mechanizmu DDR realizuje się zwykle poprzez publiczną sieć telefoniczną (PSTN) lub z wykorzystaniem technologii ISDN. Rysunek poniżej przedstawia typową topologię, w której dwa routery komunikują się z wykorzystaniem routingu DDR poprzez sieć ISDN.
Wyobraźmy sobie sytuację, w której klient przed routerem C2600
(212.1.1.10) chce wysłać dane do klienta za routerem C2600BIS (215.1.1.10).
Router C2600 po otrzymaniu pakietu od swojego klienta odszukuje w tabeli
routingu trasę do sieci docelowej 215.1.1.0 oraz wybiera interfejs, przez który
pakiet należy wysłać. Jeśli jest to interfejs BRI 0/0, dla którego włączono
routing DDR, sprawdza się, czy pakiet należy do tzw. ruchu "oczekiwanego"
(definiowanego przez administratora), który jest uprawniony do wywołania
procedury ustanawiającej połączenie. Jeżeli pakiet spełnia ten warunek,
odszukuje się instrukcję wiążącą (polecenie dialer map) adres ip
następnego routera na trasie (199.1.1.2) z numerem, pod który należy zadzwonić.
Jeśli interfejs BRI 0/0 jest akurat aktywny, znaczy to, że połączenie było
ustanowione wcześniej, a więc zeruje się tylko zegar czasu bezczynności (idle);
w przeciwnym wypadku rozpoczyna się procedura ustanowienia połączenia (call
setup). Po zestawieniu łącza między routerami C2600 i C2600BIS przesyłane są
zarówno pakiety ruchu oczekiwanego, jak i nieoczekiwanego (ruch nieoczekiwany
nie może zestawić połączenia). Po zakończeniu transmisji i upływie
skonfigurowanego czasu bezczynności połączenie jest zrywane. Działanie routingu
DDR przedstawia schemat obok.
Wykorzystując omawiany wcześniej przykład, skonfigurujmy w pełni
routing DDR na routerze C2600 (odpowiednie polecenia będą konieczne również na
routerze C2600BIS). Zaczniemy od nauczenia routera C2600 trasy do sieci
215.1.1.0 za routerem C2600BIS. W zasadzie nie należy uruchamiać routingu
dynamicznego między routerami C2600 i C2600BIS - z powodu regularnych
aktualizacji protokoły routingu dynamicznego zestawiałyby połączenie ISDN.
Lepszym rozwiązaniem będzie wpisanie na routerze trasy statycznej wiodącej do
sieci 215.1.1.0 przez router 199.1.1.2:
C2600(config)#ip route 215.1.1.1.0 255.255.255.0 199.1.1.2
Ten sam efekt uzyskamy dzięki poleceniu:
C2600(config)#ip route 215.1.1.0 255.255.255.0 BRI 0/0
Zamiast definiowania tras do konkretnych sieci docelowych można określić na routerze C2600 adres domyślnego routera (brama ostatniej szansy), do którego wysyłane będą wszystkie pakiety z nieznanymi adresami docelowymi:
C2600(config)#ip route 0.0.0.0 0.0.0.0 199.1.1.2
Następnym etapem konfiguracji routera C2600 będzie określenie ruchu oczekiwanego, który może wywołać procedurę ustanowienia połączenia. Realizuje się to za pomocą globalnego polecenia konfiguracyjnego dialer-list numer protocol nazwa_protokolu [permit | deny | list numer_listy]. Parametr numer wykorzystany będzie potem do przypisania tak zdefiniowanego filtru do wybranego interfejsu (może przyjmować wartość od 1 do 10). Jako dozwolony protokół (parametr nazwa_protokołu) wskazać można między innymi: IP, IPX, AppleTalk, Decnet. Opcjonalny parametr list numer_listy pozwala zastosować listę dostępu w procesie klasyfikowania ruchu. Oczywiście wykorzystywane listy dostępu muszą zostać utworzone (omawialiśmy to w nrze 19/01). W poniższym przykładzie każdy pakiet IP jest uprawniony do wywołania połączenia z routerem C2600BIS (nie jest wykorzystywana lista dostępu):
C2600(config)#dialer-list 5 protocol IP permit
| Polecenie isdn switch-type wykonane w trybie konfiguracji globalnej dotyczy wszystkich interfejsów BRI. Wybrany typ przełącznika ISDN można także włączyć w ramach konfiguracji konkretnego interfejsu (tą samą komendą). |
Następny przykład pokazuje wykorzystanie rozszerzonej listy dostępu o numerze 103, dzięki której każdy ruch IP z wyjątkiem usługi Telnet (port 23) oraz usługi WWW (port 80) będzie mógł inicjować połączenie:
C2600(config)#access-list 103 deny tcp any any eq 23 C2600(config)#access-list 103 deny tcp any any eq 80 C2600(config)#access-list 103 permit ip any any C2600(config)#dialer-list 5 protocol IP list 103
| Państwo | Typ przełącznika ISDN |
| Stany Zjednoczone i Kanada |
AT&T 5ESS i 4ESS, Northern Telecom DMS-100 |
| Francja | VN2, VN3 |
| Japonia | NTT |
| Wielka Brytania | Net3 i Net5 |
| Europa | Net3 |
Zanim przejdziemy do konfiguracji konkretnego interfejsu BRI, musimy określić wymagane parametry globalne. Aby poprawnie działał proces uwierzytelniania metodą CHAP w protokole PPP, należy utworzyć konto użytkownika dla routera C2600BIS:
C2600(config)#username C2600BIS password haslo
Bardzo ważne jest również określenie właściwego typu przełącznika ISDN wykorzystywanego przez dostawcę. Od tego zależy na przykład procedura ustanawiania połączenia (call setup). Typy przełączników wykorzystywane w różnych częściach świata przedstawia tabela.
Dla routera C2600 włączymy typ przełącznika ISDN wykorzystywany w Europie:
C2600(config)#isdn switch-type basic-net3
| Dla niektórych typów przełącznika ISDN może być wymagane dodatkowo określenie identyfikatora (bądź dwóch identyfikatorów) profilu SPID (Service Profile Identifier) przypisanego do danego połączenia. Identyfika-tor SPID to łańcuch znaków identyfikujący klienta końco-wego względem przełącznika. Korzystanie z przełącznika DMS-100 wymaga zdefiniowania identyfikatorów SPID, co realizujemy poleceniami: isdn spid1 oraz isdn spid2. |
Konfigurację interfejsu BRI 0/0 na routerze C2600 zaczynamy od włączenia typu hermetyzacji PPP oraz metody uwierzytelniania CHAP. Przypisujemy adres IP:
C2600(config)#interface BRI 0/0 C2600(config-if)#encapsulation ppp C2600(config-if)#ppp authentication CHAP C2600(config-if)#ip address 199.1.1.1 255.255.255.0
Następnie przypisujemy do interfejsu zdefiniowaną wcześniej (poleceniem dialer-list) listę wyznaczającą ruch oczekiwany:
C2600(config-if)#dialer-group 5
Decydującym poleceniem konfiguracji interfejsu BRI 0/0 jest komenda dialer map. Dzięki niej adres IP zdalnego routera (w naszym przykładzie C2600BIS) wiąże się z numerem, na który należy zadzwonić, kierując ruch na ten adres. W poleceniu wskazuje się dodatkowo nazwę routera zdalnego oraz opcjonalnie włącza obsługę komunikacji rozgłoszeniowej (opcja broadcast):
C2600(config-if)#dialer map ip 199.1.1.2 name C2600BIS 60
Można również zmienić domyślny czas rozłączania w razie braku ruchu na połączeniu (domyślnie wynosi on 120 sekund):
C2600(config-if)#dialer idle-timeout 180
Oto pełna konfiguracja routera C2600 dla routingu DDR:
hostname C2600 username C2600BIS password 0 haslo isdn switch-type basic-net3 ! interface BRI0/0 ip address 199.1.1.1 255.255.255.0 encapsulation ppp dialer idle-timeout 180 dialer map ip 199.1.1.2 name C2600BIS 60 dialer-group 5 isdn switch-type basic-net3 ppp authentication chap ! ip route 215.1.1.0 255.255.255.0 199.1.1.2 dialer-list 5 protocol ip permit
Aby aktywować połączenie dodzwaniane, możemy na przykład wykonać polecenie ping 215.1.1.1 (bądź ping 199.1.1.2). Aktualny status połączenia ISDN wyświetlić można poleceniem show isdn status. Zwróćmy uwagę na wykorzystywany typ przełącznika (basic-net3), stan połączenia (active) dla wszystkich trzech warstw oraz wykorzystywany domyślnie kanał B1. Parametr TEI pokazywany na warstwie drugiej (Q.921) to adres fizyczny urządzenia przypisywany dynamicznie przez przełącznik:
C2600#show isdn status
Global ISDN Switchtype = basic-net3
ISDN BRI0/0 interface
dsl 0, interface ISDN Switchtype = basic-net3
Layer 1 Status:
ACTIVE
Layer 2 Status:
TEI = 68, Ces = 1, SAPI = 0, State = MULTIPLE_FRAME_ESTABLISHED
Layer 3 Status:
1 Active Layer 3 Call(s)
CCB:callid=801C, sapi=0, ces=1, B-chan=1, calltype=DATA
Active dsl 0 CCBs = 1
The Free Channel Mask: 0x80000002
Total Allocated ISDN CCBs = 1
Aktywne połączenia ISDN można zweryfikować poleceniem show isdn active. Wyświetlane są m.in.: wywoływany numer, nazwa routera zdalnego oraz czas połączenia. Wszystkie połączenia aktywne oraz historię nieaktywnych można zobaczyć po wykonaniu komendy show isdn history.
Obserwowanie procesu ustanawiania i zrywania połączenia oraz wykrywanie ewentualnych błędów możliwe jest za pomocą komendy debug. Poniżej prezentujemy komunikaty opisujące proces ustanawiania połączenia, z których początkowe dwa są efektem wykonania polecenia debug dialer (komenda ping z adresem 215.1.1.1 spowodowała wywołanie numeru 60). Końcowe komunikaty pochodzą z procesu zrywania połączenia, co spowodowane zostało upływem dozwolonego czasu bezczynności (idle):
C2600#deb dialer Dial on demand events debugging is on C2600#ping 215.1.1.1 03:12:29: BR0/0 DDR: Dialing cause ip (s=199.1.1.1, d=215.1.1.1) 03:12:29: BR0/0 DDR: Attempting to dial 60 03:12:141733920767: %LINK-3-UPDOWN: Interface BRI0/0:1, changed state to up 03:12:32: BR0/0:1 DDR: dialer protocol up 03:12:33: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0/0:1, changed state to up 03:12:38: %ISDN-6-CONNECT: Interface BRI0/0:1 is now connected to 60 C2600BIS 03:15:33: BR0/0:1 DDR: idle timeout 03:15:33: BR0/0:1 DDR: disconnecting call 03:15:33: %ISDN-6-DISCONNECT: Interface BRI0/0:1 disconnected from 60 C2600BIS, call lasted 180 seconds 03:15:141733920772: %LINK-3-UPDOWN: Interface BRI0/0:1, changed state to down 03:15:143907432876: BR0/0:1 DDR: disconnecting call 03:15:34: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0/0:1, changed state to down
Szczegółowy zestaw komunikatów dotyczących komunikacji z przełącznikiem ISDN w warstwie drugiej oraz ustanawiania i zrywania połączenia w warstwie trzeciej (Q.931) uzyskać można po uaktywnieniu poleceń debug isdn q921 i debug isdn q931.
Omówiliśmy już działanie routingu na żądanie (DDR), w którym interfejsy BRI wykorzystywane były do dynamicznego, okresowego zestawiania połączeń przeznaczonych do obsługi niedużego ruchu. Połączenie ISDN było w tym przypadku jedyną drogą komunikacji między routerami obsługującymi odległe oddziały firmy. Teraz zajmiemy się innymi zastosowaniami interfejsów ISDN BRI. Na poniższym rysunku routery łączące dwa oddziały firmy, oprócz bezpośredniego, dzierżawionego łącza poprzez sieć WAN (np. Frame Relay), mają możliwość zestawiania dodzwanianego połączenia ISDN.
W tym przykładzie połączenie dodzwaniane poprzez interfejsy BRI może
pełnić rolę łącza zapasowego względem stałych obwodów PVC zestawionych przy
użyciu sieci Frame Relay. Podstawowym powodem jest zapewnienie łączności między
dwoma oddziałami firmy w przypadku uszkodzenia linii podstawowej. Jeśli nie ma
pakietów podtrzymujących połączenie keepalive lub wykryto brak nośnej (carrier
detect) na linii podstawowej, aktywowany jest interfejs zapasowy. W sytuacji
przeciążenia linii podstawowej powyżej zdefiniowanego progu uruchomienie
interfejsu zapasowego pozwala zwiększyć efektywną przepustowość dzięki
jednoczesnemu wykorzystaniu połączeń: podstawowego i zapasowego. Bazując na
powyższym rysunku, określimy interfejs BRI 0/0 na routerze C2600 jako zapasowy
dla interfejsu Serial 0/0. W tym celu w konfiguracji interfejsu Serial 0/0
wykonujemy polecenie:
C2600(config-if)#backup interface BRI 0/0
Dodatkowo za pomocą komendy backup delay określamy czas opóźnienia między uszkodzeniem łącza podstawowego a uruchomieniem interfejsu zapasowego oraz czas opóźnienia między ponownym włączeniem linii podstawowej a dezaktywacją interfejsu zapasowego. Obydwa czasy wyrażane są w sekundach; zastosowanie wartości never zabezpiecza interfejs drugorzędny przed aktywacją lub dezaktywacją. W poniższym przykładzie interfejs zapasowy uaktywniany jest po 60 sekundach od upadku linii podstawowej (Serial 0/0) i nigdy nie jest dezaktywowany. Zastosowanie opcji never jako czasu dezaktywacji zalecane jest tylko wówczas, gdy zapasowe połączenie dodzwaniane nie jest zbyt kosztowne:
C2600(config-if)#backup delay 60 never
Przeanalizujmy następujący przykład. Na interfejsach szeregowych Serial 0/0 routerów C2600 i C2600BIS skonfigurowano protokół Frame Relay. Interfejsy te pełnią rolę linii podstawowej. Interfejsy BRI 0/0 skonfigurowano jako drugorzędne (dla Serial 0/0) - patrz rys. Następnie na obydwu routerach włączono protokół routingu dynamicznego RIP dla wszystkich sieci lokalnych (dla routera C2600 są to sieci 212.1.1.0, 198.1.1.0 i 199.1.1.0) i dodatkowo do tabeli routingu wpisano statyczną trasę do sieci lokalnej sąsiada z parametrem dystansu administratorskiego równym 150 (większy niż 120 protokołu RIP), wiodącą przez interfejs BRI 0/0:
C2600(config)#ip route 215.1.1.0 255.255.255.0 199.1.1.2 150
W efekcie przy normalnej pracy interfejsu Serial 0/0 w tabeli routingu routera C2600 pojawi się dynamicznie sieć 215.1.1.0 (C2600BIS), zgłaszana protokołem RIP przez interfejs szeregowy.
C2600#sh ip route C 212.1.1.0/24 is directly connected, Ethernet0/0 R 215.1.1.0/24 [120/1] via 198.1.1.2, 00:00:02, Serial0/0 C 198.1.1.0/24 is directly connected, Serial0/0
Zauważmy, że trasa statyczna związana z interfejsem BRI 0/0 nie pojawia się w tabeli. Również sieć lokalna 199.1.1.0 interfejsu BRI 0/0 nie występuje w tabeli routingu. Wynika to z tego, że po określeniu interfejsu jako zapasowego jest on automatycznie blokowany i ustawiany w tryb oczekiwania standby. Dopóki działa interfejs podstawowy, drugorzędny nie może być wykorzystany. Status pracy interfejsu BRI 0/0 wyświetlić można poleceniem show interfaces BRI 0/0.
Po wyłączeniu interfejsu podstawowego (np. poleceniem no clock rate w konfiguracji Serial 0/0) i po upływie zadeklarowanego czasu opóźnienia (60 sekund), uaktywniony zostanie interfejs BRI 0/0, a razem z nim w tabeli routingu pojawi się trasa statyczna prowadząca do sieci lokalnej sąsiada:
C2600#sh ip route C 212.1.1.0/24 is directly connected, Ethernet0/0 C 199.1.1.0/24 is directly connected, BRI0/0 S 215.1.1.0/24 [150/0] via 199.1.1.2
Mimo że wszystkie sieci i interfejsy zostały zadeklarowane w protokole RIP, w tabeli routingu nie pojawiają się żadne zgłoszenia dynamiczne uzyskane przez interfejs BRI 0/0. Aktualizacje protokołu RIP nie mogą być rozgłaszane przez interfejs BRI 0/0, dopóki w poleceniu dialer map nie zastosujemy opcji broadcast:
C2600(config-if) #dialer map ip 199.1.1.2 name C2600BIS 60 broadcast
Należy pamiętać, że uaktywnienie interfejsu drugorzędnego nie jest równoznaczne z automatycznym ustanowieniem połączenia dodzwanianego, o czym przekonać można się po sprawdzeniu stanu pracy kanałów BRI B1 i B2:
C2600#show interfaces BRI0/0:1 BRI0/0:1 is down, line protocol is down
Dopiero wygenerowanie ruchu związanego np. z siecią 215.1.1.0 umożliwi fizyczne nawiązanie połączenia przez interfejs BRI 0/0. Warto zauważyć, że po ponownym uruchomieniu interfejsu podstawowego, po określonym czasie opóźnienia interfejs zapasowy i związane z nim trasy routingu zostaną wyłączone. W naszym przykładzie zastosowaliśmy jednak w poleceniu backup delay opcję never, co w praktyce oznacza, że interfejs drugorzędny nie zostanie wyłączony i w tabeli routingu pojawią się trasy związane zarówno z linią podstawową, jak i zapasową (protokół RIP wypiera trasę statyczną do sieci 215.1.1.0):
C2600#sh ip route C 212.1.1.0/24 is directly connected, Ethernet0/0 C 199.1.1.0/24 is directly connected, BRI0/0 R 215.1.1.0/24 [120/1] via 198.1.1.2, 00:00:23, Serial0/0 C 198.1.1.0/24 is directly connected, Serial0/0
Ponowne włączenie trybu oczekiwania standby dla interfejsu zapasowego BRI 0/0 realizuje się ręcznie sekwencją poleceń shutdown i no shutdown.
| Konkretny interfejs fizyczny (np. BRI 0/0) może być skonfigurowany jako drugorzędny tylko dla jednego interfejsu głównego (np. Serial 0/0 albo Serial 0/1), ale nie dla obydwu. |
Innym sposobem zastosowania interfejsu drugorzędnego jest uruchamianie go w razie nadmiernego ruchu na linii podstawowej. Okresowe przeciążanie interfejsu podstawowego skutkuje aktywacją interfejsu zapasowego i w efekcie transmisja danych realizowana będzie przez obydwa łącza. Konfigurujemy ten mechanizm poleceniem konfiguracyjnym interfejsu backup load [próg_aktywacji | never] [próg_dezaktywacji | never].
Pierwszy parametr oznacza brzegowy próg obciążenia, powyżej którego uruchamiany jest interfejs zapasowy. Wyrażany jest on jako procent całego dostępnego pasma dla linii podstawowej. Interfejs zapasowy uaktywniany jest, gdy średnia ważona ruchu na linii podstawowej obliczona z ostatnich pięciu minut przekroczy dozwoloną wartość. Drugi parametr to wartość progowa obciążenia, poniżej której dezaktywowany jest interfejs drugorzędny. Obydwa parametry komendy backup load mogą przyjmować wartość never, co oznaczałoby kolejno brak aktywacji w ogóle oraz brak dezaktywacji łącza zapasowego. W poniższym przykładzie interfejs drugorzędny uruchamiany będzie, gdy ruch na linii podstawowej przekroczy 50 procent dostępnego pasma. Interfejs zapasowy zostanie wyłączony, gdy łączne obciążenie obydwu linii spadnie poniżej 10 procent dostępnego pasma linii podstawowej:
C2600(config-if)#backup load 50 10
Wróćmy jeszcze do omawianego przykładu dwu routerów C2600 i C2600BIS. Załóżmy, że w konfiguracji interfejsów Serial 0/0 wykonano polecenie backup load, a dodatkowo zmodyfikowano komendę dialer map w interfejsach BRI 0/0, tak aby umożliwić przesyłanie komunikacji rozgłoszeniowej (broadcast), czyli działanie protokołu RIP. Po uaktywnieniu interfejsu zapasowego (BRI 0/0) z powodu nadmiernego ruchu na linii podstawowej (Serial 0/0) w tabeli routingu routera C2600 pojawią się dwie równoległe (z jednakową metryką) trasy do sieci 215.1.1.0 - przez interfejs Serial 0/0 i BRI 0/0:
C2600#sh ip route
C 212.1.1.0/24 is directly connected, Ethernet0/0
199.1.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 199.1.1.2/32 is directly connected, BRI0/0
C 199.1.1.0/24 is directly connected, BRI0/0
R 215.1.1.0/24 [120/1] via 198.1.1.2, 00:00:17, Serial0/0
[120/1] via 199.1.1.2, 00:00:17, BRI0/0
C 198.1.1.0/24 is directly connected, Serial0/0
Interfejs fizyczny BRI 0/0, skonfigurowany jako zapasowy dla innego interfejsu (np. Serial 0/0), uruchamiany jest w trybie nieaktywnym standby i nie może być wykorzystany do innych celów, np. do realizacji połączeń na żądanie DDR z zupełnie innym routerem zdalnym. Rozwiązaniem tego problemu jest zastosowanie tzw. profili wyboru połączenia (dialer profiles). Jest to dość rozbudowany i złożony mechanizm, skupimy się więc tylko na tych jego elementach, które pozwolą wykorzystać fizyczny interfejs BRI 0/0 jako linię zapasową dla innego interfejsu podstawowego, ale jednocześnie ten sam interfejs BRI 0/0 będzie stosowany w ramach routingu na żądanie DDR. We wcześniejszych przykładach konfigurowaliśmy bezpośrednio interfejs fizyczny (BRI 0/0), co określało zawsze te same warunki połączeń realizowanych przez ten interfejs. Dzięki zastosowaniu profili połączeń można przygotować zestawy unikatowych opcji wykorzystywanych niezależnie do komunikacji z różnymi odległymi węzłami.
Charakterystycznym elementem połączeń profilowych są interfejsy typu
dialer, określające warunki połączenia z konkretnym punktem docelowym. Są to
interfejsy logiczne, w ramach których określamy m.in.: adres warstwy sieciowej,
typ hermetyzacji, sposób uwierzytelniania, sposób ustanawiania połączenia.
Interfejsy typu dialer pozwalają więc przenieść część poleceń konfiguracyjnych z
poziomu interfejsu fizycznego (np. BRI 0/0) do interfejsu profilowego. Interfejs
logiczny dialer powiązany jest z pulą interfejsów fizycznych, z których może
korzystać. W praktyce, jeśli router chce zestawić połączenie przez interfejs
dialer, wybiera z powiązanej z nim grupy jeden z interfejsów fizycznych. Po
zakończeniu wywołania interfejs fizyczny zwracany jest do puli. Jeden interfejs
fizyczny może należeć do kilku grup, stąd różne interfejsy dialer powiązane z
różnymi pulami mogą w praktyce korzystać z tego samego interfejsu fizycznego.
Polecenia konfiguracyjne dotyczące profilowych połączeń dodzwanianych omówimy na
przykładzie pokazanym na rysunku.
Router C2600 połączony jest z routerem C2600BIS poprzez sieć Frame Relay, jest to linia podstawowa. Połączenie przez sieć ISDN ma stanowić linię zapasową, jednocześnie chcielibyśmy, aby interfejs BRI 0/0 routera C2600 mógł być wykorzystywany przez routing na żądanie DDR w komunikacji z routerem C2600BISB. W tym celu na routerze C2600 tworzymy dwa interfejsy dialer, odpowiednio Dialer 1 i Dialer 2 (poleceniem konfiguracyjnym interface Dialer numer). Dialer 1 obsługiwać będzie połączenie zapasowe, Dialer 2 routing DDR.W ramach każdego z nich określamy odpowiedni adres IP, hermetyzację PPP oraz typ uwierzytelniania CHAP. Poleceniem dialer pool przypisujemy je odpowiednio do puli interfejsów fizycznych numer 1 i 2. Następnie w każdym interfejsie dialer określamy nazwę zdalnego routera (dialer remote-name) oraz wywołujemy numer do ustanowienia połączenia (dialer string). Poniżej pełna konfiguracja interfejsów Dialer 1 i Dialer 2 (polecenie dialer-group 5, tak jak opisywaliśmy wcześniej, dotyczy ruchu oczekiwanego):
interface Dialer1 ip address 199.1.1.1 255.255.255.0 encapsulation ppp dialer pool 1 dialer remote-name C2600BIS dialer string 60 dialer-group 5 ppp authentication chap ! interface Dialer2 ip address 197.1.1.1 255.255.255.0 encapsulation ppp dialer pool 2 dialer remote-name C2600BISB dialer string 62 dialer-group 5 ppp authentication chap
W konfiguracji interfejsu fizycznego należy tylko włączyć typ hermetyzacji oraz sposób uwierzytelniania (jest to niezbędne do właściwego odbierania wywołań) oraz przypisać go do odpowiednich grup interfejsów fizycznych (dialer pool-member):
interface BRI0/0 no ip address encapsulation ppp dialer pool-member 1 dialer pool-member 2 isdn switch-type basic-net3 ppp authentication chap
W kolejnym punkcie interfejs Dialer 1 włączamy jako drugorzędny dla interfejsu Serial 0/0:
interface Serial0/0 backup interface Dialer2
Ponieważ jako interfejs zapasowy podany został Dialer 1, a nie BRI 0/0, ten ostatni nie będzie blokowany w trybie standby i dzięki temu dostępny dla połączeń DDR realizowanych poprzez interfejs Dialer 2. Poniżej przedstawiamy zawartość tabeli routingu przy poprawnej pracy interfejsu Serial 0/0. Na routerach C2600 i C2600BIS uruchomiony jest protokół RIP. Zwróćmy uwagę na sieć związaną z interfejsem Dialer 2 (przy odwołaniu do sieci 197.1.1.0 ustanowione zostanie połączenie DDR z routerem C2600BISB):
C2600#sh ip route C 197.1.1.0/24 is directly connected, Dialer2 C 212.1.1.0/24 is directly connected, Ethernet0/0 R 215.1.1.0/24 [120/1] via 198.1.1.2, 00:00:07, Serial0/0 C 198.1.1.0/24 is directly connected, Serial0/0
Po awarii interfejsu Serial 0/0 aktywowany jest interfejs zapasowy Dialer 1. Ponieważ w konfiguracji protokołu RIP wykonano polecenie passive-interface Dialer 1, w tabeli routingu pojawia się wpis statyczny:
C2600#sh ip route C 197.1.1.0/24 is directly connected, Dialer2 C 212.1.1.0/24 is directly connected, Ethernet0/0 C 199.1.1.0/24 is directly connected, Dialer1 S 215.1.1.0/24 [150/0] via 199.1.1.2
W połączeniu typu multilink kilka linii fizycznych tworzyć
może jedno połączenie logiczne, a dzięki równoważeniu ruchu na kilku
równoległych łączach uzyskujemy znacznie większą przepustowość. Mechanizm
multilink jest cechą protokołu PPP, a dokładniej opcją negocjowaną w ramach
protokołu LCP. Zajmiemy się standardem multilink PPP (w skrócie MP)
opublikowanym w dokumencie RFC 1990. Mechanizm ten pozwala dzielić pakiety na
fragmenty, które są następnie wysyłane jednocześnie przez kilka równoległych
linii punkt-punkt do tego samego adresu zdalnego. Kolejne linie połączenia
multilink uruchamiane są na żądanie, zgodnie ze zdefiniowanym progiem
obciążenia, przy czym obciążenie może być obliczane dla ruchu wchodzącego,
wychodzącego lub badane w obie strony. Praktyczną konfigurację mechanizmu
multilink przeprowadzimy dla sytuacji, w której dwa routery C2600 i C2600BIS
komunikują się między sobą tylko poprzez sieć ISDN, a opcja multilink polegać
będzie na agregacji obydwu kanałów B interfejsu BRI 0/0 - patrz
rysunek.
Oprócz omawianych już poleceń konfiguracyjnych, w ramach interfejsu BRI 0/0 należy włączyć opcję multilink komendą ppp multilink. Następnie określamy progową wartość obciążenia, po przekroczeniu której aktywowany jest drugi kanał B (początkowo wykorzystywany jest tylko jeden kanał). Realizuje się to poleceniem dialer load-threshold próg [inbound | outbound | either]. Parametr pierwszy próg może przyjmować wartość od 1 do 255 i określa, ile procent przepustowości pierwszego kanału B musi zostać wykorzystane, zanim uaktywniony będzie kanał drugi. Podawana tu wartość ma znaczenie procentowe, na przykład 128 oznacza 50 procent, a 255 to 100 procent dostępnej przepustowości. Wartość 1 dla parametru próg oznacza, iż drugi kanał będzie uruchamiany od razu. Drugi parametr polecenia dialer load-threshold wybiera kierunek, dla którego sprawdza się obciążenie (either oznacza zarówno ruch wejściowy, jak i wyjściowy). Oto przykładowa konfiguracja interfejsu BRI 0/0 dla routera C2600:
C2600(config-if)#ppp multilink C2600(config-if)#dialer load-threshold 128 either
Proces ustanawiania połączenia PPP z wykorzystaniem opcji multilink obserwować można za pomocą polecenia debug (debug dialer, debug isdn q931, debug isdn events, debug ppp multilink, debug ppp negotiation). Stan pracy kanałów B1 i B2 interfejsu BRI wykorzystywanych w połączeniu multilink weryfikować można za pomocą poleceń show interfaces, show ppp multilink, show isdn status, show dialer.