Temat : Identyfikacja aplikacji socket.

  1. Gniazda powstały jako koncepcja systemowej obsługi protokołu TCP/IP. Początki gniazd i powstania ich pierwszych specyfikacji sięgają Uniwersytetu Berkeley i ich dystrybucji UNIX'a Berkeley Software Distribution (BSD). Pełen mechanizm socketów zaimplementowano w 4.2 BSD Unix w roku 1983. Później z powodzeniem zastosowano standard SOCKET w innych systemach operacyjnych (m. in. WINDOWS, LINUX).



  1. Gniazdem (socket) nazywamy mechanizm komunikacyjny stosowany między procesami działającymi w środowiskach UNIX oraz TCP/IP. Gniazda definiują metody wymiany informacji oraz interfejs programowania pozwalający budować aplikacje klient/serwer.
    Socket jest zdefiniowany jako końcówka (endpoint) dla komunikacji głównie przez protokoły TCP/IP. Jest także zgodny z innymi protokołami ( m. in. IPX/SPX) oraz komunikacją międzyprocesową, ale zaznaczono, że w niniejszej pracy się nimi nie zajmujemy. Socket z punktu widzenia protokołu IP nie wnosi nic nowego, gdyż jest on "ponad nim" (leży w wyższych warstwach). Socket jest obiektem utrzymywanym przez system operacyjny i rezerwowanym przez program użytkowy do jednoznacznej identyfikacji połączenia TCP lub strumienia UDP, a więc definiującym dostęp aplikacji do warstwy transportowej i sesji ( Transport & Session Layer ).



  1. Socket zdefiniowany jest przez 4 liczby:
    - adres zdalny (adres IP komputera po "przeciwnej stronie"),
    - port zdalny (numer portu do którego się odnosimy po "przeciwnej stronie"),
    - adres lokalny,
    - port lokalny,



  1. Rodzaje socketów:



  1. Podział ze względu na rodzaj transmisji:

- TCP - (SOCK_STREAM) - zapewnia pewne, dwukierunkowe, sekwencyjne połączenie



- TCP/IPUDP - (SOCK_DGRAM) - przesyła datagramy bez połączeń i mechanizmów kontroli



- RAW - (SOCK_RAW) - raw socket (polskie "surowy socket") - tylko dla super-user'





Temat: Proces przesyłania danych, elementy pakietu. Routing trasowanie przesyłanie danych.





- routery obsługujące transmisję przekazują pakiety multicastowe do danej sieci tylko wtedy, gdy w tej sieci znajduje się przynajmniej jeden członek konkretnej grupy multicastowej, pojedynczy host może być członkiem jednej grupy lub większej ich liczby.



- komputery do powiadomienia routera o członkostwie w danej grupie lub o jego rezygnacji wykorzystują protokół IGMP, hosty zgłaszają za pomocą IGMP swoje członkostwo w grupie multicastowej do dowolnego sąsiadującego routera multicastowego.



- komputery mogą być odbiorcami, nadawcami lub pełnić obie te funkcje jednocześnie w danej grupie multicastowej.





- Wszystkie multicastowe adresy IP mieszczą się w zakresie od 224.0.0.0 do 239.255.255.255..



- Adresy w zakresie 224.0.0.0 do 224.0.0.255 są zarezerwowane dla protokołów w sieciach lokalnych i nie mogą być przekazywane przez routery, np. adresy 224.0.0.5 i 224.0.0.6 wykorzystywane są przez protokół routingu OSPF do przesyłania informacji między wszystkimi routerami.



- Zakres adresów od 224.0.1.0 do 238.255.255.255 jest zakresem adresów globalnych, które mogą być wykorzystywane do multicastingu między organizacjami oraz przez Internet



- Część z nich jest zarezerwowana dla niektórych aplikacji, np. 224.0.1.1 dla protokołu NTP (Network Time Protocol).



- Zakres adresów od 239.0.0.0 do 239.255.255.255 jest zakresem o ograniczonym zasięgu, przeznaczonym dla grup lokalnych lub jednej organizacji.

















- Protokół RIP (Routing Information Protocol) jest protokołem wykorzystującym algorytm wektora odległości. Ze względu na niskie wymagania sprzętowe może być używany przez wszystkie routery.



- Protokół OSPF (Open Short Path First) jest, podobnie jak RIP, protokołem otwartym, co oznacza, że jego specyfikacja jest ogólnie dostępna.



-