Sieci komputerowe. Kompendium [2 ed.] 8324635405, 9788324635405, 8324635408

Sieci komputerowe to temat niezwykle rozległy i omawiany w dziesiątkach publikacji. Jedne traktują o protokołach, inne o

191 15 30MB

Polish Pages 568 [570] Year 2012

Report DMCA / Copyright

DOWNLOAD PDF FILE

Recommend Papers

Sieci komputerowe. Kompendium [2 ed.]
 8324635405, 9788324635405, 8324635408

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Kompendium

v

Topologie i nośniki v

Sieci bezprzewodowe

v

Usługi sieciowe

i protokoły v



Administrowanie .

.

s1ec1ą v

Bezpieczeństwo w sieciach



Wydanie li



Kompendium ,

��

.�

v

_

--

-�

·:---� �

. .

Kompletne omow1en1e zagadnień sieci komputerowych

· . s1ec1

Topologie i nośniki v

� ... --= ��� bezprzewodowe ---= ·



_

__...

_ _

----

-== �

....�--=- ...,f!.

v

Usługi sieciowe i protokoły v

Administrowanie s1ec1ą

--------�����; �

zpieczeństwo

w sieciach

Karol Krysiak

Helion

Im

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 infonnacje 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 .

Redaktor prowadzący: Michał Mrowiec

Wydawnictwo HELION ul. Kościuszki le, 44- 100 GLIWICE �l . 32 231 22 1 �32 230 98 63 e-mail: [email protected] 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?adsi2v Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.

ISBN: 978 -83-246-3540- 5 Copyright © Helion 2005 Printed in Poland .

Joannie i Weronice za jeszcze więcej cierpliwości

Podziękowania Podczas pisania książki kilka fi rm komercyjnych wyświadczyło mi uprzejmość, udo­ stępniając swoje materiały lub wyrażając zgodę na przedstawienie ich produktów. Chciał­ bym wyrazić wdzięczność wobec następujących firm: + Hewlett-Packard Polska Sp. z o.o. - http://www. hp.com.pl, + 3Com Poland Sp. z o.o. - http://www.3com.pl, + TYCO Electronics Polska Sp. z o.o.

-

��

http://www. tycoelectronics.com,

+ Snifffech- http://w.ww snif.ftech.com.

Osobne podziękowania należą się dla Pawła Kapusty, który z wielką cierpliwością czytał, przeglądał i komentował kolejne powstające rozdziały książki.

Spis treści Wstęp ................................ ................ ....... ........... ...................... 13 .

Rozdział 1.

.

.

.

Sieci komputerowe .. . ...... . ............................................... .. . ...... 25 .

.

.

.

.

.

.

1.1. Podział sieci komputerowych w zależności od rozmiaru 25 1.2. Topologie sieci komputerowych ........................... ............................... .................. 26 Topologia sieci ....................................................... ............... .... ........... .. .... .......... . 26 Topologia fizyczna . . ... ........... ..................................................... .............. . . ........... 26 Topologia logiczna .............. ..................................... ............... . . ........... .. .. . .. .......... 27 1.3. Model ISO/OSI ... ... . .................................................................... ............ ... ............ 28 1.4. Model protokołu TCP/IP ......................................................... .............................. 30 ....... „ „ . . ........ „ •• „ ............

Rozdział 2.

Rodzaje nośników ........................................................................... 35

2.1. Najważniejsze technologie .... ...... . . . ...... ... . . . . . . .. . ......... . . .. . . .... ... ........ .... .............. . . .... 35 2.2. Przewód koncentryczny . ...... . .. .. . . .. . .. ... .... .. ... .... ......... . . . . . . ... ... .. .. . . . . .... . ........... . . . .. .... 38 Zastosowania sieci lOBase-2 ................. . ............... . . . ............ . . . . . ............ .. .... .......... 40 2.3. Skrętka UTP ........ ........... .. . . ... .......... . .. .... . .. . ..... ..... . .. . . . . . . ... .......... ... .............. ........... 41 Wymagania dla instalacji spełniającej założenia CAT-5 ..... . ... ............. ....... .......... 47 Cat-Se - parametry .............................................................................................. 48 2.4. Światłowód .. . . .. .. ... . . . . .. . . . . . . . . .. .. .. .. . . .. .. . . .. .. . . .. .. .. ... ..... .... .. . .. . . . . . . . .. .. . .. .. .. . . .... ... . .. .. .. .. .. 52 Budowa światłowodu .. . ... .. .. . . . . . ........ .... .. . . . . . ....... .. . . ... ..... ...... .. .. .. . .. ... ... ...... .. .... ...... 53 Zasada działania światłowodu ............................................................................... 53 Światłowód wielomodowy .. .... . . . .. .. . . .. .... .... .. .. . .. .. . . .. .... ... . .. .. . . .. .. .. . . . . . . .. .. . . . .. ..... . . .. . . 53 Światłowód jednomodowy . . . . . 54 Złącza światłowodowe ........ ... .................. ................................ .............................. 55 Standardy transmisji światłowodowych .. . . 57 2.5. Okablowanie strukturalne ...... ... ............................................................................. 59 Definicje ... .......... . ...... ......... .. .......... . . . . .. .. ........ . . . . . . . .. . ... .. . . . . . . .... . . . .. ......... .. . . .. ... ...... . 59 Normy 60 Projekt i definicje . 61 Zalecenia ........ ... ..... .... .. . . . . . . . .. .. .. .. . .. .. . ..... .. . .. ................ ... ........... . .. .. ........ ..... . ......... 65 Telefonia .......... . .. ...... .. . . ....... . . . . . . ... ............ .............. .. .... ............... . .................. . . ..... 66 Serwerownia ................... . . .. . . ........ . .. .. . . . . . .. . . .. . . . . .. .. .. .. .. . . . . . . . . . . ... ... ... . . .. .. . ............. .... 68 ....... .. ... .......................... ..................... ............. „ .... .

.... ................. „ .............

............... .. ........

.............................................................................. „ ............. •...............•...... ......... „ .... .............. „ .......•.............. „ ...............................•....•......

Rozdział 3.

Warstwa dostępu do sieci - standard Ethernet .............................. 73

3.1. Historia 73 3.2. Działanie protokołu ..................................................................... ................ ........... 74 Metody transmisji ..................... ............................................................................. 74 Norma IEEE 802. 3 ............................................................................ .................... 74 Wydajność sieci Ethernet 1O Mb/s . . . 77 ............................................ .................................. ....................................

. ......... „ . ............ „ ................................. .........

6

Sieci komputerowe. Kompendium 3.3. Budowa ramki Ethernet .......................................................................................... 78 Protokół LLC ......................................................................................................... 80 3.4. Zasady konstruowania sieci Ethernet ..................................................................... 82 Reguły dla Ethernetu ( 10 Mb/s) ............................................................................. 82 Reguły dla Fast Ethernetu ( 100 Mb/s) ................................................................... 86 Reguły dla Gigabit Ethernetu (1 OOO Mb/s) ........................................................... 87 3.5. Technologie . . . 88 Full-duplex . 88 MAC Control . .. . 89 Automatyczne negocjowanie parametrów łącza . . 89 1OOOBase-T ........................................................................................................... 90 VLAN - IEEE 802.lq .......................................................................................... 91 QoS - 802.l p ... . . 94 STP (Spanning Tree Protocol) ............................................................................... 95 Power over Ethernet . . 1O1 Sygnały i kodowanie ........................................................................................... 102 3.6. Protokół ARP - protokół określania adresów .................................................... 104 Proxy-ARP .......................................................................................................... 105 Reverse-ARP . . 105 Zapobieganie zdublowaniu adresów IP . 106 Pakiet protokołu ARP 106 Polecenia do manipulacji tablicą ARP 108 3.7. Urządzenia sieciowe działające w warstwie dostępu do sieci . . . . . 110 Karta sieciowa . . . . . . 11O Modem 110 Transceiver 111 Konwerter nośników 111 Regenerator ( repeater) ......................................................................................... 112 Koncentrator (hub) .............................................................................................. 112 Most (bridge) ....................................................................................................... 117 Przełącznik (switch) . . . 117 ........ ............. .........................................„.„ .............................„ ... ...

..... .. „.„.....„ .......•........................„............„.............„................„ ....... ...... ..... . ............................................... „............„.......... ................ .........„ ...........„............. ...... .......

.............................. . . ...... ......„..........„........................................

.............. .......„ ...........„ ......„ .... „.................................. ......

.............. ............................................... „......................................

.......„.....„ ...„ ..•.... „ .....„...................... ...

.................................................„...................„.......„...„....

...........................„...........„ ......... „............

. ... . . .....„ ............

........ ... ........... .... ..................... ............. ...............„......„..........

..................... . . . .................................. .................. .....................................

.................................................„..............................„............•...„ ..... ......................„...............•...........„...............•...„ .......•...„ .....

... „.„„..„...•....•.„ ...........„.......„.....„.. „ ..•... „.. „ ..........„... ...

Rozdział 4.

Sieci bezprzewodowe ..............

. . .

.... .

.

. . ... ......... ..

.... .

.

.

..

.. .....

......

.

..... 123

...

802.11 124 802.1l b . . 125 Kanały (channel) . . 125 802.1l a . . . . 126 802.1l g ................................................................................................................ 126 802.l l n 127 Standaryzacja 127 4.1. Struktura sieci WLAN 128 4.2. Kontrola dostępu do medium . 130 Mechanizmy transmisji 131 4.3. Ramka 802.11 133 4.4. Działanie protokołu 802.11 138 Skanowanie . . . . 138 Przyłączanie . . . . . 139 Uwierzytelnianie . . . . .. 139 Kojarzenie (powiązanie) . . . . 140 Roaming - proces kojarzenia ponownego . 141 Oszczędzanie energii . . 142 Transmisja radiowa 142 ............................................................................................................ „....

........... ....................„...............................„........„.•. „..................... ........ ........„....................................„ „...........................„ .... .............

...... .......................................... ............... ... „.„................................ .....

. ......................... „.... „.„ ......... „..............„........... „.•....•......„...........„....... ...............„ ...... „.........................„ ..... „„„..„........................... „.„ ....

..............„ ............... „„„.„„ ..„ ........ „.„„ .. „„„ ....„ ..... „. . ..... ..... ..„... „„„„„„ ....„..„ .......... „„„„ ....„„.....•............

.....................................„„ ............ „ .... „. „. „„........... „......

....................... „...................„„.„„„..................„.....„....................

...............„„.....„..........„.......„„ ... „......„ ...„...............

.............. ............................. .........„... „.........„ ...........„ ....... ... ........

....... ....... ........................ ......... ...„ .............. „.„.............„.... .......... ..„....„. . ................................„............... „.„„ ............. ... . . .

.....

......................... ............ ..... ................ „„ .................... .........„.....„......„ ...... ........................

....................... ..................................„....... „ .....................

....„.......... „...„.„..„ . • . . . .. . . ..................„...„..............................

Spis treści

7 4.5. WEP i bezpieczeństwo Problemy z WEP Nowe protokoły bezpieczeństwa WLAN 4.6. Pozostałe projekty WLAN 4.7. Projektowanie sieci radiowych Rodzaje anten Obliczenia Zalecenia 4.8. Konfigurowanie urządzeń Konfiguracja sieciowej karty bezprzewodowej Punkt dostępowy (Access Point) 4.9. Kismet 4.10. WiMax - 802.16

„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ „„„„„„„ „„„.

. „ „ „ „ „ „ „ . „ „ „ „ „ „ .. „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ . „ „ . „ „ „ „ . „ „ . „ „ „ . „ „ „ „„ „„ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „

„ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „„. „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „.„ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ .

„ „ „ „ „ „ „ „ „ „ . „ „ „ . „ „ „ „ „ „ „ „ „ „ „ . „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „. „. „ „ „ „ „ „ .

„ „ „ „ „ „ „ „ „ „ „ „ „ . „ „. „ „ „ „ . „ „ „„ „. „. „ „ „ „„ „ . „ . „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ .

. „ . „ „ „ „ „ . „ „ „ „ „ „ . „ . „ „ „ „ „ .. „ „ „ „ „ „ „ „ „ „ „ „ „ . „ „ „ . „ „ „ . „ „ . „ „ „ . „ „ „ „ . „ „ „ .. „ „ „ „ „ . „ „ . „ „ „ . „ . „ „ „ „ „ „ .. „ „ „ „ „ . „ . „ „ „ „ . „ „ . „ „ . „ „ „ . „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „„ „ „ „ „.

„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ „„„„.

.............................................................................................................. . . . . „ „ „ „ „ „ „ .. „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „

143 144 146 148 149 151 151 156 157 157 161 165 166

Rozdział 5. Warstwa Internetu ......................... ............... ............ .. .... ... ...... 169 .

.

.

.

.

.

5.1. Protokół IP 169 Zadania spełniane przez protokół IP 170 Cechy protokołu IP 170 Budowa datagramu IP 170 5.2. Adresowanie IP 173 Klasy adresów w TCP/IP 177 Bezklasowe mutowanie międzydomenowe (CIDR) 178 Adresy specjalne i klasy nieroutowalne 183 Nadawanie adresów IP interfejsowi sieciowemu 184 5.3. Routowanie datagramów IP 188 Tablica routingu 191 Polecenia służące do manipulacji tablicą routingu 193 Routing źródłowy 195 5.4. Protokół ICMP 196 Zadania protokołu ICMP 197 Format nagłówka ICMP ...................................................................................... 198 Pola Typ i Kod komunikatu ICMP 199 Polecenia wykorzystujące protokół ICMP 202 5.5. IPv6 - wersja szósta protokołu IP 205 Nagłówek IPv6 206 Adres IPv6 207 5.6. Protokoły routingu dynamicznego 208 Protokoły wektora odległości (Distance Vector) 208 209 Protokoły stanu łącza (Link State) Jak zbudowany jest Internet? 209 5.7. Urządzenia pracujące w warstwie Internetu 214 Router .................................................................................................................. 214 „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „. „„„„ „„ „„„„„ „„„„„„„„„„„„„„„„„„ „„„„„

„ „ „ „ „ „„ „ „ „ „ „ „ „ „ „„ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „„ „„ „

„ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „.

„ „ „ . „ .. „.„ „ „ . „ „ „ . „ „ . „ „ „ „ .. „ „ . „ „ . „ „ „ „ „ „ „ „ „ „. „ „ . „ „ „ „ „ . „ „ . „ „ . „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „. „ „ . „ „ „.„ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „

„ „ „ „ „ „„ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ . „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „. „ „ „ „ „ „

„ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „.

„ „ „ „ . „ „ „ „ „. „. „ „ „ „ „ „ „ „ „ „ „. „ „ „ . „ „ „. „. „ „ „ „ „ „. „ „. „ „ „ . „ „ „ . „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „„ „„ „„ „ „ „„

. „. „ „ „ „ . „ . „ „ „ „ . „ „. „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „„ •.. „ „ . „ „ „ . „„ „ . „ „

„ . „ „ . „ „ „ „ „ „ „ „ „ „ „ „ „ . „ „ „ „ „ . „ . „ „ „ „ „ „ „ „ „ „ „ „ „ •. „ „ „ „ „ „ . „ ..... „„

. „ „ „ „ „ „ „ „ „ „ „ „ „ „ „. „. „ „ „ „ „ „ „ „ „ „ „ „ .. „ „ „ „ „ „ „ „. „. „ „

„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„

„ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „„ „ „ „ „ „ „ „ „ „„.

„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„

„ „ „ . „ „ „ „ „ „ „ „ „ „ „ .. „ . „ . „ „ „ „ „ . „ „ . „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ . „ . „ „ „ „ .

„ „ „ „ „ „ „. „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „. „ „ „ . „ „. „ „ „ „ „ . „. „ „ „ „ „ „ .. „ „ „ „ „.

„ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „„ „ „ „ „ „ „ „ „ „ „ „ „ .

„ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „.

„ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „.

„ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „. „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „.

Rozdział 6. Warstwa transportowa ................................................................... 217

6.1. Port, gniazdo 217 6.2. Protokół UDP 219 6.3. Protokół TCP 220 tcpdump ............................................................................................................... 223 netstat 228 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ . „ . „ . „. „ „ „ „ „ „ . „ „ „ „ „.„.„ „ „ „ „ „ „ „ „ „ „ „ „ .„ „ „ „. „ „ . „ „ „ „ „ „ „ „ „ „ „ „

„ . „ „ . „ „. „ „ „ „ „ . „ „ . „ „ „ „ . „ „ „ „ „ „. „ „ „ „ „ „ „ .. „ „ „ „ „. „ „ „ „ . „ .. „ „ . „ „ „.

. „ „ „. „ „ „ „ „ „ „. „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „. „ „ „ .• „ „ „ „ „ „ „ „ „. „ „ „ „. „ „. „ „ „ „ „.

Rozdział 7.

Usługi warstwy aplikacji

.

....... .... ....... ...................... . ...... ....... 233 ..

7.1. DNS Rejestrowanie własnej domeny Ogólne informacje o serwerach DNS

.

.

..

.

.

„ „ „ „ „ . „ „ „ „ „ „ „ . „ „ „ . „ „ . „ „ „ „ „ „ . „ „ . „ „ „ „ . „ „ „ ...... „ „ „ „ „ .. „ . „ . „ .„ „ „ „ . „ „ „ „ „ . „ „ „ „ . „ „ . „ „ „ „ . „ „ „ . „ „ „ . „ „ „ „ „ „ . „ . „ „ „ „ „ . „ „ „ „ .. „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „. „ „ „ „ .

233 236 238

8

Sieci komputerowe. Kompendium Jak to w rzeczywistości działa? .......................................... 239 Konfiguracja hosta ........ ...... ..................................................................... ............ 240 Rekordy zasobów .. ....... ....... .... ... .. .. ...... .. ... .... .. .. .. .......... .... .. ... .. ..... ............. ......... 244 Serwery DNS ... .......... ... .. .... ... ........ ..... ............... .. ..... .............. .......... .... ......... ...... 246 Konfiguracja serwera BIND . . . 247 Sterowanie demonem named 255 Kwestie bezpieczeństwa 258 Fonnat komunikatu DNS ............ .. .. .. ... .... ................ ........ .... ... ............ ...... ....... .... 26 2 Programy użytkowe - diagnostyka .................................................................... 26 4 7.2. SMTP .... .. .. .. .. .. ... .. .. .............. .. .. ... .. .. .. .. .... ..... .. .. .. .... .. .. ...... .. .... ... .. .. ..... ......... ... ...... 272 Serwery SMTP .................................................................................... ... ............. 272 Sprawdzanie działania serwera 275 Protokół MIME .......................... ............................ .. .. .................... ...... .. ...... .. ..... 282 Bezpieczeństwo ................................. .................. ............................... .. ..... ...... .. .. 283 7.3. POP ..... .. .. .. .... .... .... .... ..... ...... .......... ........ ....... ...... ... ..... .... ......... ........ .................. .. 284 Sprawdzanie działania serwera ............. ..... .. .. ...... .. ............... ............................... 285 Serwery POP .... ...... ........ .. .... .. ... .. ................... ................ ............... ........ ........ ...... 286 7.4. !MAP 287 Sprawdzanie działania serwera ................................................... ......................... 287 Serwery IMAP .......... .. ..... ........ .............. ... .. .. ....................... ........ ........................ 289 7.5. FTP ....... ...................................................... .. ............................. .. ............. ....... .. .. 290 Tryby pracy FTP 290 Komunikacja z serwerem .......... 292 Obsługa programu ftp 293 Serwery .................... 295 Bezpieczeństwo .......... 296 7 .6. HTTP ........ .. ... ..... ...... .... .... .. .. .. .. ... ...... .. ...... ... ........ ............ ..... ..... ... ...................... 297 Protokół HTTP ... .. .... .. ...... .. .. .. .. ... .. ...... .. ..... .. .. ... ....... .... .... .. ... ...... .. ... .... ......... .. .. .. 297 Sprawdzanie działania serwera HTTP 298 Serwery .. ....... .. .. 299 Bezpieczeństwo .. .. ... .. ..... .... .. .......... ...... ....... .. ... ...................... .... .. ....................... 301 7.7. SSL 302 Certyfikaty ..... ..... .......... ............. .............. ............ ............... ........ .. .. ..................... 303 Uproszczona zasada działania SSL ........ 303 Dh1gość klucza ............................. 304 Pakiet stunnel .. .. ....... ... ..... ..... ........ .. ... .... ... .. .. ...... .. ..... .... .. .... .... .. .. ........ .... .. .. ...... .. 304 7. 8. Telnet ........... .. ..... ... ......... .. .. .. .. .. ... .. .... ................ ..... .. .. .. .. .. ....... .. .. .. ... ...... .. .. .. ... .... 305 7.9. SSH .... .. .. ........ ... ... .... .... ......... ..... ......... .. ....... .. .. .. .............. .. .... ...... .. ............... .... ... 306 7 .10. Finger . .. .... ... .. ......... ............. ... ..... ..... ............... ......... .. ....... ..... .. ...... ...................... 307 7 .11. Auth .................................................. 308 7 .12. NNTP .. .. .. ... .... ... .... .......... ... ....... ..... .. .. ........ ... .. .... ........ .. ....... .... ........... .. ...... ..... .. .. 308 7 .13. SNMP .................. ...... ................ ... .. .. ... ............ .. ...... ...... .................... .. .. .. .. .. .. .. ..... 309 Różnice pomiędzy wersjami SNMP 313 RMON 314 Bezpieczeństwo ................................................................................................... 316 Testowanie ........................ 316 7.14. IRC 318 7.15. Whois . . 3 18 7.16. NTP ........ .. .. .. ....... ... ............ ... .. ..... .. .... .. .................... ......................... .. .. .. ... .......... 3 21 7.17. Syslog 3 22 7.18. Bootps, DHCP .. .. .. .. ..... ..... .. .. .. .. ... ...... .. ....... ...... .. .. ... ......... ........... .. ... .. .... ......... .... . 3 24 Nagłówek DHCP 3 25 Pola i ich opisy ................ 3 25 ...............................„

... ........ .... . . . . . . . . . .........„ ......... . . . . . . ........................... .......... ................„ . . • . . . . • . . . . .......„ ......„ ......................

............ ........„ ...........„ ......................... . . . • . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . ................... . . . . . . . . . . . . . . . . . . . . . .......„........ .......

. . . . . . . . . ..................... . . . . . . . . . . ...........................................................................

..................... ............................ . . . . . . . . . . .„ ... „ ....„„ . . .„ . .....„ . . ........ . . . . „ ........................ „ ...... „ ......„ . . . „ .... „„ . . . „ . . . . „„

.......... „ .................... ......... .................................................

. . . . . . . . . .............. . . . . . . . ..... ....................................................... „

.................... ......... „..... . . . . . . . . . . . ...........„ ..............„ ... „ ......„

.............„ .. „ ...................... .... ....................

..........................................................„ ................ ........„ ..... . . . . . . „

. . . . . . ......... ............. ............ ................ .............. ................. . . . . . . . .........„ .............

.....„ ...„ ......„ ...„ ..„ .....„„ ..„ .....„ ...........„

............. . . . .......................... . . .........................„

....... .......................................................... „

.... .........„ ...............................•.....................

................. ....................................„ . . • ...... . . . • . . • ........... „.......• . . . . • . . • .............

...............................„ ...................„ ........................... „

.......................................................................................................................

.......... ..„ ................................................ . . . ................... .............................

........................................... „........„ ..• ....... • ....• ............ •..•....•....•..•..............

.................................... . ............. .... . . . . . . . . . . . „...... „ ............. . . . . . . . . .

.......................................................„ ...........„ ............ „

9

Spis treści

Proces uzyskiwania konfiguracji ......................... ................. . ............... .. ........... .. 327 Konfiguracja klientów DHCP . . .... . . .. . . .. . ... .. .. . . . . . . . . .. .. .. . .. . . . . .. .. . ....... ..... .... . .. ....... . .. . 328 Serwery DHCP ................ ... .................... .. ............ ........ ................. ...................... 330 7.19. NetBIOS ....... ... ..... ....... ...... ........ .. ......... .. .. .. .... .. .. .. ... ..... ... .. .. .. .. .......... . .... .... .. .. .. .. . 334 Wyszukiwanie nazw NetBIOS . 337 Optymalizacja . .. .. .. . .. . . .. .. ... ... ... ... ... ... . .. .. .. .. ... ..... .. .. . . ...... . . .. ......... ... .. .. ..... ... . .. .... .... 338 Bezpieczeństwo . .. ....... ..... .. ... .. .. .. . . . . .. .. .... .... .. ... .. ... .. .. .. . .. .......... . . .. ....... . . . .. .. .. .. ..... . 339 7. 20. VoIP . .. .. ... .... ... . ..... .. . . . . . .. .. .. . . . .. .. . . .. . . .... . ... .. .. .. .. . .. . . . . . .. .. ... . . .. . . ... . . . .. .. .. .... . . . . . ... ....... . . 339 SIP 339 H .323 .. .... ... .. .. .. .... ... .. .. ... . . . . . .. ... . . ... .. ... .... .... ... ... .. .. .. .. .. .... . .. .. .... ....... . .. .. .. ... .. .. .. .. . . .. 343 7.21. Urządzenia sieciowe pracujące w warstwie aplikacji ........ ........ ......... .. ............ ... 344 Komputer .. .. . . . . . ...... . . .... .... . .. ... ... .. .... ... .. .. . . . . . . . . ...... .. . . .. .. .... . . . . . .. .. .. .. .. . . .. .. . .. . .. . . . . . .. .. 344 Serwer ....... ........ ........................... ............. .......... .. ... ....... ... .. ... ...... ......... . .. ........... 345 ............................................................ .......„ ......

.......................................................................................................................

Rozdział 8.

Inne protokoły

.

. . . . ... . . . .

.

..

.

.

.

..

... .

......

.

........

. .. ..

..... . . . . . .. . ... . 347

.......

.

..

.

. .

.

.

.

.

8.1. Token Ring .. ........ ... ....... .. ..... .. ............. .. ............ ... .... .... ......... .. ... ......... .. .. ........... . 347 8.2. FDDI ... ......... . . . . . .......... ... . . .. ..... .......... ... .......... . . . ..... .... .. . .................... .. .. .. ............. 348 8. 3. IPX/SPX .... .. .. .... .... . .. .. .. ..... .... ......... ..... ........ .................... ........................... ... ... ... 351 Budowa pakietu IPX . .... ..... .. .. .... ........ .. .... .. .. .. . ..... .. .. .. .. ... .. ...... .. . ... .. .. .. .... .... .. .. .... . 351 Adresy IPX ................................... ................... ........ .................................. ......... . 353 Protokoły używane w IPX 353 8.4. ISDN . . 354 8.5. ppp . . . . 357 Ramka PPP . .. .. .. ...... . .. .. .. .... ........ .... .. ..... .. .. .... ... .. ..... .. ... .... .. .. .. .. . . . .. .. ..... .. ... .. .. .. ..... 358 Dodatkowe możliwości PPP . 359 Konfiguracja PPP w Linuksie 359 8.6. xDSL . ... . 365 ADSL . 366 RADSL ... ........ .............. ... .. ... .. .. .... ....... ... ...... ... ....... ...... ..... .. . . ... ...... ....... . .... ...... .. . 367 SDSL ........................ ........... ... ..................................................... ......... ..... .......... 368 HDSL .. ... ....... . .. .. . . ....... .. .. ........... .......... .. . . .. .. .. . .. ....... .. .. . .. . . ... . .. ...... .. ...... .. . . ... ........ 368 VDSL ............ ... .......... .. . . .. ............ .. ......... ........ ........... ..... .......................... ... .. ...... 368 IDSL ... ............. ......................... ........ ....... .... .... .. .. .. .. .. .. . . . .. ... ... ... ........ ....... ........... 368 8.7. Frame Relay ..................... ........ .... .... ....................................... ............................. 368 Opis technologii Frame Relay ...... ..... .. ...... .. ...... .......... ........................... .... ......... 369 Zasada działania FR ........ .. .. . ..... .. . . .. . . . . ... .... . ... . ... .. . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . ..... . . . . . . . 370 Format ramki Frame Relay . 371 Mechanizmy sieci FR 372 Parametry transmisji FR .......... .... ..... . . ... ..... ...... ..... .............................................. 374 8.8. ATM . .. .......... ................... .. .................................................. .......... .... .................. 375 Właściwości standardu ATM 376 Interfejsy ATM ......... .... .... .. ... .... ... ...... ... ....................... .... ............ ....... ...... .......... 376 Rodzaje połączeń w sieciach ATM „„„ ........ .... 376 Komórka A TM . ... . . . . ... .. ...... ... .. ... .. .... .. ... .. . . .. .. ... ..... .. .. .. . . . .. . . .... .... ... .. .. .. . .. . .... .. .... .. 3 77 Usługi ATM . . . .. . . 379 Model ATM 380 Klasy ruchu ....... ....... ... ...... .. ... . . .. .. .. .. ..... ... ................. ....... .......... .. .. .. .. .... ... .. . ....... . 381 Trasowanie ATM ...................... .... ................................................... ... .. ....... . . ...... 383 Dodatkowe możliwości sieci ATM . 383 8.9. Sieci w gniazdku zasilającym - PLC ........... ................................. ..... .. ..... .. .... .. . 384 Topologia sieci PLC ................. ........... .. .. ..... ... ............ .. ............................ .......... 384 Standardy PLC . 385 Wady PLC .. .. ...... .. .... ......................................... .. ........... . .. .. . .. .. ... ............. ........... 386 ..... „ ........................ ...................... . . . .... .......•....• . .........

........................ ...................................................... „.. „................... „........ .

.............. ....................... .......................................... .. .................................

.................................................................. ....„....... .....................„.... ................. ...... . . . • . . • .....................

......................................... . . . .... ....... . . .. „ .............. .................................... ...............................................................................„.......... ......... ..............

............ ... „................................................................

................. „„ . . . . . . . . . . . . ........ ................•....................... . . . . .....

................ „ .......... „..........................•.......•.......•......

...............................„„„.......... „ ...

.... . . ............. .

.......................................................... „. .. „ .............

............. „.............. „......... „„„.„ ............•....•............•.. • ...... . • . • . . • .........

............................... „ ... ............. „.. „ . ............

.................... ..„ ....................... „.........•....•.......•............................

10

Sieci komputerowe. Kompendium 8.10. Sieci telewizji kablowych Standard MCSN/DOCSIS

Rozdział 9.

............................................................ ..... ................... ...................................................................................

Administracja siecią LAN . . . . . . ... . . . .

.

..

9. 1. Projektowanie sieci LAN Struktura fizyczna sieci Struktura logiczna sieci 9.2. Rozwiązywanie problemów Poważna awaria Użytkownik Rady Problemy 9. 3. Narzędzia administratora sieci Sniffery Analizatory sieci Testowanie dostępności usług Skanery bezpieczeństwa Inne narzędzia 9.4. Wykorzystanie protokołu SNMP Konfiguracja agenta snmpd Konfiguracja menedżera MRTG 9.5. Zarządzalne urządzenia aktywne

.

.

.

...

. . . . ... .

.

..

.

....

. . . . .

.

.

. . .

.... .

.

.

...

....

389

.................... „ .................. „...........................................

................ ........................................................................

........................................................................................ .................................................................................

...................................................................................................

.................. .......................................................................................

.................................................... ................................................................ .................................. ...................................................... ..................... .............................................................................

................................................................................................................ ...................................... ........................... ................................. .............................................................................

......................................................................................

............................ ......................................... .......... ....................... ......................... ................................................

....................................................... ..........................

Rozdział 10. Bezpieczeństwo ... . . . . ..

.................. ...................... ................................. .........................................................................

..

.

.

. .

.

..

.

.

......................................................................................

............................ ...................... ........................................

................................................................................................................

..................................................................................................................... ........................................................................................................

.......................................... ...................................................... .. ...................

.............................................. ........................................................................ . . ........ ....................................................................................................... .................................................................................................. ..............................................................................................

.................................................. ...............................................

............................................ ............................................................. .. ............................................. ....... ..................... ........................... .........................................

................................................................................................... ................... . . . .............................................................. . . . . . . . .... ............................................................................................. ........................................................... ............................

........................................................................................ ..................................... ...................................

................................................................................................................. ............ . . . . . . . . .. . . . . . ............ .............................................................. ............... ............................................................

Rozdział 11. Firewall . .. .... . .. . . .. ...... . . .. ... .. . . .

.

.

.

.

.

390 390 393 396 396 396 397 398 401 402 409 418 422 429 434 435 437 441

....... ...... . .. . . ... ......... ............. ......... 443

....

I O. I . Polityka bezpieczeństwa 10.2. Najważniejsze pojęcia Firewall NAT Kryptografia VPN IDS Wirusy 10.3. Konstrukcja sieci 10.4. Rozpoznanie terenu Zbieranie danych Skanowanie Metody ukrywania skanowania Identyfikacja systemu operacyjnego 10.5. Metody włamań Uzyskanie dostępu Destabilizacja pracy 10.6. Zagrożenia wewnętrzne Wykrywanie snifferów Sposoby omijania przełączników Zasoby 10.7. Podsumowanie Zachowanie podczas włamania .

387 388

.

.

.

.

.

.

.

11.1. Rodzaje firewalli Tradycyjne proxy (Traditional proxies) Przezroczyste proxy (Transparent proxies) Tłumaczenie adresów IP (NAT) Filtrowanie pakietów

.....

. .... . . .

. .

...

445 449 449 451 454 459 461 466 467 474 475 477 480 484 489 490 497 502 502 504 507 508 508

. . . . . . . . . . . .. 511 ..

.

.

.

.

.

.

. .

.

.

.................................................................................................. ... ............................................................ ..................................... .....................

..........................................................................

........................................ „ .................................................

511 511 512 512 512

Spis treści

11 11.2. Obsługa filtrowania pakietów w Linuksie . . . 513 Rozwiązania komercyjne . . . . . 515 Ipchains - Linux 2. 2 ...... .. ..... .................. ... ............. ... ............. . .. .. ....... .. . .. . . .... .... 517 Składnia polecenia ipchains . . . 518 lptables - Linux 2.4 . . . . ........... . . .. ..... ... . ........... .. .. ....... . .. .... .. .... ..... ... .. .. .. .... . . .. .. .. .. 520 11.3. Tworzymy firewall .. . . . 522 Podstawy 523 Konfiguracja . . 525 Logi systemowe .. . . . . . . 531 Problemy z działaniem firewalla . . . 532 Wyłączanie firewalla . . . . . 532 11. 4. Dodatkowe funkcje .. . . . . . . . . . . . 533 Ograniczenia na ICMP . 533 Jak przepuścić nową usługę . . . 534 Ustawianie priorytetów pakietów .. . . . . . 535 Wykrywanie skanowania za pomocą firewalla 537 Wykrywanie NAT . .. . 538 ....... .......... .......................... .............

................. ............. ............ ....... .................. .............

........ . ....................................................... ..............

.....................................................

.......... ................... ..... ..

.............................................................................................................

.............................................. ...... .................................................. .......................................... . ............. ................... ...............

.

.......... ........................... ........... ......................

....... .................... .... ..................... ... ...............................

........ . .... ... .................. ........ ...... . ... ... ........... ..... ......... . ...................................................................................... .

.................................................. ... ......... ................ ..................

....... ............. ... ......... ......... ...... ................ ....................................

............. .................................................... . .. .......................

Skorowidz

.....................................................................................

541

12

Sieci komputerowe. Kompendium

Wst9p Po co napisałem tę książkę? Często zdarza się, że administrator sieci, rozpoczynając swoją pierwszą pracę, nie jest do niej przygotowany. Jego wiedza jest fragmentaryczna i bardzo teoretyczna, a zetknięcie z rzeczywistymi potrzebami okazuje się dużym zaskoczeniem. Musi szybko uzupełnić braki w wiadomościach, uporządkować je i zdobyć narzędzia do rozwiązywania napotka­ nych problemów. Pisząc tę książkę, starałem się zawrzeć w niej treści, które umożliwią Ci sprawne przygotowanie się do pełnienia obowiązków administratora sieci. A po prze­ czytaniu zawsze będzie można do niej wrócić, aby przypomnieć sobie zasadę działania i właściwości charakterystyczne dla kolejnej wprowadzanej w Twojej sieci technologii. Opisując różne protokoły i technologie starałem się przedstawić podstawowe wiadomo­ ści teoretyczne potrzebne do przyswojenia sobie ,,jak to wszystko działa". Na podstawie pytań zadawanych przez czytelników mojego serwisu i młodych stażem administratorów nabrałem przekonania, że najczęstszym powodem kłopotów z działaniem sieci jest brak zrozumienia mechanizmów jej funkcjonowania. Jestem przekonany, że najważniejsze w pracy administratora jest rozumienie procesów zachodzących w jego sieci. Starałem się przedstawić w książce minimum teorii potrzeb­ nej do przyswojenia sobie każdego z tematów. Na rynku jest dostępnych wiele pozycji zawierających olbrzymią ilość wiedzy oraz opisujących problemy praktyczne. Brakuje jednak książki pomagającej wyobrazić sobie działanie sieci jako całości. W swojej pracy natkniesz się na wiele specyficznych problemów. Nie ma i nie będzie książki zawierają­ cej opis wszystkich możliwych awarii i sposobów ich naprawy. Chciałbym, abyś po prze­ czytaniu mojej pracy rozumiał, czym zostało spowodowane zakłócenie w pracy sieci i który z wielu elementów składających się na ten organizm odpowiada za zaistniałą sytu­ ację. Kiedy wykryjesz źródło kłopotów, rozwiązanie będzie oczywiste. Jest jeszcze drugi cel, który przyświecał napisaniu tej książki. Często używam mojej strony jako kompendium, w którym mogę odnaleźć pojęcia dotyczące interesującego mnie tematu. Nie jest prawdą, że administrator sieci musi znać na pamięć całe tomy

14

Sieci komputerowe. Kompendium parametrów sieciowych i skrótów. Musi mieć źródło, dzięki któremu szybko je sobie przypomni. Chciałbym, aby takim źródłem stała się dla Ciebie niniejsza książka. Znając działanie danego protokołu i związanych z nim zagadnień, możesz bez problemu przystąpić do jego konfiguracji. Systemy operacyjne i oprogramowanie sieciowe ulegają bardzo szybkiej ewolucji, protokoły sieciowe zmieniają się znacznie wolniej. Dobrą tak­ tyką jest uczenie się pojęć związanych z konkretnym protokołem, dzięki czemu konfi­ guracja jego działania za pomocą innego oprogramowania niż wcześniej używane nie powinna sprawić Ci kłopotu. W czasie pisania tej książki został utworzony serwis http://sieci.krysiak. info. Znajdziesz tam najnowsze wersje opisanych przeze mnie programów, stronę, na podstawie której powstała ta książka, oraz w razie kłopotów uzyskasz pomoc kilku pasjonatów technologii informatycznych, również moją. Nie ma sensu opisywanie zawartości książki; aby się z nią zapoznać, powinno Ci wystarczyć przeczytanie spisu treści. W jaki sposób została napisana? Przejrzyj wybrany podrozdział i zdecyduj, czy odpowiada Ci mój sposób przedstawiania poruszanych zagadnień.

Gdzie szukać informacji? Każdy w trakcie korzystania z Internetu wypracowuje sobie własne metody wyszuki­ wania interesujących zasobów. Nieocenione usługi oddają ogólnodostępne wyszukiwarki sieciowe; oczywiście jakość prezentowanych przez nie wyników jest wprost propor­ cjonalna do Twojej wiedzy na temat ich wykorzystania. Dlatego zapoznaj się dokładnie z zasadami tworzenia zaawansowanych zapytań, przynajmniej dla kilku najważniejszych wyszukiwarek. Dzięki temu efektywniej (szybciej) znajdziesz potrzebny Ci zasób. W razie kłopotów bardzo przydatną metodą jest skopiowanie treści komunikatu o błędzie i „wklejenie go do wyszukiwarki". Oczywiście należy ten komunikat zawrzeć w cudzy­ słowie. Jeśli ktoś już miał podobny kłopot, to najprawdopodobniej znajdziesz jego list wraz z opisem problemu zamieszczony na jednej z ogólnodostępnych grup dyskusyjnych. Dzięki temu, jeśli uzyskał on odpowiedź, będziesz mógł ją również przeczytać. W tym podrozdziale przedstawię miejsca w Internecie, od których warto zacząć i które warto znać. Oczywiście będzie ich bardzo niewiele, pozostałe ciekawe adresy sieciowe można znaleźć w treści książki.

Standardy internetowe Organizacją regulującą rozwój technologii internetowych jest IETF (Internet Engine­ ering Task Force) - http://www. ietf.org. Standardami tej organizacji są dokumenty RFC (Requestfor Comments), dostępne za darmo do pobrania ze strony tej organizacji. Istnieją trzy rodzaje RFC: Proposed Standard, Draft Standard oraz Internet Standard. Najważ­ niejsze są w zasadzie te ostatnie, zawierające faktycznyne i obowiązujące regulacje doty­ czące Internetu.

Wstęp

15 Amerykańską organizacją standaryzacyjną jest ANSI (American National Standards Institute) - http://www. ansi. org. Ze stron ANSI można za darmo (po uprzednim zare­ jestrowaniu się) pobrać jedynie standardy dotyczące telekomunikacji tworzone przez , komitet T l . Europejską organizacją standaryzacyjną w dziedzinie telekomunikacji jest ETSI (The European Telecommunications Standards Institute). Udostępnia ona swoje dokumenty do pobrania na stronie http://www. etsi.org. Organizacją zrzeszającą inżynierów z całego świata (z płatnym uczestnictwem) jest IEEE (The Institute of Electrical and Electronics Engineers) - http://www. ieee. org, która zajmuje się kreowaniem standardów w kilku dziedzinach życia, m.in. w informatyce. Standardy tworzone przez tę organizację są bardzo popularne w świecie technologii in­ formatycznych. Ogólnoświatową organizacją tworzącą standardy jest ISO (International Organization for Standarization) - http://www. iso.org. Organizacja ta zrzesza ponad 140 narodowych organizacji standaryzacyjnych. Należy do niej również Polski Komitet Normalizacyjny http://www.pkn.com.pl. Normy udostępniane przez ISO są płatne. Jak widać, organizacji standaryzacyjnych jest bardzo wiele. Dla nas najważniejsze są standardy IETF, czyli popularne dokumenty RFC opisujące technologie internetowe. Ponadto przedstawię pokrótce standardy IEEE, z którymi spotkamy się m.in. podczas omawiania norm dotyczących sieci Ethernet.

Zbiory oprogramowania TuCows - http://www. tucows.com Polski mirror TuCows Source Forge

-

-

http://ipartners. tucows. com

http://sourceforge. net

Fresh Meat - http://freshmeat. net

Anonimowe FTP SunSite -ftp://sunsite. icm. edu.pl/pub Trójmiejska Akademicka Sieć Komputerowa -ftp://ftp. task.gda.pl

16

Sieci komputerowe. Kompendium

Netykieta Ważnymi dokumentami, na które będziesz się natykał, są tzw. FAQ (Frequently Asked Questions), co oznacza „często zadawane pytania". W FAQ najczęściej znajdziesz odpo­ wiedzi na te pytania. Podczas korzystania z grup dyskusyjnych obowiązuje pewien kanon zachowań, który obejmuje również kontakty e-mailowe. Jeśli nie zastosujesz się do tych nmm, możesz zostać uznany za „nieobytego sieciowo gbura". Z niemałym zdziwieniem wówczas stwierdzisz, że na swoje pytania nie otrzymujesz odpowiedzi. W najlepszym razie możesz zostać zignorowany, a jeśli bardzo się komuś narazisz, zostaną wobec Ciebie podjęte działania odwetowe. Szczegółowe informacje na temat grup dyskusyjnych znaj dziesz w FAQ polskiego Usenetu http://www. usenet.pl/docl. Ładny opis netykiety znajdziesz na stronie http://www. wsp. krakow.pl/papers/netykiet. html oraz w FAQ poszczególnych grup dyskusyjnych. Wiele z nich wytwarza swoje własne, specyficzne nmmy zachowań. Zawsze przeczytaj FAQ grupy, zanim zaczniesz na nią pisać. Jeśli szukasz FAQ konkretnej grupy dysku­ syjnej , to ściągnij posty (listy) z ostatniego miesiąca z grupy pl. answers. Poniżej przedstawię krótko najważniejsze zasady nie podając ich genezy - te znajdziesz, czytając podane przeze mnie źródła. 1. Podpis - nazywany sig, od: signature - nie powinien być dłuższy niż 4 wiersze. Od treści listu oddzielamy go wierszem zawieraj ącym tylko dwa myślniki i spację ( - - ) oraz znakiem nowego wiersza (Enter). 2. Cytuj ąc, swoją odpowiedź umieść za cytatem. W cytacie pozostaw jedynie te fraginenty, których dotyczy twoja odpowiedź, usuń z niego podpis przedmówcy i ewentualnie nagłówki jego wiadomości. 3. Tekst postu (listu wysłanego na grupę dyskusyjną) należy formatować na 74 (lub mniej) znaków w wierszu. 4. Polskie znaki diakrytyczne w Internecie powinny być kodowane zgodnie z normą IS0-8859-2 (ISO Latin 2). Więcej informacji o polskich znakach diakrytycznych i sposobach ich poprawnego kodowania w różnych aplikacjach znaj dziesz na

Polskiej Stronie Ogonkowej - http://www. ogonki. agh. edu.pl/. 5. W hierarchii polskiego Usenetu (pl. *) nie wysyłamy żadnych binariów (załączników). 6. Nie wysyłamy postów w HTML-u.

7. Generalną zasadąjest zwracanie się do siebie używając formy: ty. 8. W dobrym tonie jest umieszczenie w nagłówku i (lub) podpisie swojego nazwiska oprócz używanego w sieci pseudonimu.

9. Nie pisz nigdy WIELKIMI LITERAMI, ponieważ jest to uznawane za krzyk. Aby położyć akcent na jakimś zwrocie, po prostu_go_podkreśl_.

17

Wstęp 10. Stosuj się do norm zachowania, które obowiązują w zwykłym życiu. Pamiętaj , że wbrew złudnemu wrażeniu w Internecie nie jesteś anonimowy.

Podczas czytania listów często natkniesz się na różne skróty używane w ich treści; oto najważniejsze z nich: + AFAIK (As Far As I Know) - o ile wiem, + AFAIR (As Far As I Remember) - o ile pamiętam, + AKA (Also Known As) - znany także jako, ·

+ BTW (By The Way) - a tak w ogóle, + EOT (End OfTransmission) - koniec dyskusj i, + FYI (For Your lnformation) - dla Twojej informacji, + IMHO (In My Humble Opinion) - moim skromnym zdaniem, + LOL (Laughs Out Loud) - głośny śmiech, + NTG (Not This Group) - nie ta grupa, + ROTFL (Roll On The Floor Laughing) - tarzając się ze śmiechu po podłodze, + RTFAQ (Read The FAQ) - przeczytaj FAQ, + RTFM (Read The Fucking Manual) - przeczytaj pie„.ny manual (dokumentację), ·

+ TIA (Thanks In Advance) - dzięki z góry.

Spotkasz się również z tzw. emotikonami; są to różne „uśmieszki", czyli rysuneczki mające oddawać nastrój piszącego: + : -) - uśmiech, radość, żart, + ;-) - żart; traktuj to „z przymrużeniem oka", + : - ( - smutek, + :-> - ironia, sarkazm, + :-o - zdziwienie, zaskoczenie, jęk, okrzyk, + :-P - pokazuję Ci język

Konwencje przyjęte w książce Starałem się wyróżnić wszystkie wyrazy angielskie pojawiające się po raz pierwszy. Ponadto ważniejsze pojęcia, które należy zapamiętać, zostały pogrubione. Polecenia systemu Windows stosują notację:

> format c :

18

Sieci komputerowe. Kompendium Polecenia systemu Linux wykonywane bez uprawnień roota: $

cat /dev/random I grep szekspi r

Polecenia systemu Linux wykonywane z uprawnieniami roota:

# cat /dev/random > /dev/hdal Tego ostatniego polecenia lepiej nie uruchamiaj .

Krótki opis systemów liczb bin/hex/dec Nawet gospodynie domowe wiedzą, że kompute1y liczą za pomocą zer i jedynek. Jednak już rzadziej (niż wspomniane gospodynie) spotykana jest umiejętność liczenia w systemie dwójkowym. Dawniej prawdziwy informatyk potrafił przeliczać w pamięci wartości pomiędzy różnymi systemami liczbowymi. Wraz z powstawaniem coraz wygodniejszych języków programowania umiejętność ta straciła na znaczeniu. Odkąd zaczęły pojawiać się systemy operacyjne dla gospodyń domowych, zwykłemu użytkownikowi nie jest zupeł­ nie potrzebna ta wiedza. Nadal jednak dla informatyka ważna jest umiejętność posługiwania się różnymi syste­ mami liczbowymi. Jeśli potrafisz przeliczać liczby pomiędzy systemami dziesiętnym (dec), dwójkowym (bin) i szesnastkowym (hex), to możesz pominąć ten rozdział. Na ogół do zrozumienia treści tej książki nie będzie potrzebna żadna dodatkowa wiedza mate­ matyczna poza podaną w tym podrozdziale. Ponieważ statystyczny człowiek ma dziesięć palców u rąk, w procesie ewolucji zjawiska zwanego inteligencją rozwinął system licze­ nia dziesiętnego. W jaki sposób liczymy? Wyobraźmy sobie, jak mógł liczyć człowiek u zarania ery rozumu. Najpewniej stawiał po prostu kreski na oznaczenie liczb: I, li, Ili, 1111 . . . 1111111111- No dobrze, ale skończyły mu się palce do liczenia kresek. Co dalej? T o proste, stawiamy z boku kreskę na oznaczenie, że skończyliśmy jedną dziesiątkę, i liczymy od nowa: I I, I li, I Ili . . . I 111111111- Prawda, że wygląda to znaj omo? Jednak aby nie wprowa­ dzać zamętu, nasz przodek po lewej stronie zapisywał maksymalnie 9 kresek, ponieważ jeśli byłoby ich dziesięć, to zgodnie z przyj ętą zasadą musiałby postawić jedną kreskę więcej po lewej stronie, na oznaczenie pełnej dziesiątki. W toku dalszego gwałtownego rozwoju intelektualnego nasz daleki przodek zmęczył się stawianiem kresek i wymyślił symbole na oznaczenie ich liczby. I w ten sposób możemy teraz liczbę I 1 1 11 zapisać jako 14. Czytamy t o jako jedną dziesiątkę i cztery: 1 * 1 0+4. Dlaczego jednak mielibyśmy się zatrzymywać w ewolucji? Idźmy dalej, przeczytajmy teraz liczbę 235 dwa razy po dziesięć dziesiątek i trzy dziesiątki, i jeszcze pięć: -

235 = 2 · 1 0· 1 0+3 · 1 0+5 Dla osobników na naszym szczeblu rozwoju ewolucyjnego staje się j asne, że kolejne miejsca w lewo oznaczaj ą liczbę kolejnych wielokrotności liczby dziesięć. Zapiszmy teraz pewną liczbę, do której za chwilę wrócimy:

Wstęp

19 1 5672 = 5 · 1 000+6 - 1 00+7· 1 0+2=5 · 1 03+6· 1 0 2+7· 1 0 +2· 1 0° Zapisałem sobie liczbę dziesiątek w prawym górnym rogu liczby dziesięć i dzięki temu udało mi się poznać ciekawe działanie matematyczne - potęgowanie. A co by było, gdyby nasz przodek po wyjściu z oceanu miał zielone łuski i doliczył się u swoich koń­ czyn szesnastu palców? Byłoby tak samo, z tym że po lewej stronie odznaczałby kreskami policzone już szesnastki. Nie będę tutaj stawiał tylu kreseczek, przejdę od razu do ozna­ czania ich symbolami. Aby uprościć sprawę, pierwsze dziewięć palców oznaczymy zna­ nymi nam symbolami liczb, a pozostałe kolejnymi literami. W tabeli wprowadzimy jesz­ cze zero - do pełnego rachunku szesnastu symboli. Dziesiętnie Szesnastkowo

o

o

2

3

4

5

6

7

8

9

10

11

12

13

14

15

2

3

4

5

6

7

8

9

A

B

C

D

E

F

I już możemy zacząć liczyć na naszych szesnastu paluszkach. Spróbujmy: Dziesiętnie

O

9

10

11

12

13

14

15

16

17

30

31

32

Szesnastkowo

O

9

A

B

C

D

E

F

10

11

lE

lF

20

W jaki zatem sposób obliczałby wartość liczby 5 672 nasz zielonołuski przyjaciel? 1 5672 = 5 · 1 63+6- 1 62+7· 1 6 +2· 1 6° Ale chwileczkę, przecież liczba dziesiętna 16 w świecie naszego przyjaciela to 10 (jedna szesnastka i zero jednostek), więc poprawny zapis w systemie szesnastkowym to: 1 5672 = 5 · 1 03+6· 1 02+7· 1 0 +2· 1 0° Chyba musimy dodać jeszcze jakiś symbol na oznaczenie systemu liczbowego, w którym liczymy: 1 . ( 16)5672 = c16J 5· c16J 1 03 + (16J6-o6J 1 02+c 16J 7· c16J 1 0 +(16J2· c 1 6J 1 0° A teraz dla zabawy obliczmy wartość dziesiętną liczby 0 6)5 672, korzystając z naszego poprzedniego zapisu w systemie dziesiętnym: 1 (16)5672 = 5 · 1 63+6 - 1 6 2+7· 1 6 +2· 1 6° = 5 ·4096+6·256+7 · 1 6+2 = 22 1 3 0 Liczb dziesiętnych nie opatrujemy żadnymi dodatkowymi przyrostkami. Okazuje się, że w systemie szesnastkowym można krótko zapisać całkiem duże liczby; ale w końcu co szesnaście palców, to nie dziesięć. Dobrze, a teraz najtrudniejsze - wyobraźmy sobie sposób liczenia stwora posiadającego tylko dwie macki. Oczywiście pewnie ma jeszcze jakieś odnóża służące do poruszania się, ale wolę nie opisywać j ego potencj alnego wyglądu. Nieszczęśnik ze względu na swoj e ubogie wyposażenie będzie używał jedynie dwóch symboli, O i 1. Policzmy: Dziesiętnie

2

3

4

5

6

7

8

9

Dwójkowa

10

11

1 00

101

110

111

1 000

1 00 1

Sieci komputerowe. Kompendium

20

A w jaki sposób nasze biedactwo będzie odczytywało np. 9? 2 (2) 1 0 0 1 = 1 ·23+0·2 +0·21+1 ·2° = 1 ·8+1 = 9

Widać, że nasz stworek będzie się musiał bardzo dużo napracować, ponieważ już do zapisania niewielkiej wartości 9 musi użyć aż czterech symboli. Wróćmy jednak do naszych czasów i otaczającej nas rzeczywistości. Wiadomo, że komputery, licząc, muszą przedstawiać bardzo duże liczby dwójkowe. Do szybkiego przeliczania takich liczb przydatna staje się tabelka kolejnych potęg liczby dwa (tabela W. I ). Tabela W.1. Kolejne potęgi liczby 2 Potęga liczby 2 0 2

Wartość dziesiętna

2

22

4

2

3

24

Wartość dziesiętna

29

1

z

Potęga liczby 2

8 16

25

32

26 27

64 1 28

2s

256

z1 zi z

z

512

0

1 024

l

2 048

12

4 056

!3

z 14 15 z 6 z1 17 z

8 1 92 16 384 32 768 65 536 1 3 1 072

Spróbujmy więc obliczyć wartość liczby: (2) 1 0 0 1 00 1 1 = 1 ·27+ 1 ·24+1 ·i+1 ·2° = 128+ 1 6+2+ 1 = 147

Podobnie jak w poprzednim przykładzie rozpisujemy sobie wartość dwójkową na ciąg potęg liczby dwa, szybko podstawiamy wartości z tabeli i sumujemy. Prawda, że nie jest to trudne? Warto zauważyć, że kolejne cyfry liczby dwójkowej - czyli bity - numeru­ jemy, począwszy od zera - od strony prawej do lewej. Właśnie tak, jak wykładniki potęg liczby dwa w naszych równaniach. Ta wiedza wystarczy do zrozumienia treści książki; oczywiście warto by jeszcze nauczyć się np. dodawać i odejmować w systemie dwójkowym, ale jeśli będziesz potrafił przeli­ czyć liczby dwójkowe na dziesiętne, również sobie poradzisz. Przydatna będzie jeszcze umiejętność przeliczania liczb z systemu dziesiętnego na szesnastkowy lub dwójkowy. Metod jest kilka, opiszę tutaj najszybszą i najmniej pracochłonną. Spróbujmy zamienić liczbę 1 3 8 na liczbę dwójkową. Aby tego dokonać, musimy przedstawić ją w postaci sumy liczb będących potęgami 2. Przeszukujemy tabelkę z potęgami liczby dwa i znaj­ dujemy największą wartość, która jest mniejsza od 1 3 8 lub jej równa. Taką wartością jest 128 i jest to 27. Zapisujemy jedynkę po prawej stronie równania: 1 3 8 = (2) 1

Odejmujemy o d 1 3 8 liczbę 1 2 8 i otrzymujemy 1 0. Sprawdzamy, czy szósta potęga liczby dwa - czyli 64 - jest mniejsza od 1 0 lub równa tej liczbie. Nie jest, więc dopi­ sujemy O po prawej stronie wyznaczanej liczby dwójkowej: 1 3 8 = (2) 1 0

21

Wstęp

Sprawdzamy, czy piąta potęga liczby 2 - liczba 32 -jest mniejsza od 1 0 lub mu równa. Nie jest, więc znowu dopisujemy zero: 1 3 8 = (2) 1 00 Sprawdzamy, czy czwarta potęga liczby dwa - liczba 16 -jest mniejsza od 1 O lub mu równa. Nie jest, więc dopisujemy kolejne zero: 138

=

(2) 1 000

Sprawdzamy, czy trzecia potęga liczby 2 jest mniejsza od 10 lub mu równa. Liczba 8 jest mniej sza od 10. Dopisujemy zatem jedynkę do wyznaczanej przez nas liczby dwójkowej : 1 3 8 = (2)1 000 1 Następnie odejmujemy od 10 liczbę 8 i otrzymujemy w wyniku 2. Ponownie wracamy do poprzedniego algorytmu postępowania. Sprawdzamy, czy druga potęga liczby 2 czyli 4 - jest mniejsza od 2 lub równa tej liczbie. Nie jest, więc dopisujemy zero: 138

=

(2) 1 0 00 1 0

Sprawdzamy, czy pierwsza potęga liczby 2 - czyli wartość 2 - jest mniejsza o d 2 lub równa tej liczbie. Jest równa, więc dopisujemy jedynkę: 1 38

=

(2)1 00 0 1 0 1

Następnie od 2 odejmujemy 2 i otrzymujemy zero. Aby zakończyć w tym samym stylu, sprawdzamy, czy zerowa potęga liczby dwa - czyli liczba 1 - jest mniejsza od zera lub mu równa. Nie jest, więc dopisujemy O: 138

=

(2) 1 000 1 0 1 0

Nie ma już mniejszych potęg liczby dwa w tabelce, więc skończyliśmy zamianę liczby 1 3 8 na liczbę dwójkową. Wynik mamy zapisany w powyższym równaniu. Sposób ten może się wydawać długi i skomplikowany, ale po kilkakrotnym przećwiczeniu okaże się, że sam znajdziesz dodatkowe zasady upraszczające i przyspieszaj ące obliczenia. Jego główną zaletąjest ułatwiająca zapamiętanie prostota. Jest on na tyle nieskomplikowany, że nawet po bardzo wyczerpującej nocy i silnym porannym bólu głowy można go z powo­ dzeniem zastosować, np. na kolokwium. Dla pełniej szego przedstawienia podam teraz zapis wyjaśniaj ący działanie tego algorytmu. 138

=

(2)

o

1

o

o

1 + 1·8

138 =

1 - 128 + 0· 64

+ 0· 32

+ 0· 1 6

138 =

7 1 ·2

6 + 0· 2

5 + 0· 2

4 + 0· 2

+ 1·2

3

o

1

o

+ 0 -4 2 + 0· 2

+ 1·2

+ O· l

' + 1 ·2

+ 0· 2 °

Spróbujmy teraz zamienić liczbę 138 na liczbę w systemie szesnastkowym. Tabelki potęg 2 ° 1 liczby szesnaście nie podawałem, ale stwórzmy szybko krótką: 1 6 = 1 , 1 6 = 1 6, 1 6 256. Jak widać, do zapisu liczby 138 powinna nam wystarczyć dwucyfrowa liczba szes­ nastkowa. Sprawdzamy, ile wielokrotności 1 6 1 zmieści się w 1 3 8. Okazuje się, że 8, czyli liczbę 1 3 8 możemy zapisać w postaci równania: =

138

=

8 · 1 6+ 1 0

=

° 1 8 · 1 6 + 1 0· 1 6

22

Sieci komputerowe. Kompendium

Przypominając sobie, że symbolem oznaczającym 1 O w systemie szesnastkowym jest A, możemy zapisać: 138

=

(I6J8A

Warto jeszcze zapamiętać, że przyjętym standardem zapisu liczb szesnastkowych jest poprzedzanie ich symbolem „Ox''. Przy takim sposobie zapisu liczba dziesiętna 1 3 8 będzie miała postać Ox8A. Czasem w zapisie liczb szesnastkowych są stosowane małe litery - Ox8a. Jako ciekawostkę podam, że liczba 0237 oznacza csi237 zapisane w sys­ temie ósemkowym, którego nie będę już omawiał, zwłaszcza że teraz już możesz samo­ dzielnie przeprowadzić symulację sposobu liczenia potworka o ośmiu palcach.

Jednostki W książce posługuję się różnymi jednostkami. Chciałbym wyjaśnić znaczenie najważ­ niejszych z nich; zacznę od jednostek danych: ł 1 b - jeden bit - oznacza jedną cyfrę dwójkową, może przyjmować

wartości O i 1 , ł 1 B - jeden bajt - oznacza ośmiobitową wartość dwójkową.

Ponieważ dane w komputerach zapisywane są w bajtach, warto orientować się w zakre­ sach możliwych wartości liczb składających się z kilku bajtów (tabela W. 2) .

Tabela W.2. Zafresy wartości liczb kilkubajtowych Ilość bajtów

Ilość bitów

1

8

2

16

Zapis potęgowy

Od

2s 216

o o

16 ' 777 ' 2 15

o

18 ' 446 ' 744 ' 073 ' 709 ' 551 ' 615

3

24

4

32

224 232

64

264

8

Do

255

o

65 ' 535

o

4 ' 294 ' 967 ' 295

W systemie dziesiętnym stosowane są przedrostki „kilo-" i „mega-'', będące potęgami liczby dziesięć. W systemie dwójkowym używane są takie same przedrostki (tabela W.3), jednak oczywiście podstawą jest liczba dwa, a poza tym są one w inny sposób wyznaczane. Tabela W.3. Przedrostki liczb dwójkowych Przedrostek

Wymowa

k

kilo

M

mega

G

giga

T

tera

Wartość dwójkowa 2 10

Wartość dziesiętna

1 ' 024

0

22 2 2

30

40

10242 10243 10244

=

=

=

1 ' 048 ' 576

1 ' 073 ' 741 ' 824

1 ' 099 ' 511 ' 627 ' 776

Wstęp

23

Kolejnym tematem, który należy omówić, jest sposób określania przepustowości w informatyce. Podstawowąjednostkąjest bis - bit na sekundę. Rzadziej stosowaną jednostkąjest Bis - bajt na sekundę. Oczywiście zachodzi zależność: 1 Bis = 8 bis Często spotykanym zamiennikiem bis jest angielskojęzyczny skrót bps (bits per second). Najczęściej spotykamy się z określeniami szybkości transmisji: + 1 kbls (1 kbps) - jeden kilobit na sekundę; są to 1 024 bity na sekundę, + 1 Mbls ( 1 Mbps) -jeden megabit na sekundę; są to 1 024 kilobity na sekundę, + 1 Gbls ( 1 Gbps) - jeden gigabit na sekundę; są to 1 024 megabity na sekundę. Wiele nieporozumień powoduj e podawanie transferu w bajtach na sekundę; zawsze należy pamiętać, że jeden bajt to osiem bitów. A zatem przykładowo: 1 OO kBls

=

1 00· 1 024·8 bis = 819 200 bis

1 00 kBls

=

1 00·8 kbls = 800 kbls

Podczas lektury różnych tekstów (głównie norm) możesz się natknąć na jeszcze inny sposób zapisu jednostek. W 1 999 roku International Electrotechnical Commission (IEC) opublikowała inny standard zapisu tych przedrostków, polegający na złożeniu początków słów, np. : „binary kilo" = kibi. Przedrostek

Wymowa

Wartość dwójkowa

Ki

kibi

io

Mi

mebi

Gi

gib i

Ti

tebi

Wartość dziesiętna

1 ' 024

20

2

2 30

240

10242 1 0243 10244

=

=

=

1 ' 048 ' 576

1 ' 073 " 741 ' 824

1 ' 099 ' 51 1 ' 627 ' 776

Zapis takich jednostek dałby w efekcie: 1 Ki B 1024 B (KiB 1 Mi B = 1024 Ki B (MiB 1 Gi B 1024 Mi B ( G i B 1 Ti B 1 024 Gi B (Ti B 1 Pi B = 1024 Ti B ( P i B 1 E i B 1024 P i B ( E i B =

=

=

=

-

k i b i bajt) mebi bajt ) g i b i bajt ) tebi bajt ) pebi bajt ) eksbi bajt )

Jednak ponownie życie pokazało swoją wyższość nad próbami regulacj i i w rezultacie ustalonych przyzwyczajeń informatyków norma ta nie przyjęła się w środowisku.

Spis symboli Wielu administratorów ma problem z wyborem narzędzia do rysowania schematów i diagramów sieci. Polecam zapoznanie się z programem Dia http://www.gnome. org/ projects/dia/, który wywodzi się z systemu Linux, ale posiada wersję działającą pod

24

Sieci komputerowe. Kompendium

systemem Windows. Na pierwszy rzut oka Dia wydaje się nieco toporny, kiedy jednak zapoznamy się z jego interfejsem, okazuje się bardzo wygodnym i elastycznym narzę­ dziem. Większość schematów zamieszczonych w tej książce została narysowana za pomocą Dia. W wersji podstawowej Dia nie posiada zbyt ładnych kolorowych symboli. Firma Cisco, której ikony są powszechnie stosowane, udostępniła je do bezpłatnego korzystania: http://www.cisco.com/warp/public/503/2.html. Ze strony http://www.redferni. uklinux. net/dia/ można pobrać przygotowane dla Dia pakiety symboli opartych na iko­ nach Cisco. Zamieszczam tutaj najważniejsze symbole urządzeń, którymi będę się posługiwał w książce. koncentrator, H U B

router z fun kcjonalnością firewall'a

przełącznik, sw itch

stacja zarządzająca router

I DS

firewal l

firewa ll

punkt dostępowy Access Point

most bezprzewodowy

W DS

Rozdzi ał 1 .

Sieci komputerowe Celem napisania tego rozdziału jest wprowadzenie podstawowych pojęć dotyczących teorii sieci komputerowych. Krótko omawiam pojęcia konieczne do zrozumienia zagad­ nień poruszanych w kolejnych rozdziałach.

1.1. Podział sieci komputerowych w zależności od rozmiaru Najbardziej ogólnego podziału sieci komputerowych dokonuje się na podstawie ich rozmiaru: + LAN (Loca! Area Network) - sieć lokalna, najczęściej obejmująca j edno przedsiębiorstwo i łącząca użytkowników zgromadzonych na niewielkim obszarze (kilka budynków), wykonana w jednej technologii (np. Ethernet). + MAN (Metropolitan Area Network) - sieć miej ska, łącząca oddzielne sieci LAN na obszarze jednego miasta. Przykładowo sieci Lodman, Warman. + WAN ( Wide Area Network) sieć rozległa, łącząca ze sobą sieci MAN i LAN na terenie większym od jednego miasta. Przykładowo sieci Pol-34, Polpak. -

+ Internet - tzw. „sieć sieci", globalna sieć wykorzystująca protokół IP, łącząca ze sobą wszystkie rodzaje sieci. + Intranet - sieć oferująca funkcj e podobne do Internetu, lecz działająca w węższym zakresie, najczęściej jednego przedsiębiorstwa. Nie musi być ograniczona geograficznie, najczęściej jednak jest oddzielona od Internetu i nie świadczy usług na zewnątrz.

Sieci komputerowe. Kompendium

26

1.2. Topologie sieci komputerowych Topologia sieci Topologia sieci jest zbiorem zasad fizycznego łączenia elementów sieci oraz reguł komunikacji poprzez medium transmisyjne. W zależności od wybranej topologii sieci istnieją konkretne specyfikacje dotyczące topologii fizycznej - kabli, złączy i standar­ dów komunikacji.

Topologia fizyczna Topologia fizyczna opisuje sposoby fizycznego (np. elektrycznego) łączenia ze sobą komputerów. Topologia magistrali - charakteryzuje się tym, że stacje dołączane są do jednej wspól­ nej magistrali przy użyciu „odczepów" w przebiegu przewodu (rysunek 1 . 1 ). Jest sto­ sowana m.in. przy łączeniu komputerów za pomocą.przewodu koncentrycznego. Rysunek 1.1. Topologia magistrali

Topologia gwiazdy jest stosowana przy łączeniu komputerów za pomocą kabla dwu­ żyłowego skręcanego (skrętka). Hosty podłączane są najczęściej do koncentratora (rza­ dziej przełącznika). Cechą różniącą od topologii magistrali jest to, że każdy pojedynczy przewód jest wykorzystany do połączenia tylko dwóch urządzeń sieciowych (np. koncen­ trator - komputer) (rysunek 1 .2). Topologia pierścieniowa jest często stosowana przy łączeniu komputerów ze sobą za pomocą kabla światłowodowego (rysunek 1 .3). Najczęściej stosuje się obwód (drugi pierścień) dublujący. Ponieważ w przypadku przerwania pierwszego pierścienia kompu­ tery tracą ze sobą kontakt, wtedy zadania komunikacji przejmuje pierścień dublujący. Topologia ta jest stosowana np. w sieciach Token Ring, FDDI.

Rozdział 1. + Sieci komputerowe

27

Rysunek 1.2. Topologia gwiazdy

Rysunek 1.3. Topologia pierścienia

Topologia logiczna Topologia logiczna definiuje standardy komunikacji, dzięki którym poszczególne kom­ putery bezbłędnie porozumiewają się w sieci. Topologia fizyczna jest ściśle powiązana z topologią logiczną. Przykładowo specyfikacja Ethernet umożliwia wykorzystanie topo­ logii fizycznej gwiaździstej lub magistrali, ale nie pozwala na zbudowanie sieci w oparciu o topologię pierścieniową. Topologie logiczne definiowane są przez IEEE (Institute of Electrical and Eletronics Engineers). Najczęściej spotykane specyfikacje sieci komputerowej to: IEEE 802.3

I O Mb Ethernet

IEEE 802.3u

I OO Mb

IEEE 802.3x

Full Duplex Ethernet

IEEE 802.3z

1 Gb Ethernet

IEEE 802.5

Token Ring

IEEE 802. 1 1

Wireless LAN

IEEE 802 . 1 2

l OOVG-AnyLAN

IEEE 802 . 1 4

Cabie Modem

Ethernet

28

Sieci komputerowe. Kompendium

1.3. Model ISO/OSI W latach 70 nie istniały ogólnie respektowane otwarte standardy dotyczące sieci kom­ puterowych. Każdy producent tworzył swoją własną sieć, niezgodną oczywiście z kon­ strukcjami innych producentów. Efektem dążeń do znormalizowania tych zagadnień było

1 977 roku przez Międzynarodową Organizację Normalizacyjną modelu (International Standard Organization I Open System Interconnection). Proces transmisji danych przez sieć został podzielony na 7 etapów, zwa­ nych warstwami, a struktura tworzona przez warstwy OSI nazywana jest stosem protoko­ łów wymiany danych (rysunek 1 .4). opracowanie w

„łączenia systemów otwartych"

-

� '



Warstwa aplikacji Warstwa prezentacji

_. Warstwa aplikacji

'

Warstwa sesji

"

Warstwa transportowa

„ ,,

Warstwa sieciowa Warstwa łącza danych

'

Warstwa fizyczna

"

·�

Warstwa prezentacji

'

Warstwa sesji

'

Warstwa transportovya

·�

Warstwa sieciowa

'

Warstwa łącza danych



Warstwa fizyczna

sieć Stacja nadawcza

Stacja odbiorcza

Rysunek 1.4. Transmisja danych pomiędzy kolejnymi warstwami ISO/OSI

W całym procesie komunikacji wyodrębnia się pewne niezależne zadania, które są wyko­ nywane przez układy sprzętowe lub pakiety oprogramowania, zwane obiektów rozwiązuj ących dane zagadnienie nazywa się

warstwą.

obiektami.

Klasę

Pojęcie warstwy nie

jest jednoznaczne z pojęciem protokołu - funkcje danej warstwy mogą być realizo­ wane przez kilka różnych protokołów. Każdy protokół komunikuje się ze swoim

wiednikiem,

odpo­

będącym implementacją tego samego protokołu w równorzędnej warstwie

komunikacyjnej systemu odległego. Dane przekazywane są od wierzchołka stosu poprzez kolejne warstwy aż do warstwy fizycznej , która przesyła je poprzez sieć do odległego hosta. Na szczycie stosu znajdują się usługi świadczone bezpośrednio użytkownikowi przez aplikacje sieciowe, na spo­ dzie - sprzęt realizujący transmisję sygnałów niosących informacje. Przykładowo dane wysyłane przez warstwę sieciową w stacj i nadawczej odbierane są przez stację odbiorczą, dostarczane do jej warstwy sieciowej i przetwarzane przez nią, tak aby mogły być prze­ kazane kolejnym (wyższym) warstwom do dalszej obróbki. Każda kolejna warstwa musi znać j edynie format danych wymagany do komunikacji poprzez warstwę niższą, zwany

protokołem wymiany danych. Przy przechodzeniu

do warstwy niższej warstwa dokleja do otrzymanych przez siebie danych nagłówek

29

Rozdział 1. + Sieci komputerowe

z informacjami dla swojego odpowiednika na odległym komputerze. Dzięki temu ko­ lejne warstwy nie ingerują w zawaiiość otrzymaną z warstwy poprzedniej . Po odebraniu danych z warstwy niższej warstwa wyższa interpretuje nagłówek „doklejony" przez swoj ego odpowiednika z komputera odległego i jeśli zachodzi potrzeba przekazania danych do warstwy wyższej, usuwa swój nagłówek i przekazuje dane dalej .

1. Warstwa fizyczna { physical layer) Zapewnia transmisję danych pomiędzy węzłami sieci. Definiuje interfejsy sieciowe i medium transmisji. Olaeśla m.in. sposób połączenia mechanicznego (wtyczki, złącza), elektrycznego (poziomy napięć, prądów) i standard fizycznej transmisji danych. W skład jej obiektów wchodzą m.in. karty sieciowe, modemy, regeneratory (repeater), koncen­ tratory (concentrator, hub).

2. Warstwa łącza danych {data link layer) Zapewnia niezawodność łącza danych. Definiuje mechanizmy kontroli błędów w prze­ syłanych ramkach lub pakietach CRC (Cyclic Redundancy Check). Jest ona ściśle powiązana z warstwą fizyczną, która narzuca topologię. Warstwa ta często zajmuj e się również kompresją danych. W skład jej obiektów wchodzą sterowniki urządzeń sieciowych, np. sterowniki (drivery) kart sieciowych oraz mosty (bridge) i przełączniki (switche). -

3. Warstwa sieciowa { network layer) Zapewnia metody ustanawiania, utrzymywania i rozłączania połączenia sieciowego. Obsługuje błędy komunikacj i. Ponadto jest odpowiedzialna za trasowanie (routing) pakietów w sieci, czyli wyznaczenie optymalnej trasy dla połączenia. W niektórych warunkach dopuszczalne jest gubienie pakietów przez tę warstwę. W skład jej obiek­ tów wchodzą m.in. routery (router).

4. Warstwa transportowa {transport layer) Zapewnia przezroczysty transfer danych typu punkt-do-punktu (point-to-point). Dba o kolejność pakietów otrzymywanych przez odbiorcę. Sprawdza poprawność (CRC) przesyłanych pakietów i w przypadku ich uszkodzenia lub zaginięcia zapewnia retrans­ misję. Powyżej tej warstwy dane mogą być traktowane jako strumień.

5. Warstwa sesji {session layer) Zapewnia aplikacjom na odległych komputerach realizację wymiany danych pomię­ dzy nimi. Kontroluje nawiązywanie i zrywanie połączenia przez aplikację. Jest odpowie­ dzialna za poprawną realizację zapytania o daną usługę. Do warstwy tej można zali­ czyć funkcje API udostępniane programiście przez bibliotekę realizującą dostęp do sieci na poziomie powyżej warstwy transportowej , takie jak np. biblioteka strumieni i gniazdek BSD.

------�-

30

Sieci komputerowe. Kompendium

6. Warstwa prezentacji ( presentation layer) Zapewnia tłumaczenie danych, definiowanie ich formatu oraz odpowiednią składnię. Umożliwia przekształcenie danych na postać standardową, niezależną od aplikacji. Rozwiązuje takie problemy, jak niezgodność reprezentacji liczb, znaków końca wiersza, liter narodowych itp. Odpowiada także za kompresj ę i szyfrowanie.

7.

Warstwa aplikacji ( application layer) Zapewnia aplikacjom metody dostępu do środowiska OSI. Warstwa ta świadczy usługi końcowe dla aplikacji, m.in. udostępnianie zasobów (plików, drukarek). Na tym pozio­ mie rezydują procesy sieciowe dostępne bezpośrednio dla użytkownika.

1.4. Model protokołu TCP/IP Protokół tworzący Internet - TCP/IP - również możemy opisać za pomocą siedmio­ warstwowego modelu ISO/OSI. Lepiej jednak oddaje funkcj e i właściwości protokołu TCP/IP uproszczony model czterowarstwowy. W modelu tym najważniejsze są warstwy sieciowa i transportowa; pozostałe są połączone i tworzą dwie warstwy, zwane warstwą dostępu do sieci oraz warstwą aplikacji. Funkcje tych warstw pokrywają się z zada­ niami odpowiadaj ących im warstw w modelu ISO/OSI (rysunek 1 .5).

Warstwa aplikacji Warstwa prezentacji

Warstwa aplikacji

DNS SNMP syslog

Telnet, SSH, FTP, SMTP, HTTP POP, IMAP

Warstwa transportowa

UDP

TCP

Warstwa sesji Warstwa transportowa Warstwa sieciowa

1111

Warstwa I nternetu

Warstwa łącza danych

ARP, RARP

Warstwa dostępu do sieci Warstwa fizyczna Model 150/051

IP

Model TCP/IP

IEEE 802.3

l 1cMP

ppp

SLIP

. . .

Przykładowe protokoły

Rysunek 1.5. Porównanie modelu ISO/OSI i modelu TCP/IP Podobnie jak w modelu OSI, kolejne warstwy dołączają (bądź usuwają, w zależności od tego, w którą stronę przesuwaj ą się dane) własne nagłówki. Taki proces nazywa się enkapsulacj ą (kapsułkowaniem) danych (rysunek 1 . 6). Jednakże model czterowar­ stwowy, poprzez zintegrowanie funkcjonalne niektórych warstw, o wiele lepiej obra­ zuj e ten proces dla protokołu TCP/IP.

Rozdział 1. + Sieci komputerowe

31

Warstwa aplikacji

Warstwa transportowa

Warstwa Internetu

Warstwa dostępu do sieci

Rysunek 1.6. Proces enkapsulacji danych Ponieważ zrozumienie tego procesu sprawia często duże problemy, postaram się teraz w dużym uproszczeniu przedstawić zasadę działania takiego modelu. Załóżmy, że chcemy pobrać z serwera pewien plik z danymi o nazwie PLIK.MP3. Wykorzystujemy do tego protokół FTP i powodujemy przesłanie tego pliku na nasz prywatny komputer. A jak to się odbyło? Aby dokładnie opisać proces przesyłania pliku, musiałbym napisać drugą taką książkę, z tego też powodu powstały uproszczone modele warstwowe sieci. One po prostu ułatwiaj ą zrozumienie działania sieci. Ponadto dzięki uproszczeniu rozważań i podzieleniu ich na etapy (warstwy) często pozwalaj ą szybciej rozwiązać praktyczne problemy poj awiające się podczas pracy sieci. Na początku aplikacj a o nazwie „Serwer FTP" chce przesłać pewną paczkę danych o nazwie PLIK.MP3 do aplikacji o nazwie „Klient FTP" na innym komputerze w sieci. Paczka danych obsługiwana jest w warstwie aplikacji przez protokół FTP, służący do transmisji danych. Protokół ten dodaj e do PLIK.MP3 swój własny nagłówek Nagł_FTP i przekazuje całość do warstwy transportowej (rysunek 1 .7). Warstwą transportową dla protokołu FTP jest protokół TCP. Protokół ten otrzymuje dane w postaci sklejonych: Nagł_FTP+PLIK.MP3. Następnie adresuje te dane za pomocą numerów portu na kom­ puterze lokalnym i numeru portu na komputerze odległym (numer portu jest po prostu liczbą z zakresu 1 65 535; dokładniej znaczeniem numerów portów zajmę się w roz­ dziale dotyczącym protokołów TCP i UDP). Numery te umieszcza w swoim własnym nagłówku, który dokleja do danych i przekazuj e do warstwy Internetu. Protokół IP działający w warstwie Internetu otrzymuj e dane w postaci: Nagł_TCP+Nagł_FTP+ PLIK.MP3, a następnie również adresuje je (bez zaglądania do środka) numerem IP komputera lokalnego (źródłowego) i numerem komputera docelowego. Oba numery są zawarte w nagłówku protokołu IP, doklejanym do danych. Następnie protokół IP prze­ kazuje paczkę danych w postaci: Nagł_IP+Nagł_TCP+Nag_FTP+PLIK.MP3 do pro­ tokołu warstwy dostępu do sieci. Przyjmijmy, że komputer wysyłający dane jest podłączony poprzez sieć Ethernet. Dalszym przesyłaniem danych zajmuje się protokół Ethernet, który również doklej a swój nagłówek z adresem karty sieciowej komputera lokalnego i adresem karty sieciowej komputera docelowego; powstaj e paczka danych postaci: Nagł_Ethemet+Nagł_IP+Nagł_TCP+Nagł_FTP+PLIK.MP3. Paczka ta zapi­ sywana jest w formie impulsów elektrycznych i wysyłana przez kabel podłączony do karty sieciowej komputera nadaj ącego dane. -

32

Sieci komputerowe. Kompendium

Warstwa aplikacji

Warstwa transportowa

Warstwa I nternetu

Warstwa dostępu do sieci

Rysunek 1. 7. Proces transmisji pliku za pomocą protokołu FTP Komputer docelowy po odebraniu danych rozpoznaje po nagłówku warstwy dostępu do sieci, że paczka jest skierowana do niego (jest zaadresowana jego adresem etherneto­ wym), usuwa ten nagłówek i przekazuje dane wyżej do warstwy Internetu (rysunek 1 .8). Tam protokół IP po docelowym adresie IP rozpoznaje, że dane są skierowane do tego komputera (gdyby było inaczej, mógłby np. przekazać je dalej, co właśnie czynią routery), kasuje nagłówek i przekazuje dane wyżej, do warstwy transportowej. W niej protokół TCP również usuwa swój nagłówek i po odczytaniu numeru portu docelowego podaje dane dalej do protokołu FTP działającego w warstwie aplikacji. Protokół FTP usuwa również swój nagłówek, po czym otrzymuje dane w postaci PLIK.MP3 i przekazuje je użytkownikowi. Użytkownik po zapisaniu danych na dysk może sobie w końcu posłu­ chać muzyki. W tym momencie staje się jasne, jak wiele złożonych mechanizmów zaan­ gażowanych jest w prostą transmisję pliku poprzez sieć TCP/IP. W rzeczywistości jest to jeszcze bardziej skomplikowane, co przedstawię w kolejnych rozdziałach tej książki.

Warstwa aplikacji

Warstwa transportowa

Warstwa I nternetu

Warstwa d ostępu do sieci

NagLEth

Rysunek 1.8. Proces odbierania pliku za pomocą protokołu FTP Każda warstwa ma swoją terminologię określającą dane aktualnie przez nią opraco­ wywane. Ponieważ protokół TCP/IP składa się z dwóch głównych protokołów warstwy transportowej TCP i UDP, również w nazewnictwie wprowadzono podział (tabela 1 . 1 ).

Rozdział 1. + Sieci komputerowe

33

Tabela 1.1. Nazwyjednostek danych dla kolejnych warstw modelu TCP/IP Warstwa

TCP

UDP

Aplikacji

strumień

wiadomość

Transportowa

segment

pakiet

Internetu Dostępu do sieci

datagram ramka

Częściej jednak spotkasz się z prostszą nomenklaturą (np. w dokumentacji firmy Ci­ sco), w której nie pojawia się podział na protokoły TCP i UDP. Nazwa jednostki da­ nych dla warstwy Internetu to pakiet, a dla Warstwy transportowej uogólnioną nazwą jest segment. Ponieważ model taki bardzo logicznie dzieli na części zagadnienie działania sieci TCP/IP, na nim właśnie oparłem konstrukcję pierwszych rozdziałów książki. Omówię kolejno warstwy modelu protokołu TCP/IP, ich zadania, protokoły oraz technologie w nich dzia­ łające. Sposób rozważania działania sieci na podstawie modelu warstwowego nie jest jedynie niepotrzebną teorią. Podział na poziomy bardzo przydaje się podczas praktycz­ nego rozwiązywania problemów w pracy sieci. Sprawdzając po kolei działanie poszcze­ gólnych warstw tego modelu, możemy szybko określić źródło problemu i wykryć kon­ kretny element powodujący zakłócenia.

34

Sieci komputerowe. Kompendium

Ro zdzi ał 2 .

Rodzaje nośników W rozdziale tym przedstawię najważniejsze technologie, z którymi spotkasz się w prak­ tyce jako administrator sieci Ethernet. Omówię ich właściwości i ograniczenia; po lekturze tego rozdziału zdołasz wybrać najlepsze medium transmisyjne w zależności od potrzeb.

2.1. Najważniejsze technologie W sieciach typu Ethernet można stosować różnorodne rodzaj e mediów transmisyj­ nych (tabela 2 . 1). Ich wybór opiera się na kilku cechach, które należy rozważyć, pro­ jektuj ąc sieć:

+ wymagana szybkość transmisji, + perspektywy rozwoju sieci, + odległości między komputerami, + środowisko geograficzne (kabel, transmisj a radiowa lub satelitarna), + wymagana tolerancja błędu - zdolność sieci do funkcj onowania pomimo poważnej awarii, najczęściej jest funkcj ą topologii sieci,

+ środowisko - rodzaj i moc zakłóceń generowanych przez otoczenie, + cena. W specyfikacji IEEE 802.3 przedstawiono wiele różnych standardów, spośród których w aktualnie popularnych zastosowaniach najważniej sze są:

lOBase-2 - kabel koncentryczny cienki (Thin Ethernet) - 1 O Mb/s. lOOBase-T - UTP ( Unshielded Ttwisted-Pair cabie) - skrętka 1 00 Mb/s. lOOOBase-T - skrętka 1 Gb. lOOBase-FX - światłowód (Fiber Optic Cabie) - 1 00 Mb/s. lOOOBase-FX - światłowód (Fiber Optic Cabie) - 1 000 Mb/s.

36

Sieci komputerowe. Kompendium

Tabela 2.1. Tabela norm IEEE dotyczących sieci Ethernet

Standard

Norma i rok ogłoszenia

Szybkość

Topologia

Rodzaj medium transmisyjnego

Maks. długość segmentu w m HalfFull-Duplex -Duplex

1 0Base5

DIX- 1980, 802.3 - 1 983

10 Mb/s

Magistrala

Pojedynczy 50 n przewód koncentryczny (gruby Ethernet) o średnicy 1 O mm

500

n/a

1 0Base2

802.3a- l 985

10 Mb/s

Magistrala

Pojedynczy 50 n przewód koncentryczny (cienki Ethernet RG58) o średnicy 5 mm

1 85

n/a

1 0Broad36

802.3b-l 985

10 Mb/s

Magistrala Pojedynczy 75 n przewód szerokopasmowy

1 800

n/a

FOIRL

802.3d- l 987

IO Mb/s

Gwiazda

Dwa włókna optyczne

1 000

> 1 000

1Base5

802.3e- l 987

1 Mb/s

Gwiazda

Dwie skręcone pary przewodów telefonicznych

250

n/a

l OBase-T

802.3i - l 990

10 Mb/s

Gwiazda

Dwie pary kategorii Cat-3 UTP

1 00

1 00

l OBase-FL

802.3j- l 993

10 Mb/s

Gwiazda

Dwa włókna optyczne

2000

>2000

l OBase-FB

802.3j - 1 993

10 Mb/s

Gwiazda

Dwa włókna optyczne

2000

n/a

l OBase-FP

802.3j - 1 993

10 Mb/s

Gwiazda

Dwa włókna optyczne

1 000

n/a

l OOBase-TX

802.3u-1995

1 00 Mb/s

Gwiazda

Dwie pary kategorii Cat-5 UTP

1 00

1 00

l OOBase-FX

802.3u- 1 995

1 00 Mb/s

Gwiazda

Dwa włókna optyczne

412

2000

1 00Base-T4

802.3u- l 995

1 00 Mb/s

Gwiazda

Cztery pary kategorii Cat-3 UTP

1 00

n/a

1 00Base-T2

802.3y- l 997

100 Mb/s

Gwiazda

Cztery pary kategorii Cat-3 UTP

1 00

1 00

l OOOBase-LX

802.3z-l 998

1 Gb/s

Gwiazda

Laser długofalowy ( 1 300 run) przez: 62,5 µm wielomodowe włókno,

316

550

50 µm wielomodowe włókno,

3 16

550

1 0 µm jednomodowe włókno

316

5000

37

Rozdział 2. + Rodzaje nośników Tabela 2.1. Tabela norm IEEE dotyczących sieci Ethernet - ciąg dalszy

Standard

Norma i rok ogłoszenia

Szybkość

Rodzaj medium Topologia transmisyjnego

1 OOOBase-SX

802.3z-1998

1 Gb/s

Gwiazda

Maks. długość segmentu w m Half· Full· ·Duplex -Duplex

Laser krótkofalowy (850 run) przez: 62,5 µm wielomodowe włókno,

275

275

50 µm wielomodowe włókno

3 16

550

25

25

1 00

1 00

1 OOOBase-CX

802.3z-1998

1 Gb/s

Gwiazda

Ekranowany kabel miedziany

l OOOBase -T

802.3ab- 1 999

1 Gb/s

Gwiazda

Cztery pary kategorii Cat-5 UTP

l OGBase-SR

802.3ae -2002

1 0 Gb/s

Gwiazda

Światłowód wielomodowy (850 run)

do 300

802.3ae -2002

10 Gb/s

Gwiazda

802.3ae -2002

10 Gb/s

Gwiazda

( 1 550 run) jednomodowy światłowód

40 ooo

802.3ae -2002

1 0 Gb/s

Gwiazda

Światłowód wielomodowy

300

Światłowód jednomodowy

1 0 ooo

l OGBase-SW l OGBase -LR l OGBase -LW l OGBase-ER l OGBase-EW 1 0GBase-LX4

1 0 ooo

Światłowód jednomodowy ( 1 3 1 0 nm)

l OGBase-CX4

802.3ak

10 Gb/s

Gwiazda

Cztery pary współosiowego kabla Twinax

l OGBase-T

802.3an

do 10 Gb/s

Gwiazda

Dla nieekranowanej skrętki (UTP, 4 pary skrętek)

20

do 1 00

Zapisy typu l OOBase-T wydają się skomplikowane, rządzą się jednak przejrzystymi zasadami, dzięki czemu możemy łatwo się zorientować w podstawowych właściwo­ ściach medium opisywanego danym symbolem. Pierwsza liczba określa prędkość w Mb/s

(Mega bits per second), czyli w megabitach na sekundę.

Słowo po liczbie ma następujące

znaczenie:

+ Base

-

baseband oznacza,

że medium transmisyjne j est przeznaczone

do obsługi jednej usługi sieciowej , np. Erhemetu;

+ FOIRL

-

j est to sierót od Fiber

Optic Inter-Repeater Link,

światłowodowe połączenie pomiędzy koncentratorami;

określaj ący

Sieci komputerowe. Kompendium

38

+ Broad - broadband oznacza, że w jednym medium obsługiwanych jest kilka usług, najczęściej dzięki podzieleniu pasma na kilka odseparowanych częstotliwości (kanałów), z których każda może obsługiwać odrębną usługę. Następujące po jednym z tych słów oznaczenie literowe lub liczbowe najczęściej pocho­ dzi od charakterystycznej właściwości danego medium i określa już dokładnie kon­ kretną technologię. Niżej podaję najważniejsze z nich wraz z określaną właściwością: + 5 - maksymalna długość segmentu sieci 500 m, + 2 - maksymalna długość segmentu sieci 1 85 m :::o 200 m, + -T - myślnik został dodany w celu łatwiej szej wymowy (czytania) symbolu l OBase-T, a T to pierwsza litera słowa Twisted, + -F - F to pierwsza litera słowa Fiber.

2.2. Przewód koncentryczny Technologia oparta na kablu koncentrycznym przeszła już do historii. Obarczona jest ona wieloma wadami (omówię je w dalszej części rozdziału), które spowodowały rezy­ gnację z jej stosowania. Jednak w różnych starszych instalacjach sieciowych możesz natknąć się na kabel koncentryczny, poświęcę więc mu trochę miejsca. Wyróżnia się dwa rodzaje kabla koncentrycznego: 1. Ethernet gruby - lOBase-5 (Thick Ethernet) oznaczenie kabla RG-8 i RG- 1 1 o impedancji falowej 50 .Q i grubości 1 /2 " . Kabel ten praktycznie -

wyszedł z użycia. Jego główną zaletąjest maksymalna odległość między stacjami wynosząca 500 m. Przewód ten, elementy montażowe i karty sieciowe obsługujące tę technologię bardzo trudno kupić. Należy też zwrócić uwagę na możliwy brak sterowników kart sieciowych do aktualnie używanych systemów operacyjnych. 2. Ethernet cienki - lOBase-2 (Thin Ethernet) oznaczenie kabla RG-58 o impedancj i falowej 50 n i grubości 1 14", stopniowo wychodzącego z użycia. Spotykany jeszcze w starszych instalacjach sieciowych oraz w konstrukcjach amatorskich, gdy potrzebna jest - większa niż umożliwia to skrętka - maksymalna odległość między stacjami, równa 1 85 m. Podstawowe parametry w tabeli 2.2. -

Zalety kabla koncentrycznego + ze względu na posiadaną ekranizację jest mało wrażliwy na zakłócenia i szumy, + ma twardą osłonę, dzięki czemu jest bardziej od skrętki odporny na uszkodzenia fizyczne, + zapewnia dużą maksymalną odległość między stacjami - 1 85 m.

Rozdział 2. + Rodzaje nośników

39

Tabela 2.2. Podstawowe parametry kabla Thinnet Maksymalna długość segmentu

1 85 m

Minimalna długość kabla

0,5

Maksymalna liczba stacji

30 na jeden segment kabla

Maksymalna całkowita długość sieci

925 m

ID

Wady kabla koncentrycznego + występuje ograniczenie szybkości do 1 0 Mb, + ponieważ elementy do budowy takiej instalacji sąjuż trudno dostępne, generuje to ich wyższy koszt, a w efekcie wyższy koszt całej instalacji, + niewygodny sposób instalacji (duże łącza, terminatory, łączki T, duża grubość i niewielka elastyczność kabla), + ma słabą skalowalność (problemy z dołączeniem nowego komputera), + jest mało odporny na poważne awarie (przerwanie kabla unieruchamia całą domenę kolizji), + występują trudności przy lokalizowaniu usterki. W technologii 1 OBase-2 kolejne odcinki kabla łączymy w topologii magistrali za pomocą końcówek BNC (rysunki 2 . 1 i 2.2). Rysunek 2.1. Końcówka BNC

Rysunek 2.2. Budowa złącza BNC

Podczas instalacji końcówki BNC wykorzystuje się specjalne narzędzie do przycięcia poszczególnych części kabla na odpowiednie długości (rysunek 2.3).

40

Sieci komputerowe. Kompendium 112" 1/4" 3/16"

Przewód transmisyjny

Izolacja wewnętrzna

Oplot ekranujący

Tulej a zaciskowa (część końcówki BNC)

Izolacj a zewnętrzna

Rysunek 2.3. Budowa kabla koncent1ycznego

Następnie za pomocą specjalnych szczypiec zaciskowych wykonuj e się połączenie mechaniczne i eleknyczne końcówki BNC. Kable koncenhyczne powinny być zakończone terminatorami (specjalne końcówki o rezystancji 50 Q dostosowanej do impedancji falowej kabla), z czego jeden z nich powinien być uziemiony (najczęściej podłączony krótkim łańcuszkiem do obudowy komputera) (rysunek 2.4). Rysunek 2.4. Terminator BNC z uziemieniem

W takim połączeniu (rysunek 2.5) potrzebnych jest wiele dodatkowych elementów: ter­ minatory, łączniki T (rysunek 2 .6), łącza BNC.

Zastosowania sieci 10Base-2 Chociaż sieć 1 OBase-2 jest technologią historyczną, nadal może się okazać przydatna w niektórych zastosowaniach. Coraz rzadziej stosuje się koncennyk w instalacjach małych sieci domowych - głównie z uwagi na trudno dostępne elementy. W przypadku

Rozdział 2. • Rodzaje nośników

D 11

-

41

Ka bel koncentryczny ',,

Łącze BNc- -- -'Terminator

o 11

o 11

/

Łącznik T

/

Rysunek 2.5. Schematfizycznego łączenia komputerów w technologii I OBase-2 Rysunek 2.6. Łącznik T

niewielkiej liczby komputerów problemy z diagnozowaniem uszkodzeń fizycznych sieci nie są zbyt duże. Jednak aktualnie ceny zarówno małych przełączników, jak i km1 sieciowych bardzo spadły, co powoduje zmniej szenie atrakcyjności takiej instalacj i, zwłaszcza po uwzględnieniu przepustowości sieci opartej na slcrętce, wynoszącej 1 OO Mb. Ciekawym zastosowaniem tej technologii stały się sieci osiedlowe. W przypadku odle­ głości pomiędzy blokami powyżej 1 00 m czasem wykorzystuje się przewód koncen­ tryczny. Poza tym kabel ten jest mocniejszy mechanicznie i bardziej odporny na wmunki zewnęh·zne, co ułatwia jego instalacj ę na zewnątrz budynków. W razie wyboru takiej instalacji należy j eszcze rozwiązać problem wyładowań elektrycznych (pioruny) pod­ czas burzy, które mogą uszkadzać karty sieciowe Uako zabezpieczenie stosuje się specjalne odgromniki, sprzedawane w sklepach z artykułami sieciowymi). Zalety tego kabla ujawniają się również w środowiskach o dużych szumach elektromagnetycznych (fabryki), jednak aktualnym trendem jest stosowanie slcrętki ekranowanej lub światło­ wodów w miej sce przewodu koncentrycznego.

2.3. Skrętka UTP Aktualnie najpopularniejszym środkiem transmisji stał się nieekranowany, dwuparowy kabel slcręcany (UTP - Unshielded Twisted-Pair cabie). Składa się on z ośmiu prze­ wodów skręconych po dwa (czterech par), umieszczonych we wspólnej izolacji. Opierając się na opracowanym w 1 99 1 roku standardzie amerykańskim EWTIA 586 (Electronic Industries Association I Telecommunications Industly Association), organizacj e między­ narodowe ISO/IEC (International Organization for Standards I International Electro­ technical Commission) w 1 995 roku zdefiniowały własny standard - ISO IS l 1 80 1 . Norma ta definiuje m.in. właśnie popularną skrętkę UTP . Standardy te różnią się między

Sieci komputerowe. Kompendium

42

sobą pewnymi szczegółami, a formalnie poprawny powinien być dla nas standard ISO, ponieważ właśnie na jego podstawie regionalne komitety normalizacyjne opracowują własne standardy - europejskim odpowiednikiem omawianej normy jest EN 5 0 1 73 . W standardzie EIA/TIA zdefiniowano podział kabli na kategorie ( 1 , 2 , 3, 4 , 5), a w stan­ dardzie ISO klasy wydajności (A, B, C, D). Ponieważ w środowisku informatycznym bardziej rozpowszechnione jest nazewnictwo pochodzące z norm EIA/TIA, na nim będę się opierał.

Kategorie kabli zdefiniowanych w specyfikacji EIA/TIA CAT-1 - kategoria 1 - najstarsza nieekranowana skrętka telefoniczna. Stosowana do transmisji głosu, nie ma możliwości transmisji danych. CAT-2 kategoria 2 - nieekranowana skrętka umożliwiająca transmisję głosu i danych (modem) z częstotliwością do 4 MHz. Kabel składa się z dwóch par skrę­ conych przewodów. -

CAT-3 - kategoria 3 - skrętka umożliwiająca transmisję o częstotliwości do 1 0 spotykana głównie w starszych instalacjach sieci Ethernet 1 OBase-T. Kabel składa się z czterech par skręconych ze sobą przewodów.

MHz ,

CAT-4 - kategoria 4 - skrętka umożliwiająca transmisję o częstotliwości do 1 6 MHz (klasa C). Kabel składa się z czterech par skręconych ze sobą przewodów. CAT-5 - kategoria 5 - skrętka umożliwiająca transmisję o częstotliwości do 1 00 MHz (klasa D). Ze względu na zminimalizowanie indukcyjności wzajemnej przewodów, każda para ma skręt o innym skoku. Impedancja falowa skrętki CAT-5 wynosi 1 00 Q. W późniejszych dodatkach do standardu pojawiły się nowe kategorie kabli: CAT-Se - kategoria 5 poszerzona - skrętka umożliwiająca transmisję o częstotliwości do 1 00 MHz (klasa D+). Kategoria ta została opisana w dodatku TIA/EIA 568-A-5; zaostrzono dla niej wymagania oraz wprowadzono dwa dodatkowe parametry (poziom sygnału echa i przesłuch zbliżony), które musi spełniać kabel, aby zagwarantować poprawną transmisję o szybkości 1 Gb/s. CAT-6 - kategoria 6 - skrętka umożliwiająca transmisję o częstotliwości do 250 MHz Kategoria ta została opisana w dodatku TIA/EIA 568-B.2- l (międzynarodowa norma ISO/IEC 1 1 80 1 .2 - klasa E). .

CAT-7 - kategoria 7 - skrętka umożliwiająca transmisję o częstotliwości do 600 MHz. Kategoria ta została opisana w dodatku TIA/EIA 568-B .2-1 (międzynarodowa norma ISO/IEC 1 1 80 1 .2 - klasa F). Można używać jedynie STP (Shielded Twisted Pair) skrętki z każdą parą indywidualnie ekranowaną folią aluminiową. W aktualnie instalowanych sieciach zalecane jest stosowanie przynajmniej kabla kate­ gorii 5e lub lepszej, gdyż gwarantują one poprawną pracę Ethernetu gigabitowego. Istnie­ jące okablowanie klasy 5 w większości przypadków spełnia wymagania CAT-5e, dzięki czemu możliwe jest bezproblemowe dostosowanie sieci do technologii l OOOBase-T.

Rozdział 2. • Rodzaje nośników

43

Na wyposażeniu typowego administratora sieci bardzo rzadko znajduje się dobry tester kabli - są to urządzenia drogie i kupowane najczęściej przez finny zajmujące się insta­ latorstwem sieciowym. Z tego względu - aby upewnić się, że nasza sieć będzie mogła być wykorzystywana w technologii l OOOBase-T - najczęściej musimy zapłacić specja­ listycznej firmie za usługę sprawdzenia sieci pod względem zgodności z kategorią 5e. Należy również wspomnieć o trwających w trakcie przygotowań do drugiego wydania książki pracach związanych z zapewnieniem szybkości transmisji 1 0 Gb/s z wykorzysta­ niem skrętki UTP. Rozwiązania l OGb/s dla światłowodu już istnieją, powstał również standard umożliwiaj ący taką szybkość transmisji na specjalnym kablu Twinax. Rynek jednak wymaga rozwiązania opartego na tanim i powszechnym kablu - UTP. Proj ekt IEEE 802.3an (projekt 200S r.) ma za zadanie opracować rozwiązanie l OGBase-T dla nieekranowanej skrętki. Wydzielone zostały dwa kierunki działań:

a) stały dystans maksymalny równy 1 00 m - zmienia się szybkość transmisj i w zależności od kategorii kabla: 2,S Gb/s (kategoria SE), S Gb/s (kategoria 6), 1 O Gb/s (kategoria 7); b) stała szybkość 1 O Gb/s - zmienia się maksymalny dystans w zależności od kategorii kabla: 40 - SO m (kategoria SE), SO - 70 m (kategoria 6), 1 OO m (kategoria 7). W trakcie przygotowań do drugiego wydania nie było jeszcze pewności co do powsta­ nia rozszerzonej kategorii 6, oznaczanej 6a (a nie 6e). Miałaby ona zapewniać pasmo przenoszenia do 500 MHz, co umożliwiłoby osiągnięcie szybkości 1 O Gb/s. Prawdo­ podobnym terminem zatwierdzenia tejże jest lipiec 2006 roku.

Zalety skrętki CAT-Se + jest najtańszym medium transmisji (jeśli chodzi o cenę metra, bez uwzględniania dodatkowych urządzeń),

+ ma wysoką szybkość transmisj i (do 1 000 Mb/s), + nie sprawia trudności diagnozowanie uszkodzeń, + łatwa jest instalacja, + j est odporna na poważne awarie (przerwanie kabla unieruchamia najczęściej tylko jeden komputer),

+ jest akceptowana przez wiele rodzajów sieci (tabela 2.3).

Wady skrętki + długość odcinka kabla jest mniej sza niż w innych mediach stosowanych w Ethernecie,

+ skrętka nieekranowana jest mało odporna na zakłócenia, + jest mało odporna na uszkodzenia mechaniczne - konieczne jest instalowanie specjalnych listew naściennych itp.

Sieci komputerowe. Kompendium

44 Tabela 2.3. Parametly kabla skręcanego Współpracujące topologie

I O Mb, 1 00 Mb i I Gb Ethernet, FDDI, ATM

Maksymalna długość kabla

1 OO m

Minimalna długość kabla

Brak

Liczba stacji na kabel

2

Maksymalna liczba stacji

1 024 na segment

Maksymalna średnica sieci

Dla 1 OO Mb - 205 m Dla 1 0 Mb - ok. 2000 m

Maksymalna całkowita długość segmentu

1 00 m

Dla szybkości 1 OO Mb/s istnieją dwa różne media: + lOOBase-TX - skrętka kategorii 5, wykorzystane 2 pary (tak jak w 1 OBase-T)

- aktualnie najczęściej wykorzystywana, + 100Base-T4 - skrętka kategorii 5, wykorzystane 4 pary - w praktyce bardzo

rzadko spotykana. W przypadku wykorzystania skrętki w środowiskach o dużych szumach elektromagne­ tycznych stosuje się ekranowany kabel skręcany STP. Zbudowany jest on z czterech skręcanych ze sobą par przewodów miedzianych, otoczonych ekranującą siatką lub folią i umieszczonych w izolacyjnej osłonie. W zastosowaniach skrętki można napotkać dwa główne typy końcówek: + RJ-1 1 - sześciopozycyjny łącznik modularny (łącze telefoniczne) (rysunek 2.7),

Rysunek 2. 7. YVtyczki BJVC, RJ-45 i RJ-1 1

+ RJ-45 - ośmiopozycyjny łącznik modularny (sieć Ethernet) (rysunki 2.7 i 2.8). Wyróżniamy trzy rodzaje połączeń końcówek (rysunek 2.9) kabla UTP: + odwrotny - końcówka 1 do 8, końcówka 7 do 2 itd. - zastosowany w kablu

telefonicznym, który w rzeczywistości wykorzystuje jedynie przewody 4 i 5 ; + zgodny - końcówka 1 do 1 , końcówka 2 d o 2 itd. - np. połączenie Ethernet

pomiędzy koncentratorem i ka1ią sieciową komputera (tabela 2.4);

Rozdział 2. • Rodzaje nośników

45

Rysunek 2.8. Wygląd wtyczki RJ-45

Rysunek 2.9. Numeracja wyprowadzeń wtyczki RJ-45

Tabela 2.4. Połączenie zgodne UTP Przeznaczenie

Nr

Kolor

Nr

biało -pomarańczowy

Odbiór + Odbiór -

Przeznaczenie Transmisja +

2

pomarańczowy

2

Transmisja -

3

Odbiór +

4

(nie używane)

Transmisja +

3

biało -zielony

(nie używane)

4

niebieski

(nie używane)

5

biało-niebieski

5

(nie używane)

Transmisja -

6

zielony

6

Odbiór -

(nie używane)

7

biało -brązowy

7

(nie używane)

(nie używane)

8

brązowy

8

(nie używane)

+ krzyżowy (cross-over) - odwraca tylko niektóre połączenia, co jest często spotykane przy połączeniach pomiędzy koncentratorami lub przy łączeniu dwóch komputerów bez pośrednictwa koncentratora (tabela 2.5). Większość współcześnie sprzedawanych koncentratorów jest wyposażona w możliwość sprzętowego krosowania (krzyżowania) kabla. Gniazdko lub przełącznik realizujące taką funkcję są najczęściej oznaczone symbolem X Połączenie takie służy na ogół do łączenia koncentratorów, które wymagają pomiędzy sobą połączenia krzyżowego. Jeśli podłą­ czymy kabel o połączeniu zgodnym do gniazdka oznaczonego X lub włączymy przełącz­ nik spełniający taką funkcję dla danego gniazdka (najczęściej jest to gniazdko o numerze 1 ), z drugiej strony kabla możemy podpiąć kolejny koncentrator.

46

Sieci komputerowe. Kompendium

Większość współcześnie sprzedawanych przełączników (nawet domowych) posiada funkcję automatycznego rozpoznawania rodzaju kabla i dostosowywania połączenia. Tabela 2.5. Połączenie krzyżowe VTP Przeznaczenie

Nr

Kolor

Transmisja +

3

biało-zielony

Transmisja -

6

zielony

(nie używane)

7

(nie używane)

8

Odbiór (nie używane) (nie używane)

Nr

Przeznaczenie Odbiór +

2

Odbiór -

biało -pomarańczowy

3

Transmisja +

biało -brązowy

4

(nie używane)

brązowy

5

(nie używane)

2

pomarańczowy

6

Transmisja -

4

niebieski

7

(nie używane)

5

biało -niebieski

8

(nie używane)

Odbiór +

Funkcja ta najczęściej określana jest jako Auto-MD IX lub Cabie Recognition. Oznacza to, że jeśli tylko posiadasz poprawnie wykonany kabel, to powinien on działać niezależnie od tego, czy wykorzystujesz go w połączeniu przełącznik-komputer czy też przełącz­ nik-przełącznik. Używając mierników parametrów okablowania, możesz się spotkać z pojęciami doty­ czącymi błędnie wykonanych połączeń (tabela 2.6). Tabela 2.6. Błędy w połączeniach par skrętld Nazwa angielska

Reversed Pair

Crossed Pairs

Split Pairs

Nazwa polska

Para odwrócona

Skrzyżowanie par

Rozdzielenie par

Przykład

1 --- 2 2 --- 1

1 --- 6 2 --- 3

1 --- 1 2 --- 3

3 --- 3 6 --- 6

3 --- 2 6 --- 1

3 --- 2 6 --- 6

4 --- 4 5 --- 5

4 --- 4 5 --- 5

4 --- 4 5 --- 5

7 --- 7 8 --- 8

7 --- 7 8 --- 8

7 --- 7 8 --- 8

Sekwencje kolorów przewodów Istnieją dwa stosowane rodzaje sekwencji kolorów przewodów (sposoby numerowania par). Rodzaj sekwencji w naszej sieci jest obojętny, jednak dla porządku przy jej kolej­ nych rozbudowach należy dołożyć starań, aby stosować wcześniej użytą sekwencję (ta­ bele 2.7 i 2.8).

Rozdział 2. • Rodzaje nośników

47

W zależności od użytej sekwencji kolory w podanych wyżej tabelkach (tabele 2.4 i 2.5) dotyczących połączenia zgodnego i krzyżowego mogą ulec modyfikacji, nie zmienią się jednak numery wyprowadzeń. Tabela 2.7. Sekwencja TIAIEIA T568A Numer pary

Kolor pary

Styki

Niebieski

4 (niebieski) 5 (biało-niebieski)

2

Pomarańczowy

3 (biało-pomarańczowy) 6 (pomarańczowy)

3

Zielony

4

Brązowy

1 (biało-zielony)

2 (zielony)

7 (biało-brązowy) 8 (brązowy)

Tabela 2.8. Opcjonalna sekwencja TIAIEIA T568B Numer pary

Kolor pary

Styki

Niebieski

4 (niebieski) 5 (biało-niebieski)

2

Pomarańczowy

3

Zielony

3 (biało-zielony) 6 (zielony)

4

Brązowy

7 (brązowy) 8 (biało-brązowy)

·

1 (biało-pomarańczowy)

2 (pomarańczowy)

Para styków 4 - 5 nie j est używana w Ethernecie w celu zapewnienia zgodności ze stan­ dardem połączeń telefonicznych. W przypadku pomyłkowego wpięcia kabla telefonicz­ nego w złącze sieciowe styki z wysokim napięciem z centrali telefonicznej (dochodzą­ cym do 60 V) nie będą miały połączenia elektrycznego z urządzeniem sieciowym. Włączając wtyczki telefoniczne RJ-1 1 , należy zwrócić uwagę na połączenia Ethernetu o szybkości 1 Gb, które wykorzystują wszystkie cztery pary przewodu UTP.

Wymagania dla instalacji spełniającej założenia CAT-5 Norma TIA/EIA określa dokładne parametry dotyczące wymagań stawianych instala­ cjom CAT-5. Ponieważ w praktyce administratora sieci rzadko jest potrzebna precyzyjna znajomość tych wytycznych, dalej przedstawiam podstawowe i łatwe do zapamiętania wymagania:

1. Minimalny promień zgięcia kabla wynosi czterokrotność średnicy kabla. 2. Kabla nie należy mocować „na sztywno". Powinien mieć pewien luz - nie wolno go dociskać „na siłę".

Sieci komputerowe. Kompendium

48

3. Kabla nie należy nadmiernie naciągać podczas układania w korytkach. 4. Pary przy zakończeniu nie powinny być rozkręcone na długości większej niż 1 ,3 cm. 5. Zasilające kable sieciowe (o przebiegu równoległym do kabla sieciowego) powinny przebiegać dalej niż 30,5 cm od skrętki. Od transfonnatorów i silników należy zachować odległość 1 ,02 m. W przypadku umieszczenia skrętki w metalowym korytku prowadzącym minimalna odległość od przewodów zasilających wynosi 6,4 cm. 6. Jeśli zaistnieje konieczność skrzyżowania kabla zasilającego ze skrętką, powinny one być ułożone prostopadle do siebie. W praktyce administratora sieci należy zwrócić szczególną uwagę na regułę nr 4, doty­ czącą konstrukcji kabli połączeniowych. Często administrator samodzielnie przygo­ towuje tego typu przewody i powinien dołożyć starań, aby były dokładnie wykonane. Zaoszczędzi mu to później wielu kłopotów podczas wylaywania awarii związanej np. z niepoprawnym działaniem kabla krosowego w szafie dystrybucyjnej . Urządzeniem słu­ żącym do wykonywania kabli połączeniowych ze skrętki jest tzw. zaciskarka (rysu­ nek 2. 1 0).

Rysunek 2.10. Zaciskarka

Wymagań dla kabla kategorii 6 i wyższych nie podaj ę, ponieważ nie polecam prób jego instalacji bez odpowiednich szkoleń, praktyki, urządzeń pomiarowych i naj lepiej wsparcia dużej firmy wykonującej takie instalacje.

Cat-Se - parametry Powyżej omówiłem pokrótce wymagania odnośnie instalacji okablowania. W samej n01mie zawarte są również wymagania dotyczące parametrów elektrycznych okablo­ wania. Norma używa pojęcia okablowanie strukturalne, które przedstawię szerzej dopiero na końcu tego rozdziału. Wspominam o tym, ponieważ rozróżnione zostały dwa rodzaje pomiarów:

Rozdział 2. + Rodzaje nośników

49

mierzone są parametry tom transmisyjnego rozpoczynającego się w punkcie abonenckim (gniazdo w ścianie) i kończącego się na panelu (gniazdo w serwerowni),

+ basie link

-

w porównaniu do „basie link" dodane zostały również kabel przyłączeniowy (kabel między komputerem a gniazdem w ścianie) oraz kabel krosowy (kabel w serwerowni pomiędzy gniazdem a np. przełącznikiem).

+ channel

-

Jeśli zdarzy Ci się dokonywać takich pomiarów, będziesz wyposażony w odpowiedni miernik, pamiętający poprawne wartości. Jednak admin z prawdziwego zdarzenia powinien przynajmniej orientować się, co oznaczają poszczególne parametry. Ponadto j eśli zatrudnisz firmę do wykonania pomiarów istniej ącej sieci, to powinieneś móc skontrolować działania przez nią wykonywane, jak również rozumieć pojęcia używane w dyskusji. Ważną sprawąjest upewnienie się, że miernik używany do wykonywania pomiarów posiada ważny certyfikat. Parametry, które powinien spełniać tor transmisyjny, można podzielić na trzy grupy (w nawiasach kwadratowych podaję jednostkę miary). Parametry mechaniczne:

+ poprawność podłączenia przewodów, inaczej : mapa połączeń ( Wire Map) -

głównie chodzi o zachowanie odpowiedniej kolejności par w połączeniach,

+ dh1gość torów tr·ansmisyjnych (length): l [m] Parametry propagacyjne:

+ opóźnienie propagacj i (delay): tp [ns] + błąd opóźnienia: Lltp [ns] + stałoprądowa oporność pętli: Rp [.Q] + tłumienie (Attenuation) : ATTN [dB] + impedancja charakte1ystyczna: Zo [.Q] + str·aty odbiciowe (Return Loss):

RL [dB]

Parametry związane z kompatybilnością elektromagnetyczną

+ przesłuchy: ł przesłuch zbliżny

(Near End Crosstalk): NEXT [dB]

ł

(Power SUM Near-End Crosstalk): PSNEXT [dB]

ł

(Equal Level Far-End Crosstalk): ELFEXT [dB]

ł

(PowerSum Equal Level Far-End Crosstalk): PSELFEXT [dB]

+ straty zakłóceń współbieżnych: LCL [dB] + str·aty zakłóceń współbieżnych w stosunku do sygnału różnicowego: LCTL [dB] + tłumienie sprzężeniowe: ac [dB] + impedancja sprzężeniowa: Zt [.Q/m]



� -��-�--- -·------'--

50

Sieci komputerowe. Kompendium Poniżej przedstawię najważniejsze parametry.

Opóźnienie - czas, w j akim impuls jest przenoszony z jednego końca toru na drugi. Opóźnienie wyznacza maksymalną długość połączeń; parametr ten może mieć różne wartości dla każdej z par w kablu, co wynika z różnic w ich skręceniu. Staloprądowa oporność pętli - mierzymy po zwarciu drugiego końca pętli. Tłumienie - określa straty sygnału; definiowane są dla największej dopuszczalnej dłu­ gości toru transmisyjnego. Impedancja charakterystyczna

-

zależy od konstrukcji kabla.

Straty odbiciowe - opisuj ą niedopasowanie impedancyjne i niejednorodności toru; para­ metr ten określa stosunek sygnału na wejściu do sygnału odbitego od wejścia i niejedno­ rodności toru. Im większa wartość tego parametru, tym lepiej . Dla zwarcia: RL = O dB.

Przesłuch - j est to zj awisko przenikania sygnału pomiędzy sąsiaduj ącymi w kablu parami przewodów. Przesłuchy są główną przyczyną problemów z działaniem sieci. NEXJ' - wyznacza go stosunek mocy sygnału testowego w jednaj z par do mocy sygnału wyindukowanego w sąsiedniej parze. Im większa wartość NEXT, tym mniej­ sze przesłuchy.

PS NEXJ' - określa poziom sygnału indukowanego w danej parze, od sumy sygnałów pochodzących od wszystkich pozostałych par. Jest większy od NEXT i lepiej oddaj e zjawisko rzeczywistych przesłuchów występujących podczas pracy sieci.

FEXJ' (Far End Crosstalk) -przesłuch zdalny - określa poziom zakłóceń mierzonych na przeciwnym końcu kabla niż sygnał wywołujący zakłócenie. Parametr ten nie jest specyfikowany w normach, ponieważ j ego wartość jest silnie zależna od długości (tłu­ mienia) kanału transmisyjnego. Z tego powodu używany jest parametr ELFEXT.

ELFEXJ'

podczas wyznaczania wartości tego parametru uwzględniane jest tłumienie, co uniezależnia go od długości badanego toru transmisyjnego; jest to różnica pomiędzy wartością FEXT i tłumienia. -

PS ELFEXJ' - podobnie jak PS NEXT jest wyznaczany poprzez wprowadzenie sy­ gnału zakłócającego w pozostałe pary. Bardzo dobrze oddaje zachowanie toru transmi­ syjnego dla transmisj i l OOOBase-T.

A CR (Attenuation to crosstalk ratio) - wyznaczamy z różnicy pomiędzy NEXT i tłu­ mieniem. Pokazuj e wpływ przesłuchów bliskich na sygnał. Im większa wartość ACR, tym lepiej .

PS A CR (Power-Sum attenuation to crosstalk ratio) - podobnie jak PS NEXT wyzna­ czany jest przy sygnale zakłócającym w wielu parach.

Tłumienie sprzężeniowe i impedancja sprzężeniowa są parametrami określającymi sku­ teczność ekranowania.

Rozdział 2. + Rodzaje nośników

Różnica opóźnień (Propagation Delay Skew)

-

51 opisuje różnicę opóźnienia wnoszonego

przez „naj szybszą'' i „najwolniejszą'' parę, co wynika w różnic w długościach par. Wiele z tych parametrów jest związanych z pojawieniem się transmisji

1 Gb/s i zostało 1 999 roku

wprowadzonych w biuletynie TIA/EIA/TSB-95, który ukazał się w grudniu

i określił wymagania dla Cat-5e. Wcześniej do zdefiniowania zgodności z kategorią 5 wystarczyły: przesłuch zbliżny (NEXT), tłumienie, mapa połączeń i długość. Ponieważ aktualnie już się nie kładzie instalacji w kategorii 5, nie będę rozdzielał tych parametrów. Warto zwrócić uwagę na mnogość parametrów określających jakość okablowania. Dodat­ kowo większość z nich (np. przesłuchy) jest wyznaczana dla każdej pary oddzielnie oraz mierzona dla wielu różnych częstotliwości, aż do osiągnięcia wymaganej częstotliwości

maksymalnej dla danej klasy okablowania. Te zadania wykonuje miernik w cenie kilku tysięcy dolarów. Najczęściej administrator sieci nie posiada takiego urządzenia, jednak

zawsze może zamówić usługę wykonania pomiarów na zgodność z określoną kategorią w firmie zajmującej się instalatorstwem sieciowym. Poniżej (tabele

2.9, 2. 1 0, 2. 1 1 i 2. 12) zamieszczam wymagane wartości graniczne para­

metrów dla skrętki Cat-5e zgodnie z biuletynem TIA/EIA/TSB-67.

Tabela 2.9. Pomimy typu „ channel " Cat-5e Częstotliwość

N EXT

PS NEXT

ELFEXT

[MHz]

[dB]

[dB]

[dB]

[dB]

1 ,0

60,0

57,0

65,0

54,4

4,0

53,6

50,9

63,1

42,4

8,0

48,6

45,7

57,0

36,3

1 0,0

47,0

44, 1

55,1

34,4

PS ELFEXT

1 6,0

43,6

40,6

5 1 ,0

30,3

20,0

42,0

39,0

49, 1

28,4

25,0

40,4

37,3

47,1

26,4

3 1 ,25

3 8,7

35,7

45,2

24,5

62,5

33,6

30,6

39,2

1 8,5

1 00

30, 1

27,1

35,1

1 4,4

Decybel Dosyć często będziesz się spotykał z jednostką „decybel", oznaczaną dB. Na początku książki obiecałem, że nie pojawi się w niej więcej matematyki, jeśli więc budzi się w Tobie odraza - pomiń ten rozdział. Decybel to jednostka używana w wielu dziedzinach, w naszym przypadku określa ona stosunek mocy (lub napięcia) pomiędzy wejściem i wyjściem układu. W uproszczeniu warto zapamiętać, że decybel określa wzmocnienie (lub tłumienie).

dB = decybel = 1 0 * log1 0

(� J

=

20 * log 1 0

(�� J

52

Sieci komputerowe. Kompendium

Tabela 2.10. Pomiary typu „ basie link" Cat-5e Częstotliwość

NEXT

PS NEXT

ELFEXT

PS ELFEXT

[MHz]

[dB)

[dB)

[dB)

[dB)

1 ,0

60,0

57,0

5 8,0

55,0

4,0

54,8

52,0

48,0

45,0

8,0

50,0

47, 1

4 1 ,9

3 8,9

1 0,0

48,5

45,6

40,0

37,0

1 6,0

45,2

42,2

35,9

32,9

20,0

43,7

40,7

34,0

3 1 ,0

25,0

42, 1

39,1

32,0

29,0

3 1 ,25

40,6

37,5

30, 1

27,1

62,5

35,7

32,6

24, 1

21,1

1 00

32,3

29,3

20,0

1 7,0

Tabela 2.11. Return Loss dla Cat-5e Częstotliwość

Channel

Basic Link

[MHz]

[dB]

[dB)

1 �/< 20

17

17

2 0 �!� 1 00

1 7 - 1 0 log (j120)

17 - 7 log (j120)

Tabela 2.12. Propagation Delay i Delay Skew dla Cat-5e Channel

Basic Link

[ns]

[ns]

Propagation Delay

555

518

Propagation Delay Skew

50

45

Typ pomiaru

Należy pamiętać, że wynik takiego stosunku nie jest liniowy; przykładowo wzrost o 3 dB oznacza podwojenie mocy, a podwojenie napięcia będzie miało wartość 6 dB. Tłumienie mocy o 50% będzie miało wartość -3 dB. Wartość O dB oznacza brak zmiany sygnału.

2.4. Światłowód Najnowocześniejszym i zapewniającym największe szybkości transmisji medium jest aktualnie światłowód (Fiber Optic Cabie). Jak sama nazwa wskazuje, jego działanie opiera się na transmisji impulsów świetlnych między nadajnikiem (Optical Transmitter), przekształcającym sygnały elektryczne na świetlne, a odbiornikiem (Optical Receiver) przetwarzającym sygnały świetlne odebrane ze światłowodu w sygnały elektryczne.

Rozdział 2. + Rodzaje nośników

53

Budowa światłowodu W samym środku znajduj e się włókno optyczne przenoszące impulsy świetlne;

składa się ono z dwóch rodzajów szkła o różnych współczynnikach załamania (Re­ fraction Index): + część środkową nazywamy rdzeniem (Core) - najczęściej spotykany w sieciach LAN ma średnicę 50 µm, coraz rzadziej stosuje się światłowód o rdzeniu 62,5 µm (gorsze parametry), + część zewnętrzną o średnicy 125 µm nazywamy płaszczem zewnętrznym ( Cladding).

Pozostałe elementy to: + bufor - izolacyjna warstwa akrylowa o średnicy 900 µm, + oplot kewlarowy, + izolacja zewnętrzna. Z uwagi na zastosowanie wyróżniamy dwa rodzaje światłowodów:

+ ścisła tuba

-

światłowód przeznaczony do zastosowania wewnątrz budynków,

+ luźna tuba światłowód przeznaczony do użycia zewnątrz budynków; charakteryzuje się tym, że włókna światłowodowe znajdują się w przestrzeni wypełnionej żelem. Żel zapewnia większą odporność na uszkodzenia mechaniczne. -

Zasada działania światłowodu Promień światła, wędrując w rdzeniu światłowodu o współczynniku załamania n l , napo­ tyka środowisko o innym współczynniku załamania (n2) - płaszcz. Gdy promień pada od strony rdzenia na płaszcz pod kątem a, to pewna część światła zostaje odbita i wraca do rdzenia. W zależności od kąta padania i współczynników załamania materiałów rdze­ nia i płaszcza zmienia się ilość odbitego światła. Dla kątów poniżej pewnej wartości zachodzi znane z fizyki zjawisko całkowitego odbicia wewnętrznego i światło padające zostaje odbite bez strat. Umożliwia to transmisję strumienia świetlnego przez włókno.

Światłowód wielomodowy Światłowód wielomodowy (Multimode Fiber) charakteryzuje się tym, że promień światła może zostać wprowadzony do niego pod różnymi kątami - modami. Apertura numeryczna (kątowa) światłowodu (Numerical Aperture) jest miarą maksy­ malnego dopuszczalnego kąta między wchodzącym promieniem światła a osią światło­ wodu (rysunek 2 . 1 1 ) powyżej którego nie zachodzi już zjawisko odbicia całkowitego w rdzeniu. Apertura numeryczna określana jest dla danej średnicy rdzenia włókna. Im ,

54

Sieci komputerowe. Kompendium

Płaszcz

n2

I ndeks kroku

Rysunek 2.11. Apertura numeryczna światłowodu większa średnica rdzenia, tym większa apertura numeryczna i tym łatwiej jest podłączyć źródło światła. Podwojona waiiość naj większego możliwego kąta a nosi nazwę kąta akceptacji (acceptance angle); dla światłowodów wielomodowych jest to najczęściej liczba bliska 28°.

Indeks kroku jest długością światłowodu, jaką przebywa promień bez odbić we­ wnętrznych. Najważniejszym problemem w przypadku tego rodzaju światłowodów jest zjawisko dyspersji, polegaj ące na „poszerzaniu" się promienia świetlnego wraz z drogą przebytą wewnątrz światłowodu. Ponieważ dyspersja powiększa się wraz z drogą promienia świetlnego, kable wielomodowe stosowane są maksymalnie na długościach do 5 kin. Występują trzy rodzaje dyspersji:

1. Dyspersja modowa - wynika z różnic w kątach (modach) wprowadzenia światła do rdzenia. W zależności od kąta, światło przebywa różną drogę wewnątrz rdzenia, co zmienia czas przej ścia światła przez światłowód i powoduje poszerzenie sygnału.

2. Dyspersja chromatyczna - wynika z tego, że promień świetlny nie jest monochromatyczny Ueśli źródłem światła są diody LED), a światło o różnej długości fali przebiega światłowód z różnymi szybkościami.

3. Dyspersja falowodowa - jest efektem przenikania części światła do płaszcza światłowodu. Parametry światłowodów określa się dla różnych „okien transmisyjnych", czyli długości fali świetlnej wykorzystywanej podczas transmisji. Dla światłowodu wielomodowego jest to 850 nm i 1 3 1 0 nm (tabela 2 . 1 3).

Światłowód jednomodowy W światłowodzie jednomodowym rdzeń złożony jest z wielu warstw o różnych współ­ czynnikach załamania. Dodatkową różnicąjest zmniej szenie średnicy rdzenia do 9 µm (tabela 2.14). W efekcie w światłowodzie propagowany jest tylko jeden mod. Nie istnieje

55

Rozdział 2. + Rodzaje nośników Tabela 2.13. Przykładowe wartości parametrów światłowodu wielomodowego 50 µm ±3µm

Średnica rdzenia Średnica płaszcza

1 25 µm ±3µm

Średnica bufora (ścisła tuba)

900 µm

Apertura numeryczna

0,275 ±0,0 1 5

Maksymalne tłumienie

dla 850 nm 2,7 - 3,75 dB/km dla 1 3 1 0 nm 0,8 - 1 ,5 dB/km

Maksymalne pasmo przenoszenia

dla 850 nm 500 MHz*km dla 1 3 1 O nm 800 MHz*km

zjawisko całkowitego odbicia wewnętrznego na granicy rdzenia i płaszcza. Dzięki temu zjawisko dyspersji zostało zredukowane do minimum, co umożliwia wykorzystanie tego medium przy odległości rzędu 60 km. Zwiększona została również częstotliwość pracy takiego włókna, co poszerza pasmo pracy sieci. Niestety, koszt takiego światłowodu jest wyższy niż światłowodu wielomodowego, a dodatkowo instalacja wymaga o wiele więk­ szej precyzji przy wprowadzaniu promienia świetlnego (diody laserowe) do rdzenia. Tego typu światłowody stosowane są w sieciach WAN. W przypadku posiadania sieci LAN z lokalizacjami odległymi od siebie o ponad 500 m należy rozważyć użycie światłowodu jednomodowego. Głównym powodem jest osiągnięcie przepustowości rzędu 1 Gb/s, którą dla światłowodów wielomodowych można uzyskać (zgodnie z normami) do odległości około pół kilometra. Tabela 2.14. Przykładowe różnice parametrów światłowodów jedno- i wielomodowych

62.5 µm ( MM)

9 µm (SM)

Tłumienie

- 1 ,0 dB/km

- 0,5 dB/km

Pasmo przenoszenia

- 500 MHz/km

> Ghz/km

Apertura numeryczna

duża

b. mała

Złącza światłowodowe Zasady stosowania kabli światłowodowych regulowane są przez normy ISO/IEC 1 1 80 1 i EN 5 0 1 73 oraz TIA/EIA 568A. Według ISO/IEC 1 1 80 1 i EN 501 73 preferowane są kable wielomodowe 62,5/125 nm, a w nowych instalacjach należy stosować złącza Duplex-SC. Starsze złącza ST (rysunek 2 . 1 2) nie zapewniają tak dobrych parametrów połączenia jak SC (poprawna polaryzacja, stabilność mechaniczna; łącze nie jest odporne na odciąganie wsteczne kabla) (rysunek 2. 13), w starszych instalacjach sąjednak nadal stosowane. W obu przypadkach należy pamiętać o zakładaniu gumowych ochraniaczy na szklane części końcówek, gdy odłączamy kable krosowe (rysunek 2. 14). Podobnie należy włożyć ochraniacze w gniazda światłowodowe; zabezpieczamy się w ten sposób przed zanieczyszczeniem szklanych powierzchni. Innym popularnym standardem zakończenia włókien łącza światłowodowego jest inter­ fejs MT-RJ (rysunek 2 . 1 5), promowany przez konsorcjum dużych firm produkujących osprzęt sieciowy i urządzenia aktywne. Stworzono go głównie w celu zaoferowania

56

Sieci komputerowe. Kompendium

Rysunek 2.12. Złącze światłowodowe ST

Rysunek 2.13. Złącze światłowodowe SC

Rysunek 2.14. Kros światłowodowy ST-SC Rysunek 2.15. Dupleksowe gniazdo MT-RJ

większej gęstości upakowania portów, wzorowanej na gnieździe RJ-45. Tradycyjne złą­ cza ze względu na konstrukcję wymagają większych odstępów pomiędzy sobą. Ponadto w złączu MT-RJ zawarte są oba włókna i nie ma możliwości pomylenia toru nadawczego z odbiorczym, co się często zdarza przy instalacji złączy pojedynczych ST i SC (porów­ nanie rozmiarów obu rodzajów wtyków na iysunku 2. 1 6). Dokonując wyboru rozwiązania warto zapoznać się z ofertą interesujących nas producentów; proponują oni czasem bardzo

Rozdział 2. + Rodzaje nośników

57

Rysunek 2.16. Porównanie rozmiarów wiyków MT-RJ i Duplex-SC

przydatne produkty. Jeśli planujemy instalacj ę sieci LAN opartej na światłowodzie w zakresie szkieletu bądź okablowania poziomego, ciekawym rozwiązaniem może być technologia firmy TYCO Electronics, AMP Netconnect, umożliwiaj ąca zarobienie gniazda MT-RJ - bez potrzeby spawania lub klejenia światłowodu - w ciągu 2 minut.

Standardy transmisji światłowodowych Najważniej szymi z naszego punktu widzenia standardami dla technologii światłowo­ dowej są:

+ lOBase-FL

-

transmisj a 1 0 Mb/s, rzadko spotykany,

+ lOOBase-FX - transmisj a 1 00 Mb/s, + lOOOBase-LX - transmisja 1 000 Mb/s, laser długofalowy o długości fali ok. 1 300

run,

+ lOOOBase-SX

-

transmisja 1 000 Mb/s, laser krótkofalowy o długości fali

ok. 850 nm. Parametry standardów technologii światłowodowych w tabeli 2 . 1 5 . Połączenia światłowodowego dokonuje się za pomocą dwóch włókien, jednego do trans­ misji, a drugiego do odbierania danych. Do standardowej karty sieciowej można podłą­ czyć j e poprzez

konwerter nośników, do którego z j ednej strony dochodzą oba połą­

czenia światłowodu, a z drugiej - gniazdo RJ-45 (dawniej częściej spotykane AUI -

transceiver). Najczęściej w tej technologii używa się (Multi-Mode Fiber). Głównie stosowana jest transmisj a typu full-duplex; w trybie tym możliwe są połączenia dłuższe niż 2 OOO m, ponieważ nie

wtedy to urządzenie nazywa się kabla wielomodowego MMF

odgrywają wówczas roli ograniczenia czasowe standardu CSMA/CD. Przy zastosowaniu

dobrej jakości światłowodów i transceiverów możliwe jest osiągnięcie nawet 5 km.

Standard l OOBase-FX jest doskonały do połączeń pomiędzy oddalonymi od siebie budyn­

kami firmy. Połączenia takie są oczywiście całkowicie odporne na zakłócenia elektroma­ gnetyczne oraz na podsłuch elektroniczny.

'

58

Sieci komputerowe. Kompendium

Tabela 2.15. Porównanie parametrów technologii światłowodowych Szybkość transmisji [Mb/s] HD

10

FD

20

HD

1 00

FD

200

HD

1 000

FD

2000

HD

1 000

lOBase-FL

lOOBase-FX

lOOOBase-LX

lOOOBase-SX 2000

FD

Rodzaj kabla MMF

SMF

62,51 125 µm; dł. światła: 850 nm

Maksymalna długość segmentu

2000 m

62,51 125 µm; dł. światła 1 300 nm

412 m 2000 m

62,51 1 25 µm lub 50/125 µm

10 µm; dł. światła od 1 270 do 1355 nm

62,5/ 1 25 µm; dł. światła od 770 do 860 nm

316 m MMF: 550 m SMF: 5000 m 62,5/125: 275 m 50/125: 3 1 6 m 62,5/125: 275 m 50/125: 550 m

Rodzaj łączy

Rodzaj kodowania

ST

Manchester encoding

Duplex- S.C., ST, FDDI MIC

4 B/5 B

Duplex-S.C

8 B/10 B

Duplex-S.C

8 B/10 B

Skróty użyte w tabeli: MMF

(Mufti-Mode optical Fibers) - dwa wielomodowe kable światłowodowe,

SMF (Single-Mode optical Fibers) - dwa jednomodowe kable światłowodowe, 62,5/1 25 - 62,5

µm rdzeń

i 125

50/125 - 50 µm rdzeń i 125 HD

FD

-

µm płaszcz,

µm płaszcz,

half-duplex,

fali-duplex.

-

Aktualnie upowszechnia się standard IEEE 802.3ae zapewniający transmisję o szybkości 1 O Gb/s z wykorzystaniem światłowodu. Niestety nadal ze względu na wysoki koszt interfejsów jest to jeszcze rzadko spotykana technologia. Zdefiniowane zostały dwa rodzaje interfejsów fizycznych: LAN PHY i WAN PHY - przeznaczone odpowiednio do obsługi sieci lokalnych i rozległych. Interfejs WAN PHY działa z szybkością 9,58464 Gb/s i umożliwia wykorzystanie infrastruktury łącz OC- l 92c sieci optycznych SONET. Poniżej zamieszczam podsumowanie poszczególnych standardów 1 O Gb/s dla techno­ logii światłowodowej : + lOGBase-SR - IEEE 802.3ae (czerwiec 2002 r.) - 850 urn, światłowód wielomodowy, dystans 33 i 86 m, przy użyciu wielomodowego światłowodu optymalizowanego do lasera (2000 MHz/km) dystans wynosi 300 m, + lOGBase-LR - ( 1 3 1 0 urn), światłowód jednomodowy, dystans 1 0 km,

Rozdział 2. + Rodzaje nośników

59

+ 10GBase-LX4 - używa tradycyjnego światłowodu wielomodowego FDDI na dystansie do 300 m przy wykorzystaniu technologii CWDM; w razie zastosowania światłowodu jednomodowego dystans wynosi 1 0 km,

+ lOGBase-ER - ( 1 550 nm) jednomodowy światłowód na dystansie do 30 km,

ł lOGBase-SW, lOGBase-LW, lOGBase-EW - używają WAN PHY i zostały

zdefiniowane do działania w tej samej przepustowości co OC- 1 92/STM-64 SONET/SDH. Są odpowiednikami standardów SR, LR i ER i wykorzystują to samo okablowanie.

2.5. Okablowanie strukturalne Dawno, dawno temu, za górami, za lasami i za wielką wodą, istniały sobie sieci tele­ informatyczne. Były one szyte na miarę. Do każdego pomieszczenia i biurka doprowa­ dzane było odpowiednie okablowanie: instalacja telefoniczna, terminal mainframe, sieci Ethernet i inne - w zależności od potrzeb. Admini byli brudni i paskudni, ponieważ gdy pracownik przestawił sobie biureczko bliżej okna, trzeba było za nim dociągać wszystkie kable. Większy problem pojawiał się wówczas, gdy pracownik uznał, że pokój obok też jest fajny, gdyż siedzi tam pani Basia (ta z dużym IQ). Najgorzej było, gdy w sąsiednim pokoju nie znajdowało się żadne okablowanie; biedny Admin musiał przeciągać nowe kable z serwerowni. Aż pijąc kefirek któregoś poranka, po całej nocy odreagowywa­ nia trudów życia, Admin powiedział: „niech się stanie sieć strukturalna". A w powie­ trzu przed nim zadrgały fotony i ułożyły się w napis: „EWTIA 568". I nastała norma. I widział Admin, że to było dobre.

Definicje Główną myślą przyświecającą idei sieci strnkturalnej jest wygoda, czyli stworzenie takiej sieci, aby w każdym miejscu budynku możliwe było podłączenie stanowiska pracy. Stąd podstawowe zalecenie: na każde 1 O m2 powierzchni biurowej powinien przypadać przynajmniej jeden

punkt abonencki. Punkt abonencki jest określony jako dwa gniazda RJ-45 połączone (najczęściej) skrętką z panelem w serwerowni. Dodatkowo do każdego punktu należy doprowadzić gniazdko elektryczne, najlepiej sieci dedykowanej do zasilania urządzeń komputerowych. Na pierwszy rzut oka takie rozwiązanie wydaje się wyrzucaniem pieniędzy w błoto. Może się bowiem okazać, że ponad połowa instalacji nie będzie na początku wykorzy­ stywana. Jednak w trakcie eksploatacji takiej sieci przekonamy się, że warto było wydać trochę więcej pieniędzy. W przypadku sieci strukturalnej zmiana miejsca pobytu pracow­ nika lub wzrost zatrudnienia w firmie nie powoduje dodatkowych kosztów. Dołożenie dodatkowego okablowania podczas prowadzenia działalności firmy wiąże się z dużymi kosztami robocizny i materiałów. Często przy tym zapomina się o kosztach ewentual­ nych przestojów, związanych z pracami instalatorskimi - wiercenie w ścianie najczęściej

60

Sieci komputerowe. Kompendium uniemożliwia pracę w danym pomieszczeniu. Dochodzi dodatkowy aspekt: instalując sieć większość dużych firm chce otrzymać certyfikat j ej zgodności z wybraną kategorią. W momencie wprowadzenia zmian w sieci z certyfikatem należy ponownie przepro­ wadzić pomiary wszystkich gniazdek, a jest to naj częściej znaczny koszt. Istnieje jeszcze j eden popularny zarzut odnośnie do idei sieci strukturalnej : po co do obu gniazd w punkcie abonenckim używać kabla, np. Cat-5e, jeśli jedno z nich będzie służyło jako gniazdo telefoniczne i można do niego użyć dużo tańszego przewodu telefonicznego. Załóżmy dosyć częstą sytuację: pokój biurowy, dwóch pracowników, jeden telefon, dwa punkty abonenckie. Gdyby użyto różnego okablowania do telefonów i komputerów, w pokoju byłyby dwa gniazda telefoniczne i dwa komputerowe. Jeśli do działu zostanie zatrudniony dodatkowy pracownik, nie ma gdzie podłączyć jego komputera - brakuje trzeciego gniazda komputerowego. W przypadku gdy gniazda są uniwersalne, wykonane w Cat-5e, możemy elastycznie przydzielać zastosowanie gniazda do instalacj i telefonicz­ nej lub komputerowej . A w przyszłości, gdy firma przejdzie na technologię VoIP (telefo­ nia poprzez sieć IP), będzie można wszystkie gniazda wykorzystać jako komputerowe. Pamiętajmy, że inwestycję w sieć robi się raz na około 1 5 lat, a większość dużych flllTI oferujących systemy sieci strukturalnych udziela gwarancji na sieć na okres 20 25 lat. Warto więc zainwestować raz a dobrze. -

Normy Jak już wspomniałem - pisząc „za lasami i za wielką wodą" - idea okablowania strukturalnego wywodzi się ze Stanów Zjednoczonych, stąd większość stosowanych norm wzorowana jest na normach amerykańskich. Poniżej podaj ę najważniejsze normy dotyczące okablowania strukturalnego. Normy amerykańskie:

+ EWTIA 568A - TlA/ElA Building Telecommunications Wiring Standards - Okablowanie telekomunikacyjne budynków, wydana w październiku 1 995 r. - zawiera m.in. specyfikację kategorii 3, 4 i 5. Jest to pierwsza norma, później zaktualizowana poprzez wydanie w kwietniu 2001 roku trzech części normy TINEIA-568-B:

+ TIA/EIA-568-B.1 - Commercial Building Telecommunication Cabling Standard, Part I: General Requirements - część pierwsza zajmuje się ogólnymi zagadnieniami konstrukcji i projektowania sieci strukturalnych.

+ TWEIA-568-B.2 - Commercial Building Telecommunication Cabling Stanard, Part 11: Balanced Twżsted Pair Cabling Components - część druga zawiera specyfikację kategorii Se.

+ TWEIA-568-B.3 - Commercial Building Telecommunication Cabling Stanard, Optical Fibre Cabling Components Standard- część trzecia zawiera informacje dotyczące komponentów światłowodowych.

+ TWEIA-568-B 2 1 Addendom 1 - Transmission Performance Specification for 4-pair 1 OO Ohm Category 6 Cab ling specyfikacj a kategorii 6 została opublikowana w czerwcu 2002 roku. .

-

-

Rozdział 2. + Rodzaje nośników

61

+ EWTIA 569 - Commercial Building Telecommunicationsfor Pathways and Spaces - kanały telekomunikacyjne w biurowcach. + EWTIA 606 - The Administration Standardfor the Telecommunications Infrastructure of Commercial Building - administracj a infrastruktury telekomunikacyjnej w biurowcach.

+ EWTIA 607 - Commercial Building Grounding and Bonding Requirements for Telecommunications Uziemienia w budynkach biurowych. -

+ TSB 67 - Transmission Performance Specification for Field Testing of Unshielded Twisted-Pair Cabling Systems - pomiary systemów okablowania strukturalnego.

+ TSB 72 - Centralized Optical Fiber Cabling Guidelines - scentralizowane okablowanie światłowodowe.

+ TSB 75 - nowe rozwiązania okablowania poziomego dla biur o zmiennej aranżacj i wnętrz.

+ TSB 95 - Additional Transmission Performance Guidelines for 4-Pair 1 OO W Category 5 Cabling. Normy międzynarodowe:

+ ISO/IEC 1 1801 - lnformation technology - Generic cablingfor customer premises - okablowanie strukturalne budynków. Normy europej skie:

+ EN 50173 - Information technology- Generic cabling systems - okablowanie strukturalne budynków,

+ EN 50167 - okablowanie poziome, + EN 50168 - okablowanie pionowe, + EN 50169 - okablowanie krosowe i stacyjne. Okablowania Cat-6 dotyczą następujące normy:

+ TWEIA-568-B.2-l Transmission Performance Specificationsfor 4-Pair 1 00 Categmy 6 Cablling, + ISO/IEC 1 1801 2nd edition: IT- Cablingfor customer premises - międzynarodowy odpowiednik dla aplikacji klasy E.

Projekt i definicje System okablowania strukturalnego można podzielić na następujące moduły logiczne, tworzące w efekcie projekt:

+ założenia projektowe systemu + okablowanie pionowe

62

Sieci komputerowe. Kompendium

+ punkty rozdzielcze + okablowanie poziome + gniazda abonenckie + połączenia systemowe oraz terminalowe + połączenia telekomunikacyjne budynków Założenia projektowe systemu - w pierwszym punkcie konieczne jest ustalenie pew­ nych parametrów wejściowych:

+ rodzaj medium - podejmujemy decyzję, czy wykonujemy instalację w oparciu o skrętkę Cat-Se, Cat-6, czy będzie to instalacja ekranowana lub czy też oprzemy się w całości na światłowodzie? ł wybieramy sekwencję podłączenia żył skrętki, ł określamy protokoły sieciowe, z których będziemy korzystać w rdzeniu sieci,

a jakie zostaną doprowadzone do użytkownika (Ethernet 1 OOBase-T, l OOOBase-T, l OOOBase-SX), ł wybieramy normy, z którymi chcemy mieć zgodną instalację.

Punkt rozdzielczy - to miej sce, w którym zbiega się okablowanie oraz znajdują się elementy aktywne (przełączniki, routery). Najczęściej j est to szafa rozdzielcza lub wydzielone pomieszczenie z taką szafą. Czasem można się spotkać z używanym zamien­ nie pojęciem punkt dystrybucyj ny. Główny punkt rozdzielczy MDF (Main Distribution Frame) jest centrum oka­ blowania strukturalnego; zbiegaj ą się w nim kable prowadzące do sąsiednich budyn­ ków, pięter, okablowanie telekomunikacyjne oraz dochodzą do niego kable do punktów abonenckich. MDF określa się popularnie pojęciem serwerownia. -

-

Pośredni punkt rozdzielczy - IDF (lntermediate Distribution Frame) - w przypadku większych instalacj i z uwagi na ograniczenia długości okablowania (dla skrętki 90 m) konieczne jest tworzenie pośrednich punktów rozdzielczych podłączonych okablowaniem z głównym punktem. IDF zapewnia podłączenie do sieci gniazd abonenckich z j ednego piętra lub wydzielonego obszaru budynku. IDF rzadziej określany j est mianem SDF (Sub-Distribution Frame). Okablowanie pionowe - według definicj i łączy główny punkt rozdzielczy MDF z pośrednimi punktami rozdzielczymi IDF. Nazwa pochodzi stąd, że IDF obsługuj e najczęściej (ale nie zawsze) jedno piętro, więc okablowanie pomiędzy nim a MDF ma przebieg w dużej mierze pionowy (rysunek 2. 1 7). Aby rozwiać większość wątpliwości, które pojawiaj ą się podczas prób ustalenia nazew­ nictwa okablowania i punktów rozdzielczych w istniejących instalacjach, zamieszczam poniższy rysunek poglądowy (rysunek 2. 1 8). Drugim krokiem j est wybór okablowania pionowego - najczęściej jest to światłowód wielomodowy (długość do 2000 m); normy (tabela 2 . 1 6) umożliwiaj ą zastosowanie

Rozdział 2. • Rodzaje nośników

63

Rysunek 2.17. MDF, IDF, okablowanie pionowe i poziome

Piętro 2

Okablowanie pionowe

1

I

I



-

' Paner

I

Okablowanie pionowe

-

- :i Piętro 2

1 - - - - - - -

I

- Piętro - l:-i

-

� „ Parter

Piętro 2

Piętro 1

Parter

L

Okablowanie pionowe

Rysunek 2.18. Okablowanie strukturalne - dwa budynki

skrętki, należy jednak pamiętać o ograniczeniach długości tego medium (90 m wg nor­ my). Okablowanie pionowe jest czasem w literaturze nazywane okablowaniem szkiele­ towym backbone. W skład okablowania pionowego wchodzi najczęściej wieloparowy kabel telefoniczny -jego długość według norm może mieć maksymalnie 800 m. Kabel ten zapewnia możliwość podłączenia w IDF telefonów do centrali telefonicznej znajdu­ jącej się najczęściej w MDF. -

64

Sieci komputerowe. Kompendium

Tabela 2.16. Maksymalne długości okablowania pionowego wg TIAIEIA-568-B. 1 Okablowanie kampusowe

Medium transmisyjne

Okablowanie pionowe

Okablowanie pionowe+ kampusowe

500 m

300 m

800 m

Światłowód wielomodowy 62,5/125

1 700 m

300 m

2000 m

Światłowód wielomodowy 50/125

1 700 m

300 m

2000 m

Światłowód jednomodowy 9/125

2700 m

300 m

3000 m

Kabel miedziany 1 OOQ

Trzecim krokiem jest wybór lokalizacji punktów rozdzielczych. Optymalnym rozwią­ zaniem jest punkt znajdujący się jak najbliżej środka geometrycznego obszaru, który będzie obsługiwał. Najlepiej gdybyśmy mogli wydzielić osobne pomieszczenie na punkt rozdzielczy, niestety nie zawsze się to udaje. Należy pamiętać, że szafa rozdzielcza generuje pewien poziom szumu (wiatraczki w urządzeniach aktywnych, wentylatory samej szafy), który może być kłopotliwy dla osób pracuj ących w danym pomieszczeniu. Norma TIA/EIA-568.A narzuca pewne kryteria na punkty rozdzielcze:

+ przynajmniej jeden IDF na każdym piętrze budynku, + przynajmniej j eden IDF na każde 1 OOO m2 powierzchni, + w przypadku okablowywania kilku budynków, tzw. kampusu (campus), w każdym z tych budynków powinien znaj dować się IDF pełniący funkcj ę

Budynkowego Punktu Dystrybucyjnego. POP (Point ofPresence) - to punkt, w którym nasza sieć LAN łączy się z siecią WAN. Najczęściej jest to punkt połączenia naszego routera z modemem dostawcy usług inter­ netowych (ISP). POP zazwyczaj znajduj e się w MDF. Wspomnę tylko, że norma europej ska EN 50 1 73 używa trochę innego nazewnictwa punktów rozdzielczych:

+ międzybudynkowy punkt rozdzielczy - CD (Campus Distributor), + budynkowy punkt rozdzielczy - BD (Building Distributor), + piętrowy punkt rozdzielczy - FD (Floor Distributor). Gniazdo abonenckie - jest to punkt przyłączenia użytkownika do sieci strukturalnej . Gniazdo najczęściej jest zamontowane w puszce na ścianie przy stanowisku użytkownika.

Punkt abonencki składa się najczęściej z dwóch gniazd abonenckich (2*RJ-45). 2 Zalecane jest umieszczenie jednego punktu abonenckiego na każde 10 m powierzchni użytkowej . -

Okablowanie poziome - część okablowania pomiędzy punktem rozdzielczym a gniaz­ dem abonenckim. Okablowanie poziome rozpoczyna się na panelu krosowym (patchpa­ nel) w szafie rozdzielczej , a kończy na gniazdku w ścianie przy komputerze użytkownika (rysunek 2. 1 9).

Rozdział 2. + Rodzaje nośników

65

Punkt rozdzie lczy

Urządzenie

4---+----11 akrywne

krKa:r os:r

Ludzik

G n iazdo abonenckie



Kabel

przyłączeniowy ,.-------Okablowanie poziome

8

c

A :S 5 m B :S 90 m C :S 3 m A+B+C :S 100 m Rysunek 2.19. Okablowanie poziome

Zalecenia Podczas układania okablowania poziomego normy reguluj ą wiele aspektów. Zdarza

się również, że zalecenia producenta systemu okablowania są bardziej rygorystyczne niż norma. Poniżej przedstawię kilka wybranych zaleceń pozwalających się ogólnie zorien­ tować, czego one dotyczą:

+ należy używać kanałów kablowych (koryta PCV, metalowe), + niedozwolone jest rozciąganie kabla - maksymalna siła naciągu kabla podczas jego instalacj i jest dokładnie określona przez producenta,

+ promień zgięcia kabla nie powinien być mniejszy niż 4 * średnica dla skrętki i 1 O*średnica dla kabla wieloparowego, + kabli nie należy uciskać zbyt mocno (nie zaciskać opasek uciskowych), + nie powinny powstawać węzły na kablach, + minimalna odległość kabli od kabli zasilających:

.

ł

30 cm od wysokonapięciowego oświetlenia (np. świetlówki),

ł

90 cm do przewodów elektrycznych 5 kVA,

ł

1 00 cm od transformatorów i silników,

. �

66

Sieci komputerowe. Kompendium

+ można prowadzić kable zasilające w jednym korycie PCV ze skrętką pod warunkiem: ł

koryto jest przedzielone przegrodą,

ł

suma prądów w kablach zasilających nie przekracza 20 A,

+ nie umieszczać kabli luzem, np. na suficie podwieszanym, + nie mocować do konstrukcji nośnej sufitu podwieszanego, + podwieszając kable pod sufitem, zaczepy należy rozmieścić co 1 ,25 - 1 ,5 m, + nie owijać kabli wokół rur, rynien itp., + każdy uszkodzony kabel należy wymienić, nie wolno naprawiać kabla (np. lutować), + do prowadzenia okablowania pomiędzy piętrami stosuje się rękawy lub szyby - ich wymiary i ilości są dokładnie określone w normie, + należy zadbać o spełnienie norm związanych z ochroną przeciwpożarową: ł

używanie niepalnych kabli,

ł

stosowanie barier przeciwpożarowych,

+ należy stosować nadmiar kabli pozostawiając w odpowiednich miejscach zapasy: ł

20 - 30 cm kabla miedzianego w puszce punktu dostępowego,

ł

1 m włókna światłowodowego w puszce punktu dostępowego,

ł

2 m kabla miedzianego w punktach dystrybucyjnych,

ł

2 m włókna światłowodowego w punkach dystrybucyjnych.

Dokładne zapoznanie się z pełną listą zaleceń wymaga przeczytania norm, co oczywiście polecam. Połączenia systemowe oraz terminalowe - połączenia pomiędzy systemami kom­ puterowymi a systemem okablowania strukturalnego - podczas projektowania sieci strukturalnej należy również wziąć pod uwagę kable przyłączeniowe, którymi podłą­ czymy komputery do gniazdek w ścianie (j ak również „patchkordy" w szafach roz­ dzielczych). Połączenia telekomunikacyjne budynków - są to połączenia pomiędzy różnymi budynkami - często nazywane okablowaniem pionowym międzybudynkowym lub okablowaniem kampusowym. Zazwyczaj realizowane na wielowłóknowym zewnętrz­ nym kablu światłowodowym.

Telefonia Omawiając sieć strukturalną chciałbym wspomnieć również o sieci telefonicznej. Jeśli nie miałeś wcześniej bezpośredniego kontaktu z siecią w dużej firmie, to możesz mieć pro­ blemy ze zrozumieniem, w jaki sposób jest zorganizowana taka struktura. Często używa­ nym pojęciem w IT jest sieć teleinformatyczna. Jakkolwiek by definiować taką sieć, będąc jej administratorem, na pewno będziesz miał do czynienia również z siecią telefoniczną.

Rozdział 2. • Rodzaje nośników

67

Systemy okablowania strukturalnego: ł Molex - http://www. molexpn. eom.pl/

ł Legrand

-

http://www. legrand.pl/

ł Systimax

-

ł Krone

http://www. krone. com/ (http://www. ccpartners.pf/)

http://www. systimax. com/

ł BrandRex - http://www. brand-rex.com/ -

ł Emiter Net - http://www. emiter.net.pf/

ł Lanster

ł Panduit

-

http://www. lanster.com/

-

http://www. panduit.com/ (http://www. radiotechmkt.eom.pl/)

ł Reichle & De-Massari

-

http://www. rdm.eom.pl/

Historyczny podział central telefonicznych: + łącznica - przełączanie ręczne (telefonistka), + PBX (Private Branch eXchange) - centrale elektromechaniczne (styczniki), + PABX (Private Automafie Branch eXchange) (możliwe wykorzystanie aparatów cyfrowych),

-

przełączanie elektroniczne

+ EPABX (Eletronic Private Automafie Branch eXchange) - centrale cyfrowe z własną „logiką''. Najczęściej używa się skrótu PBX jako uogólnienia dla centrali telefonicznej . Warto jeszcze wprowadzić tutaj skrót PSTN (Public Switched Telephone Network) jest on używany na określenie publicznej sieci telefonicznej opartej na komutacji łączy (przełą­ czaniu linii telefonicznych). -

Przedstawię poniżej jeden z wielu możliwych scenariuszy zapewnienia dostępu do sieci telefonicznej w firmie. Najczęściej gdzieś w budynku znajduje się zakończenie sieci PSTN Twojego operatora telekomunikacyjnego. W najprostszym przypadku jest to skrzynka naścienna z kłębowiskiem kabelków. Z tej skrzynki poprowadzona jest jedna lub dwie pary przewodów miedzianych (przynajmniej Cat-3) do modemu (rysunek 2.20). Punkt rozdzielczy

Centrala telefoniczna

Telefon

PABX Panel telefoniczny

Gniazdo abonenckie Skrzynka operatora

�---+---rT

telefonicznego

Rysunek 2.20. Instalacja telefoniczna

Panel krosowy

68

Sieci komputerowe. Kompendium

Modem zapewnia cyfrowy kanał transmisji dla rozmów telefonicznych nawiązywanych z finny (z centrali) na zewnątrz i z zewnątrz do centrali telefonicznej w fmnie. Zwykle jest to łącze ISDN PRA zapewniające możliwość prowadzenia 30 równoczesnych roz­ mów telefonicznych; w mniejszych firmach czasem wystarczy łącze BRA - 2 równoległe rozmowy. Innym rozwiązaniem jest podłączenie bezpośrednio do centrali - z pomi­ nięciem modemu - kilku zewnętrznych linii telefonicznych. Do centrali dociera wtedy tyle par przewodów miedzianych, ile możemy prowadzić jednocześnie zewnętrznych rozmów telefonicznych. Należy wyraźnie zaznaczyć, że liczba równoczesnych rozmów telefonicznych prowadzonych wewnątrz firmy zależy tylko od możliwości centrali, a nie od liczby linii zewnętrznych. Załóżmy więc, że sprawa podłączenia firmy (centrali telefonicznej) do sieci operatora telekomunikacyjnego jest rozwiązana. Rozważmy, jak wygląda dalsza trasa okablowania: z centrali najczęściej wychodzi kabel wieloparowy, rozszyty na panelu telefonicznym w szafie rozdzielczej . Naszym zadaniem jest połączenie („skrosowanie") odpowiedniej linii (paiy miedzianej) wychodzącej z centrali z wybranym gniazdkiem w pokoju użyt­ kownika. Dokonujemy tego za pomocą kabla łączącego panel telefoniczny z panelem krosowym. Jeszcze tylko poglądowo przedstawię (rysunek 2.21 ), jak jest rozwiązane podłączanie telefonów znajdujących się na innym piętrze niż MDF. Pomiędzy piętraini prowadzony jest kabel wieloparowy zaliczany do okablowania pionowego. Aby podłączyć telefon na pierwszym piętrze (zob. rysunek), odpowiednią pai·ę na panelu telefonicznym A łączymy kablem krosowym z parą na panelu telefonicznym B. Na pierwszym piętrze naszego budynku odpowiednią parę przewodów telefonicznych znaj dującą się na panelu C łączymy z okablowaniem poziomym (na panelu D), prowadzącym do telefonu na biurku użytkownika. Na koniec wspomnę jeszcze, że telefoniczne panele rozdzielcze mają różny wygląd; naj­ popularniejszymi rozwiązaniami są panele ze złączami szczelinowymi (rysunek 2.22) lub panele z gniazdaini RJ-45. Panele ze złączami szczelinowymi IDC (lnsulation Displa­ cement Contact) są tradycyjnymi złączami telefonicznymi. Do utworzenia połączenia krosowego wymagają specjalnego urządzenia (awaiyjnie można użyć scyzoryka, ale nie jest to zalecane przez producentów).

Serwerownia Warto jeszcze wspomnieć o elementach pozainformatycznych, które powinny znaleźć się w dobrej serwerowni. Jak już wiemy, powinno to być pomieszczenie usytuowane w pobliżu środka geometrycznego obsługiwanego obszaru - minimalizuje to długości okablowania poziomego, a więc również koszty. Oto, według mnie, idealna lokalizacja MDF: w środku budynku, pomieszczenie bez okien, wejście do pomieszczenia jedynie poprzez pokój informatyków. Umieszczenie MDF w piwnicach grozi niezdrową dla urzą­ dzeń elektrycznych wilgocią, a ulokowanie na ostatnim piętrze również grozi wilgocią, ale w ilościach dużo większych. Oczywiście zalanie serwerowni nie jest przypadkiem bardzo prawdopodobnym. Pamiętajmy jednak, że wybieramy pomieszczenie, którego funkcja nie zmieni się przez czas istnienia sieci strukturalnej w budynku, więc najczęściej

Rozdział 2. + Rodzaje nośników

69

Punkt rozdzielczy 1 piętro

Telefon Panel telefoniczny C

Gniazdo abonenckie Panel krosowy D

Kabel wieloparowy



Punkt rozdzielczy

(okablowanie pionowe)

Parter ������

Panel telefoniczny B

Rysunek 2.21. Telefoniczne okablowanie pionowe Rysunek 2.22. Panel ze złączami szczelinowymi: Jvfolex - Blok I OO parowy KA. TT PDS

70

Sieci komputerowe. Kompendium przez następne kilkanaście lat. A na tak długiej skali czasowej mogą się pojawić różne kataklizmy. Jeśli już muszą być w serwerowni okna, to ważne aby były skierowane na północ (chłodzenie). Kolejną ważną sprawą jest zapewnienie dużego zapasu miejsca w serwerowni. Sieć komputerowa nie jest strukturą, która może ulec zmniejszeniu. Wręcz przeciwnie, najczę­ ściej sieci rozrastają się i z roku na rok wymagają więcej miejsca. Wybierając pomiesz­ czenie, zadbajmy o to, żeby za 1 O lat nie było potrzeby wyburzania ścian i powiększania MDF-u. Przejdźmy do aranżacji wnętrza - podczas tego procesu należy dokładnie rozrysować położenie wszystkich urządzeń, które znajdą się w serwerowni. Następnie z dokumenta­ cji należy wyznaczyć np. promień otwierania się drzwi do szafy rozdzielczej, drzwiczek do skrzynek elektrycznych, drzwi do samej serwerowni itp. Potem trzeba zastanowić się, czy pomiędzy końcem drzwi od szafy rozdzielczej a ścianą przeciśnie się jeszcze bardzo chudy administrator sieci? Pamiętaj - z tego pomieszczenia będziesz korzystał wła­ śnie Ty! Może się zdarzyć, że błędy popełnione na etapie projektowania serwerowni będą cię prześladowały przez wiele następnych lat. Włóż w projektowanie tyle wysiłku, ile zainwestowałbyś w projekt swojego mieszkania. Przejdźmy teraz do instalacji, systemów i urządzeń, które powinny się znaleźć w porząd­ nej serwerowni.

+ Zasilanie - dedykowana instalacj a zasilaj ąca w serwerowni powinna zostać zaprojektowana i wykonana przez specjalistów, a przynajmniej takich elektryków, którzy wiedzą, co to takiego UPS, i wiedzą również, że w komputerach PC stosowane są zasilacze impulsowe.

+ Zasilanie awaryjne - oczywiście UPS-y, ale najczęściej ich zadaniem jest wytrzymać do czasu poprawnego zamknięcia systemów operacyj nych obsługiwanych serwerów. Naj lepszym wyj ściem jest generator prądotwórczy plus zasilanie budynku z dwóch różnych miejskich rozdzielni elektrycznych. Polecam kupowanie UPS-ów działaj ących w trybie Double Conversion, w ostateczności Line Interactive. Warto zwrócić uwagę na możliwość zarządzania poprzez sieć oraz na dostępność i koszt oprogramowania do zarządzania takim UPS-em. Systemy zasilania bezprzerwowego: + American Power Conversion

-

http://www. apcc.com/, http://www. apc.pf/

+ Emerson Network Power - http://www.liebert-hiross.pf + FAST Group

+ EST Energy

-

http://www. fast-group.com.pl/ http://www.estenergy.pl/

+ MGE UPS Systems

+ EVER

-

-

http://www.mgeups.pl/

http://www.ever. eom.pf/

+ Orvaldi Power Protection + Eaton Corporation

-

-

http://www.orvaldi.com/

http://www.powerware. com/

Rozdział 2. + Rodzaje nośników

71

ł Klimatyzacj a - polecam stosowanie urządzeń specj alizowanych (dużo droższych) w serwerowni, a nie urządzeń „biurowych". Dodatkowo ważne j est zapewnienie redundancji tego systemu, czyli drugiego klimatyzatora zapasowego. Jeśli mamy w pomieszczeniu chociażby 1 0 serwerów, to generują już bardzo ładną temperaturę. W przypadku awarii klimatyzatora latem temperatura w serwerowni szybko może wzrosnąć do plażowej . Należy pamiętać, że temperatura we wnętrzu obudów serwerów j est zawsze dużo wyższa niż na zewnątrz.

ł Kontrola dostępu - począwszy od zwykłego zamka, poprzez system z kartami dostępowymi i rej estracj ą zdarzeń, do kontroli biometrycznej , np. obraz siatkówki.

+ Sygnalizacja pożarowa (np. syrena) i system wykrywania pożaru (czujki, centrala).

+ Ochrona przeciwpożarowa - jeśli koszt urządzeń w serwerowni staj e się znaczny, warto pomyśleć o systemie automatycznego gaszenia, przystosowanym do urządzeń typu serwery. Nie jest to nigdy woda! Najpopularniejsze są dwie metody: gaszenie gazem z wykorzystaniem instalacji gaśniczej i butli z gazem oraz gaszenie za pomocą tzw. „bomb tlenowych". Oba systemy korzystaj ą z różnych - najczęściej opatentowanych przez producenta - czynników chemicznych. Zasadnicza różnica polega na tym, że napełnienie butli jest tańsze od wymiany zużytych bomb tlenowych i można tego dokonywać wielokrotnie. Jednak z drugiej strony stworzenie gazowej instalacji gaśniczej jest droższe, niż podłączenie bomb tlenowych.

ł System przeciwwłamaniowy - popularnie zwany „alarmem". ł Oświetlenie awaryjne - po zaniku napięcia serwerownia powinna pozostać oświetlona, tak aby umożliwić pracę.

ł Podłoga wyniesiona - zbudowana z dopasowanych do siebie płyt, ułożonych na specjalnych wspornikach na określonej wysokości nad rzeczywistą podłogą. W przestrzeni pomiędzy rzeczywistym podłożem a podłogą wyniesioną układane jest okablowanie, schodzące się w szafach rozdzielczych. Podłoga wyniesiona traktowana j est jak normalne podłoże, stoją na niej m.in. szafy rozdzielcze i krzesło administratora sieci. Każdą z płyt tworzących podłogę wyniesioną można podnieść, chyba że jest dociśnięta przez szafę rozdzielczą lub krzesło administratora sieci. Podejrzewam, że da się jeszcze wymyślić inne ważne elementy dobrej serwerowni (np. łóżko polowe), ale powyższe wydaj ą mi się najistotniejsze. Na rysunku 2.23 przedstawiony został przykład schematu organizacji szafy rozdzielczej . Ogólnym założeniem przy organizacj i szafy rozdzielczej powinna być minimalizacja długości przewodów krosowych. Wysokości urządzeń w szafach podaje się w jednost­ kach U

( Unit).

1 U = 1 ,75"



4,5 cm

72

Sieci komputerowe. Kompendium

lU

4---- Panel światłowodowy

1U Urządzenie aktywne

3U

,...___ (przełącznik)

1U

Wieszaki na kable

2U 1U 2U 1U 2U

+----

Panel rozdzielczy

IDC (telefoniczny)

...---- Wolne miejsce

3U

UPS

Rysunek 2.23. Szafa rozdzielcza Dosyć często szafa zostaje powieszona na ścianie, tak aby nie zajmować cennej po­ wierzchni biurowej . Pamiętaj , aby kupować zawsze szafę większą niż potrzebuj esz w danej chwili. Musisz przewidzieć w szafie miejsce na panel z wiatrakami (chłodze­ nie), dosyć ważne jest zamontowanie czujnika temperatury steruj ącego ich pracą.

Szafy rozdzielcze: + Molex - http://www.molexpn. eom.pf/ + ZPAS - http://zpas.pf/

+ APC - http://www. apc.pf/

+ Rittal - http://www. rittal.pl/

ł Krone - http://www.krone. com/

Ro zdzi ał 3 .

Warstwa dostfpu do sieci - standard Ethernet 3.1. Historia Początki Ethernetu datują się n a lata 60. XX wieku, kiedy to na uniwersytecie n a Hawa­ jach powstała sieć radiowa o nazwie ALOHANET. Sieć ta, oparta na falach radiowych, służyła do komunikacji pomiędzy wyspami. Nawiązując do idei działania ALOHANET w 1 970 roku Robert Metcalfe i David Boggs z Xerox Palo Alto Research Center opracowali technologię Ethernet, posługującą się kablem koncentrycznym. W 1 976 roku opublikowali wspólnie pracę Ethernet: Distribu­

ted Packet Switchingfor Loca! Computers Networks w Communications of the Associa­ tionfor Computing Machinery (CAM). Formalną specyfikację Ethernetu, opracowaną przez konsorcjum trzech firm: Digital Equipment (DEC), Intel i Xerox, opublikowano w 1 980 roku; określa się ją skrótem DIX (czasem w literaturze stosuje się oznaczenie Ethernet Il), pochodzącym od pierwszych liter nazw firm uczestniczących w tworzeniu standardu. Ethernet został zaadaptowany przez Institute ofElectrical and Electronics Engineers

(http://www. ieee.org), który w roku 1 985 ustanowił standard IEEE 802.3. Od tego roku całość wyposażenia ethernetowego jest tworzona według standardu IEEE 802.3, nadal jednak zwyczajowo określa się j ą mianem Ethernet.

74

Sieci komputerowe. Kompendium

3.2. Działanie protokołu Metody transmisji Protokół stosowany w sieciach Ethernet powstawał poprzez ewolucję kolejnych metod transmisj i danych.

ALOHA Naj starszą historycznie metodą jest ALOHA; stosuje się ją czasem w rozległych sieciach radiowych. Nadawca rozpoczyna nadawanie w dowolnym momencie, a po wysłaniu całej ramki oczekuje na potwierdzenie dotarcia informacji przez odbiorcę. W razie jego braku odczekuj e pewien czas i ponawia nadawanie. W przypadku większego natężenia ruchu sieć taka szybko się blokuje poprzez tzw . kolizje, czyli równoczesne nadawanie sygnału przez stacje, co powoduj e zniekształcenie danych.

CSMA ( Carrier Sense, Multiple Access) Do poprzedniej metody dodany został ciągły nasłuch stanu łącza (carrier sense). Jeśli łącze jest wolne, nadawca rozpoczyna nadawanie. Nie ma tutaj potrzeby rozsyłania potwierdzeń, ponieważ w razie wystąpienia zakłóceń nadawca, ciągle nasłuchując na łączu (również w trakcie nadawania przez siebie danych), dowie się o tym i powtórzy transmisję. W tym przypadku kolizje następuj ą jedynie wówczas, gdy dwie stacje roz­ poczną równocześnie nadawanie, upewniwszy się przedtem o wolnym łączu. Przykła­ dowo, j eżeli obie zaczną nadawanie równocześnie, to dla każdej z nich łącze będzie wolne. Ponieważ sygnał j est transportowany pomiędzy nimi w określonym czasie t, o wystąpieniu kolizji zorientują się dopiero po upływie tego czasu, po czym oczywiście powtórzą nadawanie.

CSMA/CD (Carrier Sense, M ultiple Access with Collision Detection) Metoda ta j est kolejnym rozszerzeniem poprzednich. Po wykryciu kolizji nadawca uznaje, że transmisję należy powtórzyć - ponieważ dane w łączu sąjuż zniekształcone przez sygnał drugiego nadawcy. Nie przerywa jednak natychmiast transmisji, aby zwolnić łącze. Nadaj e jeszcze przez j akiś czas, aby zwiększyć prawdopodobieństwo wykrycia kolizji przez innych użytkowników.

Norma IEEE 802.3 Standard Ethernet jest pewną odmianą ostatniej z metod i obejmuje następujące założe­ nia (dla szybkości 1 0 Mb):

1. Wszystkie stacje prowadzą ciągły nasłuch stanu łącza i sprawdzają, czy łącze jest wolne, zaj ęte czy też trwa właśnie IFG (interframe gap), odstęp międzyramkowy (strefa buforowa), dla 10 Mb równy 9,6 µs (czas transmisj i 96 bitów).

Rozdział 3. + Warstwa dostępu do sieci - standard Ethernet

75

Odstęp międzyramkowy (IFG) jest odcinkiem czasu po ustaniu stanu zajętości łącza. Wynika on z maksymalnej odległości pomiędzy skrajnymi stacjami i czasu propagacji sygnału w danym medium. Jest to czas, jakiego potrzebuje sygnał, na dotarcie do wszystkich stacji w sieci, tak aby wykryły, że trwa nadawanie. 2. Komputery mogą nadawać jedynie wówczas, gdy łącze jest wolne. W przypadku

zajętości kanału muszą odczekać do końca transmisji i dodatkowo przeczekać czas odstępu międzyrarnkowego. 3. Jeżeli podczas nadawania stacja wykryje kolizję, nadaje jeszcze przez czas

wymuszenia kolizji dla 1 0 Mb, równy 3,2 µs (czas transmisji 32 bitów). Jeśli kolizja wystąpi podczas nadawania preambuły, to stacja kontynuuje nadawanie preambuły, po czym nadaje jeszcze 32 bity takiego samego sygnału. Po wykryciu kolizji stacja dobiera długość odcinka czasu Ti, przez który nie będzie podejmowała prób nadawania. 4. Dla T; liczba i jest numerem podejmowanej próby. Możliwe jest maksymalnie

1 6 prób, po których karta sieciowa zwraca błąd. Czas T; wyznaczany jest ze wzoru:

T; = R; · S gdzie:

S

-

R;

szerokość szczeliny czasowej ,

-

liczba losowa z przedziału , przy czym n = min (i, 1 0).

Czas T; wzrasta wraz z liczbą podjętych prób nadawania. Czas ten musi być liczbą losową (wyznaczaną według pewnego algorytmu z adresu karty sieciowej), ponieważ inaczej stacje nadające ponawiałyby próby w tych samych momentach, co powodowałoby ciągłe kolizje. Proces ten określany jest w literaturze angielskojęzycznej mianem backojf. 5. Szczelina czasowa S (slot time) jest czasem transmisji 5 1 2 bitów dla sieci

Ethernet l O i 100 Mb/s oraz 4096 bitów dla sieci 1 Gb/s. Składają się nań: ł

czas potrzebny na dotarcie sygnału z jednego końca sieci o maksymalnym rozmiarze na drugi koniec i jego powrót,

ł

maksymalny czas potrzebny na rozwiązanie problemu wynikającego z wystąpienia kolizj i (wykrycie kolizji i wysłanie sygnału przez czas wymuszania kolizji),

ł

kilka dodatkowych bitów dodanych jako bufor.

Czas potrzebny do rozprzestrzenienia się kolizji do wszystkich stacji w sieci musi być mniejszy niż S. Aby każdy z nadawców wykrył kolizję, długość ramki musi być przy­ najmniej taka jak S. Wynika z tego, że stacje nie mogą zakończyć transmisji ramki, zanim kolizja nie zostanie zidentyfikowana przez wszystkie stacje w sieci. Po transmisji pierw­ szych 5 1 2 bitów ramki stacja uznaje, że kanał transmisyjny należy do niej i w prawi­ dłowo skonstruowanej sieci nie powinna nastąpić kolizja. Dzięki temu nawet w maksy­ malnie dużej sieci Ethernet stacja nadająca najmniejszą możliwą ramkę zawsze otrzyma informację o kolizji.

76

Sieci komputerowe. Kompendium

Długość 5 1 2 bitów szczeliny czasowej wyznacza najmniejszy rozmiar ramki etherneto­ wej jako 64 bajty. Wszystkie ramki mniejsze niż 64 B są uznawane za fragment kolizji (collisionfragment) lub tzw. słabą ramkę (runtframe) i automatycznie odrzucane przez stacje odbiorcze. Tego typu zjawisko najczęściej świadczy o nieprawidłowościach w pracy urządzeń sieciowych; należy przyjrzeć się działaniu kart sieciowych kompu­ terów, w uzasadnionym przypadku wymienić podejrzaną kartę na inną lub spróbować zainstalować nowe sterowniki. Parametr S ustala również maksymalną rozpiętość sieci. Jeśli rozmiar sieci jest zbyt duży, może wystąpić zjawisko zwane późną kolizją (late collision). Tego typu kolizja nie zostanie automatycznie wykryta przez mechanizmy kontrolne Ethernetu i jej wystą­ pienie zostanie zauważone dopiero przez warstwy wyższe modelu ISO/OSI. Dopiero one będą musiały zarządzić ponowną transmisję uszkodzonej ramki. Jest to bardzo niebez­ pieczne zjawisko - świadczy o nieprawidłowej konstrukcji sieci (np. nadmierna roz­ piętość, zbyt wiele koncentratorów), a dodatkowo wprowadza bardzo duże opóźnienia, wynikające z zagubienia ramki, któ1y to błąd muszą wykryć i obsh1żyć protokoły warstw wyższych. Często późna kolizja występuje wówczas, gdy jedna ze stacji ma interfejs sieciowy skonfigurowany do pracy w trybie full-duplex, pozostałe zaś pracują w trybie half-dupleks. Port działający w nybie full-duplex wysyła dane w dowolnym momencie (nie wykrywa kolizji) i zdarza się, że transmisja nastąpi po rozpoczęciu nadawania przez inną stację. Jeśli nastąpi po nadaniu pie1wszych 64 bajtów, to dojdzie do późnej kolizji. Szczelina czasowa zapewnia, że jeśli nastąpi kolizja, to zostanie ona wykryta w ciągu transmisji pierwszych 5 1 2 bitów ramki (dla sieci 1 Oil OO Mb). W 1 994 roku zatwierdzona została norma IEEE 802.3u, definiująca transmisje o szybkości 1 OO Mb. Standard ten jest znany pod symbolem lOOBase-T i popularnie nazywamy go Fast Ethernetem. Zacho­ wany został format ramki, a poprzez wzrost szybkości transmisji obniżyła się dziesięcio­ krotnie maksymalna „rozpiętość" sieci do 200 m (dla sieci 1 O Mb maksymalna rozpiętość sieci to 2000 m, patrz tabela 3 . 1). Rozmiar ten jest ograniczony ze względu na szczeliną czasową. Dla sieci 1 Gb/s szczelina czasowa została ustalona na 4096 bitów, ponieważ dla szczeliny 5 12 bitów sygnał zdążyłby przebyć jedynie około 20 m, co uniemożliwiałoby praktyczne stosowanie tej sieci. Poprzez zwiększenie rozmiaru szczeliny czasowej do 4096 bitów maksymalny rozmiar sieci zwiększył się do 200 m. Ponieważ standard nie został zmieniony, przy n·ansmisji małej ramki stan zajętości łącza uzyskuje się, dodając na końcu ramki (po FCS) tzw. bity rozszerzenia (Carrier extension), nie przenoszące żadnych danych. Sygnalizacja dla szybkości 1 Gb została zmieniona w taki sposób, aby możliwe było nadawanie tzw. sygnałów non-data, nie przenoszących żadnych danych. W przypadku przesyłania ramek o długości 5 1 2 bajtów i większych bity rozszerzenia nie występują. Tabela 3.1. Dane techniczne dla szybkości J O Mb/s (standard IEEE 802.3) Odstęp międzyramkowy - IFG

9,6 µs

Ilość bitów wyznaczaj ących szczelinę czasową

5 12 b

Szerokość szczeliny czasowej

5 1 ,2 µs

Czas wymuszania kolizji

3 ,2 µs

Maksymalna długość ramki

1518 B

Minimalna długość ramki

64 B

Maksymalna rozpiętość sieci

2000 m

Rozdział 3. + Warstwa dostępu do sieci - standard Ethernet

77

Czas potrzebny do przejścia pomiędzy dwiema najdalej oddalonymi stacjami w sieci nazywamy czasem propagacji (propagation delay). Sygnały transmitowane przez stacje napotykają opóźnienia podczas przechodzenia poprzez sieć. Opóźnienia te składają się z opóźnień transmisji sygnału przez medium oraz z opóźnień logicznych wprowadza­ nych przez urządzenia elektroniczne, przez które sygnał musi przejść - karty sieciowe, koncentratory, przełączniki itp. Należy pamiętać, że zjawisko kolizji jest normalnym trybem pracy sieci Ethernet i nie należy się przejmować nawet chwilowymi skokami tej wartości. Jednak w przypadku ich nadmiaru należy podzielić sieć na osobne domeny kolizji. Przy połączeniu kom­ puterów za pomocą urządzeń pracujących w warstwie 1 modelu ISO/OSI (regene­ ratorów, koncentratorów) tworzymy pojedynczą domenę kolizji. W przypadku zasto­ sowania urządzeń pracujących również w warstwie 2 (i wyższych) modelu I SO/OSI (mosty, przełączniki , routery) dzielimy sieć na osobne domeny kolizji.

Wydajność sieci Ethernet 10 Mb/s Wśród administratorów rozpowszechniony jest pogląd, że sieć Ethernet przestaje działać wydajnie przy obciążeniu 37%. Mit ten uti.walił się po opublikowaniu w 1 976 roku opra­ cowania Boba Metcalfa i Davida Boggsa opisującego rozwój i działanie Ethernetu. Zasto­ sowali oni w swoich rozważaniach nadmiernie uproszczony model sieci działającej przy założeniu maksymalnej transmisji ramek o minimalnej długości. W rzeczywistości sieć rzadko pracuje w tak ekstremalnych warunkach. Dwanaście lat później David Boggs wraz z dwoma współpracownikami (Mogul i Kent) opublikował wyniki praktycznych badań rzeczywistego systemu Ethernet. W celu zweryfikowania modelu Metcalfa i Boggsa umieścili 24 stacje w jednej domenie kolizji, każda z nich stale rywalizowała o pasmo i transmitowała ramki o minimalnym rozmiarze. Wykorzystanie pasma wynosiło w przy­ bliżeniu 9 Mb/s. Efektem wielu analiz działania coraz bliższych rzeczywistości matematycznych modeli i porównań dla pojedynczej domeny kolizji z pracą rzeczywistych instalacji jest sformu­ łowanie kilku wniosków: 1. Sieć funkcjonuje stabilnie i umożliwia transmisje danych z niskimi opóźnieniami

nawet przy liczbie stacji dochodzącej do 200. 2. W przypadku obciążenia do 50% średni czas odpowiedzi jest bliski 0,00 1 s.

Aplikacje wymagające transmisji danych w czasie rzeczywistym (multimedia) działają poprawnie. 3. Dla obciążeń od 50% do 80% średni czas odpowiedzi wzrasta do O, 1 s. Aplikacje

transmitujące dane typu WWW, FTP działają poprawnie.

4. Normalna praca sieci charakteryzuje się krótkotrwałymi wzrostami aktywności

do wartości 80 - 1 00%, utrzymywanie się przeciążenia przez dłuższy czas jest sygnałem nieprawidłowego działania. 5. Dla stałych obciążeń powyżej 80% sieć nie zapewnia poprawnego działania (bez

zauważalnych opóźnień) aplikacji. Taka sieć kwalifikuje się do rekonfiguracji. Należy podzielić ją na osobne domeny kolizji, np. za pomocą przełącznika.

78

Sieci komputerowe. Kompendium

Ważnym parametrem opisującym działanie sieci Ethernet jest liczba kolizji podana jako procent liczby wysłanych ramek. Gdy wartość ta zbytnio zbliża się do 1 00% wysła­ nych ramek, istnieje niebezpieczeństwo awarii. Rozważmy jeszcze teoretyczną maksymalną transmisję danych dla 1 0 Mb. Zakładamy największy rozmiar ramki 1 5 1 8 bajtów, dzięki czemu mamy najmniej sze straty na transmisję nagłówków. Ilość transmitowanych danych - 1 500 bajtów, z czego liczba ramek na sekundę - 8 1 2; transfer maksymalny wynosi 1 2 1 8 OOO bajtów.

3.3. Budowa ramki Ethernet Pierwszej definicji ramki ethemetowej dokonało konsorcjum Dell - Intel - Xerox, przez co ramka tego typu określana jest skrótem od pierwszych liter nazw tych firm DIX; czasem ramka taka nosi miano Ethernetu II (rysunek 3 . 1 ). W 1 985 roku został przyjęty standard IEEE 802.3, w którym zmieniło się głównie pole typu danych. 68

68

88 Preambuta

Adres

Adr-es

docelowy

źródłowy

28

46 - 1 500 8

48

Typ

Dane

FCS

Rysunek 3.1. Format ramki DIX (Ethernet II)

Pakiet IEEE 802.3 składa się z ramki (rysunek 3 .2), która jest poprzedzona preambułą i bajtem, zwanym znacznikiem początku ramki (SFD). W ramce DIX Preambuła i SFS były połączone i razem występowały pod nazwą Preambuła. Minimalna długość ramki wynosi 64 bajty (5 1 2 bitów), preambuła składa się z 56 bitów, a SFD - z 8 bitów. 78

18

Preamlrut!r

SFD

68

68

28

Adr-es

Adres

Dłu

docelowy

żródlowy

gość

46 - 1 500 8

48

nagłówel< I EEE 802 . 2 + Dane

FCS

Rysunek 3.2. Format ramki IEEE 802. 3

Preambuła - naprzemienny ciąg bitów 1 i O, informujący o nadchodzącej ramce. Najczęściej nie jest on włączany do wielkości ramki. Uznawany jest za część procesu komunikacji. SFD (Start ofFrame Delimiter) bajt kończący preambułę o postaci: ' 10101011 zaw­ sze jest zakończony dwoma bitami 1 . Wcześniejszy standard DIX (przed ustaleniem normy IEEE 802 .3) definiuje taki sam ciąg bitów, jednak w inny sposób - uznaje całą preambułę za jedno pole, nie wydzielając SFD. -

' ,

Adresy - liczby 6-bajtowe, będące adresami sprzętowymi komunikujących się interfej­ sów sieciowych. Każde urządzenie sieciowe ma nadawany przez producenta niepowta­ rzalny numer odróżniający dany egzemplarz od innych. Nume1y te noszą nazwę MAC (Media Access Control) i są przyznawane przez IEEE. Organizacja ta przypisuje poszcze­ gólnym producentom odpowiedni kod i zakres liczbowy. Dzięki temu nie powinno być

79

Rozdział 3. + Warstwa dostępu do sieci - standard Ethernet

na świecie dwóch kart sieciowych o takim samym numerze. Adres MAC najczęściej ma postać sześciu dwucyfrowych liczb, zapisanych w systemie szesnastkowym, rozdzielo­ nych dwukropkami lub myślnikami, przykładowo 00:60 : 5 2 : 0A:A7:EF. Pierwsze trzy bajty identyfikują producenta karty, pozostałe są numerem kolejnym egzemplarza. Cza­ sami właśnie dzięki źródłowemu adresowi MAC, zawartemu w uszkodzonych ramkach, możemy znaleźć stacj ę sprawiaj ącą kłopoty.

Oficjalną stroną, na której możemy znaleźć informacje o producencie karty sieciowej na podstawie adresu MAC, jest http://standards.ieee.org/regauth/oui/index.shtml. W celu poprawnego wyszu kania należy podać pierwsze trzy bajty, bez myślników i spacji. Przykładowo dla adresu 00:60:52:0A:A7 : EF wpisujemy 006052 i otrzymu­ jemy opis: „ PERIPHERALS ENTERPRISE C O . , Ltd . " wraz z adresem firmy. Adres źródłowy jest zawsze adresem pojedynczej karty sieciowej . Adres docelowy może być zarówno adresem

niowym

-

pojedynczym (unicast), grupowym (multicast), jak i rozgłosze­ (broadcast). Adres rozgłoszeniowy składa

dla wszystkich użytkowników

się z samych bitów o wartości 1 (FF:FF:FF:FF:FF:FF). Jeśli nasłuchujący host otrzyma ramkę z takim adresem w polu docelowym, odczytuj e ją, uznając, że jest przeznaczona również dla niego. W standardzie DIX pie1wszy transmitowany w medium bit służy do odróżniania adresu rozgłoszeniowego od adresu poj edynczego interfej su. Jeśli bit jest ustawiony na 1 , ozna­ cza adres rozgłoszeniowy. W standardzie IEEE 802.3 została również zdefiniowana rola dri.igiego bitu adresu. Oznacza on, czy adres jest globalny (wartość O), czy lokalny (war­ tość 1 ) . Adresy globalne są to rzeczywiste adresy interfejsów sieciowych przydzielone przez producenta. Adresy lokalne są adresami przydzielonymi przez administratora.

Sytu­

acja komplikuje się, gdy uwzględnimy sposób transmisji bajtów w Ethernecie. Adres 00:60:52 :0A:A 7:EF będzie miał postać binarną:

0000 0000 : 0110 0000 : 0101 0010 : 0000 1010 : 1010 0 1 1 1

1 1 10 1 1 1 1

Kolejne bajty przesyłane s ą w kolejności ich zapisywania. Jednak w rzeczywistości transmisja każdego bajtu rozpoczyna się od najmniej znaczącego bitu, kończy zaś na najbardziej znaczącym, więc ciąg przetransmitowany w medium będzie miał postać :

0000 0000 : 0000 0 1 1 0 : 0100 1010 : 0101 0000 : 1 1 1 0 0101

1 1 1 1 0111

W przypadku podanego powyżej adresu wartość pierwszego bajtu adresu MAC jest równa zeru, a zatem nie występuje problem z odwróceniem bitów. Jednak w przypadku zmiany adresu MAC używanego przez nas interfej su należy pamiętać o tym problemie.

Długość

-

określa w bajtach długość pola danych; w przypadku

ramki IEEE 802.3 nie

może ona być większa niż 1500. We wcześniejszym standardzie DIX wartość w tym polu

j est zawsze większa od 1 5 3 6 dziesiętnie (Ox600 szesnastkowo) lub równa tej liczbie

i określa numer protokołu warstwy wyższej, który odbierze dane po zakończeniu obróbki przez standard Ethernet. Dla protokołu IP wartość ta szesnastkowo wynosi Ox800. W roku 1997 zatwierdzone zostało w standardzie IEEE 802.3 również używanie ramek formatu DIX (Ethernet II), dzięki czemu standard 802 . 3 j est kompatybilny z poprzednimi rozwiązaniami.

80

Sieci komputerowe. Kompendium

W większości przypadków w sieciach Ethernet są przesyłane ramki DIX (Ethernet l i ) , a n i e I EEE 802.3.

Dane - jeśli ilość danych jest mniejsza od 46 bajtów, wprowadzane jest tzw. uzupeł­ nienie PAD (padding) i dane są dopełniane jedynkami, tak aby ramka nie była mniejsza niż 5 1 2 bitów (slot time). W standardzie DIX informacja o protokole warstwy wyższej zawarta jest w polu Typ. Informuje ono, jaki protokół ma przejąć dalszą obróbkę danych, czyli np. czy w ramce jest przenoszony protokół IP, czy też IPX. W protokole IEE 802.3 nie ma takiej informacji. Z tego względu w polu danych zawarty jest jeszcze nagłówek protokołu IEEE 802.2, przenoszący taką informację. Konstrukcja taka oczywiście zmniej­ sza ilość możliwych do przetransportowania danych. FCS (Frame Check Sequence) - zawiera 4 bajty kontrolne (Cyclic Redundancy Check ­ CRC) wygenerowane przez interfej s nadający i sprawdzane przez odbierający. Na ich podstawie protokół sprawdza, czy dane nie zostały uszkodzone. A zatem ramka - z pominięciem preambuły i SOF - może mieć rozmiar od 64 (6+6+ 2+46+4) do 1 5 1 8 bajtów (6+6+2+ 1500+4).

Protokół LLC W starszym standardzie Ethernet II (DIX) w polu długość znajdował się numer protokołu odbierającego dane, w standardzie IEEE 802.3 nie mamy tej informacji. Aby zachować tę użyteczność, stworzono normę IEEE 802.2 (rysunek 3 .3). Został w niej zdefiniowany protokół LLC (Logical Link Control). Niektóre protokoły sieciowe wykorzystują stan­ dard LLC (np. AppleTalk), zapewniający poprawną identyfikację protokołu warstwy wyższej. W RFC 1 042 dla transmisji protokołu IP zostały dopuszczone dwie metody, pierwsza oparta na ramkach ethernetowych formatu DIX z polem typu i druga, z ram­ kami IEEE 802.3 przenoszącymi protokół 802.2 określający rodzaj protokołu sieciowego wewnątrz pola danych ramki. Podczas transmisji protokołu IP jest określony maksymalny rozmiar pakietu MTU (Maximum Transmission Unit). Należy zwrócić uwagę na to, że MTU dla sieci Ethernet wynosi 1 500. Jednak przy transmisji z wykorzystaniem protokołów LLC i SNAP tracimy 8 bajtów na nagłówki tych protokołów, więc MTU zmniej sza się do 1 492 . Może to spowodować problemy i w przypadku korzystania z tego typu transmisji należy zmo­ dyfikować MTU dla sieci. MTU zmieniamy w konfiguracji każdej karty sieciowej (interfejsu) podłączonej do sieci.

Nagłówek 802.2 LLC ( Logical Link Control) Wartość pól D - DSAP (Destination Service Access Point) i E - SSAP (Source Service Access Point) jest równa dziesiętnie 1 70 i wskazuje na wartość przypisaną protoko­ łowi SNAP. Pole F - wartość kontrolna - zawiera liczbę 3 oznaczającą ( Unnumbered Information format) typ 1 nagłówka protokołu LLC.

81

Rozdział 3. • Warstwa dostępu do sieci - standard Ethernet Rysunek 3.3. Protokół IEEE 802.2 - nagłówki

A

Pole

B

6

Bajty

6

c 2

"' �

o; o .... o; ,

o Oil

"

=



'9

a.

""

•N





:� .... „

c. o

""o



1l

"

f o

t

e " -s "

"'

"

-l3 /proc/sys/net / i pv4/ i p_forwa rd

ip Poniżej krótko przedstawię zastosowanie polecenia i p z pakietu iproute2 do konfiguracji routingu. Ma ono o wiele większą funkcjonalność od route i służy do konfiguracji wielu aspektów działania protokołu IP w systemach Linux. Aby wyświetlić zawartość tablicy routingu, wpisujemy:

# i p route show 192 . 168 . 1 . 0/24 dev ethl proto kernel scope l i nk src 1 92 . 168 . 1 . 1 10 . 0 . 0 . 0/24 dev ethO proto kernel scope l i nk s rc 1 0 . 0 . 0 . 2 127 . 0 . 0 . 0/8 dev l o scope l i nk default vi a 10 . 0 . 0 . 1 dev ethO Sposób zapisu jest zupełnie inny, nadal jednak zrozumiały. W ostatnim wierszu po słowie v i a (przez) występuje adres domyślnej bramy. Dokonajmy teraz takiej samej konfigu­ racj i routera A za pomocą pakietu iproute2 i polecenia i p. Najpierw konfiguruj emy interfejs lo:

# ip route add 127 . 0 . 0 . 0/8 dev lo scope l i nk Następnie dodaj emy wpis dotyczący karty ethO routera A:

# i p route add 192 . 168 . 1 . 0/24 dev ethO scope l i nk oraz wpis dla karty eth l :

# i p route add 10 . 0 . 0 . 0/8 dev ethl scope l i nk Jeszcze tylko pozostało zdefiniowanie domyślnej trasy dla routera A:

# i p route add defa u l t v i a 1 0 . 0 . 0 . 1 dev ethl Podobnie jak w poprzednim przypadku musimy jeszcze włączyć proces routingu:

# echo

''l"

> / proc/sys/net/ i pv4/ i p_forward

Możemy uzyskać szybką pomoc dotyczącą składni polecenia i p, pisząc po prostu he 1 p w miejscu, w którym mamy wątpliwości co do składni, np.

# i p hel p # i p route hel p

Rozdział 5. + Warstwa Internetu

195

Routing źródłowy Całość omówionego wyżej routingu odbywa się na podstawie adresu docelowego data­ gramu. W pakiecie iproute2 pojawiła się nowa możliwość wyboru trasy opartego na adresie źródłowym datagramu. Daje nam to olbrzymie możliwości decydowania o losie datagramów. Oczywiście nie przedstawię tutaj wyczerpująco możliwości pakietu iproute2 i nowego podsystemu sieci w jądrach 2.4 i 2 . 6 Linuksa. Postaram się przedstawić konkretne rozwiązanie często spotykanego problemu, a po dokładniejszy opis odsyłam do dokumentacji. Aby używać zaawansowanych możliwości routingu, należy pamiętać o skompilowaniu jądra systemu Linux z włączonymi opcjami IP: advanced router oraz

IP: policy routing. (!ocal), główna (main) i domyślna (default), a dodatkowo możemy tworzyć własne. Aby wylistować kon­

W nowej implementacji istnieją trzy systemowe tablice routingu: lokalna

figurację tabel routingu, wydajemy polecenie:

# i p rul e l i st O: 32766 : 32767 :

from a l l l ookup l ocal from a l l l ookup mai n from al l l ookup default

Poznane już polecenia dokonywały operacji na tablicy głównej . Polecenie i p route show (słowo show można zastąpić słowem l i st) przedstawione w poprzednim podrozdziale wyświetla zawartość tablicy main. Aby wyświetlić zawartość innej tabeli niż główna, używamy składni:

# i p route l i st tab l e l ocal l ocal 192 . 168 . 1 . 1 dev ethl proto kernel scope host s rc 192 . 168 . 1 . 1 broadcast 192 . 168 . 1 . 0 dev ethl proto kernel scope l i nk s rc 192 . 168 . 1 . 1 broadcast 127 . 255 . 255 . 255 dev l o proto kernel scope l i nk s rc 127 . 0 . 0 . 1 l ocal 10 . 0 . 0 . 2 dev ethO proto kernel scope host s rc 1 0 . 0 . 0 . 2 broadcast 1 0 . 255 . 255 . 255 dev ethO proto kernel scope l i nk src 1 0 . 0 . 0 . 2 broadcast 1 92 . 168 . 1 . 255 dev ethl proto kernel scope l i nk s rc 192 . 168 . 1 . 1 broadcast 1 0 . 0 . 0 . 0 dev ethO proto kernel scope l i nk src 10 . 0 . 0 . 2 broadcast 1 27 . 0 . 0 . 0 dev l o proto kernel scope l i nk src 127 . 0 . 0 . 1 l ocal 127 . 0 . 0 . 1 dev l o proto kernel scope host s rc 127 . 0 . 0 . 1 l ocal 127 . 0 . 0 . 0 /8 dev l o proto kernel scope host src 127 . 0 . 0 . 1

Przyjmijmy, że do naszego routera dołączono jeszcze jedną sieć, z bardzo szybkim łączem do Internetu (rysunek 5 .5). Komputer naszego kolegi to komputer B o adresie 1 92.168. 1 .2 i chcemy przepuścić jego transmisje przez nowe łącze. W naszym routerze A pojawił się dodatkowy interfejs do sieci eth2 o numerze IP = 1 92. 1 68.2.2/24. W sieci III domyślną bramąjest router z bardzo szybkim łączem „na świat" o adresie 1 92 . 1 68.2. 1 . Chcemy, aby wszystkie datagramy z adresu 1 92. 1 68. 1 .2 w sieci I były wysyłane przez domyślną bramę sieci III, czyli przez adres 1 92 . 1 68.2. 1 . Najpierw powinniśmy stworzyć nową tabelę routingu. Nazwy tabel routingu są zdefi­ niowane w pliku /etc!iproute2/rt_tables i tam dopiszemy nową nazwę. Możemy oczy­ wiście używać dowolnych numerów (mniej szych od 255) bez definiowania nazwy, ale tak jest wygodniej . Dodajemy tabelę o nazwie Kol ega, możemy tego dokonać za pomocą polecenia:

196

Sieci komputerowe. Kompendium

--' '·

---..:

S i eć l i . ---\'·�---- --

Komputer B

Router A

\

S ieć I

'

)

eth2

-- -· ·

- ---

'

i

I

eth0

- ---

..

S ieć I l i ··-�

Rysunek 5.5. Routing źródłowy

# echo " 200 Kol ega "

»

/etc / i p route2/ rt_tabl es

lub edytując ten plik, np. w bardzo dobrym edytorze vi. Następnie dodaj emy regułę prze­ kierowującą wszystkie datagramy z adresu 1 92. 1 68 . 1 .2 do tabeli

Kol ega.

# i p rul e add from 192 . 168 . 1 . 2 tabl e Kol ega Po wylistowaniu konfiguracji tabel routingu możemy obejrzeć efekt naszej pracy:

# i p rul e 1 s O: 32765 : 32766 : 32767 :

from from from from

a l l l ookup l ocal 192 . 168 . 1 . 2 l ookup Kol ega a l l l ookup mai n a l l l ookup defa u l t

Należy j eszcze zdefiniować, c o ma się stać z datagramem p o znalezieniu się w tabeli

Kol ega: # i p route add defaul t vi a 192 . 168 . 2 . 1 dev eth2 tab l e Kol ega oraz wyczyścić pamięć podręczną routingu:

# ip route fl ush cache

Dodatkowa dokumentacja dotycząca polecenia ip http://www. lartc.org/- Advanced Routing &

Traffic Shaping HOWTO

http://mrOvka.eu.org/ - Jest to strona Łukasza Bromirskiego,. znajdują się tutaj

polskie

tłumaczenia kilku bardzo przydatnych dokumentów HOWTO.

5.4. Protokół ICMP Protokół ICMP

(Internet Control Message Protocol) j est

częścią warstwy Internetu,

transportowany jest wewnątrz datagramów IP. To protokół kontrolny Internetu; jego funkcją j est obsługa i wykrywanie awarii oraz różnorodnych nietypowych sytuacj i podczas pracy protokołu IP.

197

Rozdział 5. • Warstwa Internetu

Zadania protokołu ICMP 1. Sterowanie przepływem danych; w przypadku gdy komputer docelowy transmisj i IP nie nadąża z obróbką przychodzących datagramów IP, ICMP wysyła komunikat Source

Quench, po którym nadawca powinien czasowo

wstrzymać transmisję.

2. Raportowanie o braku możliwości dostarczenia danych; jeśli komputer docelowy nie odpowiada, system, który wykrył problem, wysyła do nadawcy komunikat

Destination Unreachable. Jeśli komunikat ten jest wysyłany przez router, oznacza to, że router nie może wysyłać pakietów do danego komputera. Może to nastąpić w dwóch przypadkach: + adres docelowy

IP nie istniej e (np. komputer docelowy jest wyłączony, ma

odłączoną sieć, źle ustawioną maskę); występuje wtedy typ komunikatu

Host-unreachable, + router nie może dostarczyć datagramu do tej sieci; występuje wtedy typ

Network-unreachable.

W momencie gdy komunikat ten jest wysyłany przez host, może to oznaczać, że: + dany komputer nie posiada wsparcia dla któregoś z protokołów warstw

wyższych, występuje wtedy typ Protocol-unreachable,

+ port protokołu TCP jest nieosiągalny, występuje wtedy typ Port-unreachable.

3. Przekierowywanie tras; jeśli komputer (router), do którego dotarł datagram IP, uzna, że właściwszą bramką będzie inny komputer z tej samej sieci, wysyła komunikat Redirect wskazujący na inny komputer (musi znajdować się w tej samej sieci). Po otrzymaniu takiego komunikatu odbiorca powinien zaktualizować swoją tablicę routingu.

4. Testowanie osiągalności zdalnego hosta; odbywa się podczas wywołania polecenia pi ng. Wysyłany jest komunikat Echo Request, po którego otrzymaniu komputer docelowy powinien odpowiedzieć komunikatem Echo

Reply.

Jeśli

tego nie zrobi i komputer nadający nie otrzyma odpowiedzi w określonym czasie, host docelowy uznawany jest za nieosiągalny.

5. Jeśli jakiś datagram podczas przechodzenia przez router osiągnie zerowy limit „czasu życia"

(Time-to-Live), jest usuwany.

datagramu wysyłany jest komunikat ICMP

Do komputera źródłowego danego

Time-exceeded.

Protokół ten jest bardzo ważnym protokołem kontrolnym w Internecie. Obsługuj e on większość sytuacji awaryjnych i infonnuje o nich zainteresowane hosty. Bardzo często wykorzystywany jest przy rozwiązywaniu wszelakich typów problemów przez uży­ wanie popularnych poleceń

pi ng i traceroute (w systemach Windows tracert), zaim­

plementowanych w większości sieciowych systemów operacyjnych. Niestety, ponie­ waż w protokole tym drzemie wiele potężnych możliwości zaszkodzenia określonej sieci lub pojedynczym komputerom, wielu administratorów wyłącza j ego obsługę przez ich routery lub filtruje za pomocą firewalli niektóre groźniejsze komunikaty tego proto­ kołu. Szczegółowo omówię te metody w rozdziale dotyczącym bezpieczeństwa sieci i konfiguracj i firewalla.

--��-�-��---

- -

----- ·---- --

198

Sieci komputerowe. Kompendium

Format nagłówka ICMP W dokumencie RFC 792 zdefiniowany został protokół ICMP. Wiadomości ICMP są wy­ syłane wewnątrz datagramów IP, które odgrywają dla nich rolę transportową. Przedstawię poniżej wartości niektó1ych pól datagramu IP podczas transportu komunikatu ICMP:

+ Typ usługi (Type ofService) = O, + Protokół (Protocol) = 1 , + Adres źródła (Source Address) - adres bramki lub hosta, który utworzył ten komunikat, + Adres przeznaczenia (Destination Address) - adres bramki lub hosta, do którego ten komunikat powinien dotrzeć. Na rysunku 5.6 zamieszczam przykład komunikatu Destination Unreachable Message. 32 bity

-

8 bitów

8 bitów

Typ

Kod

16 bitów .

Suma kontrolna

Nie uŻ)"vąne

- - -

Nagłówek IP + 64 bity ,pierwotnego datagramu, którego dotyczy akitualny pakiet ICMP

Rysunek 5.6. Format komunikatu Destination Unreachable protokołu ICMP

Przedstawiony powyżej nagłówek znajduj e się wewnątrz pola danych datagramu IP, wartości jego pól: Typ (Type) = 3 . Kod (Code): O

= net unreachable - sieć nieosiągalna.

1 = host unreachable - host (komputer) nieosiągalny. 2

= protocol unreachable - host docelowy nie obsługuje protokołu

warstwy wyższej .

3 = port unreachable - port nieosiągalny. 4 = fragmentation needed and DF set - datagram nie może być sfragrnentowany w celu dostarczenia do sieci docelowej . 5 = source route failed - datagram nie może być dostarczony w wyniku problemów z routingiem lub odłączenia sieci docelowej . Nie używane ( Unused) - wypełnione zerami. Suma kontrolna ( Checksum) . Nagłówek IP+64 bity pierwotnego datagramu (Internet Header+64 bits

ofData Datagram).

Rozdział 5. + Warstwa Internetu

199

Nagłówek datagramu IP, na który odpowiadamy, oraz 64 bity jego pola danych. Infor­ macje zawarte w tym polu są używane przez host do przyporządkowania wiadomości do odpowiedniego procesu. Zawarty w nich jest nagłówek protokołu warstwy wyższej , umożliwiający np. określenie numerów portów, których dotyczy komunikat. Porty zostaną omówione w następnym rozdziale.

Pola Typ i Kod komunikatu ICMP Należy pamiętać, że pozostałe komunikaty mają często inny format niż przedstawiony powyżej ; po dokładne opisy odsyłam do RFC 792 (pierwsze 1 6 typów komunikatów). Pełną listę RFC definiujących protokół ICMP można znaleźć pod adresem http://www. networksorcery.com/enp/protocol/icmp.htm. Polem definiuj ącym format komunikatu jest pole Typ, które zawsze znajduje się w pierwszych 8 bitach pola danych datagramu IP (tabela 5.5). Tabela 5.5. Pola Typ i Kod komunikatu ICMP Typ

Kod

w

Znaczenie

w

o

Echo

o

3

Destination Unreachable

4

Source Quench

ź

Znaczenie Dane odebrane w tym komunikacie muszą być zwrócone w komunikacie Echo Repty (typ = 8).

GH

o

Net unreachable

G

-

sieć nieosiągalna.

1

Host unreachable

2

Protocol unreachable

host docelowy nie obsługuje wymaganego protokołu warstwy wyższej .

H

3

Port unreachable

H

4

Fragmentation needed and DF set

gdy datagram nie może być sfragmentowany w celu dostarczenia do sieci docelowej .

G

5

Source routefailed

gdy datagram nie może być dostarczony w wyniku problemów z routingiem źródłowym lub odłączenia sieci docelowej .

G

Komunikat pojawia się w przypadku, gdy datagramy są wysyłane zbyt szybko, aby host lub router docelowy mógł je opracować. W odpowiedzi na każdy usunięty datagram powinien zostać wysłany jeden komunikat Source Quench. Host nadający po odebraniu takich komunikatów powinien tak zmniejszyć częstotliwość nadawania datagramów, aby ich już nie otrzymywać. Host źródłowy może stopniowo zwiększać szybkość nadawania, aż nie zacznie ponownie otrzymywać komunikatów Source

HG

o

Quench.

-

-

komputer nieosiągalny. -

port nieosiągalny. -

-

G

200

Sieci komputerowe. Kompendium

Tabela 5.5. Pola Typ i Kod komunikatu ICMP - ciąg dalszy Typ

Kod

w

Znaczenie

5

Redirect

Znaczenie

o

ź

Redirect datagrams for the Network - przekieruj

G

1

Redirect datagrams for the Host

w

datagramy dla danego adresu sieci. przekieruj datagramy dla adresu pojedynczego komputera. -

G

Jeśli bramka G 1 otrzyma datagram od hosta A, który powinien zostać wysłany do bramki G2 znajdującej się w tej samej sieci co host A, bramka G 1 wysyła ten komunikat do hosta A. Informuje to host A, aby wysyłał datagramy bezpośrednio do bramki G2, z pominięciem bramki G 1 . Datagramy z routingiem źródłowym nie są obsługiwane przez ten komunikat. 2

Redirect datagrams for the Type ofService and Network - przekieruj datagramy dla danego adresu

G

sieci i równoczesnego wystąpienia określonej wartości pola ToS. 3

Redirect datagramsfor the Type ofService and Host

G

- przekieruj datagramy dla adresu pojedynczego komputera i równoczesnego wystąpienia określonej wartości pola ToS. o

8

Echo Reply

9

Router Advertisement

o

10

Router Solicitation

o

11

Time Exceeded

Jest odpowiedzią na komunikat Echo (typ = O).

GH

Część protokołu „ICMP Router Discovery Messages" - RFC 1256. Wysyłany cyklicznie na adres multicast przez router, umożliwia wykrywanie routera przez stacje.

G

Część protokołu „ICMP Router Discovery Messages" - RFC 1256. Stacja podczas uruchamiania może wysłać taki komunikat na adres broadcast w celu wykrycia routerów.

H

o

Time to live exceeded in transit jeśli bramka przesyłając datagram i zmniejszając wartość pola TTL otrzyma wartość zero, usuwa datagram oraz powinna poinformować o tym host źródłowy za pomocą tego komunikatu.

G

1

Fragment reassembly time exceeded- wysyłany,

H

-

gdy komputer nie może złożyć fragmentów datagramu ze względu na przekroczenie czasu oczekiwania na kolejny fragment. Jeśli fragment zerowy nie został dostarczony, nie jest wysyłany żaden komunikat. 12

Parameter Problem

o

Pointer indicates the error - jeśli bramka wykryje nieprawidłowości w nagłówku datagramu uniemożliwiające jego dalsze przetwarzanie, usuwa go i wysyła ten komunikat ICMP. Wartość pola Kod określa bajt, w którym błąd został wykryty.

GH

Rozdział 5. + Warstwa Internetu

201

Tabela 5.5. Pola Typ i Kod komunikatu ICMP - ciąg dalszy Typ

Kod

w

Znaczenie

w

13

Timestamp

o

14

Timestamp Repty

o

15

Information Request

o

16

Infonnation Repty

o

17

Address mask request

18

Address mask reply

19

Reserved (for security)

20 - 29

Reserved (for robustness experiment)

30

Traceroute

31

Conversion error

32

Mobile Host Redirect

33

1Pv6 Where-Are-You

34

1Pv6 1-Am-Here

35

Mobile Registration Request

36

Mobile Registration Reply

Znaczenie Dane odebrane w tej wiadomości są zwracane razem z dodatkową wartością równą ilości milisekund od północy czasu uniwersalnego (UT). Komunikat zawiera trzy wartości timestamp: czas wysłania, czas odebrania i czas transmisji.

GH

Ten komunikat służył do samokonfiguracji stacji (np. bezdyskowych) i uzyskiwania adresu sieci. Aktualnie jest przestarzały i został zastąpiony protokołami RARP i BOOTP.

GH

37

Domain Name request

38

Domain Name reply

39

SKIP Algorithm Discove1y Protocol

40

Photuris, Security failures

4 1 - 255

Reserved

Skróty użyte w tabeli:

W - oznacza wartość,

Ź - opisuje, czy źródłem tego komunikatu ICMP może być: H - host, G - bramka.

ź

202

Sieci komputerowe. Kompendium

Polecenia wykorzystujące protokół ICMP Ping Polecenia pi ng używamy wówczas, gdy chcemy sprawdzić, cv; interesujący nas kom­ puter działa. pi ng korzysta z komunikatów Echo (typ O) i Echo Repty (typ 8). Polecenie to ma podobną składnię w większości systemów operacyjnych. Jako argu­ ment prv;jmuje nazwę hosta, z którym łączność chcemy sprawdzić, w postaci nazwy DNS-owej lub numeru IP. Dla systemu Linux: =

=

# pi ng www . onet . pl P I NG www . onet . pl ( 213 . 180 . 130 . 200 ) : 56 octets data 64 octets from 213 . 180 . 130 . 200 : i cmp_seq=O ttl =246 64 octets from 213 . 180 . 130 . 200 : i cmp_seq=l ttl =246 64 octets from 213 . 180 . 130 . 200 : i cmp_seq=2 ttl =246 64 octets from 213 . 180 . 130 . 200 : i cmp seq=3 ttl =246 64 octets from 213 . 180 . 130 . 20 0 : i cmp=seq=4 ttl =246

ti me=29 . 1 t i me=40 . 0 ti me=69 . 8 ti me=61 . 0 ti me=68 . 8

ms ms ms ms ms

- - - www . onet . pl p i ng stati sti c s - - 5 packets transmi tted . 5 packets recei ved . 0 % packet l oss round -tri p mi n/ avg/max = 29 . 1/53 . 7/ 69 . 8 ms

Wynikiem działania jest lista kolejnych odpowiedzi odległego hosta wraz z ich czasami oraz końcowe podsumowanie podające liczbę zgubionych datagramów (packet loss) i czasy - minimalny, średni i maksymalny - transmisji zapytań. To bardzo przydatne narzędzie, zwłaszcza że jest dostępne w większości używanych systemów operacyjnych. Czasem problemy z interpretacjąjego wyników powodują działające po drodze firewalle, ingerujące w ruch komunikatów ICMP. Poniżej omówię kilka ciekawsv;ch przełączni­ ków tego polecenia. W systemie Linux pi ng działa do momentu, aż nie przerwiemy jego działania, wciskając równocześnie ldawisze Ctrl+C. W Windows wysyła domyślnie jedynie cztery zapytania i końcv; działanie. Aby nie kończył działania, należy użyć przełącznika -t. Aby nie były tłumaczone adresy IP na nazwy DNS, używamy -a dla Windows i -n dla Linuksa. W celu zdefiniowania liczby wysłanych zapytań używamy przełącznika -n l i cz ba dla Windows i -c l i czba dla Linuksa, gdzie zmienna liczba jest liczbą zapytań, które ma wysłać nasz host. Ciekawą opcją testującą wydajność łącza jest -f w Linuksie. Powoduje to wysyłanie ko­ lejnych pytań tak sv;bko, jak sv;bko otrzymywane są odpowiedzi, lub wysyłanie 1 00 komunikatów na sekundę - wybierana jest większa wartość. Można w ten prosty spo­ sób wygenerować duży ruch; opcję tę stosuje się najczęściej w sieci lokalnej. Należy ostrożnie ją wykorzystywać, ponieważ niektóre starsze systemy operacyjne nie były odporne na tego typu zalew (/food) komunikatami ICMP. Nie powinno się w ten sposób testować maszyn poza naszą siecią, ponieważ generuje to niepotrzebny ruch na łączach. Opcję tę można połącv;ć z opcją -s rozmi ar, gdzie zmienna rozmi ar jest ilością danych w bajtach przesyłanych w komunikacie ICMP. Domyślnie jest to 56 bajtów, co w połą­ czeniu z 8 bajtami nagłówka ICMP daje 64 bajty danych przesyłanych w datagramie IP.

Rozdział 5. • Warstwa Internetu

203

Opcj a ta pozwala nam zwiększyć generowane obciążenie łącza. Umożliwia również badanie, w jaki sposób routery znajdujące się pomiędzy nami a celem radzą sobie z frag­ mentacją dużych datagramów. Polecenie pi ng ma jeszcze wiele ciekawych właściwości (w zależności od systemu mniej lub więcej), dlatego warto przeczytać jego dokumentację systemową.

Traceroute P i ng może nam udzielić informacji, że datagramy nie dochodzą do hosta docelowego, aby jednak określić, w którym miejscu trasy poprzez Internet są one gubione, potrze­ bujemy innego narzędzia. Jest nim polecenie traceroute w systemie Linux, a w Win­ dows - polecenie tracert. Wydaje się je podobnie jak pi ng, jednak w efekcie uzysku­ jemy więcej przydatnych informacji. # traceroute www . tpnet . pl traceroute to www . tpnet . pl ( 217 . 98 . 20 . 14 ) . 30 hops max . 40 byte packets 1 10 . 0 . 1 . 1 ( 10 . 0 . 1 . 1 ) 9 . 448 ms 10 . 953 ms 1 1 . 758 ms 2 10 . 0 . 201 . 1 ( 10 . 0 . 201 . 1 ) 26. 839 ms 1 0 . 044 ms 42 . 246 ms 3 10 . 0 . 44 . 2 ( 10 . 0 . 44 . 2 ) 38 . 357 ms 15 . 063 ms 15 . 848 ms 4 z - atman . toya . net . pl ( 193 . 1 1 1 . 36 . 33 ) 31 . 496 ms 1 4 . 147 ms 14 . 763 ms 5 Pi ekna-do-ATMAN . warman . nask . pl ( 195 . 187 . 253 . 241 ) l l . 743ms 20 . 4llms 17 . 493ms 6 Pol and -gw-atm3 - 0 - 0 - 1 0 . nask . pl ( 195 . 187 . 254 . 14 ) 14 . 713ms 13 . 946ms 46 . 104ms 7 tpnet . nask . pl ( 195 . 164 . 16 . 78 ) 20 . 124 ms 14 . 707 ms 15 . 609 ms 8 z . wa r - a r3 . do . wa r - rl . tpnet . pl ( 195 . 205 . 0 . 13 ) 16 . 132 ms 19 . 875 ms 15 . 486 ms 9 z . wa r - r2 . do . wa r - rl . tpnet . pl ( 194 . 204 . 175 . 1 0 1 ) 29 . 908 ms 81 . 246 ms 20 . 863 ms 10 do . wa r - a r2 . z . wa r - rl . tpnet . pl ( 195 . 205 . 0 . 18 ) 81 . 634 ms 23 . 212 ms 18 . 788 ms 1 1 fama . tpnet . pl ( 217 . 98 . 20 . 14 ) 19 . 223 ms 16 . 526 ms 1 3 . 827 ms

W kolejnych wierszach mamy nazwy DNS-owe (jeśli udało się je uzyskać) routerów oraz czasy przejścia trzech datagramów wysłanych do każdego kolejnego routera. Zwróćmy uwagę na czasy w wierszach 9. i 1 0. Czas transmisji 1 8.788 ms do routera nr 1 0 jest krótszy od czasów transmisji do routera nr 9. Jest to możliwe w wyniku samej zasady działania sieci Internet. Obciążenia łączy wzrastają nieprzewidywalnie i czasem datagram osiągnie cel w rekordowo krótkim czasie, korzystając z wolnych w tym ułamku sekundy łączy, a czasem datagram będzie musiał zaczekać w kolejce, aż zostaną wytransmitowane wcześniej dostarczone dane. Metoda działania tego polecenia jest bardziej skomplikowana niż w przypadku pi ng. t race route wysyła datagram skierowany na adres docelowego hosta. Datagram ten zawiera w sobie pakiet protokołu UDP skierowany na port 33434 (numer ten jest zwięk­ szany o 1 dla kolejnych routerów). Porty i protokoły UDP i TCP zostaną omówione w następnym rozdziale. Ponadto w datagramie IP pole TTL (czas życia) ustawione jest na 1 . Pierwszy router, który powinien przekazać ten datagram, ma obowiązek zmniejszyć wartość pola TTL o jeden. W momencie gdy wartość TTL osiągnie O, pierwszy router wysyła komunikat ICMP Time Exceeded. t raceroute w tym momencie posiada już informację o numerze IP pierwszego routera i czasie, w jakim zwrócił komunikat ICMP. traceroute zwiększa wartość TTL do 2 i znowu wysyła datagram do hosta docelowego. Datagram ten przechodzi bez problemów przez pierwszy router, który jedynie zmniej­ sza jego pole TTL do 1 . Gdy drugi w kolejności router odbierze datagram z TTL 1 i zmniejszy go o jeden, otrzyma TTL O, wysyła więc z powrotem komunikat ICMP =

=

204

Sieci komputerowe. Kompendium

Time Exceeded. W ten sposób polecenie traceroute uzyskuje informację o adresie dru­ giego routera i czasie, w jakim zwrócił on informację. t raceroute zwiększa TTL do 3 i kontynuuje ten sam proces. Oczywiście za każdym razem wysyłane są trzy datagra­ my i w każdym wierszu dotyczącym kolejnego routera wyświetlane są trzy czasy ich powrotu. Należy pamiętać, że czasy wyświetlane w wyniku działania tego polecenia są czasami transmisji datagramu IP i powrotu komunikatu ICMP od j ednego z route­ rów. Nie są to czasy przyrostowe pomiędzy kolejnymi routerami. Cały proces kończy się, gdy datagram dociera w końcu do hosta docelowego. Ponieważ jest on skierowa­ ny na nieużywany w danym momencie port protokołu UDP, host ten wysyła komuni­ kat ICMP Port unreachable. Po oh·zymaniu takiego komunikatu traceroute kończy swoje działanie. Jeśli na wysłany datagram nie pojawia się odpowiedź, w miej sce cza­ su wyświetlana j est gwiazdka (*). Jednak polecenie traceroute dalej wysyła datagra­ my, zwiększając wartość w polu TTL, i któryś z kolejnych routerów może znowu po­ prawnie zareagować. Dobry przykład tego zjawiska j est podany w dokumentacji tego polecenia w systemie Linux: # traceroute a l l sp i ce . l cs . mi t . edu . traceroute to a l l sp i ce . l cs . mi t . edu ( 18 . 26 . 0 . 1 1 5 ) . 30 hops max 1 hel i os . ee . l bl . gov ( 128 . 3 . 112 . 1 ) O ms O ms O ms 2 l i l ac-dmc . Berkel ey . EDU ( 128 . 32 . 21 6 . l l 19 ms 19 ms 19 ms 3 l i l ac -dmc . 8erkel ey . EDU ( 128 . 32 . 216 . 1 ) 39 ms 19 ms 19 ms 4 ccngw-ner -cc . Berkel ey . EDU ( 128 . 32 . 136. 23 ) 19 ms 39 ms 39 ms 5 ccn-neri f22 . Berke l ey . EDU ( 128 . 32 . 168 . 22 ) 20 ms 39 ms 39 ms 6 128 . 32 . 197 . 4 ( 128 . 32 . 197 . 4 ) 59 ms 119 ms 39 ms 7 131 . 119 . 2 . 5 ( 131 . 1 19 . 2 . 5 ) 59 ms 59 ms 39 ms 8 129 . 140 . 70 . 13 ( 129 . 140 . 70 . 13 ) 80 ms 79 ms 99 ms 9 129 . 140 . 71 . 6 ( 129 . 140 . 71 . 6 ) 139 ms 139 ms 159 ms 10 129 . 140 . 81 . 7 ( 129 . 140 . 81 . 7 ) 199 ms 180 ms 300 ms 11 129 . 140 . 72 . 17 ( 129 . 140 . 72 . 17 ) 300 ms 239 ms 239 ms 12 * * * 13 128 . 121 . 54 . 72 ( 128 . 121 . 54 . 72 ) 259 ms 499 ms 279 ms 14 * * * 15 * * * 16 * * * 17 * * * 18 ALLSPICE . LCS . MIT . EDU ( 18 . 26 . 0 . 1 1 5 ) 339 ms 279 ms 279 ms

Podczas stosowania tego polecenia problemy nastręczają, podobnie jak w poprzednim przypadku, firewalle. Często firewalle filtrują pakiety skierowane na porty, które nie powinny być otwarte, z czego właśnie korzysta traceroute. Jest to jeden z możliwych powodów pojawienia się gwiazdek w listingach tego polecenia. Ponadto niekiedy powo­ dem nieprawidłowej reakcji routerów jest po prostu błąd w ich oprogramowaniu, przy­ kładowo system 4.(23] BSD odsyła komunikaty Time Exceeded z polem TTL ustawio­ nym na taką samą wartość, jak w otrzymanych datagramach, czyli na zero. Uniemożliwia to odesłanie takiego komunikatu ICMP. Można spróbować zmienić numer portu UDP, od którego będzie się zaczynało wysy­ łanie pakietów. W systemie Linux czynimy to za pomocą opcji -p port, gdzie port jest zmienną, w miejsce której wpisujemy numer portu. Ponadto przydatną opcją jest wyłą­ czenie rozwiązywania nazw DNS-owych kolejnych routerów, dzięki czemu cały proces działania programu ulega znacznemu przyspieszeniu. Opcją wyłączającą tę właściwość jest w systemie Linux -n, a w Windows -d. W tym przypadku również zalecam zapozna­ nie się z systemową dokumentacją tego polecenia.

Rozdział 5. • Warstwa Internetu

5.5. 1Pv6

-

205

wersja szósta protokołu IP

Ze względu na sposób przydziału adresów internetowych w postaci klas A, B i C, na początku lat 90. zorientowano się, że w przypadku dalszego szybkiego rozwoju Internetu niedługo zabraknie wolnych adresów. Rozpoczęły się prace nad nową wersją protokołu IP; aktualnie używana ma numer 4, co zapisujemy 1Pv4. Powstał protokół 1Pv6 (w wersji szóstej), który miał znieść ograniczenia poprzedniej wersji protokołu. Równolegle z pra­ cami nad nową wersją protokołu IP pojawiły się technologie uelastyczniające przydział adresów (bezklasowy routing - CIDR) oraz umożliwiające podłączenie całej sieci LAN firmy za pomocąjednego adresu IP (Network Address Translation). Ponadto niektóre organizacje dokonały zwrotów przydzielonych im pul adresowych. Zmniejszyło to potrzebę przejścia na nową wersję protokołu IP, zwłaszcza że wiązałoby się to z bardzo kosztowną wymianą większości starszych urządzeń aktywnych, nie obsługujących IPv6. Aktualnie protokół ten działa w rozwiązaniach testowych oraz w postaci sieci opartej na enkapsulacji IPv6 wewnątrz datagramów protokołu IPv4. Więcej informacji o możliwo­ ściach samodzielnego przetestowania działania protokołu 1Pv6 znajduje się na stronie http://www. 6bone.pl. Ponieważ nie zanosi się na szybkie wprowadzenie tego protokołu do powszechnego użytku, jedynie ogólnie przedstawię jego cechy. Główne różnice pomiędzy 1Pv6 a 1Pv4: 1. Zwiększenie długości adresów do 128 bitów zwiększyło ogromnie (2128) liczbę możliwych do przydzielenia adresów. 2. Nowy typ adresów - anycast (,jeden z wielu") - odbiorcą datagramu jest jeden host z grupy, adresy będą stosowane przy rozwiązaniach nadmiarowych, np. kilka routerów łączących sieć lokalną z Internetem. Wystarczy, że datagram dotrze do jednego z nich i w przypadku awarii któregokolwiek dane zostaną przej ęte przez pozostałe routery z grupy.

3. Uproszczono format nagłówka w celu zmniejszenia czasu przetwarzania datagramu przez urządzenia sieciowe. 4. Zapewniono lepsze wsparcie dla sterowania przepływem danych w czasie rzeczywistym QoS (Quality ofService) - etykiety kategorii ruchu. 5. Zwiększono elastyczność w konstruowaniu pól opcjonalnych w nagłówku. 6. Podwyższono poziom zabezpieczeń dzięki mechanizmom uwierzytelniania i szyfrowania. 7. Nowe węzły sieci mogą utworzyć konfigurację własnych adresów i parametrów bez angażowania serwera (DHCPv6 - stateless configuration) na podstawie własnego adresu MAC.

206

Sieci komputerowe. Kompendium

Nagłówek 1Pv6

I

1 6 bitów

-

4 bity

8 bitów

Wersja = 6

K.lasa rnchu

-

-

Rozmiar pola danych

-

I

8 bitów 20 bitów

I

8 bitów -

--

Etykieta przepływu Następny nagłówek

I

Limit skoków

1 28-bitowy adres �ódłowy

I

1 28 -bitowy adres doceloy.ry

Rysunek 5. 7. Format nagłówka datagramu !Pv6

Pola nagłówka 1Pv6 Wersja ( Version) - zawiera wartość 6, czyli numer wersji protokołu IP. Klasa ruchu (Traffic Class; czasem używane jest oznaczenie Prio1ytet - Priority) i Ety­ kieta przepływu (Flow Label) pola wykorzystane do oznaczania pakietów w celu zapewnienia QoS. -

Rozmiar pola danych (Payload Length) - określa w bajtach długość następującego po nagłówku pola danych. Następny nagłówek (Next Header) - zawiera informację o typie następnego nagłówka umieszczonego w polu danych datagramu. Limit skoków (Hop Limit) - czas życia - odpowiednik pola TTL w nagłówku IPv4. Nagłówek IP w wersji 6 ma stałą długość, więc usunięte zostało pole IHL określające długość nagłówka. Pola opcj i przeniesiono do następnego nagłówka, definiowanego przez pole Next Header. Następny nagłówek może być nagłówkiem protokołu transpor­ towego lub opcjonalnym rozszerzeniem nagłówka IPv6 (odpowiednik pola opcji IPv4). Dzięki temu nagłówek pakietu IPv6 ma stałą długość, co upraszcza i przyspiesza jego przetwarzanie przez urządzenia sieciowe. Nagłówki opcjonalne nie muszą być przetwa­ rzane przez wszystkie routery, mogą być przeznaczone tylko dla hosta odbierającego datagram. Konstrukcja ta pozwala również na swobodną rozbudowę pól opcjonalnych. Aktualnie są zdefiniowane opcjonalne rozszerzenia: + Routing Header

-

routingu,

+ Fragment Header - fragmentacji i defragmentacji pakietów, + Authentication

-

uwierzytelniania i spójności (np. MD5),

+ Encapsulating Security Payload - zagnieżdżania i poufności (np. DES),

Rozdział 5. + Warstwa Internetu

207

+ Hop-by-Hop - specjalnych opcji wymaganych na wszystkich etapach trasowania, + Destination - opcji przetwarzanych w miejscu przeznaczenia.

Adres 1Pv6 Zwiększenie długości adresu do 1 28 bitów wymusiło nowy sposób zapisu adresów IP. Adres IPv6 zapisujemy jako ciąg ośmiu szesnastobitowych liczb w systemie szesnast­ kowym, opcjonalnie oddzielonych dwukropkiem: FF01 : 0 : 0 : 0 : 456 : FEDC : 0 : 88

Zera wiodące w poszczególnych liczbach są w powyższym zapisie pomijane, można rów­ nież pominąć zera za pomocą operatora : : , ale tylko raz w obrębie pojedynczego adresu: FFOl : : 45 6 : FEDC : 0 : 88

Zdefiniowano trzy rodzaje adresów: + unicast - komunikacja punkt-punkt (point-to-point), + anycast - komunikacja z najbliższym urządzeniem z grupy urządzeń, + multicast - komunikacja z wieloma urządzeniami z grupy urządzeń.

Zostały wydzielone specjalne klasy adresów unicast: + związany z dostawcą usług internetowych, + neutralny, + związany z protokołem IPX, + związany z przejściem z protokołu IPv4, + Link-Local-Use, + Site-Local- Use.

Najciekawszym adresem unicast jest adres związany z dostawcą usług internetowych. Nie jest on podzielony na klasy jak adres IPv4. Dokonano podziału na części o zmien­ nej długości, zależne od poszczególnych podmiotów przydzielających pulę adresową (rysunek 5 .8). 3 bity

n bitów

016

Id. organiza�ji

m

bitów

Id. dostawcy

o bitów

p bitów

o-p bitów

Id. klienta

Id. podsieci

Id. interfejsu

Rysunek 5.8. Format adresu IPv6 unicast związanego z dostawcą usług internetowych

Id. organizacji (registry id) - identyfikator organizacji przydzielającej adresy IP, Id. dostawcy (provider id) - identyfikator dostawcy usług internetowych (ISP),

- -�-

------���-

-�----- -----

208

Sieci komputerowe. Kompendium

Id. klienta (subscriber id) - identyfikator klienta ISP, Id. podsieci (subnet id) - identyfikator podsieci logicznej , Id. interfejsu (interface id)

-

identyfikator interfej su sieciowego w podsieci.

Jedynie niewielka część adresu odpowiada za podział puli danego przedsiębiorstwa na podsieci.

5.6. Protokoły routingu dynamicznego Jeśli administrujesz dużą, zmieniającą swoj ą strukturę siecią, warto rozważyć użycie jednego z protokołów routingu dynamicznego. Protokoły te zapewniaj ą uaktualnianie tablic routingu na Twoich routerach po zmianach w sieci. Przydaj ą się również, gdy posiadasz połączenia nadmiarowe pomiędzy podsieciami; w takim przypadku jeśli jedno z połączeń ulegnie uszkodzeniu, zapewniają, że ruch zostanie dynamicznie przekiero­ wany na nową trasę. Nie będę się zagłębiał w tę tematykę, ale j ako administrator sieci powinieneś orientować się, jakie istnieją protokoły routingu. Wydzielamy dwie rodziny różniące się algorytmami stosowanym do wyznaczania naj­ lepszych tras w sieci:

ł protokoły wektora odległości (Distance Vector),

+ protokoły stanu łącza (Link State). Należy wprowadzić jeszcze pojęcie

metryki (metric) - jest to

miara odległości stoso­

wana przez protokoły routingu.

Protokoły wektora odległości ( Distance Vector) Protokoły wektora odległości charakteryzują się rozsyłaniem - w określonych odstę­ pach czasu - pomiędzy sobą swoich tablic routingu. Żaden z routerów nie zna pełnej topologii sieci, posiada tylko informację o zawartości tablicy routingu swojego sąsiada. Metryką dla tych protokołów jest liczba routerów w drodze

(hop count)

do celu.

Głównym problemem związanym z ich zastosowaniem jest duży czas zbieżności, czyli ustalenia tablic routingu po zmianach w sieci. Gdy tablice routingu sąj eszcze niespójne, mogą pojawić się pętle routingu

(routing loops) - pakiety krążą „w kółko" pomiędzy

routerami, aż do wyzerowania liczników TTL. W celu ulepszenia działania tych protokołów wprowadzone zostały technologie:

+ maximum hop count - ustalenie maksymalnej odległości (np. 1 5 skoków), dla której sieć jest jeszcze uznawana za osiągalną,

+ split horizon - rozgłoszenia o zmianach nie są wysyłane w kierunku, z którego przyszły,

Rozdział 5. + Warstwa Internetu

ł route poisoning

209

dla odłączonej sieci rozgłaszana jest metryka o wartości maksymalnej oznaczającej nieosiągalność, -

ł Hold Down Timers

aktualizacje docierające do routera są ignorowane przez pewien czas, co zapobiega negatywnemu wpływowi tzw. migotania tras,

ł triggered updates

-

aktualizacje wysyłane są natychmiast po stwierdzeniu zmiany przez router, bez oczekiwania na następny okres aktualizacji. -

Protokołami wektora odległości są m.in. RIP (Routing Information Protocol), IGRP, BGP (Border Gateway Protocol). Protokół EIGRP jest zaliczany jeszcze do tej rodziny, ale posiada już pewne cechy następnej rodziny protokołów routingu.

Protokoły stanu łącza ( Link State) Każdy router posiada pełną informację o topologii całej sieci dzięki stosowaniu algoryt­ mów SPF (shortest pathfirst). W chwili gdy zajdzie zmiana, router natychmiast rozsyła informację o niej do wszystkich routerów. Każdy z routerów przelicza ponownie najlepsze ścieżki do zmienionych sieci. W procesie komunikacji pomiędzy routerami wykorzysty­ wane są pakiety LSP (Link State Packets), przenoszące najczęściej informacje o zmia­ nach w sieci. Zapotrzebowanie na pasmo jest dużo mniejsze niż w przypadku protokołów wektora odległości, ponieważ rozsyłane są tylko uaktualnienia topologii, a nie całe tablice routingu. Oczywiście raz na określony z góry czas rozsyłana jest pomiędzy routerami pełna informacja o sieci. Dużym atutem protokołów stanu łącza jest dużo szybsza zbież­ ność, uzyskiwana dzięki rozsyłaniu informacji o zmianach natychmiast po ich wystąpie­ niu. Dodatkowo protokoły te jako metryki używają wartości uzależnionej od przepusto­ wości łącza. Długi czas hamulcem w rozpowszechnianiu tych protokołów był znacznie większy koszt obliczeniowy (wymagania odnośnie do procesora i rozmiarów pamięci), aktualnie jednak nie jest to już zbytnim problemem. Kolejnym minusem jest dużo większa trudność w poprawnym skonfigurowaniu takiego protokołu niż w przypadku proto­ kołów wektora odległości. Przykładem protokołu stanu łącza jest OSPF (Open Shortest

Path First). Zagadnienie protokołów routingu jest obszerne; można podawać ich cechy oraz omawiać algorytmy działania i metody konfiguracji (krótkie zestawienie w tabeli 5 .6). Jednak są już dostępne lepsze książki na ten temat. Chodziło mi głównie o to, abyś pamiętał, że ist­ nieje coś takiego jak protokoły routingu i potrafił skojarzyć ich nazwy. Jeśli będziesz musiał skonfigurować któryś z nich, to i tak sięgniesz po specjalistyczne książki poświę­ cone konfiguracji danego protokołu na używanym przez Ciebie systemie.

Jak zbudowany jest I nternet? Postaram się w tej części odpowiedzieć m.in. na pytanie: „dlaczego pakiety wysyłane do famy w tym samym mieście idą przez Frankfurt"? Internet jest zbudowany z syste­ mów autonomicznych AS (Autonomous System), czyli z wydzielonych sieci poddanych administracji jednej firmy lub organizacji i kiernjących się określoną polityką zarządzania mchem.

Sieci komputerowe. Kompendium

210 Tabela 5.6. Zestawienie cech protokołów dynamicznego routingu Cecha

RIP

RIPv2

IGRP

EIGRP

Protokół wektora odległości?

+

+

+

+

OSPF

BGP +

+

Protokół stanu łącza? Czy obsługuje routing bezklasowy (VLSM)?

+

+

Czy Cisco jest właścicielem patentu?

+

+

+

+ +

Obsługa IPX, AppleTalk? Czy obsługuje sumowanie routingu?

+

+

Czy obsługuje load balancing na łączach o różnej przepustowości?

+

+

Obsługa systemów autonomicznych?

+

+

+

+

+

System autonomiczny może być: + jednopunktowy

-

posiada jedno połączenie z innym AS-em,

+ wielopunktowy, nietranzytowy posiada dwa lub więcej połączeń z dwoma lub więcej AS-ami; nie przekazuje ruchu pomiędzy obcymi AS-ami, obsługuje tylko ruch związany ze swoim AS-em; takie AS-y najczęściej posiadają duże firmy świadczące usługi internetowe, -

+ wielopunktowy, tranzytowy - posiada dwa lub więcej połączeń z dwoma lub więcej AS-ami; przekazuje ruch pomiędzy AS-ami zewnętrznymi kierując się własną polityką zarządzania ruchem; takie AS-y posiadają najczęściej dostawcy łącz internetowych - ISP.

Routing dynamiczny pomiędzy systemami autonomicznymi w Internecie obsługiwany jest przez protokół BGP (Border Gateway Protocol). BGP jest protokołem wektora odległości obsługującym natychmiastowe zawiadomienia o zmianach w sieci, dzięki czemu jego czas zbieżności jest bardzo krótki. A jakie to ma znaczenie? W BGP zawarta jest informa­ cja o strukturze całego Internetu, widzianej z perspektywy danego AS. Krótki czas zbieżno­ ści oznacza więc w miarę aktualną informację o strukturze Internetu. Metryką dla BGP jest odległość od celu mierzona liczbą systemów autonomicznych znajdujących się na ścieżce. Co daje własny AS dla typowej firmy świadczącej usługi w Internecie? Zapewnia stabil­ ność (redundancję) łącz - jeśli zostanie uszkodzone jedno z łącz, firma nie znika z Inter­ netu; topologia BGP zmienia się i cały ruch do AS-a firmy kierowany jest poprzez pozo­ stałe działające łącza. Dodatkową korzyścią jest optymalizacja routingu; każdy klient będzie dostawał się do Twoich serwerów najkrótszą ścieżką prowadzącą do jednego z łącz firmy. Podobnie dostęp do zasobu zewnętrznego będzie prowadzony poprzez to łącze, które zapewnia najkrótszą trasę do niego. Jak widać na przykładzie rysunku 5.9, z punktu A do systemu AS l OOO istnieją dwie możliwe trasy: 1. AS l OO, AS l OOO 2. AS500, AS200, AS l OOO

Rozdział 5. + Warstwa Internetu

211

Rysunek 5.9. Wybór trasy w Internecie

\

AS l OOO

Wybrana zostanie trasa krótsza, czyli 1 . Oczywiście można stworzyć więcej możliwych tras (np. AS500, AS200, AS l OO, AS l OOO), ale te dwie trasy zostały ogłoszone w BGP jako możliwe. Same plusy? Głównym minusem jest stopień komplikacji procedur związanych z uzy­ skiwaniem własnego AS. Procedury te z roku na rok są coraz bardziej rygorystyczne, ponieważ liczba AS-ów jest ograniczona. Numer systemu autonomicznego zapisywany jest na 1 6 bitach, z czego część jest zarezerwowana na numery prywatne AS: 645 1 2 65535 . Numery prywatne mają podobne zastosowanie jak nieroutowalne adresy IP można je wykorzystywać do użytku wewnętrznego i nie powinny się pojawiać w Inter­ necie. W celu uzyskania statusu systemu autonomicznego najlepiej skorzystać z pomocy jednego z dostawców usług (jeśli będzie skłonny nam jej udzielić). Jednym z kroków będzie uzyskanie nowej klasy adresów IP niezależnych od dostawcy PI (Provider Inde­ pendent). Dotychczas Twoja pula adresowa była wydzielona z adresów przydzielonych twojemu dostawcy - adresy PA (Provider Aggregated), a aby zaistnieć jako osobna jednostka w Internecie, potrzebujesz adresów IP niezależnych od dostawcy. Dzięki adre­ som PI podłączenie kolejnego łącza lub rezygnacja z istniejącego nie będzie nastręczała problemów związanych z migracją na nowe adresy. „

Przejdźmy do bardziej rzeczywistej struktury Internetu. Nie będę operował tutaj nazwami firm, ponieważ te się zmieniają, a w razie potrzeby sam będziesz mógł je znaleźć na pod­ stawie metod, które podam dalej . Rdzeń Internetu tworzą duże firmy, posiadające np. łącza światłowodowe pomiędzy kontynentami, światłowody położone pomiędzy pań­ stwami na danym kontynencie itp. Firmy te określa się mianem Tier 1 . Mniejszymi orga­ nizacjami są operatorzy funkcjonujący na poziomie jednego państwa. Najniżej w łańcuchu pokarmowym znajdują się AS-y nietranzytowe - czyli odbiorcy usług (rysunek 5 . 1 0). Z założenia operatorzy znajdujący się na tym samym poziomie wymieniają między sobą ruch bez ponoszenia opłat (peering). Oczywiście takie działania są dobrowolne i zależą

""""" ·

21.2

Sieci komputerowe. Kompendium

'-,,

$- IS p

J

(�

Tierl

/

=-

As100

-! =

r--...

-... . -.

f

",

AS l OOO

'·� -\

">,,: . --_

••

'\

)

-

' _

--�.!,,...- --�---........

AS200

1

- :-

- ,,..-- -- �

'·,....-----,

.�--/.'

\

�-..... ,

AS300

)

_ ___.__,.,,,�

�_

'---.....

AS3000

J

I

,,,.._,

i -� - -

')

(As20000 ) '.__,___

4./

Rysunek 5.1.0. Model struktwy systemów autonomicznych w Internecie zawsze od polityki właściciela AS-a. Ponieważ jednak wymiana taka jest opłacalna dla równorzędnych partnerów, tak się najczęściej dzieje. Operatorzy na poziomie nazwa­ nym przeze mnie roboczo ISP również wymieniają między sobą ruch, tworząc punkty wymiany IX

(Internet eXchange).

Na rysunku zaznaczone zostały linie przerywane,

oznaczaj ące sprzedaż pasma. Operator z poziomu ISP musi wykupić łącze do poziomu Tier- 1 . Podobnie odbiorca znajdujący się na najniższym poziomie musi wykupić łącza do ISP. Jak widać, protokół BGP jest oparty na ekonomii, a polityki trasowania ruchu w każdym z AS-ów - na kosztach łącz. Przy takim układzie ruch pomiędzy AS 1 0000 i AS20000 będzie transportowany najkrótszą trasą poprzez punkt wymiany międzyope­ ratorskiej

IX (rysunek 5 . 1 1 ).

Załóżmy teraz, że operator AS2000 może sobie pozwolić na wyrwanie się z tego sche­ matu i żąda od równorzędnych sobie AS l OOO i AS3000 opłat za łącza do swojego AS. Jeśli okaże się, że AS2000 wykorzystuj ąc swoją pozycj ę, zażąda od równorzędnych AS-ów sum wyższych niż opłaty za łącza prowadzące do Tier-1 , zaczynaj ą się kłopoty z logiką routingu. Zwróć uwagę, że w przedstawionym modelu AS l OOO nie uczestniczy w punkcie wymiany IX. W tej sytuacji AS l OOO i AS3000 będą kierować transmisje pomiędzy AS l OOOO i AS20000 najtańszymi dla nich łączami, czyli poprzez poziom Tier- 1 . Oczy­ wiście struktura przedstawiona na rysunku jest dosyć osobliwa, ale zależności pomiędzy operatorami, koszty łącz i warunki umów, narzucone polityki routingu generuj ą w rze­ czywistości dużo bardziej skomplikowane środowisko niż przedstawione na rysunku.

213

Rozdział 5. + Warstwa Internetu

,�

j

_,--ł,.�-

... __

AS4000

)

(,AS20000 J Rysunek 5.11. Struktura płatności pomiędzy AS-ami W

celu zorientowania się w strukturze AS, ich numerach i pulach adresowych możesz użyć narzędzia whois (rysunek 5 . 1 2) lub skorzystać ze strony www.ripe.org (dla AS-ów europejskich). W efekcie uzyskasz wiele informacji; najważniejsze z nich to numer AS (możesz wyszu­ kiwać po nazwie firmy), przydzielone pule adresów IP, kontakty administracyjne. Cza­ sem pojawiają się informacje na temat połączeń z innymi operatorami i polityki routingu. Niestety nie są one obligatoryjne i mogą się okazać nieaktualne, ale warto do nich zajrzeć.

Ważne strony związane z BGP: + http://www.bgp4.net/ - podstawowa strona z różnymi narzędziami

umożliwiającymi zorientowanie się w strukturze BGP na świecie,

ł http://www. dia. uniroma3. it/-hermes/ - projekt wizual izacj i połączeń

pomiędzy AS-ami,

ł http://bgplay.routeviews.org/bgp/ay/ - projekt wizual izacji uaktualnień

protokołu BGP,

+ http://www.cisco. com/univercd/cc/td/doc/cisintwk/ito_doc/bgp. htm

- poradnik Cisco nt. BGP,

ł http://www.cisco.com/en/US/tech/tk365/tk80/tsd_techno/ogy_support_

sub-protocol_home.html - zbiór informacji i przykładów konfiguracji - Cisco

ł http://www.rhyshaden.com/bgp.htm - kolejny opis BGP,

ł http://joe. lindsay.net/bgp.html - i jeszcze jeden opis BGP.

,

214

Sieci komputerowe. Kompendium

Rysunek 5.12. Wyszukiwanie AS w bazach whois you are here: hc.r.1-= -> \tVhois Dc.hbase -> Whois Search

Query the Seorchfor

RIPE

Whois Database

Queoy Support Tools

Queoy Options: IP address Lookups

-d

C

Reverse Delegations

Queoy Options: lnverse Lookups

-i lnverse attributes

-G

J�one

S ar 1 e 1 ch IDeteult(nearest match) --

-· ·

-

fi

_[EJ fRIPE �

-s Alternative database -T

-B

_ _ _ _

Queoy Options: IP address Lookups



Reset FormI

JASB3DB.�---------� SearchI

-r

Disable groueing by relevance

n

Disable e-mail filtering

D

Oisable

lookues

recursive

r

-K

Primary kevs only

D

-R

Disable domain name referral

D

Objects tyees

5. 7. Urządzenia pracujące w warstwie Internetu Router Router (router),

nazywany również

bramką (gateway), jest

urządzeniem sprzęgającym

sieci, funkcjonującym w warstwach: fizycznej, łącza danych i sieciowej modelu

ISO/OSI.

Router jest zaawansowanym urządzeniem służącym do łączenia ze sobą poszczególnych sieci

IP. Jest urządzeniem konfigurowalnym, najczęściej pozwala na sterowanie przepu­

stowością sieci oraz zapewnia pełną izolacj ę segmentów sieci - oddziela zarówno domeny kolizji, jak i domeny rozgłoszeniowe w sieci Ethernet. Potrafi również przeka­ zywać dane pomiędzy sieciarni opartymi na różnych technologiach. W sieciach rozległych dane przechodzą przez wiele węzłów pośrednich i mogą przemieszczać się różnymi tra­ sami. Router jest jednym z takich węzłów, ma za zadanie przesyłania danych jak naj ­ lepszą i naj szybszą drogą. Potrafi odczytywać adresy z poszczególnych pakietów, tak aby znać ich miejsce prze­ znaczenia. Procedura dostarczania pakietów bliżej ich miej sca przeznaczenia jest róż­ nie nazywana w literahrrze fachowej . Najczęściej spotykane są pojęcia:

trasowanie, przekierowywanie.

routowanie,

Do kierowania danych używana jest tzw. tabela (lub

Rozdział 5. + Warstwa Internetu

215

tablica) routingu, która zawiera informacje o sąsiadujących routerach, sieciach lokal­ nych oraz ich stanie. N a podstawie tych danych wyszukiwana jest optymalna droga dla danego datagramu.

Tablica routingu może być statyczna aktualizowana ręcznie przez administratora sieci, lub dynamiczna aktualizowana automatycznie przez oprogramowanie sieciowe -

-

(protokoły routingu). Zaletą drugiego rozwiązania jest to, że w razie dużego ruchu opro­ gramowanie może zmienić tablicę routingu, tak aby pakiety omijały powstały zator; ponadto protokoły routingu zapewniają reakcję na awarie i w miarę możliwości powo­ dują transmisj ę danych łączem awaryjnym. Aktualnie zadania routera najczęściej nie ograniczają się do trasowania datagramów IP. Routery bywają także wykorzystywane jako „zapora ogniowa", zabezpieczając sieć przed nieautoryzowanym dostępem. Przy odpowiedniej konfiguracji wszyscy użytkownicy sieci lokalnej korzystają z Internetu, natomiast pozostali użytkownicy Internetu mają ograni­ czony dostęp do sieci lokalnej . Ponadto router można wykorzystać jako urządzenie tłumaczące adresy sieciowe NAT), czasem spotykane jest pojęcie IP-masquerading (maskarada, maskowanie adresów IP). Działanie NAT polega na umożliwieniu przedo­ stawania się pakietów z sieci lokalnej o adresach z zakresu nieroutowalnego (lub innych) do Internetu. Każdy z pakietów z sieci lokalnej ma zamieniany adres źródłowy na adres routera wykonującego funkcję NAT. W ten sposób komputery w sieci lokalnej są nie­ widoczne z Internetu. Można powiedzieć, że cała sieć jest reprezentowana przez router.

(Network Address Translation

-

Często routery zapewniają zestawianie bezpiecznych kanałów połączeń (VPN) poprzez Internet. Kanał taki jest szyfrowany i gwarantuje prywatność komunikacji. Aby umożli­ wić analizy statystyk łączy, obsługę błędów i awarii, jest uruchamiany na routerze pro­ tokół SNMP. Dodatkowym elementem poprawiającym bezpieczeństwo jest uruchomienie na routerze systemu wykrywania ataków (IDS). Jak widać, w ciągu ostatnich lat znacz­ nie zwiększyły się zarówno zadania spełniane przez router, jak i wymagania użytkow­ ników tych urządzeń. Ze względów bezpieczeństwa części z tych funkcji (firewall, IDS) nie zaleca się uruchamiać na routerze, a na oddzielnym fizycznie urządzeniu. Jednak z powodów ekonomicznych (koszt dodatkowych urządzeń lub komputerów) często zalecenia te nie są stosowane. Szerzej poruszę te tematy w rozdziale dotyczącym bez­ pieczeństwa sieci. Przy uruchamianiu dostępu do Internetu dla swoj ej sieci staniesz przed problemem wyboru routera. Jeśli ma to być urządzenie j ak najtańsze i zapewniaj ące dużą elastycz­ ność, dobrym rozwiązaniem j est komputer klasy PC z systemem Linux (lub BSD). W takim przypadku należy zwrócić uwagę na ilość pamięci takiego komputera i szyb­ kość j ego procesora. Szybkość i rozmiar dysku twardego nie jest w tym przypadku waż­ nym parametrem, chyba że planujesz uruchamiać równocześnie system IDS. Warto rów­ nież zainwestować w dobrą, firmową płytę główną i firmowe karty sieciowe, najlepiej z przeznaczeniem do serwerów. Zapewni to stabilność pracy maszyny. Oczywistym zagadnieniem jest zapewnienie zasilania awaryjnego - zakup UPS-u. Nie będę tutaj omawiał konkretnych rozwiązań i modeli, ponieważ w wersj i książkowej taki ranking zbyt szybko by się zdezaktualizował.

216

Sieci komputerowe. Kompendium

Zakup routera sprzętowego najczęściej jest podyktowany wymaganą dużą wydajno­ ścią takiego urządzenia. Dokonując wyboru modelu i firmy należy dokładnie rozwa­ żyć przyszły rozwój sieci i przewidzieć możliwości rozbudowy takiego routera. Naj­ bardziej znaną firmą produkującą routery sprzętowe jest Cisco http://www. cisco. com, poza tym większość firm zajmujących się sprzętem do sieci komputerowych ma w swojej ofercie routery. Należy pamiętać, że czasem spotyka się rozwiązania routerów sprzęto­ wych opartych na systemach Linux i BSD, działających na architekturze PC zamkniętej po prostu w ładnej obudowie. W przypadku wyboru takiego rozwiązania należy jeszcze raz rozważyć wykorzystanie zwykłego komputera PC i samodzielnie skonfigurowanego systemu operacyjnego. -

Rozdzi ał 6 .

Warstwa transportowa Protokoły pracujące w warstwie transportowej modelu TCP/IP zapewniają dostarczenie danych do konkretnych aplikacji. Aplikacje najczęściej stosują inny format i rozmiar infonnacji niż przenoszona przez sieć w datagramach IP. Zadaniem protokołów warstwy transportowej jest dostarczenie danych w pożądanej kolejności i formie umożliwiającej aplikacji skorzystanie z nich. Protokół IP zapewnia jedynie dostarczenie danych do kom­ putera, a przecież na każdym komputerze może pracować wiele procesów (programów, demonów, usług, serwisów sieciowych) korzystających jednocześnie z transmisji IP. Protokoły warstwy transportowej mają za zadanie zadbać o to, aby dane dotarły do ocze­ kującego na nie programu.

6.1. Port, gniazdo Zadaniem protokołów warstwy transportowej jest rozdzielenie informacji nadchodzą­ cych z warstwy Internetu i dostarczenie ich do odpowiednich procesów pracujących w warstwie aplikacji. Identyfikacja przynależności danej transmisji do konkretnego pro­ cesu odbywa się na podstawie numeru portu. Numer portu jest liczbą 16-bitową zwią­ zaną z procesem komunikującym się w sieci. Na przykład serwer WWW , aby odbie­ rać zapytania o strony i wysyłać odpowiedzi, rezerwuje sobie port o numerze 80. Jeśli więc jakiś komputer w Internecie wyśle zapytanie o stronę WWW, będzie ono zaadre­ sowane numerem portu 80 i zostanie skierowane do serwera WWW . Aby transmitować lub odbierać dane poprzez IP, proces rezerwuje sobie taką liczbę i w ten sposób uzyskuje dostęp do sieci. Każda transmisja w sieci Internet jest identyfikowana za pomocą kilku liczb. Po pierwsze, jest to adres IP komputera wysyłającego dane, czyli np. 62.2 1 1 .243.226, oraz numer portu na tym komputerze, z którego nadaje proces transmitujący. Może to być np. 80 (czyli serwer WWW) . W tym momencie mamy już liczby identyfikujące transmisję z jednej strony: 62.2 1 1 .243.226.80. Połączenie numeru IP komputera i portu, na któ1ym odbywa się komunikacja, nazywamy gniazdem (socket). Podobnie komputer odbierający dane ma swój numer IP: 2 1 6.239.3 3 . 1 0 1 oraz port, na którym proces z nim skojarzony odbiera dane, np. 600 1 . Mamy już zatem dwa gniazda jednoznacznie definiujące w danej chwili tę transmisję w całym Internecie; można to zapisać w ten sposób:

218

Sieci komputerowe. Kompendium

62 . 21 1 . 243 . 226 . 80

216 . 239 . 33 . 10 1 . 6001

Istnieje kilka zasad przyznawania numerów portów w systemach sieciowych. Jak już napisałem, numer portu j est liczbą 1 6-bitową, czyli może przyj mować wartości od O do 65 535. Jednak zakres od O do 1 024 jest zarezerwowany dla tzw . dobrze znanych portów (well-known port number). Zakres ten jest definiowany przez organizację IANA, a z aktualną listą można zapoznać się pod adresem: http://www. iana. org/assignments/ port-numbers. W tym zakresie rezydują takie usługi warstwy aplikacji, jak WWW, FTP, telnet. Lista dobrze znanych portów znajduje się w systemach uniksowych w pliku /etc/services. Wygląda ona mniej więcej tak, jak podana dalej - pozostawiłem naj­ ważniejsze usługi. Listing 6.1. Plik /etclservices - nume1y usług (portów) sieciowych

echo echo ftp-data ftp-data ftp ftp ssh ssh tel net tel net smtp t i me t i me who i s doma i n doma i n bootps bootps bootpc bootpc tftp fi nger

ltNIW ltNIW pop3 pop3 a uth nntp ntp ntp netbi os-ns netbi os - n s netbi os -dgm netbi os -dgm netbi os -ssn netbios- ssn i map2 i map2 snmp snmp-trap #

7 /tcp 7 / udp 20/tcp 20/udp 2 1/tcp 2 1/udp 22/tcp 22/udp 23/tcp 23/udp 25/tcp 37/tcp 37/udp 43/tcp 53/tcp 53/udp 67/tcp 67/udp 68/tcp 68/udp 69/udp 79/tcp 80/tcp 80/udp 110/tcp 110/udp 1 13/tcp 1 19/tcp 123/tcp 123/udp 137/tcp 137 / udp 138/tcp 138/udp 139/tcp 139/udp 143/tcp 143/udp 161/udp 162/udp

# # # # # #

Fi l e Transfer [Defaul t Data] F i l e Transfer [Defaul t Data] Fi l e Transfer [Control ] Fi l e Transfer [Control ] Secure Shel l Log i n Secure Shel l Logi n

mai l ti mserver timserver nicname # name-damai n server nameserver nameserver # 800TP server # 80DTP cl i ent

http

# Worl dWi deWeb HTTP # HyperText Transfer Protacol # POP versi on 3 tap i dent authenti cat i on # USENET News Transfer Pratacol # Network Time Protocol # NET8IOS Name Servi ce # NETBIOS Datagram Serv i ce # NETBIOS ses s i on servi ce # I nterim Ma i l Access Prato v2 snmptrap

# S i mpl e Net Mgmt Prato # Traps for SNMP

219

Rozdział 6. + Warstwa transportowa

# UNIX spec i fi c # sys l og pri nter ta l k uucp

servi ces 514/udp 515/tcp 517/udp 540/tcp

spool er

# l i ne pri nter spool er

uucpd

# uucp daemon

W następnym rozdziale omówię dokładniej część z tych usług. Numer portu występuje razem z protokołem transportowym ze względu na możliwość wykorzystania tego samego portu przez dwa protokoły. Powyżej numeru 256 występują usługi charakterystyczne dla systemów uniksowych. Nawiązując połączenie proces na komputerze lokalnym musi zarezerwować sobie port o numerze powyżej 1 024 z uwagi na opisaną wcześniej rezer­ wację tego zakresu. W systemach Linux zakres portów poniżej 1 024 jest przeznaczony dla użytkownika root. Zakres ten często nazywa się portami niskimi, a pozostałe portami wysokimi. Wynikają stąd różne problemy związane z bezpieczeństwem, ponie­ waż serwery sieciowe w systemach linuksowych, aby przydzielić sobie niski port, muszą pracować z uprawnieniami roota. W przypadku pojawienia się błędu w oprogramowaniu takiego serwera włamywacz uzyskuje dostęp do systemu na prawach użytkownika root. Z rezerwacji niskich portów wynika jeszcze jedna właściwość. Jeśli połączenie nawią­ zuje zwykły użytkownik, to nie ma on dostępu do zakresu portów 1 - 1 023, czyli będzie musiał połączyć się z portu z zakresu 1024 - 65535. Większość standardowych połączeń odbywa się z wysokich portów na niskie.

6.2. Protokół UDP Protokół pakietów użytkownika UDP ( User Datagram Protocol) wykonuje usługę bez­ połączeniowego dostarczania datagramów, tzn. nie ustanawia w żaden sposób połączenia i nie sprawdza gotowości odległego komputera do odebrania przesyłanych danych ani poprawności ich dostarczenia. Po prostu wysyła paczkę danych i nie sprawdza w żaden sposób, czy dotarły do celu. Dzięki takiemu uproszczeniu funkcji zmniejszona została ilość przesyłanych informacji kontrolnych, co zwiększa efektywność tego protokołu. Zapewnia on aplikacjom bezpośredni dostęp do usług rozsyłania datagramów przy wyko­ rzystaniu minimalnego nakładu środków. Jednostką przesyłanych danych dla protokołu UDP j est pakiet (rysunek 6.1). Bity

o ' " -

-

Port źródłowy '

Długość

16 Port przeznaczenia __ ,

'

-

31

Suma kontrolna

DANE .

Rysunek 6.1. Budowa pakietu UDP

Pierwsze dwa bajty ( 1 6 bitów) nagłówka zawierają adres portu źródłowego (source port), następne dwa - adres portu docelowego (destination port) pakietu UDP.

220

Sieci komputerowe. Kompendium

Pole długość (length - 1 6 bitów) zawiera całkowitą długość pakietu (nagłówek i dane) w bajtach. Pole suma kontrolna (checksum) jest tworzone na podstawie nagłówka i danych pakietu. Protokół UDP jest dobrym rozwiązaniem, jeżeli ilość przesyłanych danych w poszcze­ gólnych pakietach jest niewielka. W tym przypadku obciążenie wynikające z dodania informacji dotyczących kontroli poprawności połączenia mogłoby stać się porówny­ walne z ilością przesyłanych informacji. Ponadto niektóre aplikacje same dbają o kon­ trolę poprawności transmisji i wykorzystywanie do ich transmisji protokołu połączenio­ wego byłoby dublowaniem tych samych funkcji.

6.3. Protokół TCP Protokół kontroli transmisji TCP (Transmission Control Protocol) j est protokołem niezawodnym i połączeniowym, działającym na strumieniach bajtów. Oznacza to, że sprawdza on, czy dane zostały dostarczone przez sieć poprawnie i w określonej kolejno­ ści. Dane dostarczane przez ten protokół mogą być traktowane jak stJ.umień. Jednostką danych przesyłanych danych dla protokołu TCP jest segment (rysunek 6.2).

r::.-0 1

r

2 5

6

L_

16

11 2

18

Port źródłowy

120

124



Przes.

I

Zarezerw.

· ·----

12 8

31

Port przeznaczeni a

Numer kolejny

3

4

bity

'

Numer potwierdzeni a

I

'

Flagi

Wskaźnik pilności

Opcj e

7

Nagfówek

'

Okno

Suma kontrolna

DANE .

'

"'

I

lt

TCP

Uzupełnienie

Rysunek 6.2. Budowa segmentu TCP

Numer kolejny [32 bity] - (Sequence number); numer kolejny pierwszego bajtu danych w tym segmencie. Jeśli flaga SYN jest ustawiona (podczas nawiązywania połączenia), to wartość w tym polu jest inicjującym numerem kolejnym (ISN - Jnitial Sequence Number), od którego rozpocznie się numeracja bajtów w całym połączeniu. Pierwszy bajt danych przesyłanych w połączeniu ma numer równy ISN+ 1 . Numer potwierdzenia [32 bity] - (Ack:nowledgment number); jeśli jest ustawiona flaga ACK, pole to zawiera wartość następnego numeru kolejnego, który nadawca spo­ dziewa się otrzymać. Jest on jednocześnie potwierdzeniem poprawnego odebrania bajtów

Rozdział 6. + Warstwa transportowa

221

o numerach kolejnych mniejszych od zawartego w tym polu. Infonnuje on odbiorcę segmentu, że do nadawcy dotarły już (zostały poprawnie odebrane) bajty do tego numeru. Gdy połączenie zostanie już ustalone, wartość ta jest zawsze wysyłana. Przesunięcie [4 bity] - (Data offeet); liczba 32-bitowych słów w nagłówku TCP. Wska­ zuje początek danych. Zarezerwowane [6 bitów] - (Reserved); zarezerwowane do przyszłego wykorzystania, musi mieć wartość zero. Flagi [6 bitów] - (Flags); kolejne bity oznaczają: URG - oznaczenia pola pilnego wskaźnika, ACK - oznaczenia pola potwierdzenia, PSH - funkcja przepychania (wymuszanie wysłania segmentu), RST - zresetuj połączenie (natychmiastowe zakończenie), SYN - ustawiona podczas nawiązywania połączenia oznacza, że w polu Numer kolejny umieszczony jest ISN; używana do synchronizacji numerów kolejnych podczas nawiązywania połączenia, FIN - koniec połączenia.

Okno [16 bitów] - ( Window); liczba bajtów danych, które nadawca zgodzi się przyjąć. Pole to służy do sterowania przepływem danych. Okno o wartości zero infonnuje nadawcę, że powinien wstrzymać transmisję, dopóki nie otrzyma segmentu z inną wartością w tym polu. Suma kontrolna [ 1 6 bitów] - (Checksum); jest sumą kontrolną nagłówka i danych. Wskaźnik pilności [ 1 6 bitów] - (Urgent pointer); zawiera numer kolejny bajtu nastę­ pującego po „pilnych danych". Pole to jest używane jedynie wówczas, gdy jest ustawiona flaga URG. Opcje [O 44 bajtów] (Options); mają długość będącą wielokrotnością 8 bitów. Wszystkie opcje są zawarte w sumie kontrolnej . Ciąg opcji kończy się zawsze polem o nazwie End ofoption list. -

-

Pola opcji opisane zostały (podane za http://www.networksorcery.com/enp/protocol/ tcp.htrn) w tabeli 6. 1 . Uzupełnienie ścią 32 bitów.

-

(Padding); uzupełnia zerami opcje do długości będącej wielokrotno­

Segment TCP może mieć maksymalnie długość 65 535 bajtów, ale zwykle jest ona o wiele mniejsza. Przykładowo Ethernet może przenieść jedynie 1 500 bajtów, FDDI maksymalnie 4472 bajty danych, a dla sieci Token Ring długość ta zmienia się w zależ­ ności od szybkości - dla 4 Mb/s wynosi 4472. Aby wynegocjować długość segmentu, protokół TCP używa jednej ze swoich opcji Maximum Segment Size. -

222

Sieci komputerowe. Kompendium

Tabela 6.1. Opcje segmentu TCP Rodzaj

Długość

o

Opis

RFC

End ofoption list

RFC 793

No operation

RFC 793

2

4

Maximum Segment Size

RFC 793

3

3

Window scalefactor

RFC 1072, RFC 1 323

1

4 5

2 zmienna

SA CK permitted

RFC 20 1 8

SACK

RFC 2018, RFC 2883

6

6

Echo

RFC 1 072

7

6

Echo reply

RFC 1072

8

10

Timestamp

RFC 1 323

9

2

Partia! Order Connection Permitted

RFC 1 693

10

3

Partia! Order Service Profile

RFC 1 693

11

6

CC, Connection Count

RFC 1644

12

6

CC.NEW

RFC 1 644

13

6

CC.ECHO

RFC 1 644

14

3

TCP Alternate Checksum Request

RFC 1 146

TCP Alternate Checksum Data

RFC 1 1 46

15

zmienna

16

Skeeter

17

Bubba

18

3

19

18

Trailer Checksum Option MD 5 signature

20

SCPS Capabilities

21

Selective Negative Acknowledgements

22

Record Boundaries

23

Corruption experienced

24

SNAP

RFC 2385

25 26

TCP Compression Fi/ter

Protokół TCP w celu zapewnienia niezawodności przesyłania danych wykorzystuj e mechanizm potwierdzenia z retransmisją (Positive Acknowledgment with Re-transmi­ ssion). Dane są przesyłane dopóty, dopóki system wysyłający nie otrzyma potwierdzenia, że dane przeszły bezbłędnie. Każdy segment TCP zawiera sumę kontrolną wykorzysty­ waną przez odbiorcę do sprawdzenia poprawności przesłanych danych. Jeżeli segment danych został odebrany bezbłędnie, wysyłane jest potwierdzenie odebrania danych. Jeżeli segment jest uszkodzony, odbiorca nie wysyła potwierdzenia. Po pewnym czasie nadawca retransmituje segment, dla którego nie dotarło do niego potwierdzenie. Potwierdzenie zawarte jest w polu Numer potwierdzenia.

Rozdział 6. + Warstwa transportowa

223

Połączenie jest nawiązywane poprzez przesłanie komunikatów kontrolnych, tzw.

shake. O tym,

hand­

czy dany segment jest kontrolny, świadczy ustawienie bitu SYN w polu

flagi. TCP stosuje potwierdzenie trójpoziomowe:

1. Host A, nawiązujący połączenie, wysyła do hosta B segment z ustawionym bitem SYN. W segmencie tym podany jest inicjujący Numer kolejny (ISN) danych, od którego rozpocznie numerowanie wysyłanych przez siebie danych host A.

2. Host B odpowiada segmentem z ustawionymi bitami ACK (potwierdzenia) i SYN (synchronizacja), potwierdzając odebranie poprzedniego segmentu. W polu Numer kolejny podaj e, j aki będzie początkowy (inicjuj ący) numer kolejny danych (ISN), od którego rozpocznie numerowanie wysyłanych przez siebie danych. W polu

Numer potwierdzenia znaj duje

się numer kolejny

otrzymanych od hosta A w poprzednim segmencie danych.

3. Host A wysyła segment potwierdzaj ący odbiór segmentu od B (ustawiony bit ACK) i zawierający pierwsze przesyłane dane. W polu Numer potwierdzenia znajduje się numer kolejny otrzymanych od hosta B w poprzednim segmencie danych. Po zakończeniu transmisji danych hosty powinny wymienić segmenty potwierdze­ nia z ustawionym bitem FIN (koniec danych), co powoduje zamknięcie połączenia między nimi. Ponieważ dane dostarczane przez TCP są traktowane jako

strumień, musi on dbać

o ich kolejność. Nie jest istotne, od j akiej liczby systemy zaczną numerację danych; może być ona dowolna i dlatego wartości te są wymieniane pomiędzy hostami podczas

Numer kolejny. początkowy numer sekwencji, czasem inicjujący numer kolejny (lnitial Sequence Numbe) ISN. Bajtom danych nadawane są numery, począw­ szy od ISN+ 1 .

nawiązywania połączenia (przy ustawionych bitach SYN) w polach Liczby te określa się mianem

Segmenty z ustawionym bitem potwierdzenia ACK pełnią dwie funkcje: potwierdzają otrzymanie danych i sterują ich przepływem. Standard TCP nie wymaga potwierdza­ nia każdego segmentu danych. Segment z ustawionym bitem ACK potwierdza odbiór wszystkich danych od początku transmisji. Wartość w polu numer potwierdzenia jest równa numerowi kolejnemu prawidłowo odebranych danych w bajtach.

tcpdump tcpdump to polecenie systemu Linux służące do wyświetlania nagłówków segmentów TCP pojawiających się na wybranym przez nas interfejsie sieciowym. Daje nam możli­ wość śledzenia ruchu przechodzącego przez naszą kartę sieciową. Jest to bardzo przydatne polecenie, a dzięki temu, że zostało zaimplementowane w większości systemów opera­ cyjnych (w Windows nie występuje), zyskujemy potężne narzędzie do rozwiązywania. Ponieważ opis tego polecenia w manuału Linuksa ma

1 204 wiersze, postaram się opisać

jedynie jego najczęściej używane przełączniki. Jego składnia ma postać:

# tcpdump

·-

[

przełączni k J [ wyrażeni e J

224

Sieci komputerowe. Kompendium

Uważam, że należy uczyć się korzystania z podstawowych narzędzi dostarczanych z systemem . Często zdarza się, że administrator musi zasiąść do systemu, którego sam nie konfigurował, lub właśnie postawionego bez zainstalowanych jego ulubio­ nych narzędzi. Wtedy bardzo przydaje się dobra znajomość podstawowych poleceń systemowych . Oczywiście, po jakimś czasie każdy tworzy sobie bibliotekę osobiście wybranych programów narzędziowyc h , nie zawsze jednak są one „ pod ręką" .

Początkowy krzyżyk (hasz hash) oznacza, że polecenie musi być wydane przez użyt­ kownika root. Przełącznik i wyrażenie są zawarte w nawiasach kwadratowych, czyli nie są wymagane. Polecenie wydane bez parametrów rozpoczyna nasłuch na pierwszym interfejsie w systemie. Poniżej przedstawię najczęściej używane przełączniki tego pole­ cenia i ich znaczenie: -

- i i nterfejs ogranicz nasłuchiwanie do wybranego interfejsu, przykład: tcpdump - i ethl -

-n pozostaw adresy i numery portów w formie numerów, nie zmieniaj ich na nazwy. -

-w pl i k zapisz pakiety do pliku, zamiast wyświetlać na ekran, przykład: tcpdump -w / root/ zapi s_pa k i etow . txt -

- r pl i k odczytaj pakiety z pliku zapisanego przez polecenie z opcj ą -w. Jeśli w miejsce pl i k wstawimy „-", polecenie będzie odczytywało dane ze standardowego wejścia, przykład: tcpdump -r / root/zapi s_pak i etow . txt -

-e wypisz nagłówek warstwy dostępu do sieci czterowarstwowego modelu protokołu TCP/IP. Najczęściej zobaczymy zawartość nagłówka ramki ethemetowej . -

-S

-

podawaj bezwzględne wartości zawarte w polu Numer kolejny.

W przypadku braku tego przełącznika polecenie j edynie w pierwszym

odczytanym nagłówku podaje dokładny Numer kolejny, a pozostałe wartości tego pola podaje względem pierwszego nagłówka. Jest to wygodniej sze do analizy, czasem jednak zależy nam na wyświetleniu rzeczywistych wartości.

-t

-

nie wypisuj czasu poj awienia się segmentu na początku każdego wiersza.

-V

-vv - vv v z a każdym dodaniem literki v w opcj i zwiększa się liczba i szczegółowość wyświetlanych infmmacji dotyczących nagłówków. -

-x

-

wypisz zawartość każdego nagłówka w systemie szesnastkowym.

-X

-

gdy włączone -x, wypisz równocześnie nagłówki w normalnym trybie.

Pole wyrażenie służy do selekcji segmentów TCP, które mają być wybierane do wyświe­ tlenia przez polecenie. Oznacza to, że za jego pomocą możemy filtrować dane wyświe­ tlane przez polecenie tcpdump. Jeśli nie zostało zdefiniowane wyrażenie, wczytywane są wszystkie segmenty. Dalej przedstawię kilka przykładów użycia wyrażeń wraz z opisem działania i możliwości zmian. Po dokładniejsze dane odsyłam do manualu systemowego.

Rozdział 6. + Warstwa transportowa

225

Przed każdym z tych wyrażeń można zastosować operator not, aby wyświetlić wszystkie segmenty nie spełniające wymagań; wyrażenia można łączyć za pomocą operatorów logicznych and i or. Składnia wyrażeń: dst host komputerA - wyświetla pakiety skierowane do komputera komputerA, który może być podany zarówno za pomocą numeru IP, jalc i nazwy domenowej. s rc host komputerA - wyświetla pakiety pochodzące od hosta komputerA. host komputerA - wyświetla pakiety, j eśli pochodzą od komputerA lub j eśli są skierowane do komputerA. . i p host komputerA - wyświetla tylko datagramy IP dotyczące hosta komputerA. ether dst eth_komputerA - wyświetla pakiety skierowane do hosta o adresie MAC (adresie sprzętowym, adresie ethemetowym) eth_komputerA.. ether s re eth komputerA - wyświetla pakiety skierowane do hosta o adresie _

MAC eth_komputerA .

ether host eth_komputerA - wyświetla pakiety dotyczące hosta o adresie MAC eth_)wmputerA. dst net networkA s rc net networkA net networkA - j eśli interesuj e nas cała sieć, używamy podanej składni. Kierunek pakietów określany j est podobnie jak w poprzednich wyrażeniach, przykład: tcpdump src net 212 . 51 . 192 . 0 / 24 dst port portA s rc port portA port portA - jeśli interesuje nas ruch dotyczący konkretnego portu, możemy użyć tego wyrażenia. Zamiast numeru portu możemy użyć nazwy usługi zawartej w pliku /etc/services. l es s długość - wybiera pakiety mniejsze niż ilość bajtów podana w zmiennej długość lub jej równe. greater długość - wybiera pakiety większe niż ilość bajtów podana w zmiennej długość lub jej równe. ether broadcast

-

wyłuskuje ethemetowe ramki rozgłoszeniowe.

i p broadcast - wyłuskuje rozgłoszeniowe datagramy IP. ip tcp udp i cmp a rp rarp - zostaną wybrane jedynie datagramy IP przenoszące dany protokół.

226

Sieci komputerowe. Kompendium

v l an [vl an_i d ] - wyłuskuje jedynie ramki spełniające normę IEEE 802. lQ. Jeśli podamy v l an_i d, zostaną wyświetlone jedynie ramki należące do danego VLAN-u. Dalej podam kilka przykładów użycia polecenia tcpdump, z wykorzystaniem operatorów logicznych. tcpdump host 192 . 168 . 1 . 2 and \ ( www . googl e . com or 192 . 168 . 1 . 8 \ ) - ponieważ znaki nawiasów są operatorami, aby zostały użyte jako ciąg tekstowy, należy je poprzedzić znakiem \ . Zapis ten wyświetli cały ruch pomiędzy hostem 1 92. 1 68 . l .2 i www.google.com oraz ruch pomiędzy hostem 1 92. 1 68. l .2 i 1 92. 1 68. 1 .8. tcpdump i p host 192 . 168 . 1 . 2 and not www . googl e . com - wyświetla ruch dotyczący hosta 1 92 . 1 68 . 1 .2, ale z pominięciem ruchu pomiędzy nim a www.google.com. tcpdump ' host 192 . 168 . 1 . 2 and ( port ftp or ftp- data ) ' - aby nie używać \, cały opis został ujęty w pojedyncze cudzysłowy, polecam używanie tej składni ze względu na jej prostotę. Polecenie to wyświetli nam ruch dotyczący hosta 1 92. 1 68. 1 .2 oraz portów ftp = 2 1 i ftp-data = 20 (nazwy portów są zdefiniowane w pliku /etc/services). Omówię poniżej przebieg transmisji na podstawie wyniku działania programu tcpdump. Wydajemy polecenie: # tcpdump -t -S - n

Użytkownik komputera A o numerze IP: 1 92. 168. 1 .2 chce pobrać stronę WWW z ser­ wera B o numerze IP: 2 1 3 . 1 80 . 1 30.200. Oznacza to, że powinien nawiązać połączenie protokołem TCP z wysokiego portu na port 80 serwera, ponieważ port ten jest zarezer­ wowany dla protokołu HTTP. 192 . 168 . 1 . 2 . 12 1 1 > 213 . 180 . 130 . 200 . 80 : S 2795005096 : 2795005096 ( 0 ) wi n 16384 ( OF )

Host A łączy się z portu 1 2 1 1 i wysyła segment z ustawioną flagą SYN (literka S w powyższym zapisie). Pole Numer kolejny (znaj duj e się w nim ISN) ma wartość 2 795 005 096. W zapisie 2795005096:2795005096(0) pierwszą liczbąjest wartość pola Numer kolejny. Druga liczba (po dwukropku) ma wartość o jeden większą niż numer kolejny ostatniego bajtu w polu danych. W nawiasie jest podana całkowita długość danych. Ponieważ nie było danych w tym segmencie, długość jest zerowa, a liczby przedzielone dwukropkiem są takie same. Pole Numer potwierdzenia nie gra roli przy pierwszym transmitowanym segmencie - po prostu nie było żadnych wcześniej przetransmitowanych danych, które można by potwierdzać. Rozmiar okna został ustawiony przez host A na 1 6 3 84 bajtów. W segmencie znajdowały się następujące opcje: , a datagram IP miał ustawioną flagę Don 't Fragment - (DF). 213 . 180 . 130 . 200 . 80 > 192 . 168 . 1 . 2 . 12 1 1 : s 237371367 4 : 2373713674 ( 0 ) ack 2795005097 wi n 65535

227

Rozdział 6. + Warstwa transportowa

Host B z portu 80 na port 1 2 1 1 wysyła segment z ustawionymi flagami SYN i ACK. Pole Numer kolejny (znaj duj e się w nim ISN dla hosta B) ma wartość 2 373 7 1 3 674, w polu Numer potwierdzenia znajduje się wartość 2 795 005 097. Jest to powiększona o jeden wartość numeru kolejnego odebranych w poprzednim segmencie od hosta A danych. Nadal nie zostały przesłane żadne dane. Rozmiar okna został ustawiony przez host B na 65 535 bajtów. W segmencie znajdowała się tylko j edna opcja: , a datagram IP nie miał ustawionej flagi Don 't Fragment. 192 . 168 . 1 . 2 . 12 1 1 > 213 . 180 . 130 . 200 . 80 :

ack 2373713675 wi n 17520 ( DF l

Host A wysyła segment z ustawioną flagą ACK i wartością pola Numer potwierdzenia 2 373 7 1 3 675. Segment ten potwierdza poprawne otrzymanie danych do numeru o jeden mniej szego niż wartość w polu Numer potwierdzenia. Ponieważ segment nie przenosił żadnych danych, nie występuj e wartość Numer kolejny. 192 . 168 . 1 . 2 . 1211 > 213. 180 . 130 . 200 . 80 : P 2795005097 : 2795005942 ( 845 ) ack 2373713675 wi n 17520 (DF) Po poprawnym procesie trójpoziomowego potwierdzenia (handshake) host A zaczyna wysyłać do serwera WWW treść swojego zapytania. Przesyła segment z ustawioną flagą PSH i długością pola danych równą 845 . Ponownie potwierdza w polu Numer potwierdzenia wartość 2 373 7 1 3 675. Dalej odbywa się już normalna komunikacja za pomocą protokołu TCP. 213 . 180 . 130 . 200 . 80 wi n 65535 213 . 180 . 130 . 200 . 80 wi n 65535 192 . 168 . 1 . 2 . 1211 > 213 . 180 . 130 . 200 . 80 wi n 65535 213 . 180 . 130 . 200 . 80 wi n 65535

> 192 . 168 . 1 . 2 . 1211 : P 237371367 5 : 2373714029( 354) ack 2795005942 > 192 . 168 . 1 . 2 . 121 1 :

2373714029 : 23737 15489( 1460 ) ack 2795005942

213 . 180 . 130 . 200 . 80 : > 192 . 168 . 1 . 2 . 1211 :

ack 23737 15489 wi n 17520 ( OF ) 2373715489 : 23737 16949 ( 1460 ) ack 2795005942

> 192 . 168 . 1 . 2 . 1211 :

2373716949 : 23737 18409( 1460) ack 2795005942

W pierwszym i drugim wierszu serwer B kontynuuj e przesyłanie strony WWW do klienta A. W wierszu trzecim klient odpowiada do serwera segmentem z ustawioną flagą ACK, potwierdzając przesłanie bajtów do numeru 2 373 7 1 5 489. Następnie serwer, mając potwierdzenie dostarczenia danych, kontynuuje proces wysyłania.

213 . 180 . 130 . 200 . 80 > 192 . 168 . 1 . 2 . 1211 : wi n 65535 192 . 168 . 1 . 2 . 12 1 1 > 213 . 180 . 130 . 200 . 80 : 213 . 180 . 130 . 200 . 80 > 192 . 168 . 1 . 2 . 1211 : wi n 65535 192 . 168 . 1 . 2 . 12 1 1 > 213 . 180 . 130 . 200 . 80 : 192 . 168 . 1 . 2 . 1212 > 213 . 180 . 130 . 1 10 . 80 : 1460 . nop . nop. sackDK> ( O F ) 213 . 180 . 130 . 110 . 80 > 192 . 168 . 1 . 2 . 1212 : wi n 32120 192 . 168 . 1 . 2 . 1212 > 213 . 180 . 130 . 1 10 . 80 : 192 . 168 . 1 . 2 . 1212 > 213 . 180 . 130 . 110 . 80 : wi n 17520 (DF) 213 . 180 . 130 . 110 . 80 > 192 . 168 . 1 . 2 . 1212 : 213 . 180 . 130 . 110 . 80 > 192 . 168 . 1 . 2 . 12 1 2 : wi n 32120 < DF )

2373718409 : 2373719869( 1460 ) ack 2795005942 ack 2373718409 wi n 17520 < DF J P 2373719869 : 2373719995 ( 126) ack 2795005942 ack 2373719995 wi n 17520 ( DF l S 2795345238 : 2795345238 ( 0 ) wi n 16384 192 . 168 . 1 . 2 . 1212 > wi n 17345 ( O F ) 213 . 180 . 130 . 1 1 0 . 80

> 192 . 168 . 1 . 2 . 1212 : F 1956154511 : 19561545 1 1 ( 0 ) ack 2795346053 213 . 180 . 130 . 110 . 80 : ack 1956154512 wi n 17345 ( O F ) 213 . 180 . 130 . 11 0 . 80 : F 2795346053 : 2795346053( 0 ) a c k 1956154512 > 192 . 168 . 1 . 2 . 1212 : . ack 2795346054 wi n 32120 ( OF )

Najciekawsze s ą dla nas cztery ostatnie wiersze. Przedstawiają one proces zakańczania połączenia. W czwartym wierszu od końca serwer B wysyła segment TCP z ustawioną flagą FIN infmmującą o zamiarze zakończenia połączenia i flagą ACK potwierdzającą poprzednio otrzymane dane. Komputer A odpowiada flagą ACK potwierdzającą otrzy­ manie segmentu z ustawioną flagą FIN. Następnie (w trzecim wierszu od końca) kom­ puter A sam wysyła segment z ustawioną flagą FIN do serwera. Informuje tym samym, że zgadza się na zakończenie połączenia. Otrzymanie tego segmentu zostaje potwierdzone w ostatnim wierszu za pomocą flagi ACK. W ten sposób kończy się połączenie TCP. 195 . 11 6 . 132 . 3 . 80 > 192 . 168 . 1 . 2 . 1052 : P 237462984 : 23746321 1 ( 22 7 ) ack 3941285880 wi n 6432 ( OF l 192 . 168 . 1 . 2 . 1052 > 195 . 116 . 132 . 3 . 80 : ack 237463211 wi n 17293 (OFl 192 . 168 . 1 . 2 . 1052 > 195 . 116 . 132 . 3 . 80 : R 3941285880 : 3941285880 ( 0 ) wi n O ( OF )

W podanych wierszach została przedstawiona j eszcze jedna metoda kończenia połą­ czenia. Jest to metoda natychmiastowa i polega na wysłaniu przez jeden z komuniku­ jących się hostów segmentu TCP z ustawioną flagą RST (litera R w ostatnim wierszu).

netstat netstat jest poleceniem mającym wielorakie zastosowanie; służy do wypisywania infor­ macji dotyczących stanu podsystemu sieciowego. Najciekawszym zastosowaniem tego polecenia jest wyświetlanie listy aktualnie wykorzystanych na komputerze lokalnym portów. Ponieważ polecenie to występuje również w systemie Windows, podam jego wersje dla obu systemów operacyjnych; zacznę jednak od Linuksa. # netstat -nap Acti ve I nternet connecti ons ( servers and establ i shed l Forei gn Address Proto Recv -Q Send-0 Local Address tcp O O 0 . 0 . 0 . 0 : 22 O.O.O.O:* tc p O O 111 . 111 . 111 . 111 : 1027 192 . 168 . 1 . 2 : 21 tcp O O 192 . 168 . 1 . 1 : 22 192 . 168 . 1 . 2 : 1606 tcp O 288 192 . 168 . 1 . 1 : 22 192 . 168 . 1 . 2 : 1316

State P IO/Program name LISTEN 145/sshd ESTABLISHEO 526/mc ESTABLISHED 507/sshd ESTABLISHEO 165/sshd

Acti ve U N I X domai n sockets ( servers and establ i shed l Prato RefCnt Fl ags Type I - Node PIO/Program name State uni x 4 [ J OGRAM 143 147/sysl ogd uni x 2 [ ] OGRAM 150 145/sshd 146 150/kl ogd uni x 2 [ J OGRAM

Path /dev/ l og

Polecenie to wyświetla adresy IP i porty w formie numerycznej (przełącznik - n), wszystkie porty (przełącznik - a) oraz pokazuje identyfikatory procesów (przełącznik p) W pierwszym wierszu jest opisana usługa ssh nasłuchująca (L I STEN) na porcie 22 na -

.

Rozdział 6. + Warstwa transportowa

229

wszystkich adresach IP (O.O.O.O). ID procesu sshd w systemie wynosi 145. Dmgi wiersz opisuje ustanowione połączenie FTP (port 2 1 ). Dwa kolejne wiersze opisują dwa usta­ nowione połączenia ssh do hosta lokalnego. Używam tutaj pojęcia gniazdko (socket); jest to stmktura logiczna systemów operacyjnych służąca do komunikacji między procesami (zarówno lokalnymi, jak i na komputerach zdalnych). Jednym z aspektów gniazdka jest gniazdko internetowe. W polskiej literaturze specjalistycznej pojęcia socket i gniazdko najczęściej są używane zamiennie. Ponieważ większość dokumentacji technicznej jest w języku angielskim oraz środowisko informatyków najczęściej używa wersji angiel­ skiej tego słowa, będę stosował nazwę socket zamiast polskiego słowa gniazdko. Znaczenie kolumn wyświetlanych przez polecenie:

Prato - protokół używany przez socket. Recv-Q - liczba bajtów nie skopiowanych przez program podłączony do tego socketu. Send -Q - liczba bajtów jeszcze nie potwierdzonych przez odległy host. Local Address

-

adres lokalny i numer portu.

Forei gn Address - adres odległego hosta i numer użytego portu. P I O/ Program name - ID procesu (możemy je podejrzeć za pomocą polecenia ps) oraz nazwa programu dołączonego do procesu. State - stan socketu. ESTABL I SHED

-

socket ma ustanowione połączenie

SYN_SENT został wysłany segment z flagą SYN. Socket aktywnie próbuje ustanowić połączenie. -

SYN_RECV został odebrany segment z ustawioną flaga SYN. Żądanie połączenia zostało odebrane z sieci. -

F I N_WAITl

-

socket jest zamykany i połączenie kończone.

F I N_WA IT2 - połączenie jest zamknięte i socket czeka na potwierdzenie z zamknięcia z odległego hosta. TIME_WAIT - socket oczekuje po zamknięciu na pakiety, które sąjeszcze w sieci. CLOSED - socket jest nie używany. CLOSE_WAIT - odległy host się wyłączył, oczekiwanie na zamknięcie socketu. LAST_ACK - odległy host się wyłączył i socket jest zamykany, oczekiwanie na potwierdzenie. L I STEN - socket nasłuchuje nadchodzących połączeń. CLOSING oba sockety zostały zamknięte, ale my nie mamy jeszcze wysłanych wszystkich danych. -

UNKNOWN

-

stan socketu jest nieznany.

Dalej zamieszczam schemat przechodzenia socketu pomiędzy różnymi stanami w sys­ temie Linux (rysunek 6.3).

230

Sieci komputerowe. Kompendium

Rysunek 6.3. Przechodzenie pomiędzy stanami socketu

CLOSED Passive open

Active open /SYN

Close

L I STEN

Close Send SYN

SYN/SYN+ACK

SYN_RECV

SYN+ACK ACK

Close/FIN

�_/'

I

IJ

SYN_SE NT

YN+ACK/ACK

FIN/ACK

Close/FIN

j

FI N_WAIT1

WAlrlJ

c LOSE_

,

Close/Fl

I

FIN WAIT2

TIM E_WAIT

Timeout

I

LAST_AC K

1

ACK

C LOSED

IJ



Podobnie stosuje się to polecenie w systemie Windows, który j ednak przełącznik - p obsługuje dopiero o d wersji XP : > netstat -na Aktywne połączen i a Protokół Adres l okal ny TCP 0 . 0 . 0 . 0 : 135 TCP 0 . 0 . 0 . 0 : 445 TCP o . o . o . o : 1025 TCP 0 . 0 . 0 . 0 : 1026 TCP 0 . 0 . 0 . 0 : 1300 TCP 0 . 0 . 0 . 0 : 1316 TCP 0 . 0 . 0 . 0 : 1606 TCP 127 . 0 . 0 . 1 : 1298 TCP 127 . 0 . 0 . 1 : 1298 TCP 127 . 0 . 0 . 1 : 1299 TCP 127 . 0 . 0 . 1 : 1299 127 . o . o . 1 : 1300 TCP TCP 192 . 168 . 1 . 2 : 139 TCP 192 . 168 . 1 . 2 : 1316

Obcy adres 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 127 . 0 . 0 . 1 : 1619 0.0.0.0:0 127 . o . o . 1 : 1300 127 . 0 . 0 . 1 : 1299 0.0.0.0:0 192 . 168 . 1 . 1 : 22

Stan NASŁUCHIWANI E NASŁUCHIWAN I E NASŁUCHIWANI E NASŁUCHIWAN I E NASŁUCHIWAN I E NASŁUCHIWANI E NASŁUCHIWANI E NASŁUCHIWANI E CZAS OCZEKIWAN IA NASŁUCHIWAN I E USTANOWIONO USTANOWIONO NASŁUCH IWANI E USTANOWIONO

231

Rozdział 6. + Warstwa transportowa

TCP UDP UDP UDP

192 . 168 . 1 . 2 : 1606 0 . 0 . 0 . 0 : 445 192 . 168 . 1 . 2 : 137 192 . 168 . 1 . 2 : 138

192 . 168 . 1 . 1 : 22

USTANOWIONO

Ponadto za pomocą polecenia net st at można wyświetlić tablicę routingu - składnia w Windows i Linux wygląda tak samo: netstat - r. Można również wyświetlić statystyki interfejsów sieciowych (tylko w Linuksie):

# netstat - i Kernel Interface tabl e I face MTU Met RX-OK RX - ERR RX- DRP RX-OVR ethO 1500 O 108665 O O O eth l 1500 O 14773 O O O 1o 16436 o 17 o o o

TX -OK TX- ERR TX-DRP TX -OVR 10383 O O O 15007 O O O 17 O O O

Flg BMRU BMRU LRU

Dodatkowo można obejrzeć statystyki protokołów IP, ICMP, TCP oraz UDP (w Win­ dows i Linuksie tak samo): # netstat -se Ip: 28377 total packets recei ved 20946 forwarded O i ncomi ng packets di scarded 4951 i ncomi ng packets del i vered 4260 requests sent out Icmp : 18 I CMP messages recei ved 16 i nput I CMP message fai l ed . I CMP i nput hi stogram: desti nati on unreachabl e : 17 echo repl i es : 1 19 I CMP messages sent O ICMP messages fai l ed I CMP output hi stogram: desti nati on unreachabl e : 19 Tcp : 9 act i ve connections openi ngs O passi ve connecti on openi ngs O fa i l ed connect i on attempts O connect i on resets recei ved 2 connecti ons establ i shed 4872 segments recei ved 4161 segments send out O segments retransmited O bad segments recei ved . O resets sent Udp : 76 packets recei ved 2 packets to unknown port recei ved . O packet recei ve errors 79 packets sent TcpExt : ArpFi l t e r : O 222 del ayed acks sent 40 packets di rectly queued to recvmsg prequeue .

.. . . ···

232

Sieci komputerowe. Kompendium

17 packets di rectl y recei ved from prequeue 641 packets header predi cted TCPPureAcks : 1669 TCPHPAcks : 123

Polecenia

netstat można również użyć w trybie ciągłym, co powoduj e wyświetlanie

żądanych przez nas danych co jakiś czas. W systemie Windows podajemy po prostu na końcu polecenia liczbę sekund, określając, jak często chcemy odświeżać wydruk. W sys­ temie Linux dodaj emy przełącznik

-c, co powoduje odświeżanie wydruku co sekundę;

nie mamy możliwości zdefiniowania odstępu czasowego. Jak widać, polecenie to może dostarczyć nam wielu różnorodnych informacj i na temat działania podsystemu sieciowego w naszym komputerze. Pomimo pewnej niewygody w użyciu ma też zalety; należy pamiętać, że jest zaimplementowane w zasadzie w każ­ dym systemie sieciowym.

Rozdzi ał 7 .

Usługi warstwy aplikacji Ostatnią (czwartą) warstwą modelu TCP/IP jest warstwa aplikacji. Jest to warstwa naj­ ważniejsza z punktu widzenia użytkownika, ponieważ zapewnia przekazywanie danych przesyłanych za pomocą wyżej omówionych protokołów (warstw niższych) w formie zrozumiałej dla aplikacji komunikującej się z człowiekiem. Warstwa ta zawiera w sobie różnorodne procesy (usługi), często określane mianem protokołów, ponieważ są ściśle zdefiniowanymi standardami wymiany informacji. Należy również wyjaśnić, że większość omówionych w tym rozdziale usług działa w architekturze klient-serwer. Oznacza to, że na odległym hoście musi być uruchomiony serwer danej usługi (program świadczący daną usługę). Na komputerze komunikującym się z nim musi zostać uruchomiony klient tej usługi, który dopiero nawiąże połączenie z odległym serwerem i umożliwi wykorzy­ stanie danego protokołu. W tym rozdziale przedstawię najważniej sze usługi warstwy aplikacji, niektóre z nich opiszę dokładniej z nastawieniem na sposób działania proto­ kołów i możliwości testowania poprawności ich działania. Podam również zasady, którymi należy się kierować, konfigurując bezpieczne i wydajne serwery poszczegól­ nych usług. Po dokładny opis konfiguracji tych serwerów odsyłam do dokumentacji, gdyż nawet pobieżne potraktowanie tematu znacznie przekroczyłoby ramy tej książki.

7.1. DNS Ponieważ zapamiętywanie adresów IP jest trudne dla człowieka, komputery dostępne w sieci są określane łatwymi do zapamiętania nazwami. Na samym początku istnienia sieci ARPANET wystarczała lista nazw kilkuset komputerów umieszczona w pliku tekstowym hosts. Liczba ta wzrosła niepomiernie, więc system został zmieniony na bardziej wydajny. Jest nim DNS (Domain Name System), system świadczący usługi zamieniania (rozwiązywania) nazwy komputera na jego adres IP. Nadal pozostałością po pierwotnym systemie jest plik hosts. W systemie Windows 2000 umieszczony jest w katalogu C: \ WINNT\system32\drivers\etc (lub innym, w zależności od miejsca insta­ lacji systemu), a w systemach uniksowych - w katalogu /etc/. Aby zapewnić szybsze rozwiązywanie nazwy na adres IP, możemy ręcznie uzupełnić ten plik. System opera­ cyjny najczęściej najpierw sprawdza wpisy dokonane w tym pliku, a nie znalazłszy ich, wysyła zapytanie do serwera świadczącego usługę DNS. Po dokonaniu ręcznych wpisów

234

Sieci komputerowe. Kompendium

dodane nazwy hostów będą wyszukiwane o wiele szybciej niż nazwy sprawdzane w DNS-ie. W pliku tym znajduje się jeden wpis, przyporządkowujący nazwę loca/host do numeru IP 127.0.0. 1 . 127 . 0 . 0 . 1 192 168 1 2 .

.

.

l oca l host serwer . fi rma . com . pl serwer

Ponadto jest tutaj przykład przyporządkowania do nazwy serwer oraz do nazwy ser­ wer . fi ma . com . pl adresu IP 192 . 168 . 1 . 2. Pozostałe pojawiające się w tym pliku wiersze zaczynaj ące się od znaku # są komentarzami. DNS jest jedną z najważniejszych usług warstwy aplikacji, często nieświadomie wyko­ rzystywaną przez użytkowników Internetu. Zapewnia odwzorowywanie nazw hostów na adresy IP. Przykładowo, to dzięki systemowi DNS i najbliższemu serwerowi tej usługi po wpisaniu w naszej przeglądarce WWW nazwy serwera: www. lodz.pl zosta­ niemy skierowani na adres IP: 2 1 2.5 1 . 1 92. 1 8 . Przestrzeń nazw w Internecie jest oparta na modelu drzewiastym (rysunek 7.1). Oczy­ wiście, aby było trudniej , drzewo jest odwrócone. Aby jeszcze bardziej sprawę utrudnić, pełną dokładną nazwę domenową FQDN (Fully Qualified Domain Name) zapisujemy od prawej do lewej , od najbardziej ogólnych domen do szczegółowych, aż po nazwę konkretnego komputera. Poszczególne nazwy rozdzielamy kropkami. Tworzenie nazwy zaczynamy od korzenia (root) oznaczanego kropką (.). Następnie są nazwy domen górnego poziomu, przyjmijmy pl. Potem pod-domeny, przykładowo lodz, a w końcu nazwa hosta www. Pełną taką nazwę moglibyśmy zapisać: www. lodz.pl Rysunek 7.1. Drzewiasta stniktura domen w Internecie

Jednak aby uprościć zapis, najczęściej pomijamy kropkę oznaczaj ącą korzeń, więc w efekcie otrzymujemy dobrze nam znany, typowy adres, który wpisujemy w przeglą­ darce WWW : wwłv. lodz.pl

Organizacją zajmującą się zarządzaniem przestrzenią nazw domenowych jest ICANN (The Internet Corporation for Assigned Names and Numbers). Domeny głównego po­ ziomu dzielą się na domeny organizacyjne i geograficzne. Domeny geograficzne są to dwuliterowe nazwy domen przyznane poszczególnym krajom, przykładowo:

Rozdział 7. • Usługi warstwy aplikacji

235

.pl - Polska, . us - Stany Zjednoczone, . uk - Wielka Brytania, . tw - Taiwan, . eu - Europa. Domeny organizacyjne są przyznawane w zależności od prowadzonej działalności:

. com - firmy komercyjne, . edu - instytucj e naukowe (rejestrator: http://www .nsi.com/), .gov - agencje rządowe USA, . mil - organizacj e woj skowe USA, . net - organizacje związane z siecią Internet, . int - międzynarodowe organizacje rządowe i pozarządowe, . org - pozostałe organizacje nie mieszczące się w tych ramach. W październiku 2000 roku zostało zaaprobowanych siedem nowych domen organiza­ cyjnych:

. info - do użytku ogólnego, . biz - dla biznesu, . aero - dla przemysłu lotniczego, . name - dla osób indywidualnych, .pro - dla profesjonalistów, .museum - dla muzeów, . coop - dla współpracy. Pod adresem http://www. icann.org/tlds/ znajdują się dokładniejsze informacje na temat tych domen, sposobów ich rejestracji i terminów umchomienia kolejnych hierarchii. Lista akredytowanych rejestratorów domen j est dostępna pod adresem: http://www.

ieann. orglregistrarslaccredited-list. html. Ważne adresy: + http://www. icann.org/ - organizacja zarządzająca nazwami internetowymi ,

+ http://www. iana.org/cctld/cctld-whois.htm - lista domen geograficznych

wraz z organizacjami nimi zarządzającymi ,

+ http://www.dns.pl - strona NASK-u ( N aukowej i Akademickiej Sieci

Komputerowej), organizacji zarządzającej domeną pl.

236

Sieci komputerowe. Kompendium

Ponadto ponieważ główne domeny organizacyjne na mocy tradycji należą do Stanów Zjednoczonych, poszczególne kraje tworzą w swoich domenach geograficznych pod­ domeny organizacyjne. W ten sposób adres: www.firma.com.pl będzie oznaczał serwer o nazwie www (najprawdopodobniej serwer protokołu HTTP) w domeniefirma. Domena firma znajduje się w domenie com przeznaczonej dla polskich pl organizacji komercyj­ nych (commercial). Przyjmijmy, że w domenie firma. com.pl znajdują się następujące hosty: sklep 1 , sklep2, sklep3 o pełnych nazwach domenowych sklep I .firma. com.pl, sklep2.firma. com.pl, sklep3.firma.com.pl. Zauważ, że hosty te nie muszą należeć do tej samej podsieci IP. Mogą np. być usytuowane w różnych miastach w Polsce i mieć różnych dostawców łączy internetowych, co wiąże się z przynależnością do różnych sieci IP.

Rejestrowanie własnej domeny Jeśli chcemy zarejestrować własną domenę, to najczęściej musimy podjąć decyzję, czy będzie to poddomena w hierarchii .pl czy . com. Dodatkowo dochodzi nam rozwa­ żenie nowych poddomen organizacyjnych opisanych w poprzednim podrozdziale. Wbrew pozorom rejestracja poddomeny .pl nie jest tańsza od domen globalnych; wynika to z monopolu organizacji NASK na zarządzanie domenąp/. Ponadto jest to proces silnie sformalizowany (wysyłanie faksu z podpisami i pieczęciami) i długotrwały (przy reje­ stracj i w NASK). Na stronach tej organizacji znajdziemy zasady rejestrowania domen obsługiwanych przez NASK.

Domeny funkcjonalne administrowane przez NASK aid.pl

miasta.pl

rei.pl

agro.pl

media.pl

sex.pl

atm.pl

mil.pl

shop.pl

auto.pl

net.pl

sklep.pl

biz.pl

nien1chomosci.pl

sos.pl

com.pl

nom.pl

szkola.pl

edu.pl

org.pl

targi.pl

gmina.pl

pe.pl

tm.pl

gsm.pl

powiat.pl

tourism.pl

info.pl

priv.pl

travel.pl

mail.pl

realestate.pl

turystyka.pl

Rozdział 7. + Usługi warstwy aplikacji

237

Domeny funkcjonalne administrowane przez inne instytucje Domena

Opis

Instytucja obsługująca

6bone.pl

Obsługa IPv6 w Polsce

ICM

art.pl

Kultura i sztuka - ICM

ICM

mbone.pl

Obsługa mbone'u w Polsce

ICM

med.pl

Medycyna i opieka zdrowotna

TASK

ngo.pl

Non Governmental Organizations

Fundacja Batorego

gov.pl

Instytucje rządowe i administracyjne

IPPT PAN

irc.pl

Koordynacja usługi IRC w Polsce

SGH Warszawa

usenet.pl

Koordynacja zarządzania USENET-em w Polsce

Politechnika Wrocławska

Ponadto na stronie http://www.dns.pl znajduje się lista polskich domen regionalnych, tworzonych najczęściej z nazw miast, np. warszawa.pl, lodz.pl. Dzięki uruchomieniu przez NASK obsługi protokołu EPP (Extensible Provisioning Protocol) możliwe było oddelegowanie rejestracji domen do innych podmiotów gospo­ darczych. Dzięki temu spadły ceny i wzrosła szybkość i prostota rejestracj i nowej do­ meny. Lista firm oferujących usługę rej estracji jest dostępna na stronach NASK. Pojawiła się również możliwość rejestracji domen z wykorzystaniem znaków narodowych. Nie jest to j ednak zmiana w systemie DNS, a dodatek do funkcjonalności przeglądarek inter­ netowych, które tłumaczą przykładowo „www .żółw.pl" na „www .xn--w-ugal v8h.pl" i taka właśnie domena jest rejestrowana w systemie DNS. Jeśli chcemy zarejestrować poddomenę domeny com, net lub org, powinniśmy sko­ rzystać z listy akredytowanych przez ICANN finn, podanej na stronie http://www.icann. org/registrars/accredited-list. html. Aby zarejestrować poddomenę w jednej z nowych domen organizacyjnych, należy na podanej powyżej stronie http://www. icann. org/tlds/ odnaleźć listę organizacji odpowiedzialnych za każdą z nich. Na stronach tych organi­ zacji jest dostępna lista firm świadczących usługi rejestracji poddomen. Możemy doko­ nać porównania cen i sposobu rejestracji, a następnie wybrać ofertę najbardziej nam odpowiadaj ącą. Najczęściej wystarczy wypełnienie wniosku na stronie WWW i do­ konanie zapłaty kartą. Po kilkunastu minutach domena powinna zostać uruchomiona. Dosyć ważnym aspektem rej estracji domeny organizacyjnej jest odległość serwerów DNS firmy świadczącej usługę od hostów naszych potencj alnych klientów. Należy najpierw określić, w jaki sposób i skąd będą się nasi klienci łączyli z Internetem, a następ­ nie sprawdzić j akość połączenia pomiędzy naszym potencjalnym klientem a serwerem DNS, zwracaj ąc uwagę na ilość routerów po drodze i obciążenie łącza w różnych po­ rach doby. Dodatkowo warto kilkakrotnie (o różnych porach) wysłać jakieś zapytanie do wybranego przez nas serwera, np. za pomocą polecenia di g, które zwraca czas powrotu zapytania. Możemy dzięki temu określić szybkość uzyskiwania odpowiedzi od serwera. W praktyce jedynie j edno zapytanie będzie musiało pokonać odległość do serwera D:NS domeny organizacyjnej , a następnie zadania przejmą już nasze serwery usług, j ednak oczekiwanie na rozpoczęcie ładowania strony WWW firmy może naszego klienta znudzić.

238

Sieci komputerowe. Kompendium

Ogólne informacje o serwerach DNS Serwer nazw najczęściej ma pełne informacj e o części całej przestrzeni nazw; część tę nazywamy

strefą.

Dane te pobiera z lokalnego pliku lub z innego serwera nazw, co

opisujemy mówiąc, że serwer ma

godnym (autorytarnym)

autoryzację (authority)

dla strefy lub że jest

wiary­

serwerem dla tej strefy. Ponieważ baza danych posiadaj ąca

pl byłaby ogromna i praktycznie delegację strefy. W ten sposób przecho­ wywanie i uzupełnianie informacji o hostach w domenie firma.com.pl zostaje przeka­ zane serwerowi nazw należącemu do tej firmy. Serwer zarządzaj ący domeną com.pl zawiera jedynie wpis informuj ący o adresie IP serwera nazw domeny firma. com.pl. wpisy dotyczące wszystkich hostów w domenie

niemożliwa do zarządzania, stosuj e się tzw.

Wszelkie pytania o poszczególne komputery w tej domenie będą skierowane do tego serwera. Dzięki temu baza nazw domenowych Internetu zachowuje pewien rozproszony charakter, tak charakterystyczny dla tej sieci, której korzenie sięgaj ą sieci woj skowej , z założenia odpornej na duże uszkodzenia struktury. Istnieją dwa rodzaj e serwerów

podstawowy serwer główny (primary masters) i drugorzędny serwer główny (secondary masters). Drugorzędny serwer czasem nazywany jest zapasowym serwerem.

DNS :

Dodatkowo czasem uruchamia się tzw. serwery tymczasowe, buforuj ące przechodzące przez nie dane i odciążające w ten sposób serwery podstawowy i drugorzędny. Oczywi­ ście serwerów podstawowych może być więcej

niż dwa, jednak formalnie dla domeny są

wymagane przynajmniej dwa serwery podstawowe. Pierwszy z nich czyta dane strefy z lokalnego pliku. Drugi pobiera informacj ę dotyczącą strefy z serwera podstawowego; operację taką nazywamy

transferem strefy (zone transfer).

Przy rej estracji domeny

jest wymagane podanie dwóch adresów IP naszych serwerów DNS. Ponieważ przestrzeń nazw ma strukturę drzewiastą, gdzieś się musi zbiegać w pień.

głównych serwerów (root servers) DNS dla Internetu. IP serwerów zarządzają­ cych domenami głównego poziomu (np. edu, com, pl). Wszystkie pozostałe serwery DNS muszą posiadać w swoj ej konfiguracj i plik z adresami IP tych serwerów. Jest to Takim pniem jest trzynaście

Serwery te mają obowiązek udostępniać informacje o adresach

najsłabszy punkt całego systemu. Gdyby nagle wszystkie główne serwery DNS zostały uszkodzone, korzystanie z Internetu dla większości użytkowników stałoby się niemoż­ liwe. Jeszcze kilkanaście lat temu ludzie często zamiast nazw interesujących ich serwerów mieli zapisane ich numery IP. Ze względu na wygodę systemu DNS rozpowszechnił się on na tyle szeroko, że jego uszkodzenie byłoby katastrofalne w skutkach.

ftp://ftp.rs.internic.netjdomain/named.root - lista adresów głównych serwerów DNS

W ten sposób nie ma problemów w mapowaniu nazw DNS na adresy IP. Jak jednak wykonać odwrotną operacj ę? Istnieje możliwość rozwiązywania adresów IP na ich nazwy domenowe. Została stworzona domena

in-addr.arpa, w której

znajdują się nazwy

odpowiadaj ące adresom IP. Należy pamiętać, że adresy w domenie

in-addr. arpa



podawane w odwrotnej kolejności. Przykładowo aby zapytać o nazwę hosta o adresie

1 92. 1 68 . 1 .2, musimy serwerowi DNS zadać pytanie o treści 2 . 1 . 168 . 192 . i n - addr . a rpa. Dzięki temu zwiększaj ąc długość o kolejny człon, możemy zadawać pytania o coraz większej dokładności. Zgodnie ze specyfikacj ą DNS funkcj onalność reagowania na opisane powyżej

zapytania odwrotne

muszą na takie pytania odpowiadać.

jest opcj onalna i nie wszystkie serwery DNS

Rozdział 7. • Usługi warstwy aplikacji

239

Jak to w rzeczywistości działa? Program, który potrafi wysyłać zapytania do serwerów DNS, nazywamy

(resolver).

System operacyjny, aby wyznaczyć adres

IP,

resolwerem

przekazuje nazwę hosta resol­

werowi i oczekuje na odpowiedź od niego. Resolwer wysyła zapytanie do serwera DNS; nazwiemy go

Serwer-A.

Zapytanie jest przesyłane wewnątrz pakietu UDP skierowanego

na port 53 serwera DNS. Port 53 jest tzw. usłudze. Następnie

Serwer-A

dobrze znanym portem przydzielonym tej IP odpowiadający nazwie poda­

odpowiada, podając adres

nej poprzednim pakiecie. Odpowiedź jest pakietem UDP z portu 53 na port, z którego padło pytanie - najczęściej jest to port wysoki (o numerze powyżej 1 024).

IP ma host, o który pytamy, www.firma.com.pl? Proces ten przedstawię poglądowo w punktach.

Dobrze, a w jaki sposób Serwer-A dowiaduje się, jaki adres przykładowo

1. Serwer-A wysyła zapytanie do jednego ze wspomnianych wcześniej głównych serwerów nazw dla Internetu. Pyta o adres

www.firma.com.pl. Ponieważ serwer

główny nie ma informacj i o zawartości domeny pl, odpowiada, wysyłając listę kilku serwerów posiadaj ących autoryzacj ę dla domeny pl.

2. Serwer-A wysyła zapytanie o host www.firma. com.pl do jednego z serwerów domeny pl. Serwer nazw dla domeny pl odpowiada, podaj ąc adresy IP serwerów DNS domeny

com.pl.

3. Serwer-A wysyła zapytanie o host www.firma.com.pl do j ednego z serwerów domeny com.pl. W odpowiedzi otrzymuje adresy IP serwerów DNS (najczęściej dwa) dla domeny firma. com.pl.

4. Serwer-A wysyła zapytanie o host www.firma. com.pl do j ednego z serwerów domenyfirma.com.pl. Otrzymuje w odpowiedzi adres IP poszukiwanego hosta. Dopiero w tym momencie

Serwer-A

może wysłać odpowiedź resolwerowi, który zapy­

tał go o adres www.firma. com.pl. Jak widać, uzyskanie adresu IP na podstawie nazwy DNS-owej danego hosta jest bardzo skomplikowanym i pracochłonnym procesem. Aby go uprościć, stosowane jest buforowanie

(caching) przez serwery raz uzyskanych danych

ze względu na duże prawdopodobieństwo ponownego zapytania o tę samą nazwę. Po­ nadto Serwer-A sprawdza, czy w buforze nie ma już adresu serwera domenyfirma.com.pl, następnie

com.pl i w końcu pl.

Znalezienie adresu któregoś z tych serwerów w pamięci

podręcznej jest bardzo prawdopodobne i upraszcza proces rozwiązywania nazwy. Oczy­ wiście istniej e związane z tym niebezpieczeństwo, ponieważ jeśli nastąpiłyby zmiany w strefie, to dane nie byłyby rozpropagowywane do serwerów posiadających w buforze wpisy o stanie poprzednim. Aby ominąć ten problem, został wprowadzony

TTL (Time to Live)

czas życia

danych w buforze. Po tym czasie serwer musi usunąć te dane

z buforu. TTL jest definiowany na serwerze wiarygodnym dla danej domeny (serwerze zarządzaj ącym domeną) i jego wartość jest pobierana przez inne serwery. Wartość TTL jest kompromisem pomiędzy spójnością danych a obciążeniem serwera. Krótki czas życia równoważny jest z szybszym rozpropagowywaniem zmian, a jednocześnie zwiększa obciążenie serwera, ponieważ musi on częściej odpowiadać na zapytania innych ser­ werów odświeżających swoje dane. Serwery DNS buforują również błędne odpowiedzi.

240

Sieci komputerowe. Kompendium

Istnieją dwa rodzaje zapytań DNS, rekurencyjne i iteracyjne. Rekurencyjne zapytanie zmusza serwer do znalezienia wymaganej informacji lub zwrócenia wiadomości o błę­ dzie. Ogólną zasadąjest, że zapytania od resolwera do serwera są typu rekurencyjnego, czyli resolwer oczekuje podania przez serwer adresu IP poszukiwanego hosta. Itera­ cyjne zapytanie wymaga od serwera jedynie podania najlepszej dostępnej mu w danej chwili odpowiedzi, przy czym nie musi on łączyć się jeszcze z innymi serwerami. Zapy­ tania wysyłane pomiędzy serwerami są iteracyjne, przykładowo wimygodny (autmy­ tarny) serwer domeny pl nie musi znać adresu IP komputera www.firma.com.pl, podaje więc najlepszą znaną mu w tej chwili odpowiedź, czyli adresy serwerów autorytarnych dla domeny com.pl.

Konfiguracja hosta Każdy komputer musi mieć z góry zdefiniowane adresy IP serwerów DNS świadczących dla niego usługę rozwiązywania nazw. Definiuje się je, wpisując ręcznie w konfigura­ cję komputera lub za pomocą usługi automatycznej konfiguracji DHCP (lub BOOTP), która zostanie omówiona w jednym z następnych podrozdziałów. Ponadto najczęściej w konfiguracji resolwera można podać domenę domyślną oraz listę przeszukiwania. Domena domyślna używana jest wówczas, gdy użytkownik poda jedynie nazwę hosta. Wtenczas do nazwy dołączana jest domena domyślna i sprawdzana poprawność takiego połączenia. Lista przeszukiwania pozwala na niewpisywanie przez użytkownika dokład­ nej nazwy hosta (FQDN), a jedynie części. Do takiego niekompletnego wpisu najpierw dołączana jest domena domyślna, a jeżeli nie stworzy to poprawnej nazwy hosta, do­ łączane są kolejno domeny wpisane na listę przeszukiwania. Dzięki temu użytkownik może zaoszczędzić sobie pisania, ponieważ system sam postara się odnaleźć nazwę, o którą mu chodziło.

Linux Resolwer w systemie Linux jest w rzeczywistości biblioteką systemową zawierającą funkcje obsługujące zapytania DNS-owe. Podstawową konfigurację zachowania resol­ wera w systemie Linux zawiera plik /etc/host. conf order hosts . bi nd mul ti on

Przykładową zawartość tego pliku przedstawiłem powyżej. W pierwszym wierszu defi­ niujemy kolejność korzystania ze źródeł informacji podczas rozwiązywania nazwy dome­ nowej . System najpierw przeszuka wpisy w pliku /etc/hosts, a następnie skorzysta z zapytań do serwera DNS. Jeszcze jedną poprawną wartością w tym wierszu jest nis (Network lnformation Service). Drugi wiersz oznacza, że biblioteka odpowiadająca za działanie resolwera będzie zwracała wszystkie wpisy z pliku /etc/hosts dotyczące szukanej nazwy, a nie tylko pierwszy napotkany. Najczęściej nie ma potrzeby zaglądania do tego pliku i zmieniania wpisów w nim zawartych, warto jednak wiedzieć o jego istnieniu.

Rozdział 7. + Usługi warstwy aplikacji

241

Dokładniejszej konfiguracji resolwera w systemach Linux dokonujemy w pliku /etc/ resolv.conf nameserver 192 . 168 . 1 . 2 nameserver 192 . 168 . 1 . 3 domai n fi rma . com . pl search l odz . pl com . pl opt i ons ndots : 2

W powyższej konfiguracji zdefiniowaliśmy dwa serwery DNS, których będzie się pytał dany host. Jeśli nie otrzyma odpowiedzi od pierwszego z nich, wyśle zapytanie do dru­ giego, a w przypadku milczenia również drugiego, ponowi procedurę, aż uzyska odpo­ wiedź lub zaniecha prób. Adresy serwerów DNS to kolejno 1 92. 1 6 8 . 1 .2 i 1 92 . 1 6 8 . 1 .3 . Można oczywiście zdefiniować więcej serwerów. Podaliśmy nazwę domeny lokalnej. W tym przypadku, jeśli przykładowo wpiszemy polecenie $ pi ng maurycy

zostanie najpierw sprawdzona zawartość pliku /etclhosts, następnie wysłane zostaną trzy zapytania do jednego z serwerów DNS, pierwsze o host maurycy.firma. com.pl, drugie o host maurycy. lodz.pl, a trzecie o host maurycy.com.pl. Drugie i trzecie zapytanie wynikają z listy przeszukiwania zdefiniowanej w wierszu czwartym pliku resolv.conf Wiersz piąty ze słowem kluczowym options określa, od jakiej wartości musi być mniejsza liczba kropek w podanej nazwie, aby resolwer uzupełnił tę nazwę za pomocą domyślnej domeny. Liczba dwa oznacza, że zapytanie o nazwę mawycy. oddziall zosta­ nie przetworzone do postaci maurycy.oddziall .finna.com.pl, a do zapytania maurycy. oddziall.miastol nie zostanie już dodana nazwa domyślnej domeny. Wynika to z faktu, że w drugim zapytaniu liczba kropek nie była mniejsza od dwóch.

Windows 2000 W systemie Windows 2000 klikamy kolejno Menu Start/Ustawienia/Panel Sterowa­ nia/Połączenia sieciowe i lokalne/Połączenie lokalne i otwiera się okienko podobne do tego na rysunku 7.2. Wybieramy przycisk Właściwości. W nowo otwartym oknie Właściwości: Połączenie lokalne (rysunek 7.3) zaznaczamy protokół TCP/IP i klikamy przycisk Właściwości. oknem Właściwości: Protokół internetowy (TCP/IP) (rysunek 7.4) zapoznaliśmy się podczas konfigurowania karty sieciowej w systemie Windows 2000. W tym momencie ważny jest dla nas dział Użyj następujących adresów serwerów DNS. Mamy w nim możliwość podania adresów dwóch serwerów DNS, z których zamierzamy korzystać. Aby jednak podać również domenę domyślną oraz listę przeszukiwania, należy kliknąć przycisk Zawansowane (zostaje otwarte okno przedstawione na rysunku 7.5). Z

Następnie wybieramy zakładkę DNS.

242

Sieci komputerowe. Kompendium

Rysunek 7 .2. Konfiguracja DNS w systemie Wif!dows -1

Porączenie,=====-

otrzymujemy znak zachęty > trybu interaktywnego, w którym możemy wydawać pro­ gramowi różne polecenia i zapytania. Możemy również ustawić kilka opcji sterujących jego pracą. > set a l l

Wyświetla aktualne ustawienia wszystkich opcji. Dalej przedstawię najwazmeJsze opcje i ich działanie; pogrubione zostały ustawienia domyślne programu. > set debug > set nodebug

Włącza i wyłącza tryb debugowania - wyświetlania dokładniejszych komunikatów z pracy programu. Możemy obejrzeć odpowiedzi serwera zdefiniowane w RFC 1 03 5 . > set d2 > set nod2

Włącza i wyłącza dokładniejszy tryb debugowania, w którym możemy obejrzeć rów­ nież zapytania wysyłane do serwera. Wcześniej musi zostać włączona opcja debug.

Rozdział 7. + Usługi warstwy aplikacji

265

> set defname > set nodefname Włącza i wyłącza dołączanie do nazw nie zawierających żadnej laopki nazwy domeny domyślnej . > set doma i n=fi rma . com . pl Ustawia nazwę domeny domyślnej . > set search > set nosearch Włącza i wyłącza dołączanie do nazw nie zakończonych laopką nazw domen zdefi­ niowanych w liście przeszukiwania (wraz z domeną domyślną). > set recurse > set norecurse Włącza i wyłącza wysyłanie zapytań rekurencyjnych. Można w ten sposób po wyłą­ czeniu rekurencji emulować zachowanie serwera DNS. > set vc > set novc Włącza i wyłącza wysyłanie zapytań za pomocą protokołu TCP na port 5 3 . > s e t i gnoretc > set noi gnoretc Jeśli ns l ookup odbierze komunikat od serwera z ustawionym bitem obcięcia, informują­ cym, że transmisj a nie zmieściła się w pakiecie UDP, ponownie wysyła zapytanie za pomocą protokołu TCP. W ten sposób zachowuje się resolwer systemowy. Protokół TCP jest wykorzystywany, ponieważ może przenieść o wiele większe odpowiedzi od serwera. Jeśli ustawimy i gnoretc, ns l ookup będzie ignorował takie sytuacje. > set port=53 Informuje ns l ookup, na którym porcie ma odpytywać serwer DNS. > set querytype=A > set querytype=NS > set querytype=MX > set querytype=any Ustawia typ zapytania, jakie zostanie wysłane do serwera. Gdy wpiszemy adres IP, nsl ookup automatycznie zmienia querytype na PTR. Ustawienie typu na a ny wyświetla wszystkie możliwe odpowiedzi. Zamiast słowa querytype można użyć slaótów type, query lub q. Działanie slaótów jest zależne od wersj i ns l ookup. > set root=nazwa . domenowa . serwera Ustawiamy domyślny serwer główny (root server). Gdy uruchamiamy program ns l ookup, poszukuj e on w naszym katalogu domowym pliku . nslookuprc, w którym możemy zdefiniować inne niż domyślne wartości opcji.

Sieci komputerowe. Kompendium

266

Jeśli zapytamy o jakąś nazwę po raz pierwszy, to najczęściej

ns l ookup wyświetli komu­

nikat, że odpowiedź jest autorytatywna. Jeśli zapytamy po raz drugi o ten sam host, otrzymamy komunikat o odpowiedzi nieautorytatywnej . Wynika to stąd, że za pierw­ szym razem nasz serwer otrzymuj e odpowiedź od serwera właściwego dla szukanej nazwy. Za drugim razem nasz serwer skorzysta ze swojego buforu, co powoduje po­ wstanie pewnego marginesu niepewności. Jeśli podczas drugiego zapytania zmienił się zapis w odpytywanej strefie, my się o tym nie dowiemy, ponieważ nasz serwer nie odpytuj e już bezpośrednio serwera odpowiedzialnego za szukaną nazwę, a korzysta ze swojego buforu. Dlatego też druga odpowiedź oznaczana jest jako nieautorytatywna. Warto wpisywane nazwy kończyć kropką, co daj e nam pewność, że zapytanie będzie dokładnie takie, jak chcemy i

ns l ookup nie skorzysta z listy wyszukiwania.

Wyszukamy teraz serwery pocztowe zdefiniowane w strefie dla domeny google.com.pl.

$ nsl ookup > server Default server : 1 92 . 168 . 1 . 2 Address : 192 . 168 . 1 . 2#53 Defaul t server : 192 . 168 . 1 . 3 Address : 192 . 168 . 1 . 3#53 > set query-=rnx > googl e . com . pl . Serve r : 192 . 168 . 1 . 2 1 92 . 168 . 1 . 2#53 Address : googl e . com . pl googl e . com . pl googl e . com . pl

mai l exchanger mai l exchanger mai l exchanger

= = =

30 smtp3 . googl e . com . 10 smtp l . googl e . com . 20 smtp2 . googl e . com .

> googl e . com . pl . Serve r : 192 . 168 . 1 . 2 192 . 168 . 1 . 2#53 Address : Non - authori tat i ve answe r : ma i l exchanger googl e . com . pl ma i l exchanger googl e . com . pl ma i l exchanger googl e . com . pl

= = =

10 smtpl . googl e . com . 20 smtp2 . goog l e . com . 30 smtp3 . googl e . com .

Authoritati ve answers can be found from : googl e . com . pl nameserver nsl . googl e . com . googl e . com . pl nameserver ns2 . googl e . com . googl e . com . pl nameserver ns3 . googl e . com . googl e . com . pl nameserver ns4 . googl e . com . nsl . goog l e . com i nternet address 216 . 239 . 32 . 10 ns2 . googl e . com i nternet address 216 . 239 . 34 . 10 ns3 . googl e . com i nternet address 216 . 239 . 36 . 10 ns4 . goog l e . com i nternet address 216 . 239 . 38 . 10 = =

= =

=

= =

=

Najpierw sprawdziliśmy, jakie są zdefiniowane domyślne serwery DNS, są to i

1 92. 168 . 1 .2 1 92. 1 68 . 1 .3 . Następnie w wierszu set query=mx ustawiamy rodzaj rekordu, o j aki

będziemy pytać, na MX i już możemy wysłać zapytanie o serwery pocztowe domeny

google.com.pl. Dowiaduj emy się, że w tej domenie są zdefiniowane trzy serwery: smtpl.google.com, smtp2.google.com, smtp3.google.com o współczynnikach prefe­ rencj i kolejno

1 0, 20, 30. Zadaliśmy to samo pytanie ponownie i otrzymaliśmy tę samą

Rozdział 7. + Usługi warstwy aplikacji

267

odpowiedź, ale z adnotacją Non-authoritative answer, obrazującą opisane już zjawisko korzystania przez nasz serwer z informacji zmagazynowanej w buforze. Otrzymali­ śmy również podpowiedź, skąd możemy otrzymać autorytatywną odpowiedź dla tej domeny: Authoritative answers can befoundfrom:. Jak widać, autoryzowanymi serwe­ rami DNS dla domeny google.com.pl są serwery nsl, ns2, ns3 i ns4 umieszczone w do­ menie google.com. Odpytamy teraz bezpośrednio jeden z autoryzowanych serwerów domeny google.com.pl o serwery pocztowe zdefiniowane w tej domenie. $ nsl ookup > set query=ns > googl e . com . pl . Serve r : 192 . 168 . 1 . 2 Address : 192 . 168 . 1 . 2#53 Non -authori tati ve answe r : googl e . com . pl nameserver = ns3 . googl e . com . nameserver = ns4 . googl e . com . googl e . com . pl googl e . com . pl nameserver nsl . googl e . com . googl e . com . pl nameserver ns2 . googl e . com . =

=

Authori tati ve answers can be found ns3 . googl e . com i nternet address ns4 . googl e . com i nternet address ns l . googl e . com i nternet address ns2 . googl e . com i nternet address

=

= =

=

from : 216 . 239 . 3 6 . 10 216. 239 . 38 . 10 216 . 239 . 32 . 10 216 . 239 . 34 . 10

> server nsl . googl e . com . Defa u l t server : nsl . googl e . com . Address : 216 . 239 . 3 2 . 1 0#53 > set query=mx > googl e . com . pl . Server : nsl . googl e . com . Address : 2 16 . 239 . 32 . 10#53 googl e . com . pl googl e . com . pl googl e . com . pl

mai l exchanger 10 smtpl . googl e . com . mai l exchanger = 20 smtp2 . googl e . com . ma i l exchanger 30 smtp3 . googl e . com . =

=

Wstępnie ustawiamy rodzaj rekordu na NS i sprawdzamy, jakie są serwery autorytarne dla domeny google. com.pl. Następnie ustawiamy jeden z nich jako serwer, do którego będziemy wysyłali zapytania, i zmieniamy rodzaj rekordu na MX . Na koniec wysyłamy zapytanie o serwery pocztowe zdefiniowane dla domeny google. com.pl. Możemy zasymulować za pomocą ns 1 ookup sposób wysyłania zapytań przez serwery DNS. Aby tego dokonać, najpierw wyłączamy zadawanie zapytań rekurencyjnych set norec, a następnie wyłączamy również korzystanie z listy wyszukiwania set nosearch.

dig Polecenie di g występuje głównie w systemach z rodziny Linux. W odróżnieniu od ns 1 ookup di g jest poleceniem, które nie ma trybu interaktywnego pracy, ponadto nie korzysta z listy wyszukiwania. W wierszu polecenia trzeba zawrzeć poprzedzoną

· · · -�

268

Sieci komputerowe. Kompendium znakiem @ nazwę odpytywanego serwera DNS, nazwę, o którą pytamy, oraz rodzaj szukanego rekordu. Jeśli nie podasz serwera nazw, di g skorzysta z serwerów zdefiniowa­ nych w /etc/resolv. conf Gdy nie podasz rodzaju rekordu, zostanie przyj ęty domyślny A. Nie jest wymagane zachowanie kolejności wpisywanych parametrów, di g interpretuje j e inteligentnie. Najpierw zapytamy o adres hosta www. altavista.com. $ dig www . al tavi sta . com .

; DiG 9 . 1 . 2 www . a l tavi sta . com gl obal opti ons : pri ntcmd . . Got answer : . . ->>HEADERHEADERHEADERHEADERHEADER 1 024 na port 2 1 serwera - klient nawiązuj e połączenie, + z portu 2 1 serwera na porty > 1 024 - serwer odpowiada klientowi, + z dowolnego portu na porty > 1 024 serwera - klient nawiązuj e połączenie z serwerem,

+ z portu > 1 024 serwera na port > 1 024 klienta - serwer odpowiada na połączenie z klientem. Tryb pasywny rozwiązuj e wiele problemów z ochroną klienta przez firewall, otwiera j ednak dużą dziurę w systemie zabezpieczeń serwera FTP. Aby działał tryb pasywny FTP, musi być dozwolone nawiązywanie połączeń na wysokie porty tegoż serwera.

292

Sieci komputerowe. Kompendium

W tym momencie zamiast otwierać do Internetu tylko wybrane porty, musimy otwo­ rzyć również dostęp do wszystkich portów większych od 1 024. Jednym ze sposobów zmniejszenia niebezpieczeństwa jest takie skonfigurowanie serwera FTP, aby wyko­ rzystywał jedynie ściśle określony zakres górnych portów i tylko ten zakres przepusz­ czać przez firewall. Najlepszym sposobem jest skorzystanie z firewalla potrafiącego śledzić sesje protokołów warstw wyższych; takie oprogramowanie zostanie opisane w rozdziale dotyczącym konfiguracji firewalla.

Różnice Aby łatwo zapamiętać różnice pomiędzy trybami aktywnym i pasywnym, przydatny może się okazać następujący zapis: Aktywny FTP

Pasywny FTP

Polecenia

klient (> 1 024) -7 serwer (21 )

klient (> 1 024) -7 serwer (21)

Dane

serwer (20) -7 klient (> 1 024)

klient (> 1 024) -7 serwer (> 1024)

Komunikacja z serwerem Na polecenia wysyłane przez klienta serwer odpowiada kodami numerycznymi, przy których nie zawsze znajduje się opis znaczenia danej odpowiedzi. W tabeli 7.5 zamiesz­ czam najważniej sze z nich. Tabela 7 .5. Kody odpowiedzi serwera FTP Kod

Opis

1 10

Restart ma rker reply .

1 20

Servi ce ready i n nnn mi nutes .

1 25

Data connect i on a l ready open ; transfer start i ng .

1 50

Fi l e status okay ; about to open data connect i on .

200

Command okay .

202

Command not i mpl emented . superfl uous at this s i te .

211

System status . o r system help repl y .

212

Di rectory status .

213

Fi l e status .

214

Hel p message .

215

NAME system type .

220

Serv i ce ready for new user .

221

Servi ce c l o s i ng control connecti on .

225

Data connecti on open ; no transfer i n progress .

226

Cl osi ng data connect i on .

227

Enteri ng Passi ve Mode .

228

Enteri ng Long Pas s i ve Mode .

Rozdział 7. • Usługi warstwy aplikacji

293

Tabela 7 .5. Kody odpowiedzi serwera FTP - ciąg dalszy Kod

Opis

229

Extended Pass i ve Mode Entered .

230

User l ogged i n . proceed .

250

Requested fi l e acti on okay . compl eted .

257

" PATHNAME" created .

331

U s e r name okay , need password .

332

Need account for l ogi n .

350

Requested fi l e acti on pend i ng further i nformation .

421

Servi ce not ava i l abl e . cl osi ng control connecti on .

425

Can ' t open data connect i on .

426

Connecti on cl osed : transfer aborted .

450

Requested fi l e acti on not taken .

45 1

Requested act i on aborted . Local error i n processi ng .

452

Requested act i on not taken .

500

Syntax error . command unrecogni zed .

501

Syntax error in parameters or a rguments .

502

Command not i mpl emented .

503

Bad sequence of commands .

504

Command not i mpl emented for that parameter .

521

Supported address fami l i es are .

522

Protocol not supported .

530

Not l ogged i n .

532

Need account for stori ng fi l es .

550

Requested acti on not taken .

551

Requested act i on aborted . Page type unknown .

552

Requested fi l e acti on aborted .

553

Requested act i on not taken .

554

Requested action not taken : i nval i d REST pa rameter .

555

Requested act i on not taken : type or stru mi smatch .

Obsługa programu ftp Najprostszym klientem ftp j est program o jakże oryginalnej nazwie ftp. Można go znaleźć zarówno w systemie Windows 2000, jak i Linux. Dalej przedstawię zapis krótkiego połączenia z anonimowym FTP z wykorzystaniem tego dostępnego prawie w każdym systemie polecenia. $ ftp sunsite . i cm . edu . pl Connected to suns i te . i cm . edu . pl . 220 220FTP na SunSI TE ( obecni e ponad 750 GB oprogramowani a ) .

294

Sieci komputerowe. Kompendium

220 Uwagi : suns i te@i cm . edu . pl 220 220 -Witamy [unknown]@komputer . fi rma . com . pl . Jest Tue Jul 2 23 : 37 : 35 2002 . 220 -W Twojej k l asi e moze byc do 150 uzytkowni kow . obecni e jest i ch 21 . 220 220 -UWAGA : wiekszosc uzytkowni kow ma l i mit 2 pol aczen na 1 adres I P . 220 220220 suns i te . i cm . edu . pl FTP server ( Vers i on wu-2 . 6 . 2 ( 1 ) Thu Mar 28 02 : 28 : 43 MET 2002) ready . Name ( sunsite . i cm . edu . pl : root ) : anonymous 331 Guest l ogi n ok . send your compl ete e-ma i l address as password . Password : 230 -Pl ease read the fi l e README 230 - it was l ast modi fi ed on Wed May 15 18 : 35 : 41 2002 - 48 days ago 230 Guest l ogi n ok . access restri cti ons appl y . Remote system type i s UN I X . Usi ng bi nary made to t ransfer fi l es . ftp> l s 200 PORT command successful . 150 Openi ng ASC I I made data connect i on for / b i n/ l s . 1 095 May 15 1 6 : 35 README - rw-r - - r - - 1 ftp i cml drwxr -xr-x 1 ftp i cml 512 Nov 27 1997 dev l rwxrwxrwx 1 ftp i cml 13 Apr 26 2001 i ncomi ng -> s i te / i ncomi ng l rwxrwxrwx 1 ftp i cml 9 Apr 26 2001 l ogs -> s i te/ l ogs - rw- r - - r - - 1 ftp i cml 25614130 Jul 2 06 : 11 l s - l R . gz drwxr -xr-x 1 ftp i cmO 2560 Aug 13 1998 mi rrors l rwxrwxrwx 1 ftp i cml 4 May 15 12 : 02 packages -> s i te l rwxrwxrwx 1 ftp i cml 12 Apr 26 2001 pri vate -> s i te/pri vate drwxr -xr-x 1 ftp i cml 1024 Apr 29 2 1 : 02 pub drwxr -xr-x 1 ftp i cml 6144 Jul 2 2 1 : 26 s i te l rwxrwxrwx 1 ftp i cml 7 May 15 12 : 02 si tes -> mi rrors drwxr -xr-x 1 ftp i cml 512 Jan 12 2000 usr drwxr -xr-x 1 ftp i cml 512 Apr 25 17 : 47 vol 226 Transfer compl ete . ftp> get README l ocal : README remote : README 200 PORT command successful . 150 Openi ng BI NARY made data connect i on for README ( 1095 bytes J . 226 Transfer compl ete . 1095 bytes recei ved i n 0 . 000286 secs ( 3 . 7e+03 Kbytes/sec ) ftp> bye 221-You have transferred 1095 bytes i n 1 fi l es . 221 -Total traffi c for t h i s sessi on was 3059 bytes i n 2 transfers . 221 -Thank you for us i ng the FTP serv i ce on suns i te . i cm . edu . pl . 221 Goodbye .

Połączyliśmy się z seiwerem sunsite. icm. edu.pl oferującym bardzo bogate zasoby plików w anonimowym FTP. Powitały nas komunikaty z seiwera. Następnie musieliśmy podać nazwę użytkownika anonimowego anonymous. Zgodnie z zasadami przy połączeniu anonimowym w miejsce hasła podajemy swój adres e-mail. Po nawiązaniu poprawnego połączenia wykonaliśmy polecenie l s w celu wyświetlenia dostępnych plików i katalo­ gów (wiersze opisujące katalogi rozpoczynają się od litery d). Następnie za pomocą polecenia get pobraliśmy plik README (należy zwracać uwagę na wielkość liter w nazwach plików i katalogów). Sesję kończymy przy użyciu polecenia bye. -

295

Rozdział 7. + Usługi warstwy aplikacji

Do zmiany bieżącego katalogu w zdalnym komputerze służy polecenie cd podobnie jak w DOS-ie i Linuksie. Nazwę bieżącego katalogu wyświetlamy za pomocąpolecenia pwd. -

W celu pobrania pliku używamy get pl i k. Aby wysłać plik na serwer (tylko jeśli po­ siadamy uprawnienia do zapisu na serwerze), korzystamy z put pl i k. Możemy zmie­ niać nazwę pliku „w locie": get pl i kl pl i k2, put pl i kl pl i k2 zmienia nazwę pliki na plik2. Do pobrania większej liczby plików (z wykorzystaniem metaznaków) używamy polecenia mget, np. mget * . zi p, oraz mput do wysyłania na serwer. Za pomocą polecenia prompt wyłączamy tryb interaktywnego potwierdzania wykonania operacji na każdym z plików. -

-

FTP może transmitować pliki w dwu trybach, tekstowym i binarnym. Podczas trans­ misj i w trybie tekstowym stara się dokonywać potrzebnych konwersji pomiędzy sys­ temami nadawcy i odbiorcy. Przykładowo kopiując z systemu Linux do Windows plik tekstowy, zamienia znak końca wiersza LF (kod ASCII 1 0) na ciąg dwóch znaków CR (kod ASCII 1 3 ) i LF (kod ASCII 1 O), które w systemach pochodzących od MS-DOS stanowią koniec wiersza. Plik binarny (np. program) po takiej translacj i naj­ częściej okazuj e się niezdatny do użytku, należy więc pamiętać o włączeniu odpo­ wiedniego trybu transmisji. Tryb binarny włączamy za pomocą polecenia bi n, a tryb tekstowy - asci i . Sesję kończymy poleceniem bye lub qui t . =

=

=

Podane polecenia pozwolą C i w sytuacji awaryjnej obsłużyć tekstowego klienta FTP i wykonać potrzebną operację. W praktyce najprawdopodobniej zainstalujesz sobie jakiegoś graficznego klienta i będziesz go obsługiwał, klikając myszą. Jednak podana wiedza o działaniu FTP pozwoli Ci lepiej skonfigurować i wykorzystać jego możliwości.

Serwery W popularnych serwisach z darmowym oprogramowaniem (http://freshmeat. net, http://sourceforge.net) można znaleźć prawie 200 serwerów FTP oferuj ących różną funkcjonalność i poziom zaawansowania prac nad projektem. Wybierając konkretny pakiet należy się kierować podobnymi kryteriami, j ak w przypadku pozostałych ser­ werów. Warto sprawdzić, jak często pojawiają się dziury w systemie bezpieczeństwa wy­ branego serwera oraz jak szybko są one poprawiane. Bardzo popularnym serwerem dołączanym do wielu dystrybucji jest wu-ftpd, który można pobrać ze strony http:// www. wu-ftpd. org/. Bardzo przyj emnym w użytkowaniu serwerem jest proFTPD, który można pobrać z jego strony domowej http://www.proftpd.org/. Z tego serwera korzystają m.in. serwisy ftp. kernel. org, GNUorg, SourceForge.net. Pokrótce przedstawię jego cechy:

+ pojedynczy plik konfiguracyjny (domyślnie /usr/local/etc/proftpd.conj) ze składnią podobną do pliku konfiguracyjnego Apache, + pliki ftpaccess (podobnie j ak w apache .htaccess) zmieniaj ące opcje dla katalogu, w którym się znajdują, + łatwa konfiguracja wielu serwerów wirtualnych oraz serwisów anonimowych, + możliwość uruchomienia jako serwer autonomiczny lub uruchamiany przez xi netd w celu oszczędzania zasobów systemowych,

296

Sieci komputerowe. Kompendium

+ katalog główny anonimowego FTP nie wymaga żadnej dodatkowej struktury katalogów i plików, + proFTPD nie obsługuje polecenia SITE EXEC będącego dużą wyrwą w systemie bezpieczeństwa serwera, proFTPD nigdy nie uruchamia j akichkolwiek programów zewnętrznych, + możliwość ukrywania katalogów i plików w zależności od użytkowników lub grup systemowych Linuksa, + obsługa funkcjonalności eh root, + demon proftpd w trybie autonomicznym działa z uprawnieniami nieuprzywilejowanego użytkownika, + współpracuje z demonem syslogd (logowanie) i zapewnia wsparcie dla wtmp/utmp, + możliwość konfigurowaniu wielu aspektów pracy serwera: port TCP, sposób przedstawiania się, czasy graniczne (timeout), liczba połączeń, korzystanie z RevDNS i ident, + dodatkowe moduły do współpracy z LDAP, SQL; moduł zapewniaj ący funkcjonalność „TCP wrappera".

Bezpieczeństwo Ponieważ ProFTPd używa uprawnień roota jedynie w razie bezwzględnej konieczności (bindowanie portu poniżej 1 024, zmiana ograniczeń zasobów itp.), problem z exploitami wykorzystującymi technikę przepełnienia buforu zmniejszył się znacznie. Bardzo waż­ nym zagadnieniem jest zapewnienie logowania połączeń i transferów dokonywanych przez FTP. Ponieważ hasła podczas połączenia FTP są przesyłane bez żadnego kodo­ wania (podobnie w połączeniach POP i IMAP), należy zwrócić na ten fakt szczególną uwagę. Najlepszym wyjściem jest nieprzyznawanie prawidłowej powłoki systemowej (shell) użytkownikom mającym możliwość połączenia się za pomocą FTP. Ponieważ zbyt łatwo jest podsłuchać ich hasła przesyłane podczas transmisji FTP, każdy, kto tego dokona, ma również dostęp do ich konta shellowego. Ponadto w żadnym razie nie nale­ ży się łączyć poprzez FTP na konto roota. Można uruchamiać demona przez pośred­ nika xi netd, co minimalizuje ilość sytuacji, w których proftpd ma dostęp do konta root. Ponadto można uruchomić serwer z wykorzystaniem portów wyższych niż 1 024. Warto również wyłączyć raportowanie przez serwer rodzaju systemu operacyjnego, na którym jest uruchomiony, oraz własnej nazwy. Dokonujemy tego poprzez dodanie w pliku konfiguracyjnym opcji: Serverldent On " N i eznany rodzaj serwera " Za pomocą polecenia A 1 1 ow/ DenyFi l ter możemy filtrować treść przesyłanych do serwera poleceń i w ten sposób uniemożliwić użycie tych niepożądanych. W wersjach 1 .3 i wyższych ProFTPd jest planowane zaimplementowanie funkcjonalności szyfrowanej transmisji SSL. OpenSSH od wersji 2.5.0 obsługuje szyfrowaną transmisję plików SFTP. Można z tego skorzystać, wtedy jednak problemem jest zmuszenie użytkowników do korzy­ stania z klientów obsługujących tę funkcjonalność. Ponadto z praktyki wiem, że wydajność SFTP jest niezbyt wielka, zwłaszcza podczas transmisji dużych ilości małych plików.

Rozdział 7. + Usługi warstwy aplikacji

297

7.6. HTIP HTTP (Hypertext Transfer Protocol) jest protokołem odpowiedzialnym za przesyłanie w Internecie stron WWW Portem zarezerwowanym dla protokołu HTTP jest 80 port TCP oraz rzadziej używane porty 8008 i 8080. Dodatkowo do transmisji (enkapsulacji) protokołu HTTP poprzez strumień SSL (Secure Socket Layer) zarezerwowany został port 443 TCP. Ponadto istnieje aktualnie rzadko używany protokół S-HTTP, również zapewniający bezpieczną transmisję; korzysta on z portu 80. Główną różnicą pomiędzy HTTPS i S-HTTP jest to, że pierwszy z nich tworzy bezpieczny kanał do transmisji HTTP, a drugi jest zorientowany na bezpieczną transmisję pojedynczych komunikatów protokołu HTTP. Oba protokoły zostały zaakceptowane przez IETF (Internet Engine­ ering Task Force) jako standardy. Protokół SSL został stworzony przez firmę Netscape; oparty jest na zasadach szyfrowania niesymetrycznego (klucze prywatny i publiczny). Adresy stron nie korzystających z kodowania zaczynają się od http://, a strony korzy­ stające z SSL mają adresy rozpoczynające się od https://. .

Główną organizacją zajmującą się rozwoj em i standaryzacją protokołu HTTP oraz technologii związanych z WWW jest W3C (The World Wide Web Consortium); http:// www. w3c.org/. Aktualnąwersją tego protokołu jest HTTP/ 1 . 1 . Lista obowiązujących RFC znajduj e się m.in. pod adresem: http://www. w3.org/Protocols/Specs.html#RFC.

Protokół HTTP Jednostką logiczną protokołu HTTP jest wiadomość (message), składająca się z za­ pytania od klienta do serwera i odpowiedzi serwera. Protokół HTTP definiuje kilka metod (rodzaj ów działań), które zostaną wykonane na wywołanym zasobie. Wyróżnia się następujące usługi (metody) protokołu HTTP:

Tabela 7 .6. Metody protokołu HTTP Matoda

Opis

DELETE

Żądanie usunięcia zasobu (dokumentu) z serwera Żądanie zasobu od serwera w formie nagłówka i treści

GET L I NK

Żądanie zasobu od serwera w formie nagłówka Ż ądanie ustanowienia relacji między istniejącymi zasobami

OPTIONS

Żądanie od serwera identyfikacji obsługiwanych metod

POST

Żądanie odebrania przez serwer danych od klienta

PUT

Żądanie odebrania przez serwer od klienta pliku

TRACE

Żądanie zwrócenia przez serwer nagłówków wiadomości wysłanej od klienta (w celach testowania)

UNLINK

Żądanie usunięcia relacji między istniejącymi zasobami

HEAD

Serwer, odpowiadając na żądania klienta, zwraca kody stanu będące trzycyfrową liczbą wraz z komentarzem dotyczącym wywołanej akcji. Istnieje ogólny podział kodów stanu w zależności od ich wartości (tabela 7.7).

298

Sieci komputerowe. Kompendium

Tabela 7. 7. Kody stanu protokołu HTTP Wartość

Rodzaj

Rodzaj ang.

Znaczenie

l xx

Informacyjne

Jnformational

Żądanie odebrane, proces w trakcie wykonywania

2xx

Sukces

Success

Akcja została poprawnie odebrana, zrozumiana i zaakceptowana

3xx

Przekierowanie

Redirection

Dalsze akcje muszą zostać podjęte, aby zakończyć żądanie

4xx

Błąd po stronie klienta

Client Error

Żądanie ma złą składnię lub nie może zostać spełnione

5xx

Błąd serwera

Server Error

Serwer najprawdopodobniej nie może wykonać poprawnego żądania

Sprawdzanie działania serwera HTTP Najprostszą i najszybszą metodą sprawdzenia działania serwera jest wykorzystanie prze­ glądarki WWW . Nie zawsze jednak mamy dostępną przeglądarkę, ale prawie zawsze dostępny jest telnet.

$ tel net www . fi rma . com . com 80 Tryi ng 192 . 168 . 1 . 5 . . . Connected to www . fi rma . com . pl . Escape cha racter i s ' AJ ' . GET I HTIP/1 . 1 Host : www . fi rma . com . pl

HTIP/1 . 1 200 OK Date : Thu . 04 Jul 2002 22 : 20 : 15 GMT Serve r : Apache/ 1 . 3 . 12 ( Un i x ) PHP/4 . 0 . lp l 2 Last -Modi fi ed : Wed , 0 6 Dec 2000 12 : 54 : 21 GMT ETag : " 19507 - 6b5- 3a2e36fd" Accept - Ranges : bytes Content- Length : 1717 Content-Type : text/html

Połączyliśmy się za pomocą polecenia telnet na 80 port serwera www.firma. com.pl, a następnie wysłaliśmy do niego żądanie protokołu HTTP. Zażądaliśmy strony I z hosta o nazwie www.firma. com.pl. Po tych dwóch wierszach musimy wysłać jeszcze znak końca wiersza. Podobny efekt uzyskamy, wysyłając zapytanie GET I HTIP/ l . O. W wer­ sji 1 . 1 protokołu HTTP zostało wprowadzone pole Host, które umożliwia obsługę przez jeden serwer HTTP wielu domen. Funkcjonalność taką nazywamy serwerami wirtu­ alnymi. W przypadku gdy serwer o adresie 1 92. 1 68. 1 .5 będzie miał nazwy DNS www. firmal. com.pl oraz www.jirma2. com.pl, to jeśli jest tylko skonfigurowany do obsługi serwerów wirtualnych dla tych nazw, możemy uzyskać strony główne tych serwerów modyfikując wiersz Host : w zapytaniu HTTP.

Rozdział 7. • Ushlgi warstwy aplikacji

299

Serwery . Na rynku istmeJe bardzo wiele różnych serwerów protokołu HTTP. Jeśli jednak przyjrzymy się statystykom ich popularności, okaże się, że niekwestionowanymi lide­ rami są Apache i Microsoft IIS. Uznanym źródłem danych na ten temat jest serwis netcraft, gdzie pod adresem http://news.netcraft. com/archives/web_server_survey.html możemy obejrzeć aktualne statystyki popularności serwerów WWW (rysunek 7 . 1 1 ). 70%

- Ap01ch"' - H i>> Last update of whoi s database : Tue . 9 Jul 2002 1 6 : 48 : 18 EDT > Last update of whoi s database : Thu . 1 1 Jul 2002 04 : 54 : 15 EDT

180 RINGING

'łl( 1 1 )

200 OK

14) ACK

1 ) REGISTER

Telefon B

2) 200 OK

6) INVITE ttySl

360

Sieci komputerowe. Kompendium # rm /dev/modem # l n -s ttySO /dev/modem # l s - 1 /dev/modem root 1 root l rwxrwxrwx

5 Aug 31 20 : 53 /dev/modem -> ttySO

Aktualną konfigurację portów szeregowych w systemie możemy podejrzeć:

# setseri a l - bg /dev/ttyS* /dev/ttySO at Ox03f8 ( i rq = 4) i s a 16550A ( s pd_vhi hup_noti fy ) Otrzymujemy informację o używanym buforze pamięci, numerze przerwania, modelu układu scalonego UART (Universal Asynchronous Receiver Transmitter) 1 6550A. To samo polecenie setseri a 1 posłuży nam do ustawienia parametrów portu szeregowego ttySO, j ednak ustawienia te najpierw wyświetlimy:

# setseri a l -a /dev/ttySO /dev/ttySO . Li ne O . UART : 16550A . Port : Ox03f8 . IRQ : 4 Baud bas e : 1 15200 . cl ose-del ay : 50 . d i vi sor : O c l osing_wa i t : 3000 Fl ags : spd_normal ski p_test Polecenie to służy do konfiguracji sprzętowej portu szeregowego. Możemy zmieniać m.in. wykorzystywane prze1wanie, adres portów wejścia-wyjścia, szybkość transmisj i. Najlepiej upewnić się, że włączona jest obsługa szybkości pracy portu 1 1 5 200 bd/s spd_vh i - oraz informowanie procesu getty o zakończeniu połączenia na porcie -

hup_not i fy: # setseri al /dev/ttySO spd_vhi hup_noti fy

Z urządzeniem szeregowym związany jest terminal, którego ustawienia decydują np. o tym, czy wprowadzane znaki będą pojawiały się na ekranie albo czy wciśnięcie klawisza będzie generowało sygnał przerwania. Parametry terminalu związanego z danym portem szeregowym konfigmujemy za pomocą polecenia stty. Aby odczytać konfigurację pierw­ szego portu szeregowego, wydajemy polecenie:

# stty -a < /dev/ttySO speed 9600 baud : rows O : col umns O ; l i ne = O : i ntr = AC : quit = A\ ; erase = A? : ki l l = AU ; eof = AD : eol = : eol 2 = : sta rt = AQ : stop = AS : susp = AZ : rprnt = AR : werase AW : l next = AV : fl ush = AO : mi n = 1 : time = O : -parenb - parodd cs8 hupcl -cstopb cread cl ocal - crtscts - i gnbrk -brki nt - i gnpar - parmrk - i npck - i stri p - i nl cr - i gncr i crnl i xon - i xoff - i uc l c - i xany - i maxbel opost -ol cuc -ocrnl onl cr -onocr -onl ret -ofi l l -ofdel n l O ero tabO bsO vtO ffO i s i g i canon i exten echo echoe echok -echonl - nofl sh - xcase -tostop - echoprt echoctl echoke =

W celu poprawnego ustawienia konfiguracj i terminalu wydajemy polecenie: # stty csB crtscts -pa renb - cstopb < /dev/ttySO Podam znaczenie najważniej szych parametrów:

+ cs8 - cyfra w parametrze oznacza liczbę bitów danych na znak, w tym przypadku 8,

Rozdział 8. + Inne protokoły

361

ł c rtscts - włączona została sprzętowa kontrola przepływu danych, ł

-

pa renb - brak kontroli bitu parzystości,

ł - cstopb ustawiony j eden bit stopu; jeśli nie ma znaku minus (-) przed tym parametrem, to dwa bity. -

Zmieniliśmy j edynie parametr crtscts; po zapisaniu go bez poprzedzaj ącego minusa spo­ wodowaliśmy włączenie sprzętowej kontroli przepływu danych. Programowa kontrola przepływu danych używa znaków Ctrl+S i Ctrl+Q, a ponieważ protokół PPP wykorzy­ stuje dane ośmiobitowe, to oczywiście pojawiałyby wśród nich się te znaki. Powodowa­ łoby to zatrzymanie transmisj i i aby tego uniknąć, używa się kontroli sprzętowej . Najczęściej do portu szeregowego mamy podłączony modem zewnętrzny lub port sze­ regowy jest reprezentacją modemu wewnętrznego. Do automatyzowania komunikacji z serwerem PPP służy program chat. Jego działanie polega na podejmowaniu ustalonych wcześniej akcj i w przypadku wystąpienia określonych ciągów znaków w transmisj i z portu szeregowego. Najczęściej inicjalizuje modem, przeprowadza autmyzację, podając nazwę użytkownika i hasło, oraz reaguje na sytuacje niestandardowe (rozłączenia, sygnał zaj ętości itp.). Konfigurację programu chat przeprowadzamy, podaj ąc j ako jego opcje pary w postaci: „oczekiwany ciąg znaków", „odpowiedź". W konfiguracji mogą pojawić się również polecenia: ł ABORT

-

przerwanie wykonywania skryptu,

ł TIMEOUT - ustawienie czasu oczekiwania na reakcję w sekundach, ł HANGUP - decyzja, czy „odłożenie słuchawki" będzie traktowane jako błąd, ł SAY

-

wypisanie komunikatu na terminalu użytkownika,

ł ECHO - czy odpowiedzi modemu mają być przesyłane na standardowe wyjście błędów (stderr), najczęściej terminal użytkownika. Wiele modemów raportuje stan połączenia za pomocą ciągów znakowych: ł CONNECTEO - połączony, ł NO CARRI ER - brak sygnału, ł BUSY - zajęty. W konstruowaniu dialogów z chat możemy korzystać ze znaków specjalnych: ł

" "

- ciąg pusty,

ł \ b - backspace, ł \c - pominięcie znaku końca wiersza w wysyłanym ciągu znaków, np. he 1 1 o\c, ł \d - jednosekundowe opóźnienie,

ł \n - znak nowego wiersza (LF), ł \ p - pauza 1/1 0 sekundy, ł \ q - pomij anie logowania ciągu znaków do demona syslog,

362

Sieci komputerowe. Kompendium

+ \ r - znak powrotu karetki (CR), + \s - spacja, + \ t - tabulator, + \ \ - backslash. Gdy zostanie zestawione połączenie, protokół LCP dokonuje ustaleń parametrów połą­ czenia PPP, min. maksymalnego rozmiaru pakietu, znaków specjalnych wykorzystywa­ nych do sterowania, sposobu autoryzacji (PAP, CHAP), typu kompresji. Następnie pro­ tokół IPCP uzgadnia adresy IP obu końców połączenia. Dokonywana jest również autoryzacja, jeśli któraś ze stron połączenia jej zażąda. Najczęściej demona pppd uruchamia się w postaci skryptu konfiguracyjnego, ja jednak najpierw podam sposób uruchomienia połączenia za pomocąjednego polecenia: /usr/sbi n/pppd /dev/modem 1 15200 crtscts defaul troute l ock noi pdefa u l t connect ' chat -v ABORT " BUSY" ABORT " NO CARRIER" ABORT "NO DIALTONE" ABORT " WAITI NG " TIMEOUT 50 " " atdt0202122 CONNECT " " ord : ppp " " Username : ppp Password : ppp starti ng " " ·

Podany wiersz powoduje nawiązanie modemowego połączenia PPP z numerem 0202 122. Omówię teraz jego skład. Najpierw wywołujemy demona pppd, któremu podajemy nazwę urządzenia /dev/modem i szybkość portu szeregowego 1 1 5200 w bodach na sekundę. Parametr crtscts włącza sprzętową kontrolę przepływu. Parametr defa u l t route powo­ duje zmianę tablicy routingu po nawiązaniu połączenia, tak aby domyślną bramą do Internetu było właśnie to połączenie. Parametr 1 ock powoduje utworzenie pliku zawie­ rającego numer procesu pppd związanego z uruchamianym urządzeniem; najczęściej jest to /var/nm/pppO.pid. Upewniamy się jeszcze, że zostanie nam dostarczony adres IP dla naszego końca połączenia PPP; dokonujemy tego za pomocą opcji no i pdefau 1 t . Następnie w opcji connect wywoływany jest program do komunikacji z modemem chat z parametrem -v, któ1y powoduje logowanie jego pracy. Program chat wywoływany jest wraz z listą par ciągów tekstowych opisujących jego działanie. Ponieważ pary te podane w taki sposób, jak w przykładzie - mogą być trudne do interpretacji i ewentu­ alnej poprawy błędów, najczęściej są umieszczane w skryptach. Przedstawię poniżej bardziej standardowy sposób uruchomienia demona pppd z użyciem plików konfigura­ cyjnych : /etc/ppp/ppp-on, /etc/ppp/ppp-on-dialer, /etc/ppp/ppp-off.

ppp-on # ' /bi n/sh TELEFON=0202122 USERNAME=ppp PASSWORD=ppp export TELEFON USERNAME PASSWORD DIALER_SCRI PT=/etc/ppp/ppp-on - d i a l e r

/usr/ sbi n/pppd /dev/modem 1 15200 crtscts defaul troute l ock noi pdefa u l t connect $DIALER SCRI PT

363

Rozdział 8. + Inne protokoły

Skrypt ten służy do zestawiania połączenia; powinien mieć nadane odpowiednie prawa, np. za pomocą polecenia chmod a+x /etc / ppp/ppp-on. W pliku tym zdefiniowano zmienne TELEFON, USERNAME i PASSWORD, które zostaną wykorzystane w skrypcie ppp­ - o n - d i a l er. W zmiennej D IALER_SCR I PT znajduj e się nazwa i ścieżka do pliku ppp-on-dialer. W ostatnim wierszu wywoływany jest demon pppd. Wywołanie to różni się od wersji uruchamianej w jednym wierszu jedynie podaniem ścieżki do pliku zawierającego wywołanie programu chat zamiast umieszczenia całego wywołania tego programu.

ppp-on-dialer # I /bi n/sh

chat -v ABORT " BUSY " TIMEOUT 50 " " atdUTELEFON CONNECT " " ord : ppp " " Username : $USERNAME \ Password : $PASSWORD \ start i ng " "

Na początku wywołuj emy program chat, a następnie pojawiają się takie same elementy dialogu, jak w podanym wcześniej wywołaniu zawartym w jednym wierszu. Główną różnicąjest pojawianie się zmiennych ustalonych w skrypcie ppp-on - na powyższym listingu zostały one pogrubione. W wierszu ABORT ustalamy zerwanie połączenia w przy­ padku pojawienia się sygnału zajętości. Wiersz TIMEOUT ustala czas oczekiwania na 50 sekund. Następnie pojawiaj ą się polecenia w standardzie Hayesa obsługiwanym przez większość modemów. Polecenie atdt0202122 powoduje wybranie numeru przez modem. Po tym czekamy na informację o połączeniu CONNECT. Musimy pominąć pojawienie się ciągu P ros ze wpi sac : Username : ppp Password : ppp, który ukazuje się w wyświetlanym przez serwer TP S.A. komunikacie - dokonujemy tego za pomocą wiersza wyszukują­ cego ciąg ord : ppp i nie wykonującej żadnej akcji " " w przypadku wystąpienia tegoż ciągu. Następnie jeśli pojawi się ciąg Username : , podajemy nazwę ppp zawartą w zmien­ nej $USERNAME. Gdy w komunikacji z serwerem ukaże się ciąg Password : , program chat odpowie, podając hasło ppp zawarte w zmiennej $PASSWORD. Musimy j eszcze poczekać na pojawienie się komunikatu od serwera, świadczącego o poprawnym nawiązaniu połą­ czenia: Start sesj i PPP . prosze naci snac k l awi sz F7 Exi ti ng shel l . and starti ng. Obsługa tego zdarzenia odbywa się w ostatnim wierszu skryptu. -

ppp-off # 1 /bin/sh

i f [ " $ l " = " J : then DEV I CE=pppO el s e DEV ICE=$1 fi "

i f [ - r /va r/ run/$DEV ICE . pi d ] : then k i l l - I NT ' cat /var/run/$DEVICE . pi d ' i f [ ! " $? " " O " ] : then rm -f /var/run/ $DEV JCE . pi d echo " ERROR : Removed sta l e pi d fi l e " exi t 1 =

364

Sieci komputerowe. Kompendium

fi echo " PPP l i nk to $DEVICE termi nated . " exit O fi echo " ERROR : PPP l i nk i s not a ct i ve on $0EVI C E " exi t 1

Skrypt ten służy do wyłączania demona ppp odpowiedzialnego za połączenie. Znajduje on w katalogu /var/run pliki o nazwach postaci pppO.pid. Pliki te zawierają numer pro­ cesu uruchomionego demona pppd. Na taki numer wysyłany jest następnie sygnał - I NT, co w efekcie zamyka połączenie, usuwa urządzenie pppO i wyłącza demona pppd. Przykładowa zawartość logów systemowych po nawiązaniu poprawnego połączenia: Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep Sep

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

18 : 05 : 38 18 : 05 : 39 1 8 : 05 : 39 1 8 : 05 : 39 18 : 05 : 39 18 : 06 : 09 18 : 0 6 : 09 18 : 06 : 09 18 : 0 6 : 09 18 : 06 : 09 18 : 06 : 09 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 13 18 : 06 : 14 18 : 06 : 14 18 : 0 6 : 14 18 : 06 : 14 1 8 : 06 : 14 18 : 06 : 14 18 : 06 : 14 18 : 06 : 15 18 : 06 : 15 18 : 06 : 15 1 8 : 06 : 15 18 : 06 : 15 18 : 06 : 15

ga l l ga l l gal l gal l gal l ga l l ga l l ga l l gal l gal l gal l gal l gal l gal l gal l gal l ga l l ga l l gal l gal l gal l gal l ga l l ga l l ga l l ga l l gal l gal l gal l ga l l gal l ga l l gal l gal l gal l gal l gal l ga l l ga l l gal l gal l ga l l ga l l

pppd [394] : chat[396J : chat[396J : chat[396J : chat [ 396J : chat [396J : chat [ 396] : chat[396J : chat[396J : chat[396J : chat [396] : chat[396J : chat [ 396 ] : chat[ 396J : chat[ 396J : chat[ 396 J : chat [ 396 J : chat [396 J : chat[396J : chat[ 396 J : chat[ 396 J : chat[396J : chat [396J : chat [396J : chat [396J : chat[396J : chat[396J : chat[ 396J : chat [396J : chat [396J : chat [396J : chat [ 396J : chat [ 396J : chat [396 J : chat[ 396J : chat [396J : chat [ 396J : chat [396J : chat [396J : chat [396 J : chat[ 396J : chat [ 396J : pppd [394J :

pppd 2 . 4 . 1 started by root . u i d O abort on ( BUSY) ti meout set to 50 seconds send ( atdt0202122AM ) expect ( CONNECT) atdt0202122AMAM CONNECT - - gat i t send ( AM ) expect ( ord : ppp) 33600/ARQ/V34/LAPM/V42BISAM AM WITAMY W I NTERNEC I E TP S . A . AM AM Name serve r : 217 . 98 . 20 . 34 217 . 98 . 63 . 1 64AM AM Nasze strony www : www . tpsa . pl . www . tpnet . pl AM AM AM Prosze wpi sac : AM AM Username : ppp Password : ppp - - gat i t send ( AM ) expect ( Username : ) AM AM Username : - - gat i t send ( pppAM ) expect ( Password : ) pppAM Password : - - gat i t send ( pppAMl expect ( start i ng ) AM Start sesj i PPP . prosze naci s nac k l awi sz F7AM AM Exi t i ng shel l . and starti ng - - gat i t send ( AM ) Seri a l connect i on establ i shed .

365

Rozdział 8. + Inne protokoły

Sep 1 1 8 : 06 : 15 gal l Sep 1 1 8 : 06 : 15 gal l Sep 1 18 : 06 : 20 gal l [217 . 113 . 227 . 5] Sep 1 18 : 06 : 20 gal l Sep 1 18 : 0 6 : 20 gal l

pppd[394J : Us i ng i nterface pppO pppd[ 394J : Connect : pppO < - - > /dev/modem pppd[394J : not repl aci ng exi sti ng default route to ethO pppd [394J : l ocal I P address 213 . 76 . 62 . 55 pppd[394] : remote I P address 1 . 1 . 1 . l

Rozłączenie sesji za pomocą skryptu /etc/ppp/ppp-ojf. Sep Sep Sep Sep Sep Sep

1 1 1 1 1 1

18 : 06 : 30 18 : 0 6 : 36 18 : 06 : 36 18 : 06 : 36 18 : 06 : 36 1 8 : 0 6 : 36

gal l ga l l gal l ga l l ga l l gal l

pppd[394J : pppd[ 394J : pppd[394J : pppd [ 394J : pppd [394] : pppd[ 394J :

Termi nat i ng on s i gnal 2 . Connecti on termi nated . Connect t i me 0 . 3 mi nutes . Sent 142 bytes . recei ved 1 1 1 bytes . Hangup ( S IGHUPl Exi t .

Czasem przydatne mogą się okazać dodatkowe opcje wywołania ppp; oczywiście jest ich o wiele więcej , niż podaję tutaj : modem - użycie kontrolnych linii modemu, a syncmap O - wyłączenie wszystkich sekwencji sterujących w transmisji, noauth - pozwalamy stronie zdalnej na zestawienie połączenia bez autoryzacji po stronie lokalnej . W przypadku uruchamiania serwera dostępowego PPP należy zapoznać się z opcjami: proxyarp - adresy sprzętowe MAC interfejsów routera będą przedstawiane jako powiązane z adresem IP zdalnego klienta PPP, pers i st opcja używana dla łączy dzierżawionych; po przerwaniu połączenia pppd będzie próbował je nawiązać ponownie. -

Warto pamiętać, że popularne „Win-modemy" - tanie modemy działające w systemie Windows, w których większa część obsługi transmisji przerzucona jest na procesor kom­ putera - mogą stwarzać problemy z pracą w systemie Linuks. Należy zawsze dokładnie zapoznać się z instrukcją użytkownika i możliwościami swojego modemu.

8.6. xDSL DSL (Digital Subscriber Line) oznacza cyfrową linię abonencką; xDSL jest określeniem całej rodziny technologii zapewniających połączenia z wykorzystaniem istniejących sieci telefonicznych, bez konieczności ich przebudowy. Ponieważ modemy DSL wymagają wydzielonej linii kabli miedzianych na swoje potrzeby, najczęściej niezbędna jest dzier­ żawa odpowiedniego łącza od operatora telekomunikacyjnego. Większość łączy stałych o większej przepustowości (powyżej 5 1 2 kb/s) w Polsce jest realizowana za pomocą technologii z rodziny DSL. Korzystając z istniejącej infrastruktury telekomunikacyjnej, technologie te pozwalają uzyskać przepustowości rzędu 6 Mb/s. Ponieważ nieustannie powstają nowe protokoły wykorzystujące coraz bardziej zaawansowane metody trans­ misji, możliwości oferowane przez technologię xDSL ciągle wzrastają.

Sieci komputerowe. Kompendium

366

Organizacją zrzeszającą producentów sprzętu i oprogramowania związanego z tymi technologiami jest DSL Forum ; po najświeższe informacje warto zajrzeć na jej stronę http://www. dslforum. org.

Ważnym pojęciem z zakresu technologii DSL jest symetria łącza. Ponieważ typowy użytkownik Internetu generuje dużo większy ruch do siebie (downstream) niż od siebie (upstream), powstały technologie niesymetrycznego dostępu. Zapewniają one dużo więk­ sze pasmo (najczęściej dziesięć razy większe) podczas pobierania danych z Internetu, a mniejsze przy wysyłaniu. Technologie asymetryczne najczęściej umożliwiają używanie linii telefonicznej do prowadzenia rozmów w trakcie działania łącza. Odbywa się to poprzez zdefiniowanie transmisji DSL w częstotliwościach wyższych niż trwająca transmisja głosu. Modemy DSL możemy podzielić na dwie grupy: + modemy teletransmisyjne - głównie modemy zapewniaj ące transmisje symetryczne, służące zapewnieniu dostępu dla firm posiadających własne serwery, które udostępniają informacje do Internetu, + szerokopasmowe modemy dostępowe - najczęściej urządzenia asymetryczne, używane przez klientów (zarówno instytucjonalnych, jak i prywatnych) chcących zapewnić sobie jedynie wygodny i ekonomiczny dostęp do Internetu, bez udostępniania własnych zasobów na zewnątrz. Logicznym podziałem technologii DSL jest podział ze względu na symetrię transmisji. Asymetryczne: + ADSL (ji1ll rate Asymmetrical DSL), ł G.lite ADSL (G. lite), ł RAD SL (Rate Adaptive DSL), ł VDSL ( Very high bit rate DSL).

Symetryczne: ł SDSL (Symmetric DSL), ł SHDSL, ł HDSL (High data rate DSL),

+ HDSL2 (2nd generation HDSL), + IDSL (Integrated services digital network DSL).

ADSL ADSL (fitll rate Asymmetrical DSL) należy do najlepiej rokujących technologii x.DSL. Oferuje niesymetryczną transmisję o różnych przepustowościach od i do klienta. Jest to dominująca technologia w zastosowaniach komercyjnych i biznesowych. ADSL został opisany w specyfikacji G.992 . 1 ITU-T oraz w standardzie ANSI T l .4 1 3 - 1 998.

367

Rozdział 8. + Inne protokoły

Modem ADSL można rozważać j ako grupę modemów dokonujących jednoczesnej transmisji. Łącze jest dzielone na wiele kanałów (o różnych częstotliwościach nośnych) i na każdym z nich pracuje jeden z modemów. Dzięki temu mamy zapewnioną większą odporność na zakłócenia niż w rozwiązaniu z pojedynczym kanałem o dużej przepusto­ wośCi. W przypadku zakłóceń w pewnych zakresach częstotliwości po prostu zmniejsza się szybkość lub wyłącza modemy na nich pracujące, a pozostałe działaj ą bez zmian. Modem ADSL nie używa pasma O 4 kHz, dzięki czemu możliwa jest normalna trans­ misja głosowa podczas przesyłania danych za pomocą ADSL. Umożliwia to tzw. splitter, czyli prosty filtr rozdzielający pasmo na częstotliwości powyżej i poniżej 4 kHz. Aby takie rozwiązanie działało, również operator telekomunikacyjny musi zamontować taki splitter wydzielaj ący sygnał głosowy na centrali. -

ADSL-1 Najstarsza wersja ADSL pozwalała na transmisję z szybkością 1 ,536 Mb/s (Tl ) lub 2,048 Mb/s (E l ) do klienta z kanałem zwrotnym 16 kb/s dla połączeń nie dłuższych niż 5,5 km.

ADSL-2 W 1 992 roku poj awił się ADSL-2 umożliwiaj ący transmisje dosyłowe 3,072 Mb/s lub (3,096 Mb/s dla wersji europej skiej ) z kanałem zwrotnym 64 kb/s dla odległości mak­ symalnie 3,7 km.

ADSL-3 Aktualnie naj szybszym standardem jest ADSL-3 udostępniający transmisje z szybkością 6,144 Mb/s (dla wersji europejskiej 8,448 Mb/s) do klienta. Kanał zwrotnym ma przepu­ stowość do 576 kb/s (w Europie do 640 kb/s). Transmisja może się odbywać na odległość nie większą niż 2,5 km.

ADSL2 i ADSL2+ ADSL2 jest to nowa rodzina standardów zatwierdzonych przez ITU w normach G.992.3 i G992.4. Umożliwiają one transmisję w kierunku do abonenta z szybkością do 12 Mbps na odległość do 200 metrów. ADSL2+ jest standardem opisanym normą G.992.5 (w tralc­ cie przygotowywania drugiego wydania jeszcze niezatwierdzony) umożliwiającym trans­ misję z szybkością 25 Mb/s.

RADSL RADSL (Rate Adaptive DSL) jest wersją asymetrycznego DSL, której główną cechąjest adaptacja do warunków, czyli automatyczne dopasowanie parametrów transmisji do jako­ ści łącza. Należy zwrócić uwagę, że standard ADSL również pozwala modemowi dobrać szybkość połączenia w zależności od warunków.

368

Sieci komputerowe. Kompendium

SDSL Jest to symetryczna odmiana ADSL-1 wykorzystująca jedną parę przewodów. SDSL (Symmetric DSL) zapewnia dwukierunkową przepustowość od 128 kb/s do 2,32 Mb/s, o zasięgu maksymalnym 4,8 km. Dokładne parametry są zależne od specyficznych implementacji producenta urządzeń. W najbliższym czasie jest spodziewane ogłoszenie zapewniającego wyższe parametry standardu przemysłowego G.hdsl. Jest on opracowy­ wany przez ITU przy współudziale Tl E 1 .4 oraz ETSI.

H DSL HDSL (High data rate DSL) jest technologią o symetrycznej przepustowości w obu kie­ runkach. W zależności od wersji korzysta z jednej, dwóch lub trzech par przewodów tele­ fonicznych. Dostępne są szybkości 1 ,5 Mb/s i 2,3 Mb/s. Technologia ta pojawiła się już w 1 980 roku i od tego czasu doczekała się standaryzacji zarówno przez ETSI, jak i ITU. W Polsce najczęściej spotykany w łączach symetrycznych oferowanych klientom sieci TPNET. Maksymalną szybkością w tym zastosowaniu są 2 Mb/s dla odległości nie więk­ szej niż 7 km. Transmisja HDSL nie może być współdzielona z transmisją głosu.

VDSL VDSL ( Very high bit rate DSL) umożliwia transmisję: 1 2,96 Mb/s, 25,96 Mb/s i 5 1 ,84 Mb/s, przy odległościach do 1 ,5 km. Kanał zwrotny ma przepustowości z zakresu 1 ,6 - 26 Mb/s. Linia może być współdzielona z telefonem.

I DSL IDSL (Integrated services digital network DSL) umożliwia transmisj ę do 144 Kbps za pomocą istniejących linii telefonicznych. Różni się od pozostałych standardów, ponie­ waż umożliwia przesyłanie sygnału poprzez urządzenia DLC (Digital Loop Carrier) instalowane w nowoczesnych instalacjach telekomunikacyjnych. IDSL umożliwia użycie tych samych TA lub modemów co ISDN.

8. 7. Frame Relay Technologia Frame Relay powstała w laboratoriach firmy Bell jako część standardu ISDN. W 1990 roku cztery firmy: DEC, Northem Telecom, Cisco i Stratacom, utworzyły otwarte porozumienie zwane „gangiem czterech", w ramach którego powstała spe­ cyfikacja Frame Relay. W 1991 roku dzięki temu porozumieniu powstało Frame Relay Forum, będące konsorcjum wielu firm (obecnie około 300) i zajmujące się rozwijaniem tej technologii.

Rozdział 8. + Inne protokoły

369

W istniejących standardach 1. 1 22, Q.922 oraz Q.933 zostały zdefiniowane jedynie inter­ fejsy użytkownik-sieć i sieć-sieć, bez opisywania działania samego wnętrza sieci. Pozo­ stawiono to producentom, którzy mogą stosować specyficzne dla siebie rozwiązania wewnątrz sieci tworzonych przez ich urządzenia. Strona Frame Relay Forum http://www.mplsforum.org/. Różne zasoby i manuale dotyczące technologii sieciowych http://www. webtorials.com. -

-

Frame Relay rozwiązała problemy z wysoką szybkością i przepustowością transmisji w sieciach WAN Okazała się ponadto bardzo ekonomiczna w porównaniu z poprzed­ nimi rozwiązaniami, co wpłynęło na jej szybki rozwój i wypieranie wcześniejszej od niej technologii X.25. .

Opis technologii Frame Relay Sieci Frame Relay możemy wykorzystywać do: + stworzenia sieci WAN łączącej sieci lokalne, + podłączenia do Internetu, + komunikacji terminali z komputerem typu mainframe, + transmisji głosu VoFR ( Voice over Frame Relay), + wideo- i telekonferencji. Zalety sieci Frame Relay: + niższe koszty w porównaniu z siecią opartą na fizycznych łączach dzierżawionych, ł duża elastyczność zmian połączeń, ł łatwa integracja z innymi technologiami (np. ATM), ł duża efektywność (mały narzut na obsługę sieci), ł niskie opóźnienia.

Wady sieci Frame Relay: ł protokoły warstw wyższych muszą zapewniać korekcję błędów (retransmisję

uszkodzonych danych) oraz sterowanie przepływem, ł wymagane są łącza o bardzo dobrej jakości.

Frame Relay jest technologią umożliwiającą przesyłanie informacji poprzez sieci WAN dzieląc ją na ramki lub pakiety. Każda ramka ma adres, na podstawie którego sieć olae­ śla jej przeznaczenie. Ramka wędruje poprzez serię przełączników wewnątrz sieci sto­ sującej prostą formę przełączania pakietów. ,

370

Sieci komputerowe. Kompendium

Zasada działania FR Frame Relay oparta jest na przełączaniu pakietów; opiera się na dwóch pierwszych warstwach modelu ISO/OSI. W warstwie 2. odbywa się sprawdzanie poprawności trans­ misji pakietów, jednak bez obsługi retransmisji uszkodzonych; funkcje te zostały zrzu­ cone na protokoły warstw wyższych. Ponadto ramki nie są numerowane. Dzięki tym cechom nie ma dublowania funkcji protokołów warstw wyższych (obsługa retransmisji błędnych pakietów, zachowywanie kolejności itp.), co powoduje ogromny wzrost prze­ pustowości takiej sieci. Wynika to z faktu, że pojedyncza ramka wymaga minimalnej obróbki na każdym z etapów przesyłania. Frame Relay używa zmiennej długości pakietu, który może mieć od kilku do ponad tysiąca bajtów. Sieć Frame Relay (rysunek 8. 1 1) składa się z: + zakończeń sieci - komputery PC, serwery, + wyposażenia dostępowego - mosty, routery, urządzenia dostępowe, + urządzeń sieciowych - przełączniki, routery sieciowe, multipleksery T 1/E l . Rysunek 8.11. Sieć Frame Relay

DTE (Data Terminal Equipment) - urządzenia dostępowe do sieci Frame Relay, np. FRAD, router, most, komputer. FRAD (Frame Relay Access Device) jest to naj ­ częściej urządzenie autonomiczne, wyposażone w porty szeregowe (również LAN), mogące dokonywać transmisji protokołów warstw wyższych w ramkach FR, a dodat­ kowo w zależności od modelu oferujące różne możliwości zarządzania ruchem. DCE (Data Circuit Equipment) - urządzenia międzysieciowe, węzły sieci Frame Relay; najczęściej są to przełączniki FR. Sieć Frame Relay jest często przedstawiana jako chmura, ponieważ nie ustanawia ona fizycznego połączenia pomiędzy stacjami. Zamiast tego definiowana jest ścieżka logiczna poprzez sieć, łącząca fizyczne porty. Ścieżka ta nosi nazwę obwodu wirtualnego VC ( Virtual Circuit), a podczas transmisji danych nie jest alokowane pasmo przesyłowe. VC jest dwudrożną, programowo zdefiniowaną ścieżką przepływu danych pomiędzy dwoma portami. Można go rozpatrywać jako zastępstwo linii prywatnej poprzez sieć.

Rozdział 8. + Inne protokoły

371

Istnieją dwa rodzaje obwodów wirtualnych: + PVC (Permanent Virtual Circuit) - stały obwód wirtualny odpowiadający linii dzierżawionej, + SVC (Switched Virtual Circuit) - przełączany obwód wirtualny, zestawiany i rozłączany na życzenie użytkownika, podobnie jak w sieci telefonicznej . PVC są ustanawiane przez operatora sieci jako połączenie pomiędzy dwoma punktami. Droga, którą wędrują pakiety, może się zmieniać, stałymi elementami są jednak końce PVC. PVC stały się popularne, ponieważ są ekonomiczniejszym odpowiednikiem linii dzierżawionej . SVC są udostępniane na żądanie. Sposób nawiązywania kanału został zdefiniowany w normie Q.933 i jest porównywalny do normalnego używania telefonu; użytkownik podaje adres docelowy, podobnie jak numer telefoniczny. W odróżnieniu od PVC, gdzie operator sieci definiował kanały, tutaj sieć musi dynamicznie ustanowić kanał i zare­ zerwować pasmo w odpowiedzi na żądanie użytkownika. Ponadto sieć zapewnia śledze­ nie połączeń w celu późniejszego rozliczenia kosztów.

Format ramki Frame Relay W ramce Frame Relay (rysunek 8 . 1 2) pakiet użytkownika nie jest w żaden sposób zmie­ niany, a po prostu dodawane są dwa bajty nagłówka. 1 bajt Flagi

1 bajt DLCI

1 bajt



u



DLCI

z

u



z µ:i p'.1 u

µ:i Q



Dane

FCS

Flagi

Rysunek 8.12. Struktura ramki Frame Relay

Flagi (Flag) [ 1 bajt] - znacznik początku i końca ramki, zawiera liczbę Ox7E (0 1 1 1 1 1 1 O). DLCI (Data Link Connection Jdentifier) [l O bitów] - identyfikator połączeń wirtualnych. CIR (Command/Response Field Bit) [ l bit] - bit służący odróżnieniu polecenia (O) od odpowiedzi ( 1 ) w ramkach kontrolnych. EA (Extension Address) [ l bit] - bit służący do odróżnienia rozszerzonego nagłówka (o długości 3 lub 4 bajtów). W ostatnim z bajtów nagłówka bit ten przyjmuje wartość 1 , a we wcześniejszych ustawiony jest na O. DE (Discard Eligibility) [ l bit] - jeśli bit ten ma wartość O, oznacza to podwyższony priorytet ramki. DIC (DLCI/Control) [ 1 bit] - określa rodzaj adresowania, dla DLCI jego wartość wynosi O.

372

Sieci komputerowe. Kompendium

FECN (Forward Explicit Congestion Notification) [l bit] - informuje o powstaniu prze­ ciążenia w sieci. BECN (Backward Explicit Congestion Notification) [ l bit] - informuje o powstaniu przeciążenia w sieci. Dane (Data) - pole danych, w którym umieszczony zostaje transpotiowany pakiet. Może mieć rozmiar dochodzący do 1 6 OOO.

Mechanizmy sieci FR Najważniejszym parametrem zawartym w nagłówku ramki Frame Relay jest DLCI, 1 0-bitowy numer obwodu wirtualnego. Dzięki tablicy routingu każdy przełącznik uczest­ niczący w przekazywaniu ramki może na podstawie numeru DLCI określić prawidłową trasę dla ramki, czyli numer swojego portu, na który należy ją skierować (rysunek 8 . 1 3). Każdy DTE może mieć przyporządkowane 99 numerów DLCI - co umożliwia podłą­ czenie do głównego routera w famie np. trzech obwodów wirtualnych przenoszących połączenia z trzema odległymi lokalizacjami. Rysunek 8.13. Numer DLCI



,.··

(/

···.... ···„..

··......... .......-·

· ,.····· ····

..

( DLCI 2

.. „.

Oczywiście urządzeniami końcowymi wcale nie muszą być routery, zostało to tak przed­ stawione dla uproszczenia. Przełącznik Frame Relay (czasem nazywany węzłem) może zawrzeć obsługę ramki w trzech krokach, co upraszcza i przyspiesza cały proces: 1. Sprawdzenie integralności ramki na podstawie FCS. 2. Wyszukanie numeru DLCI w tablicy routingu; w przypadku braku wpisu ramka

jest porzucana. 3. Przekazanie ramki na port określony w tablicy routingu.

Przełącznik nie zajmuje się zatem jakimkolwiek powiadamianiem o usunięciu ramki. Jak już wspomniałem, wykrywanie utraty danych zostało przerzucone na protokoły warstw wyższych.

Rozdział 8. • Inne protokoły

373

Ponieważ w przypadku wykrycia błędnej ramki - na podstawie FCS -jest ona porzu­ cana, stacja nadawcza za pomocą protokołów warstw wyższych musi wykryć to zdarzenie i retransmitować dane. Narzut (czasowy) w obsłudze błędów przez warstwy wyższe jest wysoki, więc protokół Frame Relay jest mało wydajny na łączach o zbyt niskiej jakości, z dużym poziomem błędów transmisji. Ponadto w przypadku powstania zatorów w sieci ramki nadmiarowe są również usuwane bez powiadamiania. W sieciach Frame Relay są używane trzy rodzaj e sygnalizacji:

+ zawiadamianie o przeciążeniach sieci, + informacja o statusie połączenia PVC, + sygnalizacja SVC. Za pomocą bitów ECN (Explicit Congestion Notifzcation) zgłaszane jest przeciążenie sieci. Jeśli przeciążony został przełącznik FR, do nadawcy docierają komunikaty BECN, oznaczające „za szybko transmitujesz", a do odbiorcy FECN informujące go o przecią­ żeniu przełącznika. Jeśli nadawca nie zmniejszy szybkości transmisji, zaczynają być kasowane ramki z bitem DE = 1 ; jeśli sytuacja nadal się nie poprawia, przełącznik usuwa ramki przekraczające szybkość określoną parametrem CIR (zostanie omówiony dalej). Bit DE może być wykorzystany do zarządzania przepustowością, dokonywania pomia­ rów ruchu i zapewnienia gwarantowanego poziomu usług (QoS). Niektóre urządzenia mają zaimplementowaną technologię CLLM ( Consolidated Link Layer Management), w której informacje o przeciążeniu sieci przesyłane są za pomocą ramek z bitem CIR 1 oraz DLCI 1 023. Pomimo że sam protokół Frame Relay nie reaguje na wystąpienie przeciążeń, niektóre protokoły warstw wyższych potrafią reagować na ukryte powiada­ mianie o przeciążeniach (lmplicit Congestion Notification) poprzez wykrywanie wzrostu opóźnienia w transmisji lub strat wysyłanych ramek. =

=

Standardy ANSI i ITU definiują mechanizm do komunikacji statusu stałego obwodu wir­ tualnego PVC; bazuje on na modyfikacji Frame Relay, zwanej LMI (Loca! Management Interface). Istniej ą trzy wersje specyfikacji LMI: Protokół

Specyfikacja

LMI

Frame Relay Forum IA FRF. l , poprawione przez FRF. 1 . 1

Aneks D

ANSI T l . 6 1 7

Aneks A

ITU Q.933 wymieniona w FRF. 1 . 1

Wszyscy dostawcy sprzętu wspieraj ą LMI, a większość również Aneks D. Komunikat dotyczący PVC może mieć dwa rodzaje statusu:

+ Data Transfer - trwa transmisj a danych, + !die - brak transmisji, ale połączenie jest nawiązane. Sygnalizacja SVC udostępnia informacje o połączeniu, ro.in. rozmiar, ilość przesłanych danych, adresy, parametry dotyczące pasma. Wymagania dotyczące zestawiania kanału SVC zostały opisane w dokumencie FRF.4. Komunikat dotyczący SVC może mieć nastę­ pujące rodzaj e statusu:

Sieci komputerowe. Kompendium

374

ł Call Setup

-

ustalanie połączenia,

ł Data Transfer

-

trwa transmisja danych,

ł !die brak transmisji, ale połączenie jest nawiązane; jeśli stan ten się przedłuży powyżej określonego czasu, połączenie zostanie zerwane, -

ł Call Termination

-

połączenie nie jest nawiązane.

Ramki LMI charakteryzują się trochę inną strukturą niż ramki Frame Relay i mają z góry zarezerwowane wartości pola DLCI, po którym są rozpoznawane. Dla ramek LMI pole DLCI 1 023. Ponadto wartości 1 0 1 9 < DLCI < 1 022 zostały zarezerwowane dla ruchu grupowego (multicast). Podział DLCI w tabeli 8 . 1 . =

Tabela 8.1. Podział DLCI Zastosowanie

Aneks A - ITU Q.933 Aneks D - T1.617

LMI - FRF.1.1

Zarządzanie, sygnalizacja

o

o

Rezerwacja dla przyszłych zastosowań

1 - 15

1 - 15

Przeznaczone dla połączeń użytkowników

1 6 - 991

1 6 - 1 007

Zarezerwowane dla zarządzania warstwy 2.

992 - 1 007

Zarezerwowane dla przyszłych zastosowań

1 008 - 1 0 1 9

1 008 - 1 0 1 9

Ruch grupowy

1 0 1 9 - 1 022

1 0 1 9 - 1 022

Zarządzanie (LMI, komunikaty związane z protokołami warstw wyższych)

1 023

1 023

Parametry transmisji FR Podczas zakupu łącza Frame Relay od dostawcy pojawiają się pojęcia związane z gwa­ rancjami pasma. CIR (Committed Information Rate) jest to gwarantowana przepusto­ wość dla PVC (rzadziej SVC); określa dostępną przepustowość obwodu wirtualnego w warunkach normalnej pracy sieci. Jest to ilość bajtów Be w pewnym czasie Tc, której transmisję sieć FR gwarantuje dla danego PVC (lub SVC). CIR = Be/Tc

Be - committed burst size Tc - measurement interval Na każdym porcie FR może być wiele PVC, a każde może mieć przypisane dwie war­ tości C I R , po jednej dla każdego z kierunków transmisji.

Ważnym parametrem j est EIR (Excess Information Rate), określaj ący maksymalną przepustowość obwodu wirtualnego ponad przepustowość gwarantowaną. Jest to ilość bajtów Be w pewnym czasie Tc, które sieć może przesłać dla określonego PVC (lub SVC) przy założeniu wolnych zasobów sieci.

Rozdział 8. • Inne protokoly EIR = Be

375

I Tc

Be - excess burst size AR - access rate

-

pasmo dostępne dla interfej su

(np. dla El będzie to

2 Mb/s)

Całkowita przepustowość łącza

AR

może być dzielona pomiędzy kilka kanałów wir­

tualnych, wprowadzone więc zostało pojęcie:

Peak - maksymalna szybkość wydzielona dla danego DLCI (pasmo dla PVC), Maksymalna przepustowość dla jednego DLCI jest sumą wartości CIR i EIR - PIR

(Peak lnformation Rate). PIR

=

CIR+EIR

Jeśli przyjmiemy, że czas Tc jest równy jednej sekundzie, otrzymamy: PIR = Bc+Be Należy pamiętać, że CIR jest gwarantowany j edynie do najbliższego routera brzegowego FrameRelay i w praktyce nie wpływa istotnie na „szybkość otwierania się stron", co jest głównym parametrem ocenianym przez użytkowników. Jeśli chodzi o cenę, to najczęściej koszt CIR-u jest znaczącą pozycją w rachunku za łącze internetowe. Z opinii osób, które praktycznie przetestowały łącza z CIR-em i bez, wynika, że bardziej opłaca się zainwe­ stować zaoszczędzone na CIR pieniądze w zwiększenie przepustowości łącza. Niestety, największy polski dostawca zmienił swoj ą politykę i już nie udostępnia łączy z parame­ trem CIR równym zeru. A w dodatku każe sobie słono płacić nawet za najmniejszy CIR.

U wielu innych dostawców CIR jest parametrem dodawanym gratis do łącza. Oczywi­ ście jeśli potrzebujemy zagwarantowanej przepustowości - najczęściej gdy próbujemy połączyć dwie lokalizacje siecią VPN - należy wykupić CIR. Za pomocą bitu DE ustawionego na

O powinniśmy oznaczać ruch ważniej szych

apli­

kacji - czułych na utratę ramek. Dla pozostałych aplikacji bit DE powinien mieć wartość

1 , oznaczającą zgodę na zagubienie danych. W ten

sposób możemy decydować o danych

przydzielonych do pasma CIR i do pasma EIR.

8.8. ATM ATM

(Asynchronous Transfer Mode) jest szerokopasmową technologią używaną w wielu

zastosowaniach: transmisj a głosu i obrazu, transmisj a danych interakcyjnych, tworze­ nie dużych i złożonych sieci MAN i

W AN.

Jest to technologia naj częściej stosowana

przez dostawców Internetu. Statystyki potwierdzają, że aktualnie ponad

70% transmisji

w światowym Internecie wykorzystuje właśnie ATM. Początki tej technologii pojawiają się w specyfikacji B-ISDN.

W 1991

roku firmy komercyjne zawiązały ATM Forum, któ­

rego zadaniem jest opracowywanie i standaryzacja technologii ATM. Dopiero w roku został opublikowany pełny zestaw specyfikacj i ATM. Strona ATM Forum -

http://www. atmforum. com/.

1 996

376

Sieci komputerowe. Kompendium

Dobra polska strona o tech nologii ATM atm_index.html.

-

http://www. technologie. pf/atm/

Ogromną zaletą, decydującą o szybkim rozwoju technologii ATM jest jej niezależność od medium transmisyjnego. Specyfikacja ATM nie obejmuje pierwszej warstwy modelu ISO/OSI, dzięki czemu może wykorzystywać sieci oparte na różnych rodzajach nośni­ ków. Obecnie wykorzystywanymi przepustowościami w sieciach ATM są: 34 Mb/s (ak­ tualnie polscy operatorzy zwiększają szybkość swoich połączeń szkieletowych powyżej tej wartości), 1 00 Mb/s, 1 55 Mb/s (najpowszechniej używana szybkość), 622 Mb/s i 2,5 Gb/s.

Właściwości standardu ATM Informacja przesyłana jest w komórkach (cells) o stałym rozmiarze 53 bajtów, przy czym dane zajmują 48 bajtów, a reszta przypada na nagłówek. Jak wskazuje nazwa tech­ nologii ATM, dane transmitowane są asynchronicznie, czyli komórki należące do różnych połączeń są ze sobą wymieszane i przesyłane bez z góry ustalonego porządku. Poszcze­ gólne połączenia mogą mieć różną szybkość, zgodną z przyjętymi standardami. Można wykorzystać tę technologię do transmisji multimedialnych o założonym maksymalnym opóźnieniu nie większym niż 1 O ms. Transmisje odbywają się głównie w trybie połą­ czeniowym, czyli na początku jest faza nawiązania połączenia, a po zakończeniu trans­ misji faza rozłączania. Parametry połączenia mogą być dynamicznie modyfikowane podczas trwania transmisji. Sieć ATM pozwala na przenoszenie różnorodnych protoko­ łów warstw wyższych.

l nteńejsy ATM Wyróżniamy trzy podstawowe rodzaje interfejsów w sieciach ATM:

+ UNI ( User to Network Interface)

-

styk użytkownika z siecią szerokopasmową,

+ NNI (Network to Network Interface)

-

styk sieciowy pomiędzy węzłami ATM,

+ PNNI (Private Network to Network lnte1face) standard opracowany w 1 995 roku w celu zapewnienia zgodności pomiędzy urządzeniami pochodzącymi od różnych producentów; została w nim również zawarta możliwość „uczenia się" topologii sieci przez przełączniki ATM. -

Rodzaje połączeń w sieciach ATM Połączenia w siei ATM nie oddają struktury fizycznej tej sieci, czyli są one j edynie logiczne. Wyróżniamy dwa rodzaje tych połączeń:

+ VC ( Virtual Channel); kanał wirtualny - jest to jednokierunkowe logiczne połączenie poprzez sieć ATM (rysunek 8 . 1 4),

Rozdział 8. + Inne protokoły

377 ..

. .

.

„ . . . . . . . . . . . . . . .. . . . . ··· · • · · · · ·

·· · ·

·

.„

6B · · ..

.

· · · ···

·

.. „ . . . . . „.„ . . . . . . . . . . „ . . .

· · · · ···

Rysunek 8.14. Ścieżki i kanały wirtualne w sieci A TM

ł VP ( Virtual Path) ; ścieżka wirtualna - składa się na nią pewna liczba VC

tworząca wiązkę pomiędzy dwoma lub więcej stacjami podłączonymi do tych samych węzłów (przełączników ATM) końcowych (rysunek 8 . 1 4) .

Główną zaletą wyróżnienia

VP jest możliwość wspólnego zarządzania wieloma kanałami

wirtualnymi VC. Upraszcza to system ze względu na skomplikowaną procedurę ustalania trasy podczas nawiązywania połączenia, którą możemy pominąć przy dodawaniu kolej­ nego VC do ścieżki wirtualnej

VP. Ponadto przy zmianie trasy ścieżki wirtualnej jest ona

ustalana tylko raz dla wszystkich kanałów wirtualnych zawartych w ścieżce.

W celu

odróżnienia poszczególnych kanałów i ścieżek wirtualnych przydzielane są im identy­

VPI ( Virtual Path ldentifier) i identyfikator (Virtual Channel ldentifier) zawarte są w polach nagłówka

fikatory. Identyfikator ścieżki wirtualnej kanału wirtualnego VCI

pakietu ATM. Aby nawiązać połączenie pomiędzy punktami A i B, musimy zestawić parę połączeń: A-B i B-A, przy czym mogą one mieć różną przepustowość (mogą być asymetryczne) . Struktura połączeń ATM:

ł unicast

-

połączenia pomiędzy abonentami,

+ multicast - stosowane do telekonferencj i, ł broadcast - transmisj e rozgłoszeniowe.

Komórka ATM Jak już wspomniałem, jednostką informacj i ATM jest komórka

53

bajtów, przy czym nagłówek zajmuj e

5

(cell) o

stałym rozmiarze

bajtów. Duży rozmiar nagłówka w stosunku

do rozmiaru całej komórki powoduje duży narzut na sterowanie. Jednak dzięki stałemu

378

Sieci komputerowe. Kompendium

rozmiarowi jednostki transmisyjnej ułatwione zostało zadanie przydzielania przepustowo­ ści sieci, uproszczone zarządzanie ruchem, szybsze rozładowywanie zatorów oraz łatwiej­ sze stała się rekonfiguracja struktury sieci. Wyróżniamy dwa rodzaje komórek ATM: + z nagłówkiem UNI tworzone w węzłach z interfejsem UNI na styku użytkownika z siecią (rysunek 8 . 1 5), -

o

I

1

I

2

GFC VPI

I

I

4

3

VCI

I

I

6

VPI VCI - -

PTI

VCI

..

5

HEC

Dane (48 b ajtów)

I

I

RES

7

bit -

z :::J � Q)

CLP

3:

•O

Tu ro z

Rysunek 8.15. Nagłówek A TM typu UN!

+ z nagłówkiem NNI (rysunek 8. 1 6). o

I

-

1

I

VPI

2

tworzone w węzłach (przełącznikach) ATM

-

I

3

I

I

4

VPI

I

-1

-

5

- „_

VCI

I

6

I

PTI

HEC

Dane (48 bajtów)

7

-

RES

I

bit -

- ·

VCI

VCI

-

I

z z � Q)

CLP

3:

•O

Tu ro z

Rysunek 8.16. Nagłówek A TM typu NN!

GFC (Generic Flow Control) - pole wykorzystywane do kontroli przepływu, używane na styku użytkownik-sieć ATM. VPI ( Virtual Path Jdentifier) identyfikator ścieżki logicznej , dla nagłówka UNI ma długość 8 bitów, a dla NNI - 12 bitów. Wynika z tego, że na styku UN1 można utwo­ rzyć do 256 ścieżek wirtualnych, a na styku NNI do 4096 VP. -

-

VCI ( Virtual Channel Identifier) - identyfikator kanału logicznego, VPI i VCI łącznie służą do wyznaczania drogi (trasowania) komórki. PT (Payload Type) - pole typu danych; dla danych użytkownika ma ustawioną wartość „OOO".

Rozdział 8. ł Inne protokoły

379

CLP (Cell Loss Priority) - priorytet zagubienia komórki; wartość „ 1 " oznacza, że komórka może zostać porzucona, jeśli sieć będzie zatłoczona. HEC (Header Error Control) - pole kontrolne generowane w warstwie ATM, służy do wykrywania błędów transmisji. Typy komórek: + puste (ldle) - nie przenoszące żadnej informacj i, wykorzystywane przy dostosowywaniu szybkości pomiędzy warstwą fizyczną i ATM, + poprawne ( Va/id) - komórki prawidłowo przesłane, + niepoprawne (lnvalid) - komórki uszkodzone, + przydzielone (Assigned) - komórka dostarczająca aplikacjom usługi w warstwie ATM, + nieprzydzielone ( Unassigned) - wszystkie nieprzydzielone komórki znajdujące się w warstwie ATM. Sieci ATM nie dokonują sprawdzania poprawności przesyłanych danych, zadanie to musi być wykonane przez protokoły warstw wyższych. Oznacza to, że przy łączach słabej jakości technologia ta staje się mało wydajna. W przełącznikach ATM zachodzi zjawisko nazwane multipleksacją statystyczną (ety­ kietowaną), polegające na wstępnej analizie statystycznej napływających danych wej­ ściowych i odpowiedniej zmianie przepływności kanałów wyjściowych.

Usługi ATM Wyróżniamy trzy rodzaje usług świadczonych przez sieć ATM: + PVC (Permanent Virtual Circuits) - z punktu widzenia użytkownika odgrywa rolę linii dzierżawionej, wszystkie urządzenia tworzące połączenie (na jego trasie) muszą zostać do tego celu ręcznie skonfigurowane, + SVC (Switched Virtual Circuits) - z punktu widzenia użytkownika odgrywa rolę połączenia komutowanego, występuje faza nawiązywania połączenia i ustalania trasy, + usługi bezpołączeniowe (connectionless services) - nie wymagają fazy organizacji trasy przed transmisją danych. Aby zainicjować połączenie SVC, stacja nadawcza wysyła komunikat setup z adresem ATM stacji docelowej . W komunikacie tym jest również zdefiniowana wymagana prze­ pustowość i parametry określające jakość transmisji QoS. Przełączniki ATM przesyłają ten komunikat pomiędzy sobą, aż do stacji docelowej . Jeśli możliwe będzie uzyskanie założonych parametrów połączenia i stacj a docelowa wyrazi na nie zgodę, tą samą trasą wysyła ona wiadomość connect. Po odebraniu tej wiadomości stacja nadawcza

Sieci komputerowe. Kompendium

380

może rozpocząć transmisję danych. Jeśli stacja docelowa nie zatwierdza połączenia lub zamierza rozłączyć istniejące połączenie, wysyła komunikat release. Wyznaczeniem trasy przez przełączniki ATM zajmuje się protokół PNNI. W przypadku połączeń statycznych PVC cała obsługa związana z konfiguracją przebiegu ich trasy spada na administratora sieci. Musi on skonfigurować każdy z przełączników tworzących połączenie, weryfikując jednocześnie możliwości spełnienia wymagań sze­ rokości pasma i QoS.

Model ATM Model ATM obejmuje trzy pierwsze warstwy modelu ISO/OSI (rysunek 8 . 1 7). Model ATM

Rysunek 8.17. Model protokołu A TM Model OSI Warstwa aplikacji Warstwy wyższe

Warstwa prezentacji

Warstwy wyższe

Warstwa sesji Warstwa transportowa Warstwa adaptacyjna ATM

Warstwa sieciowa Warstwa tacza danych --------------

Warstwa sprzętowa

Warstwa ATM 1-------� Warstwa fizyczna

1. Warstwa fizyczna (ATM Physical Layer)

-

nie definiuje konkretnego medium

transmisyjnego. 2. Warstwa ATM (A TM Layer)

-

obejmuje protokoły transmisji oraz routingu

dla kanałów wirtualnych. 3. Warstwa adaptacyj na ATM (A TM Adaptation Layer) - definiuje metody

podziału i składania jednostek danych protokołów warstw wyższych do komórek ATM. Określa również algorytmy kontroli błędów i sterowania przepływem. Możliwości przełącznika ATM rozróżniamy właśnie po liczbie i rodzaju zaimplementowanych funkcji warstwy AAL. Funkcje warstwy AAL są podzielone pomiędzy pięć protokołów: + AALl transmisja danych ze stałą szybkością (CBR), synchronizacja przepływu danych, informacje o uszkodzeniach lub o błędach w danych; -

+ AAL2 transmisja danych ze zmienną szybkością (VBR), informacja o poziomie wypełr.�.::nia komórek; -

Rozdział 8. + Inne protokoły

381

ł AAL3/4 - transmisja danych wrażliwych na uszkodzenia i opóźnienia,

tryb pracy z wymianą komunikatów i drugi tryb pracy bez potwierdzeń; ł AALS - optymalizacj a transmisj i i minimalizacja przeciążeń, korekcj a

błędów, sygnalizacja wspomagająca protokoły IP i Frame Relay. Dodatkowo, j ak widać na rysunku, wyróżnione zostały trzy płaszczyzny: ł użytkownika - funkcje transferu informacji użytkownika oraz sterowania

przepływem, ł sterowania - funkcj e sygnalizacyjne odpowiedzialne za ustanawianie,

zarządzanie i rozłączanie połączeń, ł zarządzania: ł

zarządzanie warstwą - zarządza funkcjami specyficznymi dla warstw (np. detekcja błędów i problemów związanych z protokołami),

ł

zarządzanie płaszczyzną - koordynacja międzypłaszczyznowa.

Klasy ruchu ATM Forum przyjęło następujące kategorie ruchu w celach zarządzania transmisją: ł CBR (Constant Bit Rate) - „stała przepustowość" - usługi wymagające stałej

przepływności, np. emulacja stałych łączy, multimedia, ł VBR ( Variable Bit Rate) - „zmienna przepustowość" - usługi wymagające

zmiennych przepływności; istnieją dwa rodzaje tej klasy: ł

real-time VBR - usługi „czasu rzeczywistego",

ł

non-real VBR - usługi wymagające limitowanego czasu reakcji, ale nie wymagające reakcji w „czasie rzeczywistym",

ł ABR (Available Bit Rate) - „dostępna przepustowość" - usługi wymagające

określonej minimalnej przepływności, np. transfer danych, ł UBR (Unspecified Bit Rate) - „niezdefiniowana przepustowość" - usługi nie

wymagające jakiegokolwiek poziomu przepływności. Na podstawie tych kategorii określane są różne klasy (tabela 8.3) jakości ruchu ATM: ł klasa A - usługi połączeniowe CBR, ł klasa B - usługi połączeniowe VBR, ł klasa C - usługi połączeniowe ze zmienną szybkością transmisji,

bez synchronizacji czasowej (np. Frame Relay, TCP/IP), ł klasa D - usługi bezpołączeniowe ze zmienną szybkością transmisji,

bez synchronizacji czasowej .

--·--·-------,

382

Sieci komputerowe. Kompendium

Tabela 8.2. Funkcje warstw A TM ISO/OSI

Nazwa warstwy ATM

Podwarstwy ATM

Funkcje

7 6 5

Warstwy wyższe ISO

4

3

AAL

CS (Convergence Sublayer)

Podwarstwa zbieżności

SAR (Segmentation and Reassembly)

Segmentacja i składanie Sterowanie przepływem informacji

2

Generacj a i wydzielanie nagłówka

ATM

Translacja identyfikatora ścieżki (kanału) Multipleksacja i demultipleksacja komórek Dopasowywanie szybkości transmisji komórek

I

TC (Transmission Convergence Sublayer) podwarstwa zbieżności transmisji

Warstwa fizyczna

Generowanie i weryfikacj a nagłówka komórki Wydzielanie komórek ze strumienia bitów Adaptacj a ramki transmisyjnej Generowanie i odtwarzanie ramki transmisyjnej

PM (Physical Medium Sublayer) podwarstwa medium fizycznego

Realizacja podstawy czasu Zapewnienie łącza fizycznego

Tabela 8.3. Klasy usług A TM Klas a usług A

Synchronizacj a Szybkość transmisj i

B

wymagana pomię dzy terminalami stała

Rodzaj połączenia Warstwa AAL

I I

I

I

D

me wymagana zmienna

połączeniowy AAL 2

c

AAL 2

I

AAL 3/4, 5

bezpołączeniowy

I

AAL 3/4

Rozdział 8. + Inne protokoły

383

Funkcje odpowiedzialne za zapewnienie jakości usług QoS (Quality ofService) zostały podzielone na trzy poziomy: + sterowanie łączem - zestawianie (CAC - Connection Admission Control) i zwalnianie połączenia, w przypadku gdy nie ma możliwości spełnienia wymagań co do jakości, połączenie nie zostanie nawiązane, + kontrola połączenia - przydział zasobów podczas transmisji, + kontrola komórek - nadzorowanie nieprzekraczania założonego transferu dla połączenia. Stosowane są dwie metody sterowania przepływem (ABR). Obie sprowadzają się do reakcji na przeciążenia sieci. W pierwszej do nadawcy wysyłane są komórki z ustawioną flagą EFCI (Explicit Congestion lndicator), sygnalizujące zator. Druga metoda, o wiele lepsza, wysyła do nadawcy sygnał ER (Explicit Rate) wraz z określoną wartością, o ile ma on zmniejszyć szybkość transmisji.

Trasowanie ATM Pierwszym rodzajem routingu w sieciach ATM był routing centralny, polegający na instalacji routera centralnego podłączonego jednocześnie do większości sieci wirtual­ nych. Ze względu na niską skalowalność takiego rozwiązania powstała metoda routingu rozproszonego. W metodzie tej każde urządzenie dostępowe jest jednocześnie przełącz­ nikiem i routerem, a wyboru najlepszej trasy dokonuje za pomocą protokołu OSPF (Open Shortest Path First). Ze względu na wysoki koszt urządzeń, duże trudności w admini­ strowaniu taką siecią oraz problemy z bezpieczeństwem powstała następna metoda tra­ sowania, MPOA (Mufti protocol Over ATM). Do pewnego poziomu ruchu w sieci traso­ wanie dla całej sieci odbywa się przez kilka nowoczesnych routerów. Jeśli poziom ruchu przekroczy wartość graniczną, przekaz następuje bezpośrednio poprzez przełączniki ATM, aż do powrotu do stanu poprzedniego.

Dodatkowe możliwości sieci ATM W 1 995 roku został zdefiniowany standard LANE (LAN Emulation) emulacji przez ATM standardów sieci LAN: IEEE 802.3 Ethernet, 802.5 Token Ring, 802. 1 2 l OOVG­ -AnyLAN. Emulacja taka zachowuje funkcjonalność sieci LAN, ale działa z większą szybkością. Istnieje protokół umożliwiaj ący dostęp do sieci ATM przy wykorzystaniu komórek większych (o zmiennej długości) niż 53 bajty. Protokół ten ma nazwę FUNI (Frame based user to network Interface) i obsługiwany jest przez AAL5. Przy ATM Forum pracuje grupa VTOA ( Voice and Telephony Services Over A TM) zajmująca się tworzeniem standardów transmisji głosu przez sieć ATM.

Sieci komputerowe. Kompendium

384

8.9. Sieci w gniazdku zasilającym - PLC Poszukiwania najtańszego medium transmisyjnego objęły również sieci zasilające. Technologię sieci komputerowych wykorzystujących istniejące sieci zasilające nazwano PLC (Power Line Communication). Czasem spotyka się określenia PLT (Power Line Telecommunications) lub BPL (Broadband over Power Line). Główną ideą takiego roz­ wiązania jest przesłanie równolegle z napięciem zasilającym 220 V o częstotliwości 50 Hz sygnału wykorzystującego o wiele większą częstotliwość, transmitującego dane. Jeśli czę­ stotliwości sygnałów będą odpowiednio odległe, to sygnały nie będą się za bardzo zakłó­ cały. Olbrzymią zaletą takiego rozwiązania jest wykorzystanie najpowszechniej istnieją­ cej sieci przewodowej na świecie - czyli sieci zasilającej . Sieci PLC mogą dostarczyć następujących usług: + cyfrowa telefonia, + dostęp do Internetu, + budowa „inteligentnego budynku", gdzie wszystkie urządzenia elektryczne mają również dostęp do sterującej nimi sieci komputerowej . PLC jest technologią atrakcyjną finansowo dla operatorów ze względu na minimalizację kosztów instalacji medium transmisyjnego sieci.

Topologia sieci PLC Z elektrowni płynie prąd o bardzo wysokim napięciu, które zmniejszane jest na kolejnych stacjach transformatorowych (rysunek 8 . 1 8). Dopiero do naszych mieszkań dociera jako prąd zmienny 220 V, 50 Hz (w USA obowiązuje 1 1 0 V, 60 Hz). Przy transformatorach zamieniających napięcie na 220 V dodawany jest sygnał PLC. Użytkownik końcowy do gniazdka zasilającego wpina modem, do którego podłącza komputer - najczęściej złą­ czem Ethernet lub USB. Rysunek 8.18. Schemat sieci zasilającej i PLC

Elektrownia o l1l

.� ·g, � ·l1lo_ ·-

c c l1l



Rozdział 8. + Inne protokoły

385

Na rysunku 8 . 1 9 przedstawiono schemat typowej struktury sieci PLC. Można wyznaczyć pewne wmiości charakterystyczne dla takich sieci: + liczba stacji w sieci PLC: 250 - 400, + średnia liczba sekcji: 5 , + liczba stacji w sekcji: 50 - 80, + średnica sieci: ok. 500 m. Rysunek 8.19. Topologia sieci PLC

linia niskiego napięcia

Standardy PLC CENELEC Europej skim standardem sieci PLC j est CENELEC EN 50065 (Comite Europeen de Normalisation Electrotechnique). Standard określa częstotliwości dostępne dla sieci PLC na od 9 do 148,5 kHz (w USA i Japonii nawet do 500 kHz), dzieląc to pasmo na cztery zakresy: ·

9 kHz - A - 95 kHz - B - 1 25 kHz - C - 1 40 kHz - D - 1 48,5 kHz

Taki podział umożliwia wybór pasma h·ansmisyjnego o najmniejszych zakłóceniach i najlepszych parametrach transmisyjnych. Ponieważ standard ten umożliwiał transmisje maksymalnie 300 kb/s, pięć lat później została zatwierdzona norma IEC 6 1 .000-3-8 (Signaling on low voltage installations Emission levels, frequency hands and electromagnetic disturbance levels), w której czę­ stotliwości maksymalne zostały określone na 525 kHz (zostało to uzależnione od regionu).

ETSI Organizacja ETSI już od 1 992 roku pracuje nad projektem „Powerline Telecommuni­ cation". W listopadzie 2000 roku został przez nią opublikowany standard TS 1 0 1 867 o nazwie „Współdziałanie dostępu zewnątrzbudynkowego i wewnąh·zbudynkowego w systemach Powerline". Jest to specyfikacj a zapewniająca możliwości osiągnięcia

386

Sieci komputerowe. Kompendium

większych przepustowości poprzez drastyczne poszerzenie pasma. Dokonany został podział częstotliwości na 1 ,6 1 O MHz dla systemu zewnętrznego (od stacji bazowej do mieszkań) oraz na 1 0 - 30 MHz dla sieci wewnątrz budynków. -

Ciekawe strony dotyczące zagadnień sieci PLC: + http://www. plcforum.org

+ http://www. test-therm. com.pl/temp/plc.htm + http://sp3key.com/plc/pfc.html

Wady PLC Główną wadą sieci PLC są zakłócenia elektromagnetyczne wypromieniowywane przez olbrzymią antenę, jaką staje się sieć energetyczna podczas wykorzystania jej jako sieci PLC. Dodając do tego zjawisko powstawania częstotliwości harmonicznych wyższych od 30 MHz, daj e to duże możliwości zakłócania pracy wielu systemów radiowych. W Polsce nie ma jeszcze ustalonych norm dla poziomu zakłóceń wynikających z cyfro­ wej transmisji za pomocą sieci energetycznej, dzięki czemu nie obowiązują również ograniczenia w zastosowaniu urządzeń PLC. Zakłócane mogą być ro.in. : + radiostacje służb cywilnych i wojskowych, + stacje radiowe na falach długich i średnich, + urządzenia medyczne nie posiadające filtrów usuwających z sieci sygnał PLC (większość). Również z uwagi na silne wypromieniowywanie sygnału przez sieci PLC możliwość podsłuchania transmisji przez osoby niepowołane jest bardzo wysoka. Przykładowo w Wielkiej Brytanii technologia ta nie została dopuszczona do użytku ze względu na zbyt wysoki poziom generowanych zakłóceń. Komisja Europejska pracuje nad odpowiednimi normami dotyczącymi poziomu zakłóceń sieci PLC, jednak na pod­ stawie różnych badań praktycznych można stwierdzić ich bardzo wysoki poziom. Przy­ kładowo na podstawie badań przeprowadzonych w Szwajcarii okazało się, że poziom zakłóceń generowanych przez PLC jest wyższy o 1 O dB od najbardziej liberalnych aktu­ alnie norm niemieckich, złagodzonych właśnie pod kątem zastosowania PLC. Dodatkowym problemem do rozpatrzenia jest możliwość przekraczania norm emisj i promieniowania elektromagnetycznego i j ego wpływ n a zdrowie człowieka. Należy uwzględnić, że promieniowanie takie ma charakter ciągły. Aby wprowadzić jednak trochę optymizmu do tych rozważań, zacytuję tutaj wypowiedź Pana Marcina Bodnara, prezesa firmy Pattem Communications, która ukazała się na łamach „PC Kuriera" w numerze 6/2002:

Zakończyliśmy już fazę testów, trwających od lipca ub. r. a obejmujących 15 użytkowników w ZE Kraków. Okazało się, że systemy PLC nie zakłócają pracy żadnych urządzeń podłączonych do takiej sieci, a pracujące urządzenia „

Rozdział 8. • Inne protokoły

387

nie mają negatywnego wpływu na transmisję danych. Osiągnięta przez nas przepustowość to 2, 5 Mbls, natomiast pojedynczy użytkownik dysponował średnio przepustowością ok. 400 kb/s. W najbliższym czasie spodziewamy się rozwoju technologii do poziomu 6 I O Mb/s, w co jestem skłonny uwierzyć, biorąc pod uwagę, że na początku 2001 roku maksymalna prędkość wynosiła I Mbls. " -

8.10. Sieci telewizji kablowych Uzyskującą coraz większą popularność metodą dostępu do Internetu są kablowe sieci telewizyjne. Podłączamy do nich specjalne modemy, z których sygnał pobieramy z:wy­ czajnym gniazdem ethernetowym RJ-45 lub złączem USB . Z inicjatywy producentów sprzętu do tworzenia sieci komputerowych z wykorzystaniem

sieci telewizji kablowych w 1 995 roku powstało konsorcjum MCNS (Multimedia Cabie Network Systems). Jego głównym zadaniem jest opracowywanie i rozwój standardów dotyczących transmisji danych w sieciach telewizji kablowych. Efektem jego prac była specyfikacja DOCSIS (Data Over Cabie Services and lnteiface Specification), określająca standardowy interfejs dla modemów kablowych. DOCSIS został zaakceptowany pod koniec 1 998 roku j ako międzynarodowy standard w postaci specyfikacji ITU J.1 12. Aktualnie obowiązuj e wersj a 1 . 1 tego standardu, poza tym jest on częścią większej normy MCSN, definiującego sieci RFC. W tradycyjnych sieciach telewizji kablowych medium transmisyjnym jest kabel koncen­ tryczny. Aktualnie coraz częściej spotyka się instalacje hybrydowe RFC (Hybrid Fiber Coax). W sieciach RFC część toru przesyłowego wykorzystuje światłowody (lub kabel miedziany) (rysunek 8 .20). Rysunek 8.20. Struktura sieci HFC

Stacja czołowa

IFNij @

koncentryk

węzeł światłowodowy wzmacniacz

388

Sieci komputerowe. Kompendium

Standard MCSN/DOCSIS Transmisja w standardzie DOCSIS 1.1 ma cechy transmisji pakietowej i kodowanej . Wyróżniamy dwa kierunki transmisji: + do użytkownika (downstream) - szybkość 27 Mb/s (dla modulacji 64QAM) lub 36 Mb/s (dla modulacji 256QAM), połączenie punkt-wielopunkt (funkcjonalnie Ethernet), pasmo 6 - 8 MHz w zakresie 54 - 860 MHz, + od użytkownika (upstream) - szybkość 5 Mb/s (dla modulacji QPSK) lub 1 0 Mb/s (dla modulacji 1 6QAM), połączenie wielopunkt-punkt, pasmo 0,2 - 3,2 MHz w zakresie 5 - 42 MHz. Pasmo częstotliwości przesyłanych kablem telewizyjnym zostało podzielone na okna transmisyjne, przy czym w każdym oknie jest transmitowany jeden kanał telewizyjny. W takim oknie można (korzystaj ąc z odpowiedniej modulacji) przesłać dane kom­ puterowe. Szybkość kanału upstream jest mniej sza od downstream ze względu na asymetrycz­ ność typowego ruchu internetowego. Ponad 80% transmisji odbywa się z Internetu do użytkownika. Tabela 8.4. Porównanie technologii kablowej z telefoniczną Cecha

Sieć kablowa

Sieć telefoniczna ( komutowana)

Dostępność

Jedynie w większych miastach

Duża

Koszt instalacji

Niski

Niski

Koszt użytkowania

Stały (abonament)

Zmienny (zależny od czasu połączenia)

Przepustowość

Wysoka

Niska

Urządzenia u abonenta

Modem kablowy

Modem asynchroniczny/isdn

QoS

Pełny zakres

Brak

Bezpieczeństwo

Szyfrowanie, VPN

VPN

Ważne strony: + http://docsis.org/

+ http://en. wikipedia.org/wiki/DOCSIS + http://www.cablemodem. com/

Rozdział 9 .

Administracja siecią LAN Krąg zawirował, coraz szybciej, stal się sferąjaśniejszej szarości. Powiększał się . . . I płynął, rozkwitał przed nim jak origami z płynnego neonu, odkrywał dom nie znający odległości, jego ojczyznę, trójwymiarową przezroczystą szachownicę sięgająca nieskończoności. Wewnętrzne oko otworzyło się na schodkową piramidę szkarłatu Agencji Energii Atomowej Wschodniego Wybrzeża płonącą poza zielonymi sześcianami amerykańskiejfilii banku Mitsubishi. Wysoko i bardzo daleko widział spiralne ramiona systemów wojskowych, na zawsze poza jego zasięgiem (. . .) To jest cyberprzestrzeń. Konsensualna halucynacja, doświadczana każdego dnia przez miliardy uprawnionych użytkowników we wszystkich krajach, przez dzieci nauczane pojęć matematycznych . . . Graficzne odwzorowanie danych pobieranych z banków wszystkich komputerów świata. William Gibson, NEUROMANCER, Warszawa 1 992

W tym rozdziale postaram się przedstawić podstawowe zadania administratora sieci, problemy, z którymi się spotyka, i narzędzia służące do ich wykrywania i rozwiązy­ wania. Poza kilkoma przykładami nie będę przedstawiał sposobów ich rozwiązywania. Uważam, że najważniejsze dla administratora jest rozumienie procesów zachodzących w jego sieci. Jak powiedział Albert Einstein: „Wyobraźnia jest ważniejsza od wiedzy". Jeśli będziesz potrafił sobie wyobrazić, co się dzieje w Twojej sieci, zdołasz rozwiązać każdy problem pojawiający się podczas pracy. Ilu bym nie podał w tej książce przykła­ dów, i tak uda ci się znaleźć swoje własne problemy, do których rozwiązania musisz uciec się do wyobraźni. Jednak sama wyobraźnia nie wystarczy, musi niestety być poparta odrobiną wiedzy. Z tego też względu w tej książce podaję jedynie podstawowe informacje konieczne do zrozumienia działania danej technologii. Staram się również podawać nazwy charakte­ rystycznych dla niej parametrów, dzięki czemu w razie potrzeby będziesz wiedział, jakich haseł używać w poszukiwaniu dalszych informacj i.

390

Sieci komputerowe. Kompendium

9.1. Projektowanie sieci LAN Struktura fizyczna sieci Podstawowe infonnacje dotyczące wymagań dla poszczególnych mediów transmisyjnych oraz założenia do projektowania sieci opartej na skrętce Cat-5 zostały podane w roz­ dziale 3. Administrator sieci rzadko zajmuje się projektowaniem struktury fizycznej sieci LAN. Najczęściej zadanie to wykonują firmy mające doświadczenie w takich pracach. Jednak musisz mieć przynajmniej podstawową wiedzę na te tematy, aby móc odpowied­ nio sformułować swoje potrzeby i przekazać je wykonawcy sieci. Warto zainwestować w instalację certyfikowaną przez jedną z większych firm produkujących elementy sie­ ciowe, dzięki czemu mamy pewność (prawie), że problemy pojawiające się w pracy sieci nie są spowodowane wadami w jej konstrukcji fizycznej : nadmierną długością przewo­ dów, ich uszkodzeniami, zakłóceniami itp. Po zakończeniu prac powinieneś otrzymać od wykonawcy sieci dokumentację zawierającą plan połączeń nałożony na plany budynku wraz z numeracją gniazdek sieciowych. Ponadto powinieneś uzyskać protokół z pomia­ rów dokonanych na wszystkich gniazdkach, najlepiej popartych certyfikatem i gwarancją producenta elementów użytych w instalacji. Jeśli firma wykonująca instalację ma certyfi­ kat takiego producenta, to może wystawić nam certyfikat zgodności instalacji z określoną normą oraz gwarancję - przykładowo 1 5-letnią - na poprawne działanie naszej sieci. Niektórzy producenci elementów sieciowych: AMP

-

http://www. amp.com/,

Molex - http://www.molex. com/, Anixter - http://www. anixter. com/, Lucent - http://www. lucent. com/. Oczywiście często różni producenci oferują własne ulepszone względem norm rozwią­ zania. Jeśli jednak nie jesteś zmuszony ze względu na warunki (np. zbyt duża maksymalna odległość między punktami dystrybucyjnymi, jak na możliwości światłowodu) do sko­ rzystania z nich, staraj się unikać stosowania rozwiązań autorskich. W przyszłości mogą się pojawić duże problemy ze współpracą innego sprzętu z takim rozwiązaniem. Jeśli będziesz jednak zmuszony zaprojektować strukturę fizyczną sieci, to podane przeze mnie dane raczej nie będą wystarczające. Polecam zapoznanie się z literaturą dotyczącą tego tematu. Najlepszym zaś rozwiązaniem byłyby prywatne konsultacje z projektantem sieci komputerowych. Typowa instalacja łączy w jedno sieć komputerową i telefoniczną; w zależności od tego, czy podłączysz (skrosujesz) zakończenie do centrali, czy też do koncentratora, gniazdko RJ-45 znajdujące się na drugim końcu kabla będzie służyło do podłączenia telefonu lub komputera. Przypomnę najważniejsze informacje podane w podrozdziale dotyczącym okablowania strukturalnego:

Rozdział 9. + Administracja siecią LAN

391

1. Przewody z gniazdek znajdujących się w poszczególnych pokojach

(z przyłączy) na danym piętrze zbiegaj ą się we wspólnym kondygnacyjnym punkcie dystrybucyjnym. Okablowanie łączące przyłącza z kondygnacyjnym punktem dystrybucyjnym nazywamy okablowaniem poziomym. Jest nim najczęściej skrętka, rzadziej światłowód. 2. Kondygnacyjne punkty dystrybucyjne podłączone są do budynkowego punktu

dystrybucyjnego za pomocą okablowania pionowego. Dla sieci komputerowej okablowanie pionowe najczęściej tworzą światłowody (w celu izolacji galwanicznej), a dla telefonicznej - miedziany kabel wieloparowy. 3. Poszczególne budynkowe punkty dystrybucyjne - jeśli sieć tworzy więcej

budynków - połączone są z kampusowym punktem dystrybucyjnym za pomocą światłowodów i telefonicznego kabla wieloparowego. Czasem kabel wieloparowy zastępuje się światłowodem, jeśli centrala telefoniczna udostępnia funkcjonalność tzw. modułów wyniesionych. Przy projektowaniu sieci najmniejszą jednostką powinno być miejsce pracy, do którego powinniśmy przeznaczyć przynajmniej dwa gniazdka RJ-45 jedno na telefon i jedno na komputer. Z tego względu najczęściej przyłączem jest jedna puszka zawierająca dwa gniazdka RJ-45. W celu uproszczenia wyliczeń na jedno miejsce pracy przyjmuje się 10 m2 powierzchni, najczęściej jednak rachunki zmieniają się, gdy dochodzi do dokład­ nego wyznaczenia położenia przyłączy. Oczywiście podane powyżej reguły mogą się zmieniać w zależności od specyfiki naszej sytuacji. -

Podczas projektowania sieci (rysunek 9. 1) należy pamiętać o nie przekraczaniu maksy­ malnych długości przewodów UTP: kabel krosujący+kabel przyłączeniowy '.S 10 m kabel poziomy '.S 90 m Rysunek 9.1. Długość okablowania UTP

kabel poziomy

Gniazdko naścienne "-'-·t------'

li

..-...

Szafa dystrybucyjna :

Możemy spróbować przekroczyć długości maksymalne przewodów i czasem nawet taka instalacja będzie działała. Jeśli jednak zdecydujemy się na taki krok, to w przypadku pojawienia się później problemów w sieci będziemy musieli również rozważać hipo­ tezy dotyczące problemów z łączem fizycznym, a nie tylko problemów logicznych w działaniu sieci. Z badań wynika, że ponad 70% problemów w pracy sieci wynika z:

392

Sieci komputerowe. Kompendium

+ źle zainstalowanego sprzętu, + zastosowania niewłaściwych elementów, + błędnego projektu sieci. Powinieneś pamiętać, że sieć komputerowa szybko się rozrasta i należy ją projektować również pod kątem przyszłej rozbudowy. Dh1gość kabla poziomego nie wyznacza maksymalnej odległości (w linii prostej) od kon­ dygnacyjnego punktu dystrybucyjnego. Zawsze dochodzą różne załomy ścian, zakamarki, rury, kaloryfery, które kabel będzie musiał ominąć. W praktyce instalatorzy często przyj­ mują maksymalną odległość w linii prostej na 50 m, a w razie problemów każdy z przy­ padków jest rozpatrywany indywidualnie. Jeśli j eszcze kondygnacyjny punkt dystrybu­ cyjny będzie odpowiadał za podłączenie gniazdek na kilku piętrach, to trzeba będzie doliczyć dh1gości skrętek w połączeniach pionowych. Ważnym zagadnieniem, na które należy jeszcze zwrócić uwagę, jest instalacja zasilająca. Powinna to być instalacja dedykowana, do każdego miejsca pracy powinno być dopro­ wadzone gniazdko zasilające podłączone do innej instalacji niż pozostałe gniazdka zasi­ lające w pokoju. Można wyobrazić sobie sytuację, że uszkodzony czajnik elektryczny powoduje zwarcie. W tym momencie zadziałają bezpieczniki, odcinaj ąc napięcie; jeśli komputer będzie podłączony do instalacji dedykowanej , to takie problemy nie wpłyną na jego pracę. Wbrew pozorom sytuacje podobne do opisanych powyżej zdarzają się dosyć często, a problemy związane z utratą istotnych danych na nagle wyłączonym komputerze mogą być poważne. Z tego powodu często stosuj e się w takich instalacjach specjalne gniazdka lub nakładki uniemożliwiające przypadkowe wpięcie do nich np. odkurzacza. Ze względu na specyfikę komputerów jako odbiorników energii (zasilacze impulsowe) należy stosować w takich instalacjach wyłączniki różnicowoprądowe odporne na skła­ dową stałą pulsującą. Ponadto dzięki instalacji dedykowanej pojawia się możliwość pod­ łączenia zasilania awaryjnego (zestaw UPS-ów, generator prądotwórczy) do wszystkich komputerów w firmie. Warto zlecać wykonanie instalacji komputerowej , telefonicznej i elektrycznej jednej firmie. Wbrew pozorom obniża to koszty i zwiększa estetykę wykonania poprzez zasto­ sowanie jednego systemu instalacyjnego do wszystkich instalacji. Podczas projektowania sieci (lub zlecania tego firmie zewnętrznej) nie należy zapominać o precyzyjnym usta­ leniu przebiegu okablowania w budynku, popartym dokonaniem dokładnej wizji lokal­ nej przed rozpoczęciem prac i w ich trakcie. Ponadto należy wymagać od wykonawcy przynajmniej wykazania, że wszystkie (cały tor - gniazdka i wtyczki też) użyte elementy są nie gorszej kategorii niż założona przez nas kategoria całej instalacji. Jeśli zdecydujemy się na wykonanie okablowania ekranowanego, musimy liczyć się z ok. SO-procentowym wzrostem kosztów. Wzrost jest związany nie tylko z większym kosztem danych kabli i pracochłonnością ich instalacji, ale również ze zwiększeniem roz­ miarów kanałów, w których będą prowadzone (większa grubość skrętki STP), oraz ko­ niecznością wykonania prawidłowego uziemienia całej instalacji. Pozostawienie instalacji ekranowanej nie uziemioną lub uziemioną nieprawidłowo mij a się z celem i w efekcie daje sieć o gorszych parametrach niż nieekranowana. Musimy również pamiętać o konieczności ekranowania całego toru transmisyjnego, czyli również gniazdek i kabli krosowych.

393

Rozdział 9. + Administracja siecią LAN

Centralnym punktem naszej sieci najprawdopodobniej będzie pomieszczenie zwane serwerownią. Znajdą się w nim urządzenia aktywne, routery, serwery, przyłącze do sieci WAN (najczęściej Internet), często centrala telefoniczna i jej przyłącze do ope­ ratora telekomunikacyjnego. Taka liczba urządzeń wymaga oczywiście klimatyzacji, zabezpieczenia prądowego (UPS-y), zabezpieczenia przeciwwłamaniowego, zabez­ pieczenia przeciwpożarowego itp. Ponieważ na rynku istnieje wiele firm oferujących sprzedaż i instalacj ę elementów wyposażenia serwerowni, nie będę się rozpisywał na te tematy. Warto skontaktować się z kilkoma tego typu firmami i wybrać ofertę naj­ bardziej nam odpowiadającą.

Struktura logiczna sieci Struktura logiczna typowej sieci oparta jest na jednym głównym przełączniku, do którego podłączamy pozostałe przełączniki, koncentratory i serwery (rysunek 9.2). Jeśli mamy taką możliwość, to należy starać się podłączać każdy koncentrator i przełącznik bezpo­ średnio do przełącznika głównego, bez łączenia ich w łańcuch. ·- ----

. .( -'

· ------: � !' _ .Q:l,l!lk:2F·2_z,;_E0

Kluc::z

D� Odbiorca

symte ryczny

Najważniej sze algorytmy symetryczne

+ DES - długość klucza: 56 bitów + 3DES - długość klucza: (2-3 *56 bitów) długość klucza: 128 lub 192 lub 256 bitów (bardzo wydajny, zalecany do użytku)

+ AES

-

+ IDEA - długość klucza: 128 bitów (opatentowany algorytm)

Szyfrowanie kluczem asymetrycznym Wykorzystywane są dwa, związane ze sobą klucze (rysunek 1 0.5). Dane zaszyfrowane jednym z kluczy można odszyfrować tylko za pomocą drugiego klucza (i odwrotnie). Będąc w posiadaniu jednego z kluczy, nie można w żaden realny czasowo sposób wyzna­ czyć wartość drugiego z kluczy. Rysunek 10.5. Szyfrowanie kluczem asymetrycznym

łD �Ja dawca

łD

�J adawca



>

Klucz pry....v atny

( �

K l u c z p ryNatny

r-:i8i

>

Klucz pub!ic::: 11y

D� Odbiorc a

en (,,-i@ D� K!Lic: pub!ic:n::

1ffi

O clbi o 1·c a

Rozdział 10. + Bezpieczeństwo

455

Wybrany z kluczy jest określany mianem klucza publicznego i udostępniany np. w Internecie. Drugi klucz nazywany jest kluczem prywatnym i pilnie strzeżony przed ujawnieniem. Dzięki właściwościom kluczy asymetrycznych zapewnia się bezpieczną transmisję danych (np. poczty) w Internecie. Słabością takiego systemu jest niebezpieczeństwo podmiany udostępnionego publicznie klucza. Algorytmy niesymetryczne

+ RSA - (Rivest, Shamir, Adelman) - (długość klucza - zalecane 1 024) jest obecnie najważniejszym algorytmem z kluczem publicznym, algorytm oparty na liczbach pierwszych, + DSA - (Digital Signature A lgorithm) - algorytm oparty na logarytmach dyskretnych, + Inne: Diffie-Hellman, ElGamal.

Funkcja skrótu Istnieją funkcje (algorytmy) generujące z dużego dokumentu stosunkowo laótką liczbę, przy czym zmiana choćby jednego bitu w dokumencie powoduje bardzo istotną zmianę wartości tej liczby. Funkcje takie określamy mianem funkcji skrótu (hash function) (rysunek 1 0.6). Efekt działania takiej funkcji to abstrakt (message digest) lub skrót wiadomości, czasem „odcisk palca". Funkcje skrótu sąjednokierunkowe, tzn. z treści abstraktu nie można w żaden sposób wyznaczyć treści wiadomości, z której był on generowany. Rysunek 10.6. Funkcja skrótu

D

Wiadomość

M OS , SHA- 1 fu n kcja skrótu

abstrakt wiadomości (message d igest)

Abstrakt ma stałą wielkość niezależnie od rozmiaru wiadomości; po wykonaniu drobnej zmiany w treści wiadomości abstrakt powinien wykazać bardzo dużą zmianę swoj ej wartości. Abstrakt zapewnia integralność wiadomości - jednak agresor zawsze może wygenerować własny abstrakt po dokonaniu podmiany wiadomości. Funkcje skrótu:

+ MD5 (Message Digest 5) - rozmiar abstraktu 1 28 bitów, + SHA-1 (Secure Hash Algorithm) - rozmiar abstraktu 1 60 bitów. W systemie Linux można łatwo zaprezentować przykład działania funkcji skrótu MD5. Wyświetlamy wiadomość " Ka rol Krys i a k " : $ echo " Karol Krys i a k " Karol Krys i ak

456

Sieci komputerowe. Kompendium

Obliczamy abstrakt wiadomości " Ka rol Krys i a k " : $ echo " Ka rol Krys i a k " I md5sum d9d64e8d472631220e3e07406754a36e

-

Obliczamy abstrakt zmienionej wiadomości " Ka rol Krysi a K " : $ echo " Karol Krys i aK " I md5sum b8e4558le36cb988lc3829047472f9ld

-

Przykład świadczący o tym, że abstrakt nawet bardzo dużych wiadomości (obraz płyty CD) ma stały rozmiar: $ md5sum . / KNOPPI X_V3 . 4- 2004- 05 - 10 - EN . i so fa43dc94a344le90c805be7lldf47fld . /KNOPPIX V3 . 4-2004-05- 1 0 - EN i so

Zasada działania podpisu elektronicznego Posiadając tak skromne informacje o kryptografii można się już pokusić o zrozumienie zasady działania podpisów elektronicznych (rysunek 1 0.7). Nadawca

wiadomoś

l

n

Transmisja poprzez ) niepewne s r0dow1sk0

!

Wiadomość podpisana kluczem prywatnym nadawcy

-

Szyfrowanie kluczem prywatnym

Zaszyfrowany abstrakt

sg· � \i;··� �,

Q

funkcja skrótu Abstrakt

*-

D

Odszyfrowanie

kluczem publicznym

funkcja skrótu

Abstrakt -

!_..o. r--0"

l

Abstrakt - ----+ .a..__ �

r----i

L...__1

Podpis prawidlowy _ _ _

_.

Odbiorca

Podpis nieprawidłowy

Rysunek 10. 7. Zasada działania podpisu elektronicznego W pierwszym etapie obliczany jest abstrakt wiadomości, a następnie szyfrowany klu­

czem prywatnym nadawcy. Zaszyfrowany abstrakt doklejany jest do wiadomości i taka paczka przesyłana jest poprzez np. Internet. Odbiorca rozdziela wiadomość i zaszyfro­ wany abstrakt, który odszyfrowuje. Samodzielnie wyznacza abstrakt odebranej wia­ domości i jeśli oba abstrakty są sobie równe, to może ufać, że wiadomość nie została zmieniona podczas transmisji. Dodatkowo odbiorca ma zweryfikowaną osobę nadawcy, ponieważ posługiwał się jego kluczem publicznym do odszyfrowania danych. Można powiedzieć, że podpis elektroniczny zapewnia weryfikację nadawcy oraz integralność wiadomości. Nie gwarantuje jednak szyfrowania wiadomości. Posiadając podpisany elek­ tronicznie dokument (z dołączonym zaszyfrowanym abstraktem) możemy być pewni, że wysłała go osoba nadawcy oraz że dokument nie został zmieniony podczas przesyłania.

Rozdział 10. + Bezpieczeństwo

457

Otóż niezupełnie! Istniej e możliwość, że klucz publiczny, którym się posługiwaliśmy, został podmieniony przez agresora. Aby zweryfikować klucze publiczne, wprowadzone zostały pewne dodatkowe mechanizmy, takie jak certyfikaty.

Certyfikat cyfrowy Certyfikat cyfrowy jest to niewielki blok danych zawierający klucz publiczny użytkow­ nika (lub np. serwera WWW) oraz informacje o właścicielu (przykład na rysunku 10.8). Ten blok danych jest podpisany (elektronicznie) przez zaufaną stronę trzecią (organi­ zacja). Strona trzecia jest wystawcą certyfikatu Centrum Autoryzacji - CA (Certifi­ cation Authority). Każdy certyfikat ma ograniczony czas ważności. Rysunek 10.8. Przykładowy certyfikat X509

-

-------------=-----===='"""[!El""x" '

Podgląd certyflkatu:"www.mbank.com.pl": :::• . -

Szczegóły I

Hierarchia certyfikatu B

Builtin Object Tok.en:Verisign Class 3 Public Primary Certification Authority � O�:::��vbe;���;��:/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign,OU=VeriSign In„

OU = VeriSign Intel'"national Server CA OU = VeriSign , Inc. O = VeriSign Trust Network

-

.1

Class 3

e_amoc

;:::amknlJ

I

Tworzona jest hierarchia CA: najczęściej istnieją główne CA (root CA) oraz pośrednie CA, które wystawiają certyfikaty dla klientów. Etapów pośrednich w hierarchii centrów autoryzacji może być więcej . Cały system zakłada zaufanie do głównych CA, których klucze publiczne są powszechnie znane i niezauważone ich podmienienie mogłoby być trudne. Najpopularniej szym standardem certyfikatów jest X.509 v3 (wersja 3). Certyfikat X.509 zawiera:

+ numer wersji X.509, + klucz publiczny posiadacza - dodatkowo z informacją o metodzie (RSA czy DSA),

Sieci komputerowe. Kompendium

458

+ unikatowy numer, + unikatowy identyfikator posiadacza w formacie: CN="Jan Kowalski", OU="Firma", O="Dział Sieci", + okres ważności, + dane wystawcy certyfikatu (CA), + podpis danych wykonany kluczem prywatnym wystawcy certyfikatu, + informacje o algorytmach użytych przy podpisywaniu.

Infrastruktura klucza publicznego Infrastruktura klucza publicznego PKI /proc/sys / net/ i pv4/conf/al l / rp_fi l ter Ogólne wskazania dotyczące obrony przed spoofingiem:

+ sprawdzaj certyfikaty i czytaj ich zawartość, + reaguj na powiadomienia ssh o zmianie klucza,

Sieci komputerowe. Kompendium

496

ł skonfiguruj klienta (np. przeglądarkę WWW, klienta ssh), aby i to sprawdzał, ł unikaj uwierzytelniania opartego na adresie źródłowym, używaj uwierzytelniania kryptograficznego, ł nie pozwól, aby do Twojej sieci wchodziły pakiety z adresami udaj ącymi pochodzenie z wnętrza sieci.

Oszukiwanie systemów 1 05 Warto również poznać metody stosowane do ukrywania zawartości transmisj i przed systemami IDS, jak również przed programami podsłuchującymi (snifferami). Możesz się spotkać z tego typu działaniami, j eśli atakujący będzie chciał przechytrzyć Twój sys­ tem IDS, którego pierwszym działaniem jest oczywiście sniffing. Ponieważ sniffery, a w szczególności systemy IDS, muszą pracować z bardzo dużym ruchem, więc algo­ rytmy ich pracy są poddawane optymalizacji. Metody tutaj przedstawione naj częściej korzystają z błędów i luk powstałych w j ej wyniku. Często programy, których zadaniem jest przechwytywanie haseł, śledzą tylko jedno połączenie naraz; jeśli wyślemy najpierw pakiet rozpoczynający sesj ę, ale ze sfałszo­ wanym adresem nadawcy, to taki sniffer zacznie śledzić połączenie związane z tym pakietem i gdy będzie czekał na pozostałe pakiety, przegapi rzeczywiste połączenie. W momencie gdy minie czas oczekiwania, nasze połączenie już będzie trwało i nie zsynchronizuje się z nim. Niektóre sniffery oparte na kodzie programu linsniffer wadliwie dekodują nagłówki protokołów; jeśli pole opcji wraz z nagłówkiem IP jest dłuższe od 20 bajtów, nie radzą sobie z odczytem nagłówka TCP. Można spróbować w strumień TCP wtrącić pakiety z ustawioną flagą FIN lub RST, ale z błędnym numerem kolejnym. Sniffer może zinterpretować taki pakiet jako zakoń­ czenie połączenia, ale system docelowy go odrzuci i będzie kontynuował transmisję. Efekt ten j est spowodowany częstym pomijaniem sprawdzania numerów kolejnych i numerów potwierdzeń w kodzie snifferów w celu zwiększenia ich wydajności. Kolejną metodą jest fragmentacj a pakietów. Niektóre systemy IDS, a także wiele snifferów nie dokonuj e defragmentacj i lub nie potrafi sobie z nią poradzić, gdy jest zbyt złożona. Jednym ze sposobów jest spowodowanie zmiany śledzonej przez sniffer wartości munem kolejnego, czyli j ego desynchronizacja. Możemy spróbować tego dokonać, wysyłając w środku połączenia poprawny pakiet, ale z ustawioną flagą SYN. Komputer docelowy go odrzuci, ponieważ połączenie już zostało ustalone, ale system podsłuchujący może się zsynchronizować z nowym numerem ISN i zgubić śledzone połączenie. Inną metodą desynchronizacji jest wysyłanie pakietów z błędną sumą kontrolną. Możemy przed prawdziwym połączeniem wysłać taki pakiet SYN, stacja docelowa odrzuci go jako uszkodzony, ale system IDS może nie sprawdzać sum kontrolnych ze względu na wydajność i zsynchronizować się z takim pakietem, pozostaj ąc ślepym na poprawne

Rozdział 10. + Bezpieczeństwo

497

połączenie. Jeśli oszukuj emy system IDS, warto wysłać pakiet kończący połączenie desynchronizujące, ponieważ taki system może zwracać uwagę na niezamlmięte po­ prawnie połączenia. Zamiast wysłać jeden pakiet z flagą SYN, możemy spowodować wysyłanie dużych ilo­ ści danych z poprawnymi numerami kolejnymi, ale z nieprawidłową sumą kontrolną. Dzięki temu system nasłuchujący (jeśli nie sprawdza sum kontrolnych TCP) synchro­ nizuje się z tą transmisją i gdy pojawiają się poprawne pakiety, nie są one przez niego odbierane. Korzystając z pakietów z błędną sumą kontrolną, można w środku połączenia udawać, że się je zamyka. Robimy to, wysyłając poprawne pakiety z flagami FIN lub RST, ale z błędną sumą kontrolną. Jeśli system IDS jest uruchomiony na routerze (lub przed nim), można tak dobrać TTL pakietów, aby nie docierały do odbiorcy, ale były odbierane przez system IDS. Za pomocą takich pakietów można zamknąć połączenie, a następnie wysyłając już pakiety z większym TTL, w sposób widoczny dla odbiorcy je kontynuować, co będzie pomijane przez IDS.

Serwisy zajmujące się bezpieczeństwem sieciowym http://www.securityfocus.com jedna z większych baz zawierających udokumentowane błędy w zabezpieczeniach (często ze źródłami exploitów), ponadto mirror najsłynniej­ szej listy dyskusyjnej poświęconej tematowi bezpieczeństwa BUGTRAQ oraz wiele innych zasobów. -

http://www.packetstormsecurity. org czeństwem.

-

zbiór oprogramowania związanego z bezpie­

http://www. cert.org - centrum finansowane z funduszy państwowych, zajmujące się śledzeniem wykrywanych błędów w zabezpieczeniach. http://www. ipsec.pl - serwis poświęcony bezpieczeństwu sieci i systemów kompute­ rowych, ochronie prywatności, wolności wypowiedzi, kryptografii. http://www. hacking.pl. http://www. underground. org.pl.

Destabilizacja pracy Czasem crackerowi nie zależy na włamaniu do sieci, a na zdestabilizowaniu działania usług sieciowych i uniemożliwieniu zaatakowanemu serwerowi ich świadczenia. Ta­ kie akcj e nazywamy atakiem typu „odmowa usługi" DoS (Denial of Service). Nie zamierzam wnikać w motywy skłaniające do takiego postępowania, sam najlepiej wiesz, komu się ostatnio bardzo naraziłeś.

498

Sieci komputerowe. Kompendium

Pochłanianie pasma Aby uniemożliwić dostęp z Internetu do Twoich serwerów i odciąć użytkowników sieci lokalnej od Internetu, wystarczy zaj ąć całe dostępne pasmo Twojego łącza „na świat". Najprościej wykonać taką akcję, jeśli agresor posiada o wiele większe od ciebie łącze. Uruchamia po prostu ogromną liczbę połączeń, które wysycaj ą całe pasmo. Atak typu Smurf polega na wysłaniu wiadomości ICMP „echo" (ping) na adres rozgło­ szeniowy jakiej ś sieci, z adresem źródłowym ustawionym na IP Twojego serwera. W tym przypadku wszystkie działające komputery w tej sieci odpowiadają komunikatami ICMP echo reply, skierowanymi do Twojego serwera. Zauważ, że jeden pakiet wysłany przez agresora jest automatycznie pomnażany do wielu i wysyłany z przepustowością łącza sieci wykorzystywanej do ataku. Jeśli napastnik będzie szybko wysyłał takie pakiety do kilkunastu sieci, wszystkie działaj ące komputery z tych sieci będą atakowały Twój serwer komunikatami ICMP. Spowoduje to przepełnienie łącza i spowolnienie pracy zalewanego pakietami serwera. Pewną odmianą tego j est atak Fraggle, podczas którego agresor wysyła pakiety UDP skierowane na adres rozgłoszeniowy j akiej ś sieci. Wszystkie aktywne komputery w tej sieci powinny odpowiedzieć komunikatem ICMP port unrea­ chable, oczywiście skierowanym do Twoj ego serwera. Pamiętaj , że napastnik może skorzystać również z innych pakietów generuj ących odpowiedzi, przykładowo: ICMP Timestamp, ICMP Info request, ICMP Address Request, a nawet wysyłaj ąc pakiet o nie­ prawidłowej strukturze, może się spodziewać odpowiedzi ICMP Parameter problem. Najłatwiej możesz zabezpieczyć swoją sieć przed wykorzystaniem przez agresora do ataku. Wystarczy nie przyjmować (filtrować) pakietów z adresem docelowym ustawio­ nym na adres rozgłoszeniowy. Poza tym należy zadbać, aby żaden z Twoich użytkow­ ników sieci nie wykonał takiego ataku, uniemożliwiając wychodzenie na zewnątrz pakie­ tów z adresami źródłowymi innymi niż poprawne adresy należące do Twojej sieci. Niestety, zapobieganie udanemu atakowi tego typu j est o wiele trudniej sze. Naj lep­ szym wyj ściem jest zastosowanie kontroli przepływu na interfejsie wej ściowym do Twojej sieci i ograniczenie przepustowości, którą może zajmować protokół ICMP, do niewielkiej części transferu maksymalnego Twojego łącza. W przypadku ataku powi­ nieneś się skontaktować ze swoim ISP (dostawcą usług) oraz z administratorami sieci użytej do ataku. Mogą oni spróbować wyśledzić sprawcę, podążając za strumieniem ge­ nerowanych przez niego pakietów przez kolejne routery. Pamiętaj, że pakiety te będą miały ustawiony Twój adres źródłowy, więc za jego pomocą nie da się nic wykryć.

Pochłanianie zasobów Tego typu działaniem jest ostatnio popularna metoda unieruchamianiu serwisów WWW. Polega ona na wysyłaniu olbrzymiej liczby zapytań do serwera WWW, który próbując je wszystkie obsłużyć, zostaje zablokowany. W celu obsłużenia wzrastającej liczby nawią­ zanych połączeń usługa będzie zajmowała coraz więcej zasobów systemowych, aż do unieruchomienia serwera. Należy używać serwerów usług, które są odporne na takie akcje i można określić w nich liczbę jednocześnie otwartych połączeń. Jednak nawet w takim przypadku atak ten okaże się skuteczny, ponieważ po przekroczeniu maksimum usługa przestaje przyjmować nowe połączenia. Nie powoduje to j ednak unieruchomienia całego serwera i po zaprzestaniu ataku serwer podejmuj e działanie.

Rozdział 10. + Bezpieczeństwo

499

Większość usług sieciowych może zostać zaatakowana po prostu ogromną liczbą seg­ mentów TCP nawiązujących połączenie (z ustawioną flagą SYN); taki atak określamy mianem syn-jlood. Ponieważ adresy źródłowe takiego strumienia są najczęściej sfałszo­ wane i kieruj ą na niedziałaj ące komputery, serwer po odpowiedzeniu pakietem SYN i ACK oczekuje na odpowiedź lub na pakiet z flagą RST. Połączenie będzie w stanie SYN_RECV, dopóki nie minie maksymalny czas nawiązywania połączenia. Jest on różny w zależności od systemu; im dłuższy, tym łatwiej wykonać taki atak. Nie ma łatwych rozwiązań tego problemu. Pierwszym działaniem, które możemy podj ąć, będzie skrócenie maksymalnego czasu nawiązywania połączenia. Nie należy j ednak z tym przesadzać, ponieważ klient nawiązujący połączenie z daleka lub z bardzo obciążonego łącza może zbyt wolno wysyłać pakiety i w rezultacie nie otrzymać połączenia. Można również zwiększyć rozmiar kolejki połączeń, j ednak obniża to wydajność serwera ze względu na dodatkowe zużycie zasobów. Sprawdź, czy producent nie udostępnia poprawek wykry­ wających takie ataki i zapobiegających im. Przykładem może być mechanizm zastoso­ wany w Linuksie. W przypadku ataku j ądro systemu zastosuje kryptograficzny mecha­ nizm nazwany SYN cookie, pozwalaj ący uprawnionym użytkownikom na nawiązanie połączenia. Aby go włączyć, podczas kompilacji jądra musimy wybrać w Networking options opcję IP: TCP syncookie support, a samego wuchomienia mechanizmu dokonu­ jemy poprzez polecenie: echo 1 >/proc/sys /net/i pv4/tcp_syncooki es W Windows zastosowano mechanizm zwiększający dynamicznie rozmiar kolejki, co uniemożliwia jej przepełnienie, jednak oczywiście pochłania zasoby systemowe. W sys­ temie Windows 2000 możemy włączyć dodatkowe zabezpieczenia, ustawiając następu­ jące klucze rejestru:

Windows 2000 Professional lub Server HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Services\Tcpi p\Parameters Enabl eDeadGWDetect dword : OOOOOOOO Enabl e I CMPRedi rects dword : OOOOOOOO Enabl ePMTUDi scovery dword : OOOOOOOO KeepAl i veTime dword : 300000 SynAttackProtect dword : l TcpMaxHal fOpen dword : lOO TcpMaxHal fOpenRetri ed dword : 80 TcpMaxConnectResponseRetransmi s s i ons dword : 2 TcpMaxPortsExhausted dword : l =

=

=

=

=

=

=

=

=

W systemie Windows 2000 Advanced Server poza powyższymi możemy ustawić jeszcze jedną wartość: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Servi ces\NetBT\Parameters NoNameRel easeOnDemand dword : l =

Warto zastosować system IDS potrafiący wykrywać ataki syn-flood i interweniować, wysyłaj ąc pakiety RST kończące otwarte połączenia na atakowanym serwerze. Ciekawą metodą, zwaną Land, jest wysłanie pakietu nawiązującego połączenie z adresem źródłowym ustawionym na adres atakowanego serwera. Serwer, odpowiadając pakie­ tem z ustawionymi flagami SYN i ACK, wysyła odpowiedź na wewnętrzny interfejs loopback, który odbija go z powrotem. Serwer otrzymuje od rzekomego rozmówcy -

Sieci komputerowe. Kompendium

500

czyli z interfejsu loopback - pakiet z flagami SYN i ACK. Ponieważ niektóre systemy na tym etapie nie zwracaj ą uwagi, czy jest ustawiona flaga SYN, pakiet zostaje uznany za odpowiedź. Ponieważ nie zgadzają się numery kolejne (sekwencji), serwer próbuj e ponownie nawiązać połączenie, wysyłając pakiet z flagami SYN i ACK, i jego działanie zapętla się. Powoduje to zużywanie zasobów systemu, zwłaszcza jeśli otrzyma z zewnątrz wiele takich pakietów. Główną metodą ochrony jest mliemożliwienie przyjmowania przez poszczególne systemy i całą sieć pakietów z adresami źródłowymi ustawionymi na adresy własne i adres interfejsu loopback 127.0.0. 1 .

Zmiana routingu Jeśli korzystasz z protokołów routingu dynamicznego, postaraj się wykorzystać wszyst­ kie mechanizmy autoryzacji, jakie udostępniają. Ponieważ protokoły te były najczęściej projektowane w innych lepszych czasach (czytaj : dawno), udostępniają agresorowi wiele możliwości. Pakiety z odpowiednią zawartością.mogą zmienić Twoje tablice routingu i w ten sposób spowodować niedostępność serwerów. Bardzo szkodliwe mogą być rów­ nież wiadomości ICMP typu destination unreachable, source quench oraz redirect, podszywaj ące się pod pakiety z wnętrza Twojej sieci. Główną obroną jest filtrowanie protokołów routingu (jeśli to możliwe) i uniemożliwianie przedostawania się z zewnątrz pakietów z adresem źródłowym sugerującym pochodzenie z wnętrza sieci.

Ataki na DNS Stare wersje serwera BIND (poniżej 4.9.5) były wrażliwe na tzw. zatrucie buforu nazw. Jeśli miały włączoną rekurencję, agresor mógł „przekonać" serwer DNS, że host o nazwie www.firma.przykladowa.com ma nieistniejący w rzeczywistości adres 1 92 . 1 68. 1 . 1 . Metoda ta utrudnia kontakt z danym serwerem, może również służyć do podszywania się - po przekonaniu klienta, że połączył się z właściwym serwerem. Inna metodąjest wykorzystanie serwera DNS do przeprowadzenia ataku. Wysyłając do wielu serwerów DNS dużą liczbę zapytań z adresem źródłowym serwera, który chcemy zaatakować, powodujemy wygenerowanie dużego ruchu skierowanego do tego serwera. Jeśli jeszcze spreparujemy zapytania tak, aby zwracały odpowiedzi o dużym rozmiarze, możemy zapełnić łącze atakowanego serwera.

Unieruchamianie serwerów Teardrop i Bonk są metodami ataków używającymi nachodzących na siebie fragmen­ tów pakietów. Dobry router dokonuje defragmentacji i uniemożliwia takie ataki. System Linux oparty na j ądrze z serii 2.2 oraz Windows NT z zaimplementowanym SP3 sąjuż odporne na takie ataki. Niektóre z mniej stabilnych stosów TCP są wrażliwe na datagramy z dużą liczbą frag­ mentów i mogą nie odebrać ich wszystkich. Można filtrować takie :fragmenty lub gdy używamy Linuksa jako routera, skompilować jądro z opcją IP: always defragment usta­ wioną na „Y". Można zastosować takie rozwiązanie tylko wtedy, gdy dany router jest jedyną możliwą drogą dotarcia takich pakietów, czyli jedynym połączeniem z Internetem.

Rozdział 10. + Bezpieczeństwo

501

Niektóre starsze systemy nie są odporne na atak Ping ofDeath, polegający na wysyłaniu pakietów ICMP o rozmiarze przekraczającym 65 536 bajtów. Powodowało to przepeł­ nianie stosu TCP starszych systemów operacyjnych. Przeprowadzenie tego ataku jest banalnie proste i można go wykonać za pomocą polecenia systemowego pi ng, podaj ąc rozmiar pakietu. Łatwo rozpoznać takie pakiety ICMP po fragmentacji, która została dokonana ze względu na rozmiar przekraczający MTU.

Ataki w warstwie aplikacji Są to ataki wykorzystujące słabości protokołów aplikacji. Istnieje osobny rodzaj ataków polegający na generowaniu dużej ilości poczty elektronicznej. Przykładowo agresor może zapisać naszego użytkownika równocześnie na kilkaset pocztowych list dyskusyjnych, z których każda generuje dużą ilość codziennych wiadomości. Jeśli jeszcze sposób wypi­ sywania się z list będzie skomplikowany, a część list w różnych językach, to czasem jedyną sensowną możliwością jest zmiana nazwy konta pocztowego na inną. Istnieje wiele metod utrudniania życia za pomocą poczty elektronicznej, począwszy od przepeł­ nienia skrzynki pocztowej , tzw. mail-bombing, poprzez wysyłanie wielu reklam, tzw. spam, aż do podszywania się pod znane użytkownikowi adresy i wysyłanie wymyślnych informacji wykorzystujących inżynierię społeczną (łańcuszki, informacje o pseudowi­ rusach itp.). Wiele z tych problemów zostanie rozwiązanych poprzez włączenie autory­ zacji na serwerze SMTP oraz korzystanie z baz RBL. Zostało to pokrótce opisane przy przedstawianiu usługi SMTP. Metod ataków na aplikacje jest przynajmniej tak wiele, jak samych aplikacji interneto­ wych; ciekawe może być na przykład wykorzystanie typowego mechanizmu bezpieczeń­ stwa do ataku. Często systemy operacyjne po kilku nieudanych próbach zalogowania blokuj ą konto danego użytkownika. Jeśli cracker zdobędzie w jakiś sposób listę naszych użytkowników (do jej utworzenia czasem wystarczy lista pracowników ze strony WWW), to może zablokować wszystkie konta.

DDoS Pierwsze ataki typu DDoS miały miejsce w lutym 2000 roku. Zostało wtedy unierucho­ mionych wiele serwisów należących do korporacj i internetowych i medialnych. Roz­ proszone ataki typu odmowa usługi (Distributed Denial of Service) - bo tak się one nazywają - wykorzystują skoordynowane w czasie ataki DoS dokonywane z dużej ilości hostów. W jaki sposób jednak udaje się zmusić na tyle dużą liczbę komputerów do współpracy, że umożliwia to unieruchomienie takich serwisów, jak Yahoo, eBay, CNN? Przygotowanie tego ataku jest mrówczą pracą wielu crackerów, polegającą na włamy­ waniu się do wielu słabo zabezpieczonych stacji, naj częściej prywatnych komputerów podłączonych bezpośrednio do Internetu. Ponieważ takie komputery nie są zwylde zabez­ pieczone, włamania do nich nie stanowią problemu. Następnie na tych stacjach insta­ lowane jest oprogramowanie służące do ataku, które potrafi w sposób skoordynowany w czasie - na podstawie otrzymanego z centralnego punktu polecenia - uruchomić atak DoS na podany w poleceniu system. Aktualnie najpopularniejszymi programami umoż­ liwiającymi atak tego typu są TFN i TFN2K, Trinoo i WinTrinoo, Stacheldraht, Shaft, mStrcamsale. Twoim głównym zadaniem jako administratora będzie wykrywanie, czy narzędzia tego typu nie zostały zainstalowane gdzieś w Twoj ej sieci. Odbywa się to

Sieci komputerowe. Kompendium

502

poprzez działanie systemów IDS wykrywających transmisje pomiędzy stacjami zarzą­ dzającymi (klientem) a stacjami wykonującymi atak (serwerami). Musisz zadbać o to, aby Twoja sieć nie umożliwiała przeprowadzenia ataku DoS z j ej wnętrza. Liczba ata­ ków tego typu będzie rosła ze względu na ich skuteczność, powodującą dużą popular­ ność. Ponadto ciągle zwiększa się liczba komputerów osób prywatnych podłączonych bezpośrednio do Internetu, a aktualnie najpopularniejsze systemy operacyjne, poza sła­ bymi zabezpieczeniami, ofemją mechanizm raw sockets ułatwiający zwykłemu użytkow­ nikowi systemu generowanie dowolnych pakietów. Powinieneś sobie zdawać sprawę, że przeprowadzenie ataku DDoS nie wymaga od agresora zbyt zaawansowanej wiedzy, a jedynie cierpliwości i wytrwałości w opanowywaniu kolejnych słabo zabezpieczonych stacji. Połączenie tych elementów spowoduje lawinowy wzrost ataków tego typu, radzę więc interesować się najnowszymi doniesieniami „z pola walki". Jedynym sposobem przeciwstawienia się tego typu atakom może być współpraca pomiędzy operatorami, dla­ tego też nie należy nigdy odmawiać pomocy, j eśli zgłosi się do Ciebie administrator odległego systemu. Oczywiście zawsze dokładnie zastanów się nad przekazywanymi informacjami, aby nie podać zbyt szczegółowych danych.

10.6. Zagrożenia wewnętrzne Większość różnorodnych metod zdobywania informacji i ataków przeze mnie opisanych da się wykorzystać wewnątrz sieci lokalnej . Ponadto dochodzą inne zagrożenia, wyni­ kające z możliwości, jakie ma użytkownik naszej sieci LAN. Nie będę oczywiście wni­ kał w motywy kiemjące pracownikami rozpoczynaj ącymi taką „krecią robotę", w końcu nie jest to książka psychologiczna. Jednak aby Ci uświadomić, że niebezpieczeństwo jest prawdziwe, wspomnę jedynie o rozżalonych i sfmstrowanych pracownikach w okresie wymówienia lub o zupełnie niefrasobliwych osobnikach, wykorzystujących znalezione w Internecie „ciekawe" narzędzia.

Wykrywanie snifferów Transmisj a w wielu dotychczas powszechnie używanych protokołach - POP, IMAP, FTP, HTTP, telnet - nie jest szyfrowana. Jeśli więc do Twojego koncentratora podłą­ czony jest osobnik, który miał do tego uprawnienia i uruchomił u siebie sniffer, a Ty korzystasz z tego typu protokołów, to nie możesz już być pewny tajności swoich haseł i haseł innych osób znajdujących się w Twojej domenie kolizji. Z tego powodu Twoja stacja robocza zawsze powinna być podłączona bezpośrednio do przełącznika sieciowego. Jak się później okaże, to również nie jest wystarczającym zabezpieczeniem. Ponadto pod­ słuchiwanie mchu sieciowego może być wstępem do dokonania tzw . non-blind spoofingu. Jeśli nie sprawujesz pełnej kontroli nad stacjami roboczymi, pozostaje Ci jedynie próba wylaycia, czy w Twojej sieci nie działa jakiś sniffer. Pomimo że nasłuchiwanie wydaje się metodą zupełnie pasywną - podczas niej podsłuchujący nie generuje żadnych pakie­ tów związanych ze swoją akcją - istniej ą metody wykrywania takich działań. Najczęstszą metodą sniffingu jest programowe przełączenie karty sieciowej w tryb odbierania całego ruchu (promiscous made), nie tylko skierowanego na adres MAC tego

Rozdział 10. + Bezpieczeństwo

503

interfejsu. Włączenie takiego trybu Uednoznacznie wskazującego na podsłuch) możemy wykryć, wykorzystując błąd w stosie TCP/IP niektórych systemów operacyjnych m.in. starszych Linuksów. Ponieważ system podsłuchujący odbiera wszystkie ramki Ethernet w swojej domenie kolizji, możemy wysłać ramkę zaadresowaną nieistniejącym w naszej sieci adresem MAC i docelowym adresem IP sprawdzanego komputera. Ramka taka zostanie przekazana na wszystkie porty przełączników (flooding), ponieważ prze­ łączniki nie maj ą takiej stacji w swoich tablicach. Testowany komputer również ją otrzyma, karta sieciowa ustawiona w tryb promiscous odbierze taką ramkę, do warstwy Internetu (modelu TCP/IP), tak jak wszystkie odbierane pakiety, zostanie przekazany datagram zaadresowany właśnie do tej stacji. Stacja odbierze dany datagram IP może on przykładowo zawierać komunikat ICMP Echo request - i odpowie. Będzie to dowo­ dem, że jej interfejs jest przełączony w tryb nasłuchiwania. -

W systemie BSD błędem w implementacji była reakcja na ramkę wysłaną na nieistnie­ jący adres MAC i zawieraj ącą datagram skierowany na adres rozgłoszeniowy sieci IP. Błędem w systemach Windows (95/98/NT) jest uznawanie ramek o adresie zaczyna­ jącym się od FF:xx : xx:xx:xx:xx za ramki rozgłoszeniowe i przekazywanie ich do warstw wyższych. Niektóre mniej ostrożne sniffery dokonują rozwiązywania podsłuchanych adresów IP na nazwy DNS-owe. Do wykrywania takich programów możemy zastosować algorytm; włączamy podsłuch na interfej sie routera prowadzącym do serwera DNS i wysyłamy datagram IP z nieistniejącym adresem źródłowym w ramce ethemetowej skierowanej na nieistniejący adres MAC. Jeśli do serwera DNS zostanie wysłane zapytanie o ten adres IP, to mamy sniffer. Ponieważ przetwarzanie całego ruchu pojawiającego się na karcie bardzo obciąża zasoby komputera, możemy to wykorzystać do wykrywania snifferów. Wysyłamy serię komu­ nikatów ICMP Echo request (ping) i sprawdzamy czas odpowiedzi. Po chwili zaczynamy generować serię ramek z niepoprawnymi adresami MAC, ciągle monitorując czas odpo­ wiedzi na Echo request. Komputery z uruchomionym snifferem, przetwarzające o wiele więcej ruchu niż pozostałe, będą wykazywały dużo większe opóźnienia. Metoda ta nie daje nigdy stuprocentowej pewności, ponieważ nie wiemy, jakie zadania wykonuje w tym czasie badany komputer, a uruchomienie na nim pochłaniającego zasoby procesu może radykalnie zmienić wynik testu. Ponieważ komputer nasłuchujący ruchu sieciowego również tworzy sobie tablicę arp, możemy wykorzystać fakt, że znajdą się w niej adresy, które nie powinny. Metodę opartą na tej właściwości nazywamy ARP cache. Możemy na przykład wysłać na nieistniej ący adres MAC ramkę, zawierającą pakiet ARP reply, poprawnie opisujący adres IP i MAC stacji, za pomocą której dokonujemy testów. Jeśli następnie wyślemy (bez modyfikacji) zapytanie ICMP Echo request (ping) do testowanego komputera i odpowie on bez wysy­ łania zapytania ARP , to znaleźliśmy następnego podsłuchiwacza w naszej sieci. Innym testem tego typu jest wysłanie pinga z niepoprawnym źródłowym adresem MAC. Jeśli testowana stacja odpowie poprawnie, to znaczy, że znała właściwy adres z innego źró­ dła. Oczywiście musimy się upewnić, że badana stacja nie komunikowała się wcześniej z naszym komputerem (przynajmniej przez 20 minut).

504

Sieci komputerowe. Kompendium Można również wykorzystać opcję Source routingu w nagłówku IP. Najpierw wybieramy komputer nie potrafiący routować pakietów (bez włączonego routingu), który znajduje się w tej samej domenie kolizji, co badana stacja. Następnie wysyłamy komunikat ICMP Echo request (ping) do badanej stacji, jednak z opcją routingu przez wybrany wcześniej komputer. Ping powinien dotrzeć do wybranej przez nas stacji pośredniczącej i nie prze­ dostać się dalej (brak routingu). Ponieważ badana stacja podsłucha tę transmisję, a pakiet był zaadresowany jej IP, odpowie na niego. Warto jeszcze sprawdzić TTL w otrzymanej odpowiedzi; jeśli będzie taki sam, jak w pingach wysłanych bez source routingu, to zna­ czy, że stacja podsłuchiwała. Jeśli będzie mniejszy o jeden, oznacza to, że wybrany kom­ puter pośredniczący nagle zaczął poprawnie routować pakiety! Jeśli już wyselekcjonujemy podejrzaną maszynę, powinniśmy sprawdzić, j aki proces uru­ chamia sniffing. Nie jest to łatwe zadanie, ponieważ jeśli zainstalował go tam włamy­ wacz, to ma na tym komputerze na tyle wysokie uprawnienia, że mógł zadbać o niewi­ doczność procesu sniffera (i innych swoich procesów) nawet dla funkcji systemowych i niewykrywalność faktu przełączenia karty sieciowej w tryb promiscous. Dlatego należy zadbać o integralność plików na naszych serwerach, np. za pomocą programów tripwire, aide. Jeśli jednak znajdziemy komputer z uruchomionym snifferem i uda się nam go wyśledzić, to i tak raczej j esteśmy skazani na reinstalację takiego systemu, ponieważ nie wiemy, jakich jeszcze modyfikacj i dokonał włamywacz.

Sposoby omijania przełączników Teoretycznie podsłuchiwanie w sieci opartej całkowicie na przełącznikach powinno być niemożliwe. Niestety, jak już chyba zdążyłeś się przyzwyczaić, nic nie jest takie pro­ ste, jak się wydaje na pierwszy rzut oka. Istnieją metody umożliwiające podsłuch rów­ nież w takich sieciach. Pierwszą i naj starszą metodą jest wykorzystanie słabości przełączników, które mają przewidziany konkretny rozmiar pamięci na tablicę zawieraj ącą przyporządkowanie adresów MAC do swoich portów. Jeśli zaczniemy bardzo szybko generować ramki z losowymi źródłowymi adresami MAC, to w końcu uda nam się przepełnić tablicę, a wtedy niektóre starsze przełączniki przechodzą w tryb pracy zwyczajnego koncen­ tratora i z całej sieci podłączonej do przełącznika tworzy się jedna domena kolizji. Now­ sze przełączniki mają zabezpieczenie w postaci ograniczenia liczby adresów MAC na każdym ze swoich portów. Metodą opaiią na działaniu protokołu ARP jest tzw. ARP spoofing. Przyjmijmy, że mamy komputery: R (router), C (Cracker) i A (Adam). Komputer C zaczyna bombardować A komunikatami protokołu ARP w których podaje, że do adresu IP routera R należy przy­ porządkować adres ethemetowy (MAC) jego karty sieciowej . W momencie wysyłania z komputera A jakiegoś pakietu do Internetu zostanie on opakowany w ramkę etheme­ tową, skierowaną na adres sprzętowy komputera C. Cracker działaj ący na tym kompute­ rze musi uruchomić routing i domyślną trasę ustawić na router R. Wtedy datagramy IP docierające z komputera A będą odsyłane do routera R, dzięki czemu połączenie będzie przebiegało poprawnie i użytkownik pracujący na komputerze C niczego nie zauważy, chyba że sprawdzi swoją tablicę ARP i porówna wpis dotyczący adresu routera R z rze­ czywistym adresem karty sieciowej routera. W tym momencie wszystkie transmisj e ,

505

Rozdział 10. + Bezpieczeństwo

z komputera A do Internetu niezauważenie przechodzą przez komputer C. Ma on moż­ liwość podsłuchiwania haseł protokołów niekodowanych i modyfikowania sesji. Przy­ kładowo może włączyć w sesję telnet dodatkowe polecenia, których efekt wyświetlany na ekranie może usunąć, tak aby użytkownik na komputerze A niczego ni e zauważył. Zgodnie z najbardziej ponurym scenariuszem możliwe jest przejmowanie i dekodo­ wanie sesji protokołów SSH i SSL. Jeśli zignorujemy komunikat o zmianie klucza, to włamywacz będzie mógł bez żadnych problemów zarządzać naszym se1werem. Przed­ stawię poniżej funkcje narzędzia ettercap w wersji 0.6.7, napisanego do wykorzystania przez zwyczajnych użytkowników, którzy nie będą zmuszeni do wpisywania długich poleceń z klawiatury:

+ możliwość włączania własnych ciągów znaków w istniejące połączenie, + możliwość podsłuchiwania nazw użytkowników i ich haseł dla protokołu SSH l , + możliwość podsłuchiwania kodowanego kanału SSL, + możliwość podsłuchiwania ruchu tunelowanego protokołem GRE (używanego m.in. do zarządzania routerami Cisco),

+ możliwość dołączania własnych wtyczek (plug-in), + zbieranie haseł (i zapis do pliku tekstowego) haseł z protokołów: TELNET, FTP, POP, RLOGIN, SSH l , ICQ, SMB, MySQL, HTTP, NNTP, X l l , NAPSTER, IRC, RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, HALF LIFE, QUAKE 3 , MSN, YMSG,

+ opcja wyszukiwania ciągów znaków w połączeniu i zamiany ich na własne, + identyfikacja systemu operacyjnego, + zamykanie dowolnego połączenia, + pasywne skanowanie sieci i zbieranie informacji o jej zasobach, + przekierowywanie przej ętych danych do portu lokalnego - przykładowo włamywacz może przekierować połączenie HTTP i łącząc się na port lokalny, oglądać wraz z podsłuchiwanym strony WWW . Systemy operacyjne, na których można używać programu Ettercap, to Linux 2.0.x, Linux 2.2.x, Linux 2.4.x, FreeBSD 4.x, OpenBSD 2. [789] 3 .0, NetBSD 1 .5, Mac OS X (darwin 1 .3 1 .4 5 . 1 ), Windows 9x/NT/2000/XP, Solaris 2.x. Jak widać, możliwości tego narzę­ dzia są imponujące (i ciągle rosną wraz z pojawianiem się nowych wersji), a w połącze­ niu z łatwością użycia programu powodują powstawanie ogromnego zagrożenia. Właśnie dlatego przedstawiłem ten program; dodatkowo udostępnia on administratorowi bar­ dzo przydatną cechę, jakąjest wykrywanie innych programów tego typu, na przykład ds ni ff i hunt. Nie ma łatwej metody zabezpieczenia się przed mp-spoofingiem w sieci lokalnej . Najprost­ sząjest używanie statycznej tablicy ARP , niestety, nie jest to możliwe do zastosowania w normalnych warunkach, a poza tym niektóre popularne systemy nawet po wprowadzeniu statycznej tablicy ARP są wrażliwe na arp-spoofing. Obecnie jedynym dob1ym reme­ dium na ten rodzaj spoofingu jest jego wykrywanie. Darmowym programem, który tworzy przyporządkowania: adres IP adres MAC, jest arpwatch. W przypadku nastąpienia -

506

Sieci komputerowe. Kompendium zmian

(flip-flop)

wysyła on e-mailem powiadomienie do administratora. Aby arpwa­

tch miał dostęp do większości adresów, warto go zainstalować na routerze lub firewallu przed routerem. Jedynym zakłóceniem mogą być sieci oparte na protokole DHCP, gdzie zmiany adresu

IP przyporządkowanego do adresu MAC będą się zdarzały co pewien

czas. Czasem różnorodne metody ochrony oferowane są przez sieciowe przełączniki za­ rządzalne, jednak najczęściej ich zastosowanie wymaga podłączenia każdej stacji w sieci

bezpośrednio do portu przełącznika zarządzalnego, a na to stać niewiele firm .

Kolejną możliwością w sieci lokalnej jest DNS spoofing. Jeśli komputery A i C z poprzed­ niego przykładu będą w jednej domenie kolizji, to stacj a C może nasłuchiwać zapytań wysyłanych z komputera A do serwera DNS. Po poj awieniu się takiego zapytania może wysłać spreparowaną odpowiedź, która na pewno dotrze do komputera A szybciej niż odpowiedź z serwera DNS. Pakiet z prawdziwą odpowiedzią z serwera DNS dotrze, gdy port UDP, z którego zostało wysłane zapytanie, będzie już zamknięty. W ten sposób stacja

C może podszywać się pod serwery WWW , serwery pocztowe itp.

Oczywiście istnieje również możliwość zastosowania opisanej już techniki

spoofing,

non-blind

polegającej na przejmowaniu istniejących połączeń TCP. Aby w sieci opartej

na przełączniku podejrzeć aktualne wartości numeru kolejnego i potwierdzenia w sesji TCP innego komputera, wystarczy co pewien czas wysyłać ramkę ze źródłowym adresem MAC atakowanego hosta. Przełącznik - „myśląc", że komputer został przełączony na inny port - będzie transmitował pakiety do crackera, aż ich prawowity właściciel nie odezwie się na jego innym porcie. Ponieważ protokół TCP jest odporny na zagubienie

kilku pakietów, dokona ich retransmisji

i połączenie nie zostanie zerwane. A atakujący

będzie miał informację o aktualnym numerze kolejnym i numerze potwierdzenia. Pew­ nym zabezpieczeniem jest właściwość dobrych przełączników zarządzalnych, nazwana

Port Security,

czasem określana pojęciem

Port Binding lub MAC Binding.

Zabezpiecza

ona przed zmianami w tablicy adresów MAC na przełączniku, a wszystkie modyfikacje muszą zostać potwierdzone ręcznie przez administratora.

Redirect, Router advertisement Router selection, agresor może dowolnie manipulować ich tablicą routingu i przejmować

Jeśli stacje robocze będą przyjmowały komunikaty ICMP: i

dowolne połączenia. Należy zwracać baczną uwagę na bezpieczeństwo przełączników zarządzalnych. Jeśli włamywaczowi uda się opanować taki przełącznik, to może przełączyć port, do którego jest podłączony, w tryb podsłuchu

(Monitoring port)

i zdobyć informacje o wszystkich

transmisj ach przechodzących przez przełącznik. Główną metodą obrony w sieciach lokalnych jest wykrywanie. Powinieneś uruchomić dobry i wydajny system IDS mający dostęp do całości ruchu w sieci. W przypadku pro­ blemów z wydajnością możesz uruchomić kilka takich systemów, jednak najlepszym wyjściem byłoby po jednym IDS dla każdej domeny rozgłoszeniowej . Jeśli IDS będzie miał dostęp jedynie do części ruchu w domenie rozgłoszeniowej , to może pominąć j akiś atak, nie znając wszystkich pakietów w nim uczestniczących. Postaraj się, aby IDS nie był widoczny i nie dało się go wykryć metodami stosowanymi podczas wyszukiwania snifferów w sieci lokalnej .

Rozdział 10. + Bezpieczeństwo

507

Zasoby AntiSniff - http://packetstormsecurity.nl/snif.fers/antisniff/ - program do wykrywania snifferów.

Ettercap

-

http://ettercap.sourceforge.net - wygodny program do arp-spoifingu i m.in.

przejmowania sesj i SSH l i SSL.

Arpoison - http://web.syr. edu/-sabuer/arpoison/ - narzędzie do arp-spoffingu. Dsniff - http://naughty. monkey.org/-dugsong/dsniff/ -

zestaw programów do pene­

tracji sieci lokalnych, m.in. arp-spoof, dns-spoof.

ARP Watch - ftp://ftp. ee. lbl.gov/arpwatch. tar.gz - program -spoofzngu.

do wykrywania

arp­

winfingerprint O .4.2 - http:I!www. binarii.com/.files/securitylwin.fingerprint-0. 4. 2.zip

-

program do wykrywania systemów operacyjnych, serwisów udostępnianych przez sys­ temy Windows i ogólnego testowania poziomu zabezpieczeń tych systemów.

Hunt http://lin.fsid.cvut. cz/-kralindex. html#HUNT arp-spoffingu. -

sniffer z możliwościami

NetBIOS Auditing Tool - http://www.tux.org/pub/security/secnetltools/natlOI - pro­ gram do testowania zabezpieczeń protokołu NetBIOS.

http://www. atstake.com/research/tools/index. html - wiele przydatnych narzędzi, m.in.: + Rpcdump - sprawdzanie informacji udostępnianych przez RPC, + Nbtdump - sprawdzanie informacji udostępnianych przez NetBIOS, + Netcat - prosty i bardzo przydatny program do pisania na port sieciowy z możliwością czytania z portu,

+ Netcatfor Win - netcat działający w systemach Windows 95/98/NT/2000. Fragroute - http://monkey.org/-dugsong/fragroute/ - program umożliwiający wiele ataków związanych z fragmentacją strumienia pakietów.

http://www.robertgraham.com/pubs/sniffing-faq.html - dokumentacja na temat sniffingu. http://chocobospore.org/projectslarpspooflarpspoofpdf- dokumentacja na temat arp­ -spoofzngu.

508

Sieci komputerowe. Kompendium

10. 7. Podsumowanie Dobrym hasłem podsumowującym rozdział dotyczący bezpieczeństwa będzie:

To motto nie jest wcale tak dziwne, jak się wydaje na pierwszy rzut oka. Pewien czło­ wiek na grupie dyskusyjnej pl. camp.security stwierdził, że im dłużej czyta tę grupę, tym bardziej się boi. Coś w tym jest; im więcej wiesz, tym wyraźniej zdajesz sobie sprawę, jak kruche jest złudzenie bezpieczeństwa w Internecie. Wielu administratorów sieci wyra­ bia w sobie lekką, kontrolowaną paranoję, która powoduje, że zawsze przede wszystkim myślą o bezpieczeństwie. Istnieje wiele innych metod ataków poza opisanymi przeze mnie i ciągle pojawiają się nowe. Jedynym sposobem zabezpieczenia jest nieustanne śledzenie grup dyskusyjnych zajmujących się zagadnieniami bezpieczeństwa i natychmiastowe reagowanie na każde nowe zagrożenie. Jest to zadanie każdego administratora sieci. Pomimo istnienia aż tylu różnych metod włamania się do systemów informatycznych, najczęściej powodem pro­ blemów jest po prostu błąd człowieka. Głośne są przypadki pozostawiania haseł dostępu do systemu przyklejonych pod klawiaturą, a czasem karteczką do monitora. Dlatego bar­ dzo ważny jest poziom zrozumienia zasad bezpieczeństwa przez użytkowników systemu i ich przestrzeganie. Sformułowanie takich zasad, przyjęcie metod ich egzekwowania, ustalenie i sztywne przestrzeganie poziomów dostępu do systemu oraz odpowiednie jego skonfigurowanie (konstrukcja sieci, firewall) tworzą politykę bezpieczeństwa firmy.

Zachowanie podczas włamania Jeśli masz już wdrożoną politykę bezpieczeństwa, powinien być tam przewidziany tzw. „system obsługi incydentu", zgodnie z którym należy postępować. Zawsze najważniej­ sze jest zabezpieczenie danych na atakowanym komputerze. Jeśli stwierdzisz przełamanie jego zabezpieczeń, sam najczęściej musisz podjąć decyzję o odłączeniu stacji od sieci. Bardzo ważne jest zdobycie j ak najwięcej danych o ataku, które pomogą Ci później zabezpieczyć się przed jego powtórzeniem oraz będą dowodem w przypadku przekaza­ nia sprawy organom ścigania. Jednak gdy będziesz zbyt długo zwlekał, włamywacz może opanować Twój system i wyczyścić dzienniki systemowe ze śladów swojej działalności. Wtedy właśnie bardzo przydaje się dodatkowy system logujący, który nie udostępnia żadnych innych usług umożliwiających włamanie do niego i również usunięcie śladów. Jeśli zdarzenie okaże się na tyle poważne, że zdecydujesz się wstąpić na drogę prawną, powinieneś skompletować dane na temat włamania: opis ataku, adres IP atakującego, dokładną datę i czas, wyciągi z logów systemowych. Nie udawaj się z tym na policję, ponieważ jeszcze długo będzie to działanie zupełnie bezcelowe. Wybierz się do prawnika, najlepiej młodego, lub poszukaj w Internecie kancelarii prawnej . Jeśli takowa będzie miała własną stronę WWW, to jest szansa, że któryś z zatrudnionych tam pracowników będzie wiedział, co to jest Internet. Zgłoś się właśnie do niego, pamiętając, że tego typu

Rozdział 10. + Bezpieczeństwo

509

usługi są płatne. Poproś go o sporządzenie zawiadomienia o popełnieniu przestępstwa do prokuratury. Podczas przekazywania dokumentów do tej instytucj i postaraj się również wyszukać jako partnera do rozmowy jak najmłodszą osobę. Spróbuj dowiedzieć się, który z prokuratorów miał styczność z prawem komputerowym. Większość spraw związanych z przestępczością komputerowąjest w Polsce ścigana z urzędu, więc do uruchomienia machiny powinno wystarczyć złożenie zawiadomienia do prokuratury. Podam poniżej listę przydatnych przepisów, z którymi warto się zapoznać, zanim się tam udasz:

+

art.

267 § I

-

4 Kodeksu karnego,

+

art.

268 § I

-

4 Kodeksu karnego,

+

art. 1 1 7. I pkt I

+

art.

23 Kodeksu cywilnego,

+

art.

24 § I

-

-

2 Ustawy o prawie autorskim i prawach pokrewnych,

3 Kodeksu cywilnego.

Warto również poszukać bardziej szczegółowych omówień w prasie informatycznej . Jeśli włamanie spowodowało szkody, możesz zasięgnąć porady prawnika w sprawie dochodzenia roszczeń materialnych w postępowaniu karnym. Jednak o wiele lepszym rozwiązaniem jest podjęcie własnych działań. Możesz je pro­ wadzić równolegle do drogi prawnej, a nawet jest to zalecane. Oczywiście zdobyte infor­ macj e i dowody należy przekazywać do prokuratury. Jeśli wiesz skąd wyszedł atak masz adres

IP

-

odszukaj adres właściciela przestrzeni adresowej i stronę domową

firmy. Wyślij list do administratora sieci z prośbą o podjęcie odpowiednich działań, jeśli to nie poskutkuje, możesz spróbować znaleźć adresy e-mailowe lub pocztowe i wysłać zawiadomienie do władz firmy. Czasem odpowiednio sformułowany list do prezesa potrafi zdziałać cuda.

Przydatne polskie adresy: ł http://www. cert.org.p/j,

ł http://www. tpnet.pl/abuse.php.

510

Sieci komputerowe. Kompendium

Rozdzi ał

11.

Firewall W tym rozdziale zajmę się sposobami kompleksowego zabezpieczenia sieci komputero­

filtrowania datagramów (firewall) oraz tłumaczenia adresów (Network Address Translation). Nie przedstawię gotowego rozwią­

wej za pomocą techniki

sieciowych

NAT

zania, ale postaram się, abyś zrozumiał, w j aki sposób możesz stworzyć coś takiego dla swojej sieci. Uważam, że absurdem jest pobranie z sieci gotowego skryptu i uru­ chomienie go. Musisz rozumieć, co robi Twój firewall i jak funkcj onuj e - lepiej , aby był prosty, ale żebyś poznał dokładnie jego działanie. Każdy firewall jest inny, tak jak każda sieć jest inaczej zbudowana i różne są charak­ tery i poziomy wiedzy ich administratorów. Firewall rozwij a się wraz z Tobą; wraz ze zwiększaniem się Twoj ej wiedzy o zagrożeniach i metodach przeciwdziałania im. Zmienia się też wraz z wykrywaniem coraz to nowych zagrożeń. To żywy organizm stanowiący pierwszą linię obrony dla Twoj ej sieci, poświęć mu więc trochę czasu i zaangażowania.

11.1. Rodzaje firewalli Poniżej przedstawię bardziej dokładny podział firewalli niż wcześniej . Opiszę również ich cechy, na podstawie których jako administrator sieci będziesz wybierał odpowiedni rodzaj do potrzebnego Ci zastosowania. Oczywiście dobór konkretnego firewalla spo­ śród dostępnych na rynku pozostawiam już Tobie, zwłaszcza że tryb wydawania książki jest długi, a zmiany możliwości produktów obecnych na rynku następują bardzo szybko.

Tradycyjne proxy (Traditional proxies) Jest to rodzaj firewalla pośredniczącego; pakiety z sieci prywatnej nigdy nie wy­ chodzą do Internetu i

vice versa.

Adresy

IP w sieci prywatnej powinny być z klas nie­

routowalnych. Jedynym sposobem połączenia się z Internetem jest wywołanie firewalla, ponieważ jest on jedyną maszyną mogącą łączyć się równocześnie z obiema siecami

512

Sieci komputerowe. Kompendium Uruchamiamy jest na nim program zwany proxy, który tego dokonuje. Dla każdej usłu­ gi, która ma być dostępna z Internetu, na firewallu musi być uruchomiony osobny program pośredniczący w jej świadczeniu. Komputery w sieci wewnętrznej muszą być specjalnie skonfigurowane w celu uzyskania dostępu do wybranych usług. Przykładowo aby ściągnąć stronę WWW muszą połą­ czyć się z firewallem na port 8080, zalogować się i zażądać potrzebnej strony. W tym momencie uruchamia się odpowiedni program pośredniczący, pobiera potrzebne dane i przekazuje do odpowiedniego komputera w sieci lokalnej. ,

Przezroczyste proxy (Transparent proxies) Jest to drugi rodzaj firewalla pośredniczącego; pakiety z sieci prywatnej również nigdy nie wychodzą do Internetu i vice versa. Adresy IP w sieci prywatnej powinny być z klas nieroutowalnych. Jedyną drogą połączenia się z Internetem jest wywołanie firewalla, ponieważ jest on jedyną maszyną, mogącą łączyć się równocześnie z obiema sieciami. Uruchamiamy na nim program zwany transparent proxy, który tego dokonuje. System operacyjny zamiast dokonać routingu pakietów do Internetu, kieruje je do tego pro­ gramu. Dla każdej usługi, która ma być dostępna z Internetu, na firewallu musi być uruchomiony osobny program pośredniczący w świadczeniu takiej usługi. Przezroczyste proxy jest bardziej wygodne dla użytkowników i dla administratora. Klient nie musi wiedzieć o użyciu oprogramowania typu proxy i nie musi być specjalnie konfigurowany. Na przykład firewall jest skonfigurowany do przekierowywania (np. za pomocą polecenia i pcha i ns) wszystkich połączeń do portu 80 na port 8080, na któ­ rym pracuje tranparent proxy. Przy próbie pobrania dowolnej strony WWW transmisja przekierowywana jest na port 8080, a następnie wszystko odbywa się tak, jak w po­ przednim przykładzie.

Th.lmaczenie adresów IP ( NAT) Pakiety z sieci prywatnej nigdy nie wychodzą do Internetu bez specjalnej obróbki i vice versa. Adresy IP w sieci prywatnej powinny być z klas nieroutowalnych. W tym przy­ padku używamy specjalnych funkcji zmieniających niektóre pola transportowanych pakietów (adres źródłowy, port źródłowy). Zostało to już opisane.

Filtrowanie pakietów W tym przypadku nasza sieć jest częścią Internetu, pakiety mogą poruszać się bez zmian poprzez obie sieci. Firewall na podstawie nagłówków protokołów podejmuje decyzję, czy przepuścić dany pakiet, czy nie. Filtrowanie pakietów zastosowano po to, aby ograniczyć dostęp z Internetu tylko do naszych wewnętrznych serwerów i unie­ możliwić dostęp do komputerów użytkowników. Jeżeli firewall ma możliwość śle­ dzenia sesji protokołów warstwy transportowej, nazywamy go firewallem z inspekcją stanu (statefitll instpection); czasami spotyka się w literaturze również pojęcie fire­ walla obwodów.

Rozdział 11. + Firewall

513

Ten typ firewalla ma najmniej sze możliwości kontroli i autoryzacji dostępu, ale j est równocześnie najbardziej elastyczny i wprowadza najmniej ograniczeń dla użytkow­ ników z sieci wewnętrznej . Nie ma potrzeby uruchamiania specjalnych programów pośredniczących.

11.2. Obsługa filtrowania pakietów w Linuksie Linux jest typowym systemem sieciowym; możliwości filtrowania pakietów pojawiły się w nim bardzo wcześnie, bo już w wersj i 1 . 1 . Alan Cox po prostu w 1 994 roku przeniósł z B SD kod używanego tam ipfw. Jos Vos rozbudował ten kod i w jądrach wersji 2.0 pojawiło się narzędzie i pfwadm do kontroli reguł filtrowania. W 1 998 roku dla wersji 2.2 Paul Russell i Michael Neuling radykalnie zmienili kod jądra i wpro­ wadzili nowe narzędzie i pcha i ns. W 1 999 roku dla jąder w wersji 2.4 i dalszych kod podsystemu sieciowego został przepisany od nowa, wprowadzono wiele przydatnych możliwości: zaawansowany routing (również w oparciu o adres źródła pakietu), zarzą­ dzanie pasmem oraz całkiem nową „ścianę ogniową''. Do zarządzania firewallem zo­ stało przeznaczone nowe polecenie i ptab l es. Aby go używać, musisz mieć włączony (wkompilowany) w jądrze moduł netfilter oraz zainstalowany pakiet iptables. Pamiętaj, że pakiet ipchains nie jest już rozwijany, a do iptables ciągle pojawiają się nowe dodatki. Jest to główny powód, poza o wiele większą funkcjonalnością, dla którego skupię się na tym pakiecie (porównanie obu pakietów w tabeli 1 1 . 1 ). Jeśli brak j est funkcj i, których potrzebujesz, spróbuj zajrzeć do zbioru dodatków o nazwie Patch o Matic; z listą najnowszych można zapoznać się pod adresem http://www.netfilter. org/ patch-o-matic/pom-extra.html. Najciekawsze dodatki pozwalają na ograniczanie liczby połączeń z jednego IP, selekcjonowanie pakietów w zależności od opcji IP, określanie rozmiaru pakietu. Główną zaletą firewalla opartego na systemie Linux jest jego olbrzy­ mia wręcz elastyczność, widoczna już w trakcie procesu projektowania. Pakiety komer­ cyjne, nastawione naj częściej na schematyczne rozwiązania konstrukcji sieci, mają problemy w implementacji niektórych zadań, nie będących żadnym ograniczeniem dla iptables. Gdy dochodzi do wyboru wymaganej funkcj onalności, iptables zadziwia różnorodnością. Poniżej zamieszczam listę najciekawszych funkcji zawartych w wer­ sji 1 .2. 1 1 . -

-

Niektóre wybrane moduły ( - m state) w iptables: weryfikacja typów adresów: UNSPEC, UNICAST, LOCAL, BROADCAST, ANYCAST, MULTICAST, UNREA CHABLE,

ł addrtype

-

+ connmark - „oznaczanie" połączenia do później szego wykorzystania przez np. routing,

+ connrate

-

określanie aktualnego transferu dla połączenia,

+ conntrack - śledzenie stanu połączenia, do którego należy pakiet: INVALID, NEW, ESTABLISHED, RELATED, SNA T, DNA T,

­

514

Sieci komputerowe. Kompendium

Tabela 11.1. Porównaniefunkcjonalności ipchains i iptables Ipchains

'

Iptables

r

Adres źródłowy IP

Możliwe kryteria selekcj i

Adres docelowy IP

pakietów

Protokół (TCP, UDP) i port lub zakres portów Protokół ICMP i komunikat Zaistnienie fragmentacj i Wartości bitów T O S Pakiety z flagą SYN Możliwość określani a reguł

symetrycznych (o dwrotnych) -y Adres sprzętowy interfej su MAC Dowolna kombinacja flag TCP Kryterium częstotliwości nadchodzących pakietów (zabezpieczenie przeciwko D o S) Właściciel pakietu w systemie

Funkcj o-

Inspekcj a stanu, śledzenie sesji dl a protokołów

nalność

TCP, UDP, ICJ:v.IP Uproszczona translacj a adresów, tzw.

Pełna funkcj onalność NAT

Możliwość logowani a p akietów

Możliwość konfigurowania wyglądu logów

MasqUErading

Obsługa IPv6 Modułowość - o lbrzymia ilość różnorodnych modułów poszerzaj ących funkcj onalność p akietu

+ dscp

określenie wartości 6-bitowego pola DSCP w polu TOS (typ serwisu) w nagłówku IP, -

+ dstlimit określenie maksymalnej liczby pakietów na sekundę dla dowolnego adresu IP lub portu; każde IP lub port posiada własny limit (licznik), -

+ fuzzy + limit + mac

-

określenie limitu liczby pakietów danego typu na sekundę,

-

-

+ owner

określenie adresu MAC,

-

+ physdev + realm

określenie limitu pakietów za pomocą algorytmów logiki rozmytej ,

określanie właściciela (user) pakietu w systemie Linux,

-

-

stosowane przy „przezroczystym" firewallu,

używane przy protokołach routingu dynamicznego,

+ state określanie stanu połączenia, do którego należy pakiet: NVALID, NEW, ESTABLJSHED, RELA TED, SNAT, DNA T. -

+ time

-

tworzenie reguł działaj ących w wybranym czasie np. między 8 a 1 6,

Rozdział 11. + Firewall

515

Niektóre wybrane operacje

+

( - j ta rget) możliwe do wykonania w iptables:

BALANCE - możliwość rozdzielania ruchu

(load balancing) np.

na dwa

serwery www,

+

CLASS/FY- klasyfikacj a ruchu do zarządzania pasmem

+

CL USTERIP - wsparcie do tworzenia klastrów komputerowych,

+ MARK,

(quality ofservice)

CONNMARK - „znakowanie" pakietów,

+

DNA T - Destination NAT - przekierowywanie ruchu do innego celu,

+

LOG - zalogowanie pakietu z odpowiednim komentarzem,

+

REDIRECT - przekierowywanie pakietów „do siebie samego",

+

REJECT - usunięcie pakietu i powiadomienie źródła odpowiednim komunikatem ICMP,

+

ROUTE - bezpośrednia zmiana routingu dla pakietu,

+

SNA T - nat „źródłowy" - adres źródłowy pakietu zostanie zmodyfikowany,

+

TCPMSS - zmiana wartości pola MSS (maximum segment size) w nagłówku TCP,

+

TTL - zmiana wartości pola TTL.

Oczywiście nie wymieniałem tutaj wszystkich możliwości, w dodatku wiele nowych zamieszczonych jest w repozytoriach patch-o-matic, np. ciekawym modułem jest quota, umożliwiaj ąca określenie maksymalnej ilości danych możliwych do ściągnięcia przez dany adres

IP. Dokładną listę możliwości możesz sprawdzić na stronie domowej pakietu

http://www. netfilter. org/.

Ponadto j est wiele modułów dostępnych w Internecie, nie

zamieszczonych w patch-o-matic, przykładowo moduły do wykrywania i np. ograni­ czania ruchu wymiany plików p2p.

Rozwiązania komercyjne Oczywiście iptables m a również minusy, widoczne zwłaszcza podczas konkurowania z produktami dużych firm komercyjnych. Głównym, bardzo ogólnym zarzutem jest nie­ wielka integracja firewalla Netfilter z innymi mechanizmami sieci. Chodzi mi chociaż­ by o możliwość weryfikacji uprawnień (reguł) na podstawie loginów użytkowników, np. w usługach katalogowych (np. MS ActiveDirectory), serwerach RADIUS. Brak inte­ gracji z systemami IDS i antywirusowymi. Brak integracji z gotowymi Proxy aplika­ cyjnymi. I w tej dziedzinie rozwiązania komercyjne wygrywają, zwłaszcza że najczęściej wyposażone są w wygodne interfej sy do konfiguracj i i zarządzania, co przyspiesza wdrożenie i zmniejsza koszty obsługi (krótszy czas pracy administratora). Przykładowe firewalle komercyjne:

+ +

Symantec Gateway Security - seria 5400 - http://www.symantec.com/ region/pl/product/GatewaySecurty5400. html Check Point FireWall- 1 -

index.html

http://www. checkpoint.com/productsljirewall-l/

516

Sieci komputerowe. Kompendium ł Cisco PIX-535 -http://www. cisco.com/en/US/products!hwlvpndevclps2030/

products_data_sheet09l 86a00800 7d05d. html

ł Internet Security and Acceleration Server 2004 - http://www. microsoft. com/

isaserver/default.mspx Rady przydatne podczas wyboru komercyjnego firewalla: ł przeczytaj dokładnie dokumentację możliwości rozwiązania, ł nie wierz we wszystko, co jest podane na stronach producentów - pomiń

„marketingowy bełkot", ł postaraj się zainstalować wybrany produkt i zasymulować na nim

jak najdokładniej funkcje, których będziesz potrzebował, ł nawiąż kontakt z przedstawicielami handlowymi - czasem istnieje możliwość

wypożyczenia urządzenia do testów, ł zamęczaj przedstawicieli firmy pytaniami, zanim nabędziesz ich produkt;

po zakupie już nie jesteś dla nich taki ważny jak przed, ł pamiętaj, że decydując się na - najczęściej drogie - rozwiązanie wybranej

firmy, wybierasz późniejsze dokupywanie kolejnych komponentów systemu bezpieczeństwa tejże firmy, ł dobrze zastanów się nad wyborem wersji oferowanego rozwiązania i sposobem

licencjonowania. Wnioski: ł istnieje wiele rozwiązań - należy wybierać dokonując analizy potrzeb, kosztów

oraz zasobów administracyjnych (wiedzy administratora), ł poważne firmy (większość dużych) oferują zintegrowane rozwiązania chroniące

całą sieć, przy czym różnią się ich filozofie, np. : Cisco - The Self-Defending Network, ł koszty takich rozwiązań na polskim rynku są ogromne, ł zawsze należy uwzględniać koszt szkoleń i utrzymania rozwiązania w działaniu

- koszt „roboczogodziny" administratora. Przyszłość systemów bezpieczeństwa: ł Intrusion Protection Systern/Intrusion Prevention System - reakcja w czasie

rzeczywistym, ł zintegrowane rozwiązania dotyczące zarządzania wszelkimi zagadnieniami

bezpieczeństwa od firewalli, IDS/IPS, VPN, poprzez ochronę stacji roboczych i analizę stanu ich zabezpieczeń, ł „zaszywanie" mechanizmów bezpieczeństwa w urządzenia sieciowe

- przełączniki, Access Pointy, ł wykorzystywanie algorytmów sztucznej inteligencji w celu reakcji na nowe

ataki (ataki dnia zerowego) .

Rozdział 11. + Firewall

517

l pchains - Linux 2.2 W tym podrozdziale zamieszczam skrócony opis obiegu datagramów IP w jądrach wersji 2.2. Następny podrozdział jest poświęcony projektowi netfilter i dokładniej opisuje działanie i ptab l es używanego w jądrach wersji 2.4.

Ipcha i ns jest linuksowym poleceniem używanym do konfiguracji reguł firewalla i tłu­ maczenia adresów IP (NAT). Zastąpiło ono starsze i pfwadm. Aby móc wykorzystać kom­ puter z systemem operacyjnym Linuks do filtrowania pakietów, należy skompilować jądro systemu z opcjami (dla jądra z serii 2.2): CONFIG_F I REWALL y CONFIG_IP_FI REWALL y =

=

Aby stwierdzić, czy jądro ma prawidłowo wkompilowaną obsługę filtrowania datagra­ mów, należy sprawdzić, czy w katalogu /proc/net/ istnieje plik ip_fwchains, zawiera­ jący konfigurację reguł firewalla. Przy konfigurowaniu firewalla za pomocą polecenia i pcha i ns podstawowym pojęciem jest łańcuch (chain). Łańcuch jest to zbiór reguł filtrujących, na podstawie których podejmowana jest decyzja, czy pakiet zostanie przepuszczony, czy też usunięty. Istnieją trzy standardowe łańcuchy: input, forward i output, ponadto użytkownik może two­ rzyć własne łańcuchy. Rysunek 11.1. Obieg pakietów w Linuksie 2.2

Droga datagramów IP poprzez firewall jest bardzo skomplikowana (rysunek 1 1 . 1 ). Na samym początku drogi pakietu sprawdzana jest suma kontrolna datagramów (checksum), następnie testowane są one pod kątem deformacji (sanity). Później pakiety przechodzą przez łańcuch wejściowy (input chain) i jeśli trzebit, podlegają odwrotnemu procesowi NAT (demasquerade), czyli adres routera usuwany jest z pola „adres docelowy" i za­ stępowany adresem IP docelowego komputera w sieci prywatnej . Dalej na podstawie tablicy routingu (routing decision) lub protokołu routującego podejmowana jest decy­ zja o dalszym losie pakietu. Procesy lokalne (!ocal process) mogą odbierać pakiety po etapie routowania i wysyłać j e poprzez etap routowania i bezpośrednio łańcuch wyj­ ściowy (output chain). Jeśli pakiet nie został utworzony przez proces lokalny, jest do­ datkowo sprawdzany w łańcuchu przejściowym (forward chain). Jeśli proces lokalny będzie się komunikował z innym procesem lokalnym, kieruje pakiet przez łańcuch wyjściowy ( output chains) do interfejsu Io (Io inteiface - loopback). Każdy z pakietów opuszczających komputer musi zostać sprawdzony przez reguły zawarte w łańcuchu wyjściowym (output chain).

518

Sieci komputerowe. Kompendium

Składnia polecenia ipchains Pokrótce przedstawię podstawową składnię polecenia i pcha i ns. Dokładny opis pozo­ stałych opcji znajduje się w publikacji http://www. tldp.org/HOWTOIJPCHAINS-HOW­

TO. html. Po poleceniu i pcha i ns następuje opcja określająca jego działanie:

-F (Flush) - usuwa wpisy z wymienionego później łańcucha, -A (Append) - dodaje nową regułę do łańcucha, - I (Insert)

-

wstawia nową regułę do łańcucha na podane miejsce,

-D (Delete) - usuwa regułę z łańcucha. Następnie występują wpisy określające źródło i cel transmisji:

-s (source) - źródło, -d (destination) - cel. Adresy mogą być podawane jako m IP lub nazwa oraz jako zakresy, np.

-s

1 92 . 168 . 23 . 24 - adres

źródłowy równy 1 92 . 1 68.23 .24,

-d 192 . 1 68 . 23 . 0 1 2 4 - adres źródłowy pochodzący z sieci 1 92. 1 68.23.0 o 24-bitowej masce, -d

192 . 1 68 . 23 . 0 / 255 . 255 . 255 . O - zapis równoważny poprzedniemu,

-s

O . O . O . 010

- dowolny adres.

Większość opcji umożliwia zastosowanie negacji logicznej, na przykład -s ! l oca l host oznacza wszystkie komputery poza lokalnym. Protokół może być podawany jako nu­ mer pobrany z pliku /etc/protocols lub nazwa (tcp, udp, icmp), nie jest ważne, czy uży­ jesz małych, czy też wielkich liter:

-p udp - protokół UDP, Można również podawać numer portu, dla którego układamy regułę:

- p TCP - s O . O . O . 0 1 0 23 - ruch protokołem TCP z dowolnego adresu z portu 23 (telnet). Możemy definiować również zakresy portów:

- p TCP - s 1 9 2 . 168 . 1 . 6 20 : 23 ruch protokołem TCP z adresu 1 92. 1 68. 1 .6 z portów o numerach 20, 2 1 , 22 i 23, -

- p UDP d 192 . 168 . 1 . 0 / 24 1024 : - ruch protokołem UDP do komputerów z sieci 1 92. 1 68. 1 .0/24 na wysokie porty (porty o numerach 1 024 i więcej). -

Równie dobrze możemy podać nazwę portu: -p TCP - s O . O . O . 0 1 0

www .

Rozdział 11. • Firewall

519

Określamy interfejs sieciowy, którego dotyczy reguła:

- i ethO - karta sieciowa ethO, - i eth+ - oznacza wszystkie interfej sy zaczynające się na eth. Aby włączyć zapisywanie pakietów do logów systemowych, musimy dodać do reguły flagę - 1 . Flaga - j specyfikuje, co należy wykonać z pakietem pasującym do reguły. Jeśli nie ma tej flagi, to reguła jest używana do prostego zliczania pakietów j ą spełniaj ących. Działa­ niami, które możemy zlecić, są:

- j ACCEPT - podejmuje decyzję o przepuszczeniu pakietu pasującego do reguły, - j DENY - natychmiast likwiduje pakiety pasujące do reguły,

- j REJECT - likwiduj e pakiety, wysyłaj ąc do nadawcy komunikat ICMP o nieosiągalności celu, - j MASO - stosuje uproszczoną odmianę NAT, nazywaną czasem „maskaradą'' (jądro musi być skompilowane z IP Masquerading enabled); opcja prawidłowa jedynie dla łańcuchaforward,

- j REDI RECT numer_portu - przekierowuje pakiet na lokalny port; opcja musi być użyta w łańcuchu INPUT i można j ej używać j edynie dla protokołów TCP i UDP, - j RETURN - powoduje natychmiastowe osiągnięcie końca łańcucha. Ustalamy politykę dla łańcucha. Polityka określa, co należy zrobić z pakietem nie pa­ sującym do żadnej z zawartych w nim reguł: i pcha i ns - P i nput DENY Zaprezentuj ę poniżej przykładową konfigurację; należy ją traktować jedynie jako przykład podany w celu przedstawienia sposobu konstruowania reguł firewalla: # Wyczyszczeni e łańcuchów w cel u pozbyci a s i ę potencj a l nych pozostałości

/ sbi n/ i pcha i ns /sbi n / i pcha i ns / sbi n/ i pchai ns # Przeki erowa n i e /sbi n/ i pcha i ns

-F i nput -F output -F forward ruchu na port używany przez usł ugę przezroczystego Proxy -A i nput -p tcp - s 192 . 1 . 2 . 0/24 -d O . O . O . O/ O 80 -j REDIRECT 8080

# Utworzeni e własnego łańcucha o nazwi e my -cha i n

/ sbi n/ i pcha i ns - N my-chai n # Dodawani e reguł do ł a ńcucha my -cha i n # Zezwol enie n a transmi sje z serwerów SMTP

/ sbi n / i pchai ns -A my-cha i n -s O . O . O . O/O smtp -d 192 . 1 . 2 . 10 1024 : -j ACCEPT # Zezwol eni e na transmi sje do serwerów SMTP

/sbi n / i pcha i ns -A my-cha i n -s 192 . 1 . 2 . 10 -d O . O . O . O/O smtp -j ACCEPT # Zezwol enie na transmi sje z serwerów WWW

/ sbi n/ i pchai ns -A my-cha i n -s O . O . O . O/ O www -d 192 . 1 . 2 . 11 1024 : - j ACCEPT

# Zezwol enie na transmi s j e do serwerów WWW

/ sbi n/ i pcha i ns -A my- chai n - s 192 . 1 . 2 . 0/24 1024 : -d O . O . O . O/ O www -j ACCEPT # Zezwol eni e na transmi sje z serwerów DNS

520

Sieci komputerowe. Kompendium

/sbi n / i pcha i ns -A my -cha i n -p UDP -s O . O . O . O/O dns -d 192 . 1 . 2 . 0/24 -j ACCEPT # Przeki erowani e paki etów z s i eci l okal nej do łańcucha my -cha i n / sbi n / i pchai ns - A i nput - s 192 . 1 . 2 . 0 / 24 -d O . O . O . O/ O - j my-cha i n # Konfi guracja NAT # ni e dokonuj NAT na ruchu z s i ec i l okal nej do si eci l okal nej /sbi n / i pcha i ns -A forward -s 192 . 1 . 2 . 0/24 -d 192 . 1 . 2 . 0/24 -j ACCEPT # n i e dokonuj NAT dl a ruchu z zewnątrz /sbi n / i pcha i ns -A forward -s 24 . 94 . 1 . 0/24 -d O . O . O . O /O -j ACCEPT # dokonuj NAT dl a ruchu z s i eci wewnętrznej na zewnątrz / sbi n / i pcha i n s -A forward -s 192 . 1 . 2 . 0 / 24 -d O . O . O . O/ O -j MASO # N i e pozwól na jaki kol wiek i nny ruch /sbi n / i pcha i ns -P my -cha i n i nput DENY

l ptables

-

Linux 2.4

Polskie tłumaczenie dokwnentu HOWTO do iptables znajdziesz na stronie http://lukasz. bromirski.net/docs/tlumaczenia. html. Powinieneś się z nim zapoznać, zanim zaczniesz czytać dalszy ciąg tego działu. Przeczytaj również pozostałe tłumaczenia na stronie Łukasza Bromirskiego http://mrOvka.eu.org- naprawdę warto. Zajrzyj również na stronę domową pakietu netfilter http://www. netfilter. org. Taaaak. Wiedziałem, że nie będzie Ci się chciało czytać takiej ilości tekstu. Postaram się zatem omówić pokrótce, jak wę­ druj ą pakiety w jądrze 2.4. Podstawowym pojęciem jest łańcuch (chain). Łańcuch to zbiór reguł filtrujących, wyko­ nywanych w kolejności ich wystąpienia (rysunek 1 1 .2). Istnieją trzy standardowe łań­ cuchy: input, forward i output oraz łańcuchy dodatkowe, prerouting i forward. Po­ nadto użytkownik może tworzyć własne łańcuchy. Łańcuch j est listą reguł, do których po kolei jest porównywany pakiet. Jeśli pakiet pasuje do którejś z reguł, wykonywana jest akcja zdefiniowana wewnątrz niej . Reguły definiujemy właśnie za pomocą pole­ cenia i ptab l es. Jeśli pakiet nie pasuje do żadnej reguły, wykonywana j est akcja zdefi­ niowana w polityce danego łańcucha. Tylko łańcuchy podstawowe i dodatkowe maj ą własną politykę, łańcuchy utworzone przez użytkownika nie mająjej, a pakiet po przejściu przez taki łańcuch wraca do miej sca (do łańcucha), z którego został wywołany. Rysunek 11.2. Ła11cuchy

nie u porządkowany zbiór reguł

Ła11cuch FORWARD przepuść SMTP

przepuść SMTP

j

ruch HTTP sprawdź w lańcuchu WWW przepuść DNS

1- przepuść DNS WYl http ://helion. pl/nowosci Helion SA

ul. Kościuszki 1 c,

tel . :

32 230 98 63

44- 1 00

Gliwice

e-mail: [email protected] http://helio n . p l

788324 635405

Informatyka w najlepszym wydaniu

,