Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00257 005263 15187011 na godz. na dobę w sumie
Sieci komputerowe. Wydanie V - książka
Sieci komputerowe. Wydanie V - książka
Autor: , Liczba stron: 1024
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-3079-0 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> sieci komputerowe >> budowa sieci
Porównaj ceny (książka, ebook, audiobook).

Najpopularniejsze na świecie wprowadzenie do sieci komputerowych -
w pełni zaktualizowane i przygotowane na technologie przyszłości

Technika przesyłania danych rozwija się w zawrotnym tempie. Co rusz wprowadzane są nowe standardy, protokoły i narzędzia. Od czasu ukazania się na rynku czwartego wydania tej książki szczególnie mocno rozwinęły się wszystkie obszary związane z sieciami bezprzewodowymi. Mobilny dostęp do Internetu jest w dzisiejszych czasach normą, dlatego znajomość nowych trendów oraz biegłość w poruszaniu się w gąszczu specjalistycznej wiedzy są koniecznie potrzebne wszystkim projektantom i administratorom.

Wydanie piąte książki 'Sieci komputerowe. Wydanie V' pozwoli Ci na błyskawiczne opanowanie najbardziej aktualnej wiedzy. Autor położył tu szczególny nacisk na sieci bezprzewodowe - standardy 802.11, 802.16, Bluetooth™ oraz dostęp przez sieć komórkową zostały dogłębnie omówione. Lektura tej pozycji umożliwi Ci również uzyskanie kompletnej wiedzy na temat tradycyjnych sieci kablowych. To medium transmisji jeszcze długo będzie wykorzystywane tam, gdzie jest wymagana najwyższa niezawodność. Ta książka jest idealnym wprowadzeniem do sieci współczesnych - oraz tych, które dopiero powstaną.

Przeczytaj i sprawdź:

Obowiązkowa lektura każdego administratora i projektanta sieci komputerowych!


Andrew Stuart Tanenbaum - profesor informatyki, zdobywca prestiżowego European Research Council Advanced Grant na badania nad niezawodnością w systemach komputerowych. Autor bardzo znanych i cenionych książek informatycznych, które stanowią lekturę obowiązkową w dziedzinie komputerów.

David J. Wetherall - profesor informatyki, od ponad dwudziestolecia zajmujący się sieciami komputerowymi. W jego kręgu zainteresowań badawczych znajdują się protokoły internetowe, sieci bezprzewodowe i bezpieczeństwo komunikacji.

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

Darmowy fragment publikacji:

Tytuł oryginału: Computer Networks (5th Edition) Tłumaczenie: Przemysław Szeremiota na podstawie „Sieci komputerowe” w tłumaczeniu Andrzej Grażyńskiego i Adama Jarczyka ISBN: 978-83-246-3079-0 Polish edition copyright © 2012 by Helion S.A. All rights reserved. Authorized translation from the English language edition, entitled: COMPUTER NETWORKS, Fifth Edition; ISBN 0132126958; by Andrew S. Tanenbaum; and David J. Wetherall; published by Pearson Education, Inc, publishing as Prentice Hall. Copyright © 2011, 2003, 1996, 1989, 1981 by Pearson Education, Inc. All rights reserved. No part of this book may be reproduced od transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie?gimpbi Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność SPIS TRE¥CI WstÚp 1. Wprowadzenie 1.1. 1.2. Zastosowania sieci komputerowych 1.1.1. Zastosowania w biznesie 1.1.2. Zastosowania domowe 1.1.3. Uĝytkownicy mobilni 1.1.4. Kwestie spoïeczne SprzÚt sieciowy 1.2.1. Sieci osobiste 1.2.2. Sieci lokalne 1.2.3. Sieci miejskie 1.2.4. Sieci rozlegïe 1.2.5. Sieci zïoĝone 1.3. Oprogramowanie sieciowe 1.3.1. Hierarchie protokoïów 1.3.2. Zagadnienia projektowania warstw 1.3.3. Usïugi poïÈczeniowe i bezpoïÈczeniowe 1.3.4. Funkcje podstawowe usïug 1.3.5. ZwiÈzki usïug z protokoïami 7 17 21 23 23 26 31 34 38 39 40 44 46 49 50 51 55 57 60 62 8 SPIS TRE¥CI 1.4. Modele odniesienia 1.4.1. Model odniesienia OSI 1.4.2. Model odniesienia TCP/IP 1.4.3. Model omawiany w ksiÈĝce 1.4.4. Porównanie modeli odniesienia OSI i TCP/IP* 1.4.5. Krytyka modelu i protokoïów OSI* 1.4.6. Krytyka modelu odniesienia TCP/IP* Przykïady sieci 1.5.1. Internet 1.5.2. Sieci komórkowe trzeciej generacji* 1.5.3. Bezprzewodowe sieci lokalne — 802.11* 1.5.4. RFID i sieci sensorowe* Standaryzacja sieci* 1.6.1. Kto jest kim w Ăwiecie telekomunikacji? 1.6.2. Kto jest kim w Ăwiecie standardów miÚdzynarodowych? 1.6.3. Kto jest kim w Ăwiecie standardów internetowych? Jednostki metryczne Zarys pozostaïej czÚĂci ksiÈĝki Podsumowanie 1.5. 1.6. 1.7. 1.8. 1.9. 2. Warstwa fizyczna 2.1. Teoretyczne podstawy transmisji danych 2.1.1. Analiza Fouriera 2.1.2. Sygnaïy z ograniczonym pasmem 2.1.3. Maksymalna przepïywnoĂÊ kanaïu 2.2. Kierowane noĂniki transmisji 2.2.1. NoĂniki magnetyczne 2.2.2. SkrÚtka 2.2.3. Kabel koncentryczny 2.2.4. Linie zasilajÈce 2.2.5. ¥wiatïowody 2.3. Transmisja bezprzewodowa 2.3.1. Widmo elektromagnetyczne 2.3.2. Transmisja radiowa 2.3.3. Transmisja mikrofalowa 2.3.4. Fale milimetrowe i podczerwieñ 2.3.5. Transmisja optyczna 63 63 67 70 71 73 75 76 76 87 92 96 99 100 102 103 105 106 108 113 114 114 114 118 119 119 120 122 123 124 130 130 133 135 138 139 SPIS TRE¥CI 9 2.4. Satelity telekomunikacyjne* 2.4.1. Satelity geostacjonarne 2.4.2. Satelity na orbitach Ărednich 2.4.3. Satelity na orbitach niskich 2.4.4. Satelity kontra Ăwiatïowód 2.5. Modulacja cyfrowa i multipleksacja 2.5.1. Transmisja w paĂmie podstawowym 2.5.2. Transmisja w paĂmie przepustowym 2.5.3. Multipleksacja z podziaïem czÚstotliwoĂci 2.5.4. Multipleksacja z podziaïem czasu 2.5.5. Multipleksacja na bazie sekwencji rozpraszajÈcych Publiczna komutowana sieÊ telefoniczna 2.6.1. Struktura systemu telefonicznego 2.6.2. PÚtla lokalna — modemy, ADSL i Ăwiatïowody 2.6.3. ’Ècza dalekosiÚĝne i multipleksacja 2.6.4. Komutacja Systemy telefonii mobilnej* 2.7.1. Telefony mobilne pierwszej generacji (1G) — gïosowe analogowe 2.7.2. Telefony mobilne drugiej generacji (2G) — gïosowe cyfrowe 2.7.3. Telefony mobilne trzeciej generacji (3G) — cyfrowy gïos i dane 2.6. 2.7. 2.8. Telewizja kablowa* 2.8.1. Telewizja i anteny zbiorcze 2.8.2. Internet w kablówce 2.8.3. Przydziaïy pasma 2.8.4. Modemy kablowe 2.8.5. ADSL czy kabel? 2.9. Podsumowanie 141 142 146 146 148 150 150 156 158 161 161 165 166 168 177 186 190 192 195 200 206 206 207 208 210 212 213 3. Warstwa ïÈcza danych 3.1. Problemy projektowe warstwy ïÈcza danych 3.1.1. Usïugi Ăwiadczone dla warstwy sieciowej 3.1.2. Ramkowanie 3.1.3. Kontrola bïÚdów 3.1.4. Sterowanie przepïywem 3.2. Wykrywanie i korekcja bïÚdów 3.2.1. Kody korekcyjne 3.2.2. Kody detekcyjne 221 222 222 225 229 230 231 233 239 10 SPIS TRE¥CI 245 Podstawowe protokoïy ïÈcza danych 3.3.1. Przykïadowy protokóï simpleksowy 250 3.3.2. Simpleksowy protokóï stop-and-wait dla kanaïu wolnego od bïÚdów 251 3.3.3. Protokóï simpleksowy dla kanaïu z zakïóceniami 253 3.3. 3.4. 3.5. Protokoïy z oknem przesuwnym 3.4.1. Protokóï z jednobitowym oknem przesuwnym 3.4.2. Protokóï uĝywajÈcy techniki „wróÊ do n” 3.4.3. Protokóï uĝywajÈcy powtórzeñ selektywnych Przykïadowe protokoïy ïÈcza danych 3.5.1. Pakiety w sieci SONET 3.5.2. ADSL (Asymmetric Digital Subscriber Loop) 3.6. Podsumowanie 257 260 262 269 275 275 279 282 4. Podwarstwa kontroli dostÚpu do noĂnika 287 4.1. 4.2. Problem przydzielania kanaïu 4.1.1. Statyczne przydzielanie kanaïów 4.1.2. Zaïoĝenia dla dynamicznego przydzielania kanaïu w sieciach Protokoïy dostÚpu wielokrotnego 4.2.1. ALOHA 4.2.2. Protokoïy dostÚpu wielokrotnego z wykrywaniem noĂnej 4.2.3. Protokoïy bezkolizyjne 4.2.4. Protokoïy z ograniczonÈ rywalizacjÈ 4.2.5. Protokoïy bezprzewodowych sieci LAN 4.3. Ethernet 4.3.1. Warstwa fizyczna klasycznego Ethernetu 4.3.2. Protokóï podwarstwy MAC klasycznego Ethernetu 4.3.3. WydajnoĂÊ sieci Ethernet 4.3.4. PrzeïÈczany Ethernet 4.3.5. Fast Ethernet 4.3.6. Gigabit Ethernet 4.3.7. Ethernet 10-gigabitowy 4.3.8. Ethernet z perspektywy czasu 4.4. Bezprzewodowe sieci lokalne 4.4.1. Architektura i stos protokoïów 802.11 4.4.2. Warstwa fizyczna 802.11 4.4.3. Protokóï podwarstwy MAC w 802.11 4.4.4. Struktura ramki 802.11 4.4.5. Usïugi 288 288 290 292 292 297 300 304 308 311 312 313 317 319 322 325 329 330 332 332 334 336 343 345 SPIS TRE¥CI 11 4.5. Szerokopasmowe ïÈcza bezprzewodowe* 4.5.1. Porównanie 802.16, 802.11 i telefonii komórkowej 3G 4.5.2. Architektura i stos protokoïów 802.16 4.5.3. Warstwa fizyczna 802.16 4.5.4. Protokóï podwarstwy MAC 802.16 4.5.5. Struktura ramki 802.16 4.6. Bluetooth* 4.6.1. Architektura Bluetooth 4.6.2. Zastosowania Bluetooth 4.6.3. Stos protokoïów Bluetooth 4.6.4. Warstwa radiowa w Bluetooth 4.6.5. Warstwy ïÈcza Bluetooth 4.6.6. Struktura ramki Bluetooth 4.7. RFID* 4.7.1. Architektura EPC Gen 2 4.7.2. Warstwa fizyczna EPC Gen 2 4.7.3. Warstwa identyfikacji znacznika EPC Gen 2 4.7.4. Formaty komunikatów identyfikacji znaczników 4.8. PrzeïÈczanie w warstwie ïÈcza danych 4.8.1. Zastosowania mostów 4.8.2. Podstawy dziaïania mostów 4.8.3. Drzewa czÚĂciowe mostów 4.8.4. Wzmacniaki, koncentratory, mosty, przeïÈczniki, routery i bramy 4.8.5. Wirtualne sieci LAN 4.9. Podsumowanie 5. Warstwa sieciowa 5.1. Problemy projektowe warstwy sieciowej 5.1.1. Komutacja pakietów z buforowaniem 5.1.2. Usïugi Ăwiadczone na rzecz warstwy transportowej 5.1.3. Implementacja usïugi bezpoïÈczeniowej 5.1.4. Implementacja usïugi poïÈczeniowej 5.1.5. Porównanie sieci obwodów wirtualnych i datagramowych 5.2. Algorytmy routingu 5.2.1. Zasada optymalnoĂci 5.2.2. Algorytm z wyborem najkrótszej Ăcieĝki 5.2.3. Routing rozpïywowy 5.2.4. Routing z uĝyciem wektorów odlegïoĂci 5.2.5. Routing z uĝyciem stanów poïÈczeñ 347 348 349 350 352 354 355 355 356 358 359 359 361 363 363 364 365 367 368 369 370 374 377 380 387 393 393 394 394 396 397 398 400 402 403 406 408 411 12 SPIS TRE¥CI 5.2.6. Routing hierarchiczny 5.2.7. Routing rozgïoszeniowy 5.2.8. Routing rozsyïania grupowego 5.2.9. Rozprowadzanie do najbliĝszego wÚzïa (anycast) 5.2.10. Routing dla hostów mobilnych 5.2.11. Routing w sieciach ad hoc 5.3. Algorytmy kontroli przeciÈĝeñ 5.3.1. Metody kontroli przeciÈĝeñ 5.3.2. Routing z uwzglÚdnieniem warunków ruchu 5.3.3. Kontrola dopuszczenia do sieci 5.3.4. Dïawienie ruchu 5.3.5. Zrzut obciÈĝenia 5.4. 5.5. JakoĂÊ obsïugi 5.4.1. Wymogi 5.4.2. Ksztaïtowanie ruchu 5.4.3. Szeregowanie pakietów 5.4.4. Kontrola dopuszczenia 5.4.5. Usïugi zintegrowane 5.4.6. Usïugi zróĝnicowane Sieci zïoĝone 5.5.1. Róĝnice miÚdzy sieciami 5.5.2. ’Èczenie sieci 5.5.3. Tunelowanie 5.5.4. Routing w sieciach zïoĝonych 5.5.5. Fragmentacja pakietów 5.6. Warstwa sieciowa w Internecie 5.6.1. Protokóï IPv4 5.6.2. Adresy IP 5.6.3. IPv6 5.6.4. Internetowe protokoïy sterujÈce 5.6.5. Etykietowanie i MPLS 5.6.6. OSPF — protokóï bram wewnÚtrznych 5.6.7. Protokóï bram zewnÚtrznych BGP 5.6.8. Rozsyïanie grupowe w Internecie 5.6.9. Mobilny IP 5.7. Podsumowanie 416 418 420 424 425 427 431 433 435 436 437 442 444 445 447 451 455 459 462 465 467 468 471 473 474 478 481 485 498 508 514 517 522 528 529 533 6. Warstwa transportowa 6.1. Usïuga transportowa 6.1.1. Usïugi Ăwiadczone na rzecz wyĝszych warstw 539 539 540 SPIS TRE¥CI 13 6.1.2. Prymitywy usïug transportowych 6.1.3. Gniazda Berkeley Sockets 6.1.4. Przykïad programowania — internetowy serwer plików 6.2. Elementy protokoïów transportowych 6.2.1. Adresowanie 6.2.2. Ustanawianie poïÈczenia 6.2.3. Zwalnianie poïÈczenia 6.2.4. Kontrola bïÚdów i sterowanie przepïywem 6.2.5. Multipleksacja 6.2.6. Odtwarzanie po awarii 6.3. Kontrola przeciÈĝeñ 6.4. 6.5. 6.3.1. Skuteczna alokacja przepustowoĂci 6.3.2. Regulacja prÚdkoĂci wysyïania danych 6.3.3. Kwestie dotyczÈce sieci bezprzewodowych Internetowe protokoïy transportowe — UDP 6.4.1. Wprowadzenie do protokoïu UDP 6.4.2. Zdalne wywoïania procedur 6.4.3. Protokoïy transportowe czasu rzeczywistego Internetowe protokoïy transportowe — TCP 6.5.1. Wprowadzenie do TCP 6.5.2. Model usïugi TCP 6.5.3. Protokóï TCP 6.5.4. Nagïówek segmentu TCP 6.5.5. NawiÈzywanie poïÈczenia TCP 6.5.6. Zwalnianie poïÈczenia TCP 6.5.7. Model TCP zarzÈdzania poïÈczeniami 6.5.8. Okna przesuwne 6.5.9. ZarzÈdzanie czasem przez TCP 6.5.10. Kontrola przeciÈĝeñ w TCP 6.5.11. PrzyszïoĂÊ protokoïu TCP 6.6. WydajnoĂÊ sieci* 6.6.1. Problemy zwiÈzane z wydajnoĂciÈ sieci komputerowych 6.6.2. Pomiar wydajnoĂci sieci 6.6.3. Projektowanie hostów dla szybkich sieci 6.6.4. Szybkie przetwarzanie segmentów 6.6.5. Kompresja nagïówków 6.6.6. Protokoïy dla szybkich sieci dïugodystansowych 6.7. Sieci niewraĝliwe na opóěnienia* 6.7.1. Architektura sieci DTN 6.7.2. Protokóï paczki 6.8. Podsumowanie 542 546 548 553 555 558 564 569 575 576 579 579 584 589 592 592 594 598 605 605 606 609 611 615 616 617 620 624 627 638 639 640 641 645 649 652 655 660 661 664 667 14 SPIS TRE¥CI 7. Warstwa aplikacji 673 7.1. DNS — system nazw domen 7.1.1. Przestrzeñ nazw DNS 7.1.2. Rekordy zasobów domenowych 7.1.3. Serwery nazw 7.2. Poczta elektroniczna* 7.2.1. Architektura i usïugi 7.2.2. Agent uĝytkownika 7.2.3. Formaty wiadomoĂci 7.2.4. Transfer wiadomoĂci 7.2.5. Protokoïy dostarczania koñcowego 7.3. WWW 7.3.1. PrzeglÈd architektury WWW 7.3.2. Statyczne dokumenty WWW 7.3.3. Strony dynamiczne i aplikacje WWW 7.3.4. HTTP — protokóï przesyïu hipertekstu 7.3.5. Mobilne WWW 7.3.6. Wyszukiwanie w sieci WWW Strumieniowe transmisje wideo i děwiÚku 7.4.1. DěwiÚk cyfrowy 7.4.2. Cyfrowe wideo 7.4.3. Strumieniowanie z dysku 7.4.4. Strumieniowanie na ĝywo 7.4.5. Telekonferencje 7.4. 7.5. Dystrybucja treĂci 7.5.1. TreĂci a ruch w Internecie 7.5.2. Farmy serwerów i serwery poĂredniczÈce WWW 7.5.3. Sieci dystrybucji treĂci 7.5.4. Sieci równorzÚdne P2P 7.6. Podsumowanie 8. Bezpieczeñstwo w sieciach komputerowych 8.1. Kryptografia 8.1.1. Wprowadzenie do kryptografii 8.1.2. Szyfry podstawieniowe 8.1.3. Szyfry przestawieniowe 673 675 678 682 686 688 690 695 704 710 714 715 733 744 757 769 772 774 776 782 792 801 805 816 818 821 826 832 843 849 853 853 856 858 SPIS TRE¥CI 15 8.1.4. Systemy kluczy jednokrotnych 8.1.5. Dwie fundamentalne zasady kryptografii 8.2. Algorytmy szyfrowania z kluczami symetrycznymi 8.2.1. DES 8.2.2. AES 8.2.3. Tryby szyfrowania 8.2.4. Inne przykïady szyfrów 8.2.5. Kryptoanaliza 8.3. Algorytmy z kluczami publicznymi 8.3.1. RSA 8.3.2. Inne algorytmy szyfrowania z kluczem publicznym 8.4. 8.5. Podpis cyfrowy 8.4.1. Podpisy oparte na kluczach symetrycznych 8.4.2. Podpisy oparte na kluczach publicznych 8.4.3. Skróty komunikatów 8.4.4. Atak urodzinowy ZarzÈdzanie kluczami publicznymi 8.5.1. Certyfikaty 8.5.2. X.509 8.5.3. Infrastruktura kluczy publicznych 8.6. Bezpieczeñstwo komunikacji 8.6.1. IPsec 8.6.2. Zapory sieciowe 8.6.3. Prywatne sieci wirtualne 8.6.4. Bezpieczeñstwo w sieciach bezprzewodowych 8.7. Protokoïy uwierzytelniania 8.7.1. Uwierzytelnianie w oparciu o wspóïdzielony tajny klucz 8.7.2. Ustanawianie dzielonego klucza: metoda Diffiego-Hellmana wymiany kluczy 8.7.3. Uwierzytelnianie z udziaïem centrum dystrybucji kluczy 8.7.4. Uwierzytelnianie w oparciu o Kerberos 8.7.5. Uwierzytelnianie z uĝyciem kluczy publicznych 8.8. Bezpieczeñstwo poczty elektronicznej* 8.8.1. PGP 8.8.2. S/MIME 8.9. Bezpieczeñstwo WWW 8.9.1. Zagroĝenia 8.9.2. Bezpieczne nazewnictwo 8.9.3. SSL 8.9.4. Bezpieczeñstwo ruchomego kodu 859 864 867 869 872 876 881 882 883 884 886 887 888 889 891 895 898 898 900 901 904 905 909 913 915 920 921 926 928 931 933 934 935 939 940 940 941 947 951 16 SPIS TRE¥CI 8.10. Spoïeczne aspekty sieci komputerowych 8.10.1. Ochrona prywatnoĂci 8.10.2. WolnoĂÊ sïowa 8.10.3. Prawa autorskie 8.11. Podsumowanie 955 955 958 962 965 9. Bibliografia i literatura uzupeïniajÈca 973 9.1. Zalecana literatura uzupeïniajÈca* 9.1.1. Wprowadzenie i zagadnienia ogólne 9.1.2. Warstwa fizyczna 9.1.3. Warstwa ïÈcza danych 9.1.4. Podwarstwa sterowania dostÚpem do noĂnika 9.1.5. Warstwa sieciowa 9.1.6. Warstwa transportowa 9.1.7. Warstwa aplikacji 9.1.8. Bezpieczeñstwo sieciowe 9.2. Bibliografia w ukïadzie alfabetycznym* Skorowidz O autorach 973 974 975 976 976 977 978 978 979 981 999 1023 SEK. 5.3. ALGORYTMY KONTROLI PRZECIk¿E” 431 o wyĝszych numerach sekwencyjnych albo o najniĝszej liczbie przeskoków dla bieĝÈcego numeru sekwencyjnego (w przypadku równoczesnych tras alternatywnych). W duchu protokoïu realizowanego na ĝÈdanie wÚzïy poĂrednie przechowujÈ wyïÈcz- nie te trasy, które sÈ obecnie w uĝyciu. Pozostaïe informacje o trasach w sieci, zdobyte w ramach rozgïaszania, ulegajÈ szybkiemu przeterminowaniu. Odkrywanie i przecho- wywanie jedynie aktywnych tras pozwala oszczÚdzaÊ przepustowoĂÊ i energiÚ w urzÈdze- niach przenoĂnych, bo daje mniejszy narzut operacyjny w porównaniu do standardowego protokoïu z wektorem odlegïoĂci, z okresowym rozgïaszaniem aktualizacji tras. Jak dotÈd rozpatrywaliĂmy zaledwie jednÈ trasÚ: od A do I. W celu dalszej oszczÚd- noĂci zasobów odkrywanie tras i zarzÈdzanie nimi jest wspólne dla tych tras, które siÚ pokrywajÈ. Na przykïad gdyby proces w wÚěle B zamierzaï wysïaÊ pakiet do I, takĝe dokonaïby operacji odkrywania trasy; ale w tym przypadku jego ĝÈdanie podania trasy trafiïoby najpierw do D, który to wÚzeï zna juĝ trasÚ do I. WÚzeï D nie musi wiÚc rozgïa- szaÊ ĝÈdania dalej, tylko odsyïa do B znanÈ mu trasÚ do I, eliminujÈc wiele etapów proce- dury odkrywania osobnej trasy miÚdzy B a I. Istnieje jeszcze wiele innych schematów routingu w sieciach ad hoc. Jednym z bar- dziej znanych jest DSR (Dynamic Source Routing), równieĝ realizowany na ĝÈdanie (Johnson i inni, 2001). InnÈ strategiÚ (opartÈ na geograficznym poïoĝeniu wÚzïów) reali- zuje GPSR (Greedy Perimeter Stateless Routing) (Karp i Kung, 2000): jeĂli wszystkie wÚzïy znajÈ swoje poïoĝenie geograficzne, rozprowadzanie pakietu do miejsca przezna- czenia moĝe siÚ odbywaÊ bez wyznaczania trasy — wystarczy przekazywaÊ pakiet w odpowiednim kierunku i ewentualnie cofaÊ go ze „Ălepych uliczek”. Dobór optymalnego protokoïu jest jak zawsze uzaleĝniony od typu i rodzaju danej sieci ad hoc. 5.3. ALGORYTMY KONTROLI PRZECIk¿E” 5.3. Algorytmy kontroli przeciąĪeĔ Nadmierna liczba pakietów obecna w sieci albo w jej czÚĂci doprowadza do opóěnienia rozprowadzania pakietów i w efekcie do utraty wydajnoĂci. Sytuacja taka nosi nazwÚ przeciÈĝenia. OdpowiedzialnoĂÊ za radzenie sobie z przeciÈĝeniami ruchu jest podzie- lona pomiÚdzy warstwÚ sieciowÈ i transportowÈ. Skoro do przeciÈĝeñ dochodzi w sieci, doĂwiadcza ich przede wszystkim warstwa sieciowa i to ona ostatecznie musi zaradziÊ powstaïemu problemowi nadmiaru pakietów. Z drugiej strony, obciÈĝenie wynika z natÚ- ĝenia ruchu przenoszonego przez warstwÚ transportowÈ. Dlatego dla skutecznego uni- kania i eliminowania przeciÈĝeñ konieczna jest wspóïpraca warstwy sieciowej i trans- portowej. W tym rozdziale przyjrzymy siÚ aspektom przeciÈĝeñ w warstwie sieciowej. Temat przeciÈĝeñ dokoñczymy, omawiajÈc aspekty warstwy transportowej w rozdziale 6. Rysunek 5.19 ilustruje rozwój przeciÈĝenia sieciowego. Kiedy liczba pakietów wysy- ïanych do sieci przez stacjÚ mieĂci siÚ w zakresie zdolnoĂci przenoszenia sieci, liczba pakietów dostarczonych jest wprost proporcjonalna do liczby pakietów wysïanych. Kiedy host wysyïa dwukrotnie wiÚcej pakietów, odbiorca teĝ dostanie ich dwa razy wiÚcej. 432 WARSTWA SIECIOWA ROZ. 5 Rysunek 5.19. Przy nadmiernym ruchu efektywnoĂÊ sieci zaczyna maleÊ Ale kiedy liczba ta bÚdzie zbliĝaÊ siÚ do granicznej przepustowoĂci sieci, serie pakie- tów mogÈ momentami doprowadzaÊ do wysycenia buforów w routerach rozprowadzajÈ- cych pakiety, co z kolei oznacza utratÚ niektórych pakietów. Utracone pakiety zuĝywaïy pewnÈ czÚĂÊ przepustowoĂci, wiÚc liczba pakietów dostarczonych zaczyna byÊ mniej- sza od liczby pakietów wysïanych — krzywa dostarczania zaczyna odbiegaÊ od prostej. Mówimy wtedy o przeciÈĝeniu sieci. JeĂli sieÊ jest sïabo zaprojektowana, moĝe w niej dojĂÊ do zapaĂci, gdy liczba wysy- ïanych pakietów przekroczy przepustowoĂÊ sieci. Moĝe to byÊ wynikiem choÊby tego, ĝe opóěnienie rozprowadzania pakietów moĝe je uniewaĝniaÊ w miejscu przeznaczenia. Na przykïad we wczesnej fazie rozwoju Internetu czas, jaki pakiet spÚdzaï w oczekiwaniu na rozprowadzenie na powolnym, 56-kilobitowym ïÈczu, mógï przekraczaÊ czas, po którym nadawca decyduje siÚ na ponowne wysïanie pakietu z powodu braku potwier- dzenia odebrania. Dochodzi wtedy do powielania pakietów wysyïanych do sieci, co nie- wÈtpliwie zwiÚksza przeciÈĝenie i zmniejsza jej wydajnoĂÊ. Na osi y na rysunku 5.19 zaznaczono wiÚc wartoĂÊ skutecznego dostarczania, to znaczy liczbÚ przydatnych pakie- tów przenoszonych przez sieÊ. PoĝÈdana jest sieÊ, w której do przeciÈĝeñ nie dochodzi, a juĝ na pewno nie docho- dzi do zapaĂci w wyniku przeciÈĝenia. Niestety, przeciÈĝenia nie zawsze da siÚ unik- nÈÊ. JeĂli nagle strumienie pakietów zacznÈ przychodziÊ na trzech lub czterech liniach wejĂciowych i wszystkie bÚdÈ wymagaïy tej samej linii wyjĂciowej, powstanie kolejka. Jeĝeli w pamiÚci braknie miejsca na wszystkie te dane, pakiety zacznÈ siÚ gubiÊ. Roz- budowa pamiÚci moĝe pomóc do pewnego punktu, lecz Nagle (1987) uzmysïowiï nam, ĝe gdyby routery miaïy nieskoñczonÈ pojemnoĂÊ pamiÚci, przeciÈĝenia staïyby siÚ wiÚksze, a nie mniejsze, poniewaĝ do czasu dotarcia do poczÈtku kolejki pakiety traciïyby waĝ- noĂÊ (raz za razem) i ěródïo wysyïaïoby duplikaty, co nie poprawia sytuacji, tylko jÈ pogarsza — prowadzi bowiem wprost do zapaĂci. ½ródïem przeciÈĝeñ sieci sÈ równieĝ ïÈcza o niskiej przepustowoĂci albo routery, które przetwarzajÈ pakiety wolniej, niĝ one napïywajÈ. W takim przypadku sytuacjÚ moĝna poprawiÊ poprzez kierowanie czÚĂci ruchu poza wÈskie gardïa sieci; ostatecznie SEK. 5.3. ALGORYTMY KONTROLI PRZECIk¿E” 433 jednak przy staïym wzroĂcie ruchu przeciÈĝenie musi objÈÊ wszystkie regiony sieci. W takiej sytuacji nie ma wyjĂcia: trzeba albo okroiÊ ruch, albo zbudowaÊ szybszÈ sieÊ. Warto tu wyjaĂniÊ róĝnicÚ pomiÚdzy kontrolÈ przeciÈĝeñ i sterowaniem przepïy- wem, poniewaĝ ich zwiÈzek jest bardzo subtelny. Kontrola przeciÈĝeñ ma gwarantowaÊ, ĝe sieÊ bÚdzie w stanie przenieĂÊ caïy wprowadzany do niej ruch. Jest to problem glo- balny, obejmujÈcy zachowanie wszystkich hostów i wszystkich routerów. Z kolei ste- rowanie przepïywem odnosi siÚ do ruchu pomiÚdzy konkretnymi nadawcami i odbior- cami. Jego zadaniem jest gwarantowanie, ĝe szybki nadajnik nie bÚdzie stale wysyïaï danych szybciej, niĝ odbiornik bÚdzie mógï je przyjmowaÊ. Aby zrozumieÊ róĝnicÚ pomiÚdzy tymi dwoma mechanizmami, wyobraěmy sobie sieÊ zïoĝonÈ ze 100-gigabitowych ïÈczy optycznych, w której superkomputer usiïuje wtïo- czyÊ duĝy plik do komputera osobistego, którego interfejs dziaïa z prÚdkoĂciÈ zaledwie 1 Gb/s. Wprawdzie przeciÈĝenie nie wystÈpi (sieÊ nie ma kïopotów), lecz potrzebne bÚdzie sterowanie przepïywem, aby zmuszaÊ superkomputer do czÚstych postojów, dajÈcych komputerowi osobistemu szansÚ odetchnÈÊ. DrugÈ skrajnoĂciÈ moĝe byÊ na przykïad sieÊ z buforowaniem majÈca ïÈcza 1 Mb/s i 1000 duĝych komputerów, z których poïowa usiïuje przesyïaÊ pliki z szybkoĂciÈ 100 kb/s do drugiej poïowy. Tutaj problem nie polega na przytïaczaniu odbiornika przez szybki nadajnik, lecz na przekroczeniu przez caïkowity oferowany ruch moĝliwoĂci sieci. Powodem czÚstego mylenia sterowania przepïywem i kontroli przeciÈĝeñ jest fakt, ĝe najlepszym rozwiÈzaniem obu jest spowolnienie nadawców pakietów. Wobec tego host moĝe otrzymaÊ komunikat „zwolnij” albo dlatego, ĝe z obciÈĝeniem nie radzi sobie odbiornik, albo dlatego, ĝe nie radzi sobie sieÊ. Wrócimy do tej kwestii w rozdziale 6. Zaczniemy analizÚ kontroli przeciÈĝeñ od spojrzenia na podejĂcia, które stosuje siÚ w róĝnych skalach czasowych. Potem zajmiemy siÚ zapobieganiem przeciÈĝeniom, a nastÚpnie sposobom postÚpowania, kiedy jednak siÚ pojawiÈ. 5.3.1. Metody kontroli przeciÈĝeñ ObecnoĂÊ przeciÈĝenia oznacza, ĝe obciÈĝenie sieci (czasowo) przekracza zasoby sie- ciowe (albo przynajmniej zasoby któregoĂ regionu sieci). PrzychodzÈ wtedy na myĂl dwa rozwiÈzania: zwiÚkszenie zasobów albo zmniejszenie obciÈĝenia. Na rysunku 5.20 widaÊ, ĝe rozwiÈzania te sÈ zazwyczaj realizowane ïÈcznie, ale w róĝnych horyzontach czasowych, aby z jednej strony reagowaÊ na obecne przeciÈĝenia, a z drugiej unikaÊ przyszïych. Rysunek 5.20. Krótko- i dïugofalowe dziaïania eliminujÈce przeciÈĝenia 434 WARSTWA SIECIOWA ROZ. 5 Najprostszym sposobem unikania przeciÈĝenia jest zbudowanie sieci, która dokïadnie odpowiada specyfice przenoszonego w niej ruchu. JeĂli na linii, którÈ idzie wiÚkszoĂÊ pakietów, znajduje siÚ powolne ïÈcze, przeciÈĝenie sieci jest wiÚcej niĝ prawdopodobne. Niekiedy w obliczu powaĝnego przeciÈĝenia moĝna zasilaÊ sieÊ nowymi zasobami, na przykïad wïÈczajÈc rezerwowe routery czy teĝ doïÈczajÈc ïÈcza, które normalnie sïuĝÈ wyïÈcznie do zabezpieczenia redundancji (na wypadek fizycznych awarii ïÈczy podsta- wowych). Moĝna teĝ na szybko nabywaÊ przepustowoĂÊ oferowanÈ na wolnym rynku przez innych operatorów. Zwykle te routery i ïÈcza, które sÈ najczÚĂciej przeciÈĝone, sÈ modernizowane w najbliĝszym moĝliwym terminie. Odbywa siÚ to juĝ jednak w hory- zoncie co najmniej miesiÚcy i wyïÈcznie po potwierdzeniu dïugofalowego trendu w ruchu sieciowym. Aby moĝliwie dobrze wykorzystaÊ dostÚpnÈ pojemnoĂÊ sieci, routery powinny byÊ przystosowane do wzorców obsïugiwanego ruchu i do ich ewentualnych zmian w czasie (np. do zmian dobowego obciÈĝenia poszczególnych ïÈczy). Moĝna na przykïad na route- rach odciÈgaÊ ruch z najbardziej obciÈĝonych tras poprzez tymczasowÈ zmianÚ wag poszczególnych Ăcieĝek. W niektórych stacjach radiowych i telewizyjnych stosuje siÚ napowietrznÈ obserwacjÚ stanu dróg w mieĂcie, umoĝliwiajÈcÈ podawanie kierowcom informacji o korkach. Analogiczne obserwacje i dostosowania moĝna prowadziÊ w sie- ciach komputerowych — mówimy wtedy o routingu z uwzglÚdnieniem warunków ruchu (ang. traffic-aware routing). Pomocny bywa równieĝ rozdziaï ruchu pomiÚdzy alternatywne Ăcieĝki dostarczania. Niekiedy jednak zwiÚkszenie (choÊby tymczasowe) pojemnoĂci sieci jest niemoĝliwe; wtedy przeciÈĝenie moĝna zatrzymaÊ wyïÈcznie poprzez zmniejszenie obciÈĝenia ze strony nadawców pakietów. W sieciach z obwodami wirtualnymi odrzuca siÚ wtedy nowe poïÈczenia, bo doprowadziïyby do zapaĂci wydajnoĂci sieci. Takie dziaïania noszÈ miano sterowania dopuszczeniem do sieci (ang. admission control). Na niĝszym poziomie w obliczu przeciÈĝenia sieÊ sama moĝe dostarczaÊ nadawcom pakietów wskazówki, aby ci zmniejszyli prÚdkoĂÊ swoich transmisji. Moĝna wtedy mówiÊ o dïawieniu ruchu ze strony nadawców albo o zrzucie obciÈĝenia ze strony samej sieci. Problemem jest tutaj samo wykrycie zbliĝajÈcego siÚ przeciÈĝenia oraz sposoby informowania nadawców o koniecznoĂci spowolnienia transmisji. PierwszÈ kwestiÚ roz- wiÈzuje siÚ mechanizmami monitorowania na routerach sieciowych, rejestrujÈcych Ăred- nie opóěnienia kolejkowania pakietów, Ărednie obciÈĝenie przetwarzaniem i stopieñ utraty pakietów. We wszystkich przypadkach rosnÈce wartoĂci wskazujÈ na rosnÈce przeciÈĝenie. Co do drugiego problemu konieczne jest uczestnictwo routerów w pÚtli zwrotnej informacji nadawców pakietów. Aby taka metoda dziaïaïa poprawnie, zaleĝnoĂci czasowe muszÈ byÊ dokïadnie regulowane. Gdyby po kaĝdym dotarciu dwóch pakietów pod rzÈd router krzyczaï: „Stop!”, a po kaĝdym okresie bezczynnoĂci routera wynoszÈcym 20 Ps krzyczaï: „Dalej!”, system oscylowaïby gwaïtownie i nigdy siÚ nie ustabilizowaï. Gdyby z drugiej strony czekaï 30 minut na nabranie pewnoĂci przed powiedzeniem czegokol- SEK. 5.3. ALGORYTMY KONTROLI PRZECIk¿E” 435 wiek, mechanizm kontroli przeciÈĝeñ reagowaïby zbyt Ălamazarnie, aby do czegokolwiek siÚ nadawaÊ. Dostarczanie na czas wskazówek co do dopuszczalnej prÚdkoĂci transmi- sji nie jest wcale proste; do tego routery niefrasobliwie dostarczajÈce takie powiado- mienia same z siebie przyczyniajÈ siÚ do wzrostu obciÈĝenia sieci. Ostatecznie kiedy wszystko inne zawiedzie, sieÊ jest zmuszona do odrzucania pakietów, których nie jest w stanie dostarczyÊ. Mówi siÚ wtedy o zrzucie obciÈĝenia (ang. load shedding). Tutaj dla zapobiegania przeciÈĝeniom i eliminowania ich istotna jest wywaĝona polityka wyboru odrzucanych pakietów. 5.3.2. Routing z uwzglÚdnieniem warunków ruchu W pierwszej kolejnoĂci zajmiemy siÚ routingiem z uwzglÚdnieniem warunków ruchu. Metody routingu omawiane w podrozdziale 5.2 wykorzystywaïy staïe, predefiniowane wagi dla poszczególnych ïÈczy. Adaptowaïy siÚ do zmian w topologii sieci, ale nie do zmian w jej obciÈĝeniu. Kiedy mówimy o wyznaczaniu tras z uwzglÚdnieniem obciÈĝenia poszczególnych fragmentów sieci, chcemy wyznaczaÊ trasy tak, aby oddalaÊ ruch od wÈskich gardeï, które bÚdÈ pierwszymi miejscami naraĝonymi na przeciÈĝenia. Najbardziej oczywistym sposobem na to jest zdefiniowanie wagi ïÈcza jako funkcji (staïej) przepustowoĂci ïÈcza oraz opóěnienia propagacji sygnaïu plus (zmiennej) mie- rzonego obecnie obciÈĝenia przetwarzania albo Ăredniego opóěnienia kolejkowania pakie- tów. Podobne pod wzglÚdem innych kosztów Ăcieĝki sÈ wtedy róĝnicowane za pomocÈ wydajnoĂci, a algorytm routingu powinien dobieraÊ te, które majÈ mniejszÈ wartoĂÊ funkcji wagi. Routing z uwzglÚdnieniem warunków ruchu byï w takim wydaniu stosowany juĝ we wczesnej sieci Internet (Khanna i Zinky, 1989), ale nie bez kïopotów — weěmy sieÊ z rysunku 5.21, podzielonÈ na dwie czÚĂci: Wschód i Zachód, spiÚte dwoma ïÈczami: CF i EI. Zaïóĝmy, ĝe wiÚkszoĂÊ ruchu pomiÚdzy wschodem i zachodem odbywa siÚ za poĂrednictwem ïÈcza CF, w efekcie czego ïÈcze to jest mocno obciÈĝone i cechuje siÚ duĝymi opóěnieniami. UwzglÚdnienie opóěnienia kolejkowania w wadze uĝywanej do wyznaczania najkrótszej Ăcieĝki sprawi, ĝe ïÈcze EI zyska priorytet. Po zainstalowaniu nowych tabel routingu wiÚkszoĂÊ ruchu miÚdzy wschodem i zachodem bÚdzie siÚ odby- waÊ ïÈczem EI, mocno je obciÈĝajÈc. W efekcie po nastÚpnej aktualizacji tablic routingu lepszym ïÈczem okaĝe siÚ ponownie CF. Ostatecznie dojdzie do oscylacji tabel routingu, co bÚdzie destabilizowaïo routing i prowokowaïo liczne inne problemy. JeĂli w wyznaczaniu najkrótszej trasy zignorujemy parametr obciÈĝenia i uwzglÚd- nimy tylko opóěnienia propagacji pakietów, powyĝszy problem nie zaistnieje. Z kolei próby uwzglÚdniania obciÈĝenia, ale przy ograniczonym wspóïczynniku owocujÈ jedynie zmniejszeniem czÚstotliwoĂci oscylacji routingu. Skuteczne rozwiÈzanie wymaga zasto- sowania jednej z dwóch technik. Pierwsza z nich to routing wieloĂcieĝkowy, dopuszcza- jÈcy obecnoĂÊ w tablicach routingu wielu tras do danego odbiorcy. W naszym przykïadzie oznaczaïoby to rozïoĝenie obciÈĝenia pomiÚdzy oba ïÈcza: Wschód – Zachód. Druga 436 WARSTWA SIECIOWA ROZ. 5 Rysunek 5.21. SieÊ, w której Zachód i Wschód sÈ spiÚte dwoma ïÈczami technika to stopniowe przeïÈczanie ruchu pomiÚdzy routerami, na tyle powolne, aby mogïy one w miÚdzyczasie aktualizowaÊ parametry ïÈczy i ostatecznie osiÈgnÈÊ stabil- noĂÊ tablic routingu, jak w metodzie Gallaghera (1977). Z uwagi na powyĝsze trudnoĂci w protokoïach routingu w Internecie unika siÚ dosto- sowywania tras na podstawie obciÈĝenia. Ewentualne dostosowania odbywajÈ siÚ za to poza protokoïem routingu — zmieniane sÈ wiÚc jego dane wejĂciowe, a nie algorytm. Mówimy wtedy o inĝynierii ruchu. 5.3.3. Kontrola dopuszczenia do sieci W sieciach z obwodami wirtualnymi powszechnie stosowanÈ technikÈ unikania prze- ciÈĝeñ jest kontrola dopuszczenia do sieci. Pomysï jest prosty: nie wolno dopuszczaÊ do tworzenia nowych obwodów wirtualnych, jeĂli sieÊ nie bÚdzie w stanie obsïuĝyÊ ruchu w tych obwodach. Próba zestawienia obwodu wirtualnego w takich warunkach powinna zostaÊ zablokowana. To znacznie lepsze rozwiÈzanie niĝ dopuszczenie do sieci juĝ obciÈ- ĝonej, a wkrótce przeciÈĝonej. Analogicznie w systemie telefonicznym, kiedy centrala jest przeciÈĝona, blokada dopuszczenia do sieci odbywa siÚ poprzez brak emisji děwiÚ- ków wywoïania. SztukÈ jest tu wytypowanie momentu, od którego dodawanie nowych obwodów wirtualnych naraĝa sieÊ na przeciÈĝenie. W sieci telefonicznej jest to proste, poniewaĝ operuje ona na obwodach o z góry okreĂlonej prÚdkoĂci transmisji (64 kb/s w przypadku nieskompresowanych danych děwiÚkowych). Ale w sieciach komputerowych obwody wirtualne mogÈ definiowaÊ kanaïy o najróĝniejszym zapotrzebowaniu na przepustowoĂÊ. Kaĝdy obwód powinien mieÊ wiÚc przypisanÈ jakÈĂ charakterystykÚ przenoszonego ruchu, inaczej trudno zarzÈdzaÊ dopuszczeniem do sieci. Ruch jest czÚsto opisywany miarami prÚdkoĂci i rozkïadu. SÚk w dobraniu takiego opisu, który w prosty, ale znaczÈcy sposób scharakteryzuje ruch w danym obwodzie — jest to problematyczne, poniewaĝ ruch pojawia siÚ zazwyczaj w seriach mocno odbie- SEK. 5.3. ALGORYTMY KONTROLI PRZECIk¿E” 437 gajÈcych od wartoĂci Ărednich. Na przykïad ruch zwiÈzany z przeglÈdaniem strony WWW jest zupeïnie inny niĝ ruch obsïugujÈcy strumieniowanie wideo i ten pierwszy trudniej scharakteryzowaÊ w dïugim okresie, poniewaĝ skumulowane serie ruchu WWW mogÈ ïatwo doprowadziÊ do przeciÈĝenia routerów w sieci. Powszechnie stosowanÈ miarÈ, która uwzglÚdnia ten efekt, jest tzw. cieknÈce wiadro bÈdě wiadro ĝetonów. Operuje ona na dwóch parametrach, które reprezentujÈ prÚdkoĂÊ ĂredniÈ ruchu i zwiÚkszonÈ prÚd- koĂÊ chwilowÈ. WiÚcej o tych miarach powiemy w podrozdziale 5.4, przy okazji omawia- nia metod zapewniania jakoĂci obsïugi. Uzbrojeni w deskryptory ruchu moĝemy w sieci decydowaÊ, czy dopuĂciÊ zestawie- nie nowego obwodu wirtualnego, czy nie. SieÊ moĝe na przykïad rezerwowaÊ okreĂlonÈ pojemnoĂÊ wzdïuĝ Ăcieĝek wykorzystywanych przez istniejÈce juĝ obwody wirtualne, tak aby nie dopuĂciÊ do ich przeciÈĝenia. W takim ukïadzie deskryptor ruchu jest swego rodzaju umowÈ Ăwiadczenia usïugi — takÈ zarezerwowanÈ pojemnoĂÊ gwarantuje sieÊ. PrzeciÈĝenie jest wtedy niemoĝliwe. ZagïÚbiliĂmy siÚ jednak zanadto w temat jakoĂci obsïugi — wrócimy do niego w nastÚpnym podrozdziale. Nawet w przypadku braku gwarancji co do obwodu wirtualnego sieÊ wciÈĝ moĝe korzystaÊ z danych zawartych w deskryptorze ruchu i decydowaÊ o dopuszczeniu do niej. Wystarczy oszacowaÊ, ile obwodów pomieĂci siÚ w sieci bez ryzyka przeciÈĝenia. Zaïóĝmy, ĝe obwody wirtualne przepychajÈ ruch o szczytowej prÚdkoĂci do 10 Mb/s wzdïuĝ tego samego 100-megabitowego ïÈcza fizycznego. Ile takich obwodów moĝna dopuĂciÊ? 10 ob- wodów na pewno nie przeciÈĝy sieci, ale z drugiej strony tak maïa ich liczba oznacza marnotrawstwo, poniewaĝ rzadko kiedy szczytowe natÚĝenia ruchu dotyczÈ wszystkich obwodów w tym samym momencie. W faktycznych sieciach zbiera siÚ statystyki opisujÈce dane typy transmisji i na ich podstawie szacuje siÚ liczbÚ obsïugiwanych obwodów wirtual- nych — dziÚki temu zyskujemy na efektywnoĂci sieci, jednak kosztem zwiÚkszonego (ale wciÈĝ akceptowalnego) ryzyka przeciÈĝenia. Dopuszczanie moĝna teĝ poïÈczyÊ z routingiem z uwzglÚdnieniem warunków ruchu, a wiÚc z ustawieniem tras dla danego ruchu z pominiÚciem wÈskich gardeï. Spójrzmy na przykïad na sieÊ z rysunku 5.22 (a), w której przeciÈĝone sÈ dwa routery (oznaczone na rysunku). Zaïóĝmy, ĝe host podïÈczony do routera A chce nawiÈzaÊ poïÈczenie z hostem pod- ïÈczonym do routera B. Zwykle poïÈczenie to przechodziïoby przez jeden z przeciÈĝo- nych routerów. Aby uniknÈÊ takiej sytuacji, moĝemy narysowaÊ sieÊ na nowo, jak na rysunku 5.22 (b), pomijajÈc przeciÈĝone routery i wszystkie ich linie. Linia przerywana przedstawia moĝliwÈ trasÚ dla obwodu wirtualnego, unikajÈcÈ przeciÈĝonych routerów. Tego rodzaju routing wraĝliwy na obciÈĝenie opisywaï Shaikh i inni (1999). 5.3.4. Dïawienie ruchu W Internecie i w wielu innych sieciach komputerowych nadawcy dostosowujÈ prÚd- koĂÊ transmisji, tak aby wysïaÊ moĝliwie duĝÈ iloĂÊ danych, do maksimum dopuszczal- nego pojemnoĂciÈ sieci. W takim ukïadzie sieÊ z zaïoĝenia pracuje w warunkach tuĝ 438 WARSTWA SIECIOWA ROZ. 5 Rysunek 5.22. (a) SieÊ z przeciÈĝeniami, (b) Fragment sieci wolny od przeciÈĝenia. W punkcie (b) zostaï pokazany dodatkowo obwód wirtualny z A do B poniĝej punktu przeciÈĝenia. JeĂli to przeciÈĝenie jest juĝ bardzo bliskie, sieÊ musi powiadomiÊ nadawców o koniecznoĂci zdïawienia ich transmisji i spowolnienia tempa wysyïania pakietów. Owa wskazówka jest traktowana jako sytuacja zwyczajna, nie zaĂ jako sytuacja wyjÈtkowa. Do opisu tego zachowania sieci stosuje siÚ pojÚcie unikania przeciÈĝenia (ang. congestion avoidance) — dla odróĝnienia tego momentu od stanu fak- tycznego przeciÈĝenia sieci. Przyjrzymy siÚ kilku podejĂciom do realizacji pomysïu dïawienia ruchu, nadajÈcym siÚ do stosowania zarówno w sieciach datagramowych, jak i w sieciach z obwodami wir- tualnymi. Kaĝde z opisywanych podejĂÊ ïÈczy siÚ z dwoma problemami. Przede wszyst- kim routery muszÈ potrafiÊ okreĂliÊ moment zbliĝajÈcego siÚ przeciÈĝenia, najlepiej jeszcze zanim ono faktycznie nastÈpi. W tym celu router musi stale monitorowaÊ zasoby uĝy- wane do rozprowadzania ruchu. DostÚpnymi tu miarami sÈ zajÚtoĂÊ ïÈczy wyjĂciowych, rozmiar wewnÚtrznych buforów oczekujÈcych na przetworzenie oraz liczba pakietów, które zostaïy utracone z powodu braku miejsca w buforach. Z tych trzech najbardziej istotny jest parametr drugi. ¥rednia zajÚtoĂÊ ïÈczy nie odpowiada wprost obciÈĝeniu z powodu charakterystyki wielu transmisji (np. chwilowe szczyty transmisji): zuĝycie na poziomie 50 moĝe oznaczaÊ wartoĂÊ niskÈ przy gïadkim ruchu o staïym natÚĝeniu albo juĝ zbyt wysokÈ dla ruchu o duĝej zmiennoĂci natÚĝenia. Z kolei liczba pakietów utra- conych jest miarÈ dostÚpnÈ zbyt póěno — gdy dochodzi do tracenia pakietów na wejĂciu do routera, juĝ moĝna mówiÊ o przeciÈĝeniu sieci. Tymczasem dobrym opisem przeciÈĝenia jest opóěnienie kolejkowania pakietów do przetworzenia w routerach; przez wiÚkszoĂÊ czasu rozmiar kolejki powinien byÊ maïy, ale w przypadku pojawienia siÚ chwilowych skoków natÚĝenia ruchu od razu widaÊ jej wydïuĝenie. Do wyznaczenia porzÈdnej estymaty opóěnienia kolejkowania d moĝna uokresowiÊ próbkÚ chwilowej dïugoĂci kolejki s i odpowiednio dostosowywaÊ d — wedïug wzoru: dnowe = dstare + (1 – Į)s SEK. 5.3. ALGORYTMY KONTROLI PRZECIk¿E” 439 gdzie staïa Į opisuje szybkoĂÊ, z jakÈ router zapomina miary historyczne. Jest to tak zwana miara EWMA (Exponentially Weighted Moving Average), czyli kroczÈca Ărednia waĝona wykïadniczo. Wygïadza ona fluktuacje i odpowiada dziaïaniu dolnoprzepusto- wego filtra czÚstotliwoĂci. Kiedy d przekracza wartoĂÊ progowÈ, router wykrywa stan bliski przeciÈĝeniu. Drugi problem do rozwiÈzania to potrzeba dostarczenia do odpowiednich nadawców powiadomieñ o koniecznoĂci zdïawienia transmisji w momencie, kiedy jeszcze moĝna zapobiec przeciÈĝeniu. Samo przeciÈĝenie jest odczuwalne w caïej sieci, natomiast prewen- cja wymaga dziaïañ po stronie nadawców uĝywajÈcych tej sieci. Dostarczenie zalecenia spowolnienia transmisji wymaga od routerów identyfikowania wïaĂciwych nadawców. Same ostrzeĝenia powinny byÊ teĝ stosowane oszczÚdnie, bez zalewania pakietami ostrze- gawczymi sieci stojÈcej u progu przeciÈĝenia. RozwiÈzañ jest kilka. Pakiety tïumienia Najbardziej oczywistym sposobem powiadomienia nadawcy o rychïym przeciÈĝeniu jest komunikacja bezpoĂrednia. W tej metodzie router wybiera nadawcÚ pakietów prze- ciÈĝajÈcych i wysyïa pakiet tïumienia (ang. choke packet) z powrotem do hosta ěró- dïowego, podajÈc mu cel transmisji znaleziony w pakiecie. Pierwotny pakiet moĝe byÊ oznaczony przez wïÈczenie bitu w nagïówku, aby nie generowaï kolejnych pakietów tïu- mienia po drodze, a nastÚpnie zostaje przekazany dalej jak zwykle. W celu unikniÚcia zwiÚkszenia obciÈĝenia sieci w czasie przeciÈĝenia router moĝe wysyïaÊ pakiety tïu- miÈce z maïÈ prÚdkoĂciÈ. Gdy host ěródïowy otrzymuje pakiet tïumienia, wymaga siÚ od niego redukcji ruchu wysyïanego do wskazanego celu, na przykïad o 50 . W sieci datagramowej wybór nadawcy pakietów do zdïawienia jest prosty — zwyczajne losowe próbkowanie ocze- kujÈcych pakietów daje duĝÈ szansÚ natrafienia na szybkiego nadawcÚ (jego pakietów jest stosunkowo duĝo). Jest teĝ równie prawdopodobne, ĝe pakiety tïumiÈce trafiÈ wtedy do tego samego nadawcy wielokrotnie. W takim przypadku powinien on ignorowaÊ kolejno spïywajÈce pakiety, póki odstÚp miÚdzy nimi mieĂci siÚ w jakimĂ okreĂlonym przedziale czasu — tak aby mieÊ szansÚ doczekaÊ efektów pierwszego zmniejszenia prÚdkoĂci transmisji. JeĂli po tym okresie pakiety tïumiÈce wciÈĝ spïywajÈ, nadawca powinien ponownie zmniejszyÊ prÚdkoĂÊ transmisji, bo sieÊ wciÈĝ jest przeciÈĝona. Przykïadem pakietu tïumiÈcego z wczesnej fazy rozwoju sieci Internet jest komunikat SOURCEQUENCH (Postel, 1981). Nie przyjÈï siÚ on jednak, po czÚĂci z powodu braku jasnego okreĂlenia okolicznoĂci, w których miaï byÊ generowany, i oczekiwanych dziaïañ po stronie odbiorcy pakietu. We wspóïczesnym Internecie stosuje siÚ alternatywne powiadomienia. Jawne powiadamianie o przeciÈĝeniach Zamiast generowaÊ dodatkowe pakiety ostrzegajÈce przed przeciÈĝeniem, router moĝe oznaczyÊ takim komunikatem dowolny rozprowadzany pakiet (odbywa siÚ to poprzez ustawienie bitu w nagïówku pakietu). Kiedy sieÊ dostarczy pakiet, jego adresat moĝe 440 WARSTWA SIECIOWA ROZ. 5 zorientowaÊ siÚ w sytuacji i poinformowaÊ o niej nadawcÚ w jednym z pakietów odpo- wiedzi (bÈdě potwierdzenia odbioru). Tak powiadomiony nadawca moĝe wtedy przejĂÊ do dïawienia swojej transmisji. Schemat ten nosi miano jawnego powiadamiania o przeciÈĝeniu, w skrócie ECN (od Explicit Congestion Notification), i jest stosowany w sieci Internet (Ramakrishnan i inni, 2001). Jest to udoskonalona wersja wczesnych protokoïów sygnalizacji przeciÈĝeñ, przede wszystkim metody powiadamiania binarnego opracowanej przez Ramakrishnana i Jaina (1988), która byïa stosowana w architekturze sieci DECNET. W nagïówku pakietu IP zarezerwowano dwa bity przeznaczone do oznaczania pakietu pod przeciÈĝeniem. Nadawca wysyïa pakiety z bitami wyzerowanymi (jak na rysunku 5.23). JeĂli którykolwiek z route- rów po drodze jest przeciÈĝony, oznaczy pakiet bitem przeciÈĝenia i rozprowadzi go do odbiorcy. ObowiÈzkiem adresata jest odpowiadaÊ nadawcy z zachowaniem bitów ode- branych z sieci, wiÚc nadawca dowie siÚ o przeciÈĝeniu wraz z najbliĝszÈ odpowiedziÈ odbiorcy (np. wraz z pakietem potwierdzajÈcym odebranie transmisji). Na rysunku sygnaï o przeciÈĝeniu jest zaznaczony liniÈ przerywanÈ, poniewaĝ pojawia siÚ na poziomie pro- tokoïu i pakietów IP (np. w transmisji TCP), a nie na poziomie wïaĂciwych danych wymienianych przez strony komunikacji. Nadawca transmisji po odebraniu od odbiorcy pakietów z ustawionymi bitami sygnalizacji przeciÈĝenia powinien zareagowaÊ tak jak na pakiety tïumiÈce, czyli zdïawiÊ swojÈ transmisjÚ. Rysunek 5.23. Jawne powiadamianie o przeciÈĝeniu Tïumienie skok po skoku Przy duĝych szybkoĂciach i dïugich dystansach po zasygnalizowaniu przeciÈĝenia przez router nadawca moĝe wysïaÊ jeszcze wiele pakietów, a to z powodu opóěnienia, z jakim odbiera sygnaï o przeciÈĝeniu. Weěmy na przykïad hosta z San Francisco (router A na rysunku 5.24), który wysyïa transmisjÚ do hosta w Nowym Jorku (router D z rysunku 5.24) z szybkoĂciÈ 155 Mb/s. JeĂli w hoĂcie nowojorskim zacznie brakowaÊ buforów, to dotar- cie pakietu tïumienia z powrotem do San Francisco, ĝÈdajÈcego spowolnienia transmi- sji, zajmie okoïo 40 milisekund. Sygnalizacja ECN zajmie jeszcze wiÚcej czasu, ponie- waĝ jest dostarczana do nadawcy za poĂrednictwem adresata transmisji. PropagacjÚ pakietu tïumienia przedstawiajÈ drugi, trzeci i czwarty krok z rysunku 5.24 (a). Podczas tych 40 ms zostaïo wysïanych kolejne 6,2 megabita danych. Nawet jeĂli host w San Francisco natychmiast przestanie nadawaÊ, te 6,2 megabita w kanale nadal bÚdzie napïywaÊ i trzeba bÚdzie sobie z nimi poradziÊ. Dopiero na siódmym schemacie z rysunku 5.24 (a) router z Nowego Jorku zauwaĝy wolniejszy napïyw danych. SEK. 5.3. ALGORYTMY KONTROLI PRZECIk¿E” 441 Rysunek 5.24. (a) Pakiet tïumienia wpïywajÈcy tylko na ěródïo transmisji, (b) Pakiet tïumienia wpïywajÈcy na kaĝdy wÚzeï, przez który przechodzi Alternatywne rozwiÈzanie polega na tym, ĝe pakiet tïumienia zaczyna dziaïaÊ juĝ w kaĝdym przeskoku, jak na rysunku 5.24 (b). Tutaj natychmiast po dotarciu pakietu tïumienia do F od tego routera ĝÈda siÚ redukcji przepïywu do D. BÚdzie to wymagaïo poĂwiÚcenia przez F dodatkowych buforów na tÚ transmisjÚ, poniewaĝ ěródïo nadal 442 WARSTWA SIECIOWA ROZ. 5 pracuje na peïnych obrotach, lecz przynosi D natychmiastowÈ ulgÚ (jak lekarstwo od bólu gïowy z reklam telewizyjnych). W nastÚpnym kroku pakiet tïumienia dociera do E, co kaĝe E ograniczyÊ przepïyw do F. ZwiÚksza to zapotrzebowanie na bufory routera E, lecz natychmiast odciÈĝa F. Na koniec pakiet tïumienia dociera do A i przepïyw auten- tycznie maleje. W sumie ten schemat tïumienia skok po skoku (ang. hop-by-hop) zapewnia szyb- kie odciÈĝenie w punkcie przeciÈĝenia kosztem zuĝycia dodatkowego miejsca w buforach w poprzednich wÚzïach na trasie transmisji. W ten sposób przeciÈĝenie moĝe zostaÊ stïumione w zarodku bez tracenia jakichkolwiek pakietów. Pomysï ten opisuje Mishra i inni (1996). 5.3.5. Zrzut obciÈĝenia Gdy ĝadna z powyĝszych metod nie spowoduje znikniÚcia przeciÈĝenia, routery mogÈ wytoczyÊ ciÚĝkie dziaïa — zrzut obciÈĝenia (ang. load shedding). To okreĂlenie jest eleganckim sposobem powiedzenia, ĝe routery zalane pakietami, których nie sÈ w sta- nie obsïuĝyÊ, po prostu wyrzucajÈ te pakiety. Termin wziÈï siÚ ze Ăwiata elektroener- getyki, gdzie oznacza rozmyĂlne odïÈczanie pewnych obszarów, aby uchroniÊ caïÈ sieÊ przed zapaĂciÈ w porach, gdy zapotrzebowanie na energiÚ znacznie przekracza dostÚpne zasoby. Zasadniczym pytaniem dla routera podlegajÈcego przeciÈĝeniu jest dobór odrzuca- nych pakietów. Wybór moĝe byÊ uzaleĝniony od specyfiki aplikacji dziaïajÈcych w danej sieci. W transferze plików stary pakiet ma wiÚkszÈ wartoĂÊ niĝ nowy, poniewaĝ odrzu- cenie pakietu nr 6 i zachowanie pakietów od 7 do 10 i tak wymusi po stronie odbiorcy buforowanie danych, których nijak nie moĝe spoĝytkowaÊ bez odebrania brakujÈcego pakietu. Z kolei w mediach czasu rzeczywistego nowy pakiet jest bardziej wartoĂciowy niĝ stary, bo pakiety przeterminowane w aplikacjach czasu rzeczywistego sÈ bezuĝyteczne. Pierwsza zasada (starszy lepszy od nowego) nazywana jest czÚsto winem, a druga (Ăwieĝy lepszy od starego) to mleko — wiadomo, ĝe wiÚkszoĂÊ ludzi woli piÊ stare wino i Ăwieĝe mleko niĝ na odwrót. Bardziej inteligentne zrzucanie obciÈĝenia wymaga wspóïpracy z nadawcami. Przy- kïadem mogÈ byÊ pakiety przenoszÈce informacje dla routingu. SÈ one waĝniejsze od zwy- czajnych pakietów danych, bo dotyczÈ samych routerów, a wiÚc i dziaïania samej sieci. JeĂli zostanÈ utracone, sieÊ moĝe straciÊ zdolnoĂÊ do rozprowadzania pakietów. Inny przykïad to algorytmy kompresji wideo (jak MPEG), które okresowo przesyïajÈ caïÈ klatkÚ normalizujÈcÈ, a nastÚpnie wysyïajÈ kolejne klatki róĝnicowe wzglÚdem ostat- niej peïnej klatki. W tym przypadku odrzucenie pakietu niosÈcego informacje róĝnicowe bÚdzie lepsze niĝ odrzucenie tego, który jest czÚĂciÈ peïnej klatki, gdyĝ przyszïe pakiety sÈ od niego zaleĝne. Aby zaimplementowaÊ inteligentnÈ zasadÚ odrzucania pakietów, aplikacje muszÈ oznaczaÊ swoje pakiety, sygnalizujÈc w ten sposób ich wartoĂÊ. W takim ukïadzie kiedy dojdzie do zrzutu obciÈĝenia, routery bÚdÈ w pierwszej kolejnoĂci odrzucaÊ mniej waĝne SEK. 5.3. ALGORYTMY KONTROLI PRZECIk¿E” 443 pakiety, a pakiety waĝniejsze bÚdÈ odrzucane dopiero w ostatecznoĂci. OczywiĂcie wszy- scy bÚdÈ respektowaÊ zasady oznaczania pakietów i nikt nie pokusi siÚ o oflagowanie wszystkich swoich transmisji znacznikiem: „BARDZO WA¿NY — NIE WYRZUCAm POD ¿ADNYM POZOREM!”. Wymuszanie bÈdě zachÚcanie do wïaĂciwego oznaczania pakietów odbywa siÚ czÚ- sto na poziomie rozliczania za usïugÚ. Na przykïad sieÊ moĝe dopuszczaÊ transmisje z wiÚkszÈ prÚdkoĂciÈ niĝ ta, za którÈ zapïacili nadawcy, jeĂli w zamian ci bÚdÈ oznaczaÊ swoje pakiety znacznikiem niskiego priorytetu. Taka strategia jest niegïupia, poniewaĝ pozwala znacznie skuteczniej wykorzystaÊ bezczynne zasoby. Hosty majÈ prawo ich uĝy- waÊ, dopóki nikt inny nie jest nimi zainteresowany, lecz bez nabywania prawa do nich w okresach duĝego obciÈĝenia. Random Early Detection Wiadomo, ĝe obsïuga przeciÈĝenia u jego zarania jest bardziej skuteczna niĝ wtedy, gdy pozwolimy mu narobiÊ bigosu i dopiero wtedy bÚdziemy próbowaÊ sobie z nim pora- dziÊ. To spostrzeĝenie prowadzi do ciekawego ulepszenia metody zrzutu obciÈĝenia, w ramach którego pakiety sÈ odrzucane, jeszcze zanim dojdzie do wyczerpania miejsca w buforach. Chodzi o to, ĝe wiÚkszoĂÊ hostów w sieci Internet nie otrzymuje jeszcze sygnaïów o przeciÈĝeniu w postaci ECN; w wielu regionach sieci jedynym niezawodnym sygna- ïem przeciÈĝenia jest utrata nadawanych pakietów. Trudno przecieĝ zbudowaÊ taki router, który nie gubi pakietów w warunkach przeciÈĝenia. Protokoïy transportowe (takie jak TCP) sÈ wiÚc projektowane z zaïoĝeniem, ĝe utrata pakietów Ăwiadczy o przeciÈĝeniu i spowalnianiu ěródïa transmisji. Do zastosowania takiej metody doprowadziïo rozu- mowanie, ĝe TCP zostaï zaprojektowany dla sieci kablowych, które sÈ bardzo niezawodne, wiÚc pakiety tracÈ siÚ gïównie z powodu przepeïnienia buforów, a nie bïÚdów transmi- sji. W ïÈczach bezprzewodowych dobra wspóïpraca z TCP wymusza zatem odzysk bïÚdów transmisji na poziomie warstwy ïÈcza danych (nie sÈ wiÚc one widoczne w warstwie sieciowej). Moĝna to wykorzystaÊ do walki z przeciÈĝeniami. Odrzucanie przez routery pakietów, jeszcze zanim sytuacja stanie siÚ beznadziejna, oznacza, ĝe jest czas na podjÚcie dziaïañ po stronie nadawcy, zanim bÚdzie za póěno. Popularny sïuĝÈcy do tego algorytm nosi nazwÚ RED (Random Early Detection — losowe wczesne wykrywanie) (Floyd i Jacob- son, 1993). Aby zdecydowaÊ, kiedy przychodzi pora, by zaczÈÊ odrzucaÊ pakiety, route- ry rejestrujÈ na bieĝÈco ĂredniÈ wartoĂÊ dïugoĂci swoich kolejek. Gdy Ărednia dïugoĂÊ kolejki dla jakiegoĂ ïÈcza przekracza ustalonÈ granicÚ, uznaje siÚ, ĝe ïÈcze jest przeciÈ- ĝone, i losowo odrzuca maïÈ czÚĂÊ pakietów. Losowy wybór pakietów jest optymalny, poniewaĝ w sieci datagramowej router nie jest w stanie wytypowaÊ ěródïa przeciÈĝenia. Kaĝdy z nadawców, którego dotyczyïa utrata pakietów, dowie siÚ o niej w wyniku braku potwierdzenia od odbiorcy, i wtedy sam spowolni swojÈ transmisjÚ. Utrata pakietu jest tu wiÚc odpowiednikiem dostarczenia pakietu tïumiÈcego, ale w sposób niejawny. 444 WARSTWA SIECIOWA ROZ. 5 Routery RED cechujÈ siÚ lepszÈ wydajnoĂciÈ w porównaniu do routerów, które odrzu- cajÈ pakiety dopiero po przepeïnieniu buforów, choÊ uzyskanie optymalnych efektów wymaga pewnego dostrojenia. Na przykïad idealna liczba pakietów do odrzucenia jest zaleĝna od tego, ilu nadawców zamierzamy powiadomiÊ o przeciÈĝeniu. Mimo to prefero- wanÈ opcjÈ jest sygnalizacja ECN (jeĂli tylko jest moĝliwa). Dziaïa podobnie, ale dostar- cza sygnaï o przeciÈĝeniu w sposób jawny, a nie poprzez wnioskowanie z utraty pakie- tów; RED stosuje siÚ tam, gdzie hosty sieci nie obsïugujÈ sygnalizacji jawnej. 5.4. JAKO¥m OBS’UGI 5.4. JakoĞü obsáugi Techniki, które przedstawiliĂmy w poprzednich punktach, sïuĝÈ do redukowania prze- ciÈĝeñ i poprawienia wydajnoĂci sieci. Jednakĝe sÈ takie aplikacje (i tacy klienci), które wymagajÈ solidniejszych gwarancji wydajnoĂci niĝ „najlepiej, jak siÚ da”. W szczególno- Ăci aplikacje multimedialne, zwiÈzane ze strumieniami audio i wideo, wymagajÈ zapew- nienia okreĂlonej minimalnej przepustowoĂci i okreĂlonego maksymalnego opóěnienia. W tym podrozdziale bÚdziemy kontynuowaÊ analizÚ wydajnoĂci sieci, lecz z wiÚkszym naciskiem na metody zapewnienia jakoĂci usïug dopasowanych do potrzeb aplikacji. To obszar, w którym Internet przechodzi obecnie dïugofalowÈ modernizacjÚ. Prostym rozwiÈzaniem zapewniajÈcym dobrÈ jakoĂÊ obsïugi jest budowanie sieci o takiej pojemnoĂci, która bÚdzie z zapasem przenosiïa wszelki puszczany przez niÈ ruch. RozwiÈzanie to ma nawet swojÈ nazwÚ: przeszacowanie (ang. overprovisioning). Otrzymana sieÊ nadaje siÚ do obsïugi caïoĂci ruchu praktycznie bezstratnie, a przy zaïo- ĝeniu porzÈdnego routingu — równieĝ z maïymi opóěnieniami dostarczania. Nie da siÚ uzyskaÊ lepszej wydajnoĂci. Sytuacja przeszacowania dotyczy w pewnym stopniu sieci telefonicznych, poniewaĝ doprawdy trudno trafiÊ na przypadek, kiedy po podniesieniu sïu- chawki nie sïychaÊ w niej sygnaïu gotowoĂci do wybierania numeru. Sieci telefoniczne dys- ponujÈ takim zapasem pojemnoĂci, ĝe praktycznie zawsze gwarantujÈ obsïugÚ poïÈczenia. Kïopot w tym, ĝe takie rozwiÈzanie jest bardzo kosztowne — sprowadza siÚ prze- cieĝ do grubych inwestycji. Tymczasem mechanizmy jakoĂci obsïugi powalajÈ sieciom o mniejszych nominalnych pojemnoĂciach na speïnianie wymagañ aplikacji przy duĝo mniejszym koszcie implementacji. Co wiÚcej, przeszacowanie opiera siÚ na oszacowa- niu zapotrzebowania na przepustowoĂÊ i nie moĝe uwzglÚdniaÊ przyszïych zmian cha- rakterystyki ruchu. Tymczasem mechanizm jakoĂci obsïugi pozwala sieci honorowaÊ gwarancje wydajnoĂci nawet w okresach szczytowych obciÈĝeñ — kosztem spowalniania albo odrzucania mniej waĝnych transmisji. Zapewnienie jakoĂci obsïugi wymaga uwzglÚdnienia czterech czynników: 1. Wymagañ stawianych sieci przez aplikacjÚ. 2. Sposobów regulowania ruchu wchodzÈcego do sieci. 3. Sposobu rezerwowania zasobów na routerach pod kÈtem gwarancji wydajnoĂci. 4. Szacowania, czy sieÊ moĝe bezpiecznie przyjÈÊ wiÚcej ruchu. SKOROWIDZ 1000Base-SX, 327 100Base-FX, 324 100Base-T4, 323 100Base-TX, 324 10GBase-T, 311, 330 3GPP, Third Generation Partnership Project, 100 A AAC, Advanced Audio Coding, 780 AAL5, ATM Adaptation Layer 5, 281 abstrakt komunikatu, message digest, 891 ACL, Asynchronous ConnectionLess, 360 ACM, Association for Computing Machinery, 27 ActiveX, 752, 952 adaptacja szybkoĂci, rate adaptation, 334 adaptacyjny przeskok czÚstotliwoĂci, 359 ADC, Analog--Digital Converter, 777 adres grupowy, 313 IP, 485, 492, 530, 942 kontaktowy, care of address, 426 o staïej dïugoĂci, 502 przeznaczenia, 313 specjalny IP, 494 URL, 718 ěródïowy, 313 adresowanie klasowe, classful addressing, 491 adresowanie specjalne, 491 ADSL, Assymetric DSL, 149, 172, 212, 213 konfiguracja, 175 ADSL, Asymmetric Digital Subscriber Loop, 279 AES, Advanced Encryption Standard, 346, 872 agent, 426 transmisji, message transfer agent, 688 urlopowy, 693 uĝytkownika, 688, 690 agregacja prefiksów IP, 490 AH, Authentication Header, 907 AIFS, Arbitration InterFrame Space, 342 AIMD, Additive Increase Multiplicative Decrease, 587, 628 AJAX, Asynchronous JavaScript and XML, 752 aktualnoĂÊ, 866 algorytm 1-persistent CSMA/CD, 316 AES, 882 AODV, 428 binarne odczekiwanie wykïadnicze, 317 cieknÈcego wiadra, 448 DES, 869, 882 DHT, 835 Dijkstry, 406 drzewa czÚĂciowego, 376 dystrybucji pakietów, 414 E0, 919 fair queueing, 453 forwardingu, 49 IDEA, 935 Karna, 627 Nagle’a, 622 obliczania CRC, 243 poznawania wstecz, 372 przekazywania, 49 RC4, 882 RC5, 882 RED, 465 Rijndael, 873 routingu, 48, 397, 400, 401 RSA, 886 999 1000 SKOROWIDZ algorytm architektura Bluetooth, 355 EPC Gen 2, 363 Internetu, 83 RFID, 364 sieci, 52 sieci 802.16, 349 sieci DTN, 661 sieci komórkowej, 197 sieci niewraĝliwych na opóěnienia, 662 sieci WWW, 715, 716 systemu pocztowego, 688 arkusze CSS, 743 ARP, Address Resolution Protocol, 511 ARPA, Advanced Research Projects Agency, 78 ARPANET, 67, 77–80 ARQ, Automatic Repeat reQuest, 255 AS, Authentication Server, 931 AS, Autonomous System, 474, 520 ASK, Amplitude Shift Keying, 156, 364 asocjacja, 345 ASP.NET, Active Server Pages .NET, 749 aspekt, 784 asynchroniczna komunikacja, 756 asynchroniczny transfer, 280 atak brygady kubeïkowej, 927 DDoS, 913, 940 Dos, 913, 940 keystream-reuse, 880 atak lustrzany, reflection attack, 923 powtarzajÈcy, 929 urodzinowy, 895 z osobÈ poĂrodku, 927 ATM, Asynchronous Transfer Mode, 280, 331, 446 atrybut, 735 Authenticode, 952 autonegocjacja, 325, 326 AVC, Advanced Video Coding, 789 awaria hosta, 576 B B2B, Business-to-business, 29 B2C, Business-to-consumer, 29 bajt unikowy ESC, 227 znacznikowy, flag byte, 226 bandwith-delay product, 263 baner reklamowy, 732 baza diagonalna, 862 baza prostolinijna, 862 bel, 777 rywalizacji, 299 SAFER, 919 Serpent, 882 stanu ïÈcza, 473 szeregowania pakietów, 452 Triple DES, 882 Twofish, 882 wiadra ĝetonów, 448 wolnego rozruchu, 631 wolnego startu Johnsona, 659 wyszukiwania najkrótszej Ăcieĝki, 403 Ziva-Lempela, 936 algorytmy adaptacyjne, 402 dynamiczne, 408 kompresji, 779 kompresji děwiÚku, 780 kontroli przeciÈĝeñ, 431 kryptograficzne, 965 nieadaptacyjne, 402 wyznaczania tras, 416 z kluczem symetrycznym, 867 ALOHA, 95, 292 alokacja przepustowoĂci, 579 AMI, Alternate Mark Inversion, 155 amplituda, 157 AMPS, Advanced Mobile Phone System, 87, 192 analiza Fouriera, 114 nagïówków HTTP, 823 ruchu, traffic analysis, 35, 907 poczty elektronicznej, 36 anomalia szybkoĂci transmisji, rate anomaly, 343 anonimowoĂÊ, 956 kaskadowa, 957 w sieci, 826 ANS, Advanced Networks and Services, 82 ANSNET, 82 anteny kierunkowe, 204 sektorowe, 204 anycast, 424 AODV, Ad hoc On-demand Distance Vector, 428 AP, Access Point, 41, 93, 332 aplet, 751 aplikacje pomocnicze, 723 WWW, 24, 744 sieci równorzÚdnych, 28 APR z poĂrednikiem, proxy ARP, 512 APSD, Automatic Power Save Delivery, 341 arbitraĝ, 95 bezpieczeñstwo, 507, 532, 850 apletów Javy, 951 Bluetooth, 918 DNS, 944 IP, 905 komunikacji, 904 poczty elektronicznej, 934, 939, 966 przez ukrycie, 855 sieci WWW, 940, 966 sieciowe, 979 systemów operacyjnych, 852 w sieciach bezprzewodowych, 915 w warstwie aplikacji, 851 w warstwie sieciowej, 851 w warstwie transportowej, 851, 950 bezpieczne nazewnictwo, 941 poïÈczenie SSL, 947 HTTP, 947 bezpoïÈczeniowe warstwy sieciowe, 395 bezprzewodowa sieÊ rozlegïa, 49 sieÊ lokalna, 92, 332 BGP, Border Gateway Protocol, 473, 522 biblioteki online, 27 biblioteki sieciowe, 27 binarny kod splotowy, 236 bit MF, 343 bit parzystoĂci, 240 BitTorrent, 27, 835 blok z jednobitowym bïÚdem, 240 blokada usïugi, 913 blokowanie portów, 911 Bluetooth, 39, 138, 387, 919 profile, 356 SIG, 356 bïÚdy izolowane, 240 seryjne, 240 transmisji, 152, 225, 239, 254 w pracy potokowej, 264 bïyskawiczne przesyïanie wiadomoĂci, 28 bod, baud, 152 botnet, 692 BPSK, Binary Phase Shift Keying, 156 brama, 812 sieciowa, gateway, 50 wejĂciowa, 822 bramki aplikacyjne, application-level gateways, 911 broadcasting, 314 BSC, Base Station Controller, 197 bufor pakietów, 415 SKOROWIDZ 1001 buforowanie, 571 danych, 643 pakietów, 603 ramek, 379 burza transmisyjna, broadcast storm, 382 C C2C, Consumer-to-consumer, 29 CA, Certification Authority, 898 cacheowanie stron, 765 treĂci, 766 CAPTCHA, 37 carrier-grade Ethernet, 331 CAT 5, 121 CBC, Cipher Block Chaining, 877, 918 CCITT, 101 CCK, Complementary Code Keying, 335 CD, Committee Draft, 102 CDM, Code Division Multiplexing, 161 CDMA, Code Division Multiple Access, 132, 162, 196, 204 CDMA2000, 202 CDN, Content Distribution Network, 817 cechy sieci, 467 centrala koñcowa, 167 tandemowa, 167 tranzytowa, toll office, 167 centrum autoryzacyjne CA, 898, 900 dystrybucji kluczy, 921, 928 certyfikat, 898 anulowany, 903 na klucz publiczny, 899 X.509, 102, 352, 900 CFB, Cipher FeedBack, 878 CGI, Common Gateway Interface, 746, 749 chip, 162 chrominancja, 785 ciasteczka, cookies, 36, 728 cookie nietrwaïe, 730 cookie trwaïe, 730 SYN, 616 CIDR, Classless InterDomain Routing, 488–491 cieknÈce wiadro, 448 cienki Ethernet, 312 click fraud, 774 CMTS, Cable Modem Termination System, 85, 209 CND, Content Delivery Networks, 826 combing, 784 CRC, Cyclic Redundancy Check, 242 CRL, Certificate Revocation List, 904 1002 SKOROWIDZ CSMA with Collision Detection, 298 CSMA, Carrier Sense Multiple Access, 95 CSMA/CA, CSMA with Collision Avoidance, 336–340 CSNET, Computer Science Network, 81 CSS, Cascading Style Sheets, 742 CTS, Clear to Send, 310 cyberpunk remailer, 957 cybersquatting, 677 cyfrowe linie abonenckie, 171 linie telefoniczne T1, 153 wideo, 782 wykluczenie, 101 cykliczna suma kontrolna CRC, 242 cytowanie drukowalne, 700 czas dotarcia pakietu, 446 oczekiwania na retransmisjÚ, 316 odpowiedzi, 644 przejĂcia sygnaïu, 145 przesyïu, 315 przybywania potwierdzenia, 625 RTT, 625 transmisji, 211, 262, 316 zakoñczenia obsïugi pakietu, 455 ĝycia pakietu, 429 czasomierz, 229, 249 czÚstotliwoĂÊ, 157 fali, 130 odciÚcia, 115, 117 transmisji, 93 zmian sygnaïu, 152 czïonek ISO AFNOR, 102 ANSI, 102 BSI, 102 DIN, 102 PKN, 102 czynnik pseudolosowy, 154 czytnik RFID, 365 ksiÈĝek elektronicznych, 27 D DAC, Digital-to-Analog Converter, 777 DAG, Directed Acyclic Graph, 403 DAMPS, Digital Advanced Mobile Phone System, 196 datagram, 59, 396 DCCP, Datagram Congestion Controlled Protocol, 548 DCF, Distributed Coordination Function, 337 DCMA, 35 DCS1000, 36 DCT, Discrete Cosine Transformation, 786, 787 DdoS, Distributed Denial of Service, 913 decybela dB, 118 deficit round robin, 455 definicje w protokoïach, 247 dekodowanie, decoding, 779 elastyczne, soft-decision, 237 sztywne, hard-decision, 237 z korekcjÈ bïÚdów, 238 demon protokoïu IMAP, 711 DES, Data Encryption Standard, 869 detekcja bïÚdów, 240, 282 detranspozycja, unmarshaling, 595 DHCP, Dynamic Host Configuration Protocol, 513 DHT, Distributed Hash Tables, 838–842 diagram konstelacji, 158 stanów, 545 stanów automatu skoñczonego, 619 DIFS, DCF InterFrame Spacing, 342 digitaliacja sygnaïów cyfrowych, 178 DIS, Draft International Standard, 103 DIX, 314 dïawienie ruchu, 437 dïugoĂÊ fali, 130 dïugoĂÊ graniczna, constraint length, 236 dïugoĂÊ ramki, 228 DMT, Discrete MultiTone, 173 DMZ, DeMilitarized Zone, 911 DNS spoofing, 942 DNS, Domain Name System, 70, 81, 673, 941 DNSsec, DNS Security, 686, 944 dobór punktu odtwarzania, 604 DOCSIS, Data Over Cable Service Interface Specification, 210 dokument, 905 RFC 1323, 564 RFC 1661, 275 RFC 1663, 277 RFC 1939, 712 RFC 1958, 478 RFC 2109, 729 RFC 2210, 457 RFC 2364, 281 RFC 2440, 936 RFC 2615, 278 RFC 2616, 757 RFC 2632, 939 RFC 3501, 711 RFC 3550, 598 RFC 3875, 746 RFC 4614, 606 RFC 4632, 489 RFC 5246, 950 RFC 5322, 695 XML, 754 SKOROWIDZ 1003 dyrektywy, directives, 734 dyskretna transformata kosinusowa, 786, 787 dyspersja chromatyczna, 126 dystrybucja, 346 dystrybucja treĂci, 816, 826, 830 dzielenie pakietów, 475 dzierĝawa, 513 děwiÚk cyfrowy, 776 E EAP, Extensible Authentication Protocol, 916 eBGP, zewnÚtrzny BGP, 526 ECB, Electronic Code Book, 876 ECMP, Equal Cost MultiPath, 519 ECN, Explicit Congestion Notification, 440, 586, 612 e-commerce, electronic commerce, 26 e-mail, 25, 686, 843 EDE, Encrypt-Decrypt-Encrypt, 872 EDGE, Enhanced Data rates for GSM Evolution, 205 efektywnoĂÊ sieci, 432 EIFS, Extended InterFrame Spacing, 343 ekstrapolacja wyników, 644 elementy skwantowane, 788 emotikony, 687 EPC, 363 EPC Gen 2, 363 EPON, Ethernet PON, 177 ESMTP, Extended SMTP, 707 ESP, Encapsulation Security Payload, 908 Ethernet, 42, 311, 330 10-gigabitowy, 329 klasyczny, 42, 311 przeïÈczany, 42, 311 etykietowanie, 514 EuroDOCSIS, 210 EWMA, Exponentially Weighted Moving Average, 439, 625 F Facebook, 28 fale milimetrowe, 138 podczerwone, 139 radiowe, 134 faïszywy adres ěródïowy, 912 farma serwerów, 86, 821 Fast Ethernet, 311, 322 faza, 157 faza punktu, 157 FCC, Federal Communication Commision, 136 FCFS, First-Come First-Serve, 452 DOM, Document Object Model, 752
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Sieci komputerowe. Wydanie V
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ą: