Projektowanie sieci WAN, Sieci komputerowe


Projektowanie sieci rozległych

Problemy związane z projektowaniem struktur rozległych sieci komputerowych są istotne z praktycznego punktu widzenia gdyż poprawa wskaźników jakości działania sieci nawet o kilka procent może w dużej sieci obniżyć koszty utrzymania łączy transmisyjnych.

Zadania projektowania sieci WAN

Rozwiązanie tych zadań wymaga wprowadzenia odpowiedniego modelu sieci opartego na teorii grafów i teorii masowej obsługi oraz wymaga zastosowania różnych metod optymalizacji.

Wskaźniki jakości sieci WAN

Zadania projektowania sieci WAN rozwiązuje się przy różnych założeniach oraz dla różnych wskaźników jakości działania sieci. Ważniejszych wskaźniki jakości:

Przepływy w sieciach

Podstawowe pojęcia teorii grafów (1)

Grafem zorientowanym nazywamy parę uporządkowaną 0x01 graphic
, gdzie N jest zbiorem węzłów, a L jest zbiorem par uporządkowanych określonych na zbiorze N.

Parę uporządkowaną 0x01 graphic
nazywamy łukiem zorientowanym węzeł x oznacza początek, a węzeł y koniec łuku.

Przez n oznaczymy liczbę węzłów, a przez p liczbę łuków. Jeżeli L jest zbiorem par nieuporządkowanych, zwanych łukami niezorientowanymi, to graf 0x01 graphic
nosi nazwę grafu niezorientowanego. Gdy zbiór L zawiera łuki zorientowane i niezorientowane, to graf 0x01 graphic
nazywamy grafem mieszanym.

Grafy niezorientowane i mieszane traktujemy jako szczególny przypadek grafów zorientowanych, ponieważ każdy łuk niezorientowany możemy zastąpić parą łuków zorientowanych w przeciwnych kierunkach.

Grafy, w których każdej uporządkowanej (nieuporządkowanej) parze węzłów przyporządkowano co najwyżej jeden łączący je łuk zorientowany (niezorientowany) nazywamy unigrafami.

Jeżeli każdej uporządkowanej (nieuporządkowanej) parze węzłów może odpowiadać więcej niż jeden łuk zorientowany (niezorientowany), to graf nazywamy multigrafem.

Podstawowe pojęcia teorii grafów (2)

Przez 0x01 graphic
będziemy oznaczać zarówno łuk zorientowany jak i łuk niezorientowany, przy czym rodzaj łuku wynika z rodzaju rozważanego grafu.

Łuk 0x01 graphic
wychodzący z węzła x i wchodzący do tego węzła nazywamy pętlą.

Graf nazywamy grafem właściwym, jeżeli nie zawiera pętli.

Siecią nazywamy graf właściwy 0x01 graphic
wraz z funkcjami określonymi na jego łukach. Sieć będziemy oznaczać w następujący sposób:

0x01 graphic
,

gdzie 0x01 graphic
są funkcjami przyporządkowującymi każdemu łukowi ze zbioru L nieujemną liczbą rzeczywistą.

Niech 0x01 graphic
będzie ciągiem różnych węzłów sieci S, takich że 0x01 graphic
jest łukiem zorientowanym dla każdego 0x01 graphic
. Ciąg węzłów i łuków 0x01 graphic
nazywamy trasą od węzła 0x01 graphic
do węzła 0x01 graphic
.

Trasę, dla której 0x01 graphic
nazywamy cyklem.

Niech 0x01 graphic
będzie ciągiem różnych węzłów o tej własności, że albo 0x01 graphic
albo 0x01 graphic
jest łukiem zorientowanym dla każdego 0x01 graphic
. Powstały w ten sposób ciąg węzłów i łuków nazywamy ścieżką od węzła 0x01 graphic
do węzła 0x01 graphic
.

Podstawowe pojęcia teorii grafów (3)

Ścieżka różni się od trasy tym, że możliwa jest różna orientacja łuków w stosunku do orientacji ścieżki wyznaczonej kierunkiem od węzła 0x01 graphic
do węzła 0x01 graphic
. Łuki 0x01 graphic
nazywamy łukami zgodnymi ścieżki, a pozostałe łuki tej ścieżki nazywamy niezgodnymi.

Modelowanie sieci rozległej

Rozległa sieć komputerowa jest siecią w znaczeniu technicznym. Własności tej sieci zostają uwzględnione w jej modelu, którym jest sieć oparta na pojęciach teorii grafów. W takim modelu sieci rozległej łuki odpowiadają kanałom. Łuki zorientowane odpowiadają kanałom jednokierunkowym, a łuki niezorientowane kanałom półdupleksowym. Pary łuków zorientowanych w przeciwnych kierunkach odpowiadają kanałom dupleksowym, ponieważ kanał dupleksowy jest równoważny dwóm kanałom jednokierunkowym pracującym w przeciwnych kierunkach. Zbiór węzłów modelu odpowiada dokładnie węzłom sieci rozległej.

Przepustowości kanałów

Przepustowości kanałów są określone zaleceniami ITU-T lub innych organizacji standaryzujących. Zalecenia te definiują skończony zbiór dostępnych przepustowości kanałów. Koszty dzierżawy kanału zależą przede wszystkim od dwóch czynników: przepustowości kanału i długości łącza transmisyjnego, na którym ten kanał jest zorganizowany.

Koszty dzierżawy kanałów

W modelu sieci rozległej uwzględniamy koszty dzierżawy oraz przepustowości kanałów poprzez wprowadzenie następujących funkcji opisanych na łukach:

0x01 graphic
funkcja przepustowości łuków; przepustowość łuku 0x01 graphic
oznaczymy przez 0x01 graphic
,

0x01 graphic
funkcja kosztów budowy (dzierżawy) łuków; koszt budowy łuku 0x01 graphic
oznaczymy przez 0x01 graphic
.

Model sieci rozległej

Przez strukturę sieci rozległej rozumiemy schemat rozmieszczenia kanałów. W modelu 0x01 graphic
struktura sieci rozległej jest określona przez graf G. Parametry kanałów są w modelu reprezentowane przez funkcje c oraz d. Przepustowość łuku 0x01 graphic
odpowiada przepustowości kanału łączącego węzeł x z węzłem y w sieci rozległej. Koszt budowy łuku 0x01 graphic
odpowiada kosztowi dzierżawy kanału łączącego węzły x oraz y.

W tak określonym modelu sieci możemy również odwzorować przepływ pakietów. Przepływ wieloskładnikowy w modelu S odpowiada średniemu przepływowi pakietów w rozległej sieci komputerowej w przyjętej jednostce czasu.

Wyznaczania najkrótszej trasy

Problem wyznaczania najkrótszej trasy jest jednym z podstawowych problemów spotykanych w sieciach komputerowych, szczególnie ważny dla algorytmów i protokołów trasowania (routingu). Podstawowy problem wyznaczania najkrótszej trasy polega na znalezieniu najkrótszej drogi z ustalonego źródła s do wierzchołka t dla grafu, w którym wszystkim łukom przypisane są wagi. Wagi mogą reprezentować długość łuków, opóźnienie lub inną wybraną miarę.

Algorytm Dijkstry

Dana jest sieć dana w postaci macierzy wag W=[wij]. Tablica dist zawiera wartości cech węzłów, tablica pred zawiera bezpośredni poprzednik węzła, tablica final zawiera stan węzła, zmienna recent oznacza węzeł, którego cecha została ostatnio ustalona.

Inicjalizacja:

for 0x01 graphic
do begin

dist(v)←0x01 graphic
; final(v) ←false; pred(v)←-1

end;

dist(s)←0; final(s)←true; recent←s;

Iteracja:

while final(t)=false do begin

for każdego bezpośredniego następnika v węzła recent, jeśli not final(v) do begin

newlabeldist(recent)+wrecent,v;

if newlabel<dist(v) then begin

dist(v)←newlabel; pred(v)←recent;

end;

end;

znaleźć y - węzeł o najmniejszej cesze tymczasowej, różnej od 0x01 graphic

final(y)←true; recenty;

end;

Przykład zastosowania algorytmu Dijkstry

0x01 graphic

0x01 graphic

recent

s

a

b

c

d

t

Inicjalizacja

s

dist

0

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

s

final

true

false

false

false

false

false

s

pred

-1

-1

-1

-1

-1

-1

Iteracja 1

s

dist

0

15

0x01 graphic

0x01 graphic

9

0x01 graphic

s

final

0

false

false

false

true

false

s

pred

-1

-1

-1

-1

s

-1

Iteracja 2

d

dist

0

13

0x01 graphic

11

9

0x01 graphic

d

final

0

false

false

true

true

false

d

pred

-1

-1

-1

d

s

-1

Iteracja 3

c

dist

0

13

0x01 graphic

11

9

18

c

final

0

true

false

true

true

false

c

pred

-1

c

-1

d

s

-1

Iteracja 4

a

dist

0

13

48

11

9

18

a

final

0

true

false

true

true

true

a

pred

-1

c

-1

d

s

a

Przepływ pojedynczego składnika (1)

Rozważmy sieć S, której strukturę określa unigraf właściwy i zorientowany 0x01 graphic
. Niech s oraz u będą węzłami zbioru N. Przepływem statycznym o wartości v od węzła s do węzła u w sieci S nazywamy funkcję f odwzorowującą zbiór łuków L w zbiór nieujemnych liczb rzeczywistych, której wartości 0x01 graphic
przypisane poszczególnym łukom 0x01 graphic
spełniają:

0x01 graphic

(1)

dla każdego 0x01 graphic
.

0x01 graphic
 dla każdego 0x01 graphic

(2)

gdzie

0x01 graphic
jest zbiorem węzłów sieci, do których prowadzą łuki wychodzące z węzła x,

0x01 graphic
jest zbiorem węzłów sieci, od których prowadzą łuki skierowane do węzła x.

Wartość 0x01 graphic
nazywamy przepływem w łuku 0x01 graphic
. Węzeł s nazywamy węzłem źródłowym lub źródłem, a węzeł u nazywamy węzłem docelowym, odpływem lub ujściem. Ograniczenia (1) nazywamy równaniami zachowania przepływu w węzłach, a ograniczenia (2) są związane z nieujemnością przepływów.

Przepływ pojedynczego składnika (2)

Przepływ może spełniać również inne, dodatkowe ograniczenia. Najczęściej stosowanym dodatkowym ograniczeniem jest ograniczenie związane ze skończoną przepustowością łuków:

0x01 graphic
 dla każdego 0x01 graphic

(3)

Przepływ zerowy, tzn. przepływ dla którego 0x01 graphic
i 0x01 graphic
, dla każdego 0x01 graphic
, spełnia ograniczenia (1-3).

W literaturze formułuje i rozwiązuje się różne zadania związane z przepływami pojedynczego składnika w sieciach. Z punktu widzenia rozległych sieci komputerowych najistotniejsze są dwa zagadnienia: problem maksymalnego przepływu i problem maksymalnego przepływu o minimalnym koszcie.

Problem maksymalnego przepływu

Problem maksymalnego przepływu od węzła s do węzła u polega na maksymalizowaniu zmiennej v przy zachowaniu ograniczeń (1-3). Niech 0x01 graphic
oznacza wektor przepływów 0x01 graphic
we wszystkich łukach sieci 0x01 graphic
. Problem maksymalnego przepływu w sieci S od węzła s do węzła u możemy sformułować w następującej postaci:

0x01 graphic

(4)

przy ograniczeniach (1-3).

Algorytm wyznaczania maksymalnego przepływu

Niech Q i Z będą rozłącznymi podzbiorami zbioru węzłów N. Przez 0x01 graphic
oznaczymy zbiór wszystkich łuków 0x01 graphic
takich, że xQ i yZ. Niech 0x01 graphic
będzie dopełnieniem zbioru Q w zbiorze węzłów N.

Przekrojem rozdzielającym węzeł 0x01 graphic
od węzła 0x01 graphic
nazywamy zbiór łuków 0x01 graphic
gdzie 0x01 graphic
oraz 0x01 graphic
. Przepustowość przekroju, oznaczana przez 0x01 graphic
, jest równa sumie przepustowości łuków ze zbioru 0x01 graphic
. Przekrój 0x01 graphic
nazywamy przekrojem minimalnym rozdzielającym węzeł sQ od węzła u0x01 graphic
, jeżeli jego przepustowość jest najmniejsza spośród przepustowości wszystkich możliwych przekrojów rozdzielających węzły s i u.

Idea algorytmu wyznaczania maksymalnego przepływu opiera się na następującym twierdzeniu udowodnionym przez Forda i Fulkersona:

W dowolnej sieci wartość maksymalnego przepływu z węzła s do węzła u jest równa przepustowości minimalnego przekroju rozdzielającego s od u.

Postępowanie zaczynamy od nadania cech węzłom sieci. Cecha ma postać 0x01 graphic
lub 0x01 graphic
, 0x01 graphic
, jest dodatnią liczbą całkowitą lub . W trakcie Fazy I węzeł sieci może być nieocechowany, ocechowany i sprawdzony lub ocechowany i niesprawdzony. Na początku węzły są nieocechowane. Cecha nadana węzłowi x zawiera dwa elementy: znacznik pozwalający określić ścieżkę od s do x, ilość jednostek składnika do przesłania tą ścieżką od s do x.Algorytm Forda-Fulkersona

Postępowania A proces cechowania

Krok 1. Źródłu s nadajemy cechę 0x01 graphic
. Węzeł s staje się węzłem ocechowanym i niesprawdzonym.

Krok 2. Wybieramy dowolny niesprawdzony węzeł x ocechowany za pomocą 0x01 graphic
.

a) Wszystkim nieocechowanym węzłom y takim, że 0x01 graphic
nadajemy cechę 0x01 graphic
, gdzie 0x01 graphic
.

b) Wszystkim nieocechowanym węzłom y takim, że 0x01 graphic
nadajemy cechę 0x01 graphic
, gdzie 0x01 graphic
.

Węzeł x staje się węzłem ocechowanym i sprawdzonym.

Krok 3. Jeżeli ujście u zostało ocechowane, to przejść do Fazy II. Jeżeli istnieje w sieci węzeł ocechowany i niesprawdzony, to przejść do kroku 2. W przeciwnym razie kończymy obliczenia. Wyznaczony przepływ jest przepływem maksymalnym od węzła s do węzła u.

Postępowania B zmiana przepływu

Krok 1. Jeżeli ujście u otrzymało cechę 0x01 graphic
, to podstawić 0x01 graphic
. Jeżeli ujście u otrzymało cechę 0x01 graphic
to podstawić 0x01 graphic
.

Krok 2. Jeżeli węzeł y otrzymał cechę 0x01 graphic
, to podstawić 0x01 graphic
. Jeżeli węzeł y otrzymał cechę 0x01 graphic
, to podstawić 0x01 graphic
.

Krok 3. Jeżeli wyznaczony w kroku 2 węzeł x jest taki, że x=s, to należy odrzucić stare cechy i przejść do Fazy I. W przeciwnym razie podstawić y=x i przejść do kroku 2.

Przykład zastosowania algorytmu Forda-Fulkersona

0x01 graphic

Postępowanie A

s←(-,0x01 graphic
), a←(s+,7), b←(a+,6), c←(b+,5), t←(c+,4)

Postępowanie B (nasycanie przepływu)

0x01 graphic

a←(s+,3), c←(a+,1),
f←(e+,1), t←(f+,1)

a←(s+,2), b←(a+,2), d←(b+,2), e←(d+,2), f←(e+,2), t←(f+,2)

d←(s+,10), e←(d+,6),
f←(e+,3), t←(f+,3)

0x01 graphic

d←(s+,7), e←(d+,3), a←(e-,1), b←(d+,5), c←(b+,1), f←(c+,1), t←(f+,1)

d←(s+,6), b←(d+,4), a←(b-,4), e←(d+,3)

Przekrój0x01 graphic
={<b,c>,<e,f>}

Maksymalny przepływ v=11

Zastosowania problem maksymalnego przepływu

Wyznaczanie maksymalnej liczby różnych tras

Każdemu węzłowi sieci rozległej odpowiadają w modelu dwa węzły oraz jeden dodatkowy łuk. Rozważmy węzeł x sieci rozległej. W modelu jest on reprezentowany przez węzły x' i x'' oraz łuk 0x01 graphic
. Wszystkie kanały, które dochodzą do węzła sieci rozległej są reprezentowane w modelu przez łuki dochodzące do węzła x', a wszystkim kanałom wychodzącym z węzła x sieci rozległej odpowiadają łuki wychodzące z węzła x''. Każdemu łukowi modelu przypisujemy przepustowość równą jedności. Maksymalna liczbę różnych tras od węzła s do węzła u równa się maksymalnemu przepływowi od węzła s'' do węzła u'.

0x01 graphic

Przepływ wieloskładnikowy (1)

Przepływ wieloskładnikowy odpowiada średniemu przepływowi pakietów w rozległej sieci komputerowej w przyjętej jednostce czasu. Przez składnik rozumiemy zbiór pakietów mających ten sam węzeł źródłowy i ten sam węzeł docelowy. Przez 0x01 graphic
oznaczymy średnie natężenie strumienia pakietów kierowanych z węzła i do węzła j wyrażone w pakietach/s, a przez 1/ oznaczymy średnią długość pakietu w bitach/pakiet. Zatem 0x01 graphic
jest średnim natężeniem strumienia bitów kierowanych od węzła i do węzła j wyrażonym w bitach/s. Przez 0x01 graphic
oznaczymy macierz elementów 0x01 graphic
nazywaną macierzą natężeń z zewnątrz wprowadzanych.

Ponumerujemy wszystkie składniki od 1 do q. Z k-tym składnikiem jest związana para węzłów 0x01 graphic
i 0x01 graphic
jako źródło i ujście. Przez 0x01 graphic
oznaczymy średnie natężenie k-tego składnika, tzn. 0x01 graphic
, gdzie 0x01 graphic
, 0x01 graphic
; 0x01 graphic
nazywamy również wartością k-tego składnika.

Niech S będzie siecią, której strukturę określa unigraf właściwy i zorientowany 0x01 graphic
. Przepływem wieloskładnikowym w sieci S realizującym macierz z zewnątrz wprowadzanych natężeń R nazywamy zespół funkcji

0x01 graphic
,

których wartości 0x01 graphic
0x01 graphic
przypisane poszczególnym łukom 0x01 graphic
spełniają następujący układ warunków:

Przepływ wieloskładnikowy (2)

0x01 graphic

(5)

dla każdego 0x01 graphic
.

0x01 graphic
 dla każdego 0x01 graphic

(6)

0x01 graphic
nazywamy przepływem k-tego składnika w łuku 0x01 graphic
. Oznaczmy przez 0x01 graphic
sumaryczny przepływ w łuku 0x01 graphic
.

0x01 graphic

(7)

Często wprowadza się dodatkowe ograniczenie na przepływ wieloskładnikowy, związane ze skończoną przepustowością łuków

0x01 graphic
 dla każdego 0x01 graphic

(8)

Przepływ wieloskładnikowy bez rozgałęzień

Ważną klasą przepływów wieloskładnikowych są wieloskładnikowe przepływy bez rozgałęzień nazywane też przepływami bez rozgałęzień. Przepływ bez rozgałęzień to taki przepływ wieloskładnikowy, w którym każdy składnik przepływa od swojego źródła do ujścia wzdłuż tylko jednej trasy. Przykłady: ATM, X.25, Frame Relay, MPLS.

Przepływy z rozgałęzieniami zakładają możliwość przesyłania składnika wieloma różnymi trasami jednocześnie. Przykłady: IP, IPX,

Kryteria optymalizacji przepływów

Z punktu widzenia rozległych sieci komputerowych najistotniejsze dwa kryteria optymalizacji przepływów wieloskładnikowych:

Średnie opóźnienie pakietu wyrażone jest zależnością (Kleinrock)

0x01 graphic

(9)

gdzie 0x01 graphic
jest natężeniem sumarycznego strumienia pakietów wprowadzanych do sieci. Średnie opóźnienie pakietu ma zazwyczaj wymiar s/pakiet. Zależność (9) określono przy pewnych założeniach.

W celu sformułowania problemu optymalizacji przepływów wieloskładnikowych ze względu na koszt wprowadźmy zespół funkcji

0x01 graphic
 0x01 graphic

zwanych funkcjami kosztu przepływu. Wartości funkcji 0x01 graphic
przypisane poszczególnym łukom 0x01 graphic
nazywamy kosztami przepływu jednostki i-tego składnika po łuku 0x01 graphic
. Koszty przepływu 0x01 graphic
mogą mieć różną interpretację fizyczną, np. opłaty za korzystanie z łączy, miary niezawodnościowe.

Koszt korzystania z usług komunikacyjnych K określa zależność

0x01 graphic

(10)

Metodologia projektowania sieci rozległych

Budowa rozległej sieci komputerowej jest przedsięwzięciem złożonym. Po to, aby sieć rozległa spełniła oczekiwania użytkownika, powinna zostać zaplanowana i wykonana w oparciu o szczegółowo opracowany plan działań. Czynności wykonywane od planowania do realizacji sieci rozległej można podzielić na trzy kolejne etapy:

Etap wstępnego rozpoznania

Podstawowym celem tego etapu jest zebranie wiadomości o użytkowniku, niezbędnych do wykonania projektu sieci rozległej. Pod pojęciem użytkownika rozumiemy tu podmiot, dla którego sieć rozległa jest realizowana. Może to być przedsiębiorstwo, bank czy też urząd administracji państwowej. Na podstawie uzyskanych danych powinniśmy na tym etapie ocenić celowość budowy rozległej sieci komputerowej. Etap wstępnego rozpoznania ma podetapy:

Etap projektowania

Po podjęciu decyzji, co do budowy sieci rozległej możemy przystąpić do jej projektowania. W trakcie prac projektowych musimy uwzględnić uzgodnienia dokonane podczas konsultacji z przyszłym użytkownikiem na poprzednim etapie. Zwłaszcza rozległa sieć komputerowa musi zostać tak zaprojektowana, aby jej koszt nie przekroczył wcześniej uzgodnionego i zatwierdzonego budżetu.

Do zadań, które powinny być wykonane na etapie projektowania rozległej sieci komputerowej należą:

Etap instalacji i wdrażania

Prace związane z instalacją i wdrażaniem sieci rozległej polegają na zgromadzeniu wszystkich elementów sprzętowo-programowych sieci, zainstalowaniu, testowaniu i doprowadzeniu sieci do stanu gotowości do rozpoczęcia działania. Na tym etapie mogą zastać zamienione elementy sieci przyjęte w projekcie. Równocześnie można jeszcze wprowadzić dodatkowe elementy, których nie przewidziano do zastosowania na poprzednim etapie. Jednak wszelkie zmiany powinny być uzgodnione i zatwierdzone przez użytkownika.

Podstawowe czynności wykonywane na tym etapie są następujące:

Zakończenie instalacji i wdrażania sieci rozległej umożliwia przejście do etapu jej normalnej pracy. Jednak z czasem może się pojawić potrzeba modernizacji sieci. W miarę rozwoju lokalizacji użytkownika mogą okazać się konieczne zmiany w rozległej sieci komputerowej. W związku z tym, pożądana staje się ciągła współpraca administratora sieci rozległej z firmą, która tę sieć projektowała i wdrażała.

(19)

Projektowanie sieci WAN.

K. Walkowiak, SK



Wyszukiwarka