DialNet Masters - przygotowania

Praca... po godzinach.


#1 2008-02-21 20:58:40

Zbyszek

Moderator

5715669
Zarejestrowany: 2008-02-14
Posty: 52
Punktów :   

Wątpliwości odnośnie TCP/IP

W związku z tym, że Sławek nie dodał jeszcze swojego opracowania, a ja mam wątpliwości, w którym to właściwie miejscu schematu OSI należy umieścić TCP, a w którym IP (protokół, nie adres)... wygrzebałem trochę materiałów na ten temat. Wkleję je tutaj po kawałku. Może się przydadzą... Nie chcę robić więcej zamieszania w wątku o OSI.

Źródło pierwsze: Microsoft (autorzy anonimowi, to korporacja, dla której jednostka jest tylko zwykłym... pionkiem) "System sieciowy TCP/IP"

Protokoły TCP/IP odwzorowują czterowarstwowy model koncepcyjny znany jako model DARPA. Cztery warstwy modelu DARPA to: warstwa aplikacji, transportowa, internetowa i interfejsu sieciowego. Każda warstwa modelu DARPA odpowiada jednej lub więcej warstwie siedmiowarstwowego modelu Open Systems Interconnection (OSI).

Rysunek 1.1 przedstawia architekturę protokołów TCP/IP.

http://www.microsoft.com/poland/windows2000/win2000serv/TCPIP/images/cnbb01.gif

Rysunek 1.1 Architektura protokołów TCP/IP

Warstwa interfejsu sieciowego

Warstwa interfejsu sieciowego (zwana także warstwą dostępu sieciowego) jest odpowiedzialna za umieszczanie pakietów TCP/IP w nośniku sieciowym i odbieranie pakietów TCP/IP z tego nośnika. TCP/IP został zaprojektowany tak, aby być niezależnym od metody dostępu do sieci, formatu ramki i nośnika. Dzięki temu TCP/IP może być używany do łączenia różnych rodzajów sieci, takich jak Ethernet i Token Ring (LAN), X.25, Frame Relay (WAN). Niezależność od żadnej konkretnej technologii daje TCP/IP możliwość zaadoptowania do nowych technologii, takich jak Asynchronous Transfer Mode (ATM).

Warstwa interfejsu sieciowego otacza warstwy połączenia i fizyczną modelu OSI. Warstwa internetowa nie korzysta z usług kolejkowania i potwierdzania, które mogą być obecne w warstwie połączenia. Zadaniami tymi zajmuje się warstwa transportowa.

Warstwa internetowa

Warstwa internetowa jest odpowiedzialna za adresowanie, pakowanie i funkcje routowania. Podstawowe protokoły warstwy internetowej to IP, ARP, ICMP oraz IGMP.

  Internet Protocol (IP) to routowalny protokół odpowiedzialny za adresowanie IP, routing oraz dzielenie i łączenie pakietów.

  Address Resolution Protocol (ARP) jest odpowiedzialny za przekształcanie adresów warstwy internetowej na adresy warstwy interfejsu sieciowego, takie jak adres sprzętowy.

  Internet Control Message Protocol (ICMP) jest odpowiedzialny za funkcje diagnostyczne i zgłaszanie błędów niedostarczenia pakietów IP.

  Internet Group Management Protocol (IGMP) jest odpowiedzialny za zarządzanie transmisjami grupowymi.

Warstwa internetowa jest odpowiednikiem warstwy sieciowej modelu OSI.

Warstwa transportowa

Warstwa transportowa (znana także pod nazwą Host-to-host Transport Layer) jest odpowiedzialna za dostarczenie warstwie aplikacji usług sesji i datagramowych. Protokołami warstwy transportowej są Transmission Control Protocol (TCP) i User Datagram Protocol (UDP).

  TCP odpowiada za ustanowienie połączenia, kolejkowanie, potwierdzanie wysyłanych pakietów i za odzyskiwanie pakietów utraconych.

  UDP używany jest, gdy przesyłana jest mała ilość danych (czyli taka, która zmieści się w jednym pakiecie) lub gdy koszt tworzenie połączenia TCP jest zbyt wysoki.

Warstwa transportowa wykonuje zadania warstwy transportowej modelu OSI oraz część zadań warstwy sesji modelu OSI.

Warstwa aplikacji

Warstwa aplikacji umożliwia aplikacjom korzystanie z usług innych warstw i określa protokoły używane przez aplikację do wymiany danych. Jest wiele protokołów warstwy aplikacji i ciągle tworzone są nowe.

Najbardziej znanymi protokołami warstwy aplikacji są te, których używa się do wymiany informacji użytkownika:

  Hypertext Transfer Protocol (HTTP) jest używany do przesyłania plików stron internetowych światowej sieci Web.

  File Transfer Protocol (FTP) jest używany do interakcyjnego przesyłania plików.

  Simple Mail Transfer Protocol (SMTP) jest używany do przesyłania poczty i załączników.

  Telnet, protokół emulacji terminala jest używany do logowania się zdalnie do hostów.

Dodatkowo, używanie i zarządzanie sieciami TCP/IP ułatwiają następujące protokoły:

  Domain Name System (DNS) jest używany do przekształcenia nazwy hosta na adres IP.

  Routing Information Protocol (RIP) jest protokołem używanym przez routery do wymiany informacji.

  Simple Network Management Protocol (SNMP) jest używany pomiędzy konsolą sieciową a urządzeniami (routery, mosty, inteligentne koncentratory) do zbierania i wymiany informacji sterujących.

Przykładami interfejsu warstwy aplikacji dla aplikacji TCP/IP są Windows Sockets i NetBIOS. Windows Sockets dostarcza standardowy interfejs programistyczny (API) w systemie Windows 2000. NetBIOS jest interfejsem o standardzie przemysłowym, udostępniającym takie usługi jak sesje, datagramy i rozwiazywanie nazw. Więcej informacji o Windows Sockets i NetBIOS znajduje się w dalszej części tego rozdziału.

Protokoły składowe TCP/IP

Składnik TCP/IP zainstalowany w systemie jest serią połączonych ze sobą protokołów zwanych protokołami składowymi TCP/IP. Wszystkie aplikacje oraz inne protokoły pakietu protokołów TCP/IP opierają się na usługach dostarczanych przez następujące protokoły: IP, ARP, ICMP, IGMP, TCP i UDP.

Protokół IP

Protokół IP nie ustanawia połączenia, jest mniej niezawodny, w głównej mierze odpowiedzialny za adresowanie i routing pakietów pomiędzy hostami. Nie ustanawiający połączenia oznacza, że sesja nie jest ustanawiana przed rozpoczęciem wymiany danych. Mniej niezawodny oznacza, że nie ma gwarancji dostarczenia danych do odbiorcy. IP zawsze „stara się” jak najlepiej dostarczyć pakiet, jednak nie zajmuje się kontrolą błędów. Pakiet IP może więc zostać zgubiony, dostarczony poza kolejnością, zdublowany lub opóźniony. Potwierdzaniem przyjętych pakietów oraz korekcją błędów zajmuje się warstwa wyższa, jak TCP. Protokół IP jest opisany w dokumencie RFC 791.

Pakiet IP, znany także jako datagram IP, składa się z nagłówka IP oraz zawartości IP. Tabela 1.3 opisuje pola nagłówka IP.

Tabela 1.3 Kluczowe pola nagłówka IP
Pole         Funkcja
Adres źródłowy         Adres IP źródła datagramu.
Adres docelowy         Adres IP punktu docelowego datagramu.
Identyfikacja         Używane w celu identyfikacji konkretnego datagramu i do identyfikacji fragmentów konkretnego datagramu, jeśli wystąpi fragmentacja.
Suma kontrolna         Liczba wyliczana w celu sprawdzenia, czy występują błędy.
Czas wygaśnięcia (TTL)         Określa ilość sieci, przez które może podróżować datagram zanim zostanie odrzucony przez router. TTL jest ustawiane przez nadawcę i zapobiega nieskończonemu krążeniu pakietów w sieci. Podczas przesyłania dalej, router zobowiązany jest zmniejszyć TTL przynajmniej o jeden.

Fragmentacja i kompletacja

Jeśli router odbierze pakiet za duży dla sieci, do której ma zostać przesłany, IP dokonuje fragmentacji pakietu na mniejsze pakiety. Po dotarciu do punktu docelowego, IP łączy pakiety z powrotem w całość. Proces ten nazywany jest fragmentacją i kompletacją. Fragmentacja może wystąpić w środowiskach będących połączeniem technologii sieciowych, takich jak Ethernet lub Token Ring.

Fragmentacja i kompletacja działają na następujących zasadach:

  W momencie wysyłania, pakiet IP otrzymuje unikalną wartość w polu identyfikacji.

  Pakiet IP jest odbierany przez router. Router stwierdza, że maksymalna jednostka transmisji (MTU) sieci, do której ma zostać przesłany pakiet, jest mniejsza niż wielkość pakietu.

  IP dzieli oryginalną zawartość pakietu (bez nagłówka) na części, które pasują do parametrów sieci. Każda część jest wysyłana z oddzielnym nagłówkiem IP, który zawiera:

  Oryginalne pole identyfikacyjne, które identyfikuje wszystkie części całości.

  Flagę More Fragments oznaczającą, że po danym fragmencie następują kolejne. Ostatni fragment nie ma ustawionej flagi More Fragments, ponieważ nie następują już po nim kolejne fragmenty.

  Pole Fragment Offset wskazujące pozycję fragmentu w odniesieniu do oryginalnej zawartości IP.

Po dotarciu do celu, pakiety rozpoznawane są po polu identyfikacyjnym, jako części większej całości. Pole Fragment Offset jest używane do połączenia części w oryginalną zawartość IP.

Protokół ARP

Kiedy pakiety IP są wysyłane do sieci opartych na emisji, jak Ethernet czy Token Ring, musi zostać określony adres sprzętowy (MAC) korespondujący z danym adresem IP. ARP używa emisji na poziomie MAC, aby rozłożyć adres IP na adres MAC. Protokół ARP jest opisany w RFC 826.

Więcej informacji o ARP znajduje się w paragrafie „Rozwiązywanie adresów fizycznych” w dalszej części tego rozdziału.

Protokół ICMP

Protokół Internet Control Message Protocol (ICMP) zajmuje się rozwiązywaniem problemów z transmisją i zgłaszaniem błędów dla pakietów, których nie da się dostarczyć. Na przykład, gdy IP nie może dostarczyć pakietu do hosta docelowego, ICMP wysyła komunikat „Miejsce przeznaczenia nieosiągalne” do hosta źródłowego. Tabela 1.4 pokazuje typowe komunikaty ICMP.

Tabela 1.4  Typowe komunikaty ICMP
Komunikat ICMP         Funkcja
Żądanie echa         Komunikat używany do sprawdzenia łączności z hostem. Narzędzie ping wysyła komunikaty ICMP Echo Request.
Odpowiedź echa         Odpowiedź na ICMP Echo Request.
Przeadresowanie         Wysyłany przez router, aby poinformować hosta wysyłającego o lepszej trasie do hosta docelowego.
Wygaszacz źródła         Wysyłany przez router, aby poinformować hosta wysyłającego, że datagramy są gubione z powodu przeciążenia routera. Host wysyłający w odpowiedzi zmniejsza tempo transmisji. Wygaszacz źródła jest komunikatem do wyboru i nie jest powszechnie implementowany.
Miejsce docelowe          Wysyłany przez router, lub hosta docelowego, aby poinformować hosta
nieosiągalne         żródłowego, że datagram nie może być dostarczony.

Istnieje szereg określonych komunikatów ICMP „Miejsce docelowe nieosiągalne”. Tabela 1.5 opisuje najbardziej powszechne komunikaty.

Tabela 1.5  Typowe komunikaty ICMP „Miejsce docelowe nieosiągalne”
Komunikat „Miejsce docelowe nieosiągalne”         Opis
Sieć nieosiągalna         Wysyłany przez router, gdy nie można określić trasy do sieci docelowej. Komunikat zdezaktualizowany.
Host nieosiągalny         Wysyłany przez router, gdy nie można określić trasy do docelowego adresu IP.
Protokół nieosiągalny         Wysyłany przez docelowy węzeł IP, gdy pole protokół w nagłówku IP nie pasuje do żadnego załadowanego przez klienta IP protokołu.
Port nieosiągalny         Wysyłany przez docelowy węzeł IP, gdy Port przeznaczenia w nagłówku UDP nie pasuje do procesu używającego tego portu.
Żądanie fragmentacji          Wysyłany przez router, gdy wymagana jest fragmentacja, a ustawiona jest
i ustawiona flaga DF          flaga „nie fragmentuj” (DF) w nagłówku IP.
(Nie fragmentuj)
Zła trasa określona          Wysyłany przez router, gdy nie powiedzie się próba dostarczenia pakietu
przez źródło          trasą określoną przez źródło.

ICMP nie czyni IP protokołem niezawodnym. ICMP zgłasza błędy i daje odpowiedzi na konkretne warunki. Komunikaty ICMP są przenoszone jako niepotwierdzone datagramy IP i same są zawodne. Protokół ICMP jest opisany w RFC 792.

Protokół IGMP

Internet Group Management Protocol (IGMP) zarządza przynależnością hostów do grup multiemisji. Grupa multiemisjiIP znana także jako host group jest zbiorem hostów, które odbierają dane nadawane dla konkretnego adresu multiemisji. Dane wysyłane jako multiemisja IP są przeznaczone dla jednego adresu MAC, ale odbierane przez wiele hostów. Oto kilka dodatkowych aspektów multiemisji IP:

  Członkostwo w grupie jest dynamiczne, hosty mogą przyłączać się i opuszczać grupę w dowolnym momencie.

  Grupa może liczyć dowolną liczbę hostów.

  Członkowie grupy mogą obejmować routery wielu sieci. Wymaga to obsługi multiemisji IP przez router i zdolności hostów do zarejestrowania swojego członkostwa w grupie z użyciem lokalnych routerów. Rejestracja hostów jest dokonywana z użyciem protokołu IGMP.

  Host może nadawać na adres multiemisji bez potrzeby przynależenia do odpowiedniej grupy.

Aby host mógł odbierać multiemisję IP, aplikacja musi poinformować IP, że będzie on odbierał multiemisję na konkretnym adresie.

Jeśli technologia sieciowa umożliwia multiemisję sprzętową, interfejs sieciowy przepuszcza pakiety dla konkretnego adresu multiemisji IP. W przypadku Ethernetu, karta sieciowa jest zaprogramowana tak, że odpowiada na adres MAC multiemisji, odpowiadający adresowi IP multiemisji.

Host może obsługiwać multiemisję na jednym z następujących poziomów:

  Poziom 0: Nie obsługuje nadawania i odbierania danych multiemisji IP

  Poziom 1: Obsługuje tylko wysyłanie danych multiemisji IP.

  Poziom 2: Obsługuje zarówno wysyłanie jak i odbieranie danych multiemisji IP. TCP/IP systemu Windows 2000 oraz Windows NT 3.5 i późniejszych obsługuje multiemisję IP poziomu 2.

Protokołem do rejestracji informacji o grupach jest IGMP, który jest wymagany na wszystkich hostach obsługujących multiemisję IP poziomu 2. Pakiety IGMP są wysyłane z nagłówkiem IP.

Komunikaty IGMP przyjmują dwie formy:

  Gdy host dołącza do grupy hostów, wysyła komunikat IGMP „Raport o członkostwie hosta” na adres „dla wszystkich” (224.0.0.1) lub na konkretny adres multiemisji IP deklarując swoje członkostwo w konkretnej grupie hostów przez odniesienie do adresu multiemisji IP.

  Gdy router bada sieć, aby upewnić się, że są „członkowie konkretnej grupy, wysyła komunikat IGMP” Zapytanie o członkostwo hosta na adres „dla wszystkich”. Jeśli nie otrzyma odpowiedzi po kilku próbach, router przyjmuje, że w danej grupie, w danej sieci nie ma członków i zaprzestaje ogłaszania informacji o tej grupie-sieci do innych routerów.

Dla grup multiemisji, które rozciągają się na sieć rozległą, routery używają multiemisji protokołów routujących w celu wymiany informacji o grupach, tak aby każdy router „wiedział”, do których sieci należą członkowie.

Protokoół IGMP jest opisany w RFC 1112 i 2236.

Protokół TCP

Protokół Transmission Control Protocol (TCP) jest protokołem niezawodnym, świadczącym usługi w trybie połączeniowym. Dane przesyłane są w segmentach. Tryb połączeniowy oznacza, że połączenie musi zostać nawiązane zanim hosty zaczną przesyłać dane. Niezawodność jest uzyskiwana dzięki przypisaniu numeru każdemu wysyłanemu segmentowi. W celu sprawdzenia czy dane zostały odebrane przez odbiorcę, używane jest potwierdzenie odbioru. Dla każdego wysyłanego segmentu, odbierający host musi zwrócić potwierdzenie odbioru (ACK) co pewną konkretną ilość odebranych bajtów. Jeśli nie odebrano ACK, dane są retransmitowane. Protokół TCP jest opisany w RFC 793.

TCP używa komunikacji metodą strumienia, w której dane w segmencie TCP są traktowane jako ciąg bajtów bez rekordów czy granic pól. Tabela 1.6 opisuje kluczowe pola nagłówka TCP.

Tabela 1.6 Kluczowe pola nagłówka TCP
Pole         Funkcja
Port źródłowy         Port TCP hosta wysyłającego.
Port docelowy         Port TCP hosta docelowego.
Numer sekwencji         Numer sekwencji pierwszego bajtu w segmencie TCP.
Numer potwierdzenia         Numer kolejnego oczekiwanego potwierdzenia.
Okno         Rozmiar bufora TCP (na przechowywanie przychodzących segmentów) na hoście wysyłającym segment.
Suma kontrolna TCP         Potwierdza integralność danych i nagłówka.

Porty TCP

Porty TCP wskazują miejsce dostarczania segmentów. Numery portów poniżej 1024 są dobrze znane i są przydzielane przez Internet Assigned Numbers Authority (IANA). Tabela 1.7 podaje kilka dobrze znanych portów.

Tabela 1.7  Dobrze znane porty TCP
Numer portu TCP         Opis
20         FTP (kanał danych)
21         FTP (kanał kontrolny)
23         Telnet
80         HTTP używane do World Wide Web
139         Usługa sesji NetBIOS

Pełna lista portów TCP znajduje się na stronie Internet Assigned Number Authority (IANA) Port Numbers pod adresem:   http://www.microsoft.com/windows2000/te … fault.asp.

Trójstopniowe nawiązywanie połączenia TCP

Połączenie TCP jest nawiązywane za pomocą trójstopniowej procedury. Ma ona na celu zsynchronizowanie numerów sekwencji i potwierdzenia po obu stronach połączenia oraz wymianę rozmiarów okna TCP. Proces przebiega w następujących fazach:

1. Klient wysyła segment TCP do serwera, w którym zawarty jest początkowy numer sekwencji i rozmiar okna, wskazujący rozmiar bufora po stronie klienta.

2. Serwer odsyła z powrotem segment TCP zawierający wybrany przez siebie numer sekwencji i rozmiar okna, wskazujący rozmiar bufora po stronie serwera.

3. Klient wysyła segment TCP z potwierdzeniem numeru sekwencji wybranego przez serwer.

TCP używa analogicznej procedury przy rozłączaniu połączenia. Gwarantuje to, że obydwa hosty zakończyły transmisję i że wszystkie dane zostały odebrane.

Protokół UDP

UDP jest protokołem bezpołączeniowym, oferującym przesyłanie danych metodą zawodną, jako komunikaty. Oznacza to, że nie ma gwarancji ani przybycia datagramów, ani poprawnej kolejności dostarczenia pakietów. UDP nie retransmituje utraconych danych. Protokół UDP jest opisany w RFC 768.

Protokół UDP jest używany przez aplikacje nie wymagające potwierdzenia odbioru oraz wysyłające małe ilości danych. Usługa nazw NetBIOS, usługa NetBIOS datagram i SNMP, to przykłady aplikacji i usług używających UDP. Tabela 1.8 opisuje kluczowe pola nagłówka UDP.

Tabela 1.8  Kluczowe pola nagłówka UDP
Pole         Funkcja
Port źródłowy         Port UDP nadawcy.
Port docelowy         Port UDP odbiorcy.
Suma kontrolna UDP         Potwierdza integralność danych i nagłówka.

Porty UDP

Aby korzystać z protokołu UDP, aplikacja musi dostarczyć adres IP i numer portu UDP aplikacji docelowej. Numer portu określa, dokąd wysyłać komunikaty. Port może odbierać wiele komunikatów jednocześnie. Każdy port jest identyfikowany przez swój niepowtarzający się numer. Porty UDP są zupełnie rozdzielne od portów TCP, nawet jeśli niektóre mają takie same numery. Tabela 1.9 podaje dobrze znane porty UDP.

Tabela 1.9 Dobrze znane porty UDP
Numer portu UDP         Opis
53         Zapytania o nazwy Domain Name System (DNS)
69         Protokół Trivial File Transfer Protocol (TFTP)
137         Usługa nazw NetBIOS
138         Usługa NetBIOS datagram
161         SNMP

Pełna lista portów UDP, znajduje się na stronie Internet Assigned Number Authority (IANA) Port Numbers na stronie Web Resources pod adresem:

http://www.microsoft.com/windows2000/te … fault.asp.

Interfejs aplikacji TCP/IP

Sieciowy system operacyjny, jakim jest Windows 2000, udostępnia interfejsy programowania aplikacji o standardzie przemysłowym (API), w celu dostępu do usług oferowanych przez protokoły rdzenne TCP/IP. Interfejsy aplikacji to zestawy funkcji wywoływanych przez kod aplikacji w celu wykonania funkcji sieciowych. Na przykład przeglądarka internetowa zawierająca stronę Web, potrzebuje mieć dostęp do usługi ustanawiania połączenia TCP.

Rysunek 1.2 pokazuje dwa typowe interfejsy sieciowe TCP/IP, Windows Sockets i NetBIOS i ich relacje z protokołami

http://www.microsoft.com/poland/windows2000/win2000serv/TCPIP/images/cnbb02.gif

http://www.microsoft.com/poland/windows … roz01.mspx

Offline

 

#2 2008-02-21 21:14:55

Zbyszek

Moderator

5715669
Zarejestrowany: 2008-02-14
Posty: 52
Punktów :   

Re: Wątpliwości odnośnie TCP/IP

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.naszemiejsce.pun.pl www.alkoholizm-forum-wiedzma.pun.pl www.vampire-secrets.pun.pl www.witcher.pun.pl www.3d-90.pun.pl