Rozdział 7
Trasowanie (routing) w TCP/IP firmy
Microsoft
Protokół internetowy IP może służyć do budowania sieci o dowolnym
stopniu złożoności. Jeśli sieć IP jest oparta głównie na Windows NT,
wówczas jako routerów można użyć komputerów Windows NT.
Rozdział ten omawia wady i
zalety wykorzystania komputerów
Windows NT w charakterze routerów.
Windows NT może służyć do budowania sieci złożonych, składających
się z podsieci i pokrywających duże obszary. Sieci takie łączone są ze
sobą przy pomocy routerów. Routery IP rozumieją format nagłówka IP
i mogą przekazywać datagramy IP na podstawie zawartych w nich
informacji. Przekazywanie datagramów do ich miejsca przeznaczenia
nazywane jest trasowaniem. Routery działają jak urządzenia komutujące
pakiety, wybierające ich trasę poprzez sieć na podstawie zdefiniowanych
kryteriów.
Niniejszy rozdział omawia pojęcia związane z trasowaniem IP, których
zrozumienie jest konieczne do projektowania rozległych sieci IP.
Następnie opisana zostanie konfiguracja usług trasowania w Windows
NT. Na końcu znajduje się omówienie zaawansowanych zagadnień
związanych z projektowaniem podsieci, maskami podsieci o zmiennej
długości oraz łączeniem klas sieci.
Pojęcia związane z trasowaniem IP
Jak wyjaśniono w rozdziale 1, "Architektura TCP/IP w Windows", route-
ry są urządzeniami pracującymi w warstwie trzeciej modelu OSI, która
odpowiada za funkcje trasowania. Rysunek 7.1 przedstawia uproszczony
model routera.
Rozdział 7
210
Rysunek 7.1
Uproszczony model
routera
Router może posiadać wiele portów, przy czym musi posiadać co
najmniej dwa. Oprogramowanie trasujące IP sprawdza nagłówki
datagramów przychodzących do portu, aby ustalić, gdzie należy
przekazać datagram. Najważniejszą informacją sprawdzaną przez
oprogramowanie trasujące jest adres przeznaczenia datagramu IP.
Oprogramowanie trasujące korzysta z tablicy trasowania i przekazuje
datagram IP do odpowiedniego portu routera.
Trasowanie statyczne i dynamiczne
Tablica trasowania zawiera listę sieci i komputerów przeznaczenia oraz
informację o najlepszych wiodących do nich trasach. Tablica trasowania
w routerze może zostać wypełniona za pomocą dwóch metod:
metody statycznej
metody dynamicznej
W metodzie statycznej informacje muszą zostać ręcznie wprowadzone do
tablicy trasowania (routing table). W metodzie dynamicznej router może
sam zdobyć informacje o sposobie trasowania pakietów do innych sieci
i komputerów. Router zdobywa te dane przy pomocy protokołów
trasujących.
Wyjątki
System, który posiada tylko jeden port, ale dwa lub więcej adresów w różnych
podsieciach, może być przykładem routera mającego tylko jeden fizyczny port -
jest to jednak sytuacja wyjątkowa. Opisany wyżej uproszczony model służy
głównie do ilustracji podstawowych pojęć.
Trasowanie (routing) w TCP/IP firmy Microsoft
211
Protokoły trasujące
Protokoły trasujące opisują sposób, w jaki routery wymieniają między
sobą informacje, aby znaleźć najlepszą trasę do różnych miejsc przezna-
czenia w Internecie. Protokoły trasujące muszą wymieniać komunikaty
w sieci opartej na IP, dlatego przenoszone są w datagramach IP. Protoko-
ły trasujące mogą pracować bezpośrednio ponad IP, jak np. protokół
OSPF (Open Shortest Path First); mogą pracować ponad UDP - protokołem
warstwy transportu, jak np. RIP (Routing Information Protocol). Mogą tak-
że pracować ponad protokołem warstwy transportu TCP, jak np. BGP
(Border Gateway Protocol).
Ponieważ protokoły trasujące wykorzystują protokoły IP, TCP lub UDP,
można je traktować jako klasę specjalnych protokołów warstwy aplikacji.
Zagadnienia związane z konfiguracją routerów
Niezależnie od używanego protokołu trasującego, istnieje potrzeba
ręcznej konfiguracji routera, zanim będzie on mógł funkcjonować w sieci.
Wynika to z faktu, że router jest urządzeniem pracującym w trzeciej
warstwie modelu OSI, którego karty sieciowe są identyfikowane przez
adresy IP. Konieczna jest więc konfiguracja adresów IP i związanych
z nimi parametrów, czego nie da się zrobić automatycznie. W niektórych
komercyjnych routerach parametry konfiguracyjne można umieścić
w pliku, a następnie wczytać go z lokalnego lub sieciowego dysku.
Pomaga to zautomatyzować proces konfiguracji routerów, ale wciąż
konieczne jest ręczne zmodyfikowanie zawartości pliku.
Niegdyś wiele routerów spełniało również funkcje serwera aplikacji, jak
np. komputery UNIX wykonujące zarazem funkcje trasujące. W rzeczy-
wistości wiele systemów UNIX domyślnie działa jako router, jeśli
posiadają więcej niż jedną kartę sieciową.
Obecnie można zbudować router na bazie Windows NT Server. Możliwe
jest także stworzenie routera przy użyciu Windows NT Workstation lub
Windows 9x, ale potrzebne jest do tego dodatkowe oprogramowanie
innych producentów. W Windows NT Server do skonfigurowania
serwera jako routera IP można użyć standardowego oprogramowania.
Jeśli serwer aplikacji pracuje również jako router, wówczas spełnia po-
dwójną funkcję: zapewnia usługi trasowania i usługi aplikacyjne. Ponie-
waż każdy datagram IP musi być trasowany oddzielnie, algorytm trasu-
jący może pochłonąć znaczną ilość czasu procesora w serwerze znajdują-
cym się w mocno obciążonej sieci. Ma to znaczny wpływ na wydajność
komputera jako serwera aplikacji. Z tego powodu producenci tacy jak
Cisco, Bay Networks, 3Com i inni sprzedają dedykowane urządzenia
Rozdział 7
212
sprzętowe, które wykonują wyłącznie funkcje trasujące. Użycie dedyko-
wanych urządzeń sprzętowych, zawierających wyspecjalizowane układy
przyspieszające funkcje trasowania, pomaga odseparować funkcje serwe-
ra aplikacji od funkcji komunikacyjnych. Dzięki temu zarządzanie komu-
nikacją i usługami aplikacyjnymi staje się łatwiejsze i znika konflikt inte-
resów.
Jeśli jednak sieć jest mała, a ze względu na niewielki ruch w sieci
wydajność i przepustowość nie stanowią kluczowych problemów, wtedy
routerem może być komputer Windows NT. Nie ma wówczas potrzeby
kupowania dodatkowych routerów sprzętowych, a konfigurację routera
może przeprowadzić administrator sieci, a nie specjalista od routerów
sprzętowych.
Dostarczanie datagramów przez hosty i routery
Tradycyjne opisy routerów IP używają pojęć router i host. Hosty są zwy-
kłymi komputerami, jak np. stacje robocze Windows NT lub komputery
Windows 95. Routery są to specjalne urządzenia, aktywnie wykonujące
funkcje trasowania. Jak wspomniano w poprzedniej części rozdziału,
serwer Windows NT może zostać skonfigurowany jako router.
W procesie trasowania datagramu IP biorą udział zarówno hosty, jak
i routery. Datagramy IP wysyłane są przez hosta, który chce skorzystać
z usług oferowanych przez innego hosta. Rysunek 7.2 przedstawia sieć
zawierającą hosty i routery. Routery umożliwiają łączenie się z zewnętrz-
nymi sieciami.
Kiedy host wysyła datagram IP, wówczas musi podjąć decyzję, czy
wysłać go bezpośrednio do hosta w sieci, czy też przekazać go do
jednego z routerów. W tym zakresie trasowania dokonują wszystkie
komputery w sieci.
Chociaż porty routera są podłączone do sieci, router przekazuje dalej
tylko datagramy przesłane bezpośrednio do swojego portu.
Odpowiedzialność za skierowanie datagramu bezpośrednio do portu
routera ponosi nadający host. W przykładzie z rysunku 7.2 nadający host
wykrywa sprzętowy adres podłączonego do sieci portu routera, po czym
używa tego adresu w polu adresu przeznaczenia ramki warstwy łącza
danych. W
sieciach obsługujących tryb broadcast do wykrywania
sprzętowego adresu portu routera używa się protokołów takich jak ARP.
Trasowanie (routing) w TCP/IP firmy Microsoft
213
Rysunek 7.2
Hosty i routery
Tablice trasowania w hostach i routerach
Zarówno hosty, jak i routery posiadają tablice trasowania IP. Tablica tra-
sowania zawiera informacje o miejscach przeznaczenia i sposobach do-
tarcia do nich. Hosty i routery sprawdzają tablice trasowania, aby ustalić,
jak należy trasować dany datagram.
W przypadku hostów, moduł IP sprawdza tablice trasowania dla
wysyłanych datagramów, których miejsce przeznaczenia znajduje się
poza lokalną siecią. Routery sprawdzają tablice trasowania dla
odbieranych datagramów, po czym przekazują je dalej w sposób opisany
w tablicy.
Jaki rodzaj informacji jest przechowywany w tablicach trasowania? Jeśli
tablica wymieniałaby każdy możliwy host przeznaczenia, wówczas
stałaby się zbyt duża, aby można było nią zarządzać. Musiałaby bowiem
wówczas zawierać wpis dla każdego możliwego adresu przeznaczenia
IP. W wersji 4 protokołu IP może istnieć około czterech bilionów
adresów, a więc przy całkowicie wykorzystanej przestrzeni adresowej
Internetu tablice trasowania musiałyby zawierać cztery biliony wpisów.
Pamięć komputerów przeznaczana na tablice trasowania wyczerpałaby
się równie szybko, jak cierpliwość administratorów zmuszonych do
zarządzania tablicami tej wielkości. Potrzebne jest więc inne rozwiązanie.
Tablica trasowania IP jest zaprojektowana w ten sposób, aby zawierała
tylko niezbędne minimum informacji. Zamiast przechowywania adresów
Rozdział 7
214
każdego możliwego hosta przeznaczenia, przechowuje się numer sieci
przeznaczenia. Jak wiemy, adres IP składa się z identyfikatora sieci
i identyfikatora hosta. Identyfikator sieci (netid) jest numerem sieci i jest
taki sam dla wszystkich komputerów w danej sieci. Innymi słowy,
wszystkie hosty w danej sieci dzielą taki sam przedrostek adresu IP na-
zywany identyfikatorem sieci. Przechowywanie informacji o trasowaniu
do sieci jest dużo wydajniejsze od przechowywania informacji
o trasowaniu do poszczególnych komputerów; zmniejsza to znacznie
liczbę wpisów w tablicach trasowania, redukując ich rozmiary. Jeśli
w adresie IP dla danej sieci adres hosta zajmuje H bitów, wówczas użycie
numeru sieci zamiast adresów poszczególnych hostów zmniejsza liczbę
wpisów w tablicy trasowania o czynnik 2H.
Wpis w tablicy trasowania zawiera miejsce przeznaczenia oraz router
następnego skoku, który ma przekazać datagram do miejsca przeznacze-
nia. Router następnego skoku jest routerem połączonym z segmentem
sieci, do którego bezpośrednio podłączony jest router źródłowy. Skokiem
natomiast nazywamy przejście datagramu przez router. Rysunek 7.3
pokazuje, że routerami następnego skoku dla routera R0 są routery R1,
R2 i R3, ponieważ podłączone są do tego samego segmentu sieci. Routery
R0 i R1 komunikują się poprzez łącze międzypunktowe (point-to-point);
takie samo łącze istnieje pomiędzy R0 i R2 oraz R0 i R3.
Rysunek 7.3
Routery następnego
skoku
Trasowanie (routing) w TCP/IP firmy Microsoft
215
Należy zauważyć, że tablica trasowania wskazuje tylko na następny ro-
uter w tej samej fizycznej sieci; tablica nie zawiera całej trasy do miejsca
przeznaczenia. Innymi słowy, wpis w tablicy trasowania nie zawiera listy
wszystkich routerów, przez które musi przejść datagram. W przykładzie
z rysunku 7.3 tablica trasowania routera R0 zawiera wpisy tylko dla
routerów R1, R2 i R3; nie wymienia routerów R4, R5, R6, R7, R8 i R9,
ponieważ w stosunku do R0 nie są one routerami następnego skoku.
Router następnego skoku wybierany jest tak, aby zminimalizować koszt
dotarcia do miejsca przeznaczenia. Minimalny koszt można zdefiniować
w kategoriach opóźnień, kosztu pieniężnego lub ilości skoków. Sposób
określania minimalnego kosztu jest zdeterminowany przez protokół
używany przez routery do wymiany informacji o trasowaniu. Koszt
związany z
przesłaniem datagramu reprezentuje globalną wiedzę
o topologii sieci; jednakże koncepcja routera następnego skoku
reprezentuje wiedzę tylko o lokalnej topologii sieci.
Tablica trasowania jest prosta, ponieważ zawiera tylko informacje
o sąsiednich routerach. Tablica musi na bieżąco uaktualniać informacje
o sąsiednich routerach. Za obliczenie kosztu związanego z przesłaniem
datagramu przez któryś z sąsiednich routerów odpowiedzialny jest
protokół trasujący.
Użycie w tablicy trasowania przedrostka sieci zamiast adresów IP
poszczególnych hostów zmniejsza rozmiar tablicy, ale prowadzi również
do innych konsekwencji. Wszystkie hosty znajdujące się w konkretnej
sieci posiadają tylko jeden wpis w tablicy trasowania, a więc tylko jedną
wiodącą do nich trasę. Jeśli nawet istnieją różne trasy do konkretnego
hosta, nie mogą być używane jednocześnie. W prostym modelu tablicy
trasowania nie ma możliwości uwzględnienia opóźnień, pierwszeństwa
ani przepustowości sieci. Niektóre protokoły trasujące biorą te czynniki
pod uwagę, przypisując każdej trasie w tablicy pewien koszt. Host
przeznaczenia otrzymuje dane poprzez serię bezpośrednich transmisji od
nadawcy do końcowego routera. Dopóki końcowy router nie spróbuje
dostarczyć datagramu do hosta przeznaczenia, nie ma żadnego sposobu,
aby stwierdzić, czy komputer przeznaczenia istnieje.
Jeśli końcowy router w serii bezpośrednich transmisji nie jest w stanie
dostarczyć datagramu, wówczas zgłasza nadawcy błąd w
postaci
komunikatu ICMP. Jeśli końcowy router znajduje się w
sieci
umożliwiającej pracę w trybie broadcast, jak np. Ethernet, wówczas
próbuje przypisać adres przeznaczenia IP do adresu sprzętowego przy
użyciu ARP. Jeśli ARP zawiedzie, router zakłada, że host przeznaczenia
jest nieosiągalny.
Rozdział 7
216
Przykład tablicy trasowania w hoście Windows NT
Tablica trasowania w
hoście jest podobna do tablicy trasowania
w routerze. Hosty trasują jednak tylko datagramy wysyłane przez siebie;
nie przekazują datagramów otrzymanych z innych węzłów IP. Routery
natomiast przekazują datagramy otrzymane z innych węzłów IP.
Na rysunku 7.4 przedstawiono tablicę trasowania dla komputera
Windows NT. Przykładowa sieć zawiera trzy routery. Host A może
wybrać dowolny z routerów, ale nie czyni tego w sposób arbitralny. Host
określa, jak należy przesłać datagram IP, sprawdzając swoją tablicę
trasowania. Tablica dla hosta A zawiera następujące wpisy:
Rysunek 7.4
Przykład
tablicy
trasowania
w hoście
Miejsce przeznaczenia
Router następnego skoku
200.1.1.0 połączony bezpośrednio (Directly connected)
201.12.5.0 200.1.1.10
202.10.10.0 200.1.1.11
203.4.5.0 200.1.1.12
Pierwszy wpis w tablicy trasowania określa lokalną sieć 200.1.1.0. Druga
kolumna wskazuje, że jest to bezpośrednio połączona sieć. Host może
więc wysyłać datagramy bezpośrednio; nie ma potrzeby przekazywania
routerom datagramów przeznaczonych dla lokalnej sieci 20.1.1.0. Host
używa sprzętowego mechanizmu sieci, aby dostarczyć datagram do do-
wolnego hosta znajdującego się w sieci 201.1.10. W sieci umożliwiającej
Trasowanie (routing) w TCP/IP firmy Microsoft
217
pracę w trybie broadcast, jak np. Ethernet, może to wymagać użycia pro-
tokołu ARP w celu określenia sprzętowego adresu hosta przeznaczenia
przed wysłaniem mu datagramu IP.
Drugi wpis w tablicy trasowania oznacza, że wszystkie datagramy
zmierzające do sieci 201.12.5.0 powinny być przekazywane do portu
routera 200.1.1.10. Należy zauważyć, że sieć 201.12.5.0 jest osiągalna
również przez inne lokalne routery, ale trasa taka wymagałaby
przesłania datagramu przez inne sieci, jak 202.10.10.0 i 203.4.5.0. Protokół
trasujący jest w stanie samodzielnie ocenić, że optymalna trasa do sieci
201.12.5.0 prowadzi przez router 201.1.1.10. Jeśli router ten byłby
wyłączony, wówczas wpis w tablicy trasowania dla sieci 201.12.5.0
określałby inne routery, przez które można do niej dotrzeć.
Trzeci wpis w tablicy trasowania określa, że wszystkie datagramy
zmierzające do sieci 201.10.10.0 powinny być przekazywane do portu
routera 200.1.1.11. Znów należy zauważyć, że sieć 201.10.10.0 jest
osiągalna również przez inne lokalne routery, ale trasa taka wymagałaby
przesłania datagramu przez inne sieci, jak 201.12.5.0 i 203.4.5.0. Protokół
trasujący jest w stanie samodzielnie ocenić, że optymalna trasa do sieci
201.10.10.0 prowadzi przez router 201.1.1.11. Jeśli router ten byłby
wyłączony, wówczas wpis w tablicy trasowania dla sieci 201.10.10.0
określałby inne routery, przez które można do niej dotrzeć.
Ostatni wpis w tablicy trasowania określa, że wszystkie datagramy
zmierzające do sieci 203.4.5.0 powinny być przekazywane do portu
routera 200.1.1.12. Znów należy zauważyć, że sieć 202.4.5.0 jest osiągalna
również przez inne lokalne routery, ale trasa taka wymagałaby
przesłania datagramu przez inne sieci, jak 201.12.5.0 i 202.10.10.0.
Protokół trasujący jest w stanie samodzielnie ocenić, że optymalna trasa
do sieci 203.4.5.0 prowadzi przez router 201.1.1.12. Jeśli router ten byłby
wyłączony, wówczas wpis w tablicy trasowania dla sieci 203.4.5.0
określałby inne routery, przez które można do niej dotrzeć.
Jeśli przyjrzymy się adresom IP routerów następnego skoku, wówczas
zauważymy, że ich porty podłączone do sieci lokalnej mają ten sam
przedrostek IP: 200.1.1. Co więcej, ten przedrostek jest taki sam dla
lokalnej sieci 201.1.1.0 i wszystkich podłączonych do niej hostów. Jest to
bardzo istotna informacja: wszystkie routery następnego skoku mają taki
sam przedrostek jak sieć, do której podłączone są ich porty. Ponieważ
routery muszą mieć więcej niż jeden port, ich pozostałe porty również
mają wspólny przedrostek ze swoimi sieciami (patrz rysunek 7.4).
Zazwyczaj ostatnim wpisem w tablicy trasowania jest trasa domyślna,
reprezentowana przez adres przeznaczenia 0.0.0.0. Trasa domyślna jest
Rozdział 7
218
wybierana tylko wtedy, jeśli w tablicy trasowania nie ma żadnego pasu-
jącego wpisu.
Trasy do pojedynczych hostów
Większość wpisów w tablicy trasowania określa miejsce przeznaczenia za
pomocą numeru sieci. Wiele implementacji umożliwia jednak określanie
miejsc przeznaczenia za pomocą adresu IP. Kiedy w tablicy trasowania
używamy adresu IP jako miejsca przeznaczenia, możemy określić router
następnego skoku na podstawie adresu IP hosta, a nie numeru sieci,
dzięki czemu mamy lepszą kontrolę nad sposobem dotarcia do hosta.
Możliwość określenia routera następnego skoku na trasie do konkretnego
hosta jest bardzo przydatna podczas testowania i debugowania sieci.
Rozważmy sieć z rysunku 7.5, w której tablica trasowania dla hostów
wygląda następująco:
Rysunek
7.5
Trasa do
pojedynczego
hosta.
Miejsce przeznaczenia
Router następnego skoku
200.1.1.0
Directly connected (połączony bezpośrednio)
201.12.5.27 200.1.1.11 (Trasa do pojedynczego hosta)
202.10.10.33 200.1.1.12 (Trasa do pojedynczego hosta)
201.12.5.0 200.1.1.10
202.10.10.0 200.1.1.11
Trasowanie (routing) w TCP/IP firmy Microsoft
219
203.4.5.0 200.1.1.12
Przykład z rysunku 7.5 jest podobny do przykładu z rysunku 7.4, z tym
że hosty przeznaczenia 201.12.5.27 i 202.10.10.33 są opisane w tablicy
trasowania hosta A jako posiadające własne trasy.
Gdyby w tablicy nie umieszczono trasy do pojedynczego hosta, wówczas
host 201.12.5.27 byłby osiągalny przez router 200.1.1.10, określony jako
router do sieci 201.12.5.0.
Podobnie, gdyby nie istniała sprecyzowana trasa do hosta 202.10.10.33,
wówczas byłby on osiągalny przez router 200.1.1.11, określony jako
router do sieci 202.10.10.0. Podczas testowania i debugowania, możliwość
przesłania danych do hosta przeznaczenia przez konkretny router
następnego skoku jest bardzo przydatna. Należy w tym celu skorzystać
z tras do pojedynczych hostów w sposób zilustrowany na rysunku 7.5.
Trasy domyślne
Jeśli sieć posiada tylko jeden router następnego skoku, wówczas trasa do
wszystkich zdalnych miejsc przeznaczenia prowadzi przez ten router
(patrz rysunek 7.6). W takim przypadku nie ma sensu wyszczególnianie
wszystkich możliwych miejsc przeznaczenia; wygodniej jest zdefiniować
trasę domyślną do wszystkich miejsc przeznaczenia. Router określony
przez trasę domyślną nazywany jest routerem domyślnym. Terminy
domyślny router i domyślna bramka są synonimami; routery niegdyś
nazywano bramkami. Windows NT i Windows 9x używają terminu
domyślna bramka.
Na rysunku 7.6 tablica trasowania dla hosta składa się z zaledwie dwóch
wpisów: jednego dla lokalnej sieci, a drugiego dla trasy domyślnej.
Oprogramowanie trasujące musi wykonać tylko dwa testy, aby określić
sposób przesłania datagramu IP.
Ogólnie rzecz biorąc, trasa domyślna umożliwia utrzymanie niewielkich
tablic trasowania w
sytuacjach, w
których trasa do wielu miejsc
przeznaczenia wiedzie przez ten sam router następnego skoku (patrz
rysunek 7.5). Oprogramowanie trasujące sprawdza tablicę trasowania
w poszukiwaniu dokładnego odpowiednika dla danego miejsca
przeznaczenia. Jeśli taki odpowiednik nie istnieje, wówczas używa się
trasy domyślnej. Trasa domyślna reprezentowana jest w
tablicy
trasowania przez specjalny adres przeznaczenia, 0.0.0.0.
W przykładzie z rysunku 7.7, bez użycia trasy domyślnej tablica
trasowania wyglądałaby następująco:
Miejsce przeznaczenia
Router następnego skoku
Rozdział 7
220
200.1.1.0 połączony bezpośrednio (Directly connected)
201.1.1.0 200.1.1.33
202.1.1.0 200.1.1.34
203.1.1.0 200.1.1.34
204.1.1.0 200.1.1.34
Tablica ta posiada pięć wpisów. Przy pomocy trasy domyślnej możemy
scalić trzy ostatnie wpisy w pojedynczą trasę, jak pokazuje poniższa
tablica trasowania, równoważna poprzedniej:
Miejsce przeznaczenia
Router następnego skoku
200.1.1.0 połączony bezpośrednio (Directly connected)
201.1.1.0 200.1.1.33
0.0.0.0 200.1.1.34
W komputerze Windows NT domyślną trasę ustawia się następująco:
1.
Uruchomić program Network w Control Panel.
2.
Wybrać zakładkę Protocols.
3.
Podświetlić protokół TCP/IP.
4.
Kliknąć Properties.
5.
Wybrać zakładkę IP Address.
6.
Wprowadzić adres domyślnego routera w polu Default Gateway.
Trasowanie (routing) w TCP/IP firmy Microsoft
221
Rysunek 7.6
Pojedynczy
router
następnego
skoku
Rysunek 7.7
Użycie trasy
domyślnej
w celu
zminimalizowa
nia rozmiarów
tablicy
trasowania.
Rozdział 7
222
Dzielenie na podsieci i jego zalety
Dzielenie na podsieci umożliwia podział pojedynczej sieci na kilka mniej-
szych przy użyciu tego samego, przypisanego numeru sieci. Poniżej wy-
mieniono zalety dzielenia na podsieci:
Uproszczona administracja
Możliwość restrukturyzacji sieci wewnętrznej bez wpływania na sieci
zewnętrzne
Lepsze zabezpieczenie sieci
Izolacja ruchu sieciowego.
Uproszczenie administracji wynika z faktu, że możliwe jest rozbicie sieci
przy użyciu routerów na logiczne segmenty. Pozwala to na niezależną
i wydajniejszą administrację poszczególnych segmentów. Mniejsze sieci
mogą być zarządzane przez niezależnych administratorów, dzięki czemu
unika się potencjalnych konfliktów pomiędzy wydziałami
przedsiębiorstwa, których pracownicy chcą posiadać większą kontrolę
nad swoimi sieciami.
Użycie podsieci umożliwia stworzenie wewnętrznej struktury, której
zmiany są niewidoczne w
zewnętrznych sieciach. W
przykładzie
z rysunku 7.8 wewnętrzną sieć podzielono na dwie podsieci, ale
zewnętrzny ruch jest nadal kierowany pod pojedynczy adres 149.108.0.0.
Za dokonanie dalszego rozróżnienia pomiędzy adresami IP należącymi
do różnych podsieci odpowiedzialny jest wewnętrzny router.
"Niewidzialność" sieci wewnętrznej dla sieci zewnętrznych ma bardzo
ważny aspekt: umożliwia wewnętrzną restrukturyzację bez potrzeby
uzyskiwania kolejnego numeru sieci. Może to stanowić wielką zaletę
w obliczu kurczenia się zasobu wolnych adresów w Internecie.
Ponieważ wewnętrzna struktura sieci jest niewidoczna dla sieci
zewnętrznych, automatycznie wpływa to na lepsze zabezpieczenie sieci.
Rysunek 7.9 przedstawia zależność pomiędzy różnymi polami adresu IP
i omawianymi do tej pory podsieciami. Podsieci muszą być połączone
przy pomocy routerów. Routery muszą wiedzieć, że używane jest
dzielenie sieci, oraz ile bitów identyfikatora hosta (hostid) używanych
jest jako numer podsieci.
Trasowanie (routing) w TCP/IP firmy Microsoft
223
Rysunek 7.8
Sieć klasy B
podłączona do
Internetu
i podzielona na
podsieci.
Przykładowy router z rysunku 7.8 musi wiedzieć, że pole identyfikatora
hosta w adresie IP należy traktować specjalnie - tzn. część pola jest
używana do określenia numeru podsieci, a pozostała część używana jest
do określenia numeru hosta. Informacja ta jest zazwyczaj
reprezentowana za pomocą maski podsieci.
Rozdział 7
224
Rysunek 7.9
Podsieci
i numery
podsieci.
Maska podsieci
Maska podsieci używana jest przez routery i hosty znajdujące się
w podsieci, aby określić, ile bitów pola identyfikatora hosta (hostid)
używane jest na numer podsieci. Maska podsieci dzieli pole hostid na
numer podsieci i numer hosta. Jest to 32-bitowa liczba, której wartość
określa się następująco:
Bity o wartości 1 w masce podsieci odpowiadają części adresu IP
określającej identyfikator sieci (netid) i numer podsieci.
Bity o wartości 0 odpowiadają części adresu IP określającej numer
hosta.
Rysunek 7.10 przedstawia zastosowanie opisanych zasad. Pokazano na
nim numer sieci klasy B dzielonej na podsieci. Osiem bitów pola hostid
stanowi numer sieci. Rysunek przedstawia również odpowiednią maskę
podsieci, która jest 32-bitowym wzorcem zapisywanym zwyczajowo przy
użyciu kropkowanej notacji dziesiętnej. Ponieważ grupa ośmiu bitów
o wartości 1 odpowiada dziesiętnej liczbie 255, maskę podsieci z rysunku
7.10 można przedstawić następująco: 255.255.255.0.
Trasowanie (routing) w TCP/IP firmy Microsoft
225
Rysunek 7.10
Reprezentacja
maski podsieci.
Jeśli dla adresu klasy B używana jest maska 255.255.0.0, oznacza to, że
nie stosuje się dzielenia sieci. Adres klasy B posiada 16-bitowe pole
identyfikatora sieci, któremu odpowiadają dwa bajty o wartości 255
w masce podsieci. Pozostałe dwa bajty o wartości zero muszą więc
odpowiadać numerowi hosta. W masce podsieci nie ma żadnych jedynek,
które określałyby numer podsieci; nie stosuje się więc dzielenia sieci.
Jeśli ta sama wartość maski podsieci (255.255.0.0) zostałaby użyta dla
adresu klasy A, wówczas oznaczałoby to, że stosuje się dzielenie sieci.
Adres klasy A posiada 8-bitowe pole identyfikatora sieci, któremu
odpowiada pierwszy bajt o wartości 255 w masce podsieci. Drugi bajt
o wartości 255 odpowiada 8-bitowemu numerowi sieci.
Jeśli dla adresu klasy C używana jest maska 255.255.255.0, oznacza to, że
nie stosuje się dzielenia sieci. Adres klasy C posiada 24-bitowe pole
identyfikatora sieci, któremu odpowiadają trzy bajty o wartości 255
w masce podsieci. Pozostały bajt o wartości zero musi więc odpowiadać
numerowi hosta. W masce podsieci nie ma żadnych jedynek, które
określałyby numer podsieci; nie stosuje się więc dzielenia sieci.
Maska podsieci o wartości 255.255.0.0 jest nielegalna dla adresu klasy C
(jak jednak później się przekonamy, podczas tworzenia nadsieci wartość
taka byłaby legalna). Adres klasy C posiada 24-bitowe pole
identyfikatora sieci, a
dwa pierwsze bajty maski o
wartości 255
odpowiadają tylko 16 bitom identyfikatora sieci. W masce powinien
znaleźć się przynajmniej jeszcze jeden bajt o wartości 255, aby pokryć
pozostałe 8 bitów identyfikatora sieci.
Rozdział 7
226
Nowe możliwości określania numerów podsieci
Wielu producentów routerów pozwala obecnie na używanie numerów podsieci,
w których wszystkie bity mają wartość 0 lub wszystkie bity mają wartość 1. Staje
się to coraz popularniejsze z powodu kurczenia się przestrzeni adresowej.
Przykładem może być tu użycie maski 255.255.255.128 w celu rozbicia sieci klasy
C na dwie podsieci. Zagadnienie to omówiono w dalszej części rozdziału.
Wprowadzenie maski podsieci wymagane jest zazwyczaj w momencie,
w którym określa się adres IP dla hosta lub routera. Można posłużyć się
kropkowaną notacją dziesiętną znaną z wcześniejszych przykładów.
Niedozwolone jest użycie numeru podsieci (części pola identyfikatora
hosta używanego do dzielenia sieci), którego wszystkie bity są jedynkami
lub zerami.
Większość systemów operacyjnych przechowuje maski podsieci
w wewnętrznym zbiorze konfiguracyjnym. W Windows NT 5 numer
podsieci znajduje się w następującym wpisie Rejestru:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Int
erfaces\interfejs_sieciowy
W Windows NT numer podsieci znajduje się w następującym wpisie
Rejestru:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\interfejs_sieciowy\
Parameters\Tcpip
Patrząc wstecz trudno oprzeć się wrażeniu, że projektanci schematu
dzielenia sieci zrobiliby lepiej, używając innej reprezentacji liczby
używanych w tym celu bitów. Mogli np. zdecydować, że podsieci będą
reprezentowane przez pojedynczą liczbę bitów podsieci, która byłaby
rozmiarem pola numeru sieci, mierzonym od najstarszego bitu pola
identyfikatora hosta. Można by również określać liczbę bitów
przeznaczoną na numer sieci i numer podsieci; ten schemat używany jest
przez wiele współczesnych routerów i stanowi część techniki CIDR
(Classless Internet Domain Routing), która jest używana do łączenia kilku
sieci klasy C w pojedynczy wpis w tabeli trasowania.
Jeśli oprogramowanie TCP/IP mogłoby określić wartość maski podsieci
na podstawie opisanych wyżej reprezentacji, wówczas kilka generacji
administratorów uniknęłoby wielu rozterek. Problem polega na tym, że
używanie masek podsieci łączy się z
operowaniem na wzorcach
bitowych (lub szesnastkowych). Dla programistów używających
assemblera lub C/C++ jest to łatwe i naturalne, ale dla zwykłych
śmiertelników - jak administratorzy sieci - może być męczącym
zadaniem.
Trasowanie (routing) w TCP/IP firmy Microsoft
227
Reprezentacja masek podsieci w dokumentach RFC
Maski podsieci w dokumentach RFC reprezentowane są przy pomocy
trzech liczb:
{<numer sieci>, <numer podsieci>, <numer hosta>}
Do przedstawienia liczby składającej się z samych bitów o wartości 1
używa się liczby -1. Np. maska podsieci dla sieci klasy B o wartości
255.255.255.0 jest reprezentowana następująco:
{ -1, -1, 0}
Pierwsza liczba -1 odpowiada samym bitom 1 w <numerze sieci>, druga
liczba -1 odpowiada samym bitom 1 w <numerze podsieci>, a liczba 0
odpowiada samym bitom 0 w <numerze hosta>.
Algorytm trasowania IP
Algorytm trasowania IP można przedstawić przy pomocy
przedstawionych poniżej kroków. Algorytm bierze pod uwagę użycie
masek podsieci opisanych w poprzednim podrozdziale.
Pobrać pole adresu przeznaczenia (DestIPAddr) z datagramu IP i na jego
podstawie określić przedrostek sieci (NetPrefix). Dla sieci klasy A jest to
pierwszy bajt DestIPAddr, dla klasy B są to dwa pierwsze bajty
DestIPAddr
, a dla sieci klasy C są to trzy pierwsze bajty DestIPAddr.
1. Pobrać pole adresu przeznaczenia (DestIPAddr) z datagramu IP.
Wyizolować z niego część opisującą sieć (NetPrefix) przy pomocy
bitowego iloczynu logicznego z maską podsieci, określoną przez wpis
w tablicy trasowania.
2. Jeśli
NetPrefix
odpowiada identyfikatorowi którejkolwiek
bezpośrednio połączonej sieci, wówczas host przeznaczenia znajduje
się w
bezpośrednio połączonej sieci. W
takim przypadku
bezpośrednie przesłanie datagramu IP może wymagać odwzorowania
DestIPAddr
na adres sprzętowy przy pomocy protokołu typu ARP.
Datagram IP obudowywany jest ramką warstwy łącza danych
i wysłany do bezpośrednio połączonej sieci.
3. Jeśli nie znaleziono odpowiednika w
kroku 2, sprawdzić, czy
w tablicy trasowania znajduje się wpis dla miejsca przeznaczenia
określonego przez NetPrefix. Jeśli taki wpis zostanie znaleziony,
przekazać datagram IP do wymienionego we wpisie routera
następnego skoku.
Rozdział 7
228
4. Jeśli nie znaleziono odpowiednika w
kroku 2, sprawdzić, czy
w tablicy trasowania znajduje się wpis domyślny: 0.0.0.0. Jeśli taki
wpis zostanie znaleziony, przekazać datagram IP do wymienionego
we wpisie routera następnego skoku.
5. Jeśli nie znaleziono wpisu domyślnego, wówczas nie można wykonać
trasowania datagramu. Zawiadomić protokoły wyższych warstw
o błędzie trasowania.
Trasowanie w Windows NT Server
Jeśli komputer Windows NT ma pracować jako router, muszą w nim być
zainstalowane przynajmniej dwie karty sieciowe. Jeśli karta sieciowa jest
instalowana dopiero po zainstalowaniu Windows NT, należy odpowied-
nio skonfigurować system, aby był w stanie ją rozpoznać.
Po skonfigurowaniu karty sieciowej należy włączyć przekazywanie
datagramów IP. Windows NT będzie teraz działać jako router pomiędzy
dwoma interfejsami sieciowymi.
Jeśli komputer Windows NT oprócz prostego przekazywania
datagramów powinien aktywnie uczestniczyć w trasowaniu, wówczas
należy zainstalować w systemie protokoły trasujące opisane w dalszych
podrozdziałach.
Konfigurowanie nowej karty sieciowej w Windows NT 5
Po zainstalowaniu karty sieciowej i
ewentualnym zapisaniu jej
parametrów, należy skonfigurować ją w następujący sposób:
1. Uruchomić Hardware Wizard w Control Panel.
2.
Kiedy pojawi się pytanie, czy chcemy przywrócić sprawność
niepracującym urządzeniom, należy wybrać opcję No, I Want to Do
Something
Else (chcę zrobić coś innego) i kliknąć Next.
3. Wybrać opcję dodawania nowego sprzętu.
4. Wybrać opcję autodetekcji.
5. Jeśli autodetekcja się powiedzie, pojawi się informacja o wykryciu
nowego sprzętu. Należy upewnić się, że wykryto właściwy typ karty
i postępować dalej zgodnie ze wskazówkami na ekranie, aby
zakończyć instalację.
Jeśli autodetekcja zawiedzie, będziemy mieli możliwość ręcznej instalacji
karty. Należy potwierdzić, że karta będzie instalowana ręcznie.
Trasowanie (routing) w TCP/IP firmy Microsoft
229
W trakcie ręcznej instalacji pojawi się lista typów urządzeń. Podświetlić
Network
Adapters
i kliknąć
Next
. Wybrać producenta i model karty i kliknąć
OK
. Postępować dalej zgodnie ze wskazówkami na ekranie, aby zakończyć
instalację.
Włączanie przekazywania IP
Po skonfigurowaniu przynajmniej dwóch kart sieciowych w komputerze,
możemy w następujący sposób włączyć przekazywanie IP:
1. Uruchomić program Network w Control Panel.
2. Wybrać zakładkę Protocols.
3. Wybrać protokół TCP/IP i kliknąć Properties.
4. Wybrać zakładkę Routing (patrz rysunek 7.11).
5. Zaznaczyć pole opcji Enable IP Forwarding.
6. Kliknąć OK. Zamknąć okno Network i ponownie uruchomić komputer.
Rysunek 7.11
Zakładka Routing.
Tworzenie wydajnych sieci IP przy użyciu routerów
Przed przystąpieniem do tworzenia rozległych, często modyfikowanych
sieci należy zaznajomić się ze sposobami przypisywania numerów
podsieci i numerów hostów, które gwarantują, że w razie ewentualnych
zmian potrzebne jest tylko niezbędne minimum czynności
konfiguracyjnych.
Rozdział 7
230
Kolejne podrozdziały omawiają efektywne techniki dzielenia sieci,
używania masek podsieci o zmiennej długości oraz łączenia sieci.
Efektywna metoda przypisywania numerów podsieci
Podczas dzielenia sieci, część adresu IP określająca hosta jest dzielona na
dwa pola: numer podsieci i numer hosta. Dodaje to do adresu IP trzeci
stopień hierarchii. Chociaż zmniejsza to obciążenia związane z trasowa-
niem i pozwala na użycie w podsieciach tego samego przedrostka sieci,
może również prowadzić do nieefektywnego przypisywania adresów.
Wynika to z faktu, że administrator wybiera rozmiary podsieci opierając
się na przypuszczeniach, ile podsieci i hostów może być potrzebnych
w przyszłości. Istnieje jednak sposób ustalenia wartości numerów
podsieci i
numerów hosta, który zapewnia maksymalną możliwą
elastyczność w razie konieczności zmiany maski podsieci i ma minimalny
wpływ na istniejący przydział adresów IP.
W intuicyjnym zrozumieniu tej techniki może pomóc rysunek 7.12, na
którym kreskowana linia przedstawia granicę pomiędzy numerem
podsieci i numerem hosta. Linię tę możemy nazwać granicą maski
podsieci, ponieważ na lewo od tej granicy wszystkie bity maski podsieci
mają wartość 1, a na prawo mają wartość 0. Jeśli numery podsieci
i numery hostów zostaną przypisane tak, że w pobliżu granicy maski
podsieci znajdą się bity o wartości 0, wówczas przesunięcie granicy
w lewo lub w prawo nie będzie miało wpływu na przypisane numery
podsieci i hostów; zmieni się tylko maska podsieci. Granicę maski
podsieci można przesuwać w lewo lub w prawo, dopóki nie napotka się
bitu o wartości 1 w numerze podsieci lub hosta. Wynika stąd, że numery
podsieci należy wybierać tak, żeby ich bity o wartości 1 znajdowały się
możliwie blisko lewej strony pola, a numery hostów tak, żeby ich bity
o wartości 1 znajdowały się możliwie blisko prawej strony pola.
Wypełniony zerami obszar wokół granicy maski podsieci powinien być
możliwie najszerszy.
Ten sposób przypisywania numerów podsieci i hostów nosi nazwę nu-
merowania lustrzanego, ponieważ numery podsieci i numery hostów są
swoimi lustrzanymi odbiciami.
Rysunek 7.12
Efektywna metoda
określania maski
podsieci.
Trasowanie (routing) w TCP/IP firmy Microsoft
231
Przypisywanie numerów podsieci:
0
zarezerwowany
, oznacza "ta podsieć")
10
01
110
001
101
:
:
011...11
111...11
(zarezerwowany, oznacza "wszystkie podsieci")
Przypisywanie numerów hostów:
0
(zarezerwowany, oznacza "ten host")
01
10
011
100
101
:
:
11...110
11...111
(zarezerwowany, oznacza "wszystkie hosty")
Technikę elastycznego przypisywania numerów podsieci omawia
w szczegółach dokument RFC 1219, "On the Assignment of Subnet
Numbers".
Maski podsieci o zmiennej długości
W omawianych dotąd przykładach dla danej sieci używana była zawsze
taka sama maska podsieci (np. wszystkie podsieci w sieci klasy B miały
maskę podsieci 255.255.255.0). Dla adresu 134.65.0.0 (adres sieci klasy B),
maska podsieci 255.255.255.0 oznacza, że osiem bitów pola identyfikatora
hosta służy do określenia numeru podsieci. TCP/IP umożliwia również
stosowanie innych masek podsieci dla adresu 134.65.0.0. Jedna z części
sieci 134.65.0.0 może używać maski podsieci 255.255.255.192, a inna część
maski 255.255.255.0. Używanie różnych masek podsieci nakłada pewne
ograniczenia na możliwe kombinacje masek podsieci i adresów IP
hostów.
Przypuśćmy, że chcemy podzielić sieć klasy C (216.144.108.0) na trzy
podsieci, przy czym w jednej może znaleźć się maksymalnie 120 hostów,
a w pozostałych dwóch maksymalnie po 60 hostów. Jakiej maski podsieci
należy użyć? Całkowita liczba hostów w trzech podsieciach wynosi 120 +
60 + 60 = 240. W sieci klasy C może znajdować się do 254 hostów. Liczbę
Rozdział 7
232
tę obliczamy następująco: 256 - 2 = 254; odejmujemy od liczby możliwych
kombinacji ośmiu bitów (28 = 256) dwa zarezerwowane adresy składają-
ce się z samych bitów o wartości 0 i z samych bitów o wartości 1.
Umieszczenie 240 hostów w sieci klasy C powinno więc być możliwe.
Jeśli jednak użyjemy pojedynczej maski podsieci, wówczas musi ona
pokrywać największą podsieć - w tym przykładzie jest to podsieć zawie-
rająca 120 hostów. Dla takiej podsieci istnieje tylko jedna możliwa maska:
11111111 11111111 11111111 1 0000000
255.255.255.128
Pole numeru podsieci oznacza pogrubiona jedynka, a pole numeru hosta
siedem zer. Przy jednym bicie numeru sieci i siedmiu bitach numeru
hosta możliwe jest utworzenie dwóch podsieci, z których każda może
zawierać 27- 21 = 128 - 2 = 126 hostów. Taki podział sieci uwzględnia
podsieć ze 120 hostami oraz drugą podsieć z 60 hostami, ale nie
pozostawia miejsca na trzecią podsieć z 60 hostami - potrzebne są trzy
podsieci, ale dostępne są tylko dwie. Należy tu dodać, że maska podsieci
255.255.255.128 jest nielegalna w świetle zasad opisanych w dokumen-
tach RFC, chociaż wiele komercyjnych routerów umożliwia jej
stosowanie. Maska 255.255.255.128 jest nielegalna w sieciach klasy C,
ponieważ numerem podsieci może tu być tylko 0 albo 1, a stosowanie
numerów podsieci o
wszystkich bitach równych 0 lub 1 jest
niedozwolone.
W tej sytuacji właściwe wydawałoby się użycie dwóch bitów na numer
podsieci, co pozwoliłoby na utworzenie 22 = 4 podsieci. Maska podsieci
wówczas wyglądałaby następująco:
11111111 11111111 11111111 11 000000
255.255.255.192
Pole numeru podsieci oznaczają dwie pogrubione jedynki, a pole numeru
hosta sześć zer. Przy dwóch bitach numeru sieci i sześciu bitach numeru
hosta możliwe jest utworzenie czterech podsieci, z których każda może
zawierać 26 - 21 = 64 - 2 = 162 hostów. Taki podział sieci uwzględnia
dwie podsieci z 60 hostami, ale nie pozostawia miejsca na trzecią podsieć
ze 120 hostami - każda z podsieci może pomieścić najwyżej 62 hosty,
czyli dużo mniej, niż wymagane 120 hostów.
Powyższy przykład pokazuje, że w niektórych sytuacjach w sieciach kla-
sy C nie można używać pojedynczej maski podsieci. Potrzebny jest spo-
sób podzielenia sieci klasy C na dwie podsieci zawierające 126 hostów,
a następnie dalszy podział jednej z nich na dwie podsieci zawierające po
2
6
-2 = 62 hosty. Technika ta nosi nazwę maski podsieci o zmiennej długo-
Trasowanie (routing) w TCP/IP firmy Microsoft
233
ści VSLM (Variable Length Subnet Mask) i opisana jest w dokumencie RFC
1878, "Variable Length Subnet Table for IPv4".
Rysunek 7.13 pokazuje przykład zastosowania masek VSLM.
W przykładzie tym maska 255.255.255.128 służy do podzielenie sieci
klasy C na dwie podsieci po 126 hostów. Następnie jedna z podsieci jest
ponownie dzielona na dwie podsieci po 62 hosty za pomocą maski
255.255.255.192.
Tabela 7.1 pokazuje kombinacje liczby podsieci i liczby hostów oferowa-
nych przez komercyjne routery. W kolumnie "Liczba podsieci" uwzględ-
niono także numery podsieci składające się z samych bitów o wartości 0
lub 1, co jest zabronione przez dokumenty RFC, ale dozwolone w wielu
komercyjnych routerach.
Użycie samych bitów o wartości 0 lub 1 w numerze podsieci
Niektóre nowsze dokumenty RFC zakładają możliwość używania samych bitów
o wartości 0 lub 1 w numerze podsieci. Jest to nadal - ściśle rzecz biorąc -
niedozwolone, ale dokumenty te odzwierciedlają rzeczywistą praktykę.
Rysunek 7.13
Przykład użycia masek
VSLM
Tabela 7.1 Liczba podsieci i hostów w sieciach klasy C dozwolona przez
komercyjne routery
0Maska podsieci
Liczba podsieci
Liczba komputerów
255.255.255.128 2
126
255.255.255.192 4
62
255.255.255.224 8
30
255.255.255.240
16
14
Rozdział 7
234
255.255.255.248 32
6
255.255.255.252 64
2
Nie wszystkie protokoły trasujące mogą obsługiwać maski podsieci
o zmiennej długości. Na przykład protokół RIP (Routing Information Pro-
tocol) w wersji 1 nie potrafi poradzić sobie z różnymi maskami podsieci
dla tego samego adresu sieci. Nie można więc używać RIP w połączeniu
z maskami sieci o zmiennej długości, gdyż raportowana przez niego to-
pologia sieci różniłaby się od rzeczywiście ustalonej. Natomiast protokoły
trasujące takie jak OSPF (Open Shortest Path First), RIP wersja 2, oraz IS-IS
(Intermediate System to Intermediate System), umożliwiają routerom wy-
mienianie informacji o maskach podsieci w połączonych sieciach i mogą
obsługiwać mieszankę różnych masek podsieci. Pomimo tego masek
VSLM nie używa się powszechnie z następujących powodów:
Przypisania adresów IP do podsieci muszą zostać zgrupowane
w bloki określone przez maskę VSLM. Wymaga to zmiany poprzed-
nich przypisań adresów IP, co nie zawsze jest łatwe.
Niektóre starsze sieci używają protokołu RIP w wersji 1, który nie
obsługuje VSLM. Nowoczesne protokoły trasujące, jak RIP 2 i OSPF,
umożliwiają wymianę informacji o maskach podsieci.
Wielu administratorów sieci nie rozumie techniki VSLM i ma trudno-
ści z dzieleniem sieci oraz posługiwaniem się maskami podsieci. Po-
móc tu może lepsze szkolenie i książki takie, jak ta.
Instalowanie i konfigurowanie protokołów trasujących
Przed przystąpieniem do konfiguracji protokołów trasujących należy
zainstalować usługę routera. Poniżej opisano procedurę instalacji:
1. Urochomić program Network w Control Panel.
2. Wybrać zakładkę Services.
3. Kliknąć przycisk Add.
4. Z listy usług sieciowych Network Services wybrać Router.
5. Jeśli wymagane pliki zostały już skopiowane, wówczas pojawi się
pytanie, czy chcemy użyć istniejących plików. W przeciwnym przy-
padku należy zainstalować wymagane pliki z dysku instalacyjnego.
Kliknąć OK. Jeśli plików nie ma w podanej lokalizacji , zostaniemy po-
proszeni o wskazanie ścieżki do plików instalacyjnych.
Trasowanie (routing) w TCP/IP firmy Microsoft
235
6. Pojawi się pytanie, czy ponownie uruchomić komputer w celu
uwzględnienia dokonanych zmian. Wybrać opcję ponownego uru-
chomienia komputera.
Następnie można skonfigurować protokół trasujący, który będzie uży-
wany. Poniżej opisano procedurę konfiguracji protokołu trasującego:
1. Wybrać
Programs/Administrative Tools/Routing/Remote Access
Administrator
.
Powinno ukazać się główne okno programu Routing and RAS Admin
(patrz rysunek 7.14)
2. Kliknąć na IP Routing. Powinny pojawić się opcje Summary oraz Static
Routes
(patrz rysunek 7.15).
3. Kliknąć prawym klawiszem myszy na opcji Summary i wybrać opcję
Add Routing Protocol
. Powinno pojawić się okno zawierające listę do-
stępnych protokołów trasujących (patrz rysunek 7.16).
4. Jeśli router ma przekazywać żądania BOOTP i DHCP, należy dodać
usługę przekaźnika DHCP, DHCP Relay Agent. Jeśli nie jest to potrzeb-
ne, nie należy dodawać DHCP Relay Agent.
Pozostałe dwie opcje służą do zainstalowania protokołów trasujących OSPF
i RIP-2. OSPF jest protokołem stanu łącza, preferowanym w wielu sieciach
TCP/IP. Starszy protokół RIP-2 jest protokołem wektora odległości; stanowi
ulepszenie klasycznego protokołu RIP (wersji 1).
Szczegóły konfiguracji tych protokołów omówiono w kolejnych podroz-
działach.
Rysunek 7.14
Główne okno pro-
gramu Routing and
RAS Admin.
Rozdział 7
236
Rysunek 7.15
Opcje Summary
i Static Routes.
Konfigurowanie protokołu OSPF
Po podwójnym kliknięciu na opcji OSPF protocol ukaże się okno OSPF
Configuration
(patrz rysunek 7.17).
Zakładka General w oknie OSPF Configuration służy do ustawienia identy-
fikatora routera (Router identification). Domyślnie umieszczony jest tu
adres pierwszej karty sieciowej, w tym przykładzie 199.245.180.20. Iden-
tyfikator routera może być dowolną 32-bitową liczbą i jest zazwyczaj
zapisywany przy użyciu kropkowanej notacji dziesiętnej.
W zakładce General można również określić, że konfigurowany router jest
routerem granicznym systemu autonomicznego poprzez zaznaczenie
pola wyboru Enable autonomous system boundary router. Duże sieci można
dzielić na domeny trasowania, nazywane systemami autonomicznymi
(AS, Autonomous System). Różne systemy autonomiczne mogą używać
różnych protokołów trasujących; łączy się je ze sobą za pomocą routerów
granicznych systemu autonomicznego (ASBR, Autonomous System
Boundary Router). Na routerach ASBR mogą oprócz OSPF pracować inne
protokoły trasujące, jak np. Protokół Bramki Zewnętrznej EGP (Exterior
Gateway Protocol) lub Protokół Bramki Granicznej BGP (Boundary Gateway
Protocol).
Jak pokazuje rysunek 7.17, zakładka General służy także do ustawienia
różnych opcji rejestracji zdarzeń (Event logging).
Trasowanie (routing) w TCP/IP firmy Microsoft
237
Po wybraniu zakładki Areas ukażą się opcje konfigurowania obszarów
OSPF (patrz rysunek 7.18). OSPF umożliwia podział sieci na obszary,
w celu hierarchizacji trasowania w różnych obszarach. Każdy obszar jest
identyfikowany przez 32-bitową liczbę, również zapisywaną przy użyciu
kropkowanej notacji dziesiętnej.
Przyciski Add, Configure i Delete służą odpowiednio do dodawania, kon-
figurowania i usuwania definicji obszarów.
Rysunek 7.19 przedstawia okno konfiguracji dla przykładowego obszaru.
Obszar szkieletowy (backbone area) posiada domyślny identyfikator ob-
szaru 0.0.0.0; pozostałe obszary są dołączane do obszaru szkieletowego.
Routery łączące obszary OSPF z obszarem szkieletowym nazywane są
routerami granicznymi obszaru (ABR, Area Border Router). Aby obszar
mógł pracować jako obszar szkieletowy, należy go odpowiednio skonfi-
gurować. Jeśli z przyczyn geograficznych obszar szkieletowy zostanie
podzielony, wówczas jego części muszą być połączone za pomocą łącz
wirtualnych.
Można włączyć używanie w obszarze nieszyfrowanych haseł zaznaczając
pole wyboru Enable clear text password; można też wyłączyć uwierzytel-
nianie pozostawiając to pole niezaznaczone.
Rysunek 7.16
Wybieranie protokołów trasujących.
Rysunek 7.17
Okno OSPF Configuration.
Rozdział 7
238
Rysunek 7.18
Konfigurowanie obszarów OSPF.
Rysunek 7.19
Konfigurowanie pojedynczego obszaru OSPF.
Obszary OSPF mogą być obszarami normalnymi lub szczątkowymi
(stub). Typ obszaru można wybrać zaznaczając lub odznaczając opcję
Stub area
. W obszarze szczątkowym routery nie przechowują informacji
o stanie łącza dla tras wiodących na zewnątrz domeny OSPF, ponieważ
ogłoszenia o trasach zewnętrznych nie są w nim rozpowszechniane.
W obszarze szczątkowym wszystkie trasy zewnętrzne są streszczane
przez trasę domyślną, z którą związany jest metryczny koszt, nazywany
metryką obszaru szczątkowego. Metryka obszaru szczątkowego jest
kosztem drogi domyślnej ogłaszanej w obszarze szczątkowym. Jeśli
w oknie konfiguracyjnym (patrz rysunek 7.19) włączona zostanie opcja
Stub area
, wówczas można ustawić inną niż 1 wartość metryki obszaru
szczątkowego (w polu Stub metric) oraz włączyć opcję importowania
ogłoszeń streszczających (Import summary advertisement).
Po wybraniu w oknie konfiguracyjnym zakładki Range, ukażą się opcje
przedstawione na rysunku 7.20. Wprowadza się tu pary adres-maska,
które definiują zakres adresów należących do obszaru.
Po wybraniu zakładki Virtual Interfaces w oknie OSPF Configuration (patrz
rysunek 7.21) można zdefiniować wirtualne łącze, które służy do łączenia
obszarów OSPF, które utraciły połączenie poprzez obszar szkieletowy.
Obszarem przejściowym (Transit area) jest obszar OSPF, przez który prze-
chodzi wirtualne łącze. Jeśli np. z przyczyn ekonomicznych, geograficz-
nych lub politycznych obszar szkieletowy zostanie rozdzielony, wówczas
obszarem przejściowym będzie obszar pomiędzy częściami obszaru
szkieletowego. Rysunek 7.22 przedstawia okno ukazujące się po kliknię-
ciu przycisku Add.
Trasowanie (routing) w TCP/IP firmy Microsoft
239
Wirtualne łącze definiuje się przy pomocy następujących parametrów:
Parametr Virtual Neighbor Router ID jest adresem IP routera znajdują-
cego się na drugim końcu wirtualnego łącza.
Parametr Transit Delay jest szacowanym w sekundach czasem, którego
wymaga przesłanie poprzez dany interfejs informacji aktualizującej
stan łącza.
Parametr Re-transmit Interval jest szacowanym w sekundach czasem
pomiędzy kolejnymi ogłoszeniami o stanie łącza. Wartość powinna
być znacznie większa niż oczekiwany czas drogi powrotnej pomiędzy
dowolnymi dwoma routerami w sieci. Trudno jest ocenić ten czas
w przypadku łącza wirtualnego; lepiej jest użyć za dużej wartości, niż
za małej.
Parametr Hello Interval określa w sekundach czas pomiędzy transmi-
sjami pakietów Hello, używanymi do określenia stanu łącz routerów.
Parametr Dead Interval określa w sekundach czas, przez który oczekują
sąsiadujące routery po zaprzestaniu wysyłania przez router pakietów
Hello, zanim uznają go za wyłączony.
Jeśli w polu Password zostanie wpisane hasło, wówczas musi być ono
takie same po obu stronach wirtualnego łącza.
Ostatnią czynnością, kończącą konfigurację OSPF, jest określenie interfej-
sów routera, na których protokół będzie pracował. Należy kliknąć pra-
wym klawiszem myszy na opcji OSPF znajdującej się pod IP Routing
w oknie Routing and RAS Admin, po czym wybrać Add Interface. Ukaże się
lista interfejsów, na których może pracować OSPF. Podświetlić nazwę
odpowiedniego interfejsu i kliknąć OK.
Można opcjonalnie skonfigurować parametry OSPF dla pojedynczego
interfejsu, klikając prawym klawiszem myszy na dodanej nazwie interfej-
su i wybierając opcję Configure Interface.
Konfigurowanie protokołu RIP 2
Po podwójnym kliknięciu na opcji RIP Version 2 for Internet Protocol (patrz
rysunek 7.16), ukaże się okno RIP for Internet Protocol Configuration (patrz
rysunek 7.23).
Zakładka General służy do ustalania minimalnej liczby sekund pomiędzy
wyzwalanymi uaktualnieniami; domyślną wartością jest 5 sekund. Wy-
zwalane uaktualnienia są wysyłane po wykryciu zmian tras, bez czekania
do następnego regularnego uaktualnienia. Jak pokazuje rysunek 7.23,
Rozdział 7
240
zakładka General służy także do ustawienia różnych opcji rejestracji zda-
rzeń (Event logging).
Rysunek 7.20
Określanie par adres-maska dla obszaru OSPF.
Rysunek 7.21
Konfigurowanie wirtualnych łącz OSPF
Rysunek 7.22
Konfigurowanie parametrów wirtualnego łącza
OSPF.
Rysunek 7.23
Okno RIP for Internet Protocol Configuration.
Po wybraniu zakładki Security można określić, od których routerów nale-
ży pobierać uaktualnienia trasowania (patrz rysunek 7.24). Domyślnie
przetwarzane są ogłoszenia (uaktualnienia tablic trasowania) od wszyst-
kich routerów (opcja Process announcements from all routers). Pozostałe
dwie opcje umożliwiają odbieranie ogłoszeń tylko od routerów na liście
(Process only announcements from the routers listed) oraz odrzucanie wszyst-
kich ogłoszeń od routerów na liście (Discard all announcements from the
Trasowanie (routing) w TCP/IP firmy Microsoft
241
routers listed
). Zawartość listy można zmieniać za pomocą przycisków Add
(Dodaj), Replace (Zamień) oraz Delete (Usuń).
Ostatnią czynnością, kończącą konfigurację RIP, jest określenie interfej-
sów routera, na których protokół będzie pracował. Należy kliknąć pra-
wym klawiszem myszy na opcji RIP znajdującej się pod IP Routing
w oknie Routing and RAS Admin, po czym wybrać Add Interface. Ukaże się
lista interfejsów, na których może pracować OSPF. Podświetlić nazwę
odpowiedniego interfejsu i kliknąć OK.
Można opcjonalnie skonfigurować parametry RIP dla pojedynczego in-
terfejsu, klikając prawym klawiszem myszy na dodanej nazwie interfejsu
i wybierając opcję Configure Interface.
Konfigurowanie przekaźnika DHCP (DHCP Relay Agent)
Aby router Windows NT mógł przekazywać wysyłane w trybie broad-
cast żądania BOOTP i DHCP, należy skonfigurować usługę przekaźnika
DHCP. Protokół DHCP omówiono w rozdziale 8, "Konfiguracja i zarzą-
dzanie DHCP".
Po podwójnym kliknięciu na opcji DHCP Relay Agent (patrz rysunek 7.16),
ukaże się okno DHCP Relay Agent Configuration (patrz rysunek 7.25).
W oknie tym można dodać lub usunąć znane serwerowi adresy serwe-
rów DHCP.
Ostatnią czynnością, kończącą konfigurację przekaźnika DHCP, jest okre-
ślenie interfejsów routera, na których będzie on pracował. Należy kliknąć
prawym klawiszem myszy na opcji DHCP Relay Agent znajdującej się pod
IP Routing
w oknie Routing and RAS Admin, po czym wybrać Add Interface.
Ukaże się lista interfejsów, na których może pracować przekaźnik DHCP.
Podświetlić nazwę odpowiedniego interfejsu i kliknąć OK.
Rozdział 7
242
Rysunek 7.24
Zak³adka Security w oknie RIP for Internet
Protocol Configuration.
Rysunek 7.25
Okno DHCP Relay Agent Configuration.
Można opcjonalnie skonfigurować parametry DHCP dla pojedynczego
interfejsu, klikając prawym klawiszem myszy na dodanej nazwie interfej-
su i wybierając opcję Configure Interface.
Konfigurowanie statycznych tras
W oknie Routing and RAS Admin można określić statyczne trasy.
W głównym oknie programu pod IP Routing znajduje się opcja Static
Routes
. Kliknąć prawym klawiszem myszy na opcji Static Routes i wybrać
Add Static Route
. Ukaże się okno dialogowe Static Route (patrz rysunek
7.26).
Okno przedstawione na rysunku 7.26 służy do definiowania statycznej
trasy. Wpis definiujący statyczną trasę składa się z miejsca przeznaczenia
(adresu sieci lub hosta) - Destination, maski sieci (takiej samej, jak maska
podsieci) - Network Mask, bramki (przekazującego routera) - Gateway oraz
metryki (kosztu związanego z przejściem przez ten interfejs) - Metric.
Można obejrzeć tablicę trasowania kliknąć prawym klawiszem myszy na
opcji Static Routes i wybierając View IP Routing Table.
Można również skonfigurować i przeglądać statyczne trasy przy pomocy
polecenia route.
Aby dodać statyczną trasę do miejsca przeznaczenia 144.19.0.0 poprzez
router 199.245.180.10 z kosztem metrycznym 2, należy użyć następujące-
go polecenia:
Trasowanie (routing) w TCP/IP firmy Microsoft
243
route add 144.19.0.0. mask 255.255.0.0 199.245.180.10 metric 2
Aby usunąć trasę do miejsca przeznaczenia 198.23.4.0, należy użyć na-
stępującego polecenia:
route delete 198.23.4.0
Aby zmienić wpis dla sieci przeznaczenia 144.19.0.0 i określić inny ro-
uter, należy użyć następującego polecenia:
route change 144.19.0.0 199.245.180.33
Aby wyświetlić tablicę trasowania, należy użyć następującego polecenia:
route print
Rysunek 7.26
Okno dialogowe Static
Route.
Tablicę trasowania można również wyświetlić używając polecenia netstat
z opcją -r:
netstat -r
Przeglądanie informacji o trasowaniu
Można przeglądać informacje o trasowaniu oraz informacje o konfi-
guracji protokołu trasującego podświetlając odpowiednią opcję pod IP
Routing
w oknie Routing and RAS Admin. Po wybraniu którejś z opcji,
w panelu po prawej stronie okna pojawiają się związane z nią informacje.
Jeśli skonfigurowano jakiś protokół sieciowy, można kliknąć prawym
klawiszem myszy na jego nazwie w oknie Routing and RAS Admin
i wybrać opcję View. W przypadku OSPF można wybrać przeglądanie
obszarów, baz danych o stanie łącza, sąsiadujących routerów oraz wirtu-
alnych interfejsów. W przypadku RIP 2 można wybrać przeglądanie ad-
resów, wersji, błędnych pakietów i błędnych tras sąsiadujących routerów
RIP.
Po kliknięciu prawym klawiszem myszy na nazwie protokołu w oknie
Routing and RAS Admin
, można również wybrać opcję skonfigurowania
Rozdział 7
244
tego protokołu. Parametry i okna konfiguracyjne protokołów trasujących
OSPF i RIP 2 omówiono w poprzednich podrozdziałach.
Informacje konfiguracyjne dla pojedynczego interfejsu routera można
przeglądać klikając prawym klawiszem myszy na nazwie interfejsu
i wybierając opcję Configure Interface.
Zmiana poziomów pierwszeństwa protokołów trasujących
w Windows NT
Spośród wszystkich metod trasowania najwyższy priorytet mają trasy
statyczne (Static Routes). Nigdy się nie przedawniają, ponieważ wprowa-
dzane są ręcznie; zresztą administrator sieci prawdopodobnie nie defi-
niowałby ich, gdyby nie miał po temu ważnego powodu. Trasy statyczne
mają poziom pierwszeństwa 1.
Następny poziom pierwszeństwa po trasach statycznych mają trasy
ustawione przez protokół SNMP (SNMP Set Routes) - 2. Poziom 3 mają
trasy odkryte przez OSPF. Najniższy poziom mają trasy odkryte przez
protokół RIP - 4.
Można zmienić domyślne poziomy pierwszeństwa za pomocą programu
Routing and RAS Admin w następujący sposób:
1. Kliknąć prawym klawiszem myszy na opcji Summary pod IP Routing.
2. Wybrać opcję Configure IP Parameters.
3. Wybrać zakładkę Preference Levels. Okno powinno wyglądać tak, jak
na rysunku 7.27.
4. Podświetlić protokół, którego poziom pierwszeństwa należy zmienić.
5. Użyć przycisków Raise Level (podnieś poziom) lub Lower Level (obniż
poziom), aby podwyższyć lub obniżyć numer poziomu pierwszeń-
stwa.
Uwaga
Niższy numer poziomu pierwszeństwa oznacza wyższy priorytet dla tras
odkrytych daną metodą, jeśli inne metody odkryły inne trasy.
Łączenie sieci
W 1985 wymyślono technikę dzielenia sieci, aby umożliwić efektywny
przydział adresów IP w dużych sieciach. Technika ta sprawdza się
Trasowanie (routing) w TCP/IP firmy Microsoft
245
w sieciach o dużych przestrzeniach adresowych, takich jak sieci klasy
A i B, lecz te klasy adresów są bardzo popularne i szybko zagospodaro-
wywane. Dzielenia sieci można używać również w sieciach klasy C, ale
sieci takie mogą zawierać najwyżej 254 hosty. W przypadku większości
sieci klasy C ich dzielenie jest niepraktyczne, jeśli w pojedynczej podsieci
ma się znajdować więcej niż 126 hostów.
Adresy klasy A i B są szybko zagospodarowywane. Syndrom ten określa
się terminem ROADS (Running Out of Address Space, Kurczenie się prze-
strzeni adresowej). Chociaż kończą się wolne adresy sieci klasy A i B,
wciąż pozostaje wystarczająca liczba adresów klasy C. Duże organizacje,
potrzebujące więcej niż 254 hostów, muszą więc wykorzystywać kilka
adresów sieci klasy C.
Przypuśćmy, że organizacja potrzebuje adresu klasy B, aby jej sieć mogła
pomieścić 65534 hosty. Jeśli InterNIC nie przyzna jej adresu klasy B,
wówczas do pomieszczenia 65534 hostów konieczne będzie użycie 256
adresów klasy C. Adresy te mogą zostać przyznane jako blok; np. nastę-
pujący zakres adresów klasy C daje tyle samo adresów, co pojedynczy
adres klasy B:
202.100.0.0 do 202.100.255.255
Rysunek 7.27
Poziomy pierwszeństwa
protokołów trasujących.
Liczba bitów, które mogą się zmieniać w tym zakresie adresów klasy C,
wynosi 16 - tyle samo, co w adresie klasy B.
Podczas łączenia sieci (supernetting) zamiast pojedynczego adresu klasy B
przyznawany jest blok adresów klasy C, dzięki czemu uzyskuje się wir-
tualną klasę adresów znajdującą się gdzieś pomiędzy klasami B i C. Po-
zwala to na lepsze wykorzystanie przestrzeni adresowej. Jeśli np. organi-
zacja potrzebuje sieci z 8000 hostów, lepiej jest przyznać jej blok 32 adre-
Rozdział 7
246
sów klasy C niż pojedynczy adres klasy B. Adres klasy B może pomieścić
65534 hosty, a w tym przypadku 65534 - 8000 = 57534 adresy pozostają
niewykorzystane.
Technikę łączenia sieci zaprojektowano z myślą o usługodawcach inter-
netowych. Duże bloki adresów klasy C przyznawane są zazwyczaj tylko
usługodawcom, którzy z kolei przyznają mniejsze bloki organizacjom
chcącym podłączyć dużą liczbę komputerów do Internetu.
Technika trasowania CIDR (Clasless Internet Domain Routing)
Przyznawanie bloków adresów klasy C zapobiega szybkiemu wyczerpa-
niu się wolnych adresów klasy B, ale zarazem wymaga dodatkowych
wpisów w tablicach trasujących routerów. Ponieważ blok 256 adresów
klasy C zapewnia taką samą przestrzeń adresową, jak pojedynczy adres
klasy B, w tablicy trasowania trzeba umieścić 256 wpisów dla poszcze-
gólnych adresów klasy C w bloku. Oznacza to 256-krotne zwiększenie
liczby wpisów w tablicy trasującej. Jeśli router potrzebuje 2 MB pamięci
na przechowanie tablicy trasującej używającej adresów klasy B, wówczas
ich zamiana na bloki adresów klasy C wymagałoby pamięci 256 * 2 = 512
MB.
Technika trasowania CIDR (Classless Internet Domain Routing) służy do
opisania bloku adresów klasy C pojedynczym wpisem w tablicy trasują-
cej, dzięki czemu zmniejsza się liczba oddzielnych wpisów. Blok adresów
lasy C jest opisany następującym wpisem w tablicy trasującej:
(najniższy adres w bloku, maska nadsieci)
Najniższym adresem w bloku jest adres początkowy bloku, a maska nad-
sieci określa liczbę adresów klasy C w bloku. Maska nadsieci, zwana
także maską CIDR, zawiera jedynki dla przedrostka wspólnego dla
wszystkich adresów klasy C w bloku oraz zera dla zmiennej części adre-
sów klasy C. Rozważmy następujący wpis CIDR w tablicy trasującej:
(200.1.100.0, 255.255.224.0)
Adres 200.1.160.0 i maska CIDR 255.255.224.0 mają następujące reprezen-
tacje bitowe:
11001000 00000001 10100000 00000000
11111111 11111111 11100000 00000000
Jedynki w masce CIDR określają następujący wspólny przedrostek:
11001000 00000001 101
Trasowanie (routing) w TCP/IP firmy Microsoft
247
Zera w masce CIDR określają zmienną część bloku adresów klasy C.
Oznacza to, że zakres adresów klasy C rozciąga się pomiędzy następują-
cymi adresami:
11001000 00000001 10100000 00000000 = 200.1.160.0
11001000 00000001 10111111 11111111 = 200.1.191.255
Blok ten przedstawiony jest na rysunku 7.28.
Liczbę adresów klasy C w danym bloku można określić sprawdzając, ile
bitów zmienia się w części adresu odpowiadającej identyfikatorowi sieci.
W omawianym przykładzie jest pięć takich bitów, zaznaczonych pogru-
bioną czcionką w masce CIDR:
11111111 11111111 11100000 00000000
Tak więc liczba adresów klasy C w bloku wynosi 2
5
= 32. Trasy do bloku
CIDR mogą zostać streszczone w pojedynczym ogłoszeniu routera nazy-
wanym agregatem.
Tabela 7.2 przedstawia liczbę adresów klasy C, które przy użyciu CIDR
przyznawane są dla sieci o danej pojemności. Liczba ta musi być potęgą
dwójki.
Bloki CIDR opisywane są także przy pomocy innej notacji:
najniższy adres w bloku/liczba wspólnych bitów przedrostka
Tabela 7.2 Liczba adresów klasy C odpowiadająca danej wielkości sieci
0Wielkość sieci (liczba hostów)
Liczba adresów klasy C
254
1
255-508 2
509-1016 4
1017-2032 8
2033-4064
16
4065-8128 32
8129-16256 64
Rozdział 7
248
Rysunek 7.28
Blok CIDR.
Liczba wspólnych bitów przedrostka jest to liczba bitów o wartości 1
w masce nadsieci. Dwie następujące reprezentacje bloku CIDR są rów-
noważne:
(200.1.160.0, 255.255.224.0)
200.1.160.0/19
Standardową maską podsieci dla adresu klasy C jest 255.255.255.0. Ozna-
cza to, że hosty w pojedynczym adresie klasy C mają 24 wspólne bity
przedrostka. Liczba wspólnych bitów przedrostka w adresie klasy C
mniejsza niż 24 oznacza, że używana jest technika łączenia sieci.
Sieci będące podzbiorami bloku CIDR określa się jako "bardziej specy-
ficzne" niż blok CIDR. Długość wspólnego przedrostka w bardziej specy-
ficznym bloku adresów jest większa, niż w przypadku całego bloku
CIDR. Poniższy przykład pokazuje blok CIDR i bardziej specyficzną tra-
sę:
199.22.0.0/16
Blok CIDR o przedrostku długości 16 bitów
199.22.176.0/20
Bardziej specyficzny przedrostek o długości 20 bitów
Routery obsługujące CIDR podczas wybierania trasy używają najdłuż-
szego pasującego przedrostka. Maska CIDR służy do określenia liczby
bitów przedrostka, które należy przy tym uwzględnić. Jeśli jednak do
miejsca przeznaczenia wiedzie więcej niż jedna trasa, wówczas router
wybiera trasę z najdłuższym przedrostkiem. Rozważmy przykładową
sieć z rysunku 7.29, w której router R1 odbiera dwa uaktualnienia traso-
wania:
199.22.0.0/16 z routera R2
199.22.176.0/20 z routera R3
R1 wybiera trasę przez router R3, ponieważ jest to trasa z dłuższym
przedrostkiem.
Trasowanie (routing) w TCP/IP firmy Microsoft
249
Technika CIDR omówiona jest w dokumencie RFC 1519, "Classless Inter-
Domain Routing (CIDR): an Address Assignment and Aggregation Strat-
egy".
Rysunek 7.29
Najdłuższy pasujący
przedrostek