Sieci komputerowe wykład dla II roku Inf. zao w filiii UA w Tomaszowie Maz. 2007/2008 wykład 9 Agata Półrola Wydział Matematyki i Informatyki UA http://www.math.uni.lodz.pl/~polrola Warstwa aplikacji przykładowe protokoły O aplikacjach
Aplikacje są głównym powodem istnienia sieci komputerowych.
Przykłady aplikacji:
poczta elektroniczna
technologia WWW
logowanie na zdalnym komputerze (np. za pomocą narzędzia Telnet albo SSH)
wymiana plików w ramach sieci P2P (peer-to-peer)
transfer plików między kontami na różnych komputerach (usługa FTP)
gry sieciowe
telefonia internetowa Architektury aplikacji sieciowych
Architektura klient-serwer
czasami w przypadku aplikacji klient-serwer jeden serwer nie jest w stanie obsłużyć wszystkich żądań przychodzących od klientów. Z tego powodu w celu utworzenia wydajnego wirtualnego serwera często stosuje się klastry hostów, nazywane czasami farmami serwerów
Architektura P2P
hosty komunikują się bezpośrednio między sobą Procesy klienta i serwera
Większość aplikacji tego typu złożona jest z pary procesów, które wymieniają się informacjami
Komunikaty wysyłane przez procesy wędrują drogą prowadzącą przez sieć
W celu umieszczenia komunikatu w sieci i odebrania go z niej proces korzysta z gniazda. Gniazdo pełni rolę interfejsu między warstwą aplikacji a warstwą transportową hosta.
Gniazda określa się też nazwą interfejsu API (Application Programming Interface) pośredniczącego między aplikacją a siecią
Projektant aplikacji ma pełną kontrolę ze wszystkim co jest związane z warstwą aplikacji gniazda; w przypadku jego warstwy transportowej może jedynie wybrać protokół transportowy i ew. ustalić pewne parametry przesyłania, jak np. maksymalna wielkość bufora i segmentów
Aby proces nadawczy mógł wysłać komunikat innemu procesowi, musi zidentyfikować ten proces.
Proces adresat identyfikowany jest poprzez adres IP komputera na którym działa oraz numer portu docelowego. Protokoły warstwy aplikacji
Protokół warstwy aplikacji decyduje o tym, w jaki sposób aplikacje uaktywnione na różnych systemach końcowych wymieniają się komunikatami. Protokół określa:
typy i składnię komunikatów
znaczenie poszczególnych pól komunikatu
zasady wysyłania komunikatów, reguły udzielania odpowiedzi itp Usługi wymagane przez aplikację
Aplikacje mogą wymagać korzystania z różnych protokołów transportowych. Wybór protokołu zależy od wymagań aplikacji
Podstawowe wymagania:
niezawodny transfer danych
aplikacje takie jak poczta elektroniczna, transfer plików czy zdalny dostęp do hosta wymagają niezawodnego transferu. Usługi takie jak transmisja danych audio-wideo w czasie rzeczywistym mogą tolerować utratę określonej ilości danych
przepustowość
telefonia internetowa i wiele aplikacji multimedialnych wymaga dostarczania danych z określoną szybkością (są aplikacjami zależnymi od przepustowości). Aplikacje elastyczne, jak poczta elektroniczna, są w stanie korzystać z takiej przepustowości, jaka jest aktualnie dostępna
czas
interaktywne zastosowania czasu rzeczywistego, jak telefonia internetowa, wymagają dostarczania danych w czasie o niewielkim zakresie tolerancji. Dla wielu innych opóznienia w przesyłaniu danych nie mają większego znaczenia Usługi protokołów transportowych
TCP:
usługi świadczone przez protokół:
niezawodny transfer danych
mechanizm kontroli przeciążeń (w rezultacie ograniczanie prędkości transferu w sytuacji przeciążenia, oraz próba sprawiedliwego podziału dostępnej przepustowości sieci między wszystkie połączenia TCP)
usługi nie świadczone przez protokół:
gwarancja minimalnej szybkości transmisji
jakiekolwiek gwarancje dotyczące opóznień
UDP:
usługa zawodnego transferu danych
proces nadawczy może przekazywać dane z dowolną wybraną przez siebie prędkością (jednak nie zawsze wszystkie dotrą do adresata)
brak jakichkolwiek gwarancji dotyczących opóznień protokół warstwy protokół warstwy zastosowanie aplikacji transportowej poczta elektroniczna SMTP TCP zdalny dostęp Telnet TCP terminalowy technologia WWW HTTP TCP transfer plików FTP TCP zdalny serwer plików NFS UDP lub TCP strumieniowa transmisja często niestandardowy UDP lub TCP danych multimedialnych (np.. Real Networks) często niestandardowy telefonia internetowa zwykle UDP (np.. Net2phone) Technologia WWW i protokół HTTP
HTTP (HyperText Transport Protocol) to protokół warstwy aplikacji stanowiący podstawowy składnik technologii WWW.
wykorzystywany w dwóch typach aplikacji: klienta i serwera
klient i serwer wymieniają komunikaty HTTP. Protokół definiuje strukturę tych komunikatów i sposób ich wymiany Podstawowe pojęcia
Witryna WWW (strona internetowa) składa się z obiektów
Obiekt jest plikiem (HTML, graficznym, plik apletu Java, plik audio itp)
większość witryn składa się z podstawowego pliku HTML i kilku obiektów do których są zdefiniowane odwołania
odwołanie zdefiniowane jest za pomocą adresu URL (np.. http://www.uczelnia.edu/strona/obraz.gif)
przeglądarka internetowa pełni rolę agenta użytkownika względem strony www. Przeglądarka jest równocześnie klientem protokołu HTTP HTTP: rodzaje połączeń
Połączenia nietrwałe:
klient HTTP inicjuje połączenie TCP z serwerem WWW
po nawiązaniu połączenia klient wysyła do serwera komunikat żądania HTTP. Komunikat zawiera informację o obiekcie który klient chce pobrać (np.. nazwę pliku podstawowego)
po odebraniu komunikatu żądania proces serwera odsyła klientowi komunikat odpowiedzi HTTP zawierający żądany obiekt
klient odbiera komunikat odpowiedzi i kończy połączenie TCP. Następnie analizuje otrzymany obiekt.
Jeśli obiekt zawiera odwołania do innych obiektów (np. plików graficznych), to klient dla uzyskania każdego z tych obiektów powtarza cztery kroki wymienione wyżej.
główną wadą tego schematu jest długi czas upływający od momentu wysłania żądania do momentu otrzymania wszystkich potrzebnych obiektów: liczba_obiektów * (2*RTT) (RTT round trip time to czas potrzebny do przesłania pakietu do serwera i z powrotem. Przesłanie jednego obiektu trwa 2*RTT jedna wymiana pakietów to nawiązanie połączenia TCP, druga przesłanie żądania i odpowiedzi HTTP)
Połączenia trwałe:
po wysłaniu odpowiedzi serwer pozostawia aktywne połączenie TCP. Kolejne żądania i odpowiedzi przesyłane są w ramach tego samego połączenia.
Dwa rodzaje połączeń trwałych:
bez potokowania
klient wysyła nowe żądanie tylko po otrzymaniu odpowiedzi na poprzednie
z potokowaniem
klient wysyła żądanie od razu po zlokalizowaniu odwołania do obiektu (możliwe jest wysłanie wielu żądań, nawet jeśli klient nie otrzymał jeszcze odpowiedzi na wcześniejsze żądania) HTTP: pliki cookies
Serwer HTTP jest bezstanowy, tj. nie przechowuje żadnych informacji na temat klienta
często jest pożądane aby witryna WWW identyfikowała użytkowników
może to wynikać z tego, że serwer ma ograniczać dostęp lub oferować dane w zależności od tożsamości użytkowników
umożliwia to technologia plików cookies
Technologia cookies składa się z czterech elementów:
wiersza nagłówka pliku cookie zawartego w komunikacie odpowiedzi HTTP
wiersza nagłówka pliku cookie zawartego w komunikacie żądania HTTP
pliku cookie zlokalizowanego w systemie końcowym użytkownika
bazy danych zaplecza witryny WWW
sposób działania cookies:
przy pierwszym połączeniu użytkownika z daną witryną witryna tworzy dla użytkownika unikatowy numer identyfikacyjny, a w swojej bazie danych zaplecza wpis indeksowany przy pomocy tego numeru
serwer odsyła przeglądarce użytkownika komunikat odpowiedzi HTTP, umieszczając w nim nagłówek Set-cookie zawierający powyższy numer identyfikacyjny
po otrzymaniu tego komunikatu przeglądarka dodaje do zarządzanego przez nią pliku cookie nowy wiersz, w którym umieszcza nazwę serwera i otrzymany numer identyfikacyjny
od tego momentu przeglądarka umieszcza powyższy numer identyfikacyjny we wszystkich żądaniach kierowanych do danego serwera
dzięki temu witryna WWW identyfikuje użytkownika i może rejestrować wszystkie jego działania. W wyniku tego np. sklep internetowy może rekomendować klientom towary które mogą ich zainteresować, a strona z reklamami wyświetlać odpowiednio dobrane reklamy. Sklep internetowy może ponadto przy kolejnych zakupach korzystać z personaliów kupującego podanych przy pierwszej transakcji. Buforowanie stron internetowych
internetowy serwer buforujący, nazywany też serwerem proxy, jest hostem sieciowym który w imieniu serwera WWW obsługuje żądania HTTP
przeglądarka może być tak skonfigurowana, aby kierowała zapytania w pierwszej kolejności do serwera proxy.
jeśli serwer proxy ma w swojej bazie kopię obiektu żądanego przez przeglądarkę, to prześle ją tej przeglądarce
jeśli serwer proxy nie ma kopii obiektu, to generuje odpowiednie żądanie i kieruje je do właściwego serwera WWW. Otrzymaną w odpowiedzi stronę odsyła przeglądarce oraz zapisuje w swojej bazie .
powyższe rozwiązanie pozwala na zmniejszenie ruchu w sieci (można np. zainstalować w swojej sieci lokalnej serwer proxy. co spowoduje, że pewna część komunikatów HTTP nie będzie musiała być przesłana do szerokiego internetu ) Obok protokołu: wyszukiwarki
Sposób działania wyszukiwarek internetowych:
wyszukiwarki używają specjalnie stworzonych programów (agentów - spiderów, crawlerów, robotów), których zadaniem jest przeglądanie zawartości stron internetowych.
strony są indeksowane, a ich treść jest zapisywana w bazie danych służącej do generowania wyników wyszukiwania (tj. w zasobach wyszukiwarki). Baza danych musi mieć odpowiednią strukturę, aby wyszukiwanie trwało dostatecznie krótko
gdy użytkownik podaje słowo kluczowe, wyszukiwarka podaje odpowiedz na podstawie zawartości swojej bazy
zasoby wyszukiwarki są systematycznie aktualizowane - strony raz zapisane w bazie są regularnie odwiedzane przez agenta. Transfer plików przy użyciu protokołu FTP
Sesja FTP polega najczęściej na przesłaniu plików do zdanego hosta lub na pobraniu ich z niego
Aby użytkownik mógł skorzystać ze zdalnego konta. musi podać nazwę użytkownika i hasło
Przebieg sesji FTP:
proces klienta FTP lokalnego hosta nawiązuje połączenie TCP z procesem serwera FTP hosta zdalnego.
kolejnym krokiem jest autoryzacja użytkownika (podanie i weryfikacja nazwy użytkownika i hasła) Przesłanie tych danych jest częścią poleceń poleceń FTP przesyłanych w ramach połączenia TCP
następnie użytkownik może dokonać transferu plików do lub od serwera
do przesłania pliku używa się dwóch równoległych połączeń TCP: połączenia sterującego i połączenia danych.
Połączenie sterujące służy do przesyłania danych sterujących, takich jak nazwa użytkownika, hasło, polecenie zmiany katalogu, polecenia umożliwiające przesłanie pliku (mówi się, że protokół FTP przesyła dane sterujące poza pasmem)
Połączenie danych służy przesłaniu jednego pliku. Jeśli użytkownik po przesłaniu jednego pliku zechce przesłać kolejny, zostanie nawiązane następne, nowe połączenie danych.
Podczas trwania sesji serwer FTP musi przechowywać stan powiązany z użytkownikiem (np. bieżący katalog).
Ze względu na rejestrowanie stanu każdej aktywnej sesji użytkownika ogranicza się znacząco liczbę sesji, jakie mogą być utrzymywane jednocześnie przez protokół FTP
ograniczenie takie nie występowało w protokole HTTP (HTTP jest protokołem bezstanowym) Poczta elektroniczna
System internetowej poczty elektronicznej składa się z trzech podstawowych składników:
agentów użytkowników
serwerów poczty
protokołu SMTP
Agent użytkownika umożliwia odczytywanie, przekazywanie, zapisywanie i tworzenie wiadomości oraz odpowiadanie na nie
Agent użytkownika bywa nazywany klientem poczty
popularne programy: Eudora, Microsoft Outlook, Netscape Messenger, elm, pine. mail
każdy odbiorca posiada skrzynkę pocztową znajdującą się na jednym z serwerów poczty
skrzynka zarządza wiadomościami przesyłanymi do użytkownika i przechowuje je.
wiadomość zazwyczaj zaczyna drogę od agenta nadawcy; następnie dociera do serwerów poczty obsługujących nadawcę i odbiorcę. W końcowym etapie jest zapisywana w skrzynce na serwerze poczty świadczącym usługi adresatowi. W celu uzyskania dostępu do skrzynki właściciel skrzynki musi się uwierzytelnić.
Jeśli serwer nadawcy nie jest w stanie dostarczyć wiadomości, zapisuje ją w kolejce wiadomości, a po jakimś czasie ponownie próbuje ją przesłać (czas po którym następuje próba retransmisji to zazwyczaj ok.. 30 min). Jeśli po upływie kilku dni nie uda się wysłać wiadomości, serwer likwiduje ją i wysyła odpowiedni komunikat do nadawcy. Protokół SMTP
SMTP (Simple Mail Transfer Protocol) jest podstawowym protokołem warstwy aplikacji wykorzystywanym w przypadku internetowej poczty elektronicznej.
w celu przesłania danych SMTP używa TCP
protokół składa się z klienta (działającego na serwerze poczty nadawcy) i serwera (działającego na serwerze poczty adresata)
Klient i serwer SMTP są aktywne na każdym serwerze poczty
Działanie protokołu (typowy przypadek):
użytkownik A uruchamia swojego agenta pocztowego, tworzy wiadomość zaadresowaną do użytkownika B i nakazuje agentowi jej wysłanie
agent użytkownika A wysyła wiadomość do serwera poczty użytkownika A. Serwer umieszcza ją w kolejce wiadomości
Klient protokołu SMTP uaktywniony na serwerze poczty przechowującym skrzynkę użytkownika A dostrzega wiadomość w kolejce, nawiązuje połączenie TCP z serwerem SMTP działającym na serwerze poczty przechowującym skrzynkę użytkownika B, a następnie po przeprowadzeniu wstępnego negocjowania parametrów przesyła za pomocą połączeń TCP wiadomość napisaną przez A
serwer SMTP działający na serwerze przechowującym skrzynkę użytkownika B odbiera wiadomość, a następnie umieszcza ją w skrzynce
w odpowiednim dla siebie czasie użytkownik B uruchamia swojego agenta pocztowego i odbiera wiadomość
Protokół SMTP podczas przesyłania wiadomości nie korzysta z pośredniczących serwerów poczty wiadomości przesyłane są między serwerem pocztowym nadawcy i serwerem pocztowym odbiorcy MIME
Protokół SMTP wymaga, aby każda wiadomość wraz z zawartością była kodowania w 7-bitowym formacie ASCII. Jeśli wiadomość zawiera znaki niezgodne z tym formatem lub dane binarne, to muszą one zostać zakodowane w odpowiedni sposób.
Nagłówek wiadomości zawiera m.in.. informacje do kogo i od kogo jest wiadomość, temat listu itp.
W przypadku wysyłania wiadomości niezgodnych z formatem ASCII agent nadawcy musi uwzględnić w wiadomości dodatkowe wiersze nagłówka (m.in.. Content-Type i Content-Transfer-Encoding) umożliwiające odpowiednie przetworzenie (odkodowanie) wiadomości.
Powyższe rozszerzenia zdefiniowane jest jako MIME (Multipurpose Internet Mail Extensions) Protokoły dostępu do skrzynki pocztowej
Dostęp do skrzynki zazwyczaj oparty jest na architekturze klient-serwer.
typowy użytkownik odczytuje wiadomości za pomocą klienta uruchamianego na jego systemie końcowym
użytkownik uruchamia agenta pocztowego, który łączy się ze skrzynką znajdującą się na serwerze poczty
odebranie poczty (przesłanie jej ze skrzynki użytkownika na dysk lokalnego komputera) jest realizowane za pomocą protokołów dostępu do skrzynki pocztowej, takich jak POP3, IMAP i HTTP. Protokół POP3
POP3 (Post Office Protocol version 3) jest bardzo prostym protokołem dostępu do skrzynki pocztowej o ograniczonej funkcjonalności
protokół jest uaktywniany w momencie nawiązania przez agenta pocztowego (klienta) połączenia TCP z portem 110 serwera poczty
po utworzeniu połączenia POP3 realizuje trzy etapy: autoryzowanie, wykonanie transakcji i aktualizację
podczas autoryzacji agent pocztowy przesyła serwerowi identyfikator i niezaszyfrowane hasło użytkownika, aby go uwierzytelnić
w etapie transakcyjnym agent pobiera wiadomości, może zaznaczyć wiadomości przeznaczone do usunięcia, odwołać zaznaczenie i uzyskać statystyki dotyczące skrzynki.
etap aktualizacji ma miejsce gdy klient wyda polecenie kończące sesję protokołu POP3. Serwer usuwa wówczas wiadomości które zostały wcześniej odpowiednio zaznaczone. Protokół IMAP
protokół POP3 umożliwia pobieranie wiadomości. Wiadomości te można potem dowolnie rozmieszczać w katalogach w systemie lokalnym. Protokół nie umożliwia jednak żadnej organizacji poczty (np.. w katalogach) na odległym serwerze.
Rozwiązaniem tego problemu jest użycie protokołu IMAP (Internet Mail Access Protocol). Protokół ten umożliwia dostęp do skrzynki pocztowej, ma jednak o wiele więcej funkcji niż POP3.
Serwer IMAP kojarzy każdą wiadomość z katalogiem.
nowa wiadomość trafia do katalogu INBOX
adresat może przenieść wiadomość do dowolnie wybranego utworzonego przez siebie katalogu, a także odczytać ją lub ją usunąć (protokół umożliwia tworzenie katalogów oraz przenoszenie wiadomości między nimi).
W odróżnieniu od POP3 serwer IMAP utrzymuje między sesjami protokołu IMAP informacje dotyczące stanu (np.. powiązanie wiadomości i katalogów) Sieci bezprzewodowe i mobilne Bezprzewodowość i mobilność
Ostatnie lata przyniosły ogromny rozwój technologii bezprzewodowych
Sieci bezprzewodowe i usługi mobilne spowodowały pojawienie się problemów innych niż w tradycyjnych, przewodowych sieciach komputerowych
bezprzewodowość brak fizycznego połączenia między urządzeniami sieciowymi
mobilność przenoszenie się użytkownika sieci z miejsca na miejsce
istnieją środowiska, w których hosty są bezprzewodowe, ale nie mobilne (np., domowa sieć komputerowa), oraz ograniczone formy mobilności nie wymagające łączy bezprzewodowych (np. pracownik używa przewodowego laptopa w domu i w firmie) Elementy sieci bezprzewodowej
hosty bezprzewodowe
Å‚Ä…cza bezprzewodowe
łącza te mogą być wykorzystywane do łączenia np. routerów, przełączników itp.; tu skupimy się na komunikacji bezprzewodowej dotyczącej hostów
infrastruktura sieciowa (większa sieć z którą komunikuje się host bezprzewodowy) Elementy sieci bezprzewodowej - cd
stacja bazowa urządzenie służące do przesyłania i odbierania danych (pakietów) od związanego z nią hosta bezprzewodowego, koordynację transmisji związanych z nią hostów itp. Urządzenie to nie ma odpowiednika w sieci przewodowej. Przykłady stacji bazowych to stacje transmisyjne w sieciach komórkowych i punkty dostępowe w bezprzewodowych sieciach lokalnych 802.11
związanie hosta ze stacją bazową: host jest w zasięgu tej stacji oraz wykorzystuje ją do komunikacji z większą siecią. Tryby działania sieci bezprzewodowej
O hostach związanych ze stacją bazową mówi się często, że działają w trybie infrastrukturalnym (wszystkie tradycyjne usługi jak routing, przypisywanie adresów itp. są świadczone przez sieć do której host jest podłączony)
W sieciach doraznych (ad hoc) nie ma powyższych usług, hosty same muszą zapewnić routing, przypisywanie adresów, tłumaczenie nazw itp Mobilność - problemy
Host przemieszczając się z zasięgu jednej stacji bazowej do drugiej dokonuje transferu, tj. zmienia swój punkt podłączenia do większej sieci (czyli stację z którą jest związany).
jak znalezć jego bieżącą lokalizację w sieci i przesłać mu dane?
jak przypisywać adresy IP, skoro host może zmieniać położenie?
jak przekierować połączenie, jeśli host przemieści się w czasie transferu danych?
............................ Cechy Å‚Ä…czy bezprzewodowych
Różnice między siecią przewodową i bezprzewodową dotyczą głównie warstwy łącza danych
Cechy sieci bezprzewodowej:
malejąca siła sygnału
natężenie promieniowania elektromagnetycznego zmniejsza się przy przechodzeniu przez przeszkody
sygnał ulega rozproszeniu podczas rozchodzenia się, co powoduje zmniejszenie siły sygnału w miarę wzrostu odległości od nadajnika (tzw. utrata ścieżki) Cechy łączy bezprzewodowych - cd
interferencja z innymi zródłami
zródła radiowe nadające na tej samej częstotliwości wzajemnie się zakłócają (przykład: telefony bezprzewodowe 2,4 GHz i urządzenia bezprzewodowe 802.11b)
interferencję powoduje też inny szum elektromagnetyczny (kuchenka mikrofalowa, silnik itp)
propagacja wielościeżkowa
zjawisko występujące gdy części fali elektromagnetycznej odbijają się od od przeszkód i podłoża, wędrując od nadajnika do odbiornika ścieżkami różnej długości, co powoduje rozmycie sygnału przy odbiorniku Cechy łączy bezprzewodowych - cd
Z powyższych powodów w łączach bezprzewodowych częściej występują błędy bitowe
stąd protokoły łącza bezprzewodowego używają często nie tylko kodów CRC, ale także protokołów ARQ funkcjonujących na poziomie łącza, retransmitując uszkodzone ramki
w łączach bezprzewodowych prawdziwe rozgłaszanie może być niemożliwe
problem ukrytego terminalu: fizyczne przeszkody w środowisku mogą uniemożliwić stacjom wzajemne odbieranie swoich sygnałów Cechy łączy bezprzewodowych - cd
inne problemy z wykrywaniem kolizji
ze względu na zanikanie sygnału w miarę propagacji w łączu bezprzewodowym może zdarzyć się tak, że stacje nie mogą wykryć nawzajem swojej transmisji, ale ich sygnały zakłócają się przy odbiorniku CDMA
Korzystanie przez hosty ze wspólnego nośnika wymaga protokołu powodującego, że sygnały wysyłane przez wiele stacji nie będą zakłócać się nawzajem przy odbiorniku
protokoły dzielące kanał: (każda stacja ma przydzielony swój zasób np. okres czasu czy zakres częstotliwości w którym wolno jej transmitować dane. Często jest to równy podział; w przypadku gdy dana stacja nie ma danych do wysłania zasób jest niewykorzystany)
multipleksowanie z podziałem czasu (TDM)
multipleksowanie z podziałem częstotliwości (FDM)
CDMA (Code Division Multiple Access)
protokoły dostępu losowego: (stacje losowo uzyskują prawo do transmisji)
szczelinowe ALOHA
bezszczelinowe ALOHA
CSMA, CSMA/CD
protokoły cykliczne (cykliczne przyznawanie prawa do transmitowania danych)
protokół odpytujący
protokół przekazujący żeton CDMA - cd
W protokole CDMA każdy wysyłany bit jest kodowany poprzez pomnożenie go przez sygnał (kod) zmieniający się z większą częstotliwością niż sekwencja bitów danych (na czas transferu jednego bitu przypada kilka zmian w kodzie)
każdy nadajnik używa innego kodu
nawet w przypadku nakładania się sygnałów odbiornik jest w stanie zdekodować poprawnie sygnały pochodzące od poszczególnych nadawców Podstawowe rozwiązania bezprzewodowe
standard 802.11 - bezprzewodowa sieć lokalna, przeznaczony do komunikacji na odległość nie przekraczającą 100 m
standard 802.15 - bezprzewodowa sieć osobista (WPAN Wirtual Personal Area Network) przeznaczona do łączenia urządzeń osobistych na odległość rzędu 10 m
sieci komórkowe - zasięg liczony w dziesiątkach kilometrów Bezprzewodowe sieci lokalne 802.11 (Wi-Fi)
Najpopularniejszy standard komunikacji bezprzewodowej: bezprzewodowa sieć lokalna IEEE 802.11 (tzw. Wi-Fi)
podrodzaje:
802.11b (2,4 2,485GHz, do 11 Mbps)
802.11a (5,1 5,8 GHz, do 54 Mbps)
802.11g (2,4 2,485GHz, do 54 Mbps)
cechy wspólne w/w standardów:
używają protokołu CSMA/CA
jednakowa struktura ramki
mogą zmniejszać szybkość transmisji aby zwiększyć jej zasięg
obsługują tryb infrastrukturalny i tryb dorazny
Różnice:
802.11b: szybkość wystarczająca dla większości sieci domowych z szerokopasmowym dostępem do internetu; częstotliwości z nielicencjonowanego zakresu
802.11a: szybsza transmisja, ale wyższe częstotliwości przy tym samym poziomie mocy mają mniejszy zasięg transmisji i są bardziej podatne na propagację wielościeżkową
802.11g częstotliwości jak 802.11b, prędkość 802.11a Wi-Fi - architektura
Podstawowym elementem architektury jest grupa usługowa (basic service set, BSS)
BSS składa się z jednej lub wielu stacji bezprzewodowych oraz centralnej stacji bazowej (punktu dostępowego access point)
stacja bazowa jest często połączona łączem przewodowym z routerem łączącym sieć z internetem
każda stacja bezprzewodowa 802.11 ma 6- bajtowy adres MAC; adres ma również bezprzewodowy interfejs punktu dostępowego. Adresy są unikalne (jak w sieci Ethernet) Wi-Fi - komunikacja
aby móc wysyłać ramki, stacja bezprzewodowa musi związać się z punktem dostępowym
każdy punkt dostępowy ma przypisany identyfikator grupy usługowej (SSID Service Set Identifier) oraz numer kanału
przeglądanie dostępnych sieci w WinXP pokazuje SSIDy punktów dostępowych w zasięgu komputera
w paśmie wykorzystywanym przez 802.11b definiuje się 11 częściowo nakładających się kanałów (dwa kanały nie nakładają się jeśli są rozdzielone min. 4 innymi). Sieć powinna korzystać z kanałów, które nie nakładają się nawzajem
Dżungla WiFi każda lokacja, w której stacja bezprzewodowa odbiera dostatecznie silny sygnał od więcej niż jednego punktu dostępowego.
Aby uzyskać dostęp do sieci, stacja bez przewodowa musi związać się z dokładnie jednym punktem dostępowym.
Standard 802.11 wymaga, aby punkt dostępowy okresowo wysyłał ramki identyfikacyjne (beacon frames), zawierające jego SSID i adres MAC. Stacja bezprzewodowa skanuje wszystkie 11 kanałów, szukając takich ramek. Po wykryciu wszystkich punktu dostępowych wybiera ten z którym się zwiąże.
Stacja i wybrany punkt porozumiewają się ze sobą przy pomocy protokołu wiązania. Jeśli zakończy się to powodzeniem, stacja zostaje powiązana z punktem dostępowym. Punkt dostępowy dołącza stację do swojej podsieci. Zazwyczaj natychmiast po fazie wiązania stacja bezprzewodowa wysyła do tej podsieci komunikat DHCP aby uzyskać adres IP.
Aby związać się z punktem dostępowym, stacja niekiedy musi się uwierzytelnić. Niektóre z metod to:
zezwalanie na dostęp do sieci bezprzewodowej na podstawie adresu MAC
podanie nazwy użytkownika i hasła
w obu przypadkach zazwyczaj punkt dostępowy komunikuje się z serwerem uwierzytelniania, przekazując informacje między stacją bezprzewodową a serwerem przy pomocy takieog protokołu jak RADIUS albo DIAMETER. Jeden serwer może obsługiwać wiele punktów dostępowych. Wi-Fi: potwierdzanie transmisji
Ze względu na wysoki współczynnik błędów bitowych protokół 802.11 wykorzystuje technikę potwierdzeń i retransmisji w warstwie łącza (ARQ)
Potwierdzanie transmisji w warstwie Å‚Ä…cza 802.11:
kiedy docelowa stacja odbierze ramkę i ramka przejdzie test CRC, stacja odczekuje pewien czas (tzw. krótkie opóznienie międzyramkowe, SIFS - short interframe spacing), a następnie odsyła ramkę potwierdzenia
jeśli stacja nadawcza nie otrzyma potwierdzenia w określonym czasie, retransmituje ramkę (uzyskując dostęp do kanału przez CSMA/CA)
Jeśli po określonej liczbie retransmisji nie przyjdzie potwierdzenie, stacja nadawcza rezygnuje z wysłania danej ramki Wi-Fi: protokół kontroli dostępu do nośnika
Protokołem kontroli dostępu w sieciach 802.11 jest CSMA/CA (Carrier Sense Multiple Access with Coillision Avoidance)
stacja bada kanał przed wysłaniem danych i wstrzymuje transmisję jeśli jest on zajęty
unikanie kolizji (zamiast ich wykrywania, jak w CSMA/CD)
Protokół CSMA/CA nie stosuje wykrywania kolizji:
wykrywanie kolizji wymaga zdolności do jednoczesnego wysyłania i odbierania danych. Moc odbieranego sygnału jest zwykle znacznie niższa od mocy sygnału transmitowanego, więc sprzęt umożliwiający wykrywanie kolizji byłby kosztowny
stacja mogłaby nie wykryć wszystkich kolizji ze względu na problem ukrytego terminala lub zanikanie
jeśli stacja rozpocznie wysyłanie ramki, to wysyła ją całą
może to powodować zmniejszenie wydajności, zwłaszcza w środowisku z wieloma kolizjami
stosuje siÄ™ zatem techniki unikania kolizji
Działanie protokołu CSMA/CA:
jeśli początkowo stacja ustali, że kanał jest wolny, wysyła ramkę po okresie zwanym opóznieniem międzyramkowym DCF (DCF Interframe spacing)
(*) w przeciwnym razie stacja wybiera losowy przedział wstrzymania i odlicza czas pod warunkiem że kanał jest wolny (jeśli kanał jest zajęty, licznik czasu nie zmienia się)
kiedy licznik czasu zmniejszy się do zera, stacja retransmituje całą ramkę i czeka na potwierdzenie
jeśli potwierdzenie nadejdzie, a stacja ma do wysłania kolejną ramkę, wznawia protokół CSMA/CA od (*). Jeśli potwierdzenie nie nadejdzie, stacja ponownie wchodzi w fazę wstrzymania w (*), wybierając przedział z większego zakresu
zliczanie czasu odczekiwania wykonywane jest tylko gdy kanał jest wolny wynika z zamiaru uniknięcia kolizji
jeśli dwie stacje wykryją, że kanał jest zajęty, wchodzą w stan wstrzymania, zazwyczaj wybierając inne okresy
po zwolnieniu kanału jedna z tych stacji zacznie nadawać przed drugą, druga wykryje jej sygnał i nie rozpocznie transmisji, co pozwala uniknąć kolizji
kolizje mogą wynikać z faktu, że stacje są ukryte przed sobą, lub z tego że wybiorą identyczne okresy wstrzymania
Protokół 802.11 oferuje opcjonalną metodę rezerwacji pomagającą unikać kolizji w środowisku z ukrytymi terminalami
jeśli dwie stacje są ukryte przed sobą, ale widoczne dla punktu dostępowego, to może dojść do kolizji
rozwiązanie rezerwacja kanału:
kiedy jedna ze stacji chce rozpocząć transmisję, wysyła do punktu dostępowego krótką ramkę RTS (Request to Send), określając lączny czas transmisji ramki z danymi i ramki potwierdzenia
punkt dostępowy odpowiada ramką CTS (Clear To Send), dającą nadawcy zezwolenie na transmisję oraz zabraniającą innym stacjom transmitowania danych przez podany okres
złagodzenie problemu ukrytego terminala
ewentualne kolizje są krótkie Protokół Wi-Fi jako łącze punkt-punkt
Protokół 802.11 może być używany jako łącze punkt-punkt, jeśli dwa węzły mają anteny kierunkowe Wi-Fi: ramka IEEE 802.11 kontrola numer ramki okres adres 1 adres 2 adres 3 sekwen- adres 4 treść CRC 2 2 6 6 6 cyjny 6 0 2321 2 2 wersjp więcej ponow zarząd zarezer roto- typ podtyp do PD od PD fragme na zanie więcej WEP wowan kołu 2 4 1 1 ntów próba zasilan danych 1 e)1 2 1 1 iem 1 1
podobna do ramki ethernetowej
istotna różnica: miejsce na 3 adresy MAC
adres stacji nadawczej (stacji bezprzewodowej, punktu dostępowego)
adres stacji odbiorczej (stacji bezprzewodowej, punktu dostępowego)
adres interfejsu routera łączącego daną sieć z innymi sieciami
punkt dostępowy dysponuje bezpośrednim połączeniem z routerem, który z kolei jest podłączony do internetu
punkt dostępowy jest urządzeniem warstwy łącza, więc nie korzysta z protokołu IP i nie rozpoznaje jego adresów
przekazywanie datagramu od routera R do stacji bezprzewodowej H (router nie wie nic o punkcie dostępowym):
router zna adres IP stacji H (jako adres adresata datagramu); używa ARP do ustalenia adresu sprzętowego H, a następnie umieszcza datagram w ramce ethernetowej (802.3), w której umieszcza adresy MAC R i adres MAC H,
punkt dostępowy odbierający ramkę 802.3 przekształca ją w ramkę 802.11, wypełniając pola adresów 1, 2 i 3 odpowiednio adresem MAC H, własnym adresem MAC i adresem MAC R. Dzięki temu H może ustalić adres MAC interfejsu routera który wysłał datagram do podsieci
przesyłając odpowiedz stacja H tworzy ramkę 802.11, wypełniając pola 1, 2 i 3 adresem MAC punktu dostępowego, własnym adresem MAC i adresem MAC routera R1
po odebraniu ramki 802.11 punkt dostępowy przekształca ją w ramkę 802.3, umieszczając w niej adres MAC H i adres MAC R.
Pozostałe pola ramki:
pole danych (zwykle zawiera datagram IP lub pakiet ARP) o maksymalnej długości 2312 bajtów
CRC pole kontroli błędów
pole numeru sekwencyjnego pozwala odbiorcy odróżnić transmisję nowej ramki od retransmisji poprzedniej
okres czas potrzebny na przesłanie ramki danych oraz odebranie ramki potwierdzenia (używane w przypadku omówionej wcześniej rezerwacji kanału )
pole kontroli ramki:
najważniejsze pola:
typ i podtyp umożliwiają rozróżnienie ramek wiązania, RTS, CTS, ACK (potwierdzenia) i danych
od i do pola definiujące znaczenie poszczególnych pól adresu. Zmienia się ono w zależności od trybu (dorazny, infrastrukuralny), oraz od tego czy ramka jest wysyłana przez stację bezprzewodową, czy przez punkt dostępowy
WEP pole wskazujące, czy używane jest szyfrowanie Mobilność w tej samej podsieci IP
Aby zwiększyć fizyczny zasięg bezprzewodowej sieci lokalnej często korzysta się z wielu grup BSS należących do tej samej podsieci IP
przejście stacji bezprzewodowej między dwoma BSS:
urządzenie łączące oba BSS nie jest routerem, więc wszystkie stacje w obu grupach należą do tej samej podsieci IP. Stacja zmieniająca BSS może zachować swój adres IP i bieżące połączenia TCP
stacja bezprzewodowa oddalając się od punktu dostępowego AP1 z BSS1 wykrywa słabnący sygnał i zaczyna szukać silniejszego. Otrzymuje ramkę od punktu AP2 z BSS2 (często ma on ten sam identyfikator SSID co AP1), przerywa powiązanie z AP1 i wiąże się z punktem AP2, zachowując swój adres i bieżące sesje TCP
jeśli urządzeniem łączącym AP1 i AP2 jest koncentrator, nie ma problemu
jeśli jest nim przełącznik, trzeba podjąć dodatkowe działania, aby nauczyć przełącznik działania w nowej sytuacji
przełącznik wie gdzie kierować ramki przeznaczone dla poszczególnych adresów sprzętowych
AP2 może przesłać do przełącznika rozgłoszeniową ramkę ethernetową z adresem zródłowym stacji która zmieniła położenie. W odpowiedzi przełącznik zmodyfikuje swoją tabelę przekazywania
opracowywany jest protokół komunikacji między punktami dostępowymi mający rozwiązać problemy tego rodzaju Standard 802.15
standard 802.11 jest przeznaczony do komunikacji na odległość nie przekraczającą 100 m
technologia o niskiej mocy, małym zasięgu i ograniczonej szybkości zamiennik kabla do łączenia notebooków, sprzętu peryferyjnego itp.
warstwa Å‚Ä…cza i warstwa fizyczna bazujÄ… na specyfikacji sieci osobistych Bluetooth.
operują w nielicencjonowanym paśmie 2,4 GHz
wykorzystujÄ… technikÄ™ TDM (time division multiplexing) z przedziaÅ‚em czasu 625 µs
w każdym przedziale czasu nadawca transmituje dane na jednym z 79 kanałów, zmieniając je w znanej, ale pseudolosowej kolejności (jest to tzw. FHSS frequency-hopping spread spectrum, rozpraszający transmisje w całym zakresie częstotliwości). Pozwala to osiągnąć szybkość transmisji do 721 kb/s
802.15 to sieć dorazna (nie jest potrzebna żadna infrastruktura sieciowa, np. punkty dostępowe)
urzÄ…dzenia organizujÄ… siÄ™ same:
pierwszy etap to utworzenie pikosieci zawierającej maksymalnie 8 aktywnych urządzeń
jedno z urządzeń pełni rolę węzła nadrzędnego, pozostałe węzłów podrzędnych
węzeł nadrzędny wyznacza czas, wyraża zgodę na transmisję węzłów podrzędnych (pod warunkiem że wcześniej się z nim skontaktowały; adresatem transmisji może być tylko węzeł nadrzędny)
w pikosieci może znajdować się do 255 urządzeń zaparkowanych, które nie mogą transmitować dopóki węzeł nadrzędny nie zmieni ich stanu na aktywny Komórkowy dostęp do internetu
przymiotnik komórkowy odnosi się do podziału obszaru geograficznego na mniejsze obszary znajdujące się w zasięgu pojedynczej stacji nadawczej i nazywane komórkami.
Każda komórka zawiera stację bazową, która wysyła i odbiera sygnały od stacji mobilnych znajdujących się w komórce
zasięg komórki zależy m.in.. od mocy nadawczej stacji bazowej i stacji mobilnych, przeszkód terenowych i wysokości anteny stacji bazowej
w wielu współczesnych systemach jedna stacja bazowa obsługuje trzy komórki Podstawowa architektura sieci
każda stacja bazowa jest podłączona poprzez infrastrukturę przewodową do sieci rozległej, np.. publicznej sieci telefonicznej lub internetu.
stacje łączą się z centrami przełączania mobilnego (MSC mobile switching center). które zarządzają zestawianiem połączeń z użytkownikami mobilnymi
MSC realizuje wiele funkcji standardowej centrali telefonicznej, a ponadto jest wyposażona w dodatkowe mechanizmy obsługi mobilności użytkowników Techniki współużytkowania pasma
zwykle w jednej komórce odbywa się wiele jednoczesnych rozmów. Muszą one współdzielić pasmo radiowe przydzielone dostawcy usług komórkowych. Metody współużytkowania to:
kombinacja multipleksowania z podziałem częstotliwości (FDM) i multipleksowania z podziałem czasu (TDM)
kanał jest dzielony na kilka pasm częstotliwości, a w każdym paśmie czas jest dzielony na ramki i przedziały
Technika ta eliminuje potrzebę przydziału częstotliwości poszczególnym odbiornikom Standardy i technologie komórkowe
systemy pierwszej generacji (1G) analogowe sieci przeznaczone do komunikacji głosowej
systemy drugiej generacji (2G) cyfrowe, transmisja głosu. Przykłady:
przejściowy standard 136 TDMA (IS-136) mieszany system FDM/TDM, szeroko stosowany w Ameryce Płn.
GSM (Global System for Mobile Communnication) system FDM/TDM. szeroko stosowany w Europie, potem w Azji i Ameryce PÅ‚n
IS-95 CDMA system z multipleksowaniem kodowym, Ameryka PÅ‚n, Korea
Standardy przejściowe między 2G i 3G umożliwienie transmisji danych z wykorzystaniem istniejącej infrastruktury 2G
GPRS (General Packet Radio Service) emulacja modemu między urządzeniem użytkownika i siecią docelową; używa przełączania obwodów do transmisji głosu i danych. Mobilna stacja GPRS może używać więcej niż jednego przedziału czasowego w danym kanale; niektóre przedziały są zarezerwowane na transmisję danych. Szybkość transmisji to 40 60 kb/s. Usługa GPRS jest świadczona przez bazową sieć GSM
EDGE (Enhanced Data Rate for Global Evolution) rozwiązanie zwiększające wydajność sieci GSM/GPRS poprzez lepsze wykorzystanie kanału. Szybkość transmisji to (w teorii) 384 kb/s.
CDMA 2000, Phase 1 technologia powstała z IS-95; oferuje pakietową transmisję danych z szybkością 384 kb/s.
trzecia generacja (3G) usługi telefoniczne i transmisja danych. Mają zapewniać m.in.. 144kb/s podczas jazdy samochodem, 384kb/s podczas użycia stacjonarnego albo chodzenia i 2Mb/s w przestrzeni zamkniętej.
UMTS (Universal Mobile Telecommunnication Service) system GSM rozbudowany o funkcje 3G
CDMA-2000 rozwinięcie systemu IS-95
czwarta generacja - ... Problemy związane z mobilnością
Mobilność z perspektywy warstwy sieci może być różnego stopnia:
użytkownik powiązany z tym samym punktem dostępowym, użytkownik jadący autobusem, użytkownik przenoszący się z laptopem np. z pokoju do sali wykładowej ...
Czy adres węzła mobilnego musi zostać zawsze taki sam
jeśli zostanie, to mobilność może być niewidoczna z perspektywy aplikacji
dorazna łączność sieciowa, jeśli infrastruktura nie istnieje Zarządzanie mobilnością - pojęcia
W środowisku sieciowym stałym miejscem zamieszkania węzła mobilnego jest sieć domowa. Jednostką pełniącą funkcje zarządzania mobilnością na rzecz tego węzła jest agent domowy
Sieć, w której w danej chwili znajduje się węzeł mobilny, nazywa się siecią obcą albo wizytowaną. Jednostką pełniącą funkcje zarządzania mobilnością na rzecz tego węzła jest agent obcy
Korespondent jednostka która chce nawiązać komunikację z węzłem mobilnym. Adresowanie
Aby mobilność była niewidoczna dla aplikacji, węzeł mobilny powinien zachowywać swój adres podczas poruszania się po sieci
Kiedy węzeł mobilny rezyduje w sieci obcej, cały ruch kierowany do tego węzła powinien być kierowany do tej sieci
Rozwiązanie praktyczne: zarządzanie mobilnością jest zadaniem sieci domowej.
Do aktualizacji położenia węzła mobilnego niezbędny jest protokół między węzłem lub reprezentującym go agentem obcym a agentem domowym,.
RozwiÄ…zanie:
umieszczenie agentów obcych w routerach brzegowych sieci obcej
jednym z zadań agenta obcego jest tworzenie tzw. adresu pośredniego (COA care-of address) węzła mobilnego, w którym część sieciowa wskazuje sieć obcą
węzeł ma dwa adresy: adres stały (w sieci domowej) i adres pośredni (obcy) odpowiadający bieżącej sieci
agent obcy ma za zadanie informowanie agenta domowego, że węzeł mobilny znajduje się w określonej sieci obcej pod odpowiednim adresem COA
agentem obcym może być sam węzeł mobilny
węzeł może np. pobrać adres COA z sieci obcej za pomocą DHCP i poinformować o tym agenta domowego Routing do węzła mobilnego
Routing pośredni do węzła mobilnego
korespondent adresuje datagram stałym adresem węzła mobilnego i wysyła go do sieci
datagramy trafiają do sieci domowej węzła mobilnego
agent domowy przechwytuje datagram i przekazuje go do węzła mobilnego
datagram jest najpierw przekazywany do agenta obcego z wykorzystaniem adresu COA węzła
aby ukryć fakt przekazywania (tj. zachować wszystkie pola oryginalnego datagramu) datagram jest zazwyczaj kapsułkowany w nowym, większym datagramie
następnym etapem jest przekazanie datagramu od agenta obcego do węzła mobilnego
agent obcy wyodrębnia z otrzymanego datagramu oryginalny datagram nadany przez korespondenta i przekazuje go węzłowi
węzeł mobilny może przesłać odpowiedz bezpośrednio do korespondenta
użyte protokoły:
protokół między węzłem mobilnym a agentem obcym
rejestracja węzła mobilnego w agencie obcym, wyrejestrowanie przy opuszczaniu sieci
protokół rejestracji między agentem obcym a agentem domowym
agent obcy rejestruje adres COA w agencie domowym (wyrejestrowanie niepotrzebne agent obcy z nowej sieci dokona nowej rejestracji)
protokół kapsułkowana w agencie domowym
protokół odkapsułkowywania w agencie obcym Routing do węzła mobilnego - cd
Routing bezpośredni do węzła mobilnego
poprzednia metoda mało efektywna ze względu na tzw. routing trójkątny (kierowanie datagramów do pośrednika )
routing bezpośredni: agent korespondencyjny w sieci korespondenta najpierw poznaje adres COA węzła mobilnego
może być to wykonane poprzez odpytanie agenta domowego
agent korespondencyjny wysyła zakapsułkowane datagramy bezpośrednio na adres COA węzła mobilnego
agentem korespondencyjnym może być sam korespondent
dodatkowe problemy:
aby agent korespondencyjny mógł odpytać agenta domowego i uzyskać COA węzła, potrzebny jest protokół lokalizowania użytkownika mobilnego
konieczność aktualizacji adresu COA pamiętanego przez agenta korespondencyjnego.
aktualizacja adresu pamiętanego przez agenta domowego nie wystarczy agent domowy jest odpytywany tylko raz, na początku sesji
RozwiÄ…zania:
dodatkowy protokół za pomocą którego agent korespondencyjny jest informowany o zmianie COA
(stosowane w GSM): użycie kotwiczącego agenta obcego (anchor foreign agent), tj. agenta obcego z sieci w której węzeł znalazł się na początku sesji. Po przejściu do nowej sieci węzeł rejestruje się w nowym agencie obcym, który przekazuje agentowi kotwiczącemu nowy adres COA węzła. Agent kotwiczący otrzymuje datagramy przeznaczone dla węzła, kapsułkuje je i wysyła na nowy adres COA. Kiedy węzeł przechodzi do nowej sieci, nowy agent obcy kontaktuje się z agentem kotwiczącym, przekazując mu nowy adres COA.