Rozdział 01.pdf

(1163 KB) Pobierz
12272027 UNPDF
Rozdział 1
Architektura TCP/IP w Windows
Protokół TCP/IP zaimplementowano w niemal wszystkich liczących się
systemach operacyjnych, począwszy od mikrokomputerów a skończyw-
szy na komputerach typu mainframe i superkomputerach. W niniejszym
rozdziale opiszemy implementację protokołu TCP/IP w systemie Win-
dows - zarówno w Windows 9x (Windows 95 i 98) jak i Windows NT
firmy Microsoft. Przedstawimy różnice w implementacji pomiędzy wer-
sjami dla Windows 95 i Windows 98.
Warstwy protokołów w Windows NT i Windows 9x
Chociaż Windows NT i Windows 9x mają podobne interfejsy użytkowni-
ka, ich wewnętrzna architektura znacznie się różni. Różna jest też
w związku z tym implementacja TCP/IP.
Pojęcie warstw protokołów w systemach komputerowych tradycyjnie
rozważa się na bazie modelu OSI ( Open System Interconnection ). Model
ten, wprowadzony w roku 1978 przez ISO ( International Organization of
Standards ), ułatwia tworzenie i opisywanie środków łączności pomiędzy
różnymi systemami komunikacyjnymi. W niniejszym rozdziale używamy
modelu OSI do opisania różnych komponentów protokołu TCP/IP.
Rozumienie warstw protokołów w kategoriach warstw modelu OSI
Rysunek 1.1 pokazuje model OSI i miejsce, które w nim zajmuje protokół
TCP/IP. Model OSI jest modelem abstrakcyjnym, służącym głównie jako
pomoc w opisie różnych funkcji komunikacyjnych. Zrozumienie zależno-
ści pomiędzy funkcjami komunikacyjnymi modelu i rzeczywistą imple-
mentacją protokołu umożliwia natychmiastowy wgląd w jego działanie.
Na rysunku 1.1 protokół IP ( Internet Protocol ,) odpowiada trzeciej war-
stwie modelu OSI. Jest to warstwa sieci, która odpowiada za funkcję
nazewnictwa adresów sieciowych oraz funkcję trasowania ( routingu )
Nazewnictwo adresów sieciowych umożliwia stosowanie jednolitego
 
2
Rozdział 1
formatu adresowania dla węzłów w dwóch fizycznie różnych sieciach.
Jednolity format adresowania umożliwia traktowanie systemu wzajemnie
połączonych elementów jako jednego systemu logicznego bądź sieci
przez wyższe warstwy protokołu. Funkcja trasowania umożliwia dostar-
czenie porcji danych - nazywanych pakietami - do miejsca przeznaczenia.
Jest ona zazwyczaj realizowana przez systemy pośredniczące nazywane
routerami (patrz rysunek 1.2) które operują w warstwie sieci modelu OSI.
Routery badają adres przeznaczenia pakietu i przekazują pakiet do na-
stępnego pośrednika, zbliżając go do miejsca przeznaczenia.
Rysunek 1.1
Model OSI a TCP/IP
Rysunek 1.2
Systemy pośredniczące (routery)
Ponieważ protokół IP odpowiada trzeciej warstwie modelu OSI - na pod-
stawie tego, co zostało do tej pory powiedziane, możemy określić nastę-
pujące właściwości IP w sieciach Windows:
Protokół IP w komputerze pracującym pod kontrolą Windows za-
pewnia jednolite nazewnictwo adresów. Jednolity adres jest 32-bitową
liczbą nazywaną adresem IP . Adres IP powinien zasadniczo być inny
dla każdego węzła IP - co oznacza, że każdy komputer powinien po-
siadać unikalny adres IP. Jeśli komputery mają być połączone
z Internetem, adresy te muszą zostać przydzielone przez INTERNIC
12272027.002.png 12272027.003.png 12272027.004.png 12272027.001.png
 
Architektura TCP/IP w Windows
3
( Internet Network Information Center ) lub przez dostarczyciela usług in-
ternetowych.
Protokół IP w komputerze pracującym pod kontrolą Windows za-
pewnia funkcje trasowania. Umożliwia to komputerowi przekazywa-
nie pakietów IP, nazywanych datagramami IP , do kolejnego miejsca
przeznaczenia. Komputer z Windows NT może wykonywać funkcje
trasowania. W dużych sieciach funkcje trasowania wykorzystywane
są do przyspieszenia przekazywania datagramów IP oraz uniknięcia
opóźnień w routerze spowodowanych dużym ruchem w sieci. Do wy-
znaczenia optymalnej ścieżki do konkretnego miejsca przeznaczenia
używa się specjalnych protokołów trasujących - takich jak Protokół In-
formacji Trasującej ( Routing Information Protocol , RIP) iprotokół
„Otwórz Najpierw Najkrótszą Ścieżkę” - OSPF ( Open Shortest Path
First ), które współpracują z protokołem IP. Protokoły te opiszemy
w rozdziale 7.
Na rysunku 1.1 widać, że protokół IP pracuje ponad warstwą łącza da-
nych, która z kolei spoczywa na warstwie fizycznej modelu OSI. Każda
warstwa OSI wykorzystuje usługi zapewniane przez niższą warstwę
i dodaje do nich swoje. Warstwa łącza danych w modelu OSI odpowiada
urządzeniom sieciowym, takim jak karty sieciowe Ethernet albo Token
Ring. Zatem trzecia warstwa modelu OSI, odpowiadająca protokołowi IP,
używa urządzeń sieciowych - jak karty sieciowe Ethernet lub Token Ring
- do wysyłania i odbierania datagramów IP. Protokół IP może pracować
ponad szerokim spektrum urządzeń sieciowych, jak na przykład Ether-
net, Token Ring, Frame Relay, X.25, ATM, ISDN itd. Jest to ważne spo-
strzeżenie, ponieważ protokół IP zapewnia niezależność od urządzeń
użytych do budowy sieci. Protokoły umiejscowione ponad protokołem IP
w modelu OSI - jak np. Protokół Kontroli Transmisji ( Transmission Control
Protocol , TCP) - nie muszą zajmować się szczegółami iróżnicami
w urządzeniach sieciowych tworzących fizyczną sieć.
Wszystkie implementacje IP muszą również obsługiwać pomocniczy
protokół, nazywany Internetowym Protokołem Wiadomości Kontrolnych
- ICMP ( Internet Control Message Protocol ), który używany jest w celach
diagnostycznych oraz do raportowania problemów z przesyłaniem data-
gramów IP w różnych punktach ich drogi przez sieć. Na przykład ko-
menda PING, której używa się powszechnie w sieciach TCP/IP do
sprawdzenia, czy dany węzeł TCP/IP jest osiągalny, stosuje w tym celu
pakiety ICMP - żądanie echa/odpowiedź na echo.
Rysunek 1.1 pokazuje, że TCP odpowiada czwartej warstwie modelu
OSI. Jest to warstwa transportu, której funkcją jest zapewnienie integral-
ności danych przesyłanych pomiędzy końcowymi punktami połączenia.
4
Rozdział 1
Warstwa transportu w modelu OSI zapewnia wzbogacenie usług ofero-
wanych przez warstwę sieci, dołączając niezawodność przesyłania da-
nych oraz multi- i demultipleksowanie procesów. Aby zapewnić nieza-
wodność przesyłania danych, wykorzystuje mechanizmy korekcji błędów
oferowane przez niższe warstwy i dodaje swoje. Jeśli niższe warstwy są
zawodne, wtedy większość pracy „spada” na warstwę transportu, która
jest ostatnią barierą eliminującą błędy. Warstwa transportu może być
również odpowiedzialna za ustanowienie kilku połączeń logicznych na
pojedynczym połączeniu sieciowym; proces ten nazywamy multiplekso-
waniem.
Multipleksowanie (lub dzielenie czasu) zachodzi wtedy, gdy pewna licz-
ba połączeń transportowych dzieli to samo połączenie sieciowe. War-
stwa transportu jest środkową warstwą modelu OSI. Trzy niższe war-
stwy tworzą podsieć (część modelu sieci), a trzy wyższe warstwy są za-
zwyczaj implementowane przez oprogramowanie sieciowe pracujące na
węźle. Warstwę transportu implementuje się zazwyczaj również na węź-
le; jej zadaniem jest przekształcenie zawodnej podsieci w niezawodną
sieć.
Ze względu na multipleksowanie, kilka programów (w terminologii OSI
nazywanych jednostkami protokołowymi) dzieli ten sam adres
w warstwie sieci. W celu jednoznacznej identyfikacji tych programów
w warstwie transportu konieczny jest bardziej ogólny sposób adresowa-
nia. Rozwiązaniem są adresy transportowe, będące kombinacją adresu
warstwy sieci i numeru SAP ( Service Access Point ) w warstwie transportu.
Czasem nazywa się je gniazdami lub numerami portu. W przypadku
protokołu TCP adresy SAP nazywane są numerami portu i są 16-
bitowymi liczbami. Na przykład protokół FTP używa portu TCP o nu-
merze 21, protokół Telnet portu TCP o numerze 23, a protokół HTTP -
portu TCP o numerze 80.
Znając zadania warstwy transportu oraz wiedząc, że protokół TCP od-
powiada właśnie tej warstwie modelu OSI, na podstawie tego, co zostało
do tej pory powiedziane, możemy odnotować następujące właściwości
TCP w sieciach Windows:
Protokół TCP w komputerze pracującym pod kontrolą Windows za-
pewnia niezawodne przesyłanie danych. TCP posiada wbudowany
mechanizm kontroli błędów, który kompensuje błędy powstające
w niższych warstwach. Niezawodność przesyłania danych osiąga się
poprzez tworzenie odrębnych połączeń logicznych i zapewnienie, że
wysyłane dane zostaną dostarczone do wyższych warstw we właści-
wej kolejności.
Architektura TCP/IP w Windows
5
Protokół TCP w komputerze pracującym pod kontrolą Windows za-
pewnia programowe adresowanie każdego z końców połączenia sie-
ciowego. Te programowe (czy też transportowe) adresy nazywane są
numerami portu .
Protokół TCP w komputerze pracującym pod kontrolą Windows
umożliwia multipleksowanie kilku połączeń logicznych na tym sa-
mym interfejsie sieciowym.
Wszystkie implementacje TCP/IP muszą również obsługiwać prostszy
protokół transportowy nazywany Protokołem Datagramów Użytkownika
- UDP ( User Datagram Protocol ), używany w aplikacjach, w których od-
porność i niezawodność TCP/IP nie są potrzebne i mogą stanowić nad-
mierne obciążenie. Wszystkie implementacje TCP/IP w Windows obsłu-
gują zatem również UDP. UDP jest przydatne w aplikacjach, które pracu-
ją na zasadzie „żądanie-odpowiedź”. Są to programy, które wysyłają
żądanie i oczekują odpowiedzi, przy czym nie ma potrzeby podtrzymy-
wania otwartego połączenia logicznego. Na przykład protokoły DNS
i SNMP używają UDP, ponieważ pracują na zasadzie „żądanie-
odpowiedź”. UDP jest również przydatne w przypadkach, kiedy trans-
misja w sieci jest często kierowana do wszystkich (tzw. broadcast ) lub
wielu (tzw. multicast ) węzłów sieci. Jest to częsty przypadek w sieciach
Windows, gdyż wiele funkcji przeglądania i ogłaszania usług wykorzy-
stuje tryb broadcast lub multicast.
Aplikacje TCP/IP, takie jak System nazw domen DNS ( Domain Name
System ), Telnet, Protokół Przesyłania Plików FTP ( File Transfer Protocol ),
Sieciowy System Plików NFS ( Network File System ) współpracują bezpo-
średnio z protokołami TCP i UDP. Te aplikacje TCP/IP odpowiadają
warstwie aplikacji w modelu OSI (warstwa siódma) - co interesujące,
bardzo niewiele programów używa protokołów odpowiadających war-
stwom sesji i prezentacji w modelu OSI. Wyjątkiem jest NFS, który używa
protokołów Zdalnego Wywołania Procedury RPC ( Remote Procedure Call )
oraz Zewnętrznej Reprezentacji Danych XDR ( External Data
Representation ), które należą odpowiednio do warstwy sesji i prezentacji
modelu OSI.
Niewiele aplikacji TCP/IP używa protokołów odpowiadających war-
stwom sesji i prezentacji, ponieważ warstwy te oferują usługi niepotrzeb-
ne większości spośród nich. Warstwa sesji w modelu OSI udostępnia
rozszerzone usługi kontroli sesji - jak sterowanie dialogiem, sterowanie
żetonami, zarządzanie aktywnością. Warstwa prezentacji w modelu OSI
zarządza sposobem reprezentacji danych, biorąc pod uwagę różnice
w sposobie zapisu danych i znaków, oraz to, czy liczby wielobajtowe
zapisywane są w pamięci począwszy od najmniej, czy od najbardziej
znaczącego bajtu. Różnice w formacie zapisu liczb mogą prowadzić do
Zgłoś jeśli naruszono regulamin