Author Archives: Artur

Sieć komputerowa

Jedną z najważniejszych potrzeb ostatnich lat w wielu dziedzinach życia jest stworzenie sieci komputerowej w każdej firmie i instytucji. Samo wprowadzenie komputerów jako narzędzi do zarządzania i pracy nie przynosi znaczących efektów w dziedzinie zwiększenia wydajności oraz efektywności działania. Dopiero połączenie ich w sieć istotnie poprawia, a czasem wręcz rewolucjonizuje działanie zespołów ludzkich, firm i instytucji.

Siecią komputerową nazywa się w informatyce takie połączenie co najmniej dwóch komputerów, które umożliwia im współdzielenie swoich zasobów. Przez współdzielenie zasobów rozumiemy tu udostępnianie napędów (napędy dyskietek, dyski twarde, napędy CD-ROM itp.) wraz z zawartymi na nich danymi oraz udostępnianie urządzeń peryferyjnych (drukarki, skanery itp.) zainstalowanych w danym komputerze.

Wyróżniamy dwa podstawowe „typy” sieci:

  • Peer-To-Peer – czyli Stacja-Do-Stacji. W sieci tego typu żadna stacja nie jest stacją      nadrzędną i wszystkie mają te same prawa do zasobów pozostałych stacji.

  • Client-Server – czyli Klient-Dostawca. W sieci tego typu serwer jest stacją nadrzędną i decyduje o prawie do zasobów sieci odrębnie dla każdej ze stacji podrzędnych (tak zwanych stacji roboczych).

Sieci bezprzewodowe

4.3.1. Punkty dostępowe

Podstawowym elementem sieci bezprzewodowej są punkty dostępowe. Wybierając określony model punktu dostępu, należy rozważyć wiele czynników.

♦ Zgodność urządzenia ze standardem 802.11.

♦ Możliwość zastosowania anteny zewnętrznej użytecznych w tworzeniu obszarów o gęstym pokryciu. Nie wszystkie punkty dostępu wyposażone są w możliwość podłączenia anteny zewnętrznej.

♦ Zapewnienie bezpieczeństwa przekazu danych – możliwość łatwego uaktualnienia do struktur bezpieczeństwa tworzonych obecnie przez grupę 802.11i.

♦ Roaming między punktami dostępu – wybór produktów od jednego dostawcy.

Brak standardu powoduje, że nie ma gwarancji, iż punkty dostępu różnych dostawców będą współpracować ze sobą.

♦ Posiadanie funkcji oszczędzania energii, zapewnia dłuższą pracę na bateriach.

♦ Zasilanie punktu dostępowego.

♦ Zarządzanie urządzeniami.

♦ Zasięg działania punktów dostępowych.

♦ Współpraca z różnymi kartami bezprzewodowymi.

♦ Moc przetwarzania punktu dostępowego – czy jest wystarczająca do działania z maksymalną wydajnością sieci WLAN przy włączonym protokole WEP?

Wszystkie te czynniki są bardzo ważne i zanim zdecydujemy się na konkretny AP należy sprawdzić jego wszystkie parametry, a co za tym idzie sprawdzić czy będzie on odpowiednim urządzeniem dla naszych warunków środowiskowych.

4.3.2. Rodzaje anten

Ponieważ anteny stosowane w kartach sieciowych i punktach dostępowych, są przystosowane do działania na ograniczonym obszarze, dlatego w celu właściwego pokrycia powierzchni często należy zastosować anteny zewnętrzne. Wybierając taką antenę należy zwrócić uwagę na kilka opisujących ją parametrów.

Zysk anteny – „stopień, w jakim sygnał jest wzmacniany na kierunku maksymal­nego promieniowania przez antenę.” Jednostką zysku anteny jest dBi, który mówi o ile decybeli poziom sygnału z danej anteny jest większy w porów­naniu z anteną izotropową[1](dla przykładu antena 8dBi nadaje sygnał o 6,31 razy silniejszy w stosunku do anteny izotropowej). Średnia wartość zysku prostych anten waha się w przedziale 3a7 dBi.

Kąt połowy mocy – parametr ten mówi nam o szerokości wiązki promieniowania. Jest on mierzony pomiędzy punktami, w których promieniowanie maleje do połowy swojej wartości szczytowej. Parametr ten odgrywa ważną role w efektywnym pokryciu powierzchni przy użyciu konkretnej anteny.

Rodzaj anteny – określa charakterystykę promieniowania danej anteny. Wyróżnia­my trzy rodzaje charakterystyk promieniowania:

  • dookólną, anteny z taka charakterystyką stosuje się, gdy trzeba pokryć duży obszar;
  • dwukierunkową, anteny z taka charakterystyką stosuje się, gdy powierzch­nią pokrycia jest np. korytarz;
  • jednokierunkową, anteny z taka charakterystyką stosuje się, gdy budujemy połączenie typu punkt-punkt.

Rodzaje anten zostały przedstawione na stronie 25, teraz zajmę się tylko charak­terystykami promieniowania tych anten. Charakterystyki te są bardzo pomocne w trakcie wybierania rodzaju anteny jaką należy zastosować [5].

4.3.2. Kanały radiowe

Urządzenia WLAN 802.11b/g pracują w paśmie częstotliwościowym w zakresie 2,412^2,472 GHz (jest to nielicencjonowane pasmo i dlatego tylko nim się zajmę), co stanowi 13 kanałów transmisyjnych, przedstawia to Tabela 4.3. Szczególnym kanałem jest kanał 10, który to jest dozwolony przez wszystkie władze regulacyjne i w większości AP jest domyślnie wybierany przy pierwszym włączeniu urządzenia.

Tabela 4.3. Kanały radiowe w domenie regulacyjnej ETSI

Numer kanału
Częstotliwość kanału [GHz]
1
2,412
2
2,417
3
2,422
4
2,427
5
2,432
6
2,437
7
2,442
8
2,447
9
2,452
10*
2,457
11
2,462
12
2,467
13
2,472

Źródło: Opracowanie własne na podstawie [5]

Sieć WLAN ma architekturę komórkową, gdzie każdą komórkę tworzy poje­dynczy AP (pracuje on w jednym kanale radiowym). Jeżeli sieć zostanie źle za­projektowana mogą pojawiać się harmoniczne od sąsiednich AP, co spowoduje ich interferencję. Ponieważ dla każdego kanału radiowego moc drugiej harmonicznej maleje o połowę w porównaniu do mocy pierwszej harmonicznej, natomiast moc trzeciej harmonicznej maleje o połowę w porównaniu do mocy drugiej harmonicz­nej, itd., kanały radiowe dla sąsiadujących punktów dostępowych w 802,11b/g muszą być oddalone od siebie o 5 kanałów, jak widać na Rysunku 4.19.

4.3.2. Obliczenia

1. Obliczenie liczby potrzebnych punktów dostępowych

Ponieważ WLAN ma budowę komórkową do obliczenia liczby potrzebnych AP, można wykorzystać metodę jaką używa się w telefonii komórkowej.

Pierwszym krokiem w tej metodzie jest obliczenie całkowitej powierzchni po­krycia, przy czy należy uwzględnić promień komórki, który wynosi R=17m (ko­mórka taka swoim zasięgiem obejmie dwie kondygnacje). Przy 3-piętrowym bu­dynku zazwyczaj wystarczy policzyć powierzchnię 2 kondygnacji, wyjątek mogą stanowić budynki w których stropy są zbrojone (bardzo duże tłumienie sygna­łu). Całkowita powierzchnia pokrycia dla budynku o wymiarach 35×70 m parter i I piętro, a 21×70 m pozostałe dwa wynosi:

NC = 35m-70m + 21m-70m = 2450m2 + 1470m2= 3920m2

Jeśli przyjmiemy, że średnio kanał jest zajmowany przez użytkownika przez 20 mi­nut (w przedziale 0^100 minut), wówczas ruch powodowany przez takiego użyt­kownika będzie wynosił 0,2 Erlanga.

Następnym krokiem jest obliczenie powierzchni jaką obejmuje pojedyncza komór­ka:

(Pole)R = |-/2-i?2 = 2, 5981- 1T2 = 750,85?b2

Znając całkowitą powierzchnię pokrycia oraz powierzchnię jaką obejmuje AP, możemy obliczyć ilość punktów dostępowych potrzebnych do pokrycia całego budynku:

Obliczenia te są teoretyczne i odnoszą się do 100% użycia punktów dostępo­wych. Jednak w praktyce wykorzystanie AP jest znacznie mniejsze, dlatego też można zastosować mniejszą ich liczbę. W przedstawionym powyżej budynku wy­starczą 4 AP po dwa na parterze oraz na 2 piętrze dla zapewnienia całkowitego pokrycia [14].

2. Obliczenie zasięgu sieci

Obliczenia zasięgu są czysto teoretyczne i znacznie odbiegają od rzeczywistych wartości. Jednakże pozwalają określić przybliżoną wartość zasięgu danego urzą­dzenia, a co za tym idzie wielokrotnie obniżyć koszt realizacji sieci.

Pierwszym krokiem jest obliczenie straty sygnału jaka występuję między urzą­dzeniem nadawczym, a odbiorczym.

Dla pasma 2,4 GHz, czyli dla najczęściej stosowanego wartość tą wyliczamy ze wzoru:

L = 20 log (d) + 20 log (f) + 36,6

gdzie:

L – tłumienie [dBi];

d – droga, pomiędzy urządzeniem nadawczym, a odbiorczym [km]; f – częstotliwość [MHz].

W przypadku połączeni na odległość 5 km, przy zastosowaniu 6 kanału – 2,437 GHz (wybór kanału opisany jest w Rozdziale 4.3.3) straty wynoszą:

L = 20 log (5) + 20 log (2437) + 36, 6
L = 20-0, 69 + 20-3, 38 + 36, 6
L = 118

Strata na łączu 5 km wynosi 118 dBi.

W kolejnym kroku należy wziąć pod uwagę wszystkie elementy wzmacniające sygnał (takie jak urządzenie nadawcze, antenę, wzmacniacze, które należy dodać) oraz powodujące stratę (takie jak złączki, połączenia przewodowe, które należy odjąć).

Typowy układ nadawczo-odbiorczy składa się z:

nadajnika/ odbiornika,

  • 2 pigtail’i,
  • 2 złączy,
  • kabla,
  • anteny nadawczej/odbiorczej.

Jeśli w łączu zostanie użyty nadajnik o wzmocnieniu 15 dBi oraz anteny, których wzmocnienie wynosi 12 dBi dla anteny nadawczej i 15 dBi dla anteny odbiorczej. Tłumienność pojedynczej złączki wynosi 0,25 dB, pigtail’i 1 dB, natomiast tłumienność kabla 0,22 dB/m. Wzmocnienie wyniesie:

Nadajnik : 15 – 2-1 – 2-0, 25 – 0, 22 + 12 = 24, 28[dB]

Odbiornik : 15 – 2-1 – 2-0, 25 – 0, 22 + 15 = 27, 28[dB]

Całkowite wzmocnienie: Nadajnik + Odbiornik = 51, 56[dB]

Od otrzymanego wzmocnienia należy odjąć straty sygnału jakie występują między urządzeniem nadawczym, a odbiorczym:

51, 56 – 118 = -66, 44[dB]

Wartość ta mówi nam o mocy sygnału na końcach łącza.

W ostatnim kroku należy porównać otrzymany wynik z czułością zastosowane­go urządzenia nadawczego oraz odbiorczego. Dla wartości przedstawionych w Ta­beli 4.4, przy przepływności 11 Mb/s czułość AP wynosi -83 dB, od której to należy odjąć otrzymaną moc sygnału:

83 – 66, 44 = 16, 56[dB]

Teoretycznie jest to wartość pozwalająca na poprawną transmisję z prędkością 11 Mb/s, w praktyce jednak margines dopuszczalnego błędu szacowany jest na 20 dB (zapewnia to stabilną transmisję niezależnie od warunków atmosferycz­nych) [9].

Tabela 4.4. Czułość punktu dostępowego

11 Mb/s
5 Mb/s
2 Mb/s
1Mb/s
-83 dB
-87 dB
-90 dB
-92 dB

Źródło: Opracowanie własne na podstawie [9]

Rozdział czwarty opisuje sposób projektowania sieci komputerowych LAN i WLAN. Zawiera informacje odnośnie: wyboru medium transmisyjnego, topologi fizycznej, topologii logicznej; a w przypadku sieci bezprzewodowych, także o wyborze: AP, kanałów radiowych oraz anten. W rozdziale tym opisałam sposób obliczania ilości potrzebnych punktów dostępowych oraz zasięgu sieci.


[1] Antena izotropowa jest to antena, która we wszystkich kierunkach równomiernie wysyła sygnał. Sygnał jaki dociera do anteny jest transmitowany w powietrze bez odbić, strat. Zysk takiej anteny wynosi 0 dBi.

Protokół IP

Protokół IP (Internet Protocol) występuje w pakiecie TCP/IP, jest to bezpołączeniowy protokół, który to wysyła dane w formie datagramów. Bezpołączeniowość tego protokołu mówi nam o tym iż protokół IP bada czy datagramy dotarły poprawnie do adresata. Do głównych zadań tego protokołu należą:

  • wyznaczenie struktury datagramu,
  • wyznaczenie schematu adresacji,
  • zarządzanie ruchem datagramów w sieci,
  • fragmentacja i defragmentacja datagramów.

Protokół ten stworzony został do stosowania w sieciach, w których stosowana jest komunikacja za pomocą pakietów zwanych datagramami. Jest on podstawową jed­nostką jaka jest przesyłana w sieci poprzez warstwę Internat, jest adresowany do wielu węzłów albo do pojedynczych węzłów. Datagramy w sieci są przesyłane po­przez routery, które to stanowią węzły sieci, wyznaczają one dla danego datagramu trasę od węzła nadawczego do docelowego. Datagramy mają różne zdefiniowane maksymalne długości w zależności od sieci, przez którą są przesyłane. Z tego po­wodu datagram może zostać podzielony na mniejsze części (datagramy), proces ten nazywamy fragmentacją datagramów. Format otrzymanego w ten sposób no­wego datagramu jest taki sam jak dowolnego datagramu niepodzielonego. Wystę­puje oczywiście wiele innych powodów fragmentacji datagramów między innymi występuje ona gdy przesyłamy datagramy poprzez sieć rozległą, która to sieć do­puszcza do przesyłania także innych protokołów oraz pakietów o innej długości (np. sieć X.25). Proces defragmentacji wysłanego datagramu z powstałych części odbywa się w komputerze odbiorcy.

Sam datagram budową przypomina ramkę fizycznej sieci podzielony jest bo­wiem na nagłówek i dane, różnica występuje polu nagłówka który w przypadku ramki sieci zawiera adres fizyczny natomiast w przypadku datagramu zawiera adres IP (który to został opisany na stronie 34). Pola datagramu są podobnie jak w przypadku ramek sieciowych poszczególnych standardów ściśle określone, for­mat pakietu IPv4 przedstawia Rysunek 2.2.

0          4          8          12        16         20        24         28            31
Wersja
Dł.Nagł.
Typ obsługi
Długość całkowita
Identyfikacja
Znacznik
Przesunięcie fragmentu
Czas życia
Protokół
Suma kontrolna nagłówka
Adres nadawcy IP
Adres odbiorcy IP
Opcje IP
Uzupełnienie
Dane
Rysunek 2.2. Format datagramu IPv4 Źródło: Opracowanie własne na podstawie [27]

Każde z pól pełni określoną funkcję:

  • wersja – pole to zajmuje 4 bity, zawarty w nim jest numer wersji protokołu IP użytego do stworzenia datagramu. Informacja ta jest konieczna ponieważ urządzenia sieciowe mogą stosować różne wersje tegoż protokołu;
  • długość nagłówka – podobnie jak wersja zajmuje 4 bity, informuje o długości nagłówka wyrażaną w słowach 32-bitowych. Minimalna, a zarazem typowa długość nagłówka wynosi 5;
  • typ obsługi – jest to pole 8-bitowe, decyduje w jaki sposób datagram powinien zostać obsłużony. Pole to składa się z pięciu podpól:

– pierwszeństwo – zajmuje trzy bity, w nim zawarta jest informacja o ważności danego datagramu, od 000 (normalny stopień) do 111 (sterowanie siecią),

O – zajmuje 1 bit, zawierające informację o opóźnieniu w sieci. Przy czym wartość „0” mówi o normalnej transmisji, natomiast wartość „1” o ma­łym opóźnieniu,

S – zajmuje 1 bit, informuje o przepustowości. Gdzie „0” oznacza przepusto­wość normalną, natomiast „1” dużą,

P – zajmuje 1 bit, informuje nas o poziomie niezawodności. Wartość „0” to normalna niezawodność, natomiast wartość „1” w tym bicie mówi nam o dużej niezawodność,

– ostatnie dwa bity nie są używane, zawsze mają wartość „0”. Są przezna­czone dla nowych zastosowań;

•   długość całkowita – jest to pole 16-bitowe, które definiuje długość datagramu IP mierzoną w bajtach. Ponieważ jest to pole 16 bitowe maksymalna długość datagramu wynosi 65535 (czyli 216 — 1);

•   identyfikacja – podobnie jak poprzednie jest to pole 16-bitowe, stosowany jest w celu jednoznacznego oznaczenia wszystkich fragmentów datagramu pierwotnego;

•   znacznik – pole to zajmuje 3 bity: pierwszy – zawsze jest to zero, drugi – mówi nam czy możemy (1) czy też nie możemy (0) dokonać fragmenta- cji datagramu, trzeci – służy do zidentyfikowania ostatniego fragmentu (0) w przeciwnym razie (1) wystąpi kolejny fragment;

•   przesunięcie fragmentu – jest to pole 13-bitowe, informuje ono, którą częścią datagramu jest dany fragment;

•   czas życia (TTL) – pole to zajmuje 8 bitów, określa jak długo datagram może przebywać w sieci, wartość ta jest wyrażana w sekundach. Zazwyczaj mieści się w przedziale od 15 do 30 sekund. Protokół TCP/IP wymaga aby wartość ta zmniejszyła się o 1 przy każdym przejściu przez router. Zapobiega to krążeniu datagramu w sieci w nieskończoność, ponieważ gdy pole to osiągnie wartość zero router odrzuci datagram;

•   protokół – jest to pole 8-bitowe, które zawiera numer określający protokół warstwy transportowej, do którego dane zawarte w datagramie mają być przesłane. Cała lista protokołów tej warstwy zawiera około 50 pozycji, do najczęściej stosowanych należą: ICMP oznaczony numerem 1 i TCP ozna­czony numerem 6. Numery innych protokołów dostępne są w dokumentach RFC;

•   suma kontrolna nagłówka – podobnie jak pole długości całkowitej zajmuje ono 16 bitów, służy ono jedynie do sprawdzenia czy nagłówek został popraw­nie dostarczony. Pole to zawiera jedynkowe uzupełnienie sumy kolejnych 16- bitowych słów nagłówka (w przypadku TCP oraz UDP suma kontrolna jest liczona dla całego pakietu). Obliczona wartość jest porównywana z wartością tam zapisaną, jeśli jest to ta sama liczba nagłówek został poprawnie przesłany, jeśli zaś liczby te są różne w przekazie nastąpiło przekłamanie;

•   adres IP nadawcy – jest polem 32-bitowym, które to pole zawiera adres IP nadawcy;

•   adres IP odbiorcy – podobnie jak adres IP nadawcy jest to pole 32-bitowe, które zawiera adres IP odbiorcy;

•   opcje IP – pole to ma zmienną długość, będącą wielokrotnością 8 bitów. Nie zawsze pole to występuje w nagłówku. Składa się z pięciu podpól: pod­pola kopiuj („1” oznacza kopiuj do każdego fragmentu, a „0” kopiuj tylko do pierwszego), podpola klasa opcji (znaczenie tego pola jest przedstawione w Tabeli 2.1) oraz podpola numer opcji (znaczenie tego pola jest przedsta­wione w Tabeli 2.2);

Tabela 2.1. Klasy opcji oraz ich znaczenie

Klasa opcji
Znaczenie
0
Kontrola datagramów lub sieci
1
Zarezerwowane do Przyszłego użytku
2
Poprawianie błędów i pomiary
3
Zarezerwowane do przyszłego użytku

Źródło: Opracowanie własne na podstawie [27]

•   uzupełnieni – podobnie jak pole opcji IP zazwyczaj nie występuje w nagłów­ku. Jest stosowane w celu dopełnienia poprzedniego pola do wielokrotności 32 bitów;

•   dane – pole to ma zmienną długość, która to jest równą długości danych transmitowanych w sieci [6, 15, 16, 27].

Tabela 2.2. Numery opcji oraz ich znaczenie

Klasa
opcji
Numer
opcji
Długość
Opis
0
0
Koniec listy opcji. Jest stosowana kiedy opcje jeszcze
się nie kończą, a nagłówek już tak.
0
1
Bez przypisanej funkcji – wypełnienie.
0
2
11
Tajność – używana do zastosowań wojskowych.
0
3
zmienna
Swobodne trasowanie wg nadawcy – używany do
prowadzenia datagramu określoną ścieżką.
0
7
zmienna
Zapisuje trasę – używana do śledzenia trasy.
0
9
zmienna
Rygorystyczne trasowanie wg nadawcy – używana do
ścisłego prowadzenia datagramu.
2
4
zmienna
Intersieciowy datownik – używany do zapisywania
czasów wzdłuż ścieżki.

Źródło: Opracowanie własne na podstawie [27]

Z powodu małej puli adresowej a także błędów występujących w IPv4, rozpo­częto prace nad nowym protokołem. W wyniku tych prac powstał protokół IPv6 przedstawia to Rysunek 2.3.

Rysunek 2.3. Format datagramu IPv6

0          4          8          12        16         20        24         28            31
Wersja
Priorytet
Klasa ruchu
Etykieta przepływu
Długość danych
Następny nagłówek
Limit przeskoków
Adres nadawcy IP
Adres odbiorcy IP Dane

Źródło: Opracowanie własne na podstawie [15]

Nagłówek powstałego protokołu różni się od poprzedniej wersji :

•    pole Typ obsługi zostało zastąpione Klasą ruchu i jest używane do różnico­wania prostszych usług;

•    pole Długość nagłówka zostało całkowicie usunięte, dzięki czemu możemy między innymi znacząco zmniejszyć długość pakietu. Pojawiło się za to pole Etykieta Przepływu, które stosowane jest do implementacji QoS;

•    dodatkowo wprowadzono pole Długość datagramu bez nagłówka, gdzie war­tość zerowa mówi nam o tym, iż długość została określona przy pomocy

Jumbo Poyload. Pozwala to nam na tworzenie datagramów, których długość mieści się w przedziale od 65’536 do 4’294’967’295 bajtów, nazywanych Jumbogramami;

•   pole które zawierało informacje o fragmentacji zmodyfikowano i przeniesiono do dodatkowego nagłówka;

•   zamiast pola Protokół pojawiło się pole Następny nagłówek, w którym to kon­kretny wpis informuje o charakterze dodatkowego nagłówka, który umiejsco­wiony jest pomiędzy adresem odbiorcy, a danymi. Jeśli dodatkowy nagłówek nie jest wprowadzany, wówczas długość pojedynczego nagłówka IPv6 wy­nosi 40 bajtów (8 pól). w przypadku bezpieczeństwa szczególnie ważne są nagłówki: ESP (ang. Encapsulating Security Payload) – numer 50 i AH (ang. Authentication Header) – numer 51;

• pole TTL zastąpiono polem Liczba przeskoków (przejść przez router) [15].

Adres IPv4

Adres IPv4 jest to 32-bitowa liczba całkowita, która to informuje nas o sieci do jakiej został podłączony komputer oraz określa adres tego komputera. Ze względu na ilość bitów jaka jest przeznaczona na adres sieci i komputera adresy IPv4 dzielimy na 5 klas, a mianowicie na:
klasa A – w klasie tej pierwszy bit zawsze jest bitem zerowym, kolejne 7 to bity adresu sieci. Pozostałe 24 bity tworzą adres komputera podłączonego do tej sieci. W klasie tej mamy 27 = 128 adresów sieci, które to mogą mieć po 65536 adresów komputerów;

Rysunek 2.4. Klasa A

Źródło: Opracowanie własne na podstawie [27]

klasa B – w klasie tej pierwsze dwa bit to zawsze „10”, kolejne 14 to bity adresu sieci. Pozostałe 16 bitów tworzy adres komputera podłączonego do tej sieci. W klasie tej mamy 214 adresów sieci oraz 216 = 65536 adresów komputerów;

Rysunek 2.5. Klasa B

1 0 Sieć (14 bitów)

Komputer (16 bitów)

Źródło: Opracowanie własne na podstawie [27]

klasa C -w klasie tej pierwsze trzy bit to zawsze „110”, kolejne 21 to bity adresu sieci. Pozostałe 8 bitów tworzy adres komputera podłączonego do tej sieci. W klasie tej mamy 221 adresów sieci oraz 28 = 256 adresów komputerów;

1 1 0 Sieć (21 bitów) Komputer (8 bitów)
Rysunek 2.6. Klasa C
Źródło: Opracowanie własne na podstawie [27]

klasa D – w klasie tej pierwsze cztery bit to zawsze „1110”, pozostałe 28 bitów sta­nowi adres grupowy. Klasa ta jest stosowana wtedy gdy mamy do czynienia z jednoczesną transmisją danych do dużej ilości urządzeń w sieci;

1 1 1 0 Adres grupowy (28 bitów)
Rysunek 2.7. Klasa D
Źródło: Opracowanie własne na podstawie [27]

klasa E – w klasie tej pierwsze pięć bitów to zawsze „11110”, pozostałe bity zarezerwowane są do przyszłych rozwiązań.

1 1 1 1 0 Zarezerwowane na przyszłość
Rysunek 2.8. Klasa E
Źródło: Opracowanie własne na podstawie [27]

Adresy IPv4 podawane są w postaci czterech cyfr dziesiętnych, które oddzielo­ne są kropkami. Adresy przyporządkowane poszczególnym klasą adresów IPv4 przedstawia Tabela 2.3.

Tabela 2.3. Zakres adresów IPv4 w poszczególnych klasach

Klasa
Najniższy adres
Najwyższy adres
A
1.0.0.0
126.0.0.0
B
128.0.0.0
191.255.0.0
C
192.0.0.0
223.255.255.0
D
244.0.0.0
239.255.255.255
E
240.0.0.0
247.255.255.255

Źródło: Opracowanie własne na podstawie [27]

Mimo że każda klasa ma przyporządkowane adres, to nie wszystkie mogą być użyte do oznaczania sieci czy też komputerów w niej występujących. Część adresów IPv4 z całej puli adresowej ma z góry ustalone zastosowanie, są to:

  • od 10.0.0.0 do 10.255.255.255 – adresy prywatne,
  •  od 172.16.0.0 do 172.31.255.255 – adresy prywatne,
  • od 192.168.0.0 do 192.168.255.255 – adresy prywatne.

Pozostałe adresy, które nie zostały zawarte w żadnej z klas także mają określone zastosowanie i tak:

  • cała pula 127.X.X.X – jest przeznaczona na adresy diagnostyczne, przy czym 127.0.0.1 jest adresem pętli zwrotnej,
  • 0.0.0.0 – oznacza „ścieżkę domyślną”,
  • w każdej klasie adresów zarezerwowane są adresy: wyzerowane i wyjedynkowane (adres wyzerowany jest stosowany przez IP w tablicach rutowania, natomiast adres wyjedynkowany jest to adres rozgłoszeniowym dla danej podsieci) [6, 15, 16, 27].

Adres IPv6

Adres IPv6 zwiększył swój rozmiar z 32-bitowego ciągu, na ciąg 128-bitowy. Spowodowało to wzrost puli możliwych do przydzielenia adresów z 232 & 4,3×109 w IPv4 do 2128~ 3,4×1038 w IPv6. Adres ten ma postać 8 bloków, z których każdy jest 16-bitowym ciągiem, oddzielonych od siebie dwukropkiem, np.:

x:x:x:x:x:x:x:x, gdzie x = yyyy yyyy yyyy yyyy

Każdy ciąg yyyy jest prezentowany w formie szesnastkowej, np.:

0111 : FACB :1001 AC16 : 0000 : 0000 : 0012 : EECD

Grupa czterech zer zastępowana jest jednym, natomiast zera stojące po lewej stronie innej grupy zostaje pominięte, dzięki temu otrzymujemy:

111 : FACB :1001 AC16 : 0 : 0 : 12 : EECD

Zera które są oddzielone jednym dwukropkiem możemy zastąpić dwukropkiem, jednak taki podwójny dwukropek w zapisie może wystąpić tylko jeden raz:

111 : FACB :1001 AC16 :: 12 : EECD

Podobnie jak w IPv4 w IPv6 pewne adresy mają z góry przypisane przeznaczenie i tak:

  • ::/128 – jest to adres zerowy, który używany jest tylko w oprogramowaniu;
  • ::1/128 – jest to adres lokalnego hosta;
  • ::/96 – adresy kompatybilne z adresem IPv4 hosta który korzysta z IPv6 i IPv4;
  • ::ffff/96 – adresy kompatybilne z adresem IPv4 hosta który korzysta tylko z IPv4;
  • fe80::/10 – adres typu link-local, który jest używany wewnątrz sieci, w czasie autokonfiguracji;
  • ff00::/8 – adres rozgłoszeniowy [15].

Protokół TCP

Protokół ten zapewnia niezawodną transmisję danych pomiędzy warstwą sie­ciową a warstwą aplikacji. Do cech charakterystycznych protokołu TCP należą:
  • możliwość sterowania przepływem,
  • potwierdzanie odbioru,
  • zachowanie kolejności danych,
  • kontrola błędów,
  • przeprowadzanie retransmisji.

TCP nazywany jest czasem protokołem „gwarantowanego przekazu danych „, ponieważ jeżeli do komputera docierają błędne lub niekompletne dane, wówczas żąda od serwera powtórnego przesłania tego pakietu. Dzięki temu jesteśmy pewni, iż przesyłane dane dotrą w niezmienionej formie do komputera odbiorczego. Protokół ten jednak nie zapewnia określonego czasu w jaki to dane mają zostać dostarczone do adresata. W przypadku dużego ruchu, gdy łącza są zapchane, prędkość transmisji spada, niekiedy zatrzymując się całkowicie. Powodem tego zjawiska jest duża ilość pakietów, które zostają błędnie przetransmitowane, a co za tym idzie muszą zostać retransmitowane przez serwer.

Protokół TCP rozpatruje dane jako ciągły strumień informacji, ale ponieważ dane te muszą zostać przesłane przy wykorzystaniu datagramów protokołu IP, to każdy komunikat TCP (segment), który jest przesyłany w rzeczywistości jest pojedynczym segmentem ze strumieniem bajtów protokołu TCP. Segment proto­kołu TCP składa się z nagłówka i danych jak pokazuje Rysunek 2.9, sam nagłówek składa się z kilku pól.

Rysunek 2.9. Format segmentu TCP

0          4          8          12        16         20        24         28            31
Port nadawcy
Port odbiorcy
Numer porządkowy
Numer potwierdzenia
Dł.Nagł.
Zarezerwowane
Bity kodu
Okno
Suma kontrolna
Wskaźnik pilnych danych
Opcje IP
Uzupełnienie
Dane
 Źródło: Opracowanie własne na podstawie [27]

Każde z nich podobnie jak pole danych ma określoną funkcję:

  • port nadawcy – jest to pole 16-bitowe, które zawiera numer portu TCP wysy­łającego dane;
  • port odbiorcy – jest to pole 16-bitowe, które zawiera numer portu TCP odbie­rającego dane;
  • numer porządkowy – pole to zajmuje 32 bity, określa położenie pierwszego bajtu w polu danych w segmencie TCP. W czasie ustanawiania połączenia i gdy bit syn (w znaczniku) jest ustawiony na „1”, wówczas w polu tym zawarty jest numer, który inicjuje sekwencyjny numer ins, od którego zaczyna się numeracja bajtów w połączeniu. Stąd też pierwszy bajt jaki jest wysyłany ma numer ins + 1;
  • numer potwierdzenia – pole to zajmuje 32 bity, informuje nas o numerze se­kwencyjnym kolejnego bajtu jaki powinien dotrzeć do odbiorcy, równocześnie jest to potwierdzenie poprawnego odbioru bajtu, którego numer sekwencyjny jest mniejszy od występującego w tym polu;
  • długość nagłówka – jest to pole 4-bitowe, określa nam długość nagłówka segmentu będącą wielokrotnością 32 bitów. Pole pełni taką funkcję tylko wtedy, gdy bit ack ma wartość „1”;
  • zarezerwowane – pole to jest przeznaczone dla przyszłych zastosowań;
  • bity kodu – jest to pole 6-bitowe informujące o przeznaczeniu zawartości segmentu. Pole to składa się z sześciu sterujących bitów:

–  UGR – wskazuje na ważność pola wskaźnik pilności,

–  ACK – wskazuje na ważność pola numer potwierdzania,

– PSH – wskazuje na działanie funkcji, które wymusza wysyłanie segmentu,

– RST – potwierdzenie wyzerowania połączenia,

– SYN – wskazuje, że w polu numer sekwencyjny umieszczony jest numer sekwencyjny inicjujący INS. Służy ono do synchronizacji numerów se­kwencyjnych w czasie ustawiania połączenia,

– FIN – wskazuje, że nadawca skończył nadawanie, jest to sygnał informujący

o końcu danych;

  • okno – pole to zajmuje 16 bitów, zawiera informację o tym ile bajtów może jeszcze odebrać strona docelowa;
  • suma kontrolna – pole to zajmuje 16 bitów, jest sumą 16-bitowych słów w obrębie segmentu;
  • wskaźnik pilnych danych – pole to zajmuje 16 bitów, jest sprawdzane tylko wtedy, gdy UGR ma wartość „1”. Pokazuje nam wówczas, gdzie znajduje się ostatni bajt danych, które przesyłane są w trybie przyspieszonym;
  • opcje IP – pole to ma długość równą wielokrotności 8 bitów. W polu tym znajduje się numer opcji, przy czym każdy numer jest zapisany w jednym bajcie. W przypadku TCP są określone trzy opcje:

–  0 – koniec listy opcji,

–  1 – brak działania,

–  2 – maksymalna długość segmentu;

  • uzupełnienie – pole to ma zmienną długość, będącą dopełnieniem nagłówka do wielokrotności 32 bitów;
  • dane – pole to ma zmienną długość, która to jest równą długości danych transmitowanych w sieci [12, 16, 27].

Jak już wcześniej zostało powiedziane protokół TCP jest stosowany, gdy apli­kacje wymagają niezawodnego przesłania danych. Tą niezawodność zapewniają konkretne funkcje oprogramowania sieciowego przy pomocy procedur protokołu TCP, które to analizują stan kanałów transmisyjnych stacji sieci, do funkcji tych należą:

  • orientacja strumienia danych – funkcja ta służy do analizowania kompletności odebranych danych, sprawdzenia czy do urządzenia odbiorczego dotarły wszystkie oktety jakie zostały wysłane;
  • połączenie wirtualne – jest „zestawiane” między aplikacjami a programami, któ­re nadają i odbierają dane. Urządzenia nadające wywołują proces odbioru, który powinien być zatwierdzony przez urządzenie odbiorcze. Dopiero po zatwierdzeniu może rozpocząć się transmisja danych. Po zakończeniu pobierania danych następuje sprawdzanie poprawności da­nych, które dotarły do urządzenia odbiorczego. Jeśli w czasie transmisji wy­stąpił błąd obie strony są o tym poinformowane, a transmisja powtórzona;
  • buforowanie kanałów – funkcja ta pozwala na gromadzenie części składowych ciągu danych, które zostały wysłane w formie pakietów. Po otrzymanie da­nych wysyłany jest komunikat o tym, że dane gotowe są do zweryfikowania oraz sprawdzenia kompletności. Aby występowała zadowalająca efektywność procesu przesyłania konieczne jest, aby po stronie nadawcy nastąpiła koncentracja danych zgodnie z forma­tem datagramów jakie obowiązują w systemie przesyłania danych poprzez sieci rozległe;
  • formatowanie ciągu danych – funkcja ta mówi o dopasowywaniu przesyłanych plików do standardów określonych w sieci internetowej, przez którą pliki są przesyłane;
  • transmisja obustronna – funkcja ta informuje o możliwości jednoczesnej transmisji danych w obu kierunkach linii tzw. full duplex.

Rozdział drugi zawiera informacje dotyczące protokołu TCP/IP, który jest najczę­ściej stosowanym protokołem w przypadku transmisji danych poprzez sieci komputerowe. Opisałam w nim dwa protokoły, a mianowicie protokół TCP, oraz protokół IPv4 i IPv6. Dodatkowo przedstawiłam także sposób adresowania urządzeń przy wykorzystaniu adresów IPv4 i IPv6.

Standardy VoIP

Głównym warunkiem do korzystania z technologii VoIP jest stworzenie standar­dów, które zapewnią bezproblemową współpracę między urządzeniami poszcze­gólnych producentów. Nad takim standardem pracuje kilka organizacji. Do naj­ważniejszych należą: ITUT, IETF, ETSI, iNOW!, IMTC VoIP Forum oraz MIT’s Te- lephony Consortium.

Obecnie liczą się dwa standardy protokołów sygnalizacyjnych dla telefonii IP:

•    H.323,

•    IETF Session Initiation Protocol (SIP).

3.2.1. H.323

Protokół H.323 jest najpopularniejszym spośród standardów komunikacyjny dla VoIP. Proces standaryzacji H.323 rozpoczęto ponad 10 lat temu, pierwsza wersja została przyjęta już w 1996 roku. Protokół ten należy do serii H.32x (standardy komunikacyjne), które to opisują połączenia multimedialne dla poszczególnych typów sieci:

•    H.320 – cyfrowe wąskopasmowe sieci ISDN,

•    H.321 – cyfrowe szerokopasmowe sieci ISDN i ATM,

•    H.322 – pakietowe sieci o gwarantowanym pasmie,

•    H.323 – pakietowe sieci o niegwarantowanym pasmie,

•    H.324 – analogowe sieci POTS.

Prace nad tym standardem trwały nadal i tak w styczniu 1998 roku zatwierdzona została druga wersja standardu H.323, w której oprócz ulepszeń pierwotnej wersji dodatkowo zawarty został sposób generowania połączeń multimedialnych w sie­ciach WAN (ang. Wide Area Network). Dzięki tym zmianom każdy użytkownik dysponuje szerszym zakresem rozwiązań poprawiających bezpieczeństwo pracy, a także wygodnie zarządzać aplikacjami, które przesyłają dane audio poprzez sieć pakietową.

Natomiast dwa lata później w lutym 2000 roku zatwierdzono kolejną już trzecią wersję H.323. Jednak wersja ta, mimo że jest uniwersalna jest również dość trudna w instalacji oraz co stanowi chyba największy problem nie jest ona kompatybilna z wcześniejszymi wersjami.

W skład protokołu H.323 wchodzi kilka standardów ITU co ilustruje Rysu­nek 3.7. Protokół ten definiuje:

  • rodzaj systemu,
  • procedury kontrolne,
  • opis medium,
  • sygnalizację zgłoszeń [2, 4, 25].

Rysunek 3.7. Architektura protokołu H.323

Źródło: Opracowanie własne na podstawie [25]

Protokół H.323 określa główne komponenty systemu, który przesyła w czasie rzeczywistym dane multimedialne:

terminale – są to użytkownicy, którzy to mogą inicjować oraz odbierać zgłoszenia, a także wysyłać oraz odbierać dwukierunkowy strumień danych. Typowym terminalem jest komputer PC, prócz niego terminalami mogą być specjalne, przeznaczone do tego urządzenia. Każdy terminal musi umożliwiać przesył głosu, inny format czyli obraz i dane występują opcjonalnie;

bramy – ang. gateway, umożliwia komunikowanie się z rozwiązaniami stosującymi inne protokoły (nie stosujące H.323), realizuje łączenie telefonicznej sieci IP z innymi sieciami np. ze standardową siecią telefoniczną. Dlatego też musi posiadać mechanizmy, które zapewnią konwersję wszelkich formatów i będą obsługiwały sieci oparte na wszystkich technologiach;

nadzorca – ang. gatekeeper, jest to element świadczący swe usługi użytkownikom końcowym, choć nie zawsze występujący. Jeśli jedna nadzorca występuje, to do jego zadań należą:

  • translacja adresów,
  • kontrola zgłoszeń i autoryzacji,
  • kontrola pasma,
  • administracja strefy, w której występują wszystkie urządzenia jakie zostały zarejestrowane u nadzorcy.

Oprócz wyżej wymienionych zadań opcjonalnie nadzorca może kontrolować połączenia, wymieniać sygnalizację która odnosi się do połączeń oraz po­za kontrolą pasma występującą zawsze czasem nadzorca może także nim zarządzać;

jednostki MCU – składa się z 2 elementów: Multipoint Controller (MC), który od­powiedzialny jest za wymianę informacji oraz z kilku Multipoint Processors (MP), których zadaniem jest obsługa strumienia danych. Do zadań jednostki MCU należą:

  • zarządzanie zasobami konferencji,
  • negocjacja pomiędzy punktami końcowymi,
  • oraz czasem także sterowanie strumieniem pakietów danych multimedial­nych [28].

3.2.1. Protokół SIP

SIP (ang. Session Initiation Protocol) jest protokołem sygnalizacyjnym, który pracu­je w warstwie aplikacji, został opracowany przez Multiparty Multimedia Session Control (MMUSIC), pracującą pod patronatem Internet Engineering Task Force (IETF). Protokół SIP został stworzony w oparciu o HTTP (ang. Hypertext Trans­fer Protocol – protokół sieci WWW) w celu zestawiania sesji między klientami. A dokładniej, protokół tan ustala adresy IP i numery portów, które to są używane w czasie sesji multimedialnych.

Protokół ten nie jest przeznaczony do transmisji danych, a pakiety danych są prze­syłane inną drogą niż pakiety SIP. Jednak ze względu na to, że w użytkownicy bardzo często wraz z głosem chcą przesłać zdjęcia, dane czy też strony WWW. Możliwość taka została uwzględniona i dane te mogą być transportowane razem z pakietami sygnalizacyjnymi [4, 13, 25].

Podobnie jak H.323 protokół SIP także określa główne komponenty systemu, i tak występuje tu:

  • terminal SIP – jest to urządzenie końcowe, które może zapoczątkować lub zakoń­czyć sesję SIP. Urządzeniem końcowym może być zarówno telefon, komputer (PC) jak i brama, przy czym każde z tych urządzeń musi obsługiwać protokół SIP;
  • server proxy SIP – jest to urządzenie „kontrolujące” rozmowy, a dokładnie dostar­czające wiele usług takich jak routing wiadomości SIP pomiędzy terminalami;
  • server przekierowań SIP – podobnie jak poprzedni element jest to urządzenie „kontrolujące” rozmowy, lecz jego zadaniem jest przesłanie informacji o wy­borze trasy połączenia jeśli terminal takich danych zażąda. W odpowiedzi server ten wysyła dane o zamiennym URI (ang. uniform resource identifier) lub o UAS (ang. destination user-agent server);
  • registrar server SIP – jest to urządzenie, które posiada informacje o logicznym położeniu terminala wewnątrz domeny lub poddomeny. Dane te są dyna­micznie aktualizowane przy użyciu wiadomości „zameldowania”, która to żąda podania przez terminal aktualnego umiejscowienia;
  • services location SIP – jest to dodatkowy element (funkcja), która nie jest samo­dzielnym urządzeniem. Może być stosowany przez server proxy, przekie­rowań oraz registrar w celu znalezienia identyfikatora (z unikalnym URI) i „logicznego” położenia urządzenia wewnątrz sieci;
  • terminal back-to-back – urządzenie „kontrolujące” rozmowy, które zapewnia ro- uting podobny do tego dostarczanego przez server proxy, ale pozwalającej na zcentralizowaną kontrolę strumieni rozmów w sieci;
  • SIP – zorientowane urządzenie sieciowe – urządzenie to posiada „wiedzę” na te­mat protokołu SIP oraz pozwala na efektywniejszą pracę sieci. Ten typ urzą­dzenia może być firewall’em lub tak zwanym urządzeniem NAT (ang. Ne- twork Address Translation), które pozwala komunikatom SIP przekraczać granicę danej sieci albo zrównoważenie balansu przełączania, który pozwoli na sprawniejszą obsługę zapytań do servera SIP [23].

Architekturę protokołu SIP oprócz niego samego tworzą jeszcze dwa inne pro­tokoły sygnalizacyjne: Session Description Protocol (SDP) i Session Announcement Protocol (SAP).

Protokół SDP stosowany jest przez SIP w celu opisu mediów wdrożonych w ter­minalu. Podobnie jak protokół SIP, SDP jest tworzony przez IETF a wiadomości, które są przesyłane przy jego użyciu tak samo jak SIP mają charakter tekstowy. Wiadomości te określają specyfikację zakończeń sieciowych.

Protokół SAP natomiast może zostać użyty w celu powiadomienia większej liczby terminali o tym, że otwierana jest sesja. Protokół ten zazwyczaj jest stosowany aby przesłać informacje o dużych konferencjach publicznych albo usługach rozsiew- czych do których należą telewizja internetowa czy też radio. Funkcję tą można również zaimplementować za pomocą samego protokołu SIP, który to ma opcję sygnalizacji multicast.

Dodatkowo architektura SIP zawiera protokół RTSP (ang. Realtime Streaming Protocol), który to służy do kontroli procesu inicjacji orz przesyłania strumienia multimedialnego z serwerów. Nie jest to protokół, który sam dostarcza usługi ale do tego celu stosuje RTP.

Proportional Rate Control Algorithm (PRCA)

W opisanych powyżej algorytmach FECN i BECN, bazujących na ujemnym sprzężeniu zwrotnym (tzn. źródło zmniejszało swoją prędkość po dostaniu komórki sterującej), występował problem zwiększania się przeciążenia na skutek utraty komórek sterujących. W celu usunięcia tej wady zaproponowano algorytm PRCA, bazujący na dodatnim sprzężeniu zwrotnym. W algorytmie tym, źródło zwiększa prędkość transmisji danych tylko wtedy gdy dostanie komórkę sterującą, jeżeli źródło nie dostanie komórki sterującej to samo zmniejsza prędkość. Zmiana prędkości transmisji jest proporcjonalna do aktualnej prędkości danego źródła.

Rysunek 9 Zasada działania algorytmu PRCA

Zasada działania algorytmu jest następująca: Źródło (nadawca) wysyła wszystkie komórki danych z ustawionym bitem EFCI z wyjątkiem pierwszej i N-tej komórki. Parametr N jest ustalany w początkowej fazie łączenia i wielkość jego wpływa na czas reakcji na przeciążenie. Jeżeli odbiorca odbierze komórkę danych z wyzerowanym bitem EFCI i nie samo przeciążone, to generuje i wysyła komórkę sterującą RM. Źródło zwiększa prędkość transmisji, jeżeli tylko otrzyma komórkę RM od odbiorcy. Przełącznik, który wykryje przeciążenie może ustawić bit EFCI lub usunąć komórkę sterującą RM, wysłaną przez odbiorcę. Źródło zaczyna zmniejszać prędkość transmisji od  momentu nie dostania komórki RM, aż do chwili gdy sieć przestanie być przeciążona i źródło dostanie komórkę RM.

Algorytm PRCA rozwiązuje problem występujący w algorytmach BECN i FECN, ale zauważono inny problem, tzn. niesprawiedliwy przedział pasma. Jeżeli, mamy sieć zbudowaną z kilku przełączników i poziom przeciążenia jest taki sam na wszystkich przełącznikach, to kanał wirtualny przechodzący przez większą ilość przełączników ma większe prawdopodobieństwo dostania komórki z ustawionym bitem EFCI (wskazującym na przeciążenie) niż kanał wirtualny przechodzący przez mniejszą ilość przełączników. Jeżeli pjest prawdopodobieństwem ustawienie bitu EFCI przy przejściu przez jeden przełącznik(hop), to prawdopodobieństwo ustawienia EFCI dla kanału wirtualnego VC składającego się z n przełączników wynosi  1-(1-p)nlub np. Tak więc „dłuższy” kanał wirtualny ma mniejszą szansę na zwiększenie prędkości transmisji i częściej musi zmniejszać prędkość niż „krótszy” kanał wirtualny. Problem ten nazwano „beat-down problem” .

Rysunek 10 przedstawia konfigurację sieci składającą się z 4 przełączników i 4 kanałów wirtualnych. Przeprowadzone symulacje[3] (Rysunek 11) wykazały, że prędkość transmisji dla kanału 4, zastała zredukowana do zbyt małej wielkości w porównaniu do innych kanałów. Wystąpił więc niesprawiedliwy przedział dostępnego pasma.

Podstawowe wiadomości o VoIP

VoIP (ang. Voice over IP) bardzo często nazywany jest telefonią internetową (In¬ternet Phone). Jest to technologia, która poprzez łącza internetowe czy też sieci dedykowane zapewnia transmisję dźwięku w postaci pakietów przy użyciu protokołu IP (Rozdział 2.1). Dzięki temu, że dane transportowane są przy zastosowaniu protokołu IP można wyeliminować tak zwane „połączenie ciągłe” oraz np. wymianę danych kiedy rozmówcy milczą.

Podstawowym zadaniem technologii VoIP jest integracja ruchu telefonicznego z transmisją danych oraz utworzenie jednej sieci, która będzie mogła transmitować wszelkie rodzaje ruchu. Technologia ta jest wdrażana przez wiele firm, które produkują zarówno sprzęt jak i oprogramowanie dla telekomunikacji, oraz operatorzy telekomunikacyjni.

VoIP ma dwa główne zastosowania. Pierwszym jest użycie tej technologii do prowadzenia rozmów telefonicznych zarówno międzymiastowych jak i między-narodowych. Realizacja połączenia odbywa się bez zastosowania infrastruktury tradycyjnych operatorów telefonicznych, dzięki czemu uzyskuje się dużą swobodę oraz redukcję kosztów, która jest tym większa, im większe są odległości między rozmawiającymi osobami. W połączeniach z drugim użytkownikiem VoIP brak jest opłat taryfikacyjnych (za minutę połączenia), co jest atrakcyjnym rozwiązaniem. Brak takiej opłaty przyczynił się do tego, że obok tradycyjnego połączenia VoIP przy użyciu głośników i mikrofonu powstały urządzenia dedykowane do rozmów, które są bardziej wygodne w użyciu i w przeciwieństwie do komputera mobilne.

Obecnie za stałą opłatą dla providera Internetu można rozmawiać z każdym po¬siadającym dostęp do „Internetu”. Wiele firm oferuje także możliwość rozmowy z osobami korzystającymi ze zwykłej sieci telefonicznej z komutacją łączy. Firmy te za dodatkową opłatą zezwalają na korzystanie z ich bramek, które to są inter¬fejsami między siecią POTS (ang. Plain Old Telephone Service) a siecią pakietową.

Drugim zastosowaniem technologii VoIP jest integracja sieci korporacyjnych. Inte¬gracja sieci transmisji głosu i danych powoduje znaczne obniżenie kosztów zarówno wdrożenia jak i późniejszej konserwacji sieci. Zastosowanie technologii VoIP w sieciach korporacyjnych jest łatwiejsze niż w sieci Internet, ponieważ można w nich określać priorytety strumieni danych przesyłanych w sieci. W sieci Internet obejmującej swoim zasięgiem cały świat jest to prawie niewykonalne. W sieci pakietowej zastosowanej wewnątrz firmy prościej jest zastosować wiele usług między innymi: telekonferencje, które w przypadku sieci z komutacją łączy powodują dużo problemów.

Systemy VoIP mogą zostać wdrożone w celu realizacji usług telefonicznych w istniejącej już infrastrukturze, jednak aby było to możliwe muszą spełniać one kilka warunków, a mianowicie:

  • wysoka wydajność przetwarzania zgłoszeń zarówno w sieci wewnętrznej jak również między prywatnymi i publicznymi sieciami pakietowymi,
  • skuteczne transmitowanie rozmów między sieciami IP, a sieciami z komutacją łączy w czasie rzeczywistym,
  • skalowalność zarówno pod względem technologicznym jak i ekonomicznym,
  • akceptacja oraz implementacja standardów przez producentów sprzętu.

Jak już wcześniej wspomniałam VoIP zapewnia transmisję głosu w postaci pakietów. Aby doszło do połączenia głosowego, czyli potocznej „rozmowy telefonicznej” z dowolnego numeru telefonu stacjonarnego (analogowego bądź cyfrowego) konieczne jest zastosowanie pośredniczących bramek internetowych, które to łączą sieci PSTN (publiczne sieci) z Internetem. W bramkach tych następuje także pakietyzacja i kompresja analogowego sygnału głosu. Organizacja ITU (ang. International Telecommunication Union) opracowała kilka standardów stosowanych do kodowania głosu. Sposób kompresji mowy powoduje, iż im stopień kompresji jest wyższy, tym jakość głosu po zdekodowaniu jest niższa. Do najlepszych algorytmów kompresji głosu należą te, które generując najmniejszą ilość bitów po kompresji, nie powodują istotnych zmian „tembru” przesyłanego głosu oraz zniekształceń, które uniemożliwiłyby odbiór takiego sygnału.

Przy pomocy właściwego kodowania głos z fali akustycznej zostaje zamieniony na postać cyfrową, która z kolei zostaje podzielona na pakiety, proces ten ilustruje Rysunek 3.1.
Rysunek 3.1. Sposób transmisji głosu w technologii VoIP poprzez sieci teleinformatyczne

Źródło: Opracowanie własne na podstawie [15]

Powszechnie stosuje się kompresją głosu do postaci cyfrowej z przepływnością kanałową 6,4 kb/ s, która to zapewnia dziesięciokrotnie wyższą efektywność łącza oraz obniżenie kasztów w przypadku transmisji długodystansowej. Jednak w transmisji tej najważniejszym problemem wydaje się to, że w przeciwieństwie do danych głos musi być transmitowany w czasie rzeczywistym, co nie jest proste w realizacji.

Podsumowując do największych zalet technologii VoIP należą:

  • dziesięciokrotnie lepsze wykorzystanie pasma dla przesyłania głosu w czasie rzeczywistym,
  • oszczędność kosztów przy przesyłaniu faksów nawet do 40%,
  • bezpośrednia łączność użytkownika ze strony WWW z przedstawicielem handlowym – bez przymusu przerywania własnej sesji komputerowej.

Jeśli mówimy zaś o wady tej technologii to do największych należą:

  • jakość głosu w VoIP jest niższa niż w przypadku tradycyjnej telefonii przewodowej,
  • możliwość wystąpienia problemów związanych z gubieniem pakietów,
  • potrzeba instalacji przez dostawców urządzeń, które są zdolne do realizacji jednocześnie do tysięcy rozmów,
  • brak standardów dla współpracy urządzeń różnych producentów.

Jeśli jakaś firma decyduje się na zastosowanie tej technologii, to często w pierw¬szej fazie sieć oparta na VoIP działa obok tradycyjnej sieci telefonicznej. Będą to dwie odrębne sieci. W miarę upływu czasu poziom wykorzystywania technologii VoIP rośnie. Proces wprowadzania nowej technologii przebiega następująco:

☆ krok pierwszy – to dwie odrębne sieci: tradycyjna sieć telefoniczna oraz sieć komputerowa bazująca na łączach dzierżawionych, przedstawia to Rysunek 3.2;

Rysunek 3.2. Dwie sieci telefoniczne: tradycyjna oraz IP


Źródło: Opracowanie własne na podstawie [23]

☆ krok drugi – to podłączenie centrali PBX do routerów. W tym kroku nadal istnieją dwie niezależne sieci ale rozmowy mogą być już kierowane za pośrednictwem sieci pakietowej, przedstawia to Rysunek 3.3;

Rysunek 3.3. Przyłączenie central telefonicznych do routerów


Źródło: Opracowanie własne na podstawie [23]

☆ krok trzeci- to wymiana części telefonów POTS na telefony IP, a co za tym idzie pojawia się usługa Call Manager, przedstawia to Rysunek 3.4. Call Manager jest to oprogramowanie, które realizuje zadania jakie wykonywała tradycyjna lokalna centrala telefoniczna. Zestawia on połączenia pomiędzy dwoma telefonami IP lub też przy pomocy bramek między telefonem IP a telefonem tradycyjnym.

Rysunek 3.4. Częściowa wymiana i przełączanie telefonów


Źródło: Opracowanie własne na podstawie [23]

☆ krok czwarty – to całkowita zamiana telefonów tradycyjnych na telefony IP, które to mogą być zasilane przy pomocy zewnętrznego zasilacza lub przez sieć komputerową, przedstawia to Rysunek 3.5;

Rysunek 3.5. Całkowita zamiana telefonów tradycyjnych na telefony IP


Źródło: Opracowanie własne na podstawie [23]

☆ krok piąty – to ostatni krok, na tym etapie następuje usunięcie central PBX, a co za tym idzie cały ruch telefoniczny od tej chwili odbywać się będzie za pośrednictwem sieci IP, przedstawia to Rysunek 3.6 [13, 15, 25].

Rysunek 3.6. Usunięcie central PBX – rozmowy telefoniczne realizowane poprzez sieć IP


Źródło: Opracowanie własne na podstawie [23]

Protokół TCP/IP

Protokół TCP/IP (ang. Transmission Control Protocol/Internet Protocol) jest pod­stawowym językiem komunikacji, protokołem Internetu. Ponadto może być używa­ny jako protokół komunikacyjny w sieciach prywatnych. Wymiana danych między węzłami sieci odbywa się z wykorzystaniem zbioru zasad zwanych protokołami, dzięki czemu każdy komputer podłączony do sieci może ustalić czy są mu dostęp­ne konkretne usługi sieciowe, między innymi dostęp do plików czy też możliwość sterowania drukowaniem. Protokoły korzystają ze specyficznych mechanizmów dla konkretnego systemu operacyjnego, które pozwalają na:

  • filtrowanie dostępu do sieci;
  • zarządzanie użytkownikami sieci;
  • przesyłanie plików;
  • obsługiwanie zdalnego logowania;
  • nawiązywanie połączeń internetowych.

Sam protokół TCP/IP skład się z kilku innych protokołów pokazanych na Rysun­ku 2.1, należą do nich między innymi:

TCP (ang. Transmission Control Protocol) – protokół sterowania transmisją. Zapewnia równoczesne i niezawodne transmitowanie wielopakietowych da­nych pomiędzy aplikacjami. Protokół ten jest stosowany w większości użyt­kowych programów internetowych;

UDP (ang. User Datagram Protocol) – protokół datagramów użytkownika. Zapewnia transmisje pojedynczych pakietów danych między aplikacjami. Nie jest jednak aż tak skomplikowany jak TCP oraz jest bardziej od niego zawodny;

Rysunek 2.1. Uproszczony czterowarstwowy model stosu TCP/IP

HTTP
FTP
Warstwa aplikacji
UDP
TCP
Warstwa transportowa
IP ICMP
ARP RARP
Warstwa sieciowa
ATM
Ethernet
Warstwa dostępu do sieci

Źródło: Opracowanie własne na podstawie [30]

IP (ang. Internet Protocol) – protokół międzysieciowy. Odpowiada za dorę­czenie dla protokołów TCP, UDP oraz ICMP odpowiednich pakietów. Służy do transmitowania danych pomiędzy dwoma głównymi komputerami;

ICMP (ang. Internet Control Massage Protocol) – protokół międzysieciowy ko­munikatów sterujących. Służy do przesyłania sieciowych zawiadomień o błę­dach, przesyła informacji sterujące pomiędzy stacjami a bramami oraz infor­muje o zdarzeniach, które wymagają od oprogramowania sieciowego inter­wencji;

ARP (ang. Address Resolution Protocol) – protokół odwzorowania adresów. Odpowiada za odwzorowanie adresów internetowych na sprzętowe. Nie jest stosowany we wszystkich sieciach;

RAPR (ang. Reverse Address Resolution Protocol) – protokół odwrotnego odwzorowania adresów. Odpowiada za odwzorowywanie adresów sprzęto­wych na internetowe. Podobnie jak protokół ARP nie we wszystkich sieciach jest stosowany.

Protokół TCP/IP nazywany jest również stosem protokołów ponieważ ma bu­dowę warstwową przedstawioną na Rysunku 2.1 i w skład niego wchodzą takie warstwy jak:

  • warstwa aplikacji – jest ona warstwą najwyższą. W warstwie tej pracują naj­ważniejsze z punktu widzenia użytkownika aplikacje takie jak komunikatory internetowe, czy też przeglądarka stron WWW. Występują tu gotowe proto­koły, które to są potrzebne aplikacją aby przesyłać w sieci dane (informacje). Do protokołów tej warstwy zaliczyć możemy między innymi HTTP, czy też FTP, z których to użytkownik korzysta na co dzień;
  • warstwa transportowa – jest odpowiedzialna za to aby dane zostały popraw­nie przesłane. Nadzoruje przesłanie konkretnych danych do właściwej aplika­cji. Dzięki temu że każda aplikacja posiada odrębny port nigdy nie dochodzi do niewłaściwego przekierowania danych, nawet jeśli na komputerze pracuje kilka aplikacji, które to komunikują się z drugim komputerem sieciowym. W warstwie tej występuje wiele protokołów, do najważniejszych należą UDP i TCP;
  • warstwa sieciowa – nazywana także warstwą internetową. Jej głównym za­daniem jest routing przesyłanych danych, poza tym decyduje o prawidłowej adresacji oraz odpowiada za pakowanie i diagnostykę przesyłanych danych. Najważniejszym protokołem tej warstwy jest IP, oprócz niego występują tu także: ICMP, NAT i inne;
  • warstwa dostępu do sieci – nazywana czasem warstwą interfejsu sieciowego. Jest najniższą spośród warstw protokołu TCP/IP. Nadzoruje fizyczne łączenie się urządzeń (karty sieciowe, modemy, itp.) w sieci [12, 21, 30].

Sieci przewodowe

4.2.1. Struktura fizyczna

Struktura fizyczna sieci może być zbudowana w oparciu o różnorodne topologie. Zastosowanie niektórych urządzeń sieciowych wymusza zastosowanie konkretnej struktury. Dzieje się tak między innymi wtedy, gdy urządzenie nie posiada wystarczającej liczby interfejsów, co wiąże się z zastosowaniem kilku takich urządzeń. Jednak ustalając strukturę przyszłej sieci, jako główne kryteria należy wziąć pod uwagę warunki fizyczne oraz ekonomiczne.

Pierwszym krokiem jaki należy wykonać przy ustalaniu struktury sieci jest wybranie topologii, proces ten omówiłam Rozdziale 4.1.3. Kiedy już wiadomo jaka topologia będzie wdrażana (musi ona być możliwa do realizacji w danym budynku, na danym terenie, itp.), następnym krokiem jest wybór sprzętu niezbędnego do poprawnej, a zarazem bezpiecznej komunikacji pomiędzy przyszłymi użytkownikami sieci. W tym właśnie momencie może się okazać, że topologia jaka została wybrana nie jest w pełni słuszna. Zanim więc kupimy sprzęt ważne jest, aby to sprawdzić i wprowadzić ewentualne zmiany w strukturze sieci. W wyniku tych działań okazać się może, że powstała struktura, która zawiera w sobie kilka topologii. W praktyce jest to dość często spotykane zjawisko.

4.2.2. Struktura logiczna

W trakcie projektowania struktury logicznej sieci komputerowej, podstawową rzeczą jest adres IP urządzenia, za pośrednictwem którego klient będzie łączył się z Internetem. Usługa ta gwarantowana jest przez dostawcę Internetu, który to przyznaje adres IP z pośród swojej puli adresowej.

Przydzielenie adresów w obrębie projektowanej sieci należy do administratora. Przy ustalaniu adresów poszczególnych urządzeń korzysta się z tak zwanej puli prywatnych adresów IP, które to mogą być stosowane tylko w sieciach lokalnych. Do adresów tych należą:

  • 10.0.0.0 – 10.255.255.255 – sieci prywatne klasy A,
  • 172.16.0.0 – 172.31.255.255 – sieci prywatne klasy B,
  • 192.168.0.0 – 192.168.255.255 – sieci prywatne klasy C.

Adresy te są routowalne, jednak nie mogą pojawić się w publicznej sieci, dlatego też urządzenie podłączone do sieci Internat (np. router), tak zwany serwer sieciowy, dynamicznie konwertuje adres prywatny na adres zewnętrzny, za pomocą którego użytkownik może korzystać z zasobów Internetu. Serwerem sieciowym nie może być urządzenie, które ma przydzielony adres prywatny. Wyjątek stanowi urządzeni, w który użyto technikę maskowania docelowych adresów (DNAT ) Dla przykładu dla sieci przedstawionej na Rysunku 4.14 zastosowałam adresy IP z prywatnej puli adresów klasy C – 192.168.12.0/24.

Rysunek 4.14. Przykładowa sieć komputerowa

Źródło: Opracowanie własne

API :sx AP2 AP3 ss:

Adresacja IP urządzeń z powyższego rysunku przedstawia się następująco:

*    192.168.12.1 – interfejs routera

*    192.168.12.2    –    switch

*    192.168.12.3    –    AP1

*    192.168.12.4    –    AP2

*    192.168.12.5    –    AP3

*    192.168.12.6    –    AP4

*    192.168.12.7    –    serwer    DHCP

*    192.168.12.8    –    serwer    FTP

*    192.168.12.9    –    serwer    WWW

*    192.168.12.10A192.168.12.254 – hosty

Serwer DHCP dynamicznie przydziela adresy IP, w zależności od obecności użytkowników w sieci. Zastosowany schemat adresacji pozwala na zaadresowanie 254 urządzeń.

Algorytm MIT

podrozdział tej pracy magisterskiej powstał na podstawie następującej literatury:

[1] Raj Jain, „Congestion Control And Traffic Management In ATM Netowrks: Recent Advances and A Survey”

[3] Kai-Yeung Siu, Hong-Yi Tzeng: “Intelligent Congestion Control for ABR Service in ATM Networks”

[4] Fang Lu, “ATM Congestion Control”

[11] Dorgham Sisalem, Henning Schulzrine, „Switch Mechanisms for the ABR Service: A comparison Study” 

Po raz pierwszy algorytm MIT został zaproponowany przez Anna Charny z Massachusetts Institute of Technology (MIT).

Algorytm ten do obliczenia współczynnika fairshare używa procedury iteracyjnej. Najpierw, współczynnik fairshare obliczany jest poprzez podzielenie dostępnego pasma przepustowego przez ilość aktywnych kanałów wirtualnych. Wszystkie kanały, które transmitują dane z prędkością poniżej obliczonego współczynnika fairshare, są zwane „underloading VC”. Jeżeli liczba kanałów „underloading VC” zwiększa się z iteracją, współczynnik fairshare jest obliczany według wzoru:

Procedura ta powtarzana jest dopóki nie osiągnie się stanu stabilnego, gdzie liczba „underloading VC” i współczynnik fairshare nie będzie się zmieniał. Anna Charny pokazała w swojej pracy, że zwykle dwie iteracje wystarczą do osiągnięcia zadawalającego rezultatu. Jednak mogą wystąpić sytuacje, dla których obliczenie współczynnika fairshare składać się będzie z n operacji, gdzie n jest liczbą kanałów wirtualnych. Dla przełączników ATM, które obsługują tysiące kanałów wirtualnych, liczba obliczeń koniecznych do wykonania stanie się bardzo duża i nie może być wykonana na dostępnym dzisiaj sprzęcie.