Darmowy fragment publikacji:
IDZ DO
IDZ DO
PRZYK£ADOWY ROZDZIA£
PRZYK£ADOWY ROZDZIA£
SPIS TREŒCI
SPIS TREŒCI
KATALOG KSI¥¯EK
KATALOG KSI¥¯EK
KATALOG ONLINE
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
TWÓJ KOSZYK
DODAJ DO KOSZYKA
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ZAMÓW INFORMACJE
O NOWOŒCIACH
O NOWOŒCIACH
ZAMÓW CENNIK
ZAMÓW CENNIK
CZYTELNIA
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
TCP/IP. Szko³a
programowania
Autor: Heather Osterloh
T³umaczenie: Maciej Go³êbiewski, Grzegorz Kowalski
ISBN: 83-246-0293-3
Tytu³ orygina³u: TCP/IP Primer Plus
Format: B5, stron: 544
Szczegó³owe omówienie zagadnieñ zwi¹zanych z dzia³aniem sieci internetowej
(cid:129) Adresowanie i routing
(cid:129) Sterowanie transmisj¹
(cid:129) Protoko³y internetowe
TCP/IP to podstawa dzia³ania sieci komputerowych. Protoko³y wchodz¹ce w sk³ad
zestawu TCP/IP odpowiadaj¹ za poprawne funkcjonowanie wszystkiego, z czego
korzystamy we wspó³czesnych sieciach, szczególnie w internecie, czyli stron WWW,
poczty elektronicznej, przesy³ania plików, adresów IP i wielu innych elementów.
Znajomoœæ zasad stosowania i konfigurowania tych protoko³ów w ró¿nych systemach
operacyjnych jest jedn¹ z kluczowych umiejêtnoœci administratora sieci spotykaj¹cego
siê w swojej pracy z problemami, których rozwi¹zanie wymaga takiej wiedzy.
„TCP/IP. Szko³a programowania” to podrêcznik gruntownie opisuj¹cy zagadnienia
zwi¹zane z TCP/IP. Czytaj¹c go, poznasz podstawy modeli OSI i DoD, ze szczególnym
uwzglêdnieniem warstw ³¹cza danych i fizycznej. Znajdziesz w nim bardzo dok³adne
omówienie ró¿nych protoko³ów umieszczonych w kolejnych warstwach modelu OSI.
Ka¿de zagadnienie przedstawione jest w sposób praktyczny, bez zbêdnego wg³êbiania
siê w teoriê, a zatem wiedzê zdobyt¹ dziêki tej ksi¹¿ce z ³atwoœci¹ wykorzystasz
w swojej pracy.
(cid:129) Warstwy modelu OSI
(cid:129) Adresowanie IP
(cid:129) Protoko³y routingu
(cid:129) Protoko³y warstwy transportowej
(cid:129) Przesy³anie plików
(cid:129) Protokó³ HTTP
(cid:129) Poczta elektroniczna
Ta ksi¹¿ka powinna znaleŸæ siê w biblioteczce ka¿dego administratora sieci
SPIS TREŚCI
O autorce ........................................................................................................................................... 15
wstęp ................................................................................................................................................. 17
Rozdział 1. Omówienie modeli i standardów branżowych ..................................................... 19
Omówienie modelu referencyjnego OSI ......................................................................... 19
Omówienie modelu Departamentu Obrony .................................................................. 22
Zalety warstwowej konstrukcji OSI ................................................................................. 22
Jasne sprecyzowanie funkcji warstw ................................................................ 23
Dobrze określony schemat dla dostawców ....................................................... 23
Mniejsza złożoność pracy w sieci ..................................................................... 23
Popieranie specjalizacji ...................................................................................... 24
Opis ogólny warstw OSI .................................................................................................... 24
Warstwa aplikacji ............................................................................................... 26
Warstwa prezentacji ........................................................................................... 27
Warstwa sesji ...................................................................................................... 27
Warstwa transportowa ....................................................................................... 28
Warstwa sieciowa ............................................................................................... 29
Warstwa łącza danych ....................................................................................... 30
Warstwa fizyczna ............................................................................................... 31
Architektura i topologie łącza danych ............................................................................. 31
Ethernet i IEEE 802.3 ......................................................................................... 31
Powolny Ethernet ............................................................................................... 38
Szybki Ethernet .................................................................................................. 39
Gigabitowy Ethernet ........................................................................................... 40
Token-Ring i IEEE 802.5 .................................................................................... 40
FDDI i ANSI X3T9.5 ........................................................................................... 42
Technologie sieci rozległych (WAN) ................................................................................ 43
Protokoły hermetyzacji WAN ............................................................................ 46
Dokumenty RFC .................................................................................................................. 47
Internet kontra intranet ...................................................................................................... 48
Grupy odpowiedzialne za technologię Internetu .......................................................... 49
Podsumowanie .................................................................................................................... 49
Pytania sprawdzające ......................................................................................................... 49
6
TCP/IP. SZKOŁA PROGRAMOWANIA
Rozdział 2. Adresowanie IP ........................................................................................................... 51
Istota konwersji dwójkowo-dziesiętnej ........................................................................... 51
Adresowanie IP .................................................................................................................... 52
Klasy adresów ..................................................................................................... 53
Maski sieci i podsieci ......................................................................................... 58
Podział na podsieci. Przykłady .......................................................................... 61
Tłumaczenie adresów sieciowych (NAT) ........................................................................ 73
Statyczne ............................................................................................................ 74
Dynamiczne ........................................................................................................ 74
Podsumowanie .................................................................................................................... 75
Pytania sprawdzające ......................................................................................................... 76
Rozdział 3. Protokoły internetowe i warstwa sieciowa ............................................................ 77
Protokół IP ............................................................................................................................ 77
Nagłówek IP ........................................................................................................ 79
Protokół ICMP ..................................................................................................................... 90
Format nagłówków i komunikatów ICMP ..................................................................... 91
Kod komunikatów ICMP a ich rodzaje .............................................................. 92
Suma kontrolna .................................................................................................. 93
Typ komunikatu ICMP ....................................................................................................... 94
Ping: żądanie i odpowiedź echa — typy 8 i 0 ................................................... 94
Odbiorca nieosiągalny — typ 3 ......................................................................... 96
Tłumienie nadawcy — typ 4 ........................................................................... 100
Przekierowanie — typ 5 ................................................................................... 100
Ogłaszanie i poszukiwanie routera — typy 9 i 10 .......................................... 101
Przekroczony czas — typ 11 ............................................................................ 101
Problem z parametrami — typ 12 .................................................................... 103
Żądanie i odpowiedź znacznika czasu — typy 13 i 14 .................................. 103
Żądanie i odpowiedź informacji — typy 15 i 16 ............................................ 103
Żądanie i odpowiedź maski adresu — typy 17 i 18 ....................................... 104
Podsumowanie .................................................................................................................. 104
Pytania sprawdzające ....................................................................................................... 104
Rozdział 4. Zamiana adresów ..................................................................................................... 105
Protokół ARP ...................................................................................................................... 107
Działanie protokołu ARP ................................................................................. 107
Mechanizmy bufora ARP ................................................................................. 110
Proxy ARP ........................................................................................................................... 111
Działanie proxy ARP ........................................................................................ 111
Nagłówek ARP ................................................................................................................... 113
Typ sprzętu (Hardware Type) .......................................................................... 114
Typ protokołu (Protocol Type) ........................................................................ 114
Długość adresu sprzętowego (Hardware address Length, HLen) ................... 115
Długość adresu protokolarnego (Protocol address Length, PLen) .................. 115
Kod operacji (Operation code, Opcode) .......................................................... 115
HA nadawcy (Sender’s HA) ............................................................................. 115
SPIS TREŚCI
7
PA nadawcy (Sender’s PA) .............................................................................. 115
HA odbiorcy (Target HA) ................................................................................. 115
PA odbiorcy (Target PA) .................................................................................. 116
Protokół RARP ................................................................................................................... 116
Działanie protokołu RARP ............................................................................................... 116
Działanie ARP a działanie RARP ..................................................................... 117
Wady protokołu RARP ..................................................................................... 119
Nagłówek RARP ................................................................................................................ 119
Typ sprzętu ....................................................................................................... 119
Typ protokołu ................................................................................................... 119
Długość adresu sprzętowego (HLen) ............................................................... 120
Długość adresu protokolarnego (PLen) ........................................................... 120
Kod operacji (Opcode) ..................................................................................... 120
HA nadawcy ..................................................................................................... 120
PA nadawcy ...................................................................................................... 120
HA odbiorcy ..................................................................................................... 121
PA odbiorcy ...................................................................................................... 121
Protokół BOOTP ................................................................................................................ 121
Nagłówek BOOTP ............................................................................................ 122
Żądanie i odpowiedź BOOTP .......................................................................... 126
Protokół DHCP .................................................................................................................. 127
Przydzielanie informacji konfiguracyjnych .................................................... 128
Komunikaty DHCP ........................................................................................... 128
Wymiany komunikatów DHCP ....................................................................... 129
Nagłówek DHCP ............................................................................................... 136
Podsumowanie .................................................................................................................. 139
Pytania sprawdzające ....................................................................................................... 140
Rozdział 5. Routing IP .................................................................................................................. 141
Podstawy routingu IP ....................................................................................................... 141
Interfejs podłączony bezpośrednio .................................................................. 142
Routing statyczny ............................................................................................. 142
Routing domyślny ............................................................................................ 143
Routing dynamiczny ........................................................................................ 144
Protokoły routingu i najlepsza ścieżka .......................................................................... 145
Protokoły wektora odległości ........................................................................... 145
Protokoły stanu łącza ....................................................................................... 148
Protokoły hybrydowe ....................................................................................... 149
Podsumowanie .................................................................................................................. 151
Pytania sprawdzające ....................................................................................................... 151
Rozdział 6. Protokoły routingu ................................................................................................... 153
Wprowadzenie ................................................................................................................... 153
Protokół RIP ....................................................................................................................... 154
RIP w.1 .............................................................................................................. 155
Nagłówek RIP w.1 ............................................................................................ 158
8
TCP/IP. SZKOŁA PROGRAMOWANIA
Wady protokołu RIP w.1 .................................................................................. 160
Czasomierze RIP ............................................................................................... 163
Protokół RIP a obwody tworzone na żądanie ................................................. 164
RIP w.2 .............................................................................................................. 167
Protokół OSPF .................................................................................................................... 169
Charakterystyka OSPF ..................................................................................... 170
Bazy danych OSPF ........................................................................................... 171
Działanie OSPF ................................................................................................. 172
Nagłówek LSA .................................................................................................. 176
Stany routera OSPF .......................................................................................... 178
Typy routerów OSPF ........................................................................................ 183
Działanie OSPF w różnych architekturach łącza danych .............................. 184
Typy obszarów ................................................................................................. 187
Standardowe pola pakietu OSPF ..................................................................... 190
Nagłówki dodatkowe ........................................................................................ 192
Protokół IGRP .................................................................................................................... 199
Sieci IGRP ......................................................................................................... 200
Protokół EIGRP .................................................................................................................. 202
Działanie EIGRP ............................................................................................... 202
Typy pakietów EIGRP ...................................................................................... 205
Protokół BGP ...................................................................................................................... 205
Protokoły IGP versus protokoły EGP ............................................................... 206
Routery BGP ..................................................................................................... 207
Działanie BGP ................................................................................................... 209
Nagłówek BGP .................................................................................................. 209
Atrybuty ścieżki ............................................................................................... 214
BGP w.3 a BGP w.4 .......................................................................................... 217
Podsumowanie .................................................................................................................. 217
Pytania sprawdzające ....................................................................................................... 218
Rozdział 7. Warstwa transportowa ............................................................................................ 221
Protokoły warstwy transportowej .................................................................................. 221
Protokoły połączeniowe ................................................................................... 223
Protokoły bezpołączeniowe ............................................................................. 225
Protokoły bezpołączeniowe a protokoły połączeniowe .................................. 225
Porty i gniazda .................................................................................................. 226
Podsumowanie .................................................................................................................. 228
Pytania sprawdzające ....................................................................................................... 229
Rozdział 8. Protokół sterowania transmisją (TCP) .................................................................. 231
Wprowadzenie ................................................................................................................... 231
Nagłówek TCP ................................................................................................................... 232
Port źródłowy (Source Port) ............................................................................ 233
Port docelowy (Destination Port) ..................................................................... 233
Numer kolejny (Sequence Number) ................................................................ 234
SPIS TREŚCI
9
Numer potwierdzenia (Acknowledgement Number) ..................................... 234
Przesunięcie danych (Data Offset) .................................................................. 236
Zarezerwowane (Reserved) .............................................................................. 236
Flagi (Flags) ...................................................................................................... 236
Okno (Window) ................................................................................................ 237
Suma kontrolna (Checksum) ........................................................................... 237
Wskaźnik pilności (Urgent Pointer) ................................................................ 237
Opcje (Options) ................................................................................................ 238
Podstawowe zasady działania TCP ................................................................................ 238
Ustanawianie i zrywanie połączenia ............................................................... 239
Zwielokrotnianie .............................................................................................. 240
Przesył danych ................................................................................................. 241
Sterowanie przepływem .................................................................................. 241
Niezawodność .................................................................................................. 242
Priorytety i zabezpieczenia .............................................................................. 242
Cechy charakterystyczne połączeniowości ................................................................... 244
Ustanawianie sesji ............................................................................................ 244
Zrywanie sesji .................................................................................................. 249
Sekwencjonowanie i potwierdzenia ................................................................ 250
Komunikaty utrzymywania przy życiu ........................................................... 255
Sterowanie przepływem .................................................................................. 255
Porty TCP ............................................................................................................................ 258
Podsumowanie .................................................................................................................. 259
Pytania sprawdzające ....................................................................................................... 259
Rozdział 9. Protokół datagramów użytkownika (UDP) ......................................................... 261
Działanie UDP .................................................................................................................... 262
Aplikacje UDP .................................................................................................. 263
Porty UDP ........................................................................................................................... 263
Nagłówek UDP .................................................................................................................. 264
Port źródłowy (Source Port) ............................................................................ 265
Port docelowy (Destination Port) ..................................................................... 265
Długość (Length) .............................................................................................. 265
Suma kontrolna (Checksum) ........................................................................... 266
Podsumowanie .................................................................................................................. 267
Pytania sprawdzające ....................................................................................................... 267
Rozdział 10. Protokoły górnej warstwy ..................................................................................... 269
Wprowadzenie do protokołów górnej warstwy .......................................................... 269
Warstwa aplikacji .............................................................................................................. 270
World Wide Web (sieć WWW) i HTTP (protokół przesyłania hipertekstu) ............ 271
Poczta elektroniczna oraz SMTP
(prosty protokół przesyłania poczty elektronicznej) ................................................ 272
Telnet (sieć telekomunikacyjna) ...................................................................................... 272
Przesyłanie plików ............................................................................................................ 273
10
TCP/IP. SZKOŁA PROGRAMOWANIA
Warstwa prezentacji .......................................................................................................... 273
Warstwa sesji ...................................................................................................................... 274
NetBIOS (Network Basic Input Output System)
— interfejs programowy aplikacji ............................................................................... 275
Sieciowy system plików NFS (Network File System) oraz protokoły ONC ............ 275
Podsumowanie .................................................................................................................. 275
Pytania sprawdzające ....................................................................................................... 276
Rozdział 11. Telnet ........................................................................................................................ 277
Komunikacja zewnętrzna ................................................................................................ 277
Usługi podstawowe .......................................................................................................... 279
Wirtualny terminal sieciowy ........................................................................... 280
NVT ASCII (American Standard Code for Information Interchange
— standardowy amerykański kod wymiany informacji) ............................. 280
Polecenia protokołu Telnet .............................................................................. 281
Negocjacja opcji ................................................................................................ 283
Opcje protokołu Telnet .................................................................................... 284
Negocjacje subopcji .......................................................................................... 287
Podsumowanie .................................................................................................................. 288
Pytania sprawdzające ....................................................................................................... 288
Rozdział 12. Protokół przesyłu plików (FTP) ........................................................................... 289
Wprowadzenie do przesyłania plików .......................................................................... 289
Sesja FTP ............................................................................................................................. 291
Reprezentacja danych ....................................................................................................... 294
Typy danych FTP ............................................................................................. 295
Kontrola formatu .............................................................................................. 296
Struktury danych FTP ...................................................................................................... 297
Tryby transmisji FTP ....................................................................................... 298
Polecenia FTP ..................................................................................................................... 298
Odpowiedzi FTP ................................................................................................................ 301
Działanie FTP oraz przykłady ......................................................................................... 302
Anonimowy FTP ................................................................................................................ 303
Podsumowanie .................................................................................................................. 304
Pytania sprawdzające ....................................................................................................... 305
Rozdział 13. Prosty Protokół Przesyłania Poczty Elektronicznej (SMTP) ............................ 307
Model nazewniczy X.400 .................................................................................................. 310
Agenci Transferu Wiadomości (MTA) ............................................................................ 311
Format SMTP ..................................................................................................................... 311
Polecenia SMTP ................................................................................................................. 313
Odpowiedzi SMTP ............................................................................................................ 314
MIME ................................................................................................................................... 316
Podsumowanie .................................................................................................................. 317
Pytania sprawdzające ....................................................................................................... 317
SPIS TREŚCI
11
Rozdział 14. Przekształcanie nazw ............................................................................................. 319
Dlaczego potrzebujemy przekształcenia nazw? .......................................................... 319
Przestrzeń nazw ................................................................................................................ 320
Delegacja zarządu domenami DNS ............................................................................... 322
Nazwy domen internetowych .......................................................................... 325
Zapytania i mapowanie .................................................................................................... 326
Buforowanie (caching) ...................................................................................................... 326
Format wiadomości serwera domen .............................................................................. 327
Identyfikator (ID) .............................................................................................. 327
QR ..................................................................................................................... 327
Opcode .............................................................................................................. 328
Flagi .................................................................................................................. 328
Rcode ................................................................................................................ 329
Nagłówki pytań i odpowiedzi .......................................................................... 330
Typy nazw domen ............................................................................................ 330
Przykłady DNS .................................................................................................................. 331
NetBIOS .............................................................................................................................. 334
NetBIOS a TCP/IP .............................................................................................................. 335
Typy węzłów (node types) .............................................................................................. 337
B-node ............................................................................................................... 337
P-node ............................................................................................................... 337
M-node .............................................................................................................. 338
H-node .............................................................................................................. 338
WINS (Windows Internet Naming Server
— internetowy serwer nazewniczy Windows) ......................................................... 338
Agent proxy WINS ........................................................................................... 339
Przykłady działania NetBIOS .......................................................................................... 339
Podsumowanie .................................................................................................................. 340
Pytania sprawdzające ....................................................................................................... 341
Rozdział 15. Protokół przesyłania hipertekstu (HTTP) .......................................................... 343
HTTP oraz World Wide Web ........................................................................................... 343
Cechy HTTP ....................................................................................................................... 344
Komponenty HTTP ........................................................................................................... 345
Widoczni i niewidoczni agenci proxy ............................................................. 345
Sesje HTTP .......................................................................................................................... 346
Format wiadomości HTTP ............................................................................................... 348
Wiersz startowy ................................................................................................................. 348
Nagłówek ogólny .............................................................................................................. 349
Kontrola bufora ................................................................................................ 349
Połączenie ......................................................................................................... 349
Data ................................................................................................................... 349
Pragma .............................................................................................................. 350
Stopka (trailer) .................................................................................................. 350
12
TCP/IP. SZKOŁA PROGRAMOWANIA
Kodowanie transferu ........................................................................................ 350
Aktualizacja ...................................................................................................... 350
Via ..................................................................................................................... 350
Ostrzeżenie ....................................................................................................... 351
Nagłówki wiadomości (zapytania, odpowiedzi lub obiektu) .................................... 351
Nagłówek zapytania ......................................................................................... 351
Nagłówek odpowiedzi ...................................................................................... 352
Obiekt ............................................................................................................... 352
Pusty wiersz (CRLF) ......................................................................................... 352
Treść wiadomości ............................................................................................. 352
Wiadomości odpowiedzi, stan i kody błędów HTTP .................................................. 353
Wiadomości o błędzie HTTP ........................................................................................... 355
Podsumowanie .................................................................................................................. 355
Pytania sprawdzające ....................................................................................................... 356
Rozdział 16. Trywialny protokół przesyłania plików (TFTP) ................................................ 357
Wprowadzenie do protokołów przesyłania plików .................................................... 357
Typy pakietów TFTP ......................................................................................................... 358
Pakiety RRQ i WRQ .......................................................................................................... 360
Pakiety danych ................................................................................................. 360
Pakiet ACK ........................................................................................................ 360
Pakiety błędu .................................................................................................... 361
Działanie TFTP ................................................................................................................... 362
Rozszerzenia TFTP ............................................................................................................ 364
Pakiet OACK ...................................................................................................................... 365
Podsumowanie .................................................................................................................. 365
Pytania sprawdzające ....................................................................................................... 366
Rozdział 17. Prosty protokół zarządzania siecią (SNMP) ....................................................... 367
Wprowadzenie do zarządzania siecią ............................................................................ 367
SNMP ................................................................................................................................... 369
Menadżer SNMP ............................................................................................................... 369
Agenci SNMP ................................................................................................... 370
Widoki MIB ...................................................................................................... 370
Proxy ................................................................................................................. 370
Format wiadomości SNMP .............................................................................................. 371
Wersja ............................................................................................................... 371
Nazwa społeczności ......................................................................................... 372
Jednostki danych protokołu (PDU) .................................................................. 373
Pułapka PDU .................................................................................................... 373
Podsumowanie .................................................................................................................. 374
Pytania sprawdzające ....................................................................................................... 375
SPIS TREŚCI
13
Rozdział 18. Protokoły otwartego przetwarzania sieciowego (ONCP) ............................... 377
Wprowadzenie do protokołów otwartego przetwarzania sieciowego .................... 377
Cechy NFS .......................................................................................................................... 378
Działanie NFS ..................................................................................................................... 380
Klient NFS ........................................................................................................................... 381
Serwer NFS ......................................................................................................................... 383
Składniki i działanie automountera ................................................................ 383
Auto-polecenie ................................................................................................. 384
XDR ...................................................................................................................................... 384
RPC ...................................................................................................................................... 385
Wiadomość wywołująca ................................................................................................... 386
ID transakcji ...................................................................................................... 387
Typ .................................................................................................................... 387
Wersja ............................................................................................................... 387
Program ............................................................................................................. 387
Procedura .......................................................................................................... 389
Rodzaj uwierzytelniania .................................................................................. 390
Rozmiar uwierzytelniania w bajtach ............................................................... 390
Dane uwierzytelniania ..................................................................................... 390
Weryfikacja uwierzytelniania .......................................................................... 390
Odpowiedź ......................................................................................................................... 391
Stan ................................................................................................................... 391
Stan akceptacji ................................................................................................. 391
Przykłady działania NFS .................................................................................................. 391
Podsumowanie .................................................................................................................. 393
Pytania sprawdzające ....................................................................................................... 393
Dodatek A Dokumenty RFC wg rozdziałów ........................................................................... 395
Dodatek B Skróty i akronimy ...................................................................................................... 467
Dodatek C Numery portów TCP/UDP ...................................................................................... 477
Dodatek D Słowniczek ................................................................................................................. 479
Dodatek E Odpowiedzi do pytań sprawdzających ................................................................. 521
Skorowidz ...................................................................................................................................... 539
1
OMÓWIENIE MODELI
I STANDARDÓW
BRANŻOWYCH
Przegląd treści rozdziału:
(cid:122) Model OSI
(cid:122) Model DoD
(cid:122) Architektura siedmiowarstwowa
(cid:122) Architektura i topologie sieci
(cid:122) Technologie sieci rozległych (WAN)
(cid:122) Dokumenty RFC
Omówienie modelu referencyjnego OSI
Na początku powstawania sieci istniały tylko systemy i protokoły wewnątrzfirmo-
we. Systemy operacyjne projektowane przez duże firmy, np. SNA firmy IBM (In-
ternational Business Machines) czy DECNet firmy DEC (Digital Equipment Corpo-
ration), zawierały własne pakiety protokołów. Systemy te i odpowiadające im
protokoły przede wszystkim umożliwiały komunikację sieciową pomiędzy kom-
puterami klas mini- i mainframe. Firmy nie zapewniały jednak obsługi wzajemnych
połączeń ani nie umożliwiały komunikacji z systemami zewnętrznymi. Kiedy IBM
projektował SNA, a DEC — DECNet, nikt nie przewidywał obecnego rozpo-
wszechnienia się mieszanych środowisk komputerowych. Komunikować się ze so-
bą i wymieniać dane mogły więc tylko komputery korzystające z kompatybilnych
protokołów i systemów operacyjnych.
20
TCP/IP. SZKOŁA PROGRAMOWANIA
Jak nietrudno sobie wyobrazić, systemom różnych firm ciężko było komunikować się
ze sobą, o ile w ogóle było to możliwe. Wkrótce okazało się konieczne stworzenie
jakiegoś mechanizmu translacji protokołów, umożliwiającego firmom komunikację
i współdzielenie informacji. We wczesnych latach 1970-tych amerykański Departament
Obrony (DoD, Department of Defense) zaprojektował model komunikacji między-
komputerowej, który stał się modelem źródłowym dla pakietu protokołów TCP/IP.
Model ten został jednak w znacznym stopniu zastąpiony modelem referencyjnym OSI
(OSI Reference Model), powstałym we wczesnych latach 80-tych . Model referen-
cyjny OSI ma budowę (architekturę) siedmiowarstwową, określającą poszczególne
funkcje sieciowe występujące w każdej z warstw (por. rysunek 1.1). W dalszym cią-
gu rozdziału znajduje się szersze omówienie modelu DoD wraz z jego odwzoro-
waniem w modelu OSI. Występujące w całej książce opisy przeznaczenia i funkcji
protokołów, obecnych w pakiecie TCP/IP, zawierają odwołania do obu tych modeli.
RYSUNEK 1.1.
Model referencyjny
OSI definiuje siedem
warstw i ich funkcje
Model referencyjny OSI umożliwia bezkonfliktową komunikację dowolnych sys-
temów, oferując producentom i dostawcom schemat architektoniczny służący do
projektowania sprzętu, protokołów i środowisk operacyjnych. Dzięki niemu inży-
nierowie i projektanci mogą korzystać ze standardowych specyfikacji komunikacji
międzysystemowej. Pozwala on także na korzystanie z różnych protokołów w róż-
nych architekturach sieciowych i odnoszących się do niższych warstw typach no-
śników. Choć nie zawsze da się osiągnąć bezkonfliktową komunikację, jest ona
podstawowym celem modelu referencyjnego OSI.
Zanim powstał model OSI, istniejące protokoły nie ułatwiały wzajemnych połączeń.
W większości przypadków próba zapewnienia wstecznej kompatybilności z tymi
protokołami byłaby niewykonalna. Stąd większość protokołów i sprzętu, obecnie wdra-
żanych przez producentów i dostawców, spełnia wytyczne modelu OSI. Sprawna
i szybka wymiana danych oraz bezkonfliktowa łączność wzajemna, wymagana w dzi-
Rozdział 1. • OMÓWIENIE MODELI I STANDARDÓW BRANŻOWYCH
21
siejszych mieszanych środowiskach komputerowych, zależy od zastosowania się
przez producentów i dostawców do znormalizowanego modelu referencyjnego.
Model OSI jest schematem koncepcyjnym. Składa się na niego szereg standardów,
definiujących co powinno się zdarzyć i jak należy zapakować dane, aby po okablo-
waniu dostały się do zdalnego hosta. Warstwy logiczne tego modelu nie definiują
dokładnie czynności wykonywanych w każdej warstwie, a jedynie opisują funkcje
dostępne w każdej z nich. Sposób zapewnienia zestawu funkcji określonych w po-
szczególnych warstwach zależy od dostawcy lub producenta, tworzącego lub
wdrażającego sprzęt lub protokoły. Konkretni producenci mogą swobodnie inter-
pretować i wybierać stopień wierności wobec specyfikacji danej warstwy. W rezulta-
cie nie zawsze uzyskuje się całkowitą zgodność komunikacji między niepodobnymi
urządzeniami, ale omawiany schemat dostarcza najlepszych możliwych wzorców
do jej osiągnięcia.
Model OSI składa się z następujących siedmiu warstw (od góry do dołu):
► aplikacji,
► prezentacji,
► sesji,
► transportowej,
► sieciowej,
► łącza danych,
► fizycznej.
Mówiąc ogólnie, każda warstwa dostarcza odrębnych funkcji, które muszą zostać
użyte wewnątrz niej, aby przygotować dane do wysłania przez okablowanie do
zdalnej stacji. Dostawca może określać szczegóły wewnętrzne tych funkcji ogólnych.
Innymi słowy, producenci lub projektanci definiują działanie szczegółów, tak, że
dostawcy muszą troszczyć się tylko o swoją część układanki. Dopóki organizacja
lub dostawca przestrzega zasad, ustalonych przez ISO (International Standards Or-
ganization) dla konkretnej warstwy, produkt końcowy łatwo integruje się z innymi
produktami zgodnymi z zasadami tego modelu.
Warto pamiętać, że model OSI jest stosowany tylko podczas przygotowywania da-
nych wysyłanych do zdalnego hosta, podobnego lub niepodobnego (tzn. korzysta-
jącego z tych samych protokołów i systemu operacyjnego lub nie). Modelu referen-
cyjnego OSI nie stosuje się podczas lokalnego dostępu do danych systemu. Na
przykład dostęp do usług plików i wydruku wymaga jedynie dostępu do twardego
dysku komputera lokalnego i otwarcia lokalnej aplikacji. W takiej sytuacji dostęp do
danych nie wymaga żadnej interwencji użytkownika. Jeśli jednak to samo działanie
ma zostać wykonane na zdalnym hoście, trzeba jakoś wysłać do innego urządzenia
komunikat o potrzebie dostępu do plików lub drukarki, zmuszający je do odpowiedzi
- przesłania danych.
22
TCP/IP. SZKOŁA PROGRAMOWANIA
Aby przekierować żądanie dostępu do usług plików i wydruku, potrzebny jest re-
adresator (redirector). Przekierowuje on żądanie do zdalnego hosta, celem jego
przetworzenia. Zdalny host przygotowuje żądanie do transmisji przez sieć, dodając
informacje nagłówkowe (header) i kontrolne, pozwalające stacji docelowej zrozu-
mieć, co powinna zrobić z danymi i jak zareagować.
Omówienie modelu Departamentu Obrony
Historia modelu DoD zaczęła się na długo przed modelem OSI, który wkrótce go
zastąpił. Już w 1973 roku Agencja Zaawansowanych Projektów Badawczych Departamen-
tu Obrony (DARPA, DoD Advanced Research Projects Agency) rozpoczęła program
mający na celu stworzenie technologii, które mogłyby łączyć między sobą różne ro-
dzaje pakietów sieciowych. Nadano mu nazwę „Internetting Project”, a jego wyni-
kiem — czego można domyślać się na podstawie nazwy — jest dzisiejszy Internet.
Model zaprojektowany przez agencję DARPA, będący wyjściowym standardem
któremu podporządkowane są podstawowe protokoły internetowe, jest właśnie
znany jako model DoD. Składa się on z następujących czterech warstw (od góry do
dołu):
► aplikacji
► transportowej
► sieciowej
► dostępu do sieci
Jak widać na rysunku 1.2, model DoD z grubsza odpowiada modelowi OSI.
RYSUNEK 1.2.
Model DoD
składa się z czterech
odrębnych warstw
Zalety warstwowej konstrukcji OSI
Warstwowa konstrukcja modelu referencyjnego OSI jest korzystna dla producen-
tów sprzętu i projektantów oprogramowania oraz osób zawodowo oferujących
pomoc techniczną i rozwiązywanie problemów (np. inżynierów sieciowych). Zalety
tego modelu można podzielić następująco:
Rozdział 1. • OMÓWIENIE MODELI I STANDARDÓW BRANŻOWYCH
23
► Jasne sprecyzowanie ogólnych funkcji każdej warstwy.
► Zapewnienie dostawcom dobrze określonego schematu dla potrzeb pisania aplikacji
i projektowania sprzętu.
► Zmniejszenie złożoności pracy w sieci dzięki skategoryzowaniu funkcji modelu.
► Zwiększenie współdziałania niepodobnych sieci i protokołów.
► Uproszczenie rozwiązywania problemów dzięki łatwiejszemu umiejscawianiu
źródła problemów sieciowych.
► Przyspieszanie rozwoju branży przez ułatwienie specjalizacji.
Jasne sprecyzowanie funkcji warstw
Dzięki zawężeniu zakresu odpowiedzialności poszczególnych warstw, model OSI
zmniejsza problemy na jakie napotykają producenci i inżynierowie sieciowi. Poza
tym nie trzeba ponownie wymyślać wytycznych produktu lub protokołu dla kon-
kretnych zastosowań. Dzięki jasnemu określeniu funkcji każdej z warstw dostawcy
mogą projektować produkty przeznaczone dla jednej konkretnej warstwy, a nie dla
wszystkich siedmiu. Pozwala im to na specjalizację w wybranych dziedzinach
i zmniejsza złożoność sieci.
Dobrze określony schemat dla dostawców
Dostawcy mogą tworzyć specyfikacje przeznaczone dla jednej lub kilku warstw. Po-
dejście warstwowe upraszcza takie tworzenie, pozwalając dostawcom koncentro-
wać się i specjalizować we własnej, konkretnej warstwie modelu OSI. Dodatkowo
zwiększa współdziałanie między systemami, tworząc otwarte środowisko umożliwiają-
ce współistnienie wielu protokołów. Na przykład dostawca tworzący kartę sieciową
(NIC, Network Interface Card) może zajmować się tylko warstwą łącza danych
modelu OSI.
Modułowa konstrukcja OSI umożliwia dostawcom tworzenie wyspecjalizowanych
produktów. Ponieważ nie muszą zajmować się wszystkimi funkcjami od góry do dołu
modelu, mogą skupić się na konkretnej warstwie i funkcji. Dzięki temu tworzenie
sprzętu i oprogramowania oraz wprowadzanie go na rynek jest prostsze. Poza tym,
bez względu na różne dostosowywanie się przez dostawców do zasad koncepcyj-
nych każdej warstwy, samo istnienie znormalizowanego modelu zwiększa zarówno
bieżący poziom współdziałania między systemami, jak i prawdopodobieństwo
harmonijnego współistnienia przyszłych protokołów i produktów w tej samej sieci.
Mniejsza złożoność pracy w sieci
Podejście warstwowe pozwala inżynierom sieciowym rozwiązywać problemy zgodnie
z zasadą „dziel i rządź”. Kiedy wiadomo, jakie procesy powinny zachodzić w każ-
dej warstwie, wówczas źle działającą funkcję można zidentyfikować wiedząc, która
24
TCP/IP. SZKOŁA PROGRAMOWANIA
warstwa nie spełnia swych funkcji. Protokół lub część sprzętu powinny działać zgod-
nie ze specyfikacjami zdefiniowanymi dla danej warstwy.
Co chyba ważniejsze, dzięki temu modelowi umiejscawianie problemów nie wy-
maga zajmowania się całą strukturą, a tylko siedmioma mniejszymi jej fragmenta-
mi. Gdy konkretna warstwa nie działa poprawnie, w oparciu o model można wy-
dzielić i zaszufladkować problem, a dzięki temu dużo łatwiej go rozwiązać. Mówiąc
ogólnie, operacje sieciowe funkcjonują jako prostsze fragmenty, a nie jedna, bar-
dziej skomplikowana całość.
Popieranie specjalizacji
Stosowanie powszechnie przyjętego, „ogólnobranżowego” zestawu zasad obsługi sieci
jest inspiracją dla powstawania jeszcze szybszych i bardziej niezawodnych progra-
mów i protokołów. Dostawcy wiedząc, że mogą współzawodniczyć w ulepszaniu
specyfikacji i skuteczności w dowolnej warstwie modelu referencyjnego OSI, wciąż
przesuwają granice wydajności. Ponieważ wystarczy spełnianie specyficznych
standardów tylko jednej warstwy, mogą specjalizować się w wytwarzaniu produk-
tów spełniających specyficzne potrzeby klientów. Przykładem może być router
działający na warstwie trzeciej, przeznaczony dla małego biura lub domu.
Opis ogólny warstw OSI
Kiedy trzeba wysłać dane (np. wiadomość poczty elektronicznej lub żądanie od-
czytu pliku ze zdalnego hosta), żądanie to musi zostać przekształcone w pakiet da-
nych i przekierowane. System wysyłający musi wykonać następujące działania,
oparte na poszczególnych funkcjach modelu referencyjnego OSI:
1. Zaadresować żądania.
2. Skojarzyć z nim protokoły.
3. Zmodulować go.
4. Wysłać go poprzez okablowanie.
Gdy system przygotowuje dane do wysłania przez okablowanie, najpierw readresator
przechwytuje komunikat, nakłada na niego swoje informacje nagłówkowe i kontrol-
ne, po czym przesyła go w dół do następnej warstwy. Niższe warstwy w modelu OSI
obsługują warstwy wyższe, zapewniając im niezawodny transport, routing i adreso-
wanie. Usługi te są stosowane nawet wtedy, gdy komunikat to zwykłe „Hej” prze-
syłane od jednego użytkownika do drugiego.
Każda warstwa w modelu OSI dołącza swoje informacje nagłówkowe i kontrolne
tak, aby odpowiadająca jej warstwa na zdalnym hoście mogła je usunąć i wiedziała,
co z nimi zrobić. Każda z warstw odgrywa odrębną rolę podczas przygotowywania
Rozdział 1. • OMÓWIENIE MODELI I STANDARDÓW BRANŻOWYCH
25
danych do wysłania celem komunikacji ze zdalnym hostem partnerskim (por. ry-
sunek 1.3). Wszelkie działania właściwe dla tych ról pozostają dla użytkownika
niewidoczne.
RYSUNEK 1.3.
Każda warstwa
modelu OSI dodaje
informacje
nagłówkowe
i kontrolne,
wykorzystywane
przez odpowiadającą
jej warstwę na hoście
odbierającym
Gdy komputer przekazuje dane z jednej warstwy do następnej, każda kolejna war-
stwa dodaje do nich informacje nagłówkowe oraz kontrolne i tak dane te wędrują
w dół do warstwy fizycznej i rzeczywistego nośnika fizycznego (przewodu czy też
kabla sieciowego). Każda warstwa traktuje wszystko to, co przekazuje w dół, jako
ogólne dane warstw wyższych. Przypomina to wkładanie w każdej warstwie jednej
koperty do drugiej.
Na przykład warstwa aplikacji dodaje informacje nagłówkowe i kontrolne, prze-
znaczone dla odpowiadającej jej warstwy aplikacji na zdalnym hoście. Następnie
przekazuje je wraz z danymi w dół, do warstwy prezentacji. Warstwa ta odczytuje
informacje warstwy wyższej jako dane, nie dzieląc ich na informacje nagłówkowe
i kontrolne ani dane. Warstwa prezentacji dodaje swoje informacje nagłówkowe
i kontrolne, przeznaczone dla warstwy prezentacji na zdalnym hoście. Innymi sło-
wy każda warstwa niższa (w tym przypadku prezentacji) nie zważa na informacje
nagłówkowe i kontrolne ani dane warstwy wyższej, traktując to wszystko jako jed-
ną całość — dane. Każda warstwa wykorzystuje jedynie informacje kontrolne i na-
główkowe oraz dane odpowiadającej jej warstwy partnerskiej ze zdalnego hosta.
Każda kolejna warstwa dodaje swoje własne informacje nagłówkowe i kontrolne
oraz wysyła dane w dół, na następny poziom.
Gdy dane osiągną poziom łącza danych, system uruchamia algorytm zwany cykliczną
kontrolą nadmiarowości (CRC, Cyclical Redundancy Check) lub sekwencją kontroli ram-
ki (FCS, Frame Check Sequence). Następnie dodaje wynik CRC jako stopkę (trailer)
na końcu informacji, gwarantującą zgodność bitów wysyłanych z bitami odbieranymi
26
TCP/IP. SZKOŁA PROGRAMOWANIA
przez hosta końcowego. Termin ramka odnosi się do logicznego pogrupowania in-
formacji, jakiemu ulegają dane w warstwie łącza danych. Dalej dane te wychodzą na
okablowanie jako sygnały elektryczne lub świetlne — jedynki (1) i zera (0) — a zamie-
rzony host zdalny je odbiera (por. rysunek 1.4).
RYSUNEK 1.4.
Host odbierający
usuwa nagłówki
i stopki, po czym
wysyła dane w górę,
do następnej warstwy
Po odebraniu danych proces się odwraca. Każda warstwa usuwa swoje informacje
nagłówkowe i kontrolne oraz przekazuje dane w górę, do następnej warstwy, odsła-
niając informacje nagłówkowe i kontrolne oraz dane właśnie tej warstwy. Gdy dane
wreszcie dojdą do warstwy aplikacji, ta ściąga swoje własne informacje nagłówko-
we i kontrolne oraz przekazuje dane wzwyż. Dzieje się tak z każdą pojedynczą
ramką przechodzącą przez okablowanie. Każda warstwa musi dołączać do danych
informacje nagłówkowe i kontrolne tak, aby jej odpowiadająca jej warstwa partnerska
mogła zidentyfikować warstwę wyższą, która powinna je otrzymać jako następna.
Warstwa aplikacji
Czasem mylnie uważa się, że nazwa szczytowej warstwy modelu OSI odnosi się do
aplikacji użytkownika, takich jak Word, Excel, PowerPoint, itp. Nazwa ta nie wiąże
się jednak z samym oprogramowaniem aplikacyjnym, ale raczej z możliwością do-
stępu przez sieć do danych jednej aplikacji z innej oraz z dostępem do modelu refe-
rencyjnego OSI, mającym na celu przygotowanie danych do umieszczenia ich
w pakiecie i wysłania przez okablowanie.
Warstwa aplikacji umożliwia aplikacjom użytkownika wysyłanie danych przez sieć,
po prostu zapewniając im dostęp do warstw niższych (dostęp do modelu OSI). Jej
zadaniem jest dostarczenie interfejsu do stosu protokołów. W przeciwieństwie do
innych warstw OSI, nie oferuje ona usług żadnym innym warstwom, udostępniając
jedynie własne usługi.
Usługi warstwy aplikacji obejmują m. in.:
► aplikacyjne usługi sieciowe i międzysieciowe;
► usługi plikowe i wydruku;
Rozdział 1. • OMÓWIENIE MODELI I STANDARDÓW BRANŻOWYCH
27
► pocztę elektroniczną (e-mail);
► dostęp do sieci WWW (World Wide Web) i protokół przesyłania hipertekstu (HTTP,
HyperText Transfer Protocol);
► dostęp za pomocą protokołu Telnet ze zdalnego hosta;
► protokół przesyłania plików (FTP, File Transfer Protocol).
Te i inne usługi zostaną omówione w niniejszej książce.
Warstwa prezentacji
Warstwa prezentacji zapewnia różnym platformom wspólny format danych. Od-
powiada ona za następujące usługi:
► konwersję i tłumaczenie (translację) danych;
► kompresję i dekompresję;
► szyfrowanie i odszyfrowywanie.
Przykładem rzeczywistego protokołu tej warstwy jest XDR (eXternal Data Repre-
sentation), stosowany w opartym na schemacie klient-serwer systemie plików NFS
(Network File System), stworzonym przez firmę Sun MicroSystems. Protokół ten
zapewnia niezależność od platformy. Jest on w istocie włączony do kodu oprogra-
mowania. System plików NFS i protokół XDR będą dokładnie omawiane w roz-
dziale 18.
Warstwa sesji
Warstwa sesji ustanawia sesje i zarządza nimi. Sesja składa się z dialogu między
warstwami prezentacji w przynajmniej dwóch systemach. Warstwa ta obsługuje też
żądania dostępu do różnych usług, występujące między systemami, i zarządza od-
powiedziami na te żądania. Poza tym steruje dialogiem między dwoma aplikacjami
na różnych hostach i zarządza strumieniami danych.
Wydajność sterowania dialogiem między hostami w warstwie sesji zależy od tego,
czy komunikacja odbywa się w trybie połowicznie dwukierunkowym (half-duplex)
czy całkowici
Pobierz darmowy fragment (pdf)