Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00803 010456 11035575 na godz. na dobę w sumie
Sieci komputerowe - książka
Sieci komputerowe - książka
Autor: Liczba stron: 808
Wydawca: Helion Język publikacji: polski
ISBN: 83-7361-557-1 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> sieci komputerowe >> inne
Porównaj ceny (książka, ebook, audiobook).

Sieci komputerowe rozwijają się niezwykle dynamicznie. Regularnie pojawiają się nowe technologie, nowe sposoby przekazywania danych, nowe protokoły i narzędzia. Chyba każdy użytkownik komputera spotkał się przynajmniej raz z siecią komputerową. Internet jest dziś tak powszechny jak telewizja czy radio. Coraz popularniejsze stają się też nowe technologie -- sieci bezprzewodowe, Bluetooth i sieci komórkowe. Znajomość zagadnień leżących u podstaw projektowania i wykorzystywania sieci komputerowych jest przydatna każdemu, kto chce być na bieżąco z nowoczesnymi technologiami.

'Sieci komputerowe' to kompendium wiedzy poświęcone współczesnym technologiom sieciowym. Opisuje zarówno mechanizmy już wykorzystywane, jak i te, które są obecnie w fazie badań i testów. Przedstawia sieci kablowe i bezprzewodowe oraz wykorzystujące je aplikacje -- WWW, radio internetowe, usługi sieciowe i wiele innych.

O autorze:
Andrew Stuart Tanenbaum jest autorem bardzo znanych książek informatycznych, które stanowią lekturę obowiązkową w dziedzinie komputerów. [więcej...\

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI Sieci komputerowe 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 Autor: Andrew S. Tanenbaum T³umaczenie: Andrzej Gra¿yñski, Adam Jarczyk ISBN: 83-7361-557-1 Tytu³ orygina³u: Computer Networks, 4th Edition Format: B5, stron: 804 Sieci komputerowe rozwijaj¹ siê niezwykle dynamicznie. Regularnie pojawiaj¹ siê nowe technologie, nowe sposoby przekazywania danych, nowe protoko³y i narzêdzia. Chyba ka¿dy u¿ytkownik komputera spotka³ siê przynajmniej raz z sieci¹ komputerow¹. Internet jest dziġ tak powszechny jak telewizja czy radio. Coraz popularniejsze staj¹ siê te¿ nowe technologie — sieci bezprzewodowe, Bluetooth i sieci komórkowe. Znajomoġæ zagadnieñ le¿¹cych u podstaw projektowania i wykorzystywania sieci komputerowych jest przydatna ka¿demu, kto chce byæ na bie¿¹co z nowoczesnymi technologiami. „Sieci komputerowe” to kompendium wiedzy poġwiêcone wspó³czesnym technologiom sieciowym. Opisuje zarówno mechanizmy ju¿ wykorzystywane, jak i te, które s¹ obecnie w fazie badañ i testów. Przedstawia sieci kablowe i bezprzewodowe oraz wykorzystuj¹ce je aplikacje — WWW, radio internetowe, us³ugi sieciowe i wiele innych. • Zastosowania sieci komputerowych • Warstwa fizyczna — kable, ġwiat³owody i ³¹cza bezprzewodowe • Warstwa ³¹cza danych — protoko³y sieciowe, weryfikacja poprawnoġci przesy³u danych • Kontrola dostêpu do noġnika • Podwarstwa MAC -- Gigabit Ethernet, 802.11, szerokopasmowy dostêp bezprzewodowy i prze³¹czanie • Warstwa sieciowa — algorytmy routingu, kontrola przeci¹¿eñ, QoS, IPv4 i IPv6 • Warstwa transportowa — programowanie gniazd, UDP, TCP, RTP i wydajnoġæ sieci • Warstwa aplikacji — e-mail, WWW, PHP, bezprzewodowy dostêp do WWW, MP3 i strumieniowe przesy³anie dĥwiêku • Bezpieczeñstwo sieci — AES, RSA, kryptografia kwantowa, IPsec i bezpieczeñstwo WWW Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Spis treści O Autorze.................................................................................................................13 Przedmowa...............................................................................................................15 1. Wprowadzenie .........................................................................................................19 1.1. Zastosowania sieci komputerowych...................................................n.......................................................20 1.1.1. Zastosowania w biznesie ...................................................n.............................................................20 1.1.2. Zastosowania domowe...................................................n.................................................................23 1.1.3. Użytkownicy mobilni ...................................................n..................................................................26 1.1.4. Kwestie społeczne ...................................................n...................................................n....................28 1.2. Sprzęt sieciowy ...................................................n...................................................n...................................30 1.2.1. Sieci lokalne ...................................................n...................................................n.............................32 1.2.2. Sieci miejskie...................................................n...................................................n............................33 1.2.3. Sieci rozległe ...................................................n...................................................n............................33 1.2.4. Sieci bezprzewodowe ...................................................n..................................................................36 1.2.5. Sieci domowe ...................................................n...................................................n...........................38 1.2.6. Sieci złożone...................................................n...................................................n.............................39 1.3. Oprogramowanie sieciowe...................................................n.....................................................................40 1.3.1. Hierarchie protokołów ...................................................n.................................................................40 1.3.2. Zagadnienia projektowania warstw ...................................................n.............................................44 1.3.3. Usługi połączeniowe i bezpołączeniowe ...................................................n.....................................45 1.3.4. Funkcje podstawowe usług...................................................n..........................................................47 1.3.5. Związki usług z protokołami ...................................................n.......................................................48 1.4. Modele odniesienia ...................................................n...................................................n.............................49 1.4.1. Model odniesienia OSI ...................................................n................................................................49 1.4.2. Model odniesienia TCP/IP...................................................n...........................................................52 1.4.3. Porównanie modeli odniesienia OSI i TCP/IP...................................................n.............................55 1.4.4. Krytyka modelu i protokołów OSI ...................................................n..............................................56 1.4.5. Krytyka modelu odniesienia TCP/IP ...................................................n...........................................58 1.5. Przykłady sieci ...................................................n...................................................n....................................59 1.5.1. Internet ...................................................n...................................................n.....................................59 1.5.2. Sieci połączeniowe: X.25, Frame Relay i ATM ...................................................n..........................67 6 SPIS TREŚCI 1.5.3. Ethernet ...................................................n...................................................n....................................72 1.5.4. Bezprzewodowe sieci LAN — 802.11 ...................................................n........................................74 1.6. Standaryzacja sieci...................................................n...................................................n..............................77 1.6.1. Kto jest kim w świecie telekomunikacji?...................................................n.....................................77 1.6.2. Kto jest kim w świecie standardów międzynarodowych?...................................................n............79 1.6.3. Kto jest kim w świecie standardów internetowych? ...................................................n....................80 1.7. Jednostki metryczne...................................................n...................................................n............................81 1.8. Zarys pozostałej części książki...................................................n...............................................................82 1.9. Podsumowanie ...................................................n...................................................n....................................83 2. Warstwa fizyczna....................................................................................................87 2.1. Teoretyczne podstawy transmisji danych...................................................n...............................................87 2.1.1. Analiza Fouriera ...................................................n...................................................n.......................87 2.1.2. Sygnały z ograniczonym pasmem ...................................................n...............................................88 2.1.3. Maksymalna przepływność kanału ...................................................n..............................................91 2.2. Kierowane nośniki transmisji...................................................n.................................................................91 2.2.1. Nośniki magnetyczne...................................................n...................................................................92 2.2.2. Skrętka...................................................n...................................................n......................................92 2.2.3. Kabel koncentryczny ...................................................n...................................................................93 2.2.4. Światłowody ...................................................n...................................................n.............................94 2.3. Transmisja bezprzewodowa ...................................................n.................................................................100 2.3.1. Widmo elektromagnetyczne ...................................................n......................................................100 2.3.2. Transmisja radiowa...................................................n...................................................n.................102 2.3.3. Transmisja mikrofalowa ...................................................n............................................................103 2.3.4. Fale milimetrowe i podczerwień...................................................n................................................106 2.3.5. Transmisja świetlna ...................................................n...................................................................106 2.4. Satelity telekomunikacyjne ...................................................n..................................................................107 2.4.1. Satelity geostacjonarne ...................................................n..............................................................108 2.4.2. Satelity na orbitach średnich...................................................n......................................................111 2.4.3. Satelity na orbitach niskich...................................................n........................................................111 2.4.4. Satelity kontra światłowód ...................................................n........................................................114 2.5. Publiczna komutowana sieć telefoniczna...................................................n.............................................115 2.5.1. Struktura systemu telefonicznego ...................................................n..............................................115 2.5.2. Pętla lokalna: modemy, ADSL i pętle bezprzewodowe...................................................n.............118 2.5.3. Łącza dalekosiężne i multipleksowanie...................................................n.....................................128 2.5.4. Komutacja...................................................n...................................................n...............................136 2.6. Systemy telefonii mobilnej ...................................................n..................................................................140 2.6.1. Telefony mobilne pierwszej generacji — głosowe analogowe...................................................n..142 2.6.2. Telefony mobilne drugiej generacji — głosowe cyfrowe ...................................................n..........145 2.6.3. Telefony mobilne trzeciej generacji — cyfrowy głos i dane ...................................................n.....152 2.7. Telewizja kablowa ...................................................n...................................................n............................154 2.7.1 Telewizja i anteny zbiorcze ...................................................n........................................................155 2.7.2. Internet w kablówce...................................................n...................................................................155 2.7.3. Przydziały pasma...................................................n...................................................n....................157 2.7.4. Modemy kablowe ...................................................n...................................................n...................158 2.7.5. ADSL czy kabel?...................................................n...................................................n....................160 2.8. Podsumowanie ...................................................n...................................................n..................................161 SPIS TREŚCI 3. 7 Warstwa łącza danych...........................................................................................167 3.1. Problemy projektowe warstwy łącza danych ...................................................n.......................................167 3.1.1. Usługi świadczone dla warstwy sieciowej...................................................n.................................168 3.1.2. Ramkowanie ...................................................n...................................................n...........................170 3.1.3. Kontrola błędów ...................................................n...................................................n.....................173 3.1.4. Sterowanie przepływem...................................................n.............................................................174 3.2. Wykrywanie i korekcja błędów...................................................n............................................................175 3.2.1. Kody korekcyjne...................................................n...................................................n.....................175 3.2.2. Kody detekcyjne ...................................................n...................................................n.....................177 3.3. Podstawowe protokoły łącza danych...................................................n....................................................181 3.3.1. Nieograniczony protokół simpleksowy ...................................................n.....................................184 3.3.2. Simpleksowy protokół stop-and-wait ...................................................n........................................186 3.3.3. Protokół simpleksowy dla kanału z zakłóceniami ...................................................n.....................187 3.4. Protokoły z oknem przesuwnym ...................................................n..........................................................190 3.4.1. Protokół z jednobitowym oknem przesuwnym...................................................n..........................193 3.4.2. Protokół używający techniki „wróć do n” ...................................................n.................................194 3.4.3. Protokół używający powtórzeń selektywnych ...................................................n...........................200 3.5. Weryfikacja protokołów...................................................n.......................................................................205 3.5.1. Modele oparte na automatach skończonych ...................................................n..............................206 3.5.2. Modele sieci Petriego ...................................................n................................................................208 3.6. Przykładowe protokoły łącza danych...................................................n...................................................210 3.6.1. Protokół HDLC ...................................................n...................................................n......................210 3.6.2. Warstwa łącza danych w Internecie...................................................n...........................................213 3.7. Podsumowanie ...................................................n...................................................n..................................217 4. Podwarstwa kontroli dostępu do nośnika .............................................................221 4.1. Problem przydzielania kanału ...................................................n..............................................................221 4.1.1. Statyczne przydzielanie kanałów w sieciach LAN i MAN ...................................................n........222 4.1.2. Dynamiczne przydzielanie kanału w sieciach LAN i MAN ...................................................n......223 4.2. Protokoły dostępu wielokrotnego...................................................n.........................................................224 4.2.1. ALOHA ...................................................n...................................................n..................................224 4.2.2. Protokoły dostępu wielokrotnego z wykrywaniem nośnej...................................................n.........228 4.2.3. Protokoły bezkolizyjne ...................................................n..............................................................230 4.2.4. Protokoły z ograniczoną rywalizacją ...................................................n.........................................232 4.2.5. Protokoły dostępu wielokrotnego z podziałem długości fal...................................................n.......235 4.2.6. Protokoły bezprzewodowych sieci LAN ...................................................n...................................237 4.3. Ethernet...................................................n...................................................n.............................................240 4.3.1. Okablowanie sieci Ethernet ...................................................n.......................................................241 4.3.2. Kodowanie Manchester ...................................................n.............................................................243 4.3.3. Protokół podwarstwy MAC w sieciach Ethernet ...................................................n.......................244 4.3.4. Algorytm binarnego odczekiwania wykładniczego ...................................................n...................246 4.3.5. Wydajność sieci Ethernet ...................................................n..........................................................247 4.3.6. Przełączany Ethernet ...................................................n.................................................................249 4.3.7. Fast Ethernet...................................................n...................................................n...........................250 4.3.8. Gigabit Ethernet...................................................n...................................................n......................253 4.3.9. IEEE 802.2: sterowanie łączem fizycznym ...................................................n...............................256 4.3.10. Ethernet z perspektywy czasu...................................................n..................................................257 8 SPIS TREŚCI 4.4. Bezprzewodowe sieci lokalne ...................................................n..............................................................257 4.4.1. Stos protokołów 802.11....................................................n............................................................258 4.4.2. Warstwa fizyczna 802.11...................................................n...........................................................259 4.4.3. Protokół podwarstwy MAC w 802.11 ...................................................n.......................................260 4.4.4. Struktura ramki 802.11 ...................................................n..............................................................264 4.4.5. Usługi ...................................................n...................................................n.....................................265 4.5. Szerokopasmowe łącza bezprzewodowe...................................................n..............................................266 4.5.1. Porównanie 802.11 z 802.16 ...................................................n.....................................................267 4.5.2. Stos protokołów 802.16...................................................n.............................................................268 4.5.3. Warstwa fizyczna 802.16...................................................n...........................................................268 4.5.4. Protokół podwarstwy MAC 802.16 ...................................................n...........................................270 4.5.5. Struktura ramki 802.16 ...................................................n..............................................................271 4.6. Bluetooth...................................................n...................................................n...........................................272 4.6.1. Architektura Bluetooth ...................................................n..............................................................273 4.6.2. Zastosowania Bluetooth ...................................................n............................................................273 4.6.3. Stos protokołów Bluetooth ...................................................n........................................................275 4.6.4. Warstwa radiowa w Bluetooth...................................................n...................................................276 4.6.5. Warstwa pasma podstawowego w Bluetooth...................................................n.............................276 4.6.6. Warstwa L2CAP w Bluetooth ...................................................n...................................................277 4.6.7. Struktura ramki Bluetooth ...................................................n.........................................................277 4.7. Przełączanie w warstwie łącza danych...................................................n.................................................278 4.7.1. Mosty pomiędzy 802.x i 802.y ...................................................n..................................................280 4.7.2. Lokalne sieci złożone ...................................................n................................................................282 4.7.3. Drzewa częściowe mostów...................................................n........................................................283 4.7.4. Odległe mosty...................................................n...................................................n.........................285 4.7.5. Wzmacniaki, koncentratory, mosty, przełączniki, routery i bramy...............................................286 4.7.6. Wirtualne sieci LAN...................................................n..................................................................288 4.8. Podsumowanie ...................................................n...................................................n..................................294 5. Warstwa sieciowa .................................................................................................299 5.1. Problemy projektowe warstwy sieciowej...................................................n.............................................299 5.1.1. Komutacja pakietów z buforowaniem ...................................................n.......................................299 5.1.2. Usługi świadczone na rzecz warstwy transportowej...................................................n..................300 5.1.3. Implementacja usługi bezpołączeniowej ...................................................n...................................301 5.1.4. Implementacja usługi połączeniowej...................................................n.........................................302 5.1.5. Porównanie podsieci obwodów wirtualnych i datagramowych ...................................................n.303 5.2. Algorytmy routingu...................................................n...................................................n...........................304 5.2.1. Zasada optymalności ...................................................n.................................................................306 5.2.2. Routing z wyborem najkrótszej ścieżki ...................................................n.....................................307 5.2.3. Routing rozpływowy ...................................................n...................................................n..............310 5.2.4. Routing z użyciem wektorów odległości ...................................................n...................................310 5.2.5. Routing z użyciem stanów połączeń...................................................n..........................................313 5.2.6. Routing hierarchiczny...................................................n................................................................318 5.2.7. Routing rozgłoszeniowy ...................................................n............................................................319 5.2.8. Routing rozsyłania grupowego ...................................................n..................................................321 5.2.9. Routing dla hostów mobilnych ...................................................n..................................................323 5.2.10. Routing w sieciach ad hoc ...................................................n.......................................................325 5.2.11. Wyszukiwanie węzłów w sieciach równorzędnych ...................................................n.................329 5.3. Algorytmy kontroli przeciążeń...................................................n.............................................................333 5.3.1. Ogólne zasady kontroli przeciążeń ...................................................n............................................334 5.3.2. Zasady zapobiegania przeciążeniom...................................................n..........................................336 5.3.3. Kontrola przeciążeń w podsieciach obwodów wirtualnych ...................................................n.......337 SPIS TREŚCI 9 5.3.4. Kontrola przeciążeń w podsieciach datagramowych ...................................................n.................338 5.3.5. Zrzut obciążenia ...................................................n...................................................n.....................341 5.3.6. Kontrola fluktuacji...................................................n.....................................................................342 5.4. Jakość usług ...................................................n...................................................n......................................343 5.4.1. Wymogi ...................................................n...................................................n..................................343 5.4.2. Techniki osiągania dobrej jakości usług ...................................................n....................................345 5.4.3. Usługi zintegrowane ...................................................n..................................................................354 5.4.4. Usługi zróżnicowane ...................................................n.................................................................356 5.4.5. Etykietowanie i MPLS...................................................n...............................................................359 5.5. Sieci złożone ...................................................n...................................................n.....................................361 5.5.1. Różnice między sieciami ...................................................n...........................................................362 5.5.2. Łączenie sieci ...................................................n...................................................n.........................363 5.5.3. Spinanie obwodów wirtualnych...................................................n.................................................364 5.5.4. Bezpołączeniowe sieci złożone ...................................................n.................................................365 5.5.5. Tunelowanie ...................................................n...................................................n...........................367 5.5.6. Routing w sieciach złożonych ...................................................n...................................................368 5.5.7. Fragmentacja ...................................................n...................................................n..........................369 5.6. Warstwa sieciowa w Internecie...................................................n............................................................371 5.6.1. Protokół IP...................................................n...................................................n..............................374 5.6.2. Adresy IP...................................................n...................................................n................................377 5.6.3. Internetowe protokoły sterujące...................................................n.................................................386 5.6.4. Protokół bram wewnętrznych OSPF...................................................n..........................................391 5.6.5. Protokół bram zewnętrznych BGP...................................................n.............................................395 5.6.6. Rozsyłanie grupowe w Internecie...................................................n..............................................397 5.6.7. Mobilny IP...................................................n...................................................n..............................398 5.6.8. IPv6 ...................................................n...................................................n........................................399 5.7. Podsumowanie ...................................................n...................................................n..................................406 6. Warstwa transportowa ..........................................................................................413 6.1. Usługa transportowa ...................................................n...................................................n.........................413 6.1.1. Usługi świadczone na rzecz wyższych warstw ...................................................n..........................413 6.1.2. Prymitywy usług transportowych ...................................................n..............................................415 6.1.3. Gniazda Berkeley Sockets ...................................................n.........................................................418 6.1.4. Przykład programowania — internetowy serwer plików...................................................n...........419 6.2. Elementy protokołów transportowych ...................................................n.................................................424 6.2.1. Adresowanie ...................................................n...................................................n...........................425 6.2.2. Ustanawianie połączenia ...................................................n...........................................................428 6.2.3. Zwalnianie połączenia ...................................................n...............................................................433 6.2.4. Sterowanie przepływem i buforowanie...................................................n......................................437 6.2.5. Multipleksowanie ...................................................n...................................................n...................441 6.2.6. Odtwarzanie po awarii...................................................n...............................................................442 6.3. Prosty protokół transportowy ...................................................n...............................................................444 6.3.1. Przykładowe prymitywy usług ...................................................n..................................................444 6.3.2. Przykładowa jednostka transportowa...................................................n.........................................445 6.3.3. Protokół jako automat skończony...................................................n..............................................453 6.4. Internetowe protokoły transportowe — UDP...................................................n.......................................456 6.4.1. Wprowadzenie do protokołu UDP...................................................n.............................................456 6.4.2. Zdalne wywołania procedur ...................................................n......................................................457 6.4.3. Protokół transportowy czasu rzeczywistego ...................................................n..............................460 6.5. Internetowe protokoły transportowe — TCP ...................................................n.......................................463 6.5.1. Wprowadzenie do TCP...................................................n..............................................................464 6.5.2. Model usługi TCP...................................................n...................................................n...................464 10 SPIS TREŚCI 6.5.3. Protokół TCP...................................................n...................................................n..........................466 6.5.4. Nagłówek segmentu TCP ...................................................n..........................................................467 6.5.5. Nawiązywanie połączenia TCP ...................................................n.................................................470 6.5.6. Zwalnianie połączenia TCP...................................................n.......................................................471 6.5.7. Model TCP zarządzania połączeniami...................................................n.......................................472 6.5.8. Zarządzanie transmisją TCP ...................................................n......................................................474 6.5.9. Zmaganie się z przeciążeniami ...................................................n..................................................477 6.5.10. Zarządzanie czasem przez TCP ...................................................n...............................................479 6.5.11. TCP w sieciach bezprzewodowych...................................................n..........................................483 6.5.12. Transakcyjny TCP ...................................................n...................................................n................485 6.6. Wydajność sieci ...................................................n...................................................n................................486 6.6.1. Problemy związane z wydajnością sieci komputerowych...................................................n..........487 6.6.2. Pomiar wydajności sieci ...................................................n............................................................489 6.6.3. Cechy projektowe systemu wpływające na wydajność sieci ...................................................n.....492 6.6.4. Szybkie przetwarzanie TPDU...................................................n....................................................496 6.6.5. Protokoły dla sieci gigabitowych...................................................n...............................................498 6.7. Podsumowanie ...................................................n...................................................n..................................502 7. Warstwa aplikacji..................................................................................................507 7.1. DNS — system nazw domen ...................................................n...............................................................507 7.1.1. Przestrzeń nazw DNS ...................................................n................................................................508 7.1.2. Rekordy zasobów ...................................................n...................................................n...................511 7.1.3. Serwery nazw ...................................................n...................................................n.........................514 7.2. Poczta elektroniczna ...................................................n...................................................n.........................516 7.2.1. Architektura i usługi ...................................................n..................................................................517 7.2.2. Agent użytkownika...................................................n...................................................n.................519 7.2.3. Formaty wiadomości ...................................................n...................................................n..............521 7.2.4. Transfer wiadomości ...................................................n.................................................................529 7.2.5. Protokoły dostarczania końcowego ...................................................n...........................................532 7.3. WWW ...................................................n...................................................n...............................................538 7.3.1. Przegląd architektury WWW...................................................n.....................................................539 7.3.2. Statyczne dokumenty WWW...................................................n.....................................................554 7.3.3. Dynamiczne dokumenty WWW ...................................................n................................................568 7.3.4. HTTP — protokół przesyłu hipertekstu...................................................n.....................................576 7.3.5. Poprawianie wydajności ...................................................n............................................................581 7.3.6. Bezprzewodowa sieć WWW ...................................................n.....................................................587 7.4. Multimedia...................................................n...................................................n........................................597 7.4.1. Wprowadzenie do cyfrowego audio ...................................................n..........................................597 7.4.2. Kompresja audio...................................................n...................................................n.....................600 7.4.3. Strumieniowe audio...................................................n...................................................n................602 7.4.4. Radio internetowe...................................................n...................................................n...................605 7.4.5. VoIP — telefonia internetowa ...................................................n...................................................607 7.4.6. Wprowadzenie do wideo ...................................................n...........................................................614 7.4.7. Kompresja wideo...................................................n...................................................n....................617 7.4.8. Wideo na życzenie...................................................n...................................................n..................624 7.4.9. MBone — magistrala multiemisyjna ...................................................n.........................................631 7.5. Podsumowanie ...................................................n...................................................n..................................634 SPIS TREŚCI 8. 11 Bezpieczeństwo w sieciach komputerowych........................................................641 8.1. Kryptografia...................................................n...................................................n......................................643 8.1.1. Wprowadzenie do kryptografii ...................................................n..................................................644 8.1.2. Szyfry podstawieniowe...................................................n..............................................................646 8.1.3. Szyfry przestawieniowe...................................................n.............................................................648 8.1.4. Systemy kluczy jednokrotnych...................................................n..................................................649 8.1.5. Dwie fundamentalne zasady kryptografii ...................................................n..................................653 8.2. Algorytmy szyfrowania z kluczami symetrycznymi ...................................................n............................655 8.2.1. DES ...................................................n...................................................n........................................656 8.2.2. AES ...................................................n...................................................n........................................659 8.2.3. Tryby szyfrowania...................................................n...................................................n..................662 8.2.4. Inne przykłady szyfrów ...................................................n.............................................................667 8.2.5. Kryptoanaliza ...................................................n...................................................n.........................668 8.3. Algorytmy z kluczami publicznymi ...................................................n.....................................................668 8.3.1. RSA ...................................................n...................................................n........................................669 8.3.2. Inne algorytmy szyfrowania z kluczem publicznym...................................................n..................671 8.4. Podpis cyfrowy ...................................................n...................................................n.................................672 8.4.1. Podpisy oparte na kluczach symetrycznych...................................................n...............................672 8.4.2. Podpisy oparte na kluczach publicznych ...................................................n...................................673 8.4.3. Skróty komunikatów...................................................n...................................................n...............675 8.4.4. Atak urodzinowy ...................................................n...................................................n....................678 8.5. Zarządzanie kluczami publicznymi...................................................n......................................................680 8.5.1. Certyfikaty...................................................n...................................................n..............................681 8.5.2. X.509 ...................................................n...................................................n......................................682 8.5.3. Infrastruktura kluczy publicznych ...................................................n.............................................683 8.6. Bezpieczeństwo komunikacji...................................................n...............................................................686 8.6.1. IPsec ...................................................n...................................................n.......................................686 8.6.2. Zapory sieciowe...................................................n...................................................n......................689 8.6.3. Prywatne sieci wirtualne...................................................n............................................................692 8.6.4. Bezpieczeństwo w sieciach bezprzewodowych ...................................................n.........................693 8.7. Protokoły uwierzytelniania ...................................................n..................................................................698 8.7.1. Uwierzytelnianie w oparciu o współdzielony tajny klucz...................................................n..........699 8.7.2. Ustanawianie dzielonego klucza: metoda Diffiego-Hellmana wymiany kluczy...........................702 8.7.3. Uwierzytelnianie z udziałem centrum dystrybucji kluczy ...................................................n.........704 8.7.4. Uwierzytelnianie w oparciu o Kerberos..................................................n......................................707 8.7.5. Uwierzytelnianie z użyciem kluczy publicznych...................................................n.......................709 8.8. Bezpieczeństwo poczty elektronicznej...................................................n.................................................709 8.8.1. PGP...................................................n...................................................n.........................................710 8.8.2. PEM...................................................n...................................................n........................................713 8.8.3. S/MIME...................................................n...................................................n..................................714 8.9. Bezpieczeństwo WWW ...................................................n...................................................n....................715 8.9.1. Zagrożenia ...................................................n...................................................n..............................715 8.9.2. Bezpieczne nazewnictwo...................................................n...........................................................716 8.9.3. SSL ...................................................n...................................................n.........................................722 8.9.4. Bezpieczeństwo ruchomego kodu...................................................n..............................................725 8.10. Społeczne aspekty sieci komputerowych ...................................................n...........................................727 8.10.1. Ochrona prywatności ...................................................n...............................................................728 8.10.2. Wolność słowa...................................................n...................................................n......................730 8.10.3. Prawa autorskie...................................................n...................................................n.....................733 8.11. Podsumowanie ...................................................n...................................................n................................735 12 9. SPIS TREŚCI Bibliografia i literatura uzupełniająca...................................................................741 9.1. Zalecana literatura uzupełniająca ...................................................n.........................................................741 9.1.1. Wprowadzenie i zagadnienia ogólne ...................................................n.........................................742 9.1.2. Warstwa fizyczna ...................................................n...................................................n...................743 9.1.3. Warstwa łącza danych ...................................................n...............................................................745 9.1.4. Podwarstwa sterowania dostępem do nośnika ...................................................n...........................745 9.1.5. Warstwa sieciowa ...................................................n...................................................n...................746 9.1.6. Warstwa transportowa ...................................................n...............................................................748 9.1.7. Warstwa aplikacji ...................................................n...................................................n...................748 9.1.8. Bezpieczeństwo sieciowe ...................................................n..........................................................749 9.2. Bibliografia w układzie alfabetycznym...................................................n................................................751 Skorowidz ..............................................................................................................769 3 Warstwa łącza danych W niniejszym rozdziale poznamy zasady projektowania warstwy 2. — warstwy łącza danych. Zaj- miemy się algorytmami zapewniającymi niezawodną, skuteczną komunikację pomiędzy dwoma sąsiadującymi komputerami na poziomie tej warstwy. Przez „sąsiadujące” rozumiemy dwa komputery połączone kanałem komunikacyjnym, który zachowuje się jak przewód (np. kabel koncentryczny, linia telefoniczna lub dwupunktowy kanał bezprzewodowy). Istotną właściwością, która powoduje, że kanał zachowuje się jak „kabel”, jest to, że bity są doręczane w dokładnie tej samej kolejności, w której były wysłane. Na pierwszy rzut oka ten problem może się wydawać tak trywialny, że nie trzeba żadnego oprogramowania, z którym musielibyśmy się zapoznać — komputer A po prostu wysyła bity kablem, a komputer B je odbiera. Niestety, w kanałach komunikacyjnych występują od czasu do czasu błędy. Co więcej, każdy kanał ma skończoną przepływność i niezerowe opóźnienie propagacji pomiędzy chwilą wysłania a chwilą odbioru bitu. Te ograniczenia mają znaczący wpływ na wydajność przesyłu danych. Protokoły używane do komunikacji muszą uwzględniać wszystkie te czynniki. Właśnie te protokoły są tematem niniejszego rozdziału. Po wprowadzeniu do podstawowych problemów projektowych warstwy łącza danych zaczniemy analizę jej protokołów od poznania charakteru błędów, ich przyczyn i sposobów, w jakie mogą być wykrywane i korygowane. Następnie przestudiujemy kilka protokołów o rosnącej złożoności, z których każdy rozwiązuje coraz więcej problemów występujących w tej warstwie. Zakończymy opisem modelowania i poprawności protokołów oraz podamy kilka przykładów protokołów łącza danych. 3.1. Problemy projektowe warstwy łącza danych Warstwa łącza danych może spełniać kilka określonych funkcji, w tym: (1) Udostępniać dobrze zdefiniowany interfejs usługi warstwie sieciowej. (2) Radzić sobie z błędami transmisji. (3) Sterować przepływem danych, aby wolne odbiorniki nie zostały zalane danymi z szybkich nadajników. Aby zrealizować te cele, warstwa łącza danych bierze pakiety, które otrzymuje z warstwy sieciowej, i kapsułkuje je do transmisji w ramki. Każda ramka zawiera nagłówek, pole treści zasadniczej i stopkę, jak na rysunku 3.1. Zarządzanie ramkami jest głównym zadaniem warstwy łącza danych. W następnych punktach zapoznamy się szczegółowo z problemami wymienionymi powyżej. 168 3. WARSTWA ŁĄCZA DANYCH RYSUNEK 3.1. Relacje pomiędzy pakietami i ramkami Wprawdzie niniejszy rozdział jest poświęcony warstwie łącza danych i protokołom łącza da- nych, lecz wiele zasad, które tu poznamy, takich jak kontrola błędów i sterowanie przepływem, spotkamy również w protokołach transportowych i innych. W rzeczy samej w wielu sieciach funkcje te są obecne tylko w wyższych warstwach, a nie w warstwie łącza danych. Jednakże niezależnie od ich położenia zasady są praktycznie takie same, więc tak naprawdę nie jest istotne, kiedy się nimi zajmiemy. W warstwie łącza danych często pojawiają się one w najprostszych i najczyst- szych formach, dlatego też jest to dobre miejsce, by przyjrzeć im się dokładnie. 3.1.1. Usługi świadczone dla warstwy sieciowej Funkcją warstwy łącza danych jest świadczenie usług warstwie sieciowej. Podstawowa usługa to transfer danych z warstwy sieciowej w komputerze źródłowym do warstwy sieciowej w komputerze docelowym. W komputerze źródłowym w warstwie sieciowej znajduje się coś, nazwijmy to proce- sem, co przekazuje do warstwy łącza danych bity przeznaczone do przesłania do celu. Zadaniem warstwy łącza danych jest przesłanie bitów do komputera docelowego, aby mogły zostać tam prze- kazane do warstwy sieciowej, jak na rysunku 3.2 (a). Faktyczna transmisja odbywa się ścieżką z ry- sunku 3.2 (b), lecz łatwiej jest myśleć kategoriami dwóch procesów warstwy łącza danych komuni- kujących się za pomocą protokołu łącza danych. Z tego powodu będziemy w całym tym rozdziale domyślnie używać modelu z rysunku 3.2 (a). Warstwa łącza danych może być zaprojektowana tak, że będzie oferować różne usługi. Faktyczna lista usług może być różna zależnie od systemu. Trzy opcje, które są powszechnie udostępniane, to: (1) Usługa bezpołączeniowa bez potwierdzeń. (2) Usługa bezpołączeniowa z potwierdzeniami. (3) Usługa połączeniowa z potwierdzeniami. Spójrzmy kolejno na każdą z nich. W usłudze bezpołączeniowej bez potwierdzeń komputer źródłowy wysyła niezależne ramki do komputera docelowego bez potwierdzania ich przez komputer docelowy. Żadne logiczne połącze- nie nie jest nawiązywane przed transmisją i zwalniane po transmisji. Jeśli ramka zostanie utracona z powodu zakłóceń na linii, w warstwie łącza danych nie jest podejmowana żadna próba wykrycia straty ani przywrócenia ramki. Ta klasa usług nadaje się tam, gdzie stopa błędów jest bardzo niska, więc naprawę pozostawia się warstwom wyższym. Jest też stosowana w transmisji w czasie rzeczy- wistym, na przykład mowy, gdzie opóźnienia danych są gorsze od błędów. Większość sieci LAN używa takiej usługi w warstwie łącza danych. 3.1. PROBLEMY PROJEKTOWE WARSTWY ŁĄCZA DANYCH 169 RYSUNEK 3.2. (a) Komunikacja wirtualna. (b) Komunikacja faktyczna Następnym poziomem (w sensie niezawodności) jest usługa bezpołączeniowa z potwierdzenia- mi. Gdy usługa ta jest oferowana, nadal nie stosuje się logicznych połączeń, lecz każda wysłana ramka jest indywidualnie potwierdzania. Dzięki temu nadawca wie, czy ramka dotarła bez błędów. Jeśli ramka nie dotrze w ustalonym czasie, można ją nadać ponownie. Ta usługa jest przydatna dla zawodnych kanałów, takich jak systemy bezprzewodowe. Warto może podkreślić, że udostępnienie potwierdzeń w warstwie łącza danych jest jedynie optymalizacją, a nigdy wymogiem. Warstwa sieciowa zawsze może wysłać pakiet i czekać na jego potwierdzenie. Jeśli potwierdzenie nie wróci przed upływem określonego czasu, nadajnik może wysłać jeszcze raz cały komunikat. Problem z tą strategią polega na fakcie, że ramki mają zwykle ściśle określoną maksymalną długość narzuconą przez sprzęt, a pakiety warstwy sieciowej nie. Jeśli przeciętny pakiet podzielimy np. na 10 ramek, a 20 wszystkich ramek będzie traconych, to może potrwać bardzo długo, zanim cały pakiet zostanie przesłany. Gdy potwierdzane i nadawane ponow- nie są pojedyncze ramki, całe pakiety przechodzą znacznie szybciej. W niezawodnych kanałach, ta- kich jak światłowodowe, dodatkowe obciążenie wprowadzane przez „opasły” protokół łącza danych może być niepotrzebne, lecz w kanałach bezprzewodowych, które z natury są zawodne, jest to warte swojej ceny. Wracając do usług, najbardziej zaawansowaną, jaką może udostępnić warstwa łącza danych warstwie sieciowej, jest usługa połączeniowa. W takiej usłudze komputery źródłowy i docelowy nawiązują połączenie przed przesłaniem jakichkolwiek danych. Każda ramka wysłana takim połą- czeniem ma swój numer, a warstwa łącza danych gwarantuje, że każda wysłana ramka zostanie faktycznie odebrana. Co więcej, gwarantuje, że każda ramka zostanie odebrana raz i tylko raz oraz że wszystkie ramki zostaną odebrane we właściwej kolejności. W przeciwieństwie do tego w usłudze bezpołączeniowej może się zdarzyć, że utracone potwierdzenie spowoduje wysłanie i odebranie jednego pakietu kilka razy. Usługa połączeniowa daje procesom warstwy sieciowej odpowiednik niezawodnego strumienia bitów. Przy użyciu usługi połączeniowej transfer ma trzy wyraźne fazy. W pierwszej zostaje nawiąza- ne połączenie przez inicjalizację przez obie strony zmiennych i liczników, potrzebnych do śledzenia na bieżąco, które ramki zostały odebrane, a które nie. W drugiej fazie zostaje faktycznie przesłana jedna lub więcej ramek. W trzeciej i ostatniej fazie połączenie zostaje zakończone, zwalniając zmienne, bufory i inne zasoby używane do utrzymywania połączenia. 170 3. WARSTWA ŁĄCZA DANYCH Spójrzmy na typowy przykład: podsieć WAN składającą się z routerów połączonych dwu- punktowymi liniami telefonicznymi. Gdy ramka dociera do routera, sprzęt sprawdza, czy nie zawiera ona błędów (z użyciem technik, które poznamy w dalszej części rozdziału), a następnie przekazuje ramkę do oprogramowania warstwy łącza danych (które może być wbudowane w układ scalony na karcie interfejsu sieciowego). Oprogramowanie warstwy łącza danych sprawdza, czy to jest ocze- kiwana ramka, a jeśli tak, przekazuje do oprogramowania rotingu pakiet zawarty w polu ładunku. Oprogramowanie rutingu wybiera następnie linię wyjściową i przekazuje pakiet z powrotem w dół do oprogramowania warstwy łącza danych, które wysyła pakiet. Rysunek 3.3 przedstawia przebieg danych przez dwa routery. RYSUNEK 3.3. Miejsce protokołu łącza danych Kod rutingu często wymaga, żeby transmisja została przeprowadzona poprawnie, czyli za po- mocą niezawodnych, uporządkowanych połączeń na obu końcach łączy dwupunktowych. Nie lubi on, gdy po drodze gubi się zbyt wiele pakietów. Uczynienie z zawodnych linii komunikacyjnych łączy wyglądających na idealne (a przynajmniej przyzwoite) jest zadaniem protokołu łącza danych przedstawionego w prostokącie linią przerywaną. Tak na marginesie, chociaż pokazaliśmy w każ- dym routerze dwie kopie oprogramowania warstwy łącza danych, to naprawdę jedna kopia obsłu- guje wszystkie linie, przy czym dla każdej linii używa innych tablic i struktur danych. 3.1.2. Ramkowanie Aby świadczyć usługi na rzecz warstwy sieciowej, warstwa łącza danych musi używać usług, które udostępnia jej warstwa fizyczna. Ta przyjmuje surowy strumień bitów i próbuje doręczyć go do miejsca przeznaczenia. Nie ma gwarancji, że ten strumień bitów będzie pozbawiony błędów. Liczba bitów odebranych może być mniejsza, równa lub większa od liczby bitów nadanych, a poszcze- gólne bity mogą mieć różne wartości. Wykrywanie i w razie konieczności naprawa błędów należy do warstwy łączy danych. Zazwyczaj robi się to tak, że warstwa łącza danych dzieli strumień bitów na dyskretne ramki i ob- licza sumę kontrolną dla każdej ramki (algorytmy sum kontrolnych omówimy w dalszej części rozdziału). Gdy ramka dociera do miejsca przeznaczenia, suma kontrolna jest obliczana ponownie. 3.1. PROBLEMY PROJEKTOWE WARSTWY ŁĄCZA DANYCH 171 Jeśli wyliczona suma kontrolna różni się od tej zawartej w ramce, warstwa łącza danych rozpo- znaje, że wystąpił błąd, i podejmuje odpowiednie kroki (np. odrzuca błędną ramkę i, ewentualnie, odsyła z powrotem informację o błędzie). Podział strumienia bitów na ramki jest trudniejszy, niż się na pierwszy rzut oka wydaje. Jednym ze sposobów ramkowania może być wstawianie przerw czasowych pomiędzy ramki, podobnie jak wstawia się spacje pomiędzy słowa w zwykłym tekście. Jednakże sieci rzadko kiedy gwarantują utrzymanie zależności czasowych, więc może zdarzyć się, że te przerwy zostaną ściśnięte do zera lub podczas transmisji zostaną wprowadzone nowe przerwy. Ponieważ liczenie na zależności czasowe do oznaczania początku każdej ramki jest ryzykowne, zostały opracowane inne metody. W niniejszym punkcie przyjrzymy się czterem metodom: (1) Zliczanie znaków. (2) Bajty znacznikowe z napełnianiem bajtami. (3) Znaczniki początku i końca z napełnianiem bitami. (4) Zmiany kodowania w warstwie fizycznej. Pierwsza metoda ramkowania używa pola w nagłówku do oznaczenia liczby znaków w ramce. Gdy warstwa łącza danych w urządzeniu docelowym widzi zliczenie znaków, to wie, jak wiele znaków będzie następować w ramce, a więc również gdzie skończy się ramka. Rysunek 3.4 (a) przedstawia tę technikę dla czterech ramek o długości kolejno 5, 5, 8 i 8 znaków. RYSUNEK 3.4. Strumień znaków: (a) bez błędów, (b) z jednym błędem Problem z tym algorytmem polega na tym, że liczba może zostać przekłamana przez błąd transmisji. Na przykład, jeśli zliczenie znaków równe 5 w drugiej ramce z rysunku 3.4 (b) stanie się równe 7, to odbiornik utraci synchronizację i nie będzie mógł zlokalizować następnej ramki. Nawet jeśli suma kontrolna będzie niewłaściwa, przez co odbiornik wykryje błąd, nadal nie będzie mógł ustalić, gdzie zaczyna się następna ramka. Odesłanie ramki do źródła z żądaniem retransmisji też nie pomoże, ponieważ odbiornik nie wie, ile znaków musi pominąć, aby wrócić do początku retransmisji. Z tego powodu metoda ze zliczaniem znaków jest już używana bardzo rzadko. Druga metoda rozwiązuje problem ponownej synchronizacji po błędzie przez rozpoczynanie i koń- czenie każdej ramki specjalnymi bajtami. W przeszłości bajty początku i końca były różne, lecz w ostatnich latach większość protokołów używa tego samego bajta, zwanego bajtem znaczniko- wym (ang. flag byte), jako separatora początkowego i końcowego oznaczonego na rysunku 3.5 (a) 172 3. WARSTWA ŁĄCZA DANYCH RYSUNEK 3.5. (a) Ramka ograniczona bajtami znacznikowymi. (b) Cztery przykłady sekwencji bajtów przed i po napełnianiu bajtami jako (.#). W ten sposób, jeśli odbiorca kiedykolwiek utraci synchronizację, to wystarczy że poszuka bajta znacznikowego, aby znaleźć koniec bieżącej ramki. Dwa kolejne bajty znacznikowe wska- zują koniec jednej ramki i początek następnej. Poważny problem pojawia się w tej metodzie przy transmisji danych binarnych, na przykład programów wynikowych i liczb zmiennoprzecinkowych. Może się z łatwością zdarzyć, że wzorzec bajta znacznikowego wystąpi w danych. Ta sytuacja zwykle zakłóca ramkowanie. Jednym z roz- wiązań problemu jest wstawianie przez warstwę łącza danych u nadawcy specjalnego bajta uniko- wego (ESC) przed każdy „przypadkowy” bajt znacznikowy w danych. Warstwa łącza danych po stronie odbierającej usuwa bajt unikowy przed przekazaniem danych
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Sieci komputerowe
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: