Model TCPI/IP (RFC 1180) podobnie jak ISO-OSI składa się kilku warstw, z których
każda reprezentuje swoją funkcję. Oczywiście jest to tylko model, swego rodzaju układanka
sieciowa, umożliwiająca producentom urządzeń sieciowych skoncentrowanie się
na określonym fragmencie, np. routerach . Przeciętnemu użytkownikowi umożliwia to
lepsze zrozumienie działania poszczególnych warstw.
Model TCP/IP został opracowany dla Departamentu Obrony Stanów Zjednoczonych
w latach 80. Obecnie składa się z czterech warstw, z których każdą można powiązać
z modelem ISO-OSI.
Do podstawowych protokołów występujących w TCP/IP zaliczamy:
Wszystkie występujące w TCP/IP aplikacje (7.Warstwa aplikacji) działają dzięki wykorzystaniu odpowiednich
protokołów.
- FTP(ang. File Transfer Protocol) ( RFC959) - umożliwia przesyłanie oraz odbieranie plików ze zdalnych komputerów, na których została zainstalowana usługa FTP. FTP używa portów o numerach 20 oraz 21 . Typowym zastosowaniem może być sytuacja, w której Twój znajomy może na swojej stacji roboczej uruchomić usługę FTP i udostępnić w jej ramach np. film. Łącząc się z serwerem FTP znajomego poprzez klienta zainstalowanego na swoim komputerze, możesz z dowolnego miejsca w sieci pobrać udostępniony przez niego plik.
- HTTP(ang. Hyper Text Transfer Protocol) (RFC2616) - działa na porcie 80 i dzięki współpracy z siecią WWW (ang. World Wide Web) umożliwia przeglądanie stron internetowych . Odpowiednie strony internetowe są umieszczane na serwerach WWW i udostępniane. Klient wyposażony w przeglądarkę internetową może połączyć się z takim serwerem i przeglądać zawartość strony m.in. poprzez wykorzystanie protokołu HTTP.
- DHCP(ang. Dynamie Host Configuration Protoeol) (RFC2131) - służy do automatycznego przydzielania adresów IP komputerom pracującym w sieci. Działa na zasadzie klient-serwer, gdzie serwer działający na porcie 67 przydziela automatycznie adres IP klientowi działającemu na porcie 68.
- SMTP (ang. Simple Mail Transport Protocol) (RFC2821) - służy do przesyłania poczty elektronicznej wyłącznie w postaci tekstowej. Najczęściej działa razem z protokołem POP3. Do komunikacji wykorzystuje port 25.
- POP3 (ang. Post Office Protocol) (RFC 1939) - używa portu 110 i jest odpowiedzialny za odbieranie poczty elektronicznej.
- SSL (ang. Seeure Soekets Layer) - umożliwia korzystanie z szyfrowanej komunikacji i pomiędzy klientem a serwerem. Wykorzystuje port 443.
- DNS (ang. Domain Name System) (RFC 1034) - umożliwia odwzorowywanie nazwy na adres IP. Odwzorowanie realizowane jest za pomocą serwerów DNS. W przypadku, gdy klient chce się połączyć z daną stroną WWW, występuje do serwera DNS o przekształcenie nazwy hosta na adres IP. Serwer dostarcza adres IP, na który mogą już być wysłane pakiety danych. Serwery DNS są dużym ułatwieniem dla przeciętnego użytkownika, ponieważ nie musi on znać adresów IP poszczególnych witryn internetowych, lecz zapamiętuje ich nazwy, które są znacznie prostsze do zapamiętania. Na przykład : gdyby nie protokół DNS, to aby połączyć się ze stroną wydawnictwa Helion, trzeba by było wpisać adres IP:213.186.88.113. Protokół DNS sprawia, że użytkownik w przeglądarce wpisuje po prostu helion.pl.
Jak zauważyłeś, w nazwie występuje również kropka oraz znaki, np. com. Znaki po
kropce to tzw. domena najwyższego poziomu. Służy m.in. do identyfikowania, z jakim
rodzajem strony mamy do czynienia lub w jakim kraju jest umiejscowiona. Na przykład
w naszym kraju domeną najwyższego poziomu jest pl. W poniższej tabeli znajdują się
przykładowe domeny najwyższego poziomu.
Przykłady domen najwyższego poziomu.
DOMENA | OPIS DOMENY |
---|---|
.pl | Polska |
.gov | organizacja rządowa np. w Polsce (gov.pl) |
.no | Norwegia |
.ar | Argetyna |
.au | Australia |
Warstwa transportowa dostarcza dane z komputera źródłowego do docelowego, wykorzystując dwa protokoły: TCP (ang. Transmission control Protocol) (RFC793) oraz UDP
(ang. User Datagram Protocol) (RFC768). Określenie "dostarcza dane do komputera"
jest czysto teoretyczne. W praktyce dane docierają nie do komputera, lecz do procesu
aplikacji, który jest na nim uruchomiony.
Wyróżniamy dwie podstawowe różnice między protokołami TCP oraz UDP. Pierwsza
związana jest z wiarygodnością dostarczanych danych, druga z typem usługi połączeniowej.
Protokół TCP
Protokół TCP jest protokołem wiarygodnym, zapewniającym dostarczenie danych do
celu. Oczywiście nie oznacza to, że dane dotrą do komputera docelowego zawsze, bez
względu na wszystko. Wiarygodność tego protokołu polega na tym, że dane, które dotarły
do celu, są natychmiast potwierdzane. Komputer źródłowy nie prześle następnych
danych bez otrzymania potwierdzenia wcześniejszych. W przypadku gdy dane dotrą
uszkodzone lub niepełne, TCP może rozpocząć proces retransmisji. TCP jest protokołem
połączeniowym; oznacza to otwieranie połączenia za każdym razem, kiedy przesyłane
są dane. Połączenie utrzymywane jest do momentu zakończenia transmisji.
Ponadto protokół TCP umożliwia odbiorcy sterowanie szybkością wysyłania danych przez
nadawcę. Funkcję tę nazywa się kontrolą przepływu (ang. flow control). Jest przydatna
w sytuacji, gdy nadawca chce wysłać bardzo dużą ilość danych do odbiorcy, ale od biorca nie nadąża ich przetwarzać. Wówczas odbiorca może żądać od nadawcy spowolnienia
transmisji danych, aby nie doszło do przepełnienia pamięci.
Kontrola przepływy może być realizowana na dwa podstawowe sposoby jako:
- Kontrola przepływu za pomocą dynamicznie dostosowanych okien.
- Kontrola przepływu za pomocą wstrzymywania potwierdzeń.
Druga forma polega na wstrzymaniu potwierdzenia przez hosta odbierającego aż do
czasu, kiedy wszystkie dane zostaną przetworzone. Jeśli host wysyłający nie otrzyma
potwierdzenia, me może wysłać dalszych danych. Chroni tym samym hosta odbierającego
przed zalaniem danymi i zapełnieniem jego pamięci.
Protokół UDP
Protokół UDP jest protokołem niewiarygodnym. Oznacza to, że wysłane dane nie są
potwierdzane. Dlatego podczas korzystania z protokołu UDP nie ma pewności, że dane
zostały dostarczone. UDP nie posiada mechanizmu odpowiedzialnego za sekwencjonowanie
danych, dlatego dane mogą docierać do celu w różnej kolejności.
Można by pomyśleć, że protokół UDP jest gorszy od TCP, jednak nic bardziej mylnego.
To, co wydaje się wadą w UDP, tak naprawdę czyni z niego potężne narządzie. Dzieje się
tak dlatego, że UDP nie wymaga ciągłych czynności otwierania i zamykania połączenia.
Z tego powodu UDP w niektórych zastosowaniach (np. streaming video) jest protokołem
znacznie szybszym i wydajniejszym niż TCP.
Działanie portów w protokołach TCP i UDP
Działanie tych dwóch protokołów opiera się na wykorzystaniu numerów portów do ustalania,
do jakiej aplikacji przesłać otrzymane pakiety. Każda aplikacja używa odrębnego
numeru portu lokalnego. Porty zostały podzielone na odpowiednie typy wykorzystywane
do różnych celów.
Tak więc wyróżniamy:
- Porty dobrze znane, zawierające się w zakresie od 0 do 1023.
- Porty dynamiczne, zawierające się w zakresie od 1024 do 65535.
Wśród portów dynamicznych możemy wyróżnić jeszcze grupę tzw. portów zarejestrowanych,
które zawierają się w zakresie od 1024 do 49151.
Porty dobrze znane (ang. well-known port) służą do komunikacji np. pomiędzy klientem
a serwerem. Dzieje się tak, ponieważ klient wykorzystujący zasoby serwera musi wcześniej
znać port, którego ma użyć w celu przesłania danych poprzez określoną usługę. Na
serwerze może być uruchomionych kilkadziesiąt usług TCP, dlatego klient musi znać
port, aby dane zostały poprawnie przesłane oraz zinterpretowane. Porty dobrze znane
z reguły wykorzystywane są przez takie usługi jak WWW, FTP lub poczta elektroniczna.
Tabela z listą najczęściej używanych portów dobrze
znanych.
PORT | PROTOKÓŁ TRANSPORTU | PROTOKÓŁ APLIKACJI |
---|---|---|
20 | TCP | FTP |
21 | TCP | FTP |
23 | TCP | TELNET |
25 | TCP | SMPT |
53 | TCP/UDP | DNS |
69 | UDP | TFTP |
80 | TCP | HTTP |
110 | TCP | POP3 |
161 | UDP | SNMP |
Porty dynamiczne ( ang. dynamie port) to porty, które są dynamicznie przydzielane
przez stację roboczą. Jeżeli dany port nie jest używany, zostaje przydzielony do obsługi
danego procesu aplikacji.
Porty zarejestrowane (ang. registered port) wykorzystywane są głównie przez użytkownika
końcowego. Dlatego znane są również jako nieuprzywilejowane i wykorzystywane
w komunikatorach lub aplikacjach głosowych.
Aby przejrzeć numery aktualnie wykorzystywanych portów w systemach Microsoft :
- Kliknij menu Start i wybierz Uruchom.
- W oknie Uruchamianie wpisz cmd / k netstat - an.
- Pojawi się lista aktualnie wykorzystywanych portów.
Warstwa internetowa służy do identyfikowania urządzeń sieciowych na podstawie ich
adresów fizycznych. W przypadku gdy dane muszą zostać przesłane do innych sieci,
identyfikowane są na podstawie adresów IP.
W warstwie internetowej mamy do czynienia z routerami, które mają za zadanie znajdowanie
najlepszych tras dla pakietów danych.
W warstwie internetowej występują takie protokoły jak : IP, ARP, TCMP oraz RARP.
Przy czym ten ostatni w dzisiejszych sieciach komputerowych nie jest już używany.
Protokół IP (ang. Internet Protocol) (RFC791) - to protokół komunikacyj ny umożliwiający
wysyłanie danych w postaci tzw. pakietów. Można powiedzieć, że protokół
ten jest ściśle związany z routingiem. Na tym etapie proces routingu nie będzie szczegółowo
omówiony.
Warstwa fizyczna modelu TCP/IP posiada te same funkcje, co warstwa fizyczna modelu
ISO-OSI. Odpowiedzialna jest więc za przesyłanie danych przez medium sieciowe.
Źródła i Literatura:
Adam Józefiok - "Budowa sieci komputerowych na przełącznikach i routerach Cisco", Wydawnictwo Helion 2009, ISBN: 978-83-246-4558-9.
Polish language edition published by HELION S.A. Copyright© 2009.
Copyright© 2009 Wydawnictwo HELION S.A
WWW: http:pl/helion.pl (księgarnia internetowa, katalog książek)
Copyright© 2009 Wydawnictwo HELION S.A
WWW: http:pl/helion.pl (księgarnia internetowa, katalog książek)