Sieci komputerowe Sieci komputerowe System wzajemnych powiązań stacji roboczych, urządzeń peryferyjnych i innych urządzeń /Akademia Sieci Cisco/ Zbiór zlokalizowanych oddzielnie komputerów połączonych w celu wykonania określonego zadania /Tanenbaum 1996/ Zbiór komputerów połączonych podsiecią komunikacyjną /Wikipedia/ Czego oczekujemy od sieci? Z punktu widzenia: Użytkownika – usługi i gwarancje Projektanta – efektywne wykorzystanie zasobów Dostawcy – łatwe zarządzanie i naprawa Wpływ sieci na codzienne życie Przykłady współczesnych popularnych narzędzi do komunikacji Rozpowszechnienie Internetu dostarczyło nowych form komunikacji, które pozwalają poszczególnym jednostkom tworzyć informacje o zasięgu globalnym. Komunikator internetowy Blogi Wiki Publikacje internetowe (ang. podcasting). Komunikator internetowy Komunikator internetowy jest formą komunikacji pomiędzy dwiema lub więcej osobami, przesyłającymi tekst wpisywany z klawiatury. Tekst jest przekazywany między połączonymi komputerami w sieci prywatnej lub publicznej, takiej jak Internet. Rozwinięte na bazie wcześniejszej usługi IRC (ang. Internet Relay Chat) komunikatory internetowe posiadają również takie funkcje jak transfer plików, komunikacja głosowa i video. Komunikator internetowy Forma komunikacji wykorzystywana przez komunikatory internetowe jest nazywana komunikacją czasu rzeczywistego - komunikaty docierają natychmiast. Popularne komunikatory: MSN Messenger Gadu-Gadu Skype Blogi Blogi są stronami WWW, które są łatwe do aktualizacji i edycji. W przeciwieństwie do komercyjnych stron WWW, tworzonych przez profesjonalistów, blogi dają każdemu możliwość wyrażania swoich przemyśleń globalnej publiczności. Osoby edytujące blogi nie muszą posiadać wiedzy technicznej o projektowaniu stron WWW. Istnieją blogi praktycznie na każdy temat. Wokół popularnych autorów blogów często powstają społeczności ludzi. Wiki Wiki są stronami WWW, które grupa ludzi może wspólnie edytować i przeglądać. Blog jest raczej indywidualnym, osobistym dziennikiem, natomiast wiki stanowi twórczość grupową. Jako taka może ona być przedmiotem bardziej intensywnego przeglądania i edycji. Istnieje publiczna wiki, nazwana Wikipedią, która staje się wszechstronnym źródłem wiedzy - encyklopedią online Osoby i organizacje prywatne mogą również tworzyć swoje wiki, aby gromadzić i porządkować wiedzę na dany temat. Publikacje internetowe (ang. podcasting) Podcasting jest medium dźwiękowym, które początkowo pozwalało ludziom nagrywać dźwięk i konwertować w celu użycia z iPodem Publikacja internetowa pozwala ludziom dostarczać swoje nagrania szerokiej publiczności. Plik audio jest umieszczany na stronie WWW (lub blogu albo wiki) Listy dyskusyjne Zasada działania list opiera się na rozsyłaniu wiadomości email do wszystkich subskrybentów listy. Aby zostać subskrybentem, należy najpierw zapisać się na dana listę dyskusyjna. Po zapisaniu będziemy mogli prowadzić dyskusje poprzez wysyłanie wiadomości email na listę, oraz odpowiadanie na konkretne wiadomości. Istnieją listy ogólnie dostępne, jak i zamknięte, dostępne tylko dla wybranej grupy użytkowników. Niektóre listy można przeglądać przez stronę internetowa, nie będąc subskrybentem. Fora internetowe Fora internetowe są formą list dyskusyjnych, dostepną poprzez stronę WWW. Fora dyskusyjne umożliwiają zarejestrowanym użytkownikom czytanie wszystkich wiadomości, bez konieczności pobierania ich za pomocą programu pocztowego. Niektóre fora wymagają rejestracji i zalogowania w celu odczytania wiadomości. Aby założyć forum internetowe należy posiadać miejsce na serwerze WWW oraz oprogramowanie, które będzie zarządzać wiadomościami wysyłanymi na forum Mapy Google Sieci wspomagające naukę Kursy dostarczane przez sieć lub zasoby Internetu są często nazywane nauczaniem online lub e-learningiem. Sieci wspomagające pracę Sieci przedsiębiorstw pozwalają na transmisję wielu różnych typów informacji, włączając w to pocztę elektroniczną, wideo, komunikaty i telefonię. Intranety – prywatne sieci używane przez jedną firmę pozwalają przedsiębiorstwu na komunikację i przeprowadzanie transakcji między poszczególnymi oddziałami w różnych lokalizacjach. Firmy tworzą ekstranety lub rozszerzone sieci wewnętrzne, żeby zapewniać dostawcom, sprzedawcom i klientom ograniczony dostęp do danych korporacyjnych, aby sprawdzać status zamówień, stan zapasów i listy części. Sieci wspomagające pracę Sieci wspomagające rozrywkę Komunikacja poprzez sieć Sieci przesyłające dane lub informacje różnią się rozmiarami i możliwościami, jednak wszystkie posiadają cztery wspólne elementy: Zasady lub umowa według których wiadomości są wysyłane, kierowane, otrzymywane i interpretowane. Wiadomości lub jednostki informacji, które są transportowane z jednego urządzenia do drugiego. Sposób połączenia tych urządzeń ze sobą medium, które umożliwia transport wiadomości pomiędzy urządzeniami. Urządzenia w sieci, które wymieniają informacje między sobą. Elementy sieci Cztery elementy sieci: Reguły działania Medium transmisyjne Wiadomości Urządzenia sieciowe Przykład – wysłanie wiadomości z komunikatora internetowego Wiele usług – wiele sieci Tradycyjna telefonia, radio, telewizja i sieci komputerowe przesyłające dane mają swoje oddzielne, indywidualne wersje czterech podstawowych elementów sieci. W przeszłości każda z tych usług wymagała innej technologii przesyłania specyficznego sygnału komunikacyjnego. Dodatkowo, każda usługa miała swój własny zbiór reguł i standardów by zapewnić udaną komunikację sygnału poprzez określone medium. Wiele usług – wiele sieci Sieci konwergentne Rozwój technologii pozwala na konsolidację oddzielnych sieci w jedną platformę - sieć konwergentna. Przepływ głosu, wideo i danych w jednej sieci eliminuje potrzebę tworzenia i zarządzania oddzielnymi sieciami. W sieciach konwergentnych nadal jest wiele punktów styku i specjalizowanych urządzeń, np. komputery osobiste, telefony, telewizory, PDA, terminale sklepowe ale tylko jedna, wspólna infrastruktura sieciowa. Sieci konwergentne Urządzenia końcowe i ich rola w sieciach Przykładów urządzeń końcowych: komputery (stacje robocze, laptopy, serwery plików, serwery WWW), drukarki sieciowe, telefony VoIP, kamery w systemie do monitoringu, niewielkie urządzenia mobilne (bezprzewodowe skanery kodów kreskowych, PDA). W kontekście sieci komputerowych, urządzenia końcowe nazywamy hostami. Urządzenia końcowe i ich rola w sieciach Urządzenia końcowe i ich rola w sieciach W celu rozróżnienia poszczególnych hostów, każdy z nich jest identyfikowany w sieci poprzez adres. W nowoczesnych sieciach, host może pełnić rolę klienta, serwera lub obu naraz - rolę określa zainstalowane oprogramowanie. Serwery to hosty z oprogramowaniem umożliwiającym im dostarczanie informacji i usług, Klienci to hosty z oprogramowaniem odpowiednim do wysyłania zapytań oraz wyświetlania informacji otrzymanych z serwera. Urządzenia pośredniczące i ich rola Urządzenia pośredniczące – zapewniają łączność i poprawność przepływu informacji w sieciach. Urządzenia te łączą poszczególne hosty z siecią oraz wiele niezależnych sieci, celem stworzenia intersieci. Urządzenia pośredniczące i ich rola Przykłady urządzeń pośredniczących: urządzenia dostępowe (koncentratory, przełączniki, bezprzewodowe punkty dostępowe), urządzenia łączące sieci (routery), serwery komunikacyjne i modemy, urządzenia zapewniające bezpieczeństwo (firewalle). Urządzenia pośredniczące i ich rola Urządzenia pośredniczące zarządzają przepływem danych: regenerują i przekazują sygnały danych, utrzymują informację o ścieżkach transmisyjnych istniejących w sieci i intersieci, powiadamiają inne urządzenia o błędach i awariach w komunikacji, kierują dane alternatywnymi ścieżkami w sytuacji awarii łączy, klasyfikują i kierują wiadomości zgodnie z priorytetami QoS, umożliwiają lub blokują przepływ danych, kierując się ustawieniami bezpieczeństwa. Urządzenia pośredniczące i ich rola Media sieciowe Medium zapewnia kanał, którym wiadomość jest przesyłana od źródła do celu. Nowoczesne sieci wykorzystują głównie trzy typy mediów, łączących urządzenia i zapewniających ścieżki transmisji danych: metalowe przewody wewnątrz kabli, włókna szklane lub plastikowe (światłowód), transmisja bezprzewodowa. Media sieciowe Media sieciowe Dla każdego z typu mediów inne jest kodowanie sygnału, wymagane do transmisji wiadomości. Przewody metalowe - dane w postaci określonych wzorców impulsów elektrycznych. Światłowody - impulsy światła w zakresie widzialnym lub podczerwonym. Transmisja bezprzewodowa - wzorce fal elektromagnetycznych określające różne wartości bitowe. Media sieciowe Media posiadają różne charakterystyki - są odpowiednie do różnych celów. Kryteria wyboru mediów sieciowych to: odległość, na jaką dane medium może poprawnie transmitować sygnał, otoczenie, w którym dane medium ma być zainstalowane, ilość danych oraz prędkość ich transmisji, koszt danego medium oraz jego instalacji. Infrastruktura sieciowa Infrastruktura sieciowa może się znacznie różnić pod względem: rozmiaru pokrywanego obszaru, liczby podłączonych użytkowników, liczby i rodzaju oferowanych usług. Infrastruktura sieciowa Podział sieci komputerowych ze względu na obszar zajmowany przez sieć: LAN (Local Area Network) - sieć lokalna, MAN (Metropolitan Area Network) - sieć miejska, WAN (Wide Area Network) – sieć rozległa PAN (Private Area Network) – sieć prywatna LAN Sieć prywatna obejmująca pojedynczy budynek lub grupę budynków w obszarze o średnicy do kilku kilometrów. Powszechnie używana do łączenia komputerów osobistych i stacji roboczych w celu udostępniania zasobów i wymiany informacji. Odległość do 100 km Sieci lokalne charakteryzuje wysoka niezawodność działania MAN Sieć miejska, łączy oddzielne sieci LAN na przestrzeni jednego miasta lub aglomeracji. Względy formalne oraz względy bezpieczeństwa sprawiają, że połączenia te mają na ogół charakter typowy dla sieci rozległych. Do zadań sieci metropolitalnych należy łączenie indywidualnych komputerów, głównie osób prywatnych do Internetu. Konstrukcja sieci metropolitalnych oparta jest zazwyczaj na sieci szkieletowej, do której podłączane są sieci lokalne różnego rodzaju organizacji oraz osób prywatnych za pomocą indywidualnych łączy typowych dla sieci rozległych. POZMAN Miejska Sieć Komputerowa POZMAN zbudowana została w całości na bazie połączeń światłowodowych. Szkieletowe łącza światłowodowe mają strukturę fizycznego pierścienia z kilkoma cięciwami. Sieć światłowodowa obejmuje obszar prawie całego Poznania. POZMAN Początkowo w szkielecie sieci POZMAN stosowana była technologia FDDI, która jest obecnie zastąpiona nowoczesną technologią ATM. Połączenia pomiędzy najważniejszymi węzłami ATM w sieci POZMAN pracują z prędkością transmisji 622 Mbit/s, Węzły dostępowe są dołączone do szkieletu sieci z prędkością 155 Mbit/s. POZMAN Sieć POZMAN jest dołączona do krajowej sieci szerokopasmowej POL-34, łączącej miejskie akademickie sieci komputerowe. Połączenia z najważniejszymi polskimi operatorami telekomunikacyjnymi: TP S.A., Tel-Energo, TelBank, PKP, NASK (przez sieć POL-34) i Internet Partners. WAN WAN sieć rozległa łącząca ze sobą sieci MAN na terenie jednego kraju. sieci WAN określane są czasem jako "sieci dalekiego zasięgu" (ang. Long haul network). najczęściej korzysta się z dzierżawionych łączy telekomunikacyjnych, realizowanych w technologii ATM i Frame-Relay, które pozwalają na transmisję z prędkością od 30 Mbps do kilku Gbps. WAN WAN W Polsce typowe sieci rozległe to: sieć POLPAK-T (operator TP S.A.), sieci NASK (Naukowo - Akademickie Sieci Komputerowe Sp. z o o ), PIONIER PIONIER Sieć światłowodowa PIONIER aktualnie jest wykorzystywana do: obsługi akademickiej sieci Internet budowy dedykowanej sieci dla połączeń pomiędzy centrami superkomputerowymi (ośrodkami KDM) rozwoju sieci regionalnych (poprzez udostępnienie akademickim sieciom MAN włókien światłowodowych, wykorzystywanych do obsługi jednostek terenowych administracji rządowej i samorządowej, szkół, szpitali,...) PIONIER PIONIER łączy 19 akademickich sieci MAN własnymi łączami o szybkości 2 x 10Gbit/s (technologia DWDM) oraz 2 akademickie sieci MAN z wykorzystaniem lambdy asynchronicznej dzierżawionej od Telekomunikacji Kolejowej, na której to lambdzie uruchomiono połączenie w technologii 1 GE. Do zbudowania połączeń transmisyjnych PIONIER wykorzystano włókna światłowodowe G. 652 i G.655, które obsadzono systemem DWDM firmy ADVA. PIONIER PIONIER NASK Sieć NASK-WAN ma 43 węzły, Sieć połączona jest z zagranicą przez Szwecję łączem o maksymalnej przepustowości 155 Mb/s wewnątrz kraju możliwe są transmisje do 34 Mb/s. Główne węzły sieci IP połączone są poprzez sieć szkieletową, zbudowaną na bazie protokołu Frame Relay i ATM mniejsze węzły dołączone są do szkieletu łączami cyfrowymi lub analogowymi - zależnie od zapotrzebowania klientów i możliwości operatorów telekomunikacyjnych. NASK POLPAK-T Operatorem sieci jest Centrum Usług Teleinformatycznych; jest ona podstawą infrastruktury teleinformatycznej TP SA. Porty abonenckie mogą pracować z prędkością transmisji od 64 kb/s do 2048 kb/s. Obecnie sieć bazuje na protokole Frame Relay; docelowo będzie rozbudowywana jako ATM z prędkością 155 Mb/s. POLPAK-T Między Bydgoszczą, Gdańskiem, Lublinem, Łodzią, Katowicami, Krakowem, Olsztynem, Poznaniem, Warszawą i Wrocławiem uruchomiony jest szkielet sieci ATM na strumieniu E3 (34 Mb/s). Sieć ma połączenie z USA o przepustowości 45 Mb/s POLPAK-T POL34 Szybka sieć światłowodowa o przepustowości 34 Mb/s, korzysta z łączy w kablach energetycznych operatora TelEnergo SA (maksymalna możliwa przepustowość 622 Mb/s). W Warszawie znajduje się węzeł sieci, do którego przyłączony jest polski SunSITE (ICM). Aktualna struktura sieci POL-34 POL34 POL34 ma także swoje łącze zagraniczne o przepustowości 34 Mb/s - do europejskiej sieci TEN-155. POL34 dostępna jest praktycznie tylko dla środowisk akademickich. PAN Sieci prywatne (PAN), to konstrukcje stosowane głównie w domach i niewielkich biurach. Charakteryzuje je niewielki zasięg geograficzny (do ok. 10m) i dość duża różnorodność mediów, jak: skrętka UTP komunikacja bezprzewodowa WLAN BlueTooth Podczerwień Itp.. PAN Główny cel istnienia takiej sieci, to komunikacja pojedynczego komputera z Internetem, łączenie do komputera urządzeń peryferyjnych, urządzeń typu laptop, palmtop, telefon komórkowy, telefony VoIP. Internet – sieć sieci Potrzeba komunikacji z zasobami, które znajdują się w sieciach poza strukturą lokalnej organizacji. Przykłady tego typu komunikacji: wysyłanie poczty e-mail do kolegi w innym kraju, dostęp do informacji lub produktów znajdujących się na stronach internetowych, uzyskanie dostępu do pliku na komputerze sąsiada, wykorzystanie komunikatora do porozumiewania się z rodziną mieszkającą w innym mieście, śledzenie dokonań ulubionego zespołu sportowego w telefonie komórkowym. Internet – sieć sieci Intersieć – globalna siatka połączonych ze sobą sieci. Najbardziej znaną i powszechnie wykorzystywaną intersiecią jest Internet. Internet jest tworzony poprzez połączenie sieci należących do dostawców usług internetowych (ang. ISP - Internet Service Provider). Zapewnienie efektywnej komunikacji w obrębie tej różnorodnej architektury wymaga wykorzystania zgodnych i znanych technologii i protokołów oraz ciągłej współpracy między organizacjami administrującymi poszczególnymi sieciami. Internet - środowisko rozproszone 1989 – Formalnie przestaje istnieć ARPANET. Internet rozwija się dalej. 1969 – Powstanie ARPAnet’u, 1970 – Uruchomiony pierwszy serwer FTP. 1994 – powstaje Yahoo!, pierwszy SPAM 1985 – Rejestracja symbolics.com 1995 – powstaje Netscape Navigator, 1957 – utworzenie agencji ARPA 1990 – narodziny WWW, Polska w sieci 1974 – Po raz pierwszy pojawia się słowo Internet 1983 – Z sieci ARPANET zostaje wydzielona część wojskowa tworząc MILNET. 1973 –ARPANET staje się siecią międzynarodową W 1971 sieć ta liczyła sobie 13 węzłów, a w 1973 roku - już 35. Jak wygląda Internet? Protokoły sieciowe Aby świadczyć usługi, urządzenia połączone poprzez medium muszą być zarządzane zgodnie z regułami lub protokołami. Protokoły określają reguły wykorzystywane przez urządzenia sieciowe podczas wzajemnej komunikacji. Grupę powiązanych ze sobą protokołów wymaganych do zapewnienia komunikacji nazywamy zestawem protokołów. Zestaw protokołów musi zawierać dokładne wymagania dotyczące ich współdziałania. Protokoły sieciowe - zadania Zestawy protokołów sieciowych opisują następujące procesy: format lub strukturę wiadomości, metodę wymiany informacji między urządzeniami sieciowymi po ścieżkach prowadzących do innych sieci, W jaki sposób i kiedy urządzenia sieciowe wysyłają sobie informacje systemowe lub informacje o błędach, nawiązywanie i kończenie sesji komunikacyjnych. Protokoły sieciowe - zadania Model odniesienia i protokołów Istnieją dwa podstawowe typy modeli sieciowych: model protokołów i model odniesienia. Model protokołów – schemat, hierarchiczny zbiór powiązanych protokołów reprezentujący funkcjonalność wymaganą, aby pośredniczyć pomiędzy siecią międzyludzką a siecią danych. Model odniesienia – dostarcza wspólny punkt widzenia do utrzymania spójności wśród wszystkich typów protokołów i usług sieciowych, podstawowym celem modelu odniesienia jest pomoc w jasnym zrozumieniu zastosowanych funkcji oraz procesów. Model odniesienia i protokołów Model TCP/IP (ang. Transmission Control Protocol / Internet Protocol) jest modelem protokołów ponieważ opisuje funkcje, które występują na każdej z warstw w ramach zestawu TCP/IP. Model OSI (ang. Open Systems Interconnection) jest najbardziej znanym modelem odniesienia. Jest stosowany do projektowania sieci przenoszących dane, tworzenia specyfikacji operacji i do rozwiązywania problemów. Modele TCP/IP oraz OSI są uważane za podstawowe. Są stosowane do opisu funkcjonalności sieci. Model odniesienia i protokołów Model TCP/IP Definiuje on cztery kategorie funkcji, które muszą wystąpić aby komunikację można było uznać za udaną. Architektura zbioru protokołów TCP/IP odzwierciedla strukturę tego modelu. Ze względu na to, model sieci Internet jest często określany jako model TCP/IP. Na temat standardu oraz protokołów TCP/IP są prowadzone dyskusje na forum publicznym. Definicje są później ogólnie dostępne – RFC (ang. Requests for Comments), RFC zawierają one dwa elementy: formalną specyfikację protokołów komunikacyjnych oraz zasoby, które opisują użycie protokołów. Model TCP/IP Model odniesienia OSI Model OSI (ang. Open Systems Interconnection) abstrakcyjny model zbudowany w oparciu o warstwy, który został opracowany celem ułatwienia projektowania protokołów sieciowych. Model OSI dzieli procesy sieciowe na siedem logicznych warstw Każda warstwa ma unikalną funkcjonalność oraz przypisane określone usługi i protokoły. Jako model odniesienia, model OSI dostarcza obszerną listę funkcji oraz usług, które mogą zaistnieć w każdej z warstw. Opisuje on także interakcję każdej z warstw z warstwami położonymi bezpośrednio pod i nad. Model odniesienia OSI W modelu TCP/IP warstwy są rozróżniane po nazwach, w modelu OSI, do warstw częściej odwołuje się po numerze niż po nazwie. Model odniesienia OSI Warstwa aplikacji - umożliwia komunikację pomiędzy stacją roboczą w sieci a człowiekiem z niej korzystającym Warstwa prezentacji - dostarcza wspólnej reprezentacji danych transferowanych między warstwami aplikacji Warstwa sesji - dostarcza usługi dla warstwy prezentacji do sterowania dialogiem oraz zarządzania wymianą danych Warstwa transportowa - definiuje usługi segmentacji, transferu oraz składania danych dla końcowych jednostek komunikujących się poprzez sieć Model odniesienia OSI Warstwa sieci - dostarcza usługi do wymiany pojedynczych fragmentów danych przez sieć pomiędzy zdefiniowanymi urządzeniami końcowymi Warstwa łącza danych - opisuje metody wymiany ramek pomiędzy urządzeniami połączonymi wspólnym medium Warstwa fizyczna - opisuje mechaniczne, elektryczne funkcjonalne oraz proceduralne środki do aktywacji, zarządzania i deaktywacji fizycznego połączenia służącego do transmisji bitów pomiędzy urządzeniami sieciowymi Model OSI a TCP/IP Protokoły, które tworzą stos protokołów TCP/IP mogą zostać opisane w terminologii używanej w modelu odniesienia OSI. Warstwa aplikacji Warstwa aplikacji jest odpowiedzialna za bezpośredni dostęp do procesów, które zarządzają komunikacją w sieci. Służy jako źródło i cel komunikacji w sieciach danych. Jest to warstwa zapewniająca interfejs pomiędzy aplikacjami, których używamy do komunikacji, a siecią poprzez którą nasze komunikaty są transmitowane Warstwa aplikacji modelu TCP/IP zawiera wiele protokołów, które udostępniają określone funkcje dla wielu aplikacji użytkowników końcowych. Aplikacje, protokoły i usługi warstwy aplikacji umożliwiają użytkownikom współdziałanie. Sieć Internet - warstwa aplikacji Oprogramowanie warstwy aplikacji W warstwie aplikacji istnieją dwa typy oprogramowania (procesów), które umożliwiają dostęp do sieci. Są to aplikacje oraz usługi. Aplikacje są oprogramowaniem używanym do komunikacji lub do pracy w sieci. Usługi warstwy aplikacji – obsługują interfejs sieci; są transparentne dla użytkownika - łączą go z siecią i przygotowują dane do wysłania. Aplikacje użytkownika, usługi i protokoły warstwy aplikacji Protokoły warstwy aplikacji Ustalają zasady rządzące wymianą danych pomiędzy aplikacjami a usługami uruchomionymi na uczestniczących w komunikacji urządzeniach. Określają struktury danych oraz typy przesyłanych komunikatów. Komunikat może reprezentować żądanie usługi, potwierdzenie, dane, status lub błąd. Definiują również sposób konwersacji zapewniając, że wysłany komunikat spotka się z właściwą reakcją oraz że w czasie dotarcia danych zostaną uruchomione właściwe usługi. Protokoły warstwy aplikacji DNS (ang. Domain Name System) - protokół używany do odwzorowywania nazw w sieci Internet na adresy IP; HTTP (ang. Hypertext Transfer Protocol) - protokół używany do przesyłania plików tworzących strony WWW; SMTP (ang. Simple Mail Transfer Protocol) - protokół używany do przesyłania wiadomości poczty elektronicznej wraz z załącznikami; Protokoły warstwy aplikacji Telnet (ang. Telecommunication Network) - protokół emulacji terminala umożliwiający komunikację ze zdalnym urządzeniem; FTP (ang. File Transfer Protocol) - protokół używany do interaktywnego przesyłania plików pomiędzy systemami. Dostęp do zdalnych urządzeń W czasie pracy na urządzeniu przyłączonym do sieci (np. PC, laptop, PDA, telefon komórkowy) możemy korzystać z danych przechowywanych na innym urządzeniu. W takim przypadku musimy uzyskać dostęp do zdalnego urządzenia, na którym te dane są fizycznie przechowywane. Dostarczanie danych z serwera może być realizowane na żądanie klienta lub pomiędzy urządzeniami, które działają w sieci peer-to-peer, gdzie relacja klient-serwer jest nawiązywana w sposób zależny od tego, które urządzenie w danym czasie jest źródłem, a które celem. Model klient-serwer Architektura sieciowa w której klient łączy się z serwerem w celu skorzystania z jego usług Model klient-serwer Klient rozpoczyna wymianę danych wysyłając żądanie do serwera, który odpowiada poprzez wysłanie jednego lub więcej strumieni danych do klienta. W żargonie sieciowym: urządzenie, które odpowiada na żądania aplikacji klienta, nazywane jest serwerem. Serwer przechowuje dane w celu współdzielenia ich z systemami klienckimi (strony WWW, dokumenty, bazy danych, zdjęcia, filmy, pliki audio) Protokoły warstwy aplikacji opisują format żądań i odpowiedzi pomiędzy klientami i serwerami. Serwery W architekturze klient-serwer serwer uruchamia usługę lub proces nazywany demonem. Demony "nasłuchują" żądań napływających od klienta, tzn. są one zaprogramowane tak, aby odpowiadać na każde żądanie, które przybyło do serwera i które jest skierowane do usługi obsługiwanej przez demona. Serwery Model peer-to-peer Model ten dotyczy architektury: sieci peer-to-peer aplikacji peer-to-peer (P2P). Obie formy mają podobne cechy, jednak w praktyce działają inaczej. Sieci peer-to-peer W sieci peer-to-peer dwa komputery (lub więcej) są połączone ze sobą poprzez sieć i mogą one współdzielić zasoby (tj. drukarki czy pliki) bez pomocy dedykowanego serwera. Każde podłączone urządzenie końcowe (peer) może działać jako serwer lub klient. Role (klient i serwer) są ustalane na podstawie żądań. Sieci peer-to-peer swoje zasoby decentralizują. Dane nie muszą być przechowywane na dedykowanym serwerze, żeby mogły zostać udostępnione. Sieci peer-to-peer Przykłady: Prosta sieć domowa z dwoma połączonymi komputerami, które współdzielą drukarkę Użytkownicy tej sieci mogą również przygotować swoje komputery do współdzielenia plików, uruchomienia gier sieciowych czy współdzielenia połączenia internetowego. Podłączone do dużej sieci dwa komputery, które używają oprogramowania w celu współdzielenia swoich zasobów poprzez sieć. Sieci peer-to-peer Aplikacje peer-to-peer Aplikacje peer-to-peer (P2P) pozwalają urządzeniom działać jako klient i serwer w ramach tej samej komunikacji. W tym modelu każdy klient jest serwerem, a każdy serwer - klientem. Oba urządzenia mogą inicjować komunikację i oba w równym stopniu biorą udział w jej procesie. Aplikacje peer-to-peer Aplikacja peer-to-peer wymaga, aby każde urządzenie dostarczało interfejsu użytkownikom, a usługi były uruchamiane w tle. Uruchomienie określonej aplikacji peer-to-peer uruchamia w tle wymagane usługi i równocześnie wywołuje interfejs użytkownika. Dopiero wówczas możliwa jest bezpośrednia komunikacja urządzeń. Aplikacje peer-to-peer mogą być stosowane w sieciach: peer-to-peer, klient-serwer oraz w sieci Internet. Aplikacje peer-to-peer Powszechnie używane protokoły i usługi Protokół i usługa DNS Urządzenia mogą brać udział w wysyłaniu i odbieraniu komunikatów dzięki numerycznym adresom IP, którymi są oznaczane. W Internecie takie nazwy domen jak np. www.cisco.com są dużo łatwiejsze do zapamiętania niż adres 198.133.219.25 W celu automatycznego wiązania nazw domen z adresami utworzono tzw. system nazw domenowych - DNS. DNS wykorzystuje zbiór rozproszonych serwerów, które tłumaczą nazwy na związane z nimi numeryczne adresy. Protokół i usługa DNS Protokół DNS definiuje zautomatyzowaną usługę, która dopasowuje nazwy do wymaganych numerycznych adresów sieciowych. Opisuje format zapytań i odpowiedzi oraz formaty danych. Protokół DNS w procesie komunikacji używa pojedynczej struktury informacji zwanej komunikatem. Format ten używany jest do wszelkiego typu zapytań klienta i odpowiedzi serwera, informacji o błędach czy komunikatów RR (ang. Resource Record) przesyłanych pomiędzy serwerami. Protokół i usługa DNS Protokół i usługa DNS DNS jest usługą opartą na modelu klient-serwer. Klient DNS działa jako usługa sama w sobie. Klient DNS, czasem określany mianem DNS resolver, wspiera rozwiązywanie nazw dla innych aplikacji sieciowych oraz usług, które tego potrzebują. W czasie konfiguracji urządzenia sieciowego zwykle podajemy jeden lub więcej adresów serwerów DNS, które klient DNS może wykorzystać do odwzorowywania nazw. Protokół i usługa DNS Zwykle dostawca usług internetowych przydziela adresy, które mogą być używane przez serwery DNS. Kiedy aplikacja użytkownika żąda połączenia ze zdalnym urządzeniem za pomocą nazwy, klient DNS wysyła zapytanie o odwzorowanie tej nazwy na adres numeryczny do jednego ze zdefiniowanych serwerów DNS. Protokół i usługa DNS Systemy operacyjne komputerów udostępniają użytkownikom narzędzie zwane nslookup, które umożliwia manualne wysłanie zapytania do serwera DNS w celu odwzorowania danej nazwy hosta. Narzędzie to może być również stosowane w celu rozwiązywania problemów związanych z odwzorowywaniem nazw lub do weryfikacji aktualnego stanu serwerów DNS. Protokół i usługa DNS Zwykle dostawca usług internetowych przydziela adresy, które mogą być używane przez serwery DNS. Kiedy aplikacja użytkownika żąda połączenia ze zdalnym urządzeniem za pomocą nazwy, klient DNS wysyła zapytanie o odwzorowanie tej nazwy na adres numeryczny do jednego ze zdefiniowanych serwerów DNS. Protokół i usługa DNS Serwer DNS zapewnia odwzorowywanie nazw poprzez demona, który często określany jest mianem named. Serwer DNS opisuje domeny za pomocą tzw. rekordów zasobowych (ang. resource record, RR). Rekordy te zawierają nazwę, adres oraz typ rekordu. Kiedy klient wykonuje zapytanie, proces serwera "named", w celu samodzielnego rozwiązania nazwy, najpierw przegląda własne rekordy. Jeżeli operacja ta zakończy się niepowodzeniem, kontaktuje się z innymi serwerami. Protokół i usługa DNS Usługa Klienta DNS, na komputerze PC z systemem operacyjnym Windows, optymalizuje wydajność procesu rozwiązywania nazw DNS poprzez przechowywanie poprzednio odwzorowanych nazw w pamięci. Polecenie ipconfig /displaydns w systemie Windows XP lub 2000 wyświetla wszystkie przechowywane wpisy. Protokół i usługa DNS System nazw domenowych ma strukturę hierarchiczną. Domeny najwyższego poziomu reprezentują typ organizacji lub kraj pochodzenia. Przykładami domen najwyższego poziomu są: .au – Australia .co – Kolumbia .com - działalność komercyjna lub przemysł .jp – Japonia .org - organizacja non-profit System nazw domenowych funkcjonuje w oparciu o hierarchię zdecentralizowanych serwerów, które przechowują i utrzymują rekordy zasobów. Protokół i usługa DNS Protokół i usługa DNS Rekordy zasobów rejestrują nazwy domen, które serwer może odwzorować oraz alternatywne serwery, które również mogą przetwarzać żądania. Jeśli dany serwer posiada rekordy zasobów odpowiadające jego poziomowi w hierarchii, to mówi się, że jest on autorytatywny dla tych rekordów. Np..serwer nazw w domenie cisco.netacad.net nie byłby autorytatywny dla rekordu mail.cisco.com (rekord jest utrzymywany na serwerze domeny wyższego poziomu cisco.com). Protokół i usługa DNS http://www.ietf.org//rfc/rfc1034.txt http://www.ietf.org/rfc/rfc1035.txt Usługa WWW i protokół HTTP Kiedy w przeglądarce stron WWW wpisujemy adres strony (tzw. URL), przeglądarka nawiązuje połączenie z usługą uruchomioną na serwerze korzystając z protokołu HTTP. Przeglądarki WWW są aplikacjami klienckimi, które są używane do połączeń z siecią WWW (ang. World Wide Web) oraz do dostępu do zasobów przechowywanych na serwerach WWW. Usługa WWW i protokół HTTP Protokół HTTP powstał on pierwotnie w celu publikowania i pobierania stron HTML obecnie HTTP jest stosowany do przesyłania danych w sieci WWW HTTP jest protokołem typu żądanie/odpowiedź Kiedy klient (zwykle przeglądarka WWW) wysyła komunikat z żądaniem strony WWW do serwera, protokół HTTP określa typ tego komunikatu. Podobna sytuacja ma miejsce, gdy serwer wysyła odpowiedź. Usługa WWW i protokół HTTP Trzy najważniejsze typy komunikatów to: GET, POST oraz PUT. GET jest prośbą klienta o dane. Przeglądarka wysyła żądanie GET w celu pobrania strony WWW z serwera. Komunikaty POST oraz PUT są używane w procesie przesyłania danych do serwera WWW. Np. kiedy użytkownik wprowadzi dane do formularza umieszczonego na stronie WWW, POST włączy te dane do wiadomości przesyłanej do serwera. PUT przesyła dane w postaci plików do serwera WWW. Usługa WWW i protokół HTTP Usługa WWW i protokół HTTP HTTP nie jest bezpiecznym protokołem. Komunikaty POST wysyłane są do serwera jawnym tekstem, który może zostać przechwycony i przeczytany. Podobnie, odpowiedzi serwera (zwykle strony HTML) również nie są szyfrowane. W sieci Internet, do bezpiecznej komunikacji z serwerem WWW, stosuje się protokół HTTP Secure (HTTPS). Do ochrony danych przesyłanych pomiędzy klientem i serwerem, HTTPS stosuje algorytmy uwierzytelniania i szyfrowania. HTTPS określa dodatkowe reguły dla przepływu danych pomiędzy warstwą aplikacji i warstwą transportową. Wyszukiwanie informacji Dostęp bezpośredni Znajomość adresu serwera WWW Nawigacja pomiędzy stronami WWW w obrębie danego serwera Dostęp pośredni Portale (Onet, Wirtualna Polska, Interia) Wyszukiwarki sieciowe (Google, Yahoo, Altavista, Infoseek, Yahoo) Zasady wyszukiwania informacji Domyślnie jest stosowany operator AND Można wyszukać strony, na których część haseł z zapytania nie musi występować jednocześnie – należy użyć operatora OR Wyszukiwanie dokładnych fraz – użycie frazy w cudzysłowach np. ”Pan Tadeusz” Użycie operatora „+” – nie pomijanie słów przy wyszukiwaniu Użycie operatora „-” – wykluczenie w wynikach wyszukiwania pewnych stron (chcemy dowiedzieć się czegoś o telefonach komórkowych, ale nie chcemy kupić telefonu telefon komórkowy –sklep) Usługa E-MAIL i protokoły SMTP/POP Poczta elektroniczna (e-mail) - najbardziej popularna usługa sieciowa Do napisania wiadomości potrzebna jest aplikacja nazywana klientem poczty elektronicznej lub MUA (ang. Mail User Agent), pozwalająca na wysyłanie wiadomości i umieszczanie ich w skrzynkach pocztowych. Oba procesy są niezależne. Do pobierania wiadomości z serwera pocztowego klient używa protokołu POP lub IMAP. Proces wysyłania wiadomości opisuje protokół SMTP. Zwykle klient e-mail dostarcza funkcjonalność obu protokołów w ramach jednej aplikacji. Usługa E-MAIL i protokoły SMTP/POP Procesy serwera E-MAIL Serwer poczty elektronicznej obsługuje dwa niezależne procesy: MTA (ang. Mail Transfer Agent) MDA (ang. Mail Delivery Agent) Agent MTA Agent MTA jest używany do przekazywania poczty elektronicznej. Agent MTA otrzymuje wiadomości od klienta e-mail (MUA) lub od innego agenta MTA i w oparciu o zawartość nagłówka wiadomości decyduje, jak wiadomość musi być przekazywana, aby osiągnęła swój cel. Jeśli list jest adresowany do użytkownika, który posiada skrzynkę pocztową na lokalnym serwerze, to list jest przekazywany do agenta MDA. Natomiast jeśli skrzynka pocztowa adresata znajduje się na innym serwerze, agent MTA przekazuje list do agenta MTA na odpowiednim serwerze. Agent MDA Agent MDA zarządza dostarczaniem wiadomości e-mail pomiędzy serwerami i klientami. Agent MDA umieszcza pocztę otrzymaną od agenta MTA w skrzynkach pocztowych odpowiednich użytkowników. Agent MDA może również zajmować się problemami związanymi z końcową fazą dostarczania wiadomości, np. skanowanie w poszukiwaniu wirusów, filtrowanie spamu potwierdzenia odebrania wiadomości. Procesy serwera E-MAIL Protokoły SMTP i POP Do obsługi poczty elektronicznej stosuje się m.in. dwa protokoły: POP oraz SMTP POP i POP3 (ang. Post Office Protocol, version 3) są protokołami dostarczania poczty przychodzącej typu klientserwer. Protokoły te dostarczają pocztę z serwera pocztowego do klienta (MUA). SMTP (ang. Simple Mail Transfer Protocol) zarządza procesem przesyłania poczty wychodzącej od klienta do serwera pocztowego (MDA), jak również pomiędzy serwerami (MTA). SMTP umożliwia przesyłanie poczty elektronicznej pomiędzy różnymi typami serwerów i oprogramowania klienta oraz wymianę korespondencji w sieci Internet. Protokoły SMTP i POP Format wiadomości protokołu SMTP oparty jest o sztywny zbiór komend i odpowiedzi. Te komendy wspierają procedury używane w SMTP, takie jak: zainicjowanie sesji, transakcja poczty, weryfikacja nazw skrzynek pocztowych, powiększanie listy adresowej, otwieranie i zamykanie wymiany. Protokoły SMTP i POP Przykładowe komendy protokołu SMTP: HELO - identyfikuje proces klienta SMTP z procesem serwera SMTP, EHLO - nowsza wersja komendy HELO zawierająca rozszerzone funkcje, MAIL FROM - identyfikuje nadawcę, RCPT TO - identyfikuje odbiorcę, DATA - identyfikuje treść wiadomości. Protokoły SMTP i POP Protokół MIME MIME (ang. Multipurpose Internet Mail Extensions), jest standardem przesyłania poczty elektronicznej (nowszym od SMTP), Zalecany w sieci Internet (RFC 1590), Umożliwia w odróżnieniu od SMTP dołączanie do tekstowych plików pocztowych informacji w różnych formatach w tym graficznych. Protokół MIME Wiadomość w standardzie MIME zawiera dodatkowe nagłówki: Content-type – określa typ danych zawartych w wiadomości Content-Transfer-Encoding – określa sposób kodowania danych MIME-Version – określa wersję standardu Content-ID – wyznacza wiadomość właściwą Content-Description – Komentarz do zawartości FTP FTP (ang. File Transfer Protocol) – protokół do obsługi przesyłania plików pomiędzy klientem i serwerem. Klient FTP jest uruchamianą na komputerze aplikacją, która jest używana do wysyłania i pobierania plików z serwera z uruchomionym demonem FTP (FTPd). FTP Aby przesyłanie plików zakończyło się powodzeniem, FTP wymaga dwóch połączeń pomiędzy klientem i serwerem: do przesyłania komend i odpowiedzi - na porcie 21 TCP - jest używane do kontroli ruchu i przenosi komendy klienta oraz odpowiedzi serwera. do faktycznego przesyłania pliku - na porcie 20 TCP jest używane do faktycznego transferu pliku i tworzone każdorazowo, gdy plik jest przesyłany. FTP FTP Przykłady programów będących klientami FTP CuteFTP Droppy FileZilla SmartFTP WinSCP DHCP Usługa DHCP (ang. Dynamic Host Configuration Protocol) umożliwia urządzeniom w sieci otrzymywanie adresów IP i innych informacji z serwera DHCP. Usługa automatyzuje przypisywanie adresów IP, masek podsieci, bramy i innych parametrów sieciowych. DHCP pozwala hostom otrzymać adres IP dynamicznie, kiedy tylko zostaną podłączone do sieci. Usługa DHCP jest preferowana w większych sieciach lokalnych lub tam, gdzie często zmieniają się użytkownicy. DHCP Adresy przydzielane przez DHCP nie są na stałe przypisywane do hostów - są one dzierżawione na określony czas. Serwer DHCP znajduje się zwykle po stronie dostawcy usług internetowych (ISP), a host w sieci domowej uzyskuje konfigurację IP bezpośrednio z tego serwera. Serwer DHCP zapewnia unikalność wszystkich adresów IP. DHCP może powodować zagrożenie bezpieczeństwa, ponieważ dowolne urządzenie połączone z siecią może otrzymać adres IP. DHCP Gdy urządzenie jest uruchamiane lub podłączane do sieci, klient DHCP rozgłasza pakiet DHCP DISCOVER w celu zidentyfikowania dostępnych serwerów DHCP. Serwer DHCP odpowiada pakietem DHCP OFFER, który zawiera zaoferowany adres IP, maskę podsieci, adres serwera DNS oraz bramę domyślną, jak również czas trwania dzierżawy. Jeśli w sieci jest więcej serwerów DHCP, klient może otrzymać wiele pakietów DHCP OFFER i musi wtedy dokonać wyboru oraz rozgłosić pakiet DHCP REQUEST, który zawiera informację o wybranym serwerze Serwer zwraca komunikat DHCP ACK potwierdzając tym samym, że dzierżawa doszła do skutku. DHCP Usługi współdzielenia plików i protokół SMB SMB (ang. Server Message Block) stosowany jest do udostępniania plików. Protokół SMB opisuje on strukturę współdzielonych zasobów sieciowych, takich jak katalogi, pliki, drukarki czy porty szeregowe. Jest to protokół typu żądanie-odpowiedź – klienci nawiązują długoterminowe połączenia z serwerem. Po ustanowieniu połączenia, użytkownik klienta ma dostęp do zasobów na serwerze tak, jakby zasoby były lokalne dla hosta klienta. Usługi współdzielenia plików i protokół SMB Usługi drukowania oraz współdzielenie plików za pomocą SMB stanowią podstawę sieci Microsoft. Systemy operacyjne LINUX oraz UNIX umożliwiają współdzielenie zasobów z sieciami Microsoft za pomocą oprogramowania SAMBA, którego budowa oparta jest na protokole SMB. Systemy operacyjne Apple Macintosh również obsługują współdzielenie zasobów używając protokołu SMB. Usługi współdzielenia plików i protokół SMB Usługi współdzielenia plików i protokół SMB Wszystkie komunikaty SMB mają wspólny format: nagłówki mają stały rozmiar, natomiast parametry i dane - zmienny. Komunikaty SMB mogą: rozpoczynać, uwierzytelniać i przerywać sesje; kontrolować dostęp do plików i drukarek; pozwolić aplikacji wysyłać i odbierać komunikaty do i z innych urządzeń. Usługi współdzielenia plików i protokół SMB Usługi P2P i protokół Gnutella Aplikacje P2P - oparte na protokole Gnutella - umożliwiają ludziom udostępnianie swoich plików (zgromadzonych na twardych dyskach), w celu pobrania ich przez innych użytkowników. Oprogramowanie klienta zgodne z protokołem Gnutella pozwala użytkownikom połączyć się przez Internet z usługami protokołu Gnutella, zlokalizować i mieć dostęp do zasobów udostępnionych przez inne urządzenia. Istnieje wiele aplikacji obsługujących protokół Gnutella, m.in. BearShare, Gnucleus, LimeWire (zaprezentowany na rysunku), Morpheus, WinMX oraz XoloX. Usługi P2P i protokół Gnutella Wiele aplikacji P2P nie zapisuje w centralnej bazie danych wszystkich plików dostępnych na urządzeniach uczestniczących w wymianie. To urządzenia te odpowiadają na zapytania o dostępność odpowiednich plików. Usługi P2P i protokół Gnutella Usługi P2P i protokół Gnutella Kiedy użytkownik jest połączony z usługą Gnutella, jego aplikacje poszukują innych węzłów Gnutella, z którymi mogłyby się połączyć. Węzły te obsługują zapytania o lokalizację zasobów i odpowiadają na żądania i zarządzają komunikatami kontrolnymi Protokół Gnutella definiuje pięć typów pakietów: ping - do wyszukiwania urządzeń, pong - odpowiedź na ping, query - do lokalizacji pliku, query hit - odpowiedź na zapytanie, push - żądanie pobrania pliku. Usługi P2P i protokół Gnutella Usługi i protokół Telnet Kiedy powstały sieci, ludzie potrzebowali metody, która pozwoli na zdalny dostęp do komputerów tak, jak to miało miejsce w przypadku połączonych terminali. Telnet dostarcza standardową metodę emulacji terminala tekstowego dając w ten sposób możliwość pracy zdalnej na komputerach podłączonych do sieci. Zarówno sam protokół, jak i implementujące go oprogramowanie klienta, powszechnie nazywane jest Telnetem. Połączenie realizowane za pośrednictwem protokołu Telnet nazywane jest sesją VTY (ang. Virtual Terminal). Usługi i protokół Telnet Do połączenia z interfejsem wiersza poleceń CLI (ang. command line interface) serwera Telnet używa oprogramowania, które zapewnia te same cechy sesji terminala, jak w przypadku sesji nawiązywanych z fizycznego urządzenia połączonego z serwerem. W celu wspierania połączeń klienta Telnet, serwer uruchamia usługę nazywaną demonem Telnet. Klient Telnet dostępny jest w większości systemów operacyjnych. W systemie Microsoft Windows aplikacja Telnet może zostać uruchomiona z wiersza poleceń. Usługi i protokół Telnet Usługi i protokół Telnet Protokół Telnet wspiera uwierzytelnianie użytkowników, ale nie wspiera szyfrowania danych. W czasie sesji wszystkie dane przesyłane są jawnym tekstem. To oznacza, że dane mogą zostać przechwycone i przeczytane. Protokół SSH (ang. Secure Shell) oferuje alternatywną i bezpieczną metodę dostępu do serwera. Struktura SSH zapewnia bezpieczne zdalne logowanie oraz inne bezpieczne usługi sieciowe. SSH zapewnia silniejsze niż Telnet uwierzytelnianie i wspiera szyfrowanie danych w czasie transportu przez sieć. Profesjonaliści powinni zawsze używać SSH (jeśli to tylko jest możliwe). Literatura L.L Peterson, B. S. Davie „Sieci komputerowe – podejście systemowe”, Nakom, Poznań 2000 V.Amato, W. Lewis „ Akademia sieci CISCO”, Mikom, Warszawa 2001 D.E. Comer „Sieci i intersieci”, WNT, Warszawa 2001 http://cisco.netacad.net, kurs CCNA