INFRASTRUKTURA LABORATORIUM ROUTINGU MIĘDZYDOMENOWEGO



Podobne dokumenty
POLITECHNIKA WARSZAWSKA. Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji PRACA DYPLOMOWA MAGISTERSKA

POLITECHNIKA WARSZAWSKA. Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji PRACA DYPLOMOWA MAGISTERSKA

ISP od strony technicznej. Fryderyk Raczyk

Adresy w sieciach komputerowych

Konfigurowanie protokołu BGP w systemie Linux

Simple Network Management Protocol

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

Wykład 3: Internet i routing globalny. A. Kisiel, Internet i routing globalny

Zarządzanie sieciami komputerowymi - wprowadzenie

ZST Wykład (lato 2014)

Routing. mgr inż. Krzysztof Szałajko

Institute of Telecommunications. koniec wykładu III.

Warstwa sieciowa rutowanie

Wprowadzenie Management Information Base (MIB) Simple Network Management Protocol (SNMP) Polecenia SNMP Narzędzia na przykładzie MIB Browser (GUI)

Protokół BGP Podstawy i najlepsze praktyki Wersja 1.0

Sieć komputerowa Adresy sprzętowe Adresy logiczne System adresacji IP (wersja IPv4)

Warstwa sieciowa. Adresowanie IP. Zadania. Warstwa sieciowa ćwiczenie 5

Model sieci OSI, protokoły sieciowe, adresy IP

B Instrukcja do ćwiczenia

1.1 Ustawienie adresów IP oraz masek portów routera za pomocą konsoli

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Komunikacja w sieciach komputerowych

MODEL WARSTWOWY PROTOKOŁY TCP/IP

ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 1 Seria: Teleinformatyka 2012

Akademia Techniczno-Humanistyczna w Bielsku-Białej

ZiMSK NAT, PAT, ACL 1

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Sieci komputerowe. Routing. dr inż. Andrzej Opaliński. Akademia Górniczo-Hutnicza w Krakowie.

Routing dynamiczny... 2 Czym jest metryka i odległość administracyjna?... 3 RIPv RIPv Interfejs pasywny... 5 Podzielony horyzont...

PORADNIKI. Routery i Sieci

Księgarnia PWN: Mark McGregor Akademia sieci cisco. Semestr piąty

RUTERY. Dr inŝ. Małgorzata Langer

Protokoły sieciowe - TCP/IP

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PODSTAWY RUTINGU IP. WSTĘP DO SIECI INTERNET Kraków, dn. 7 listopada 2016 r.

Raport dotyczący przeprowadzonych zmian w aplikacji

WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU BIAŁYSTOK, ul. Ciepła 40 filia w EŁKU, ul. Grunwaldzka

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Routing - wstęp... 2 Routing statyczny... 3 Konfiguracja routingu statycznego IPv Konfiguracja routingu statycznego IPv6...

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Praktyczne aspekty implementacji IGP

Konfigurowanie protokołu BGP w ruterach Cisco

ZiMSK. Routing dynamiczny 1

Sieci komputerowe - administracja

Sieci komputerowe. Wykład 3: Protokół IP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski. Sieci komputerowe (II UWr) Wykład 3 1 / 24

ADRESY PRYWATNE W IPv4

1. Podstawy routingu IP

Uproszczenie mechanizmów przekazywania pakietów w ruterach

Podstawy MPLS. PLNOG4, 4 Marzec 2010, Warszawa 1

Celem ćwiczenia jest zapoznanie się z zarządzaniem urządzeniami sieciowymi za pomocą protokołu SNMP.

PBS. Wykład Zabezpieczenie przełączników i dostępu do sieci LAN

Dr Michał Tanaś(

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

Sieci Komputerowe. Zadania warstwy sieciowej. Adres IP. Przydzielanie adresów IP. Adresacja logiczna Trasowanie (ang. routing)

BGP. Piotr Marciniak (TPnets.com/KIKE) Ożarów Mazowiecki, 26 marca 2010 r.

Adresacja IPv4 - podstawy

SIECI KOMPUTEROWE Adresowanie IP

Plan wykładu. Wyznaczanie tras. Podsieci liczba urządzeń w klasie C. Funkcje warstwy sieciowej

ZiMSK. VLAN, trunk, intervlan-routing 1

Model OSI. mgr inż. Krzysztof Szałajko

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa

Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak

Translacja adresów - NAT (Network Address Translation)

Systemy operacyjne i sieci komputerowe Szymon Wilk Adresowanie w sieciach Klasy adresów IP a) klasa A

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny

Analysis of PCE-based path optimization in multi-domain SDN/MPLS/BGP-LS network

Wybrane Zagadnienia Administrowania Sieciami. Dr inż. Robert Banasiak

Routing i protokoły routingu

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Sieci komputerowe. Wykład 3: Protokół IP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski. Sieci komputerowe (II UWr) Wykład 3 1 / 25

Konfiguracja połączenia G.SHDSL punkt-punkt w trybie routing w oparciu o routery P-791R.

WPROWADZENIE DO PROTOKOŁU BGP (BORDER GATEWAY PROTOCOL)

Funkcje warstwy sieciowej. Podstawy wyznaczania tras. Dostarczenie pakietu od nadawcy od odbiorcy (RIP, IGRP, OSPF, EGP, BGP)

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.

OSI Network Layer. Network Fundamentals Chapter 5. ITE PC v4.0 Chapter Cisco Systems, Inc. All rights reserved.

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

MODEL OSI A INTERNET

Protokół zarządzania siecią SNMP

Plan i problematyka wykładu. Sieci komputerowe IPv6. Rozwój sieci Internet. Dlaczego IPv6? Przykład zatykania dziur w funkcjonalności IPv4 - NAT

SNMP, wersje 1, 2c i 3

(secure) ROUTING WITH OSPF AND BGP FOR FUN, FUN & FUN. Łukasz Bromirski. lukasz@bromirski.net

PBS. Wykład Routing dynamiczny OSPF EIGRP 2. Rozwiązywanie problemów z obsługą routingu.

podstawowa obsługa panelu administracyjnego

Rok szkolny 2014/15 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. SIECI KOMPUTEROWE kl. 2c

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Struktura adresu IP v4

pasja-informatyki.pl

Przesyłania danych przez protokół TCP/IP

Sterowanie ruchem w sieciach szkieletowych

Konfigurowanie sieci VLAN

Księgarnia PWN: Mark McGregor Akademia sieci cisco. Semestr szósty

Sieci komputerowe. Wstęp

ZiMSK. Routing statyczny, ICMP 1

Sieci Komputerowe Modele warstwowe sieci

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Routowanie we współczesnym Internecie. Adam Bielański

Transkrypt:

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji PRACA DYPLOMOWA INŻYNIERSKA Łukasz Dobrodziej, Jakub Maćkowiak INFRASTRUKTURA LABORATORIUM ROUTINGU MIĘDZYDOMENOWEGO Opiekun naukowy: mgr inż. Mariusz Mycek.............................. ocena pracy.............................. data i podpis Przewodniczącego Komisji Egzaminacyjnej Warszawa, wrzesień 2010

LABORATORY INFRASTRUCTURE FOR INTER-DOMAIN ROUTING Abstract The aim of the present thesis is to develop laboratory infrastructure for implementing Border Gateway Protocol (BGP), which can be used by students on the practical laboratories. The laboratory infrastructure consists of router emulator and the front-end application allowing improvement of the router configuration and assessment, validation and graduation of performed tasks. The thesis is an extension of the work developed by Piotr Nowak and Piotr Zwierzchowski containing three exercises related with configuring BGP protocol. The developed environment has been assessed with the selected router emulator and application. Furthermore, experimental laboratory for students was conducted with the usage of developed environment and a chosen exercise. The application together with developed exercises can be used during the other laboratories run at the Institute of Telecommunications. The developed environment improve students understandings of the rules and configuring process of inter-domain traffic flow control on the Internet, as well as methodology of configuring routers. Moreover, includes functionality, which allows extending program of laboratories, by the practical usage of the Simple Network Management Protocol (SNMP) and Management Information Base (MIB). The router emulator makes possible to run laboratories with minimal resources and time. In Chapter 2, the structure and organization of the Internet is given, which is essential to the understanding of the motivation for usage of the BGP protocol. Chapter 3 is focused on the BGP protocol. It includes detailed description of UPDATE message attributes and samples of using it in traffic flow control. All issues related to the management of telecommunications networks can be found in Chapter 4. The SNMP protocol used by the application is introduced, and the discussion on the Structure of Management Information (SMI) and MIB base is done. Chapter 5 begins with the concept of the laboratory scenario and description of the application. In the following parts of the chapter, the application specification and functionality, together with some clues related to the further development can be found. In Chapter 6, the final conclusion of the work is presented. Appendixes consisting of emulator report and other manuals (i.e., laboratory instruction, application manual, application documentation), constitute the integral part of the present thesis. Keywords: BGP, SNMP

INFRASTRUKTURA LABORATORIUM ROUTINGU MIĘDZYDOMENOWEGO Streszczenie Celem niniejszej pracy było zaprojektowanie i zbudowanie infrastruktury, która umożliwi przeprowadzanie ćwiczeń laboratoryjnych, mających na celu zaznajomienie studentów z konfigurowaniem protokołu BGP (ang. Border Gateway Protocol). Infrastruktura składa się z wybranego emulatora routerów oraz aplikacji, której podstawowym zadaniem jest wspomaganie konfigurowania routerów oraz automatyczna weryfikacja i ocena wykonanych ćwiczeń laboratoryjnych. Praca stanowi kontynuacje pracy magisterskiej Piotra Nowaka i Piotra Zwierzchowskiego, którzy opracowali zestaw trzech ćwiczeń laboratoryjnych dotyczących konfigurowania protokołu BGP. Poprawność ćwiczeń została sprawdzona na wybranym emulatorze routerów a ćwiczenia wykonane z wykorzystaniem stworzonej aplikacji. W ramach pracy zostało również przeprowadzone testowe laboratorium z udziałem studentów uczęszczających na zajęcia z przedmiotu Zarządzanie Sieciami Telekomunikacyjnymi z wykorzystaniem stworzonego środowiska i jednego z przygotowanych scenariuszy. Aplikacja wraz ze stworzonymi scenariuszami, może zostać wykorzystana w ramach laboratorium z przedmiotów prowadzonych w Instytucie Telekomunikacji. Ćwiczenia wykonywane z użyciem programu, umożliwią studentom głębsze zapoznanie się z zasadami i procesem konfigurowania rozpływu ruchu międzydomenowego w sieci Internet, jak również ze środkami i metodami implementowania tych zasad w routerach. Ponadto aplikacja zawiera funkcje, które pozwalają urozmaicić ćwiczenie i rozszerzyć jego zakres o praktyczne wykorzystanie protokołu SNMP (ang. Simple Network Management Protocol) i bazy MIB (ang. Management Information Base). Zaproponowany emulator routerów pozwala na zorganizowanie laboratoriów przy minimalnym nakładzie środków i czasu. W rozdziale drugim opisano strukturę i organizację sieci Internet, których poznanie jest niezbędne do zrozumienia mechanizmów i zastosowań protokołu BGP. Rozdział trzeci poświęcony jest protokołowi BGP - zawiera opis atrybutów wiadomości UPDATE oraz ich przykładowe wykorzystanie w sterowaniu rozpływem ruchu międzydomenowego. Rozdział czwarty przedstawia zarys problemu zarządzania w sieciach telekomunikacyjnych, obejmuje opis protokołu SNMP, wykorzystywanego przez stworzoną aplikacje, a także omówienie struktury SMI (ang. Structure of Management Information) i bazy MIB w szczególności bazy informacji zarządzania protokołu BGP. Rozdział piąty przedstawia koncepcję ćwiczeń laboratoryjnych oraz opis aplikacji. Zaprezentowana jest w nim architektura rozwiązania, funkcjonalność programu a także możliwe kierunki rozwoju aplikacji. Rozdział szósty stanowi podsumowanie pracy. Integralną częścią niniejszej pracy jest zestaw załączników przygotowanych w czasie prac nad laboratorium i programem - raport dotyczący możliwości i obsługi wybranego emulatora routerów, instrukcja obsługi aplikacji, instrukcja do laboratorium oraz szczegółowa dokumentacja aplikacji. Słowa kluczowe: BGP, SNMP

Życiorys Łukasz Dobrodziej Urodziłem się 24 grudnia 1987 roku w Warszawie. W latach 2003-2006 uczęszczałem do XCIV Liceum Ogólnokształcącego im. gen. Stanisława Maczka w Warszawie do klasy o profilu matematyczno - informatycznym. W roku 2006 rozpocząłem studia dzienne na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej na Makrokierunku. Wybrana przeze mnie specjalność to Teleinformatyka i Zarządzanie w Telekomunikacji.

Życiorys Jakub Maćkowiak Urodziłem się 25 czerwca 1987 roku w Koszalinie. Po ukończeniu szkoły podstawowej i gimnazjalnej, kontynuowałem naukę w I Liceum Ogólnokształcącym im. Stanisława Duboisa w Koszalinie w klasie o profilu matematyczno - informatycznym. W roku 2006 rozpocząłem studia dzienne na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej na kierunku Makrokierunek. Wybrana przeze mnie specjalność to Teleinformatyka i Zarządzanie w Telekomunikacji.

Autorzy skadają podziękowania Panu mgr inż. Mariuszowi Myckowi za nieocenioną pomoc w trakcie pisania niniejszej pracy.

Spis treści Spis rysunków 17 Wykaz skrótów 19 1 Wstęp (ŁD) 21 1.1 Wprowadzenie.................................. 21 1.2 Cel pracy.................................... 22 1.3 Układ pracy................................... 23 2 Sieć Internet (JM) 25 2.1 Rozwój Internetu................................ 25 2.2 Struktura sieci Internet............................. 25 2.3 Adresacja w sieci Internet, numeracja ASN.................. 27 3 Protokół BGP (ŁD) 29 3.1 Wprowadzenie.................................. 29 3.2 Sesja BGP.................................... 29 3.2.1 Przebieg sesji.............................. 29 3.2.2 Rodzaje sesji.............................. 30 3.3 Atrybuty wiadomości UPDATE........................ 31 3.3.1 Atrybut Next Hop........................... 32 3.3.2 Atrybut As Path............................ 33 3.3.3 Atrybut Origin............................. 35 3.3.4 Atrybut Local Pref........................... 35 3.3.5 Atrybut Atomic Aggregate....................... 36 3.3.6 Atrybut Aggregator........................... 36 3.3.7 Atrybut Community.......................... 37 3.3.8 Atrybut Multi Exit Disc........................ 38 3.4 Proces wyboru najlepszej ścieżki........................ 39 13

Spis treści 4 Systemy zarządzania SNMP (JM/ŁD) 41 4.1 Wprowadzenie (JM).............................. 41 4.2 Systemy zarządzania (JM)........................... 41 4.2.1 Warstwy zarządzania.......................... 41 4.2.2 Obszary funkcjonalne.......................... 42 4.3 Architektura systemów zarządzania (JM)................... 43 4.4 Normalizacja protokołu SNMP (JM)..................... 44 4.4.1 Rozwój protokołu SNMP........................ 44 4.4.2 Protokół SNMP............................. 45 4.4.3 Składnia wiadomości SNMP...................... 46 4.4.4 Typy błędów (error-status)....................... 48 4.5 Baza informacji zarządzania MIB (JM).................... 49 4.5.1 Podstawowe informacje o MIB..................... 49 4.5.2 Struktura informacji zarządzania................... 51 4.5.3 Raportowanie zdarzeń......................... 53 4.5.4 Typy zmiennych w SMI........................ 54 4.5.5 Standardowa baza informacji zarządzania MIB-2.......... 55 4.6 Baza MIB protokołu BGP (ŁD)........................ 56 4.6.1 Tabela bgppeertable.......................... 58 4.6.2 Tabela Bgp4PathAttrTable....................... 59 4.7 Problemy i wady protokołu SNMP (JM)................... 61 5 Koncepcja laboratoriów (JM/ŁD) 63 5.1 Ćwiczenia laboratoryjne (ŁD)......................... 63 5.2 Opis aplikacji (JM)............................... 65 5.2.1 Architektura rozwiązania........................ 65 5.2.2 Założenia projektowe.......................... 66 5.2.3 Funkcjonalność aplikacji........................ 67 5.2.4 Propozycje rozwoju środowiska laboratoryjnego........... 68 14

6 Podsumowanie (JM) 69 Literatura 71 Załączniki (JM/ŁD) 73 A Narzędzia Dynagen, Dynamips - opis funkcjonalności (ŁD)......... 73 B Instrukcja do ćwiczenia (ŁD)......................... 83 C Instrukcja obsługi aplikacji (JM)....................... 91 D Dokumentacja aplikacji (JM/ŁD)....................... 101 (ŁD) Łukasz Dobrodziej (JM) Jakub Maćkowiak

Spis rysunków 2.1 Hierarchia systemów AS sieci Internet..................... 27 2.2 Liczba przydzielonych numerów ASN..................... 28 3.1 Sesja ebgp................................... 30 3.2 Sesja ibgp................................... 31 3.3 Atrybut Next Hop................................ 32 3.4 Atrybut As Path................................ 33 3.5 As Path prepending............................... 34 3.6 As Path wykrywanie pętli.......................... 35 3.7 Atrybut Local Pref............................... 36 3.8 Atrybut Community.............................. 38 3.9 Atrybut Multi Exit Disc............................ 39 4.1 Model zarządca-agent.............................. 43 4.2 Drzewo MIB................................... 50 4.3 Baza MIB protokołu BGP........................... 56 4.4 Wybrane obiekty tabeli bgppeertable..................... 58 4.5 Wybrane obiekty tabeli bgp4pathattrtable.................. 59 5.1 Uproszczona architektura środowiska laboratoryjnego............ 66 B.1 Topologia sieci................................. 83 B.2 Tabela interfejsów............................... 84 B.3 Tabela bgppeertable.............................. 85 B.4 Tabela bgp4pathattrtable........................... 86 C.1 Okno początkowe - wprowadzanie informacji na temat Grupy Laboratoryjnej 92 C.2 Widok podstawowy............................... 92 C.3 Widok po odświeżeniu............................. 94 C.4 Wykonywanie zapytań SNMP......................... 95 C.5 Wykonywanie Get Table po SNMP...................... 96 C.6 Funkcja Traceroute............................... 96 17

C.7 Okno oceniania................................. 97 C.8 Okno oceniania (niepowodzenie)....................... 98 C.9 Raport z laboratorium............................. 99 D.1 Architektura rozwiązania........................... 102

Wykaz skrótów AS ASN ASN.1 BGP CIDR ebgp EGP FIB IANA ibgp IEC IGP IP ISO ISP ITU-T MIB MPLS NAT NML NMS OID OSI OS OSS PDU RFC SMI SNMP TCP VPN UDP Autonomous System Autonomous System Number Abstract Syntax Notation One Border Gateway Protocol Classless Inter-Domain Routing exterior BGP Exterior Gateway Protocol Forwarding Information Base Internet Assigned Numbers Authority interior BGP International Electrotechnical Commission Interior Gateway Protocol Internet Protocol International Organization for Standardization Internet Service Provider International Telecommunication Union - Telecommunication Standardization Sector Management Information Base Multiprotocol Label Switching Network Address Translation Network Management Layer Network Management System Object Identifier Open System Interconnection Operations System Operations Support System Protocol Data Unit Request for Comments Structure of Management Information Simple Network Management Protocol Transmission Control Protocol Virtual Private Network User Datagram Protocol 19

1 Wstęp 1.1 Wprowadzenie Internet (ang. inter między, net sieć) to ogólnoświatowa sieć komputerowa, oparta na protokole IP (ang. Internet Protocol). Sieć ta ma charakter zdecentralizowany - składa się z administrowanych niezależnie sieci (systemów autonomicznych), z których każda działa według własnych, wewnętrznie określonych zasad. Pakiety w sieci Internet kierowane są przez routery do podsieci docelowej na podstawie informacji zawartych w tabelach FIB (ang. Fowarding Information Base). Prawidłowe działanie sieci wymaga, aby zawartości tabel FIB wszystkich routerów na drodze pakietu były spójne. Za zapewnienie spójności informacji wszystkich routerów danej domeny routingowej odpowiedzialny jest routing. Routing może być realizowany w płaszczyźnie zarządzania (routing statyczny) lub w płaszczyźnie sterowania (routing dynamiczny). Routing dynamiczny realizowany jest przez urządzenia komunikujące się przy wykorzystaniu protokołu routingowego. Obecnie wyróżnia się dwie podstawowe grupy protokołów routingowych wewnątrzdomenowe IGP (ang. Interior Gateway Protocol) oraz międzydomenowe EGP (ang. Exterior Gateway Protocol). Protokoły grupy IGP służą do wymiany informacji o topologii sieci w jednej domenie administracyjnej. Ich wybór i konfiguracja leżą w gestii administratora systemu autonomicznego. Protokoły te działają praktycznie w każdej domenie sieci a ich poziom złożoności nie jest duży. Zupełnie inaczej wygląda sytuacja w przypadku protokołów EGP, które są wykorzystywane do wymiany informacji pomiędzy systemami autonomicznymi. Najpowszechniejszym protokołem tej klasy jest protokół BGP. Międzydomenowy charakter tego protokołu oraz różnorodność funkcji (rozgłaszanie dostępnych podsieci w formie uogólnionych prefiksów, sterowanie rozpływem ruchu międzydomenowego, ochrona informacji o wewnętrznej strukturze sieci) wymagają od administratora dużej wiedzy i doświadczenia. W konsekwencji nieprawidłowego manipulowania atrybutami protokołu BGP może dojść do przerwania dostarczania usług dla wielu użytkowników końcowych. 21

1 Wstęp Studenci w ramach przedmiotów prowadzonych w Instytucie Telekomunikacji poznają podstawowe cechy i zastosowanie protokołu BGP. Aby umożliwić studentom praktyczne wykorzystanie wiedzy oraz głębsze zapoznanie się z zasadami i procesem rozpływu ruchu międzydomenowego w sieci Internet, powstał pomysł realizacji laboratoriów. Scenariusze laboratoryjne zostały opracowane we wcześniej powstałych pracach dyplomowych Instytutu Telekomunikacji. Do zrealizowania pozostało przygotowanie środowiska, które umożliwiłoby przeprowadzenie ćwiczeń. Podjęliśmy się tego zadania ze względu na złożony i ciekawy charakter zagadnień związanych z konfigurowaniem i kształtowaniem rozpływu ruchu przy użyciu protokołu BGP. Protokół BGP jest wykorzystywany powszechnie w sieci Internet i jego znajomość stanowi duży atut na rynku pracy. 1.2 Cel pracy Celem niniejszej pracy jest zaprojektowanie i zbudowanie infrastruktury do przeprowadzenia ćwiczeń laboratoryjnych, mających na celu zaznajomienie studentów z konfigurowaniem protokołu BGP. Infrastruktura składa się z emulatora routerów oraz aplikacji, której podstawowym zadaniem jest ułatwienie konfigurowania oraz automatyczna weryfikacja i ocena wykonanych ćwiczeń laboratoryjnych. Praca stanowi kontynuacje pracy magisterskiej Piotra Nowaka i Piotra Zwierzchowskiego, którzy opracowali zestaw trzech ćwiczeń laboratoryjnych dotyczących konfigurowania protokołu BGP (patrz [13]). Dodatkowym celem naszej pracy było sprawdzenie poprawności tych ćwiczeń na wybranym emulatorze routerów oraz ich wykonanie z wykorzystaniem stworzonej aplikacji. W ramach pracy zakładaliśmy również przeprowadzenie testowego laboratorium z udziałem studentów z wykorzystaniem stworzonego środowiska i jednego z przygotowanych scenariuszy. Aplikacja wraz ze stworzonymi scenariuszami, może zostać wykorzystana w ramach laboratorium z przedmiotów prowadzonych w Instytucie Telekomunikacji. Ćwiczenia wykonywane z użyciem programu, umożliwią studentom głębsze zapoznanie się z zasadami i procesem konfigurowania rozpływu ruchu międzydomenowego w sieci Internet, jak również ze środkami i metodami implementowania tych zasad w routerach. Ponadto aplikacja zawiera funkcje, które pozwalają urozmaicić ćwiczenie i rozszerzyć jego zakres o praktyczne wykorzystanie protokołu SNMP i bazy informacji zarządzania (MIB). 22

Zaproponowany emulator routerów pozwala na zorganizowanie laboratoriów przy minimalnym nakładzie środków i czasu. 1.3 Układ pracy W czasie pracy nad aplikacją niezbędne było poznanie metod kształtowania rozpływu ruchu międzydomenowego przy pomocy protokołu BGP oraz krytyczna analiza scenariuszy laboratoryjnych przygotowanych przez naszych poprzedników. Osobny rozdział został poświęcony również protokołowi SNMP oraz bazie informacji zarządzania, ponieważ aplikacja w dużej mierze za ich pomocą dokonuje weryfikacji konfiguracji routerów. W rozdziale drugim opisano strukturę i organizację sieci Internet, których poznanie jest niezbędne do zrozumienia mechanizmów i zastosowań protokołu BGP. Rozdział trzeci poświęcony jest protokołowi BGP - zawiera opis atrybutów wiadomości UPDATE oraz ich przykładowego wykorzystania w sterowaniu rozpływem ruchu międzydomenowego. Rozdział czwarty przedstawia zarys problemu zarządzania w sieciach telekomunikacyjnych, obejmuje opis protokołu SNMP, wykorzystywanego przez stworzoną aplikacje, a także omówienie struktury informacji zarządzania (SMI) i bazy MIB w szczególności bazy informacji zarządzania protokołu BGP. Rozdział piąty przedstawia koncepcję ćwiczeń laboratoryjnych oraz opis aplikacji. Zaprezentowana jest w nim architektura rozwiązania, funkcjonalność programu, wykorzystane przy implementacji narzędzia a także możliwe kierunki rozwoju aplikacji i laboratorium. Rozdział szósty stanowi podsumowanie pracy. Integralną częścią niniejszej pracy jest zestaw załączników przygotowanych w czasie prac nad laboratorium i programem - raport dotyczący możliwości i obsługi wybranego emulatora routerów, instrukcja obsługi aplikacji, instrukcja do laboratorium oraz szczegółowa dokumentacja aplikacji.

2 Sieć Internet 2.1 Rozwój Internetu Powstanie sieci Internet zrewolucjonizowało światowy system komunikacji. Możliwość niemal natychmiastowej wymiany informacji między dowolnymi komputerami świecie, łatwy dostęp do informacji, możliwośc wpływania na zawarte w sieci treści, sprawiają, że popularność sieci Internet jest w pełni zrozumiała. Początki sieci Internet datuje się na koniec lat 60, kiedy rząd Stanów Zjednoczonych powołał agencję ARPA (ang. Advanced Research Projects Agency Agencja Zaawansowanych Projektów Badawczych) zajmującą się rozwojem technik wojskowych. W ramach jej działań rozpoczęto prace nad projektem badawczym mającym na celu stworzenie rozproszonej, odpornej na awarie sieci komputerowej. Potencjalne korzyści wynikające z istnienia takiej sieci spowodowały włączenie się do projektu uniwerysteckich ośrodków badawczych. Efektem czego, do roku 1971 do sieci ARPANET dołączonych było 15 instytucji rządowych i akademickich. Wraz z upływem lat sieć rozrastała się coraz szybciej, a wraz jej rozwojem zwiększała się złożoność zagadnień związanych z jej utrzymaniem. Nastąpił gwałtowny rozwój technik sieciowych (protokołów, technik transmisyjnych, urządzeń i systemów zarządzania) mających na celu utrzymanie sprawności sieci pomimo tak ogromnej jej skali. 2.2 Struktura sieci Internet Sieć Internet jest w chwili obecnej zdecentralizowanym zbiorem niezależnych administracyjnie obszarów systemów autonomicznych AS (ang. Autonomous System). System autonomiczny to sieć lub grupa sieci z jednolitymi zasadami routingu, zarządzana przez jeden podmiot. Każdy system autonomiczny AS samodzielnie zajmuje się routingiem wewnątrzdomenowym, stosując jeden lub wiele protokołów routingu wewnątrzdomenowego klasy IGP (ang. Interior Gateway Protocol). Aby zapewnić globalną dostępność podsieci należy umożliwić wymianę informacji o trasach pomiędzy różnymi AS. Wykorzystuje się do tego protokoły routingu międzydomenowego klasy EGP (ang. Exterior Gateway Protocol). Standardowo, we współczesnym Internecie wykorzystywany jest w tym celu protokół BGP (ang. Border Gateway Protocol). Systemy autonomiczne tworzą w Internecie strukturę hierarchiczną. Rys. 2.1 obra- 25

2 Sieć Internet zuje relacje w przykładowej strukturze Internetu i ukazuje podział ze względu na rodzaj i poziom AS w hierarchii. Poziomy te nazywane są Tier. Wyróżniamy trzy poziomy hierarchii Tier w sieci Internet. Sieci będące na szczycie hierarchii (Tier 1 ), definiuje się jako te, które mają dostęp do każdej podsieci w Internecie bez konieczności świadczenia opłat za przesył pakietów. Sieci tego poziomu (ich liczba nie przekracza w chwili obecnej 15) są między sobą połączone (każda z każdą) w relacji typu peer-to-peer. Systemy autonomiczne Tier 1 stanowią szkielet Internetu. Międzynarodowe firmy utrzymujące te sieci świadczą usługi operatorom niższego poziomu hierarchii lub klientom biznesowym mającym duże wymagania odnośnie jakości połączenia z siecią Internet. Na następny poziom hierarchii (Tier 2 ) składają się sieci tranzytowe będące klientami jednego lub wielu operatorów Tier 1. Utrzymują one relacje typu peer-to-peer z innymi operatorami tego samego poziomu (najczęściej pomiędzy operatorami bliskimi pod względem geograficznym, pomiędzy którymi wymieniane są znaczne ilości ruchu). Przykładem takich sieci są duże sieci operatorów krajowych. Najmniejsze wymieniane w tym podziale sieci, należą do poziomu Tier 3. Charakteryzują się one tym, że są sieciami tranzytowymi, korzystającymi z usług jednego lub więcej operatorów poziomu Tier 2. Zazwyczaj są to regionalni dostawcy Internetu. Systemy autonomiczne, które nie są tranzytowe (nie przesyłają ruchu pomiędzy innymi AS), nazywane są stub. Cały ruch, który przekazują pochodzi od/do klientów tej sieci. W zależności od tego czy ich połączenie z siecią Internet jest świadczone odpowiednio przez jednen lub więcej AS, wyróżniamy dwa rodzaje systemów autonomicznych typu stub: single-homed stub i multihomed stub, 26

Rys. 2.1 Hierarchia systemów AS sieci Internet Różnorodność możliwych relacji między systemami autonomicznymi, rozmiar wymienianej informacji routingowej, wymóg minimalnego czasu powrotu sieci do sprawności po wystąpieniu awarii wszystko to sprawia, że zagadnienia związane z routingiem międzydomenowym są zagadnieniami ciekawymi a ich rozwój (w tym rozwój protokołu BGP) jest podstawą istnienia sieci Internet. 2.3 Adresacja w sieci Internet, numeracja ASN Podstawą działania sieci Internet jest jednolita adresacja hostów. Obecnie, wykorzystywana jest adresacja zgodna z protokołem IP w wersji 4. Adresy IPv4 to 32 bitowe liczby, przedstawiane najczęściej w postaci czterech oktetów, zapisanych dziesiętnie i oddzielanych znakiem kropki. Liczba adresów określona w standardzie IPv4 (2 32 ), pomniejszona o adresy zarezerwowane np. dla użytku w sieciach prywatnych lub dla adresów multicast, okazała się niewystarczająca dla rozwijającej się sieci Internet. Wersja 6 protokołu IP 27

wprowadza znacznie większą przestrzeń adresową (128 bitów), jednak chwila wejścia IPv6 do powszechnego użytku zdaje się być, na chwilę obecną odległa. Aby umożliwić efektywniejsze wykorzystanie adresów IPv4 stosuje się mechanizmy translacji adresów NAT (ang. Network Address Translation) i wprowadza bezklasowy routing międzydomenowy CIDR (ang. Classless Inter-Domain Routing). Podobne problemy z wielkością przestrzeni adresowej pojawiają się na poziomie routingu międzydomenowego. Numery systemów autonomicznych ASN (ang. Autonomous System Numbers) były początkowo 16-bitowymi liczbami. Gwałtowny wzrost zapotrzebowania na te numery (patrz Rys. 2.2) okazał się być poważniejszym zagrożeniem niż problem wyczerpujących się adresów IP. Głównym powodem jest brak możliwości przeniesienia mechanizmów stworzonych na potrzeby adresów IP na grunt numeracji systemów autonomicznych. W rezultacie takiego stanu rzeczy w roku 2007 organizacja odpowiedzialna za przydzielanie adresów IP, numerów ASN, nazw domen DNS i innych zasobów związanych z protokołami Internetowymi IANA (ang. Internet Assigned Numbers Authority), poszerzyła przestrzeń numeracji ASN do 32 bitów. Format zapisu numerów ASN składa się obecnie z dwóch 16-bitowych liczb zapisanych dziesiętnie, oddzielonych znakiem kropki (x.y), przy czym stosowane wcześniej numery 16-bitowe odzwierciedlane są przez zapis (0.y). Rys. 2.2 Liczba przydzielonych numerów ASN

3 Protokół BGP 3.1 Wprowadzenie Protokół BGP (ang. Border Gateway Protocol) jest podstawowym protokołem routingu międzydomenowego w sieci Internet. Umożliwia wymianę informacji o dostępnych podsieciach miedzy systemami autonomicznymi. Protokół BGP jest protokołem typu pathvector oznacza to, że wiadomości routingowe przenoszą listę numerów systemów autonomicznych, przez które będą przechodzić pakiety do rozgłaszanej podsieci. Przy pomocy protokołu BGP można kształtować rozpływ ruchu, filtrować ruch, przypisywać reguły routingowe. Routery BGP wymieniają informacje o dostępnych ścieżkach. Gdy istnieje kilka ścieżek do jednej podsieci docelowej, do wyboru najlepszej z nich stosują reguły i parametry administracyjne (tzw. atrybuty). W procesie wyboru najlepszej ścieżki nie uwzględnia się parametrów łączy aktualnego obciążenia, opóźnień transmisji danych oraz strat pakietów. Protokół BGP pozwala na agregację informacji o rozgłaszanych ścieżkach. Dzięki temu między sąsiednimi systemami autonomicznymi wymieniane są jedynie informacje o ścieżkach zagregowanych. Zmniejszana jest w ten sposób liczba wysyłanych rozgłoszeń. 3.2 Sesja BGP Sąsiadujące routery BGP po skonfigurowaniu przez administratora ustanawiają między sobą sesje BGP w celu wymiany wiadomości routingowych. Sesja wykorzystuje stałe, niezawodne połączenie TCP (port 179). 3.2.1 Przebieg sesji W celu nawiązania sesji BGP routery wysyłają wiadomość OPEN. Zawarte są w niej podstawowe informacje potrzebne do określenia sąsiedztwa (numer wersji protokołu, numer ASN, identyfikator BGP routera, liczniki i parametry opcjonalne). Po ustanowieniu sesji, routery BGP przekazują sobie informacje routingowe w wiadomościach UPDATE. Pierwsza wiadomość UPDATE zawiera całą tablicę BGP, kolejne przenoszą informacje 29

3 Protokół BGP o dodawanych bądź usuwanych ścieżkach i związanych z nimi parametrach. Wiadomość UPDATE składa się z dwóch opcjonalnych bloków: blok NLRI (ang. Network Layer Reachability Information), który przenosi listę dostępnych podsieci wraz a atrybutami prowadzących do nich ścieżek; blok WITHDRAW, który przenosi informacje o ścieżkach do podsieci, które należy wycofać. W celu utrzymania sesji BGP, gdy nie zachodzą wymiany informacji routingowych, routery wysyłają wiadomość KEEPALIVE. W ten sposób sygnalizują, że sesja jest wciąż aktywna. Wiadomości KEEPALIVE wysyłane są domyślnie co 60 sekund. Do zakończenia sesji BGP służy wiadomość NOTIFICATION. Wysyłana jest w celu powiadomienia o wystąpieniu błędu związanego z sesją BGP (nieznane pole wiadomości OPEN, upłynięcie określonego czasu od ostatniej wiadomości KEEPALIVE lub UPDATE). Wiadomość NOTIFICATION powoduje zerwanie sesji BGP. Po zakończeniu sesji BGP zostaje również zerwane połączenie TCP. 3.2.2 Rodzaje sesji Istnieją dwa rodzaje sesji BGP. Routery należące do dwóch różnych systemów autonomicznych nawiązują sesję zewnętrzną ebgp (ang. exterior BGP). Za ich pośrednictwem wprowadzane są rozgłoszenia o podsieciach dostępnych w innych systemach autonomicznych (patrz Rys. 3.1). Rys. 3.1 Sesja ebgp Routery BGP należące do jednego systemu autonomicznego muszą utrzymywać spójną informacje o ścieżkach do podsieci w innych systemach autonomicznych. W tym 30

celu routery te ustanawiają sesje wewnętrzne ibgp (ang. interior BGP) przy czym każdy router danego systemu autonomicznego powinien utrzymywać sesję ibgp z każdym innym routerem tego systemu (patrz Rys. 3.2). W przypadku dużych sieci, w celu ograniczenia liczby sesji ibgp stosuje się mechanizmy route-reflector lub confederation. Rys. 3.2 Sesja ibgp 3.3 Atrybuty wiadomości UPDATE Routery BGP przy wyborze najlepszej ścieżki wykorzystują parametry administracyjne, nazywane atrybutami. Atrybuty są związane z konkretną ścieżką i są przesyłane razem z informacją o tej ścieżce w wiadomości UPDATE. Wyróżnia się następujące typy atrybutów wiadomości UPDATE: well-known mandatory atrybuty, które muszą być rozpoznawane przez wszystkie implementacje protokołu (well-known) oraz muszą towarzyszyć każdej ogłaszanej ścieżce (mandatory); well-known discretionary atrybuty, które są rozpoznawane przez wszystkie implementacje protokołu, ale nie muszą być przesyłane razem z ogłaszaną ścieżką (discretionary); optional transitive atrybuty, które nie muszą być rozpoznawane przez implementację (optional), ale jeżeli towarzyszą ogłaszanej ścieżce są wraz z nią przekazywane do innych routerów; 31

3 Protokół BGP optional non-transitive atrybuty, które nie muszą być rozpoznawane przez implementację, ani też przekazane do innych routerów (non-transitive). Poniżej przedstawiono atrybuty protokołu BGP podzielone na wymienione kategorie: well-known well-known optional transitive optional nontransitive mandatory discretionary Next Hop Local Pref Aggregator Multi Exit Disc As Path Atomic Aggregate Community Origin Tab. 3.1 Podział atrybutów BGP 3.3.1 Atrybut Next Hop Atrybut Next Hop zawiera informacje o adresie IP interfejsu kolejnego routera na drodze do sieci docelowej. W zależności od pochodzenia ścieżki, atrybut ma różne znaczenie (patrz Rys. 3.3). Rys. 3.3 Atrybut Next Hop Jeżeli ścieżka została rozgłoszona w sesji ibgp i podsieć docelowa pochodzi z wnętrza systemu autonomicznego, atrybut Next Hop jest adresem routera, który tę podsieć rozgłosił (na Rys. 3.3 router A rozgłasza podsieć 207.112.15.0/24). Każdy router wewnątrz tego samego systemu autonomicznego (router B na Rys. 3.3) zmienia wartość atrybutu Next Hop na adres swojego interfejsu. W przypadku ścieżek rozgłoszonych w sesjach ebgp, atrybut Next Hop wskazuje urządzenie, które przekazuje informacje o ścieżce do danego systemu autonomicznego. 32