James F. Kurose, ebooki
[ Pobierz całość w formacie PDF ]
6
Spis treści
Problemy do rozwiązania i pytania
102
Problemy
105
Dodatkowe pytania
114
Ćwiczenie realizowane za pomocą narzędzia Wireshark
115
WYWIAD Z…: Leonard Kleinrock
117
Rozdział 2.
Warstwa aplikacji
121
2.1.
Podstawy dotyczące aplikacji sieciowych
122
2.1.1. Architektury aplikacji sieciowych
123
2.1.2. Komunikacja procesów
126
2.1.3. Usługi transportowe dostępne aplikacjom
129
2.1.4. Usługi transportowe dostępne w internecie
131
2.1.5. Protokoły warstwy aplikacji
136
2.1.6. Aplikacje sieciowe uwzględnione w książce
137
2.2.
Technologia WWW i protokół HTTP
138
2.2.1. Omówienie protokołu HTTP
138
2.2.2. Połączenia nietrwałe i trwałe
141
2.2.3. Format komunikatu HTTP
144
2.2.4. Interakcja między użytkownikiem i serwerem
— pliki cookies
149
2.2.5. Buforowanie stron internetowych
151
2.2.6. Warunkowe żądanie GET
155
2.3.
Transfer plików przy użyciu protokołu FTP
158
2.3.1. Polecenia i odpowiedzi protokołu FTP
159
2.4.
Internetowa poczta elektroniczna
160
2.4.1. Protokół SMTP
163
2.4.2. Porównanie protokołów SMTP i HTTP
167
2.4.3. Formaty wiadomości pocztowych
167
2.4.4. Protokoły dostępu do skrzynki pocztowej
168
2.5.
System DNS, czyli internetowa usługa katalogowa
173
2.5.1. Usługi oferowane przez system DNS
174
2.5.2. Przegląd zasad działania systemu DNS
176
2.5.3. Rekordy i komunikaty systemu DNS
183
2.6.
Aplikacje z obszaru P2P
189
2.6.1. Dystrybucja plików w sieciach P2P
190
2.6.2. Sieci DHT
196
2.6.3. Studium przypadku — Skype,
czyli telefonia internetowa oparta na sieci P2P
201
2.7.
Programowanie gniazd protokołu TCP
203
2.7.1. Programowanie gniazd protokołu TCP
205
2.7.2. Przykład aplikacji klient-serwer
napisanej w języku Java
207
7
Spis treści
2.8.
Programowanie gniazd protokołu UDP
214
2.9.
Podsumowanie
221
Problemy do rozwiązania i pytania
222
Problemy
225
Dodatkowe pytania
234
Zadania związane z programowaniem gniazd
235
Zadanie 1: Wielowątkowy serwer WWW
235
Zadanie 2: Klient pocztowy
235
Zadanie 3: Aplikacja Ping używająca protokołu UDP
236
Zadanie 4: Serwer pośredniczący WWW
236
Ćwiczenia wykorzystujące narzędzie Wireshark
237
Ćwiczenie 1: Protokół HTTP
237
Ćwiczenie 2: Protokół DNS
237
WYWIAD Z…: Bram Cohen
238
Rozdział 3.
Warstwa transportowa
241
3.1.
Podstawowe informacje na temat usług
warstwy transportowej
242
3.1.1. Związek występujący między warstwami
transportową i sieci
244
3.1.2. Przegląd zastosowania warstwy transportowej
w internecie
246
3.2.
Multipleksowanie i demultipleksowanie
248
3.3.
Bezpołączeniowy protokół transportowy UDP
255
3.3.1. Struktura segmentu UDP
260
3.3.2. Suma kontrolna segmentu UDP
260
3.4.
Podstawy dotyczące niezawodnego transferu danych
262
3.4.1. Tworzenie protokołu niezawodnego transferu danych
264
3.4.2. Potokowane protokoły niezawodnego transferu danych
274
3.4.3. Go-Back-N
278
3.4.4. Powtarzanie selektywne
283
3.5.
Protokół transportowy TCP zorientowany na połączenie
290
3.5.1. Połączenie TCP
290
3.5.2. Struktura segmentu TCP
294
3.5.3. Wyznaczanie czasu RTT i czas oczekiwania
299
3.5.4. Niezawodny transfer danych
303
3.5.5. Kontrola przepływu
311
3.5.6. Zarządzanie połączeniem TCP
314
3.6.
Podstawy dotyczące kontroli przeciążenia
321
3.6.1. Przyczyny przeciążenia i jego konsekwencje
322
3.6.2. Metody kontroli przeciążenia
329
8
Spis treści
3.6.3. Przykład kontroli przeciążenia wspieranej
przez warstwę sieci — kontrola przeciążenia
protokołu ABR architektury ATM
330
3.7.
Kontrola przeciążenia w przypadku protokołu TCP
333
3.7.1. Sprawiedliwy przydział przepustowości
343
3.8.
Podsumowanie
347
Problemy do rozwiązania i pytania
350
Problemy
353
Pytania dodatkowe
366
Zadania związane z programowaniem
367
Zastosowanie niezawodnego protokołu transportowego
367
Ćwiczenie wykorzystujące narzędzie Wireshark
— poznawanie protokołu TCP
367
Ćwiczenie wykorzystujące narzędzie Wireshark
— poznawanie protokołu UDP
368
WYWIAD Z…: Sally Floyd
369
Rozdział 4.
Warstwa sieci
373
4.1.
Wprowadzenie
374
4.1.1. Przekazywanie i routing
376
4.1.2. Modele usług sieciowych
379
4.2.
Sieci datagramowe i wirtualnych obwodów
381
4.2.1. Sieci wirtualnych obwodów
382
4.2.2. Sieci datagramowe
386
4.2.3. Początki sieci datagramowych i wirtualnych obwodów
388
4.3.
Co znajduje się wewnątrz routera?
389
4.3.1. Porty wejściowe
391
4.3.2. Struktura przełączająca
394
4.3.3. Porty wyjściowe
396
4.3.4. Gdzie ma miejsce kolejkowanie?
397
4.4.
Protokół IP — przekazywanie i adresowanie w internecie
400
4.4.1. Format datagramu
402
4.4.2. Funkcja adresowania protokołu IPv4
409
4.4.3. Protokół ICMP
424
4.4.4. Protokół IPv6
428
4.4.5. Krótki przegląd zagadnień związanych
z bezpieczeństwem w protokole IP
435
4.5.
Algorytmy routingu
437
4.5.1. Algorytm routingu stanu łącza
440
4.5.2. Algorytm wektora odległości
445
4.5.3. Routing hierarchiczny
455
9
Spis treści
4.6.
Routing w internecie
460
4.6.1. Wewnętrzny protokół routingu
systemu autonomicznego — protokół RIP
461
4.6.2. Wewnętrzny protokół routingu
systemu autonomicznego — protokół OSPF
465
4.6.3. Zewnętrzny protokół routingu
systemu autonomicznego — protokół BGP
468
4.7.
Routing rozgłaszania i rozsyłania grupowego
477
4.7.1. Algorytmy routingu rozgłaszania
477
4.7.2. Rozsyłanie grupowe
484
4.8.
Podsumowanie
492
Problemy do rozwiązania i pytania
493
Problemy
496
Dodatkowe pytania
509
Zadania programistyczne
509
WYWIAD Z…: Vinton G. Cerf
511
Rozdział 5.
Warstwa łącza danych i sieci lokalne
513
5.1.
Warstwa łącza danych — wprowadzenie i usługi
515
5.1.1. Usługi świadczone przez warstwę łącza danych
515
5.1.2. Gdzie zaimplementowana jest warstwa łącza danych?
518
5.2.
Metody wykrywania i usuwania błędów
520
5.2.1. Kontrola parzystości
522
5.2.2. Suma kontrolna
524
5.2.3. Kontrola nadmiarowości cyklicznej
525
5.3.
Protokoły wielodostępu
528
5.3.1. Protokoły dzielące kanał
530
5.3.2. Protokoły dostępu losowego
532
5.3.3. Protokoły cykliczne
540
5.3.4. Sieci lokalne
542
5.4.
Adresowanie na poziomie warstwy łącza danych
543
5.4.1. Adresy MAC
543
5.4.2. Protokół ARP
545
5.5.
Ethernet
550
5.5.1. Struktura ramki technologii Ethernet
552
5.5.2. CSMA/CD — ethernetowy protokół wielodostępu
556
5.5.3. Odmiany technologii Ethernet
560
5.6.
Przełączniki warstwy łącza danych
562
5.6.1. Funkcje przekazywania i filtrowania
563
5.6.2. Automatyczne uczenie
565
5.6.3. Cechy przełączania w warstwie łącza danych
566
5.6.4. Porównanie przełączników i routerów
567
5.6.5. Wirtualne sieci lokalne (VLAN)
570
[ Pobierz całość w formacie PDF ]