Podstawy działania sieci



Podobne dokumenty
Podstawy działania sieci

PODSTAWOWE PODZIAŁY SIECI KOMPUTEROWYCH

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek:

1. Sieć komputerowa - grupa komputerów lub innych urządzeń połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów.

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Struktura adresu IP v4

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

Działanie komputera i sieci komputerowej.

Co w sieci piszczy? Programowanie aplikacji sieciowych w C#

Przesyłania danych przez protokół TCP/IP

Serwer druku w Windows Server

Aby lepiej zrozumieć działanie adresów przedstawmy uproszczony schemat pakietów IP podróżujących w sieci.

System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS

Sieci komputerowe : zbuduj swoją własną sieć - to naprawdę proste! / Witold Wrotek. wyd. 2. Gliwice, cop Spis treści

Zadania z sieci Rozwiązanie

Topologie sieciowe. mgr inż. Krzysztof Szałajko

Ćwiczenie 5b Sieć komputerowa z wykorzystaniem rutera.

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

SIECI KOMPUTEROWE. Podstawowe wiadomości

Praca w sieci z serwerem

Scenariusz lekcji Opracowanie: mgr Bożena Marchlińska NKJO w Ciechanowie Czas trwania jednostki lekcyjnej: 90 min.

Ćwiczenie 1. Podstawowa terminologia lokalnych sieci komputerowych. Topologie sieci komputerowych. Ocena. Zadanie 1

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

SIECI KOMPUTEROWE Adresowanie IP

1. Sieć komputerowa to medium umożliwiające połączenie dwóch lub więcej komputerów w celu wzajemnego komunikowania się.

PLAN Podstawowe pojęcia techniczne charakteryzujące dostęp do Internetu prędkość podłączenia opóźnienia straty Umowa SLA inne parametry dostępność

Adres IP

SIECI KOMPUTEROWE - BIOTECHNOLOGIA

5R]G]LDï %LEOLRJUDğD Skorowidz

Ćwiczenie 5a Sieć komputerowa z wykorzystaniem rutera.

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

Zespół Szkół Ponadgimnazjalnych Nr 1 w Barlinku - Technik informatyk

Model sieci OSI, protokoły sieciowe, adresy IP

System Rozproszone Komunikator Dokumentacja. Maciej Muszkowski Jakub Narloch

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

Tematyka i rozwiązania metodyczne kolejnych zajęć lekcyjnych wraz z ćwiczeniami.

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia

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.

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

Dzielenie sieci na podsieci

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

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Przekierowanie portów w routerze - podstawy

World Wide Web? rkijanka

MASKI SIECIOWE W IPv4

PORADNIKI. Routery i Sieci

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Lekcja: Warstwowy model internetu edukacjamedialna.edu.pl

Zadanie z lokalnych sieci komputerowych. 1. Cel zajęć

Uwaga: NIE korzystaj z portów USB oraz PWR jednocześnie. Może to trwale uszkodzić urządzenie ZyWALL.

AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie. Wydział Inżynierii Mechanicznej i Robotyki. Kierunek: Inżyniera Mechatroniczna

Wykład VI. Administrowanie szkolną siecią komputerową. dr Artur Bartoszewski

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

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

Routing i protokoły routingu

Wymagania dotyczące łączy: należy zapewnić redundancję łączy w połączeniach pomiędzy routerami Uruchmić protokół routingu RIP v.2

Technologie informacyjne - wykład 8 -

Adresacja IPv4 - podstawy

FTP przesył plików w sieci

Sprawozdanie Laboratorium 4

Ćwiczenia z arytmetyki komputera Budowa adresu IP

Sieci komputerowe. Wstęp

Instrukcje dla zawodników

Kod produktu: MP-W7100A-RS232

Ćwiczenie 7 Sieć bezprzewodowa z wykorzystaniem rutera.

Sieci komputerowe. Dr inż. Robert Banasiak. Sieci Komputerowe 2010/2011 Studia niestacjonarne

Podstawy sieci komputerowych. Technologia Informacyjna Lekcja 19

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

INSTRUKCJA OBSŁUGI USTAWIEŃ DYNAMICZNIE PRZEDZIELANYCH ADRESÓW IP W URZĄDZENIACH SYSTEMU IP-PRO ORAZ REJESTRATORACH MY-DVR

Podłączenie TV przez VPN na Samsung Smart VPN Online Access

Zagadnienia na egzamin dyplomowy

Konfiguracja WDS na module SCALANCE W Wstęp

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

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Plan wykładu. Warstwa sieci. Po co adresacja w warstwie sieci? Warstwa sieci

Temat: Budowa i działanie sieci komputerowych. Internet jako sieć globalna.

Instytut-Mikroekologii.pl

Topologie sieci komputerowych

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

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

Sieci komputerowe. Informatyka Poziom rozszerzony

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

Klient-Serwer Komunikacja przy pomocy gniazd

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

System Kancelaris. Zdalny dostęp do danych

Asus RT-G32. Co w zestawie?

Co to jest Internet? Lekcja wprowadzająca Opracował: mgr Marcin Bąk

pasja-informatyki.pl

Lekcja : Tablice + pętle

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

2. Topologie sieci komputerowych

Notatka lekcja_#3_1; na podstawie W.Kapica 2017 Strona 1

Podział sieci na podsieci wytłumaczenie

MONTAŻ SIECI KOMPUTEROWYCH Z WYKORZYSTANIEM KROSOWNICY

pasja-informatyki.pl

NIP: REGON INSTRUKCJA KONFIGURACJI WIFI NA PRZYKŁADZIE ROUTERA TP-LINK TL-WR740N.

Internet, jako sieć globalna

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

Transkrypt:

Podstawy działania sieci Krótka historia sieci komputerowych Po zbudowaniu pierwszego komputera w latach 40. XX wieku trzeba było trochę zaczekać na pojawienie się pierwszych sieci komputerowych. Za pierwszą sieć komputerową uznaje się ARPANET (nazywany prekursorem dzisiejszego Internetu), która powstała w roku 1969, czyli około 30 lat po stworzeniu pierwszych komputerów. Były to 4 urządzenia, każde z nich znajdowało się na innym z amerykańskich uniwersytetów. Jak połączyć komputery? Topologie sieci Liczba 4 (chociaż pojawiła się tu z zupełnie innego powodu zespół tworzący ARPANET uznał, że ze wszystkich chętnych jedynie te 4 komputery nadają się do udziału w projekcie), jest bardzo dobrą podstawą do rozważań nad tym jak w zasadzie komputery trzeba połączyć? Nie ulega wątpliwości fakt, że między każdą parą komputerów w sieci musimy mieć połączenie (pośrednie lub bezpośrednie), inaczej ciężko byłoby mówić o jednej, spójnej sieci. Przy dwóch komputerach nie mamy zbyt wielkiego pola do popisu, podobnie z trzema. Zabawa zaczyna się właśnie przy 4 komputerach. Topologia liniowa Możemy te 4 komputery połączyć na przykład w taki sposób: A B C D Taki sposób połączenia komputerów nazywamy topologią liniową. Dlaczego liniową, to chyba nie wymaga tłumaczenia. Dlaczego topologią? W matematyce topologia to właściwość figury, która nie zmienia się po jej znacznym zniekształceniu. W przypadku sieci taką właściwością jest sposób połączenia komputerów nazywamy to więc topologią sieciową. Wyróżniamy kilka podstawowych topologii, jedną z nich jest właśnie topologia liniowa. Takie połączenie ma swoje wady i zalety. Podstawową zaletą jest prostota takiej sieci, nie trzeba wiele wysiłku przy jej planowaniu, komunikacja między komputerami jest całkiem prosta do zorganizowania. Dodatkowo nie potrzebujemy zużywać wielu metrów (kilometrów?) kabla. Pośród wad tego rozwiązania najważniejszą jest taka, że sieć ta jest bardzo podatna na uszkodzenia. Wyłączenie jednego z urządzeń lub zerwanie jednego tylko połączenia od razu powoduje zniszczenie spójności sieci. Warto jednak zauważyć, że jedna awaria nie niszczy sieci całkowicie, a jedynie dzieli je na dwie mniejsze podsieci. Inną wadą jest to, że ze względu na fizycznie ograniczenia kabli i komputerów, przesył danych między odległymi komputerami trwa dość długo. Dodatkowo wszystkie przesyłane dane przechodzą przez wszystkie komputery w sieci, przez co łatwo o podsłuch. Mariusz Różycki Podstawy działania sieci komputerowych 1

Topologia pierścienia Podstawową wadę topologii liniowej (podatność na uszkodzenia) można nieco poprawić dodając dodatkowe połączenie między pierwszym a ostatnim komputerem. A D B C Taką topologię nazywamy topologią pierścienia, co chyba nie jest zbyt zaskakujące. Zwróć uwagę, że uszkodzenie jednego komputera lub połączenia w ogóle nie niszczy sieci, nadal mamy połączenie (pośrednie lub bezpośrednie) między każdymi dwoma komputerami. Poza tym jednak topologia pierścienia dziedziczy niemal wszystkie wady topologii liniowej. Nadal przesył danych między odległymi komputerami będzie trwał długo (jednak przy tej samej liczbie komputerów, w pesymistycznym przypadku dwa razy szybciej niż w najgorszym wypadku przy topologii liniowej), nadal łatwo o podsłuch, a na dodatek występować może konflikt pakietów (to jednak wykracza poza podstawowy program informatyki w liceum). Nadal jednak sieć nie wymaga dużej ilości kabla i nadal dość łatwo zbudować taką sieć. Topologia siatki Naturalnym rozwinięciem topologii pierścienia jest dodanie paru połączeń pośrodku, aby skrócić czas potrzebny na przesłanie danych między odległymi komputerami oraz zmniejszyć podatność sieci na uszkodzenia. Topologię powstałą po takich poprawkach nazywamy topologią siatki. Przykładowa sieć w takiej topologii wyglądałaby tak: A D B C Mariusz Różycki Podstawy działania sieci komputerowych 2

Zwróć uwagę, że w tej sieci każda para komputerów jest połączona bezpośrednio (tzw. każdy z każdym ). Nie jest to konieczne, aby powiedzieć o danej sieci, że ma topologię gwiazdy. Z reguły łączy się tylko niektóre z par komputerów, ponieważ łączenie bezpośrednio każdej pary łączyłoby się z ogromnym zużyciem kabla. Sieć taka jest mniej podatna na uszkodzenia, przesył danych jest szybszy oraz trudniej tutaj o podsłuch. Podstawową jednak wadą takiego rozwiązania jest to, że trzeba się sporo napracować przy projektowaniu takiej sieci, aby minimalizując liczbę połączeń zmaksymalizować wymienione wyżej zalety. Problemem jest także właściwa organizacja przesyłu danych (o czym krótko później), a i to nie jest takie proste. Topologia gwiazdy Zupełnie inną od dotychczas przedstawionych topologii jest topologia gwiazdy. W takiej topologii wyznaczamy jeden komputer główny (serwer), do którego podłączamy wszystkie inne komputery w sieci (klienci). Przykładowa sieć w tej topologii: B C A D Topologia ta posiada jedną zasadniczą wadę: awaria serwera oznacza całkowite rozerwanie sieci i uniemożliwia nawiązanie połączenia między którymikolwiek komputerami w sieci. Mimo to właśnie ta topologia jest najbardziej popularną. Zwróć uwagę na to, że awaria któregokolwiek połączenia czy komputera klienckiego powoduje odłączenie jedynie tego jednego komputera i nie wpływa w żaden sposób na resztę sieci. W ten sposób jasno tworzy się podział obowiązków usługodawca-klient, w której usługodawca przeznacza wszystkie środki na utrzymanie stabilności serwera i nie interesuje się ani trochę stabilnością pozostałych komputerów odpowiedzialność przechodzi na klientów. Inną zaletą tej topologii jest to, że między dowolnymi dwoma komputerami istnieje połączenie albo bezpośrednie (serwer-klient) albo jedynie za pośrednictwem serwera (klient-klient), co znacznie przyspiesza przesył danych. Także komunikacja między komputerami jest uproszczona (serwer zajmuje się całą logiką, szczegóły później). Topologia hierarchiczna (drzewa) Tak jak wspomniałem, topologia gwiazdy jest najbardziej popularną topologią (wszystkie sieci domowe, firmowe, hotspoty WiFi działają na tej zasadzie). Jednak Internet opiera się na nieco innej topologii, która jest modyfikacją (w zasadzie rozszerzeniem) topologii gwiazdy. Jest to topologia hierarchiczna, nazywana też topologią drzewa. W tej topologii niektóre urządzenia klienckie są jednocześnie serwerami dla innych sieci. Mariusz Różycki Podstawy działania sieci komputerowych 3

F G E B H L M D K A C J I Tak wygląda przykładowa sieć w tej topologii. A jest serwerem głównym, komputery B, C i D są jednocześnie klientami A oraz serwerami własnych podsieci. Zwróć uwagę, że awaria komputera C wpływa jedynie na podsieć, w której C jest serwerem, podobnie B i D. Natomiast awaria serwera głównego A powoduje rozpad całej sieci, jednak podsieci B, C i D nadal działają. Jeżeli serwer D udostępnia jakąś usługę w swojej podsieci (na przykład hosting plików), to awaria serwera A nie wpłynie na działanie tej usługi w sieci lokalnej. Topologia ta posiada te same wady i zalety, co topologia gwiazdy. Zwróć uwagę, że najsłabszym punktem tej sieci jest serwer główny A. Dlatego złym rozwiązaniem byłoby oparcie całej infrastruktury Internetu na tej topologii i serwery stojące wyżej w hierarchii są raczej połączone w inny sposób tak, aby awaria jednego urządzenia nie spowodowała awarii całego Internetu. Pytania 1. Czym jest topologia sieci? 2. Wymień podstawowe topologie sieci. Nazwij je, narysuj diagramy, wymień ich wady i zalety. 3. Topologia gwiazdy jest najbardziej popularną topologią. Gdzie możesz ją spotkać? 4. * Czy wiesz jak Twój komputer podłączony jest do Internetu? 5. * Dlaczego sieć o topologii siatki jest tak trudna w zaprojektowaniu? Przepustowość łącza Kiedy już wiemy jak można połączyć komputery, warto przyjrzeć się samym połączeniom, ponieważ łącze łączu nierówne. Możemy przecież łączyć się przewodowo (a tutaj między innymi przez skrętkę, kabel koncentryczny, światłowód) albo bezprzewodowo (WiFi, Bluetooth, IrDA, radio). Z punktu widzenia końcowego użytkownika ważny jest jednak inny sposób klasyfikacji łączy. Jest nim przepustowość, zwana czasem potocznie (i raczej niepoprawnie) szybkością. Przepustowość łącza to Mariusz Różycki Podstawy działania sieci komputerowych 4

po prostu miara ilości danych, jakie możemy przez dane łącze przesłać w jednostce czasu. Podstawową jednostką przepustowości jest bit na sekundę (zapisywany b/s lub bps). Obecnie, ze względu na stosowanie dużo większych przepustowości stosuje się większe jednostki: megabit na sekundę (Mb/s lub Mbps) lub gigabit na sekundę (Gb/s lub Gbps). Problem z tą jednostką jest taki, że wielkość danych z reguły mierzymy w bajtach i pochodnych (B, kb, MB, GB, TB ), a nie bitach (b, kb, Mb, Gb, Tb ). Na szczęście zależność między bitami a bajtami jest (obecnie) dość prosta, ponieważ jeden bajt to 8 bitów. Dlatego również 1MB to 8Mb, a 16Gb to 2GB itp. Zatem gdy mamy przepustowość 8Mb/s, możemy w ciągu jednej sekundy pobrać 8Mb danych, czyli 1MB. Warto zwrócić uwagę na fakt, że przepustowość z reguły podawana jest jako, na przykład, do 8Mb/s. Oznacza to, że z reguły wartość przepustowości jest niższa, a 8Mb/s to maksymalna przepustowość jaką uzyskamy. Ważną rzeczą przy przepustowościach jest to jak się one sumują. Rzadko zdarza się, że między twoim komputerem a serwerem, z którym chcesz się połączyć, istnieje bezpośrednie połączenie o danej przepustowości. Z reguły dane przechodzą po drodze przez kilka łączy o różnych przepustowościach. Wypadkowa przepustowość takiego połączenia to minimalna spośród przepustowości składowych. Warto o tym pamiętać, bo może być to jednym z powodów, dla których twoje połączenie internetowe zdaje się działać nieco wolniej niż wynikałoby to z jego przepustowości to łącze gdzieś dalej po drodze do serwera może mieć niższą przepustowość i tym samym blokować szybszy przesył danych. To także dlatego może nie opłacać się inwestowanie w połączenie internetowe o przepustowości 100Gb/s, ponieważ serwery, z którymi się łączysz mogą nie obsługiwać takich przepustowości i twoje łącze będzie działać tak, jakby miało 10Mb/s (a przez to się marnować). Pytania 1. Plik, który chcesz pobrać zajmuje 100MB. Twoje łącze o przepustowości do 8Mb/s ma najniższą przepustowość spośród łącz na drodze między twoim komputerem a serwerem. Ile czasu zajmie ci pobranie tego pliku w teorii? 2. Pobieranie tego pliku trwało nieco dłużej. Dlaczego? 3. Twój dostawca internetowy zaprezentował ci dwie oferty: łącze o przepustowości do 100Mb/s za 9,90zl/mies. oraz łącze o przepustowości do 1000Gb/s za 1399,90zł/mies. Które z nich lepiej wybrać jako łącze domowe? 4. * Innym ważnym czynnikiem oceny łącza jest jego opóźnienie (lag). Co to jest opóźnienie? Jak je zmierzyć? Dlaczego opóźnienie łącza nie jest podawane w ofertach usługodawców internetowych? Miejsce komputera w sieci. Adresy MAC i IP Kiedy już połączymy ze sobą komputery, musimy w jakiś sposób przesyłać między nimi dane. Aby było to możliwe, potrzebujemy jakiegoś sposobu jednoznacznego identyfikowania komputerów w sieci tak, aby dane dotarły w odpowiednie miejsce. Adres MAC Pierwszym sposobem identyfikacji komputera jest adres MAC. Nie jest on co prawda używany do właściwej komunikacji, jednak może służyć do autoryzacji. Adres ten jest jak PESEL dla człowieka Mariusz Różycki Podstawy działania sieci komputerowych 5

jednoznacznie identyfikuje urządzenie, jest na stałe do niego przypisany oraz zawiera pewne informacje o urządzeniu (typ, producenta, model, numer seryjny). Każde dwa urządzenia mają różne adresy MAC. W praktyce te założenia czasem są łamane (dla zainteresowanych: DNS spoofing), jednak z reguły tak to właśnie działa. Adres MAC to 48-bitowa liczba, z reguły zapisywana jako 6 liczb 8-bitowych w systemie szesnastkowym, rozdzielonych dwukropkami, np. F8:7B:7A:ED:A5:4F. Adres IP Drugi sposób identyfikacji komputera w sieci to adres IP. Przypomina on adres zamieszkania osoby: nie jest na stałe przypisany do jednego urządzenia, kilka urządzeń może działać pod jednym adresem, a także jeden adres może występować w kilku miejscach (tak jak ul. Długa 16 może być i w Warszawie i w Krakowie). Poza tym oczywiście zawiera on pewne informacje o położeniu komputera w sieci. Zgodnie z protokołem IPv4 (najczęściej obecnie używanym), adres IP jest liczbą 32-bitową. W praktyce zapisuje się go jako 4 liczby z przedziału 0 do 255 (włącznie), oddzielone kropkami. Na przykład 192.168.1.1 jest prawidłowym adresem IP, tak samo 127.0.0.1. Jednak 234.345.121.11 prawidłowym adresem IP nie jest, ponieważ druga liczba wykracza poza dozwolony zakres. Łatwo policzyć, że wszystkich adresów IP w protokole IPv4 jest 2 32, czyli około 4 miliardów. Zaczyna ich powoli brakować i powoli przechodzi się na protokół IPv6, w którym adres IP ma 128 bitów, dzięki czemu mamy dostęp do 2 128, czyli około 10 38 różnych adresów. Pytania 1. Czym charakteryzuje się adres MAC? 2. Czym charakteryzuje się adres IP? 3. Jak wygląda adres IPv4? 4. Ile jest dostępnych różnych adresów IP w protokole IPv4? 5. * Jakie są skutki wyczerpania się puli adresów IPv4? 6. * Jak przydzielane są adresy IP? 7. * Czy możliwe jest, aby dwa komputery w jednej podsieci miały ten sam adres IP? Co z tego wynika? 8. * W niektórych sieciach bezprzewodowych stosuje się zabezpieczenie zwane filtracją adresów MAC. Jest ono dość proste tworzy się listę adresów MAC urządzeń, które mają być dopuszczone do sieci, każde urządzenie z adresem spoza tej listy nie jest dopuszczane. Jakie są jego wady i zalety? Czy takie zabezpieczenie jest wystarczające dla zapewnienia bezpieczeństwa sieci? Komunikacja między komputerami Kiedy nasze komputery są już połączone i potrafimy je jednoznacznie zidentyfikować, czas zastanowić się nad tym jak właściwie dane są przesyłane między komputerami. Nie jest to problem łatwy, często możemy spotkać się z różnymi podejściami w zależności od tego, na czym nam zależy najbardziej (szybkości przesyłu danych, stabilności, niskim zużyciu pamięci, łatwej implementacji, dużym bezpieczeństwie). Mariusz Różycki Podstawy działania sieci komputerowych 6

Podstawowy problem wynika z tego, że komputer będący w sieci tak naprawdę nie wie, jak wygląda sieć. Ba! Nie wie nawet co znajduje się po drugiej stronie kabla, do którego jest podłączony! Oczywiście, możliwe jest sondowanie sieci, zbudowanie mapy i lokalne dobranie optymalnej ścieżki, jednak to trwa. Poza tym fizyczne ułożenie komputerów w sieci może się zmieniać, a sieć powinna działać bez względu na takie modyfikacje. Dlatego skupimy się na dwóch algorytmach postępowania w dwóch topologiach, które dość łatwo wytłumaczyć i zrozumieć. Inne rozwiązania dla innych sieci znacznie wykraczają poza zakres materiału informatyki w liceum (nawet rozszerzony), dlatego nie będziemy się nimi zajmować. Komunikacja w sieci o topologii liniowej Najprostszy algorytm komunikacji występuje w sieci o topologii liniowej. Dana jest sieć: 10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4 Załóżmy, że komputer 10.0.0.1 chce skomunikować się z komputerem 10.0.0.4. Wysyła więc po swoim łączu dane umieszczone w strukturze danych zwanej pakietem. Pakiety mogą wyglądać różnie, w zależności od protokołu, typu połączenia, wysyłanych danych. Jednak niezmiennie każdy pakiet zawierać musi dwie informacje: adres odbiorcy oraz dane, które chcemy wysłać. W praktyce każdy pakiet zawiera także informacje o swoim typie oraz powinien zawierać coś, co umożliwi jego jednoznaczną identyfikację. Nie jest to jednak istotne w naszym uproszczonym modelu, przyjmijmy więc, że znajduje się to w bloku danych. Zatem 10.0.0.1 wysyła pakiet po wszystkich dostępnych sobie łączach. Pakiet trafia zatem do 10.0.0.2. Komputer ten sprawdza, czy pakiet, który otrzymał skierowany jest do niego. Porównuje adres odbiorcy pakietu ze swoim adresem. Jeżeli są zgodne, pakiet zostaje odczytany i nie jest przesyłany dalej. W tym jednak wypadku adresy nie zgadzają się 10.0.0.2 ignoruje więc pakiet i rozsyła go po dostępnych sobie łączach (z wyłączeniem tego, z którego pakiet nadszedł). Następnie pakiet trafia do 10.0.0.3. Tutaj ponownie sprawdzany jest adres IP odbiorcy pakietu. Nie zgadza się on z adresem komputera, więc przesyłany jest dalej. Ostatecznie trafia do 10.0.0.4, który odczytuje pakiet, jako że skierowany był on do niego. Zwróć uwagę, że pakiet trafia po drodze do wszystkich komputerów pomiędzy komputerami, które się komunikują. Zgodnie z protokołem komputery powinny ignorować pakiety, które nie są adresowane do nich, ale w praktyce nie ma możliwości sprawdzenia, czy pakiet nie został po drodze odczytany przez nieautoryzowane urządzenia. Dlatego stosuje się szyfrowanie połączeń, dzięki czemu odczytanie pakietu przez osoby postronne jest utrudnione (co nie znaczy, że niemożliwe). Mariusz Różycki Podstawy działania sieci komputerowych 7

Komunikacja w sieci o topologii hierarchicznej Podobnie możemy rozsyłać pakiety w sieci o topologii hierarchicznej. Dana jest sieć: 10.0.1.3 10.0.1.4 10.0.1.2 10.0.1.1 10.0.1.5 10.0.2.4 10.0.0.1 10.0.3.2 10.0.2.1 10.0.3.1 10.0.2.3 10.0.2.2 10.0.3.3 Komputer 10.0.3.3 chce skomunikować się z komputerem 10.0.1.4 (zaznaczone na diagramie). Wysyła więc pakiet z odpowiednim adresem i danymi po dostępnych sobie łączach. Pakiet trafia do 10.0.3.1. Zgodnie z algorytmem opisanym wyżej, 10.0.3.1 powinien rozesłać pakiet po wszystkich dostępnych sobie łączach, za wyjątkiem tego, z którego pakiet przybył. Zwróć jednak uwagę, że doprowadziłoby to do wysłania pakietu do dosłownie każdego komputera w sieci, a to nie jest pożądane. W rzeczywistości działa to nieco inaczej. Dostępny jest prosty mechanizm, dzięki któremu komputer może sprawdzić, czy adresat pakietu znajduje się w jego podsieci (dla zainteresowanych: maska podsieci). Zatem 10.0.3.1 sprawdza, że pakiet skierowany jest do komputera spoza jego podsieci. Kieruje więc pakiet do swojego serwera (z reguły serwer/ruter wie, które fizyczne łącze prowadzi do serwera), by ten zajął się nim dalej. Pakiet trafia zatem do 10.0.0.1. Okazuje się, że adresat pakietu znajduje się w podsieci tego serwera. Teraz pakiet jest rozsyłany po wszystkich dostępnych łączach klienckich (z wyjątkiem łącza, z którego pakiet nadszedł, oczywiście). Dostaje go więc 10.0.2.1, który ignoruje pakiet, jako że adresat nie znajduje się w jego podsieci. Dostaje go również 10.0.1.1, który ma adresata pakietu w swojej podsieci, zatem znowu rozsyła pakiet po wszystkich łączach klienckich. Mariusz Różycki Podstawy działania sieci komputerowych 8

Dostają go 10.0.1.2, 10.0.1.3 i 10.0.1.5, które ignorują pakiet (adresat nie znajduje się w ich podsieci). Dostaje go również 10.0.1.4, czyli odbiorca pakietu. Pakiet jest odczytywany. Sukces! Zauważ, że pakiet nie zawsze musi dotrzeć do głównego serwera. Pakiet wędruje w górę hierarchii tylko tak długo, jak jest to konieczne i zaczyna schodzić w dół tak wcześnie, jak jest to możliwe. Pakiet wysłany z 10.0.3.3 do 10.0.3.2 nigdy nie przejdzie przez główny serwer, ponieważ zostanie rozesłany przez 10.0.3.1 tylko do komputerów klienckich w swojej podsieci. Zwróć uwagę, że tutaj również dość łatwo o podsłuch (wystarczy podłączyć się do któregoś z serwerów, żeby dostawać większość pakietów, które krążą po sieci). Nadal dobrym pomysłem jest stosowanie szyfrowania. Krótko o problemach w innych topologiach (dla chętnych) Wyżej zaprezentowane algorytmy działają i są dość proste tylko dzięki jednej własności, które posiadają topologie liniowa i hierarchiczna. Jest to brak cykli (pierścieni). Dzięki temu między dowolnymi dwoma komputerami istnieje tylko jedna możliwa ścieżka i każdy działający algorytm musi obrać tę właśnie ścieżkę (ponieważ innej nie ma). Problem pojawia się, kiedy między dwoma komputerami istnieje więcej niż jedna droga. Pakiet może więc dotrzeć do celu kilkakrotnie (dlatego potrzebna jest możliwość identyfikacji pakietu możemy sprawdzić, czy dany pakiet został już odebrany i zignorować kolejne jego kopie). Bez odpowiednich mechanizmów kontrolujących przepływ danych, kopie jednego pakietu mogą krążyć po sieci w nieskończoność. Musimy więc tak zarządzać pakietami, aby nie wędrowały niepotrzebnie i nie marnowały przepustowości łączy. Trzeba być jednak ostrożnym, ponieważ wybranie ścieżki, która nie jest optymalna, doprowadzi do opóźnień w połączeniu. Trzeba także pamiętać o tym, że struktura sieci może się zmieniać i ścieżka będąca w danym momencie optymalną, za kilka godzin może być najgorszą lub w ogóle nie istnieć (ze względu na np. zerwanie połączenia). Komunikacja w sieci to temat bardzo rozległy, mocno korzystający z teorii grafów (która znacznie wykracza poza materiał informatyki w liceum). Chętni mogą znaleźć sporo materiałów w Internecie (polecam zacząć od protokołu TCP/IP), zawsze można też zwrócić się do mnie. Pytania 1. Z czego składa się pakiet? 2. Komputery A i B znajdują się w jednej sieci o topologii liniowej. Komputer A otrzymuje pakiet zaadresowany do B, co powinien zrobić? 3. Komputery A i B znajdują się w jednej sieci o topologii hierarchicznej. Komputer A (serwer) otrzymuje pakiet zaadresowany do B. Co powinien zrobić? 4. Dlaczego istotne jest szyfrowanie danych? 5. * Narysuj sieć, w której kopia pakietu będzie krążyć w nieskończoność, jeżeli zastosujemy opisany powyżej naiwny algorytm. Zaproponuj rozwiązanie tego problemu. 6. * W topologii hierarchicznej, przy stosowaniu powyższego algorytmu, bardzo łatwo o podsłuch, ponieważ serwer rozsyła dane do wszystkich klientów. Zaproponuj rozwiązanie tego problemu (inne niż szyfrowanie). Mariusz Różycki Podstawy działania sieci komputerowych 9

Domain Name System Kiedy chcesz odwiedzić jakąś stronę internetową, to nie podajesz adresu IP serwera, na której strona ta się znajduje, lecz domenę, czyli łatwą do zapamiętania nazwę, jak google.com. Za działanie tego ułatwienia odpowiedzialny jest DNS, czyli Domain Name System. Przyjrzyjmy się mu. DNS to sieć serwerów, z których każdy zawiera listę domen oraz odpowiadających im adresów IP. Gdy wpisujesz adres strony w przeglądarkę, ta wysyła najpierw pakiet do serwera DNS (jego adres IP powinien być podany w ustawieniach sieci) z zapytaniem o odpowiedni adres IP. Serwer DNS odsyła odpowiedni adres i dopiero wtedy przeglądarka nawiązuje bezpośrednie połączenie z serwerem zawierającym żądaną stronę. Możliwe jest jednak, że serwer DNS nie będzie posiadał w swojej bazie poszukiwanego adresu. Wtedy odpytuje on serwer DNS, który jest mu nadrzędny. Jeżeli ten serwer posiada odpowiednie dane, zwraca je podrzędnemu serwerowi, a ten twojej przeglądarce. Może jednak się zdarzyć, że i serwer nadrzędny tych informacji posiadać nie będzie. Wtedy odpyta on serwer sobie nadrzędny itd. Zauważ, że domena nie działa tak, jak adres IP. Nie można wysłać pakietu, który będzie miał w miejscu adresu IP domenę. Zawsze musi być to adres IP. Podobnie należy zwrócić uwagę, że system DNS nie działa na zasadzie pośrednictwa. To znaczy, że komunikacja twojego komputera z serwerem DNS kończy się w momencie, kiedy ten odeśle odpowiedni adres IP. Pakiety kierowane do serwera ze stroną nie są kierowane przez system DNS. Z tego właśnie powodu możliwe jest działanie sieci i istnienie Internetu bez systemu DNS, jako że jest on tylko uproszczeniem. Spróbuj wpisać 173.194.65.138 w pasek adresu swojej przeglądarki internetowej. Zauważ, wczyta się strona Google. Może nie jest to widoczne, ale uwierz mi, dzieje się to bez pośrednictwa serwerów DNS. Zauważ także, że na DNS składa się sieć serwerów, a nie jeden serwer. Gdyby DNS opierał się wyłącznie na jednym serwerze, bardzo łatwo byłoby o manipulacje, dodatkowo awaria tego jednego serwera oznaczałaby awarię całego systemu DNS. Pytania 1. Do czego służy DNS? 2. Czy jest możliwe działanie Internetu bez DNS? 3. Jak działa DNS? 4. Dlaczego DNS nie opiera się na jednym serwerze, ale na ich sieci? 5. * Sieć serwerów DNS jest czysto hierarchiczna. Istnieje serwer nadrzędny do wszystkich serwerów DNS. Gdzie on się znajduje? Kto nim zarządza? Przypomnij sobie jaki jest najsłabszy punkt topologii hierarchicznej. Czy jest on tutaj realnym zagrożeniem? Uzasadnij. 6. * DNS można było zaprojektować tak, aby działał na zasadzie pośrednictwa. Rozwiązanie miało to jednak pewne poważne wady. Jakie? 7. * Protokół sieciowy TCP/IP, obecnie najpopularniejszy, zaprojektowano tak, aby pakiety adresowano adresami IP. Dlaczego nie zastosowano w to miejsce domen? 8. * Jaś wymyślił LDNS, czyli Local Domain Name System. Działa on podobnie do listy kontaktów w telefonie domeny i odpowiadające im adresy przechowywane są lokalnie. Jakie są wady i zalety tego rozwiązania? Dlaczego nie zdecydowano się na jego wprowadzenie? Czy warto byłoby przesiąść się teraz na taki system? Dlaczego? Jeżeli tak, dlaczego wciąż używamy DNS? Mariusz Różycki Podstawy działania sieci komputerowych 10