Sieci komputerowe Wstęp Sieć komputerowa to wiele komputerów połączonych razem przy użyciu systemu komunikacyjnego. Celem sieci jest komunikowanie się i współdzielenie plików. Komunikacja poprzez sieć Możliwość realizowania niezawodnej komunikacji z każdym i wszędzie jest coraz ważniejsza dla naszego życia osobistego i zawodowego. W celu zapewnienia natychmiastowego dostarczania milionów wiadomości wymienianych między ludźmi na całym świecie korzystamy ze złożonej struktury połączonych ze sobą sieci. 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 Elementy toru komunikacyjnego Komunikacja zaczyna się od wiadomości lub informacji, która musi być wysłana od jednej osoby lub urządzenia do innej osoby lub urządzenia. Ludzie wymieniają się informacjami wykorzystując do tego wiele różnych metod komunikacji. Wszystkie z tych metod mają trzy wspólne elementy: Pierwszy z tych elementów to źródło wiadomości lub nadawca. Drugim elementem systemu komunikacyjnego jest cel lub odbiorca wiadomości. Odbiorca otrzymuje wiadomość i ją interpretuje. Trzeci element, zwany kanałem, składa się z mediów tworzących ścieżkę, którą wiadomość dociera od źródła do celu. Elementy toru komunikacyjnego Transmisja wiadomości Segmentacja wiadomości - podział strumienia danych na mniejsze części. Segmentacja wiadomości posiada dwie podstawowe zalety. Po pierwsze, wysyłając mniejsze, odrębne części danych od źródła do celu, sieć może realizować wiele przeplatających się różnych konwersacji. Proces przeplatania części odrębnych konwersacji w jedną transmisję sieciową nazywamy multipleksowaniem. Po drugie, segmentacja może poprawić niezawodność komunikacji sieciowych. Odrębne części poszczególnych wiadomości nie muszą być przesyłane dokładnie tą samą ścieżką biegnącą od źródła do celu. Jeżeli dana ścieżka stanie się zbyt zatłoczona nadmiarem przesyłanych danych lub ulegnie awarii, to poszczególne części wysyłanej wiadomości ciągle mogą być kierowane do celu poprzez alternatywne ścieżki. Jeżeli część wiadomości nie dotrze do celu, to tylko ta jej część musi być wysłana ponownie. Transmisja wiadomości Transmisja wiadomości Transmisja wiadomości Wadą wykorzystania segmentacji i multipleksowania przy wysyłaniu wiadomości w sieciach jest bardziej skomplikowany proces transmisji. W komunikacji sieciowej, każda część wiadomości musi przejść podobny proces, aby zostać poprawnie odebraną przez odbiorcę i móc być ponownie złożoną w oryginalną wiadomość. Za zapewnienie niezawodnej transmisji poszczególnych części wiadomości do odbiorcy odpowiedzialnych jest wiele urządzeń sieciowych. Transmisja wiadomości Sieci wykorzystują urządzenia, media oraz usługi Urządzenia oraz media stanowią elementy fizyczne sieci, czyli sprzęt. Sprzęt - laptop, PC, przełącznik lub okablowanie łączące te urządzenia, jest często widocznym składnikiem platformy sieciowej. Czasami jednak, niektóre składniki mogą nie być aż tak widoczne. W przypadku mediów bezprzewodowych, wiadomości są transmitowane w przestrzeni, z wykorzystaniem niewidocznych fal radiowych lub podczerwonych. Sieci wykorzystują urządzenia, media oraz usługi Usługi i procesy pracujące w urządzeniach sieciowych są programami komunikacyjnymi, nazywanymi oprogramowaniem. Usługa sieciowa udostępnia informację w odpowiedzi na zapytanie. Usługami jest wiele aplikacji sieciowych, wykorzystywanych codziennie przez ludzi, takich jak e-mail, czy WWW. Procesy zapewniają funkcjonalność, która pozwala na przepływ wiadomości przez sieć. Procesy są dla nas mniej oczywiste, ale niezbędne dla działania sieci. Sieci wykorzystują urządzenia, media oraz usługi Sieci wykorzystują urządzenia, media oraz usługi Sieci wykorzystują urządzenia, media oraz usługi Urządzenia końcowe i rola w sieciach Urządzenia sieciowe najbliższe ludziom, to urządzenia końcowe. To właśnie te urządzenia tworzą interfejs pomiędzy siecią międzyludzką a wykorzystywaną przez nią siecią komunikacyjną. Kilka przykładów urządzeń końcowych to: 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 rola w sieciach Urządzenia pośredniczące i rola w sieciach Oprócz urządzeń końcowych, do których ludzie są przyzwyczajeni, sieci wykorzystują urządzenia pośredniczące w celu zapewnienia łączności i poprawności przepływu informacji w sieciach. Urządzenia te łączą poszczególne hosty z siecią oraz wiele niezależnych sieci, celem stworzenia intersieci. Przykładem urządzeń pośredniczących są: 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 rola w sieciach Inną rolą urządzeń pośredniczących jest zarządzanie przepływem danych. Takie urządzenia do określenia ścieżki, którą powinny obrać wiadomości transmitowane w sieci wykorzystują adres hosta w połączeniu z informacją dotyczącą połączeń wewnątrz sieci. Procesy działające w urządzeniach pośredniczących spełniają następujące funkcje: 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 rola w sieciach Media sieciowe Komunikacja w sieci odbywa się w konkretnym medium. 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. Te media to: metalowe przewody wewnątrz kabli, włókna szklane lub plastikowe (światłowód), transmisja bezprzewodowa. Media sieciowe 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. Media sieciowe Sieci lokalne (LAN) Pojedyncza sieć zwykle zajmuje jeden, wyodrębniony obszar geograficzny, świadcząc usługi i aplikacje użytkownikom w obrębie jednej jednostki organizacyjnej, takiej jak firma, kampus, czy region. Ten typ sieci nazywa się siecią lokalną (LAN – Local Area Network). Sieci LAN są zazwyczaj administrowane przez pojedynczą organizację. Kontrola administracyjna dotycząca bezpieczeństwa i kontroli dostępu odbywa się na poziomie sieci. Sieci lokalne (LAN) Sieci rozległe (WAN) Kiedy dana firma lub organizacja posiada lokalizacje oddalone od siebie na duże odległości, to może zaistnieć potrzeba wykorzystania usług dostawców telekomunikacyjnych (ang. TSP-telecommunications service provider) w celu połączenia sieci LAN znajdujących się w tychże lokalizacjach. Dostawcy usług telekomunikacyjnych obsługują duże regionalne sieci, które mogą rozciągać się na spore odległości. Tradycyjnie dostawcy TSP wykorzystują osobne i niezależne sieci do transmisji głosu i danych. Coraz częściej jednak, dostawcy ci oferują swoim klientom zintegrowane usługi sieciowe. Sieci rozległe (WAN) Poszczególne organizacje zazwyczaj dzierżawią połączenia między sieciami od dostawcy usług telekomunikacyjnych. Sieci, które łączą ze sobą sieci LAN znajdujące się w geograficznie odległych lokalizacjach, nazywamy sieciami rozległymi (ang. WAN - Wide Area Network). Chociaż organizacja jest odpowiedzialna za administrację sieciami lokalnymi znajdującymi się na obu końcach tego połączenia, to polityka zarządzania siecią je łączącą jest już kontrolowana przez TSP. Sieci rozległe (WAN) Intersieć Wykorzystanie sieci LAN i WAN ma swoje niewątpliwe zalety, jednak większość z nas ma potrzebę komunikacji z zasobami, które znajdują się w sieciach poza strukturą lokalnej organizacji. Przykłady tego typu komunikacji stanowią: 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. Intersieć Wszystkie wymienione potrzeby komunikacji zapewnia globalna siatka połączonych ze sobą sieci. Właścicielem części z tych połączonych ze sobą sieci są duże organizacje prywatne i publiczne, takie jak agencje rządowe, firmy przemysłowe i to one mają wyłączność na ich wykorzystanie. 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). Sieci należące do ISP łączą się ze sobą w celu zapewnienia dostępu milionom użytkowników na całym świecie. 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. Intersieć Intranet Intranet Terminem intranet często odnosi się do prywatnych połączeń sieci LAN i WAN należących do organizacji i zaprojektowanych tak, aby zapewnić dostęp do nich wyłącznie członkom, pracownikom oraz osobom upoważnionym przez daną organizację. Graficzna reprezentacja sieci Graficzna reprezentacja sieci jest bardzo pomocna w przekazywaniu złożonych informacji o strukturze połączeń sieci i jej działaniu w dużych intersieciach. Podobnie jak każdy inny język, język sieci komputerowych wykorzystuje wspólny zestaw symboli reprezentujących różne urządzenia końcowe, urządzenia sieciowe i media transmisyjne. Umiejętność rozpoznawania logicznej reprezentacji fizycznych składników sieci jest niezbędne do dalszej wizualizacji organizacji i działania sieci. Graficzna reprezentacja sieci Terminy Ważnymi do zapamiętania terminami są: Karta sieciowa (ang. NIC - Network Interface Card) - adapter w sieciach LAN, który zapewnia fizyczne połączenie z siecią dla komputera PC lub innego hosta. Media zapewniające połączenie komputera PC z urządzeniem sieciowym są podłączane bezpośrednio do karty sieciowej. Fizyczny port - wtyczka lub gniazdo w urządzeniu sieciowym, do którego jest podłączone medium łączące to urządzenie z komputerem PC lub innym urządzeniem sieciowym. Interfejs - specjalne porty w urządzeniu sieciowym, które zapewniają połączenie z różnymi sieciami. Ponieważ do połączenia różnych sieci wykorzystywane są routery, to porty znajdujące się na routerze nazywamy interfejsami sieciowymi. Protokoły Każdy rodzaj komunikacji, zarówno bezpośredni jak i za pośrednictwem sieci, rządzi się określonymi z góry zasadami, zwanymi protokołami. Protokoły te są specyficzne dla rodzaju stosowanej komunikacji. Nawet w naszej codziennej komunikacji zasady, które stosujemy korzystając z jednego medium, takiego jak np. połączenie telefoniczne, nie są koniecznie identyczne ze stosowanymi protokołami wykorzystywanymi w innym medium, np. podczas wysyłania listu. Protokoły Pomyślna komunikacja między hostami w sieci również wymaga współdziałania wielu różnych protokołów. Grupę powiązanych ze sobą protokołów wymaganych do zapewnienia komunikacji nazywamy zestawem protokołów. Protokoły te są częścią zarówno oprogramowania, jak i sprzętu tworzących danego hosta lub inne urządzenie sieciowe. Protokoły Jedną z najlepszych metod wyobrażenia sobie współdziałania protokołów na danym hoście jest postrzeganie ich jako stosu. Stos protokołów jasno pokazuje, jak poszczególne protokoły z całego zestawu są implemetowane w hoście. Wszystkie protokoły tworzą warstwową hierarchię, w której każda usługa wyższego poziomu jest zależna od funkcjonalności określonej przez protokoły poziomów niższych. Niższe warstwy stosu zajmują się przenoszeniem danych w sieci oraz zapewnianiem odpowiednich usług warstwom wyższym, które z kolei skupiają się na zawartości wysyłanej wiadomości oraz na interfejsie użytkownika. Protokoły - opis komunikacji bezpośredniej z wykorzystaniem warstw Protokoły - opis komunikacji bezpośredniej z wykorzystaniem warstw Jak widać na rysunku, proces ten możemy opisać za pomocą trzech warstw. W najniższej warstwie, warstwie fizycznej, mamy dwóch ludzi, którzy są w stanie wypowiadać głośno słowa. W warstwie drugiej, warstwie zasad, mamy uzgodnienie wykorzystania wspólnego języka. W warstwie najwyższej, warstwie zawartości, mamy rzeczywiście wypowiedziane słowa - zawartość komunikacji. Protokoły w przypadku komunikacji urządzeń sieciowych zestaw protokołów musi zawierać dokładne wymagania dotyczące ich współdziałania. 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 - standardy Bardzo często protokół będący składnikiem jakiegoś zestawu, odnosi się do innych, powszechnie stosowanych protokołów lub standardów przemysłowych. Standardem nazywamy proces lub protokół, który jest zaakceptowany przez przemysł sieciowy i zatwierdzony przez organizację standaryzacyjną, taką jak np. Institute of Electrical and Electronics Engineers lub Internet Engineering Task Force (IETF). Wykorzystywanie standardów przy projektowaniu i implementacji protokołów zapewnia, że rozwiązania różnych producentów mogą ze sobą współpracować w celu zapewnienia wydajnej komunikacji. Jeżeli nastąpią jakieś odstępstwa od danego protokołu, to produkt jednego producenta może nie być w stanie poprawnie się komunikować z urządzeniami innych dostawców. Protokoły - przykład Przykładem wykorzystania zestawu protokołów w komunikacji sieciowej jest współdziałanie serwera WWW i przeglądarki internetowej. Wymiana informacji między nimi wykorzystuje szereg protokołów i standardów. Różne protokoły współpracują ze sobą, tak aby wysyłane wiadomości były otrzymywane i rozumiane przez obie strony komunikacji. Protokoły - przykład Przykłady tych protokołów to: Protokół aplikacji: Hypertext Transfer Protocol (HTTP) jest powszechnie stosowanym protokołem zarządzającym komunikacją między serwerem i klientem WWW. HTTP definiuje zawartość i format zapytań i odpowiedzi wymienianych między serwerem i klientem. Oprogramowanie zarówno klienta, jak i serwera WWW zawiera w sobie protokół HTTP. Protokół HTTP bazuje z kolei na innych protokołach w celu wymiany informacji miedzy klientem i serwerem. Protokoły - przykład Protokół transportowy: Transmission Control Protocol (TCP) jest protokołem transportowym, który zajmuje się poszczególnymi konwersacjami między serwerami WWW, a klientami WWW. TCP dzieli wiadomości HTTP na mniejsze części, nazywane segmentami, które są wysyłane do docelowego klienta. Jest również odpowiedzialny za kontrolę rozmiaru oraz szybkości wymiany wiadomości między serwerem a klientem. Protokoły - przykład Protokół sieciowy: Najbardziej znanym protokołem sieciowym jest Internet Protocol (IP). IP jest odpowiedzialny za enkapsulację sformatowanych segmentów TCP w pakiety, przypisanie im odpowiednich adresów oraz za wybór najlepszej drogi ich transmisji do docelowego hosta. Protokoły - przykład Protokoły dostępu do sieci: Protokoły dostępu do sieci opisują dwie podstawowe funkcje zarządzanie łączem danych i fizyczną transmisję danych w mediach. Protokoły zarządzające łączem danych formatują pakiety IP odpowiednio do transmisji w danych medium. Standardy i protokoły mediów fizycznych zarządzają sposobem sygnalizacji w danym medium oraz interpretacją sygnałów przez urządzenia odbiorcze. Części kart sieciowych nazywane transceiverami są odpowiedzialne za implementację odpowiednich standardów dla konkretnego zastosowanego medium. Protokoły - przykład Protokoły Protokoły Protokoły zazwyczaj nie opisują jak realizować określoną funkcję. Określenie tylko tego co jest funkcją wymaganą dla konkretnej komunikacji, a nie jak dana funkcja ma być realizowana, powoduje, że implementacja danego protokołu jest niezależna od konkretnej technologii. Oznacza to, że komputer lub inne urządzenie, takie jak telefon komórkowy, czy PDA może uzyskać dostęp do strony WWW znajdującej się na dowolnym serwerze WWW wykorzystującym dowolny system operacyjny i z każdego miejsca w Internecie. Model warstwowy Model warstwowy przedstawia operacje protokołów pracujących na każdej z warstw, jak również ich interakcje z warstwami położonymi wyżej i niżej. Stosowanie modelu warstwowego: Pomaga w projektowaniu protokołów. Ponieważ protokoły pracują na specyficznych warstwach mają zdefiniowane informacje, na których działają. Posiadają również określony interfejs do warstw znajdujących się powyżej jak i poniżej ich poziomu. Usprawnia konkurencję, ponieważ produkty od różnych dostawców mogą ze sobą współpracować. Zapobiega przed skutkami wprowadzenia zmian w technologii czy też funkcjonalności w danej warstwie na inne warstwy znajdujące się powyżej lub poniżej. Wprowadza wspólny język do opisu możliwości i funkcji sieci. Model warstwowy Istnieją dwa podstawowe typy modeli sieciowych: model protokołów - Model TCP/IP model odniesienia - Model OSI Model protokołów – Model TCP/IP Model protokołów określa schemat, który jest zbliżony do struktury konkretnego zestawu protokołów. Hierarchiczny zbiór powiązanych protokołów zazwyczaj reprezentuje funkcjonalność wymaganą, aby pośredniczyć pomiędzy siecią międzyludzką a siecią danych. Model TCP/IP jest modelem protokołów ponieważ opisuje funkcje, które występują na każdej z warstw w ramach zestawu TCP/IP. Model odniesienia – Model OSI Model odniesienia dostarcza wspólny punkt widzenia do utrzymania spójności wśród wszystkich typów protokołów i usług sieciowych. Funkcją modelu odniesienia nie jest dostarczenie specyfikacji czy też wystarczającej ilości szczegółów do dokładnego określenia usług w architekturze sieciowej. Podstawowym celem modelu odniesienia jest pomoc w jasnym zrozumieniu zastosowanych funkcji oraz procesów. Model OSI (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. Model OSI – Model TCP/IP Model TCP/IP Model TCP/IP jest uważany za model sieci Internet. Definiuje on cztery kategorie funkcji, które muszą wystąpić aby komunikację można było uznać za udaną. Model OSI Model TCP/IP - Proces komunikacji Model TCP/IP opisuje funkcjonalność protokołów, które wchodzą w skład zestawu protokołów TCP/IP. Protokoły, które są zaimplementowane w komunikujących się ze sobą systemach (wysyłającym i odbierającym) współpracują, aby umożliwić wymianę danych aplikacji poprzez sieć. Cały proces komunikacji zawiera poniższe kroki: 1. Stworzenie danych w warstwie aplikacji urządzenia wysyłającego. 2. Segmentacja i enkapsulacja danych, które są przekazywane w dół stosu protokołów urządzenia źródłowego. 3. Generowanie danych do medium na poziomie warstwy dostępu do sieci. 4. Transport danych przez sieć, która składa się z medium transmisyjnego oraz z pewnych urządzeń pośredniczących. 5. Odbiór danych w warstwie dostępu do sieci urządzenia docelowego. 6. Deenkapsulacja i odtworzenie danych, które są przekazywane w górę stosu urządzenia docelowego 7. Przekazanie tych danych do docelowej aplikacji na poziomie warstwy aplikacji urządzenia docelowego Model TCP/IP - Proces komunikacji Jednostki danych protokołu i enkapsulacja Dane aplikacji przekazywane są w dół stosu protokołów. Na każdym z poziomów protokoły dodają swoje informacje do momentu transmisji danych przez medium. Ten proces powszechnie określa się jako enkapsulację. Jednostki danych protokołu i enkapsulacja Forma jaką przyjmują dane w każdej z warstw nazywana jest jednostką danych protokołu - PDU (ang. Protocol Data Unit). Podczas enkapsulacji każda z kolejnych warstw enkapsuluje PDU, które otrzymała z wyższej warstwy zgodnie z użytym protokołem. Na każdym kroku tego procesu, PDU przyjmuje inną nazwę aby odzwierciedlić nową formę. Dane - Ogólne określenie dla PDU używane w warstwie aplikacji. Segment - PDU warstwy transportowej. Pakiet (ang. Packet) - PDU warstwy sieci. Ramka (ang. Frame) - PDU warstwy dostępu do sieci. Bity (ang. Bits) - PDU używane podczas fizycznej transmisji danych poprzez medium. Jednostki danych protokołu i enkapsulacja Proces wysyłania i odbierania Proces wysyłania i odbierania Kiedy wysyła się wiadomość do sieci, stos protokołów na hoście operuje z góry na dół. W przypadku serwera webowego, można użyć modelu TCP/IP aby zilustrować proces wysyłania strony HTML. Protokół warstwy aplikacji (HTTP) rozpoczyna proces od dostarczenia danych w postaci sformatowanej strony HTML do warstwy transportowej. Dane warstwy aplikacji są dzielona na segmenty TCP. Każdy segment TCP otrzymuje etykietę, nazywaną nagłówkiem zawierającą szczegóły, który proces na komputerze docelowym powinien otrzymać tą wiadomość. Zawiera także informacje umożliwiające procesowi docelowemu na poskładanie danych do oryginalnego formatu. Proces wysyłania i odbierania Warstwa transportowa enkapsuluje dane strony HTML do segmentu i przekazuje je do warstwy Internet, gdzie jest zaimplementowany protokół IP. Tutaj cały segment TCP jest enkaspulowany do pakietu IP, który to dodaje kolejny nagłówek określany jako nagłówek IP. Nagłówek IP zawiera adresy IP źródła oraz przeznaczenia, jak również informacje potrzebne do wysłania pakietu do odpowiedniego procesu docelowego. Proces wysyłania i odbierania Następnie pakiet IP jest wysyłany do warstwy dostępu do sieci, protokołu Ethernet, gdzie jest enkapsluowany do ramki z nagłówkiem i polem końcowym (ang. trailer). Każdy nagłówek ramki zawiera adres fizyczny źródłowy i docelowy. Adres fizyczny jednoznacznie identyfikuje urządzenia w lokalnej sieci. Pole końcowe zawiera informacje potrzebne do sprawdzenia czy ramka nie jest uszkodzona. W końcowym etapie bity są kodowane w medium ethernetowym przez kartę sieciową serwera. Proces wysyłania i odbierania Proces ten przebiega w w odwrotnej kolejności na hoście docelowym. Dane są dekapsulowane podczas wędrówki w górę przez stos protokołów w kierunku aplikacji użytkownika. Model OSI Początkowo model OSI został zaprojektowany przez organizację International Organization for Standardization (ISO) aby zapewnić ramę, na której można byłoby zbudować zbiór protokołów otwartego systemu. Koncepcja zakładała, że protokoły te zostaną użyte do stworzenia międzynarodowej sieci, która nie zależałaby od żadnego zamkniętego (prywatnego) systemu. Model OSI Siedmiowarstwowy model OSI ma znaczący udział w rozwoju innych protokołów i produktów we wszystkich typach nowych sieci. 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. Pomimo, że treść tego kursu będzie opierała się na modelu OSI, dyskusja będzie dotyczyła protokołów zdefiniowanych w stosie protokołów TCP/IP. Model OSI Model OSI Model OSI Model OSI Model OSI Model OSI Model OSI Porównanie modelu OSI oraz TCP/IP Porównanie modelu OSI oraz TCP/IP Protokoły, które tworzą stos protokołów TCP/IP mogą zostać opisane w terminologii używanej w modelu odniesienia OSI. W modelu OSI warstwy dostępu do sieci oraz aplikacji modelu TCP/IP, zostały podzielone tak, aby móc opisać dyskretne funkcje, które występują na tych warstwach. W warstwie dostępu do sieci stos protokołów TCP/IP nie określa, którego z protokołów należy użyć, kiedy transmituje się dane przez fizyczne medium. Opisuje on tylko przekazanie danych z warstwy Internetu do protokołów warstwy fizycznej. Pierwsza i druga warstwa modelu OSI opisują konieczne procedury dostępu do medium oraz określają w jaki sposób fizycznie wysłać dane przez sieć. Porównanie modelu OSI oraz TCP/IP Kluczowe podobieństwo pomiędzy dwoma modelami zachodzi w 3 i 4 warstwie modelu OSI. Warstwa 3 modelu OSI (warstwa sieci) jest uniwersalnie używana w dyskusji oraz dokumentacji procesów, które mają miejsce we wszystkich sieciach danych, do adresowania oraz procesu routingu wiadomości przez sieć. Protokół internetowy IP (ang. Internet Protocol) jest protokołem należącym do modelu TCP/IP, który to zawiera funkcjonalność opisaną w warstwie 3. Porównanie modelu OSI oraz TCP/IP Warstwa 4 (warstwa transportowa) modelu OSI, jest często używana do opisu ogólnych usług i funkcji, które zarządzają indywidualną konwersacją pomiędzy hostami źródłowym i docelowy. Funkcje te zawierają potwierdzenie dostarczenia, odzyskanie danych po błędzie oraz sekwencjonowanie. Na tej warstwie, protokoły modelu TCP/IP takie jak protokół kontroli transmisji TCP (ang. Transmission Control Protocol) czy też protokół UDP (ang. User Datagram Protocol) dostarczają niezbędnej funkcjonalności. Porównanie modelu OSI oraz TCP/IP Warstwa aplikacji modelu TCP/IP zawiera wiele protokołów, które udostępniają określone funkcje dla wielu aplikacji użytkowników końcowych. Warstwy 5, 6 i 7 modelu OSI są używane jako model odniesienia dla programistów aplikacji oraz sprzedawców, aby mogli dostarczać produkty, które potrzebują dostępu do sieci w celu komunikacji. Adresacja w sieci Model OSI opisuje proces kodowania, formatowania, segmentowania, enkapsulacji danych, które są następnie transmitowane poprzez sieć. Strumień danych, który jest wysyłany ze źródła do celu może być podzielony na kawałki a następnie przenoszony wśród wiadomości, które są przesyłane od innych hostów w różne miejsca przeznaczenia. W każdej chwili biliony takich porcji informacji przemieszcza się w sieci. Jest to bardzo ważne, aby każda porcja danych zawierała wystarczająco dużo informacji, aby dotrzeć do celu. Adresacja w sieci Istnieją różne typy adresów, które muszą być zastosowane, aby z powodzeniem dostarczyć dane z aplikacji źródłowej uruchomionej na jednym komputerze do właściwej aplikacji działającej na innym. Stosując model OSI jako przewodnik, możemy zauważyć różne adresy oraz identyfikatory, które są potrzebne w każdej z warstw. Adresacja w sieci Podczas procesu enkapsulacji dodawane są identyfikatory z adresem do danych, w czasie przekazywania ich w dół po stosie protokołów na źródłowym komputerze. Tak jak istnieje kilka warstw protokołów, które przygotowują dane do transmisji w miejsce przeznaczenia, podobnie występuje kilka warstw adresacji zapewniających poprawny proces dostarczenia. Adresacja w sieci Pierwszy identyfikator, adres fizyczny hosta, jest zawarty w nagłówku jednostki danych protokołu (PDU) warstwy 2 czyli ramce. Warstwa 2 związana jest z dostarczaniem wiadomości w pojedynczej sieci lokalnej. Adres warstwy 2 jest unikalny w sieci lokalnej i reprezentuje adres urządzenia końcowego w fizycznym medium. W sieciach LAN stosujących Ethernet, adres ten nazywany jest adresem MAC (ang. Media Access Control). Kiedy dwa urządzenia końcowe komunikują się w sieci lokalnej Ethernet, ramki które są wymieniane pomiędzy nimi zawierają adresy MAC źródła oraz przeznaczenia. Kiedy ramka zostanie prawidłowo odebrana przez komputer docelowy, informacje z warstwy 2 są usuwane, a dane są dekapsulowane i przenoszone w górę stosu protokołów do warstwy 3. Adresacja w sieci Adresacja w sieci Protokoły warstwy 3 są przede wszystkim zaprojektowane, aby przenosić dane z jednej sieci lokalnej do innej sieci lokalnej w intersieci. Podczas gdy adresy warstwy 2 są używane tylko w komunikacji pomiędzy urządzeniami w danej sieci lokalnej, adresy warstwy 3 muszą zawierać identyfikatory, które umożliwiają pośredniczącym urządzeniom sieciowym zlokalizować hosty w różnych sieciach. W stosie protokołów TCP/IP każdy host z adresem IP zawiera informacje na temat sieci, do której należy. Adresacja w sieci Na granicy każdej sieci lokalnej urządzenie pośredniczące (zazwyczaj router) dekapsuluje ramki aby przeczytać adres przeznaczenia. Jest nim adres hosta zawarty w nagłówku pakietu w warstwie 3. Routery używają cześć adresu, która jest identyfikatorem sieci, po to aby określić której ścieżki użyć aby dostać się do hosta docelowego. Po tym jak ścieżka jest wybrana, router enkapsuluje pakiet w nową ramkę i wysyła ją w kierunku urządzenia docelowego. Kiedy ramka dociera do miejsca przeznaczenia, ramka oraz nagłówek pakietu jest usuwany a dane są przekazywane do warstwy 4. Adresacja w sieci Adresacja w sieci W warstwie 4 informacje zawarte w nagłówku PDU nie określają hosta docelowego czy też docelowej sieci. To co identyfikują to określony proces lub usługę uruchomioną na końcowej maszynie, która przetwarza dostarczone dane. Hosty bez względu na to czy są klientami czy serwerami w sieci Internet mogą mieć uruchomionych jednocześnie wiele aplikacji. Ludzie korzystający z komputerów często używają klienta poczty elektronicznej , w tym samym czasie korzystają z przeglądarki internetowej, komunikatora, czy też mediów strumieniowych lub nawet gry. Wszystkie te oddzielnie działające programy są przykładam indywidualnych procesów. Adresacja w sieci Każda aplikacja lub też serwis jest reprezentowany w warstwie 4 poprzez numer portu. Unikalny dialog pomiędzy urządzeniami jest identyfikowany za pomocą pary portów, źródłowego i docelowego warstwy 4, które to reprezentują dwie komunikujące się aplikacje. Kiedy dane są odbierane przez hosta, sprawdzany jest numer portu. Na tej podstawie określa się aplikację lub proces do którego są przeznaczone dane. Adresacja w sieci Podsumowanie Sieci danych są to systemy składające się z urządzeń końcowych, pośrednich oraz mediów transmisyjnych, które dostarczają platformę dla sieci międzyludzkiej. Urządzenia te oraz usługi, które na nich działają potrafią połączyć się między sobą globalnie w sposób niewidoczny dla użytkownika, ponieważ stosują reguły i protokoły. Użycie modelu warstwowego jako elementu abstrakcji umożliwia analizę i rozwój operacji realizowanych w systemach sieciowych, aby zaspokajać potrzeby przyszłych usług komunikacyjnych. Podsumowanie Najbardziej powszechnie stosowanymi modelami sieciowymi są OSI oraz TCP/IP. Powiązanie protokołów, które określają reguły komunikacji z różnymi warstwami jest bardzo użyteczne w określeniu, które urządzenia i usługi są stosowane w poszczególnych punktach dla danych przenoszonych w sieciach LAN i WAN. Podczas gdy dane przechodzą w dół stosu protokołów, są one dzielone na mniejsze porcje i enkapsulowane z adresami oraz innymi informacjami. Proces ten jest odwrotny, kiedy porcje danych są dekapsulowane i przekazywane w kierunku docelowego stosu protokołów. Stosowanie modeli umożliwia różnym osobom, firmom, organizacjom handlowym analizę obecnych sieci i planowanie sieci przyszłości.