KURS SIECI KOMPUTEROWYCH - KONSPEKT Część I Kurs podstawowy zapoznanie ze specyfiką sieci komputerowych 1. Wstęp do kursu zapoznanie się ze specyfiką zagadnienia 1.1. Urządzenia sieciowe typy i funkcjonowanie 1.1.1. Media 1.1.2. Mosty 1.1.3. Routery 1.1.4. Switche 1.1.5. Serwery w sieci 1.1.6. Modemy i połączenia sieciowe 1.2. Środowisko sieciowe 1.2.1. Udostępnianie informacji 1.2.2. Organizacja informacji 1.2.3. Co można a czego nie można 1.3. Schematy i funkcjonalność sieci komputerowej 1.3.1. Pojęcie topologii sieci 1.3.2. Topologia gwiazdy 1.3.3. Topologia magistrali 1.3.4. Wybór najodpowiedniejszych rozwiązań 1.3.5. Rozwiązania stosowane w zależności od ilości komputerów 1.4. Przykłady zastosowania sieci komputerowej w firmie/organizacji 1.4.1. Rozmieszczenie i priorytety komputerów 1.4.2. Organizacja pracy 1.4.3. Schematy wdrożeń 1.4.4. Dopuszczalne modyfikacje systemu sieciowego 1.4.5. Urządzenia peryferyjne 1.5. Systemy operacyjne w komputerach a ich funkcjonowanie w sieci 1.5.1. Widok komputera w sieci 1.5.2. Pojęcie portu i gniazda 1.5.3. Porty używane do komunikacji 1.5.4. Informacje o portach 1.5.5. Zasady działania firewall 1.5.6. Zagrożenia 1.6. Działanie sieci na przykładzie akademiiwww 1.6.1. Podłączenie do Internetu 1.6.2. Wąskie gardła 1.7. Udostępnianie plików foldery i zastrzeżenia 1.8. Oglądanie urządzeń i poznanie ich działania 2. Funkcjonowanie sieci komputerowej 2.1. Urządzenia sieciowe szczegółowa specyfika ich działania 2.1.1. Urządzenia Cisco 2.1.2. Urządzenia Linksys 2.1.3. Urzadzenia 3com 2.1.4. AccessPoint (na przykładzie Mikrotec) 2.1.5. Inne rozwiązania 2.2. Sposoby programowania urządzeń sieciowych (laboratorium) 2.2.1. Sposoby zarządzania 2.2.2. Kanały podłączenia 2.2.3. Połączenia konsolowe i zdalne Wersja: 1.1 1
2.2.4. Porty sterujące 2.2.5. Elementy prostej administracji 2.3. Protokoły komunikacyjne TCP/IP 2.3.1. Pojęcie warstw modelu logicznego ISO-OSI 2.3.2. TCP 2.3.3. IP 2.3.4. UDP 2.3.5. ICMP 2.3.6. ARP/RARP 2.3.7. TokenRing 2.3.8. Telefonia VoIP 2.3.9. Sieci telefonów komórkowych dlaczego to się nazywa komórka? 2.4. Media w ujęciu protokołów 2.4.1. Ethernet 2.4.2. FDDI 2.4.3. ATM 2.5. Adresacja 2.5.1. Sposoby adresacji 2.5.2. Sieci bezadresowe 2.5.3. IP v.4 2.5.4. IP v.6 2.5.5. Klasy adresów 2.5.6. Maski 2.5.7. Kalkulator adresów (laboratorium) 2.5.8. Inne zagadnienia związane z adresami 2.6. Ramka budowa i znaczenie 2.6.1. Schemat ramki 2.6.2. Ile danych można wepchnąć do ramki? 2.6.3. Ćwiczenia z zaawansowanymi opcjami PING (laboratorium) 2.6.4. Ramki sieci telefonicznych i ATM 2.6.5. Ograniczenia ramek 2.7. Wyższe poziomy ISO-OSI 2.7.1. Poziom prezentacji 2.7.2. Poziom aplikacji na przykładzie TELNET (laboratorium) 2.7.3. Jak to wszystko działa razem? 3. Rozwiązywanie problemów 3.1. Problemy przesyłu danych 3.1.1. Wąskie gardła 3.1.2. Regulacja prędkości 3.1.3. Autoryzacja użytkowników 3.1.4. Serwery autoryzacyjne (na przykładzie KERBEROS) 3.1.5. Redundancja sieci 3.1.6. Przykłady badania problemów (laboratorium) 3.2. Problemy zabezpieczeń 3.2.1. Co robi firewall? 3.2.2. Ataki na sieć sabotaż 3.2.3. Ataki DoS/DDoS 3.2.4. Ataki siłowe 3.2.5. Punkty zaczepienia 3.2.6. Obejścia firewall 3.2.7. Inne techniki hakerskie 3.3. Problemy software u 3.3.1. Gubienie połączeń Wersja: 1.1 2
3.3.2. Opóźniona współpraca Windows w sieci 3.3.3. A co z Linuxem? 3.3.4. Jak znajdować komputery w sieci 3.3.5. Metody rozwiązywania problemów i połączenia ad hoc 3.4. Problemy związane z urządzeniami sieciowymi 3.4.1. Diagnoza i wykrywanie problemów 3.4.2. Rozwiązania tymczasowe 3.4.3. Zapewnienia stabilności sieci komputerowej 3.4.4. Dobór urządzeń do obciążenia 3.4.5. Redundancja urządzeń 3.4.6. Load balancing z czym to się je? 3.4.7. Problemy rozbudowy sieci komputerowej 4. Laboratoria 4.1. Projekt sieci komputerowej 4.2. Modeling sieci komputerowej 4.3. Projekt wdrożenia i ewaluacji cząstkowej 4.4. Jak zrobić żeby było dobrze i niedrogo? 4.5. Przykłady na żywo 4.6. Sniffing i programy do szukania dziur Część II Kurs programowania urządzeń sieciowych na przykładzie Cisco/Linksys 1. Linksys 1.1. Interfejs przez WWW 1.2. Opcje i możliwości 1.3. Sterowanie strumieniem danych 1.4. Opcje zabezpieczenia 1.5. Włączanie/wyłączanie usług: dlaczego akurat te usługi a nie inne? 1.6. Administracja połączeniem WAN 1.7. Strefa zdemilitaryzowana 1.8. Administracja urządzeniami wewnątrz 1.9. Urządzenia peryferyjne one także są serwerami 2. Cisco (w nawiasie nr artykułu) 2.1. Zakres tematyczny 18 2.2. Przejrzystość materiału - 18 2.3. Ćwiczenia praktyczne - 19 2.4. Kilka słów o zakresie tematycznym tej książki - 19 2.5. Organizacja książki - 20 2.6. Rozdziały i ich tematyka - 20 2.7. CD ROM i jego zawartość - 22 2.8. Witryna Cisco Press związana z książką - 23 2.9. Informacje o certyfikacie CCNA i egzaminach - 23 2.10. Jak uzyskać certyfikat CCNA - 23 2.11. Jak się przygotować, aby zdać egzamin(y) CCNA - 24 2.12. Co jest na egzaminach CCNA - 25 3. Routery i sieci rozległe (WAN) - 27 3.1. Cele - 27 3.2. Ważne terminy - 27 3.3. Wprowadzenie do routingu w sieciach WAN - 29 3.4. Podłączanie routerów do łączy WAN - 31 3.5. Sygnał zegara WAN na urządzeniach DTE i DCE - 33 Wersja: 1.1 3
3.6. Standardy sieci WAN - 35 3.7. Tworzenie tanich linii dzierżawionych w pracowni - 36 3.8. Routing w sieciach WAN - 38 3.9. Komponenty sprzętowe i programowe routerów - 40 3.10. Komponenty routerów i okablowanie - 42 3.11. Wewnętrzne komponenty routera - 42 3.12. Zewnętrzne komponenty routera - 45 3.13. Okablowanie interfejsów Ethernet - 46 3.14. Okablowanie interfejsów dla linii dzierżawionych - 48 3.15. Okablowanie innych typów łączy WAN - 49 3.16. Porty zarządzania routera - 52 3.17. Podłączanie kabli i dostęp do portu konsolowego - 53 3.18. Podłączanie kabli do portu AUX - 55 3.19. Porównanie portów konsolowego i AUX - 56 3.20. Podsumowanie - 57 3.21. Pytania kontrolne - 58 3.22. Zadania praktyczne - 63 4. Wprowadzenie do routerów - 65 4.1. Cele - 65 4.2. Ważne terminy - 65 4.3. Używanie wiersza poleceń systemu Cisco IOS - 66 4.4. Wiersz poleceń systemu Cisco IOS - 67 4.5. Tryby EXEC routera - 69 4.6. Tryby konfiguracji routera - 71 4.7. Parametry routera wymagające konfiguracji - 71 4.8. Proces konfiguracji i tryby konfiguracji - 72 4.9. Podstawowe informacje o systemie Cisco IOS - 73 4.10. Cechy systemu Cisco IOS i nazwy plików - 73 4.11. Przechowywanie Cisco IOS w pamięci flash i RAM - 74 4.12. Dwa alternatywne systemy operacyjne - 77 4.13. Uruchamianie, konfigurowanie, podłączanie i używanie routera - 78 4.14. Uruchamianie routera - 78 4.15. Procedura POST - 80 4.16. Ładowanie programu inicjującego - 80 4.17. Ładowanie systemu Cisco IOS - 82 4.18. Ładowanie konfiguracji początkowej do pamięci RAM - 84 4.19. Tworzenie konfiguracji początkowej w trybie ustawiania - 86 4.20. Podłączanie routera - 88 4.21. Podłączanie portu konsolowego routera - 88 4.22. Powtórka z trybów EXEC i konfiguracji - 90 4.23. Podstawowe informacje o hasłach do routera - 91 4.24. Używanie wiersza poleceń - 93 4.25. Wyszukiwanie dostępnych poleceń - 93 4.26. Wyszukiwanie opcji polecenia - 94 4.27. Przywoływanie poleceń wydanych w przeszłości - 97 4.28. Edycja poleceń - 98 4.29. Automatyczna pomoc w przypadku błędnego wpisania polecenia - 99 4.30. Polecenie show version - 100 4.31. Podsumowanie - 102 4.32. Pytania kontrolne - 103 4.33. Zadania praktyczne - 106 5. Konfigurowanie routera - 109 5.1. Cele - 109 Wersja: 1.1 4
5.2. Ważne terminy - 109 5.3. Konfiguracja podstawowego routingu - 110 5.4. Konfiguracja interfejsów Ethernet i szeregowego - 112 5.5. Konfiguracja prędkości zegara na łączu szeregowym - 114 5.6. Konfiguracja tras - 115 5.7. Podsumowanie konfiguracji routerów R1 i R2-117 5.8. Konfiguracja nazwy hosta i haseł - 118 5.9. Konfiguracja nazwy routera - 118 5.10. Hasła do trybów użytkownika i uprzywilejowanego - 118 5.11. Sprawdzanie stanu działania za pomocą poleceń show - 121 5.12. Modyfikowanie konfiguracji - 124 5.13. Co zrobić, gdy konfiguracja jest nieprawidłowa - 125 5.14. Co zrobić, gdy konfiguracja jest już prawidłowa - 127 5.15. Dokumentowanie konfiguracji routera - 128 5.16. Konfiguracja opisów interfejsu - 128 5.17. Konfiguracja banerów logowania - 129 5.18. Konfiguracja tablicy lokalnych hostów - 131 5.19. Tworzenie kopii zapasowej konfiguracji - 133 5.20. Używanie serwera TFTP do przechowywania konfiguracji - 133 5.21. Gdzie przechowywać zapasowe pliki z konfiguracją - 135 5.22. Podsumowanie - 137 5.23. Pytania kontrolne - 139 5.24. Zadania praktyczne - 142 6. Zbieranie informacji o innych urządzeniach w sieci - 145 6.1. Cele - 145 6.2. Ważne terminy - 145 6.3. Wykrywanie sąsiadów za pomocą protokołu CDP - 146 6.4. Funkcjonowanie protokołu CDP - 147 6.5. Wersje 1 i 2 protokołu CDP - 149 6.6. Liczniki czasu CDP - 149 6.7. Informacje zbierane przez protokół CDP - 151 6.8. Konfiguracja i weryfikacja działania protokołu CDP - 153 6.9. Tworzenie mapy sieci na podstawie informacji zebranych przez protokół CDP - 157 6.10. Dodatkowe polecenia służące do weryfikacji działania CDP i rozwiązywania 6.11. problemów - 159 6.12. Uzyskiwanie informacji o zdalnych urządzeniach i rozwiązywanie problemów - 160 6.13. Sprawdzanie warstw sieci - 160 6.14. Podstawy Telnetu - 161 6.15. Polecenie telnet systemu Cisco IOS - 162 6.16. Podstawy rozwiązywania problemów z Telnetem - 163 6.17. Problemy z domyślną metodą odnajdywania nazw - 164 6.18. Telnet zaawansowany: zawieszanie i przełączanie połączeń - 164 6.19. Przełączanie się między wieloma sesjami - 166 6.20. Liczba jednoczesnych sesji Telnetu - 169 6.21. Polecenia ping i traceroute systemu Cisco IOS - 169 6.22. Polecenie ping systemu Cisco IOS - 169 6.23. Polecenie traceroute systemu Cisco IOS - 170 6.24. ping i traceroute - 171 6.25. Podsumowanie - 172 Wersja: 1.1 5
6.26. Pytania kontrolne - 173 6.27. Zadania praktyczne - 176 7. Zarządzanie systemem Cisco IOS - 179 7.1. Cele - 179 7.2. Ważne terminy - 179 7.3. Sekwencja startu routera i ładowanie obrazów Cisco IOS - 180 7.4. Wybór obrazu Cisco IOS w trakcie sekwencji startu routera - 181 7.5. Wybór obrazu Cisco IOS na podstawie rejestru konfiguracji - 182 7.6. Wybór obrazu Cisco IOS na podstawie poleceń boot system - 184 7.7. Ładowanie pierwszego pliku z pamięci flash - 186 7.8. Wysyłanie komunikatów rozgłoszeniowych w celu znalezienia Cisco IOS 7.9. na serwerze TFTP - 187 7.10. Ładowanie okrojonej wersji systemu operacyjnego z pamięci ROM - 187 7.11. Usuwanie problemów i weryfikacja wybranego systemu Cisco IOS - 187 7.12. Ustalanie przebiegu pięcioetapowego procesu decyzyjnego - 188 7.13. Określanie, które kroki nie powiodły się - 189 7.14. Zarządzanie systemem IOS i plikami konfiguracyjnymi - 189 7.15. System plików Cisco IOS - 190 7.16. Nazwy plików w systemie Cisco IOS - 192 7.17. Kopiowanie i zarządzanie obrazami Cisco IOS - 195 7.18. Kopiowanie za pomocą polecenia copy systemu Cisco IOS - 195 7.19. Kopiowanie za pomocą polecenia tftpdnld w trybie ROMMON - 198 7.20. Kopiowanie za pomocą ROMMON i Xmodem - 200 7.21. Weryfikacja obrazów Cisco IOS - 203 7.22. Kopiowanie i zarządzanie plikami konfiguracyjnymi systemu Cisco IOS - 205 7.23. Kopiowanie plików konfiguracyjnych za pomocą polecenia copy - 205 7.24. Kopiowanie plików konfiguracyjnych metodą skopiuj i wklej - 206 7.25. Odzyskiwanie utraconych haseł - 211 7.26. Podsumowanie - 213 7.27. Pytania kontrolne - 214 7.28. Zadania praktyczne - 216 8. Routing i protokoły routingu - 219 8.1. Cele - 219 8.2. Ważne terminy - 219 8.3. Wprowadzenie do tras statycznych i połączonych - 221 8.4. Poznawanie tras połączonych - 221 8.5. Trasy statyczne - 222 8.6. Konfigurowanie tras statycznych w małej sieci bez nadmiarowości - 223 8.7. Używanie tras statycznych do wdzwaniania a odległość administracyjna - 225 8.8. Statycznie zdefiniowane trasy domyślne - 228 8.9. Weryfikowanie tras statycznych - 230 8.10. Routing dynamiczny - 231 8.11. Terminologia związana z protokołami routingu - 232 8.12. Funkcje protokołów routingu - 232 8.13. Wewnętrzne i zewnętrzne protokoły routingu - 234 8.14. Funkcjonowanie protokołów routingu: algorytmy protokołów routingu - 236 8.15. Cechy protokołów routingu wektora odległości - 236 8.16. Cechy protokołów routingu łącze stan - 240 8.17. Przegląd protokołów routingu - 245 8.18. Krótki opis routingu IP - 245 Wersja: 1.1 6
8.19. Cechy protokołów routingu: RIP, OSPF, EIGRP i BGP - 246 8.20. Konfiguracja protokołu RIP - 248 8.21. Podsumowanie - 251 8.22. Pytania kontrolne - 252 8.23. Zadania praktyczne - 255 9. Protokoły routingu wektora odległości - 257 9.1. Cele - 257 9.2. Dodatkowe materiały - 257 9.3. Ważne terminy - 258 9.4. Unikanie pętli przy zbieżności protokołów routingu wektora odległości - 258 9.5. Działanie protokołu wektora odległości w stabilnej sieci - 259 9.6. Zatruwanie trasy - 260 9.7. Problem: odliczanie do nieskończoności - 261 9.8. Mechanizmy zapobiegania powstawaniu pętli - 264 9.9. Podzielony horyzont - 264 9.10. Zatrucie zwrotne i aktualizacje wyzwalane - 265 9.11. Używanie liczników wstrzymywania do unikania pętli w sieciach 9.12. z nadmiarowością - 266 9.13. Proces wstrzymywania i licznik wstrzymywania - 270 9.14. Podsumowanie mechanizmów unikania pętli - 272 9.15. Protokół RIP (Routing Information Protocol) - 273 9.16. Konfiguracja protokołów RIP V1 i RIP V2-273 9.17. Konfiguracja protokołu RIP V1-274 9.18. Konfiguracja protokołu RIP V2-275 9.19. Używanie obu wersji protokołu RIP - 276 9.20. Topologie sieci zależne od wersji protokołu RIP - 277 9.21. Inne opcje konfiguracyjne protokołu RIP - 278 9.22. Ustawianie liczników RIP - 278 9.23. Wyłączanie podzielonego horyzontu - 279 9.24. Konfiguracja sąsiadów - 279 9.25. Wydawanie polecenia passive interface - 280 9.26. Filtrowanie tras - 281 9.27. Weryfikacja działania protokołu RIP i rozwiązywanie problemów - 281 9.28. Weryfikacja działania protokołu RIP za pomocą poleceń show - 281 9.29. Rozwiązywanie problemów z działaniem protokołu RIP za pomocą 9.30. polecenia debug - 284 9.31. Wybór trasy najlepszej z możliwych - 286 9.32. Rozkładanie obciążenia na wiele tras o równym koszcie - 286 9.33. Wybór trasy na podstawie odległości administracyjnej - 289 9.34. Integracja tras statycznych z protokołem RIP - 290 9.35. Pływające trasy statyczne - 290 9.36. Ogłaszanie tras domyślnych za pomocą protokołu RIP - 290 9.37. Klasowe i bezklasowe: protokoły routingu, routing i adresowanie - 291 9.38. Bezklasowe i klasowe protokoły routingu - 292 9.39. Routing klasowy i bezklasowy - 292 9.40. Adresowanie klasowe i bezklasowe - 293 9.41. Podsumowanie - 294 9.42. Pytania kontrolne - 296 9.43. Zadania praktyczne - 299 10. Błędy TCP/IP i komunikaty kontrolne - 303 10.1. Cele - 303 10.2. Dodatkowe materiały - 303 Wersja: 1.1 7
10.3. Ważne terminy - 303 10.4. Komunikaty echa ICMP i polecenie ping - 305 10.5. Komunikaty nieosiągalności ICMP: informowanie hostów o niemożliwości 10.6. dostarczenia pakietu - 306 10.7. Powtórka z routingu IP - 307 10.8. Kody typów w komunikatach nieosiągalności ICMP - 309 10.9. Formaty i kody komunikatów nieosiągalności ICMP - 310 10.10. Komunikaty nieosiągalności ICMP, kiedy router nie może fragmentować pakietu - 311 10.11. Przekroczenia czasu TTL ICMP i długie trasy - 312 10.12. Podsumowanie - 313 10.13. Pytania kontrolne - 314 10.14. Zadania praktyczne - 316 11. Podstawy rozwiązywania problemów z routerami - 319 11.1. Cele - 319 11.2. Ważne terminy - 320 11.3. Analiza tablicy routingu - 320 11.4. Routing IP (przesyłanie pakietów) - 321 11.5. Polecenie show ip route - 321 11.6. Routing IP z perspektywy warstwy 3-323 11.7. Routing IP z perspektywy warstwy 2-325 11.8. Umieszczanie tras w tablicy routingu IP - 326 11.9. Porównanie tras statycznych z dynamicznymi - 326 11.10. Trasy domyślne i brama ostatniej szansy - 327 11.11. Odległość administracyjna - 332 11.12. Wybieranie tras na podstawie metryki - 333 11.13. Określanie czasu ostatniej aktualizacji routingu - 334 11.14. Używanie wielu równorzędnych tras - 335 11.15. Używanie wielu nierównorzędnych tras za pomocą wariancji - 336 11.16. Metody testowania sieci - 337 11.17. Metody rozwiązywania problemów - 338 11.18. Wskazówki przydatne podczas rozwiązywania problemów - 340 11.19. Wskazówki dla warstwy 1-340 11.20. Wskazówki dla warstwy 2-341 11.21. Rozwiązywanie problemów w warstwie 3 za pomocą polecenia ping - 342 11.22. Rozwiązywanie problemów w warstwie 7 za pomocą Telnetu - 346 11.23. Rozwiązywanie problemów z routerami i routingiem - 348 11.24. Rozwiązywanie problemów za pomocą polecenia show interfaces - 348 11.25. Stan interfejsu routingu - 349 11.26. Objawy typowych problemów w warstwie 1-351 11.27. Objawy typowych problemów w warstwie 2-353 11.28. Rozwiązywanie problemów w warstwie 1 za pomocą polecenia show controllers - 354 11.29. Rozwiązywanie problemów za pomocą polecenia show cdp - 355 11.30. Rozwiązywanie problemów za pomocą polecenia traceroute - 357 11.31. Rozwiązywanie problemów za pomocą poleceń show ip route i show ip protocols - 360 11.32. Rozwiązywanie problemów za pomocą polecenia debug - 362 11.33. Podsumowanie - 363 11.34. Pytania kontrolne - 364 11.35. Zadania praktyczne - 367 12. TCP/IP - 369 Wersja: 1.1 8
12.1. Cele - 369 12.2. Ważne terminy - 369 12.3. Działanie protokołów TCP i UDP - 370 12.4. Kontrola przepływu i okienkowanie - 371 12.5. Kontrola przepływu za pomocą ruchomych okien - 371 12.6. Kontrola przepływu za pomocą wstrzymywania potwierdzeń - 373 12.7. Tworzenie i kończenie połączeń TCP - 374 12.8. Ataki typu odmowy usług (DoS) i zalewy SYN - 375 12.9. Naprawianie błędów w protokole TCP (niezawodność) - 376 12.10. Segmentacja, składanie i dostarczanie we właściwej kolejności - 379 12.11. Porównanie protokołów TCP i UDP - 380 12.12. Zadania portów warstwy transportu - 383 12.13. Łączenie się z serwerami: dobrze znane porty - 384 12.14. Porównanie portów dobrze znanych, dynamicznych i zarejestrowanych - 386 12.15. Porównanie adresów MAC, adresów IP i numerów portów - 387 12.16. Podsumowanie - 388 12.17. Pytania kontrolne - 390 12.18. Zadania praktyczne - 392 13. Listy kontroli dostępu - 393 13.1. Cele - 393 13.2. Dodatkowe materiały - 393 13.3. Ważne terminy - 393 13.4. Podstawowe informacje o listach kontroli dostępu - 394 13.5. Teoretyczne podstawy list ACL - 394 13.6. Typowe zastosowania list ACL - 395 13.7. Jedna lista ACL na protokół, na interfejs i na kierunek - 396 13.8. Filtrowanie pakietów IP wchodzących i wychodzących z routera - 397 13.9. Analiza innych pól nagłówka za pomocą rozszerzonych list ACL IP - 399 13.10. Pojedyncza, wielowierszowa lista ACL - 401 13.11. Podstawy konfiguracji list ACL - 403 13.12. Konfigurowanie polecenia access list - 403 13.13. Włączanie i wyłączanie list ACL IP dla interfejsu i dla kierunku - 404 13.14. Uwagi na temat konfiguracji - 405 13.15. Włączanie jednej listy ACL IP dla interfejsu i dla kierunku - 406 13.16. Trudności ze zmianą konfiguracji ACL IP - 407 13.17. Zalecenia dotyczące projektowania list ACL - 408 13.18. Dodatkowa konfiguracja list ACL - 408 13.19. Dopasowywanie zakresu adresów IP za pomocą maski domyślnej - 408 13.20. Maska domyślna: formalna definicja - 409 13.21. Złożone maski domyślne - 410 13.22. Słowa kluczowe any i host - 411 13.23. Szukanie odpowiedniej maski domyślnej dla danej podsieci - 412 13.24. Weryfikowanie list ACL - 413 13.25. Konfiguracja list kontroli dostępu - 414 13.26. Konfiguracja standardowych numerowanych list ACL - 415 13.27. Składnia konfiguracji standardowych numerowanych list ACL IP - 416 13.28. Przykłady standardowych list ACL - 417 13.29. Konfiguracja rozszerzonych numerowanych list ACL - 419 13.30. Składnia rozszerzonych poleceń ACL - 420 13.31. Używanie opcji protokół w rozszerzonych poleceniach ACL - 422 13.32. Używanie opcji numer portu w rozszerzonych poleceniach ACL - 424 13.33. Nazwane listy ACL IP - 427 Wersja: 1.1 9
13.34. Konfiguracja nazwanych list ACL IP - 428 13.35. Edycja nazwanych list ACL IP - 429 13.36. Położenie list ACL w sieci - 431 13.37. Podsumowanie - 432 13.38. Pytania kontrolne - 433 13.39. Zadania praktyczne - 436 Wersja: 1.1 10
Sieci komputerowe i protokoły komunikacyjne przykład ujęcia poruszanych zagadnień W dzisiejszych czasach komputery dotarły niemal do każdej dziedziny życia. Obserwuje się zależność podwajania wydajności i zasobów (pamięci masowej i podręcznej) typowego komputera. Wraz ze wzrostem liczby komputerów i ilości gromadzonych na nich informacji, pojawiła się potrzeba łączenia oddzielnych maszyn w sieci komputerowe. Pozwoliło to na korzystanie ze wspólnych danych, udostępnianie urządzeń peryferyjnych. Kolejnym krokiem było łączenie pomiędzy sobą sieci lokalnych. Wymagało to opracowania sieciowych protokołów komunikacyjnych. W latach siedemdziesiątych opracowano nowy, udoskonalony zestaw protokołów sieciowych. Zestaw ten stał się trzonem TCP/IP. W 1978 roku zestaw był na tyle kompletny i spójny, że mógł zostać ogłoszony światu. Początek lat osiemdziesiątych uważa się za datę powstania Internetu. W 1982 roku Departament Obrony USA utworzył sieć DDN, zaprojektowaną jako coś w rodzaju centralnego obszaru dla rozproszonych sieci tworzących Internet. Rok później, Departament Obrony wydał oświadczenie akceptujące TCP/IP jako zestaw protokołów obowiązujących w Internecie. Internet, nazywany także intersiecią, łączy ze sobą sieci fizyczne o różnych architekturach, narzucając zbiór konwencji korzystania z sieci, umożliwiający wzajemną współpracę połączonych komputerów. Sieć fizyczną (lokalną) można określić jako zestaw urządzeń komputerowych połączonych wspólnym medium komunikacyjnym. Sieci lokalne mogą posiadać różną architekturę. Najbardziej znane architektury to: Ethernet -- sieć oparta na wymianie pakietów, w której medium komunikacyjnym jest miedziany kabel; FDDI - jest rodzajem sieci lokalnej wykorzystującej do przesyłania danych (zakodowanych jako impulsy świetlne) włókna szklane. Sieć FDDI oparta jest na technice sieci pierścieniowej z krążącym znacznikiem; ATM - sieć oparta na kablach optycznych, charakteryzująca się bardzo dużą przepustowością, używająca pakietów o stałej wielkości, oferująca usługi oparte na połączeniowym trybie pracy. Największą popularnością spośród technologii sieciowych cieszy się jak na razie Ethernet. Technologia ta została opracowana na początku lat siedemdziesiątych w laboratoriach Xerox PARC. W 1978 roku Xerox Corporation, Intel Corporation i Digital Equipment Corporation opracowały standard Ethernetu. Został on opublikowany jako standard IEEE (Institute for Electrical and Electronic Engineers) o numerze 802.3. Ze względu na swą popularność technologia ta zyskała wiele odmian: wersja oryginalna (gruby ethernet) oparta na okablowaniu koncentrycznym o dużej odporności na zakłócenia, pozwala na łączenie dość odległych od siebie komputerów. Do podłączenia komputera wymagany jest dodatkowy sprzęt: nadajnik-odbiornik (ang. transceiver) oraz adapter komputera; cienki ethernet o cieńszym okablowaniu charakteryzuje się niższym kosztem, ale i mniejszą odpornością na zakłócenia elektromagnetyczne. Pozwala na połączenia na Wersja: 1.1 11
krótszych odcinkach niż gruby ethernet. Podłączenie następuje bezpośrednio do interfejsu sieciowego (karty sieciowej) komputera; skrętka -- najnowsza odmiana, nie wymagająca elektromagnetycznej izolacji w postaci kabla koncentrycznego. W odróżnieniu od poprzednich wersji, które pozwalają na połączenie biegnące od komputera do komputera, skrętka umożliwia bezpośrednie połączenie każdego z komputerów wprost do koncentratora lub przełącznika (ang. switch). Wszystkie odmiany oparte są na tej samej pakietowej technologii komunikacyjnej. W technologii ethernetowej sprzęt nie wspiera niezawodnego przenoszenia danych -- nadawca nie jest informowany o tym, czy pakiet został dostarczony. Gdy komputer odbiorca zostanie wyłączony, pakiety skierowane do niego będą po prostu gubione w sieci. Komunikacja w sieci Ethernet oparta jest na wymianie pakietów o ustalonym formacie. Pakiet przenoszony przez Ethernet nazywany jest ramką ethernetową. Jedną z podstawowych informacji przenoszonych przez ramkę jest adres sprzętowy odbiorcy, na podstawie którego komputer odbierający ramkę rozpoznaje, że ramka została skierowana właśnie do niego. Adresy ethernetowe są adresami sprzętowymi. Są to 48-bitowe adresy przypisane na stałe do interfejsów sieciowych. Producenci interfejsów wykupują zakresy adresów ethernetowych od IEEE (instytucja zajmuje się m. in. zarządzaniem i przydzielaniem adresów ethernetowych) i przypisują je po kolei kolejnym egzemplarzom kart. Dzięki temu żadne dwie karty interfejsu nie mają tego samego adresu ethernetowego. Wersja: 1.1 12
Aby dowolne dwa komputery połączone w sieci mogły się ze sobą komunikować, niezbędne jest określenie zasad przebiegu komunikacji i przesyłania danych. Zbiór takich zasad nazywany jest protokołem komunikacyjnym. Protokół komunikacyjny, wspólny dla współdziałających rozmówców, musi być określony w sposób jednoznaczny, wykluczający możliwość jakichkolwiek niejasności i nieporozumień. Takie określenie nazywamy specyfikacją protokołu i wymaga ono użycia bardziej precyzyjnych narzędzi niż język potoczny. Wśród metod specyfikacji protokołów przeważają te, związane z pojęciem automatu o skończonej liczbie stanów. Wśród ogromnej liczby protokołów wykorzystywanych do komunikacji w sieciach, na szczególną uwagę zasługują protokoły z rodziny TCP/IP. Jest to rodzina protokołów, na których opiera się wiele sieci lokalnych oraz Internet. W skład tej rodziny wchodzą między innymi protokoły: IP (Internet Protocol) -- podstawowy protokół definiujący mechanizm zawodnego przenoszenia bez użycia połączenia. Oparty jest na adresach IP konfigurowanych na komputerach w oprogramowaniu oraz na rutowaniu czyli przekazywaniu pakietów pomiędzy podsieciami; ARP (Address Resolution Protocol) -- niskopoziomowy protokół służący do dynamicznego odwzorowywania adresów IP na adresy sprzętowe. Ideą tego protokołu jest możliwość uzyskania adresu sprzętowego komputera docelowego (w celu zaadresowania ramki ethernetowej) poprzez wysłanie zapytania rozgłaszanego w sieci lokalnej; ICMP (Internet Control Message Protocol) -- protokół definiujący mechanizm specjalnych komunikatów kontrolnych (traktowany jako wymagana część IP). Protokół ten przenosi informacje istotne ze względu na poprawność działania sieci oraz pozwala na autodetekcję i autokorekcję błędów konfiguracyjnych; UDP (User Datagram Protocol) -- protokół zapewniający podstawowy mechanizm portów wykorzystywany przez programy użytkowe przy przesyłaniu datagramów do innych programów użytkowych; TCP (Transmission Control Protocol) -- protokół udostępniający usługę przesyłania danych niezawodnymi strumieniami. Zadania stawiane przed protokołami są tak rozległe, że zdecydowano się na implementację wielowarstwową. Protokoły korzystają z usług udostępnianych i obsługiwanych przez inne protokoły -- np. pakiety jednego protokołu mogą wymagać przenoszenia przez sieć wewnątrz pakietu innego protokołu. Na tej podstawie mówi się o poziomie danego protokołu. Pakiety protokołów niskopoziomowych podróżują przez sieć bezpośrednio w ramkach ethernetowych, im wyższy poziom protokołu tym większa liczba pakietów innych protokołów musi obudowywać pakiet podczas podróży przez sieć. Wersja: 1.1 13
Opublikowano model warstwowy protokołów sieciowych (nazywany modelem ISO-OSI), opracowany z przeznaczeniem dla sieci lokalnych. Zbudowany jest on z siedmiu warstw. 1. Warstwa fizyczna (ang. physical layer) -- umożliwia przesyłanie pojedynczych bitów między dwiema lub wieloma stacjami sprzężonymi bezpośrednio medium komunikacyjnym (np. kablem). Zarówno jednostką usług, jak i jednostką protokołu tej warstwy jest bit, a dostępne usługi obejmują przesłanie ciągu bitów z zachowaniem ich sekwencji. Istnieje możliwość wykrywania nieprawidłowości transmisji przez odbiorcę (dyskwalifikacja bitu) oraz wykrywania stanów specjalnych łącza. Większość parametrów tej warstwy zależy od rodzaju użytego łącza fizycznego. 2. Warstwa łącza danych (ang. link layer) -- zapewnia prawidłową transmisję informacji między stacjami sprzężonymi bezpośrednio łączem fizycznym. W szczególności zapewnia ona wykrywanie, a często też korygowanie błędów powstałych w warstwie fizycznej. Jeśli łącze sprzęga wiele stacji, to protokoły tej warstwy muszą zapewnić bezkolizyjny dostęp do łącza. 3. Warstwa sieciowa (ang. network layer) -- zapewnia utworzenie drogi (lub dróg) transmisji informacji między stacjami końcowymi przy użyciu systemów pośrednich (węzłów). Droga ta może prowadzić przez odcinki łączy lub całe podsieci o bardzo zróżnicowanych charakterystykach. 4. Warstwa transportu (ang. transport layer) -- oddziela wyższe warstwy od problemów przesyłania informacji między procesami w stacjach końcowych, zapewniając bezbłędną transmisję z wymaganymi charakterystykami, takimi jak przepustowość, stopa błędów, opóźnienia transmisyjne. W tym celu może być konieczne skorygowanie charakterystyk usług sieciowych. Warstwa transportowa optymalizuje użycie usług sieciowych tak, aby wymagane warunki techniczne spełnić w sposób możliwie najbardziej ekonomiczny, uwzględniając koszt usług sieciowych. 5. Warstwa sesji (ang. session layer) -- rozszerza usługi warstwy transportowej o środki umożliwiające synchronizację dialogu i zarządzanie wymianą danych między jej usługobiorcami. Ustala, który z partnerów ma prawo nadawania, by zapewnić jednoznaczność działań, a także określa czy komunikacja jest naprzemienna, czy równoczesna w obu kierunkach. Warstwa sesji umożliwia też definiowanie tzw. punktów synchronizacji oraz wymuszanie odtworzenia, tj. powrotu obu uczestników dialogu do jednoznacznego dla nich stanu określonego przez taki punkt synchronizacji. 6. Warstwa prezentacji (ang. presentation layer) -- zapewnia przekształcenie używanej w poszczególnych stacjach postaci informacji na pewną jednorodną postać. Przekształcenie dotyczy wyłącznie syntaktyki, a nie semantyki informacji. Na tym poziomie możliwa jest także kompresja informacji bądź jej zaszyfrowanie. 7. Warstwa zastosowań (ang. application layer) -- jest to warstwa najwyższa, bezpośrednio oferująca całość usług komunikacyjnych procesom użytkowym. Wyróżnione i szczegółowo opracowane zadania tej warstwy to przede wszystkim: o transmisja plików oraz działanie na plikach zdalnych, o dostęp i działanie na zdalnych bazach danych, o praca procesu użytkowego jako terminala zdalnego komputera, o zarządzanie transmisją i wykonywaniem zadań obliczeniowych. Wersja: 1.1 14
Model ISO warstw oprogramowania sieciowego Przedstawiony model powstał w wyniku prac komitetów standaryzacji. Innym modelem warstw oprogramowania sieciowego jest model realizowany przez oprogramowanie rodziny protokołów TCP/IP. Powstał on w oparciu o badania prowadzone równolegle z tworzeniem protokołów. Jest to model pięciowarstwowy -- TCP/IP jest zorganizowane w cztery koncepcyjne warstwy stanowiące nadbudowę nad piątą warstwą sprzętu: warstwa fizyczna -- warstwa leżąca poza TCP/IP, realizowana przez konkretne medium fizyczne łączące maszyny w sieci; warstwa interfejsu sieciowego -- najniższy poziom oprogramowania TCP/IP, odpowiedzialny za przyjmowanie datagramów IP i przesyłanie ich poprzez daną sieć; warstwa intersieci -- warstwa ta odpowiada za obsługę komunikacji jednej maszyny z drugą. W tej warstwie zaimplementowany jest algorytm trasowania oraz obsługa komunikatów kontrolnych i błędów zgodnych z protokołem ICMP; warstwa transportowa -- podstawowym zadaniem warstwy transportowej jest zapewnienie komunikacji między jednym programem użytkownika a drugim. Warstwa transportowa może regulować przepływ informacji, może też zapewniać niezawodne przesyłanie: dane przychodzą bez błędów i w dobrej kolejności. Warstwa transportowa musi umożliwiać jednoczesną obsługę kilku programów z warstwy programów użytkowych; warstwa programów użytkowych -- na tym poziomie użytkownicy wywołują programy użytkowe, które mają dostęp do usług intersieci TCP/IP. Programy użytkowe współpracują z jednym z protokołów na poziomie transportu i wysyłają lub odbierają dane. Wersja: 1.1 15
Model warstwowy oprogramowania sieciowego TCP/IP Na rysunkach przedstawiono zasady realizacji modelu warstwowego TCP/IP oraz przykładowe zależności pomiędzy najbardziej popularnymi protokołami TCP/IP. Realizacja modelu warstwowego w TCP/IP Wzajemne zanurzenie pakietów protokołów sieciowych Wersja: 1.1 16
Podstawowym protokołem w rodzinie TCP/IP jest protokół IP. Definiuje on identyfikację komputerów niezależną od sprzętu oraz steruje przepływem pakietów przez sieć. Podstawową informacją identyfikującą komputer na poziomie fizycznym jest adres sprzętowy -- w przypadku TCP/IP jest to 32-bitowy adres IP. W odróżnieniu od adresu sprzętowego adres IP jest adresem niezależnym od sprzętu, nadawanym i przechowywanym przez oprogramowanie. Adresy IP podawane ludziom zapisuje się w postaci czterech liczb dziesiętnych oddzielonych kropkami. Każda z tych liczb odpowiada jednemu oktetowi adresu IP. Przykładowo, adres w postaci bitowej 10000000 00001010 00000010 00011110 jest zapisywany jako 128.10.2.30. Każdy adres można traktować jako parę (identyfikator sieci, identyfikator maszyny). W obszarze sieci lokalnej adresy IP wszystkich komputerów charakteryzują się jednakowym prefiksem identyfikatora sieci, którego długość zależy od klasy adresu. Klasa adresu IP jest określana przez pięć najstarszych bitów: Klasa A -- pierwszy bit równy 0, siedem bitów przeznaczonych na identyfikację sieci, 24 bity przeznaczone na adres maszyny. Klasa ta jest przeznaczona dla dużych sieci, które mają ponad komputerów; Klasa B -- pierwsze dwa bity to 10, następne 14 bitów identyfikuje sieć, 16 bitów przeznaczonych jest do identyfikacji komputera. Klasa jest przeznaczona dla sieci, w których liczba komputerów leży w przedziale ; Klasa C -- pierwsze trzy bity to 110, następne 21 bitów przeznaczanych jest na identyfikator sieci, 8 bitów identyfikuje komputer. Klasa jest przeznaczona dla sieci obejmujących mniej niż maszyn; Klasa D -- pierwsze cztery bity to 1110. Klasa jest przeznaczona jest do rozsyłania grupowego (pozostałe bity to adres rozsyłania grupowego); Klasa E -- pierwsze 5 bitów to 11110. Jest to klasa adresów zarezerwowana na przyszłość. Klasy adresów IP W celu umożliwienia komunikacji pomiędzy różnymi sieciami lokalnymi, sieci są łączone maszynami z wieloma interfejsami sieciowymi i adresami IP (nazywanymi ruterami), których zadaniem jest między innymi wyznaczanie trasy dla pakietów przeznaczonych do innych sieci lokalnych. Proces znajdowania trasy i przesyłania pakietów do innych sieci nazywany jest rutingiem lub rutowaniem. Aby mieć podstawę do wyznaczania trasy dla pakietu na podstawie adresu odbiorcy, ruter musi posiadać pewien zestaw danych charakteryzujących topologię sieci w jego otoczeniu. Zestaw takich danych nazywany jest tablicą rutingu. Wersja: 1.1 17
Przykład łączenia sieci fizycznych za pomocą ruterów Protokół IP implementuje warstwę intersieci w modelu warstw oprogramowania sieciowego TCP/IP. Większość protokołów z rodziny TCP/IP korzysta w sposób pośredni lub bezpośredni z protokołu IP. Wersja: 1.1 18
Elementy charakterystyki sieci komputerowych przykładowe opracowanie fragmentu wykładu Najprostszą sieć można zbudować w przeciągu kilku godzin. Można zyskać na tym bardzo wiele: współdzielić foldery i drukarki, czyli bez wychodzenia z domu wymieniać się plikami lub wydrukować tekst na drukarce znajdującej się u sąsiada, możliwe staną się wzajemne rozmowy przez sieć, czaty, telekonferencje, a także sieciowe rozgrywki popularnych gier multiplayer. Jeżeli choć jeden z użytkowników sieci ma dostęp do Internetu, będzie mógł go udostępnić każdemu podpiętemu do wspólnej pajęczyny". Dzięki wykorzystaniu programów do dzielenia połączenia lub narzędzi wbudowanych w system Windows 98 SE, jednego łącza będzie mogło używać więcej osób. Pierwsze kroki. Aby połączyć dwa komputery, co umożliwi przesyłanie informacji bez żonglowania dyskietkami lub wymieniania twardych dysków, można zastosować tanie rozwiązanie oparte na kablu szeregowym lub równoległym. Do ustawienia połączenia wystarczy kupić kabel szeregowy typu null -modem i połączyć go do portów COM obu komputerów. Drugie rozwiązanie - kabel równoległy, - choć nieco droższe, zapewni prędkość przesyłu danych na poziomie 440 KB/s, a nie 115 KB/s jak w przypadku kabla szeregowego. Kabel równoległy podłącza się do portu LPT. Wadą tego rozwiązania jest zajęcie portu, do którego zazwyczaj przyłącza się drukarkę. Oba sposoby połączenia komputerów nie wymagają zakupu dodatkowych urządzeń, ale pozwalają łączyć tylko dwa komputery jednocześnie. Kolejnym poważnym ograniczeniem jest praktycznie jednostronna komunikacja między komputerami. W danym momencie tylko jeden może być gospodarzem, czyli tym, który udostępnia swoje zasoby. Drugi musi pełnić rolę gościa. Opierając się na takich rozwiązaniach, nie zbuduje się sieci dla, dwojga", ale raczej sieci dla jednej osoby, która ma w domu dwa komputery. Jeżeli chcemy połączyć swoją maszynę z większą liczbą stacji i jednocześnie korzystać z drukarki, musisz Wersja: 1.1 19
zastosować inne rozwiązanie. Ciekawą propozycją jest zastosowanie połączenia przy użyciu kabla UTP, czyli tzw. skrętki telefonicznej. Jest ona przeznaczona do budowy większych sieci, ale z powodzeniem można ją zastosować do połączenia dwóch maszyn wyposażonych w karty sieciowe. Aby jednak takie połączenie działało bez specjalnych urządzeń, w kablu muszą się krzyżować odpowiednie przewody. Jeśli masz narzędzie zwane zaciskarką, możesz zrobić to sam, jeśli nie, możesz kupić gotową skrętkę z przeplotem". Jest ona podobna do kabla telefonicznego, lecz ma wtyczki RJ - 45 do karty sieciowej. Po zbudowaniu najprostszej sieci, czyli po połączeniu ze sobą dwóch komputerów, łatwo przyzwyczaisz się do wygody natychmiastowego" przesyłania plików, czy organizacji rozgrywek multiplayer. Do budowy poważnych sieci potrzebne jest poważne podejście - wiąże się to z większymi inwestycjami, a więc warto je najpierw kilkakrotnie przemyśleć. Należy dokładnie ustalić liczbę chętnych oraz wytyczyć przebieg kabli na podstawie planu geograficznego. Odpowiednie dryblowanie i sprzęt najlepiej kupić od jednego, wybranego sprzedawcy i daje to możliwość uzyskania rabatów i upustów. Przed podłączeniem kolejnych użytkowników warto się dobrze zastanowić nad możliwością przebiegu kabli. Sieci komputerowe buduje się w dwóch zasadniczych kształtach - ciągłej linii, zwanej magistralą, lub w formie gwiazdy. Tańsze jest rozwiązanie oparte na kablach BNC, jednak przerwanie magistrali w jednym miejscu wyłącza całą sieć. W sieci o topologii magistrali przez trójniki. Drogie koncentratory potrafią wzmocnić sygnał i dlatego, wykorzystując je, można budować bardzo rozległe sieci. Większa sieć. Połączenie kablem koncentrycznym zwane jest też często połączeniem BNC, od stosowanych w kablach końcówek zgodnie ze standardem British Naral Connector. Kabel koncentryczny powinien mieć oporność 50 omów. Należy też pamiętać, że - zgodnie z prawami Murphy'ego - kabel przycięty na odpowiednią długość okazuje się zwykle za krótki. Dlatego trzeba kupić więcej Wersja: 1.1 20