DNS Space

5/5 - (1 vote)

DNS Space odnosi się do przestrzeni nazw, która jest organizowana przez system Domain Name System (DNS). DNS to system, który odpowiada za tłumaczenie nazw domenowych (np. example.com) na adresy IP, które są używane przez urządzenia w Internecie do nawiązywania połączeń. Przestrzeń DNS jest zorganizowana hierarchicznie i składa się z różnych poziomych poziomów, z których każdy odpowiada za zarządzanie określonymi częściami adresów internetowych.

Na najwyższym poziomie znajduje się strefa root (korzeniowa), która zawiera wszystkie główne domeny najwyższego poziomu (TLD – Top-Level Domains), takie jak .com, .org, .net, a także krajowe domeny, takie jak .pl, .de, .uk. Każda z tych domen może mieć swoje poddomeny, co tworzy kolejne poziomy w przestrzeni DNS. Na przykład, w domenie „example.com” „com” jest domeną najwyższego poziomu, a „example” to subdomena.

Każdy poziom w przestrzeni DNS zarządza swoimi rekordami, które wskazują na konkretne zasoby, takie jak serwery, usługi internetowe lub inne zasoby. Rekordy DNS, takie jak A (adres IP), CNAME (alias), MX (serwery pocztowe) czy NS (serwery nazw), umożliwiają prawidłowe funkcjonowanie internetu, kierując ruchem do odpowiednich zasobów.

Przestrzeń DNS jest dynamiczna, co oznacza, że rekordy w tej przestrzeni mogą być zmieniane w czasie rzeczywistym. Dzięki temu administratorzy sieci i właściciele domen mogą zarządzać swoimi zasobami i usługami w sposób elastyczny. Na przykład, zmiana adresu IP serwera w rekordzie A wymaga tylko aktualizacji rekordu DNS, co pozwala na łatwe przełączanie ruchu między różnymi serwerami bez konieczności zmiany adresów URL użytkowników.

DNS Space to również przestrzeń, w której zarejestrowane są wszystkie dostępne domeny internetowe. Każda zarejestrowana domena ma przypisany unikalny identyfikator, a proces rejestracji odbywa się przez rejestratorów domen. DNS umożliwia globalne rozpoznawanie nazw domenowych w przestrzeni internetowej, zapewniając, że każda domena jest unikalna w skali globalnej. Dzięki temu systemowi użytkownicy internetu mogą łatwo i efektywnie odnajdywać strony internetowe lub inne zasoby, korzystając z przyjaznych nazw, zamiast zapamiętywać trudne do przyswojenia adresy IP.

Domain Name Space ma strukturę drzewiastą. Każdy węzeł i liść na drzewie reprezentuje pewien zbiór zasobów (który może być pusty). System domenowy nie widzi różnicy między węzłami a liśćmi, więc dalej posługiwać się będę terminem węzeł w odniesieniu do oby składników struktury drzewiastej.

Każdy węzeł posiada etykietę (label) o długości od 0 do 63 oktetów. Węzły na tym samym poziomie (bracia) nie muszą mieć tej samej etykiety, natomiast tą samą etykietą można nazwać węzły nie będące braćmi. Jedna etykieta została zarezerwowana (null – o zerowej długości) dla korzenia (root).

Nazwą domeny (Domain Name) węzła jest lista etykiet powstająca w wyniku złożenia etykiet podczas przejścia od węzła do korzenia. Przyjęto konwencję, w której etykieta składająca się na nazwę domeny jest zapisywana od lewej do prawej, od najniższego węzła do korzenia.

Programy posługujące się nazwami domen powinny je przedstawiać jako sekwencje etykiet, z których każda składa się z oktetu określającego długość etykiety i oktetu będącego ciągiem znaków (string).

Dla użytkownika oktety określające długości etykiet są niewidoczne, natomiast same etykiety rozdzielane są kropką (.)

Ponieważ kompletna nazwa kończy się etykietą korzenia, każda nazwa zakończona jest dodatkową kropką. Pozwala to rozróżnić między dwoma sytuacjami:

  • ciąg znaków reprezentujący kompletną nazwę domeny (zwaną absolute name).
    Np.: usk.pw.edu.pl.
  • ciąg znaków reprezentujący początkową nazwę domeny, będący niekompletną      reprezentacją, istnieje wtedy potrzeba skompletowania całej nazwy poprzez      znajomość domeny lokalnej (zwaną relative). Np. usk w domenie pw.edu.pl.

Aby zapewnić prostotę rozwiązań implementacyjnych całkowitą liczbę oktetów reprezentujących nazwę domeny (czyli sumę oktetów przeznaczonych na etykiety i długości etykiet) ograniczono do 255.

Charakterystyka sieci ATM

5/5 - (1 vote)

Współcześnie tworzone sieci ATM osiągają bardzo duże rozmiary zarówno ze względu na rozpiętość geograficzną, jak i też liczbę podłączonych do niej urządzeń końcowych. ATM staje się obecnie najbardziej rozpowszechnianą technologią szkieletową dla złożonych sieci korporacyjnych, miejskich i regionalnych, zaczyna także powoli wkraczać do sieci lokalnych.

Technologia ATM (Asynchronous Transfer Mode) powstała w wyniku kompromisu między dwoma już funkcjonującymi technikami cyfrowej transmisji szerokopasmowej: STM (Synchronous Transfer Mode) i PTM (Packet Transfer Mode), łącząc zalety istniejących technologii przy jednoczesnej eliminacji większości wad tych systemów. Technika STM jest stosowana w sieciach ISDN, PTM zaś w lokalnych sieciach komputerowych. Wywodząca się z telekomunikacji technologia ATM jest coraz częściej postrzegana jako technika łącząca standard przekazów telekomunikacyjnych sieci SDH (Synchronous Digital Hierarchy) na poziomie warstwy fizycznej z różnymi sieciami komputerowymi.

Informacja w standardzie ATM jest przesyłana w postaci krótkich komórek o stałej długości (48 bajtów informacji + 5 bajtów nagłówka). Nagłówek jest niezbędny w celu zrealizowania przezroczystego transportu informacji użytkownika przez sieć ATM bez zakłóceń, straty czy też nadmiernego opóźnienia.

Standard ATM jest techniką telekomunikacyjną typu połączeniowego, co oznacza, że faza przesyłania informacji właściwej jest poprzedzona fazą zestawiania połączenia. W tej fazie wstępnej następuje negocjowanie kontraktu pomiędzy „klientem” sieci a „administracją” sieci. Na podstawie parametrów deklarowanych przez użytkownika (typ usługi, przewidywana przepływność), sieć decyduje, czy można zagwarantować odpowiedni poziom jakości obsługi dla nowopojawiającego się zgłoszenia i dla wszystkich innych aktualnie realizowanych. Zadeklarowane w fazie wstępnej parametry zgłoszenia mogą podlegać renegocjacji. Transmisja w sieci ATM odbywa się poprzez zestawienie łącza logicznego (kanał wirtualny, ścieżki wirtualne).

Sieci oparte o technologie ATM są konfigurowane jako gwiazda lub hierarchiczna gwiazda (w przypadku połączeń miedzy przełącznikami) z przełącznikiem ATM w centrum. Wyróżnia się dwa typy interfejsów:

  • UNI (User Network Interface), który łączy sprzęt użytkownika (Customer Premises Equipment) z siecią ATM, czyli odpowiada za styk użytkownik-sieć publiczna. Interfejs UNI powinien zapewnić użytkownikowi podłączenie do publicznej sieci urzadzenia typu: terminal, urządzenie sieci LAN/MAN, przełącznik.
  • NNI (Network Node Interface), styk sieciowy umieszczony pomiędzy węzłami ATM. Interfejs łączący tylko porty przełączników ATM – tzn. za ich pośrednictwem łączone są sieci i podsieci ATM. (styk sieć publiczna-sieć publiczna).
  • Sieć ATM do przesyłania danych wykorzystuje pakiety o jednakowej długości 53 bajtów (48 bajtów informacji i 5 bajtów nagłówku). Stała długość pakiety upraszcza sterowanie ruchem i zarządzanie zasobami sieci.  W dalszej części pracy przedstawię budowę komórki ATM i rodzaje występujących komórek.GFC (Generic Flow Control) – cztery bity kontroli przepływu stosowane w przypadku interfejsu UNI kiedy z jednego interfejs korzysta kilka przyłączonych stacji. W przypadku nie wykorzystywania funkcji kontroli przepływu pole to zawiera same zera. Pole GFC może być wykorzystane przez użytkownika w celu wydzielenia w ramach jego prywatnej sieci wielu klas usług z realizacją różnych wartości QOS.

    VPI/VCI (Virtual Path Identifier / Virtual Channel Identifier) – bity identyfikacji wirtualnej ścieżki (VPI) i kanału (VCI) tworzące tzw. routing field – pole decydujące o routingu-transmisji komórki w sieci, miedzy węzłami ATM. Jak wcześniej pokazałem., sieć ATM jest protokółem wymagającym fazy nawiązania połączenia dla ustanowienia wirtualnego połączenia na fizycznych łączach ( uaktualnienia tablic w punktach komutacyjnych). VPI/VCI służą do identyfikacji danej komórki z konkretnym połączeniem i są wykorzystywane do multipleksowania, demultipleksowania i komutacji komórek w węzłach sieci ATM, przyporządkowuje się je danemu połączeniu na czas transmisji  i obowiązują na odcinku miedzy węzłami sieci. Ze względu na małe rozmiary komórek stosowanie pełnych adresów byłoby bardzo nieekonomiczne, dlatego stosuje się właśnie takie etykiety unikalne tylko w obrębie interfejsu. Ogólnie rzecz biorąc w węzłach sieci odbywa się wymiana wartości VPI/VCI na inne – ważne na odcinku do następnego węzła. Używając takiego mechanizmu warstwa ATM może asynchronicznie przeplatać w jednym fizycznym medium komórki z wielu połączeń.

    PT (Payload Type) – 3-bitowe pole służące do identyfikacji typu informacji jaka niesie komórka. Pozwala ono na odróżnienie danych użytkownika od informacji kontrolnych – związanych z serwisem i zarządzaniem zasobami sieci.

    CLP (Cell Loss Priority) – bit określający porządek, w jakim sieć będzie odrzucała komórki w przypadku jej zatłoczenia – kiedy istnieje niebezpieczeństwo przepełnienia bufora w węźle. Komórki z ustawionym bitem CLP (CLP=1) w pierwszej kolejności zostaną odrzucone, dając możliwość obsłużenia komórek o wyższym priorytecie (w sytuacji awaryjnej).

    HEC (Header Error Control) – pole kontrolne informacji przenoszonej przez nagłówek. Pojedyncze błędy mogą być korygowane a większa liczba błędów tylko wykrywana.

    Standard ATM wyróżnia kilka typów komórek, mogących pojawić się w sieci:

    • komórki „puste” (idle cells), komórki nie przenoszące żadnej informacji a jedynie mają za cel dostosowanie szybkości przepływu pomiędzy warstwą ATM a warstwą fizyczną. Komórki te są generowane i usuwane przez warstwę fizyczną;
    • komórki „poprawne” (valid cells) –przesyłane w warstwie fizycznej, które mają prawidłowy nagłówek lub których nagłówek został zmodyfikowany przez proces weryfikacji;
    • komórki „niepoprawne” (invalid cells), których nagłówek zawiera błędy nie usunięte przez proces weryfikacji, komórki tego typu są usuwane przez warstwę fizyczną;
    • komórki „przydzielone” (assigned cells), występujące w warstwie ATM i dostarczające usługi dla aplikacji;
    • komórki nieprzydzielone (unassigned cells), czyli wszystkie komórki warstwy ATM, które nie są „przydzielone”.

Sieci w standardzie ATM powinny zapewnić użytkownikom wydajność, efektywność i zagwarantować wynegocjonowane  parametry jakościowe przez cały czas połączenia.

Technologia ATM, aby sprostać stawianym jej wymaganiom, potrzebuje odpowiednich algorytmów sterowania ruchem i kontroli przeciążeniem.

Kontrola przeciążenia jest odpowiedzialna za efektywną, wydajną i bezbłędną transmisję danych. Kontrola ta jest jednym z najbardziej istotnych zagadnień we wszystkich szybkich sieciach komputerowych.

Przyczynami powstawania przeciążenia są: fluktuacja strumieni pakietów, niezgodność przepustowości łącz, „wybuchowość” ruchu w sieci a także awarie wewnątrz sieci. Przykładowo transmisja skompresowanego obrazu video może być przyczyną fluktuacji strumieni pakietów. Niezgodność przepustowości łącz spowodowana jest m.in. koniecznością współpracy bardzo szybkich nowoczesnych łącz wraz ze starych wolnymi łączami, które nie znikną z chwilą wprowadzenia szybkich łączy i będą jeszcze długo używane. Rozpiętość przepustowości łącz ciągle się zwiększa. Dzisiaj istnieją sieci o łączach od prędkości 9,6 kbps do 1Gbps, jutro będziemy mieli sieci składające się z łączy od prędkości 9,6 kbps do kilku Gbps. Wzrastająca niejednorodność potęguje  problem przeciążenia.

Aby zapewnić efektywność sieci i zapobiec stratom danych na skutek w/w przyczyn, potrzebujemy efektywnych metod badających stan sieci i podejmujących odpowiednie reakcje w celu uniknięcia przeciążenia. Algorytmy sterowania przeciążeniem, którymi się zająłem w niniejszej pracy, są takimi metodami.

W pracy krótko opisałem technologie ATM: architekturę protokołu, format komórki ATM i rodzaje połączeń. Następnie przedstawiłem problem przeciążenia, przyczyny powstawania i próby jego rozwiązania. W dalszej części pracy sklasyfikowałem i powiązałem poszczególne metody kontroli przeciążenia z rodzajami ruchu w sieci ATM. W rozdziale 11 opisałem zasadę działania najbardziej  znanych algorytmów kontroli przeciążenia. W następnych rozdziałach bazując na dostępnych symulacjach dokonałem porównania, analizy algorytmów kontroli przeciążenia.