Poczta elektroniczna

5/5 - (1 vote)

Jednym z zastosowań Internetu, który zgodnie z powszechnym poglądem zwiększa wydajność pracy biurowej, jest poczta elektroniczna lub inaczej e-mail (email). Tradycyjne metody wysyłania poczty w biurach są mało efektywne i powolne i mogą być nieodporne na próby złamania tajemnicy korespondencji. Szybszą i bardziej bezpieczną metodą przesłania informacji jest użycie poczty elektronicznej, w której informacja jest przesyłana nieomal natychmiastowo. Na przykład, notatka o objętości 100 słów będzie przesłana w czasie sekundy. Czynnością równie łatwą jest przesłanie tej notatki do określonej grupy odbiorców, osób lub do wszystkich pracowników w firmie itd. Jako wiadomości pocztowe mogą być także przesłane dane w innych formatach takie, jak obrazy, dźwięk itd. Głównymi zaletami poczty elektronicznej są:

Ø Jest zwykle tańsza niż użycie telefonu (chociaż jeżeli dla wielu firm czas to pieniądz, względna relacja zysk/koszt zależy głównie od biegłości piszącego tekst).
  • Ø Mogą być przesłane różne typy danych, a między innymi takie, jak: obrazy, dokumenty, mowa itd.
  • Ø Jest znacznie szybsza niż usługa pocztowa.
  • Ø Użytkownik może łatwiej segregować przychodzące wiadomości niż w przypadku, gdy przesyłane są telefonicznie.
  • Ø Oszczędza zwykle pracę polegającą na pisaniu, edytowaniu i drukowaniu.
  • Ø Zmniejsza obciążenie pracowników zajmujących się pocztą.
  • Ø Jest zwykle bezpieczniejsza od tradycyjnych metod.
  • Ø Jest elastyczna w przesyłaniu wiadomości do określonych grup (tradycyjnie, albo okólnik, jeżeli jest taka potrzeba, albo zależnie od potrzeb określona liczba kopii dla każdego z grupy).
  • Ø W wielu przypadkach możliwe jest sprawdzenie, czy odbiorca przeczytał wiadomość (system poczty elektronicznej przesyła zwrotnie wiadomość potwierdzającą).

Głównymi niedostatkami poczty elektronicznej natomiast są:

  • Ø Odzwyczajenie się od używania telefonu (rozmowa telefoniczna staje się czymś bardziej osobistym).
  • Ø Przesyłane informacje nie mają rangi dokumentu.
  • Ø Wiadomości przesłane pocztą elektroniczną są produktem chwili i mogą być nie w pełni przemyślane (wysyłanie metodami tradycyjnymi zmusza do ich dokładniejszego opracowania). W niektórych przypadkach, wiadomość może być wysłana pod złym adresem (zwykle gdy odpowiadamy na wiadomość e-mailową, kierowaną do grupy osób, a nie do jednego odbiorcy).
  • Ø Może być trudne wysyłanie wiadomości pocztą elektroniczną do pewnych odległych miejsc. Wiele organizacji nie posiada poczty elektronicznej lub ma tylko system poczty wewnętrznej. Duże koncerny są szczególnie uwrażliwione na zewnętrzne połączenia sieciowe i ograniczają komunikację zewnętrzną.
  • Ø Nie każdy regularnie przegląda zawartość swojej poczty elektronicznej (chociaż ostatnio sytuacja ta ulega zmianie, jako że większość organizacji traktuje pocztę elektroniczną jako standardowy środek komunikacji interpersonalnej).

Głównymi standardowymi protokołami transmisji i odbioru poczty elektronicznej są:

¨     SMTP (Simple Mail Transfer Protocol), prosty protokół poczty elektronicznej, który jest używany w ramach protokołu TCP/IP. Jest tradycyjnie ograniczony do elektronicznych wiadomości tekstowych.

¨     MIME (Multi-Porpose Internet Extension), rozszerzenie wielozadaniowe poczty sieciowej, umożliwia transmisję i odbiór poczty, która zawiera różne typy danych, takich jak mowa, obrazy i filmy. Jest to standard późniejszy od SMTP i dlatego zawiera większość tego protokołu.

Wspólne pliki albo klient/serwer

W systemie poczty elektronicznej może być stosowany system wspólnych plików lub system kient/serwer. W systemie wspólnych plików klient-nadawca poczty wysyła wiadomość do lokalnego serwera pełniącego funkcję biura pocztowego. To biuro przekazuje kontrolę nad transmisją do agenta (serwera) transferu, który przechowuje wiadomość przez krótki czas przed wysłaniem jej do biura pocztowego przeznaczenia. Klient odbiorca okresowo sprawdza swoje biuro pocztowe aby sprawdzić czy nie ma ono dla niego wiadomości. Ten sposób działania, znany jest jako przechowaj i wyślij. Większość systemów poczty elektronicznej opartej o komputery PC używa tego mechanizmu.

Podejście klient/serwer polega na realizacji połączenia w czasie rzeczywistym przez klienta-nadawcę z lokalnym biurem pocztowym, które z kolei realizuje dalszą część połączenia, również w czasie rzeczywistym, z biurem pocztowym klienta-odbiorcy wiadomości. Wiadomość dociera do miejsca przeznaczenia, gdy wszystkie połączenia zostaną zrealizowane.

Przegląd poczty elektronicznej

Typowa architektura poczty elektronicznej zawiera cztery główne elementy:

  1. Biura pocztowe (Post offices), w których wychodzące wiadomości są czasowo buforowane przed transmisją i gdzie są przechowywane wiadomości przychodzące. Biuro pocztowe jest realizowane za pomocą oprogramowania na serwerze zdolnym do wytyczania trasy (trasowania) przesyłanych wiadomości (agent transferu wiadomości) i prowadzenia bazy danych biura pocztowego.
  2. Agenci transferu wiadomości (Message transfer agents) – służą do kierowania wiadomości do biura adresata. Oprogramowanie to może być zainstalowane na lokalnym serwerze biura pocztowego lub na serwerze oddzielnym fizycznie.
  3. Śluzy wykonują część funkcji agenta transferu wiadomości. Realizują uzgodnienia pomiędzy różnymi systemami poczty elektronicznej, różnymi systemami adresowania i protokołami przesyłania.
  4. Klienci poczty są to zwykłe komputery podłączone do biura pocztowego. Ich oprogramowanie zawiera trzy składniki:
  • Jeden z programów aplikacyjnych poczty elektronicznej – API (Application Program Interface), takich jak MAPI, VIM, MHS i CMC.
  • Protokół transferu wiadomości. Głównym protokołem transferu jest SMTP lub X.400.SMTP jest określony w dokumentach RFC 822 i RFC 821. X.400 jest natomiast standardem poczty elektronicznej definiowanym w modelu OSI.
  • Sieciowy protokół transportu, taki jak Ethernet, FDDI itd.

SMTP

Rada doradcza Internetu – IAB (Internet Advisory Board) zdefiniowała protokół SMTP w RFC 821 (Simple Mail – Transfer Protocol). Ponieważ SMTP jest protokołem transmisji i odbioru, to nie definiuje formatu i zawartości wiadomości za wyjątkiem tego, że dane mają mieć postać 7-bitowych znaków ASCII i że na początku dodawane są dodatkowe informacje wskazujące ścieżkę przemieszczania informacji. Sam protokół ogranicza się tylko do czytania nagłówka adresowego wiadomości.

Działanie SMTP

SMTP określa tryb konwersacji między nadawcą a odbiorcą. Głównym jego zadaniem jest transfer wiadomości oraz jej obsługa, polegająca na weryfikacji adresata i ochranie informacji podczas transmisji.

Podczas tworzenia informacji przez użytkownika, do pliku dodawany jest nagłówek, zawierający między innymi adres pocztowy odbiorcy. Następnie wiadomość jest wstawiana do kolejki i kiedy staje się to możliwe następuje jej transmisja.

Poczta elektroniczna powinna realizować następujące zadania:

  • Każda poczta elektroniczna może mieć listę adresatów, program pocztowy wykonuje kopie wiadomości i przesyła je do serwera pocztowego.
  • Użytkownik może używać listy pocztowej, a program pocztowy musi usuwać powtórzenia i zastępować nazwy mnemoniczne aktualnymi adresami pocztowymi.
  • Poczta powinna umożliwić także zwykłe usługi, jak wykonanie kopii (BCC – Blind Carbon Copies).

Serwer pocztowy SMTP przetwarza e-mailową wiadomość, pobieraną z wychodzącej kolejki pocztowej i transmituje ją używając jednego lub więcej połączeń TCP z adresatem. Jeżeli wiadomość pocztowa została przesłana do właściwego węzła, wtedy nadawca SMTP kasuje adres odbiorcy z listy odbiorców wiadomości. Kiedy lista adresatów zostanie wyczerpana, wówczas wiadomość w kolejce nadawcy zostaje skasowana. Jeżeli w tym samym węźle występuje wielu adresatów przesyłanej wiadomości, wtedy protokół SMTP pozwala na wysłanie jednej wiadomości ze specyfiką adresatów. Także, jeżeli wiele wiadomości jest adresowanych do tego samego węzła, wówczas serwer może w jednym połączeniu transmitować je wszystkie (nie ma więc potrzeby tworzenia oddzielnych połączeń dla każdej wiadomości).

SMTP umożliwia także transmisję zawierającą komunikaty błędów. Do typowych błędów należą:

  • Węzeł adresata jest nieosiągalny. Najprawdopodobniej dlatego, że adres węzła jest niepoprawny.
  • Węzeł adresata nie działa. Prawdopodobną przyczyną jest błąd w węźle adresata lub jego wyłączenie.
  • Odbiorca poczty jest niedostępny w węźle. Prawdopodobnie adresat nie jest obecny w tym węźle, możliwe, że nazwa adresata jest nieprawidłowa lub adresat zmienił węzeł. Aby przezwyciężyć ten problem, w niektórych systemach nazwy użytkowników (adresatów), które są podobne do nazwy zdefiniowanej, są kojarzone i przyjmowane jako domyślna nazwa odbiorcy. Jeżeli użytkownik przemieścił się, niektóre systemy pozwalają na zmianę adresu poczty elektronicznej.
  • Przerwanie połączenia TCP podczas transferu poczty. Prawdopodobną przyczyną jest błąd przekroczenia czasu połączenia (być może dlatego, że odbiornik albo nadajnik był zajęty lub że wystąpił błąd w połączeniu).

Nadawca SMTP ponosi odpowiedzialność za przesłanie wiadomości do czasu, aż odbiorca SMTP potwierdzi, że transmisja została zakończona sukcesem. Należy zauważyć, że oznacza to tylko iż wiadomość dotarła do odbiornika SMTP i nie oznacza, że:

  • Wiadomość została dostarczona do skrzynki pocztowej adresata,
  • Adresat przeczytał wiadomość.

Tak więc,  SMTP nie gwarantuje, że  wiadomość  nie  zostanie  utracona i  nie daje kompletnego potwierdzenia pewnego odbioru (zwykle jest to realizowane przez potwierdzenie zwrotne wiadomości). Wskazanie rodzaju błędu także  nie jest gwarantowane. Mimo tych braków połączenia TCP są dosyć niezawodne.

Zwykle, jeżeli wystąpi błąd w odbiorze, wówczas zostaje wysłany komunikat wyjaśniający. Nadawca może podjąć próbę usunięcia przyczyny niepowodzenia.

Gdy odbiornik SMTP akceptuje otrzymaną wiadomość, to umieszcza ją w skrzynce użytkownika lub jeżeli użytkownik jest umiejscowiony w innym węźle, kopiuje ją do lokalnej kolejki pocztowej do dalszego przesłania.

Większość transmitowanych wiadomości jest przesyłanych od terminala nadawcy do węzła odbiorcy za pomocą jednego połączenia TCP. Czasem jednak transmisja jest realizowana poprzez wielokrotne połączenia TCP przez kilka węzłów. Może to mieć miejsce, gdy nadawca określi marszrutę do miejsca przeznaczenia podając sekwencję pośredniczących serwerów.

Omówienie protokołu SMTP

Nadawca SMTP inicjuje przede wszystkim połączenie TCP. Kiedy połączenie zostanie zrealizowane, nadawca wyśle szereg poleceń do odbiornika, który zwrotnie odpowie na każde z nich. Wszystkie polecenia i odpowiedzi są wysyłane za pomocą kodów ASCII i kończą się znakami przesuwu karetki – C R (carrage return) oraz znakiem nowego wiersza – LF (line feed, znanym także jako CRLF).

Każde polecenie zawiera jedną linię tekstu, zaczynając się od czteroliterowego kodu polecenia po którym w pewnych przypadkach następuje pole argumentu. Większość odpowiedzi to pojedyńcze linie, chociaż wieloliniowe odpowiedzi są również możliwe.

Tablica nr 1 przedstawia przykłady poleceń protokołu SMTP.

Polecenie                                                      Opis
HELO   domena                                          Wysyła   identyfikację domeny

MAIL FROM: nadawca-adres                  Wysyła identyfikację   nadawcy (adres nadawcy)

RCPT FROM: odbiorca-adres                  Wysyła identyfikację   odbiorcy (adres odbiorcy)

DATA                                                       Transfer tekstu wiadomości

RSEY                                                           Przerwanie bieżącego transferu poczty

QUIT                                                           Przerwanie połączenia TCP

EXPN lista adresowa                                Przesłanie zwrotne   listy adresowej

SEND FROM: adres-nadawca                  Wysyła wiadomość pocztową   do terminala

SOML FROM: adres-nadawca                  Jeżeli możliwe, to wysyła   wiadomość pocztową do terminala

lub   do skrzynki pocztowej

VRFY nazwa-użytkownika                       Weryfikuje nazwę   użytkownika

Tablica nr 2 przedstawia odpowiedzi SMTP.

Polecenie                             Opis
211                                                                     Status   systemu

214                                                                     Komunikat   pomocy

220                                                                     Gotowość   usługi

221                                                                     Zamknięcie   kanału transmisyjnego usługi

250                                                                      Żądana procedura pocztowa zakończona pozytywnie

251                                                                      Adres użytkownika nie istnieje w systemie, system   przejdzie do adres-odbiorcy

354                                                                     Wskazuje   nadawcy, że wiadomość nie może być aktualnie przesłana. Koniec

wiadomości może być zidentyfikowany za   pomocą dwu znaków: CR lub LF

421                                                                      Usługa niedostępna

450                                           Skrzynka pocztowa niedostępna i akcja przekazu pocztowego nie może   być

podjęta

451                                                                      Błąd lokalny przetwarzania, żądana akcja przerwana

452                                                                      Nieodpowiednie magazynowanie, żądana akcja nie   podjęta

500                                                                       Polecenie nierozpoznane z powodu błędu składni

501                                                                       Nieodpowiedni parametr lub argument

502                                                                       Polecenie aktualnie nie implementowane

503                                                                       Zła sekwencja poleceń

504                                                                       Parametr polecenia aktualnie nie implementowany

550                                                                       Skrzynka pocztowa niedostępna, żądana akcja nie   podjęta

551                                                                       Nie lokalny adres użytkownika, spróbuj procedurę   adres-odbiorcy

552                                                                       Przekroczona dostępna pojemność magazynowania, żądana   akcja pocztowa przerwana

553                                                                       Niedopuszczalna nazwa skrzynki pocztowej, żądana   akcja nie może być podjęta

554                                                                       Przerwana transmisja

Odpowiedzi SMTP są kodami trzycyfrowymi, ale możliwe są i inne informacje. Pierwsza cyfra podaje kategorię odpowiedzi, jak na przykład 2xx (odpowiedź pozytywna zakończenia), 3xx (pośrednia, częściowo pozytywna odpowiedź), 4xx (przejściowa, negatywna odpowiedź zakończenia) i 5xx (stała, negatywna odpowiedź zakończenia). Odpowiedź pozytywna informuje, że zamierzone działanie zostało zaakceptowane, a negatywna, że działanie nie jest akceptowane.

Odpowiedź pozytywnego zakończenia oznacza, że działanie zostało pomyślnie zakończone, a pozytywna odpowiedź pośrednia wskazuje, że akcja została zaakceptowana lecz odbiornik oczekuje na inne operacje zanim będzie mógł udzielić odpowiedzi pozytywnej zakończenia. Przejściowa, negatywna odpowiedź zakończenia wskazuje, że występują aktualnie warunki błędnej transmisji, które mogą być usunięte przez podjęcie innego działania, natomiast stała odpowiedź negatywnego zakończenia wskazuje, że działanie nie może być zaakceptowane i że nie podjęto żadnego działania.

Ścieżka wirtualna

Oceń tę pracę

Pewna grupa kanałów wirtualnych tworzy ścieżkę wirtualną, która ma przypisane pasmo wirtualne, możliwe do rezerwacji i egzekwowania.

Koncepcja ścieżki wirtualnej i kanałów  polega na przeprowadzaniu połączeń w sieci tą samą trasą, razem zgrupowanych i mogących być częściowo obsługiwanych wspólnie. Przykładowo, zmiana przebiegu trasy ścieżki wirtualnej na wskutek uszkodzenia, powoduje automatyczną zmianę przebiegu wszystkich związanych z nią kanałów wirtualnych. Komórki ATM należące do danej ścieżki wirtualnej identyfikowane są na podstawie pole VPI (Virtual Path Identfier) znajdującego się w nagłówku danej komórki. Głównymi zaletami wprowadzenia koncepcji ścieżki wirtualnej są:

  • zlikwidowanie konieczności translacji nagłówka w przypadku połączeń typu ścieżka wirtualna pomiędzy węzłami sieci, uproszczony dobór trasy;
  • zwiększone możliwości kontroli i sterowania w sieci;
  • zwiększona elastyczność sieci ATM.

Ścieżka wirtualna to termin, który ma różne znaczenia w zależności od kontekstu, w którym jest używany. W ogólnym sensie odnosi się do reprezentacji zasobów, które nie są fizycznie zlokalizowane w jednym konkretnym miejscu, ale są traktowane jako dostępne poprzez logiczną ścieżkę. Może to być w przypadku systemów plików, sieci komputerowych lub aplikacji, gdzie ścieżka wirtualna jest używana do organizowania i zarządzania zasobami w sposób niezależny od ich fizycznej lokalizacji.

W kontekście systemów plików, ścieżka wirtualna odnosi się do logicznego sposobu reprezentowania lokalizacji pliku lub folderu, która może być niezależna od fizycznego miejsca, w którym te pliki są przechowywane. Na przykład, plik może być przechowywany w chmurze lub na serwerze, a użytkownik ma dostęp do niego poprzez jedną, spójną ścieżkę, która nie musi odnosić się do rzeczywistej lokalizacji pliku w systemie. Takie podejście upraszcza zarządzanie danymi i pozwala na bardziej elastyczne zarządzanie przestrzenią dyskową.

W przypadku sieci komputerowych ścieżka wirtualna może odnosić się do logicznego połączenia między dwoma punktami w sieci. Może to być na przykład sieć VPN, która tworzy wirtualną ścieżkę przez fizyczną sieć, zapewniając bezpieczne połączenie między użytkownikami lub urządzeniami. Ta ścieżka jest niezależna od fizycznych urządzeń i łączy, przez które rzeczywiście przepływają dane. Dzięki temu możliwe jest przesyłanie informacji w sposób bezpieczny i zgodny z wymaganiami, niezależnie od rzeczywistej infrastruktury sieciowej.

W aplikacjach i bazach danych ścieżka wirtualna może odnosić się do struktury dostępu do danych, która jest niezależna od fizycznej lokalizacji tych danych w systemie. Może to oznaczać, że dane są przechowywane w różnych miejscach, ale dostęp do nich odbywa się przez jedną zdefiniowaną ścieżkę, co ułatwia organizację i manipulację danymi w aplikacjach. Dzięki temu aplikacja może działać efektywnie, nie martwiąc się o szczegóły związane z fizycznym przechowywaniem danych.

Ścieżki wirtualne mają swoje zastosowanie w wielu różnych dziedzinach informatyki, oferując elastyczność i możliwość łatwego zarządzania zasobami. Zamiast być ograniczone do fizycznych lokalizacji, umożliwiają one użytkownikom i systemom bardziej dynamiczne podejście do przechowywania, organizowania i przesyłania danych. W ten sposób ścieżki wirtualne ułatwiają pracę z zasobami w różnych systemach, niezależnie od tego, czy mówimy o plikach, połączeniach sieciowych, czy danymi w bazach danych.


Krzysztof Wajda, „Sieci szerokopasmowe” NETWORLD Wydanie Specjalne: Vademecum Teleinformatyka cz.2

Parametry ruchu ABR

5/5 - (1 vote)

ABR (Available Bit Rate) to jeden z typów połączeń w technologii ATM (Asynchronous Transfer Mode), który jest używany do zarządzania ruchem w sieci. ABR jest zaprojektowany z myślą o dynamicznym dostosowywaniu przepustowości do rzeczywistego obciążenia sieci, co jest szczególnie przydatne w przypadku aplikacji, które wymagają elastyczności w zarządzaniu przepustowością, takich jak transmisja danych, multimedia czy usługi internetowe.

Parametry ruchu ABR odnoszą się do różnych mechanizmów, które kontrolują sposób, w jaki dane są przesyłane przez sieć ATM w trybie ABR. Są to mechanizmy, które pozwalają na elastyczne dostosowanie przepustowości w odpowiedzi na warunki sieciowe, takie jak zmiany w obciążeniu i dostępnych zasobach. Kluczowe parametry to:

1. GCR (Cell Rate Parameter):
GCR jest jednym z najważniejszych parametrów w zarządzaniu ruchem ABR. Określa maksymalną dopuszczalną stawkę transmisji komórek ATM w jednostce czasu. Dzięki GCR, sieć może kontrolować, jak szybko dane mogą być przesyłane, w zależności od dostępnej przepustowości i stanu sieci.

2. MCR (Minimum Cell Rate):
MCR to minimalna stawka komórek, która musi być zapewniona dla połączenia ABR. Jest to gwarantowana przepustowość, którą użytkownik otrzyma, niezależnie od obciążenia sieci. MCR zapewnia, że minimalne wymagania dla jakości usługi będą spełnione, nawet w warunkach wysokiego obciążenia sieci.

3. PCR (Peak Cell Rate):
PCR to maksymalna dozwolona stawka transmisji komórek, którą połączenie może osiągnąć w przypadku, gdy sieć jest w stanie obsłużyć dużą ilość danych. Jest to górna granica szybkości transmisji dla połączenia ABR, ustalana przez dostawcę usługi lub użytkownika.

4. ACR (Actual Cell Rate):
ACR to rzeczywista stawka transmisji komórek, którą połączenie ABR osiąga w danym momencie. ACR jest dynamicznie regulowana przez mechanizmy sterowania przepustowością w odpowiedzi na zmieniające się warunki sieciowe. Jeżeli sieć ma dostępne zasoby, ACR może wzrosnąć, jednak w przypadku przeciążenia, stawka może zostać zmniejszona.

5. ER (Explicit Rate):
ER to parametr, który jest przekazywany do źródłowego węzła w sieci ATM przez mechanizm kontroli przepustowości, wskazując, jaka stawka transmisji jest dozwolona w danym czasie. ER jest używany w ramach mechanizmu sterowania przepustowością, który pozwala na optymalizację wykorzystania zasobów sieciowych i zapobieganie przeciążeniu.

6. Flow Control:
Ruch ABR jest kontrolowany przez mechanizmy zarządzania przepustowością, które zapewniają, że obciążenie sieci nie przekroczy dostępnych zasobów. W przypadku przeciążenia, mechanizm sterowania przepustowością może wymusić zmniejszenie szybkości transmisji, aby zapewnić stabilność sieci. Parametry, takie jak ER, MCR i PCR, współpracują w ramach tego mechanizmu, aby kontrolować przepływ danych.

Parametry te umożliwiają dynamiczne zarządzanie ruchem ABR w sieci ATM, zapewniając elastyczność i efektywność transmisji. Dzięki tym mechanizmom możliwe jest dostosowanie przepustowości do aktualnych warunków sieciowych, co jest szczególnie istotne w kontekście aplikacji, które wymagają zmiennych i elastycznych zasobów sieciowych.

W połączeniu typu ABR do kontroli ruchu i przeciążenia używane są  następujące parametry:

  • PCR(Peak Cell Ratio) –określa maksymalne pasmo przepustowe podczas transmisji komórek w danym połączeniu;
  • MCR (Minimum Cell Rate) –określa minimalne pasmo przepustowe podczas transmisji komórek w danym połączeniu;
  • ICR (Initial Cell Rate) –określa początkową prędkość transmisji, którą źródło ustawia po połączeniu lub określonym czasie bez aktywności;
  • RIF (Rate Increase Factor) lub AIR(Additive Increase Rate) –współczynnik określający maksymalną wielkość jednorazowego zwiększenia pasma przepustowego podczas transmisji komórek;
  • Nrm -określa liczbę komórek danych, które źródło może wysłać pomiędzy transmisją komórki zarządzającej RM (Resource Management Cell);
  • Mrm -kontroluje przydział pasma pomiędzy komórkami RM a komórkami z danymi;
  • RDF (Rate Decrease Factor) – współczynnik zmniejszenia pasma przepustowego podczas transmisji komórek w sytuacji przeciążenia;
  • ACR (Allowed Cell Rate) –określa pasmo przepustowe powyżej którego źródło nie może nadawać;
  • CRM (Xrm) –określa maksymalną ilość komórek RM, które mogą być wysłane bez otrzymania komórki potwierdzającej RM.
  • ADTF (ACR Decrase Time Factor) –określa czas od nadanie ostatniej komórki RM po którym nadawca musi zredukować prędkość do ICR;
  • Trm –określa czas pomiędzy kolejnymi wysyłanymi komórkami RM
  • RTT (Round Trip Time) –czas propagacji komórki od źródła do odbiorcy i z powrotem.
  • CDF (Cutoff Decrease Factor) XDF (Xrm Decrease Factor) –współczynniki redukcji dozwolonego pasma przepustowego ACR, używany z CRM.

Algorytmy kontroli przeciążenia

5/5 - (1 vote)

Algorytmy kontroli przeciążenia powinny się cechować: skalowalnością, optymalnością, odpornością i implementowalnością. Z opisów algorytmów i analizy symulacji wynika, że żaden z przedstawionych algorytmów nie spełnia w pełni wszystkich cech. Żaden algorytm ze względu na brak niektórych standardów nie może być implementowany jednocześnie w sieciach lokalnych i rozległych. W bardzo szybkich nowopowstających sieciach  rozległych ATM algorytmy typu rate-based są zbyt wolne i nie nadążają czasami za gwałtownymi zmianami stanów sieci. Algorytmy typu credit-based pozbawione tej wady, ze względu na konieczność implementacji osobnych kolejek dla każdego kanału wirtualnego w przełącznikach są obecnie zbyt skomplikowane technologicznie aby mogły być wdrożone. ATM Forum wstrzymała z tego powodu pracę nad algorytmami credit-based i zajęła się udoskonalaniem algorytmów typu rate-based.

Algorytmy bazujące na bitowym sprzężeniu zwrotnym okazały się zbyt wolne, a brak informacji w sprzężeniu zwrotnym na temat stanu sieci (dostępne pasmo, prędkość transmisji) nie umożliwia efektywnej kontroli ruchem. Algorytmy te także w niektórych specyficznych konfiguracja nie sprawiedliwie rozdzielały dostępne pasmo, faworyzując niektórych użytkowników. Najlepszymi do tej pory okazały się algorytmy: CAPC, ERPCA i MIT. Jednak algorytmy te nie są także idealnymi metodami kontroli przeciążenia. Wszystkie trzy algorytmy sprawiedliwie rozdzielają dostępne pasmo. Algorytm CAPC nie rodził sobie z długotrwałym, początkowym przeciążeniem, powodując zatrzymanie transmisji. Algorytm ERPCA, jeden z najprostszych algorytmów, cechował się dość dużymi oscylacjami przydzielanego  pasma i nie osiągał stabilizacji takiej jak pozostałe algorytmy. Najlepszym algorytmem okazał się algorytm MIT, który „najsprawiedliwiej” rozdzielił pasmo przepustowe, osiągną szybko stabilizację prędkości ruchu dla poszczególnych użytkowników. Algorytm ten wymaga prostych obliczeń dla każdego kanału wirtualnego, co w przypadku konfiguracji testowej składającej się z 7 kanałów wirtualnych nie stanowiło problem. Jednak w rzeczywistych warunkach przełącznik obsługuje jednocześnie tysiące kanałów wirtualnych, ilość nieskomplikowanych obliczeń i czas w jakim mają być wykonane wówczas rośnie na tyle, że przekraczają one obecnie moc dostępnych procesorów mogących być zastosowanych w przełącznikach.

Jak widać nie istnieje jeszcze „idealny” algorytm kontroli przeciążeniem. Prace nad niektórymi słabszymi algorytmami zostały wstrzymane, najlepsze  algorytmy są w ciągłej fazie udoskonaleń i testów.

Organizacje standaryzacyjne muszą wybrać jeden najlepszy algorytm albo też zdecydować się na kilka algorytmów i starać się zapewnić kompatybilność pomiędzy poszczególnymi algorytmami. Jest to trudny wybór, którego  organizacjom do tej pory nie udało się dokonać. Problem przeciążenia jeszcze długo będzie tematem otwartym, czekającym na nowe, lepsze rozwiązania.

Niniejsza praca stanowi próbę przedstawienia problemu przeciążenia i analizy dostępnych metod jego rozwiązania. Posiadając odpowiedni pakiet symulacyjny można kontynuować rozpoczętą pracę nad problemem przeciążenia, np. wybierając jeden z algorytmów, spróbować optymalizować jego parametry a nawet starać się modyfikować algorytm, likwidując jego wady. Badania takie dałyby ogromną wiedzę nie tylko na temat problemu przeciążenia, ale także na temat całej technologii ATM.

Algorytmy kontroli przeciążenia stanowią jeden z fundamentalnych mechanizmów zapewniających stabilne i efektywne funkcjonowanie współczesnych sieci komputerowych, w szczególności Internetu. Ich głównym celem jest zapobieganie sytuacjom, w których nadmierna ilość przesyłanych danych prowadzi do przeciążenia łączy sieciowych, wzrostu opóźnień, strat pakietów oraz degradacji jakości usług. Kontrola przeciążenia jest zatem kluczowym elementem architektury sieciowej, który umożliwia współdzielenie zasobów przez wielu użytkowników w sposób możliwie sprawiedliwy i wydajny.

Przeciążenie sieci pojawia się wówczas, gdy zapotrzebowanie na transmisję danych przekracza możliwości przepustowe sieci lub jej elementów, takich jak routery i łącza transmisyjne. W takiej sytuacji bufory urządzeń sieciowych zaczynają się zapełniać, co prowadzi do opóźnień oraz odrzucania pakietów. Algorytmy kontroli przeciążenia mają za zadanie wykrywać takie stany oraz dynamicznie dostosowywać tempo wysyłania danych, tak aby utrzymać równowagę pomiędzy wydajnością a stabilnością sieci.

Kontrola przeciążenia różni się od kontroli przepływu, choć oba mechanizmy są ze sobą ściśle powiązane. Kontrola przepływu koncentruje się na relacji między nadawcą a odbiorcą, zapewniając, że odbiorca nie zostanie zalany danymi szybciej, niż jest w stanie je przetworzyć. Kontrola przeciążenia natomiast dotyczy całej sieci i jej zdolności do obsługi ruchu generowanego przez wielu nadawców jednocześnie. Algorytmy kontroli przeciążenia muszą zatem brać pod uwagę globalny stan sieci, a nie jedynie możliwości pojedynczego węzła.

Znaczenie algorytmów kontroli przeciążenia wzrosło wraz z rozwojem Internetu i rosnącą liczbą aplikacji wymagających niezawodnej i niskolatencyjnej transmisji danych. Usługi takie jak strumieniowanie wideo, komunikacja w czasie rzeczywistym czy przetwarzanie w chmurze są szczególnie wrażliwe na skutki przeciążenia. Skuteczna kontrola przeciążenia jest więc warunkiem zapewnienia odpowiedniej jakości usług oraz satysfakcji użytkowników końcowych.

Klasyczne algorytmy kontroli przeciążenia

Najbardziej znane i powszechnie stosowane algorytmy kontroli przeciążenia są związane z protokołem TCP, który od początku istnienia Internetu pełni kluczową rolę w niezawodnej transmisji danych. TCP implementuje mechanizmy kontroli przeciążenia w sposób rozproszony, opierając się na obserwacji strat pakietów oraz czasu potwierdzeń jako pośrednich wskaźników stanu sieci.

Jednym z podstawowych mechanizmów jest Slow Start, którego celem jest ostrożne zwiększanie tempa transmisji na początku połączenia. Nadawca rozpoczyna transmisję z niewielkim rozmiarem okna wysyłania i stopniowo je zwiększa, obserwując reakcję sieci. Pozwala to uniknąć gwałtownego przeciążenia w momencie inicjowania połączenia oraz dostosować tempo wysyłania do aktualnych możliwości sieci.

Kolejnym istotnym algorytmem jest Congestion Avoidance, który przejmuje kontrolę po zakończeniu fazy Slow Start. W tym trybie tempo wzrostu okna wysyłania jest znacznie wolniejsze i bardziej konserwatywne. Celem jest utrzymanie transmisji na poziomie bliskim maksymalnej przepustowości sieci, bez przekraczania granicy prowadzącej do przeciążenia.

W przypadku wykrycia strat pakietów TCP stosuje mechanizmy takie jak Fast Retransmit i Fast Recovery. Pozwalają one na szybkie reagowanie na sygnały przeciążenia bez konieczności całkowitego restartu transmisji. Zmniejszenie rozmiaru okna wysyłania po stracie pakietu jest formą „kary” dla nadawcy, która ma na celu zmniejszenie obciążenia sieci i przywrócenie stabilności.

Klasyczne algorytmy TCP opierają się na zasadzie additive increase, multiplicative decrease, co oznacza stopniowe zwiększanie tempa transmisji oraz gwałtowne jego zmniejszanie w przypadku przeciążenia. Taka strategia sprzyja stabilności, choć może prowadzić do okresowych wahań przepustowości.

Nowoczesne podejścia do kontroli przeciążenia

Wraz z rozwojem sieci wysokich przepustowości oraz nowych typów aplikacji zaczęły pojawiać się bardziej zaawansowane algorytmy kontroli przeciążenia. Ich celem jest lepsze wykorzystanie dostępnych zasobów przy jednoczesnym ograniczeniu opóźnień i strat pakietów. Przykładem są algorytmy takie jak TCP CUBIC, TCP BBR czy rozwiązania stosowane w protokołach transportowych nowej generacji.

Nowoczesne algorytmy coraz częściej odchodzą od prostego wykrywania strat pakietów jako jedynego sygnału przeciążenia. Zamiast tego analizują opóźnienia, zmiany czasu przesyłania pakietów oraz inne parametry jakościowe. Pozwala to na wcześniejsze wykrywanie przeciążenia i bardziej płynne dostosowywanie tempa transmisji.

Istotnym kierunkiem rozwoju jest także aktywne zarządzanie kolejkami w routerach, które wspiera algorytmy kontroli przeciążenia po stronie nadawcy. Mechanizmy takie jak losowe odrzucanie pakietów sygnalizują zbliżające się przeciążenie, zanim bufory zostaną całkowicie zapełnione. Dzięki temu możliwe jest uniknięcie gwałtownych spadków wydajności i opóźnień.

Nowoczesne podejścia uwzględniają również zróżnicowanie ruchu sieciowego. Algorytmy kontroli przeciążenia są projektowane tak, aby sprawiedliwie współdzielić zasoby pomiędzy różne strumienie danych, a jednocześnie uwzględniać specyfikę aplikacji czasu rzeczywistego, które są szczególnie wrażliwe na opóźnienia.

Znaczenie algorytmów kontroli przeciążenia

Algorytmy kontroli przeciążenia mają kluczowe znaczenie dla skalowalności Internetu jako globalnej sieci komunikacyjnej. Bez skutecznych mechanizmów regulacji ruchu sieć szybko uległaby destabilizacji w wyniku niekontrolowanego wzrostu liczby użytkowników i przesyłanych danych. Kontrola przeciążenia umożliwia współistnienie milionów połączeń, zapewniając względnie stabilną jakość transmisji.

Z punktu widzenia użytkownika końcowego skuteczna kontrola przeciążenia przekłada się na krótsze czasy ładowania stron, mniejsze opóźnienia oraz bardziej niezawodne połączenia. Dla operatorów sieci i dostawców usług oznacza to lepsze wykorzystanie infrastruktury oraz mniejsze koszty wynikające z przeciążeń i awarii.

Algorytmy kontroli przeciążenia są nieodzownym elementem nowoczesnych sieci komputerowych. Ich rozwój od prostych mechanizmów TCP po zaawansowane algorytmy adaptacyjne odzwierciedla ewolucję Internetu i rosnące wymagania użytkowników. Skuteczna kontrola przeciążenia pozostaje jednym z kluczowych wyzwań inżynierii sieciowej, decydującym o stabilności, wydajności i jakości globalnej komunikacji cyfrowej.

Warstwa adaptacji ATM

Oceń tę pracę

Aby sieć ATM przenosiła szeroka gamę usług o różnych charakterystykach ruchu oraz różnych wymaganiach systemowych, uzależnieniach czasowych itp., niezbędna jest adaptacja różnych klas aplikacji do jednolitej warstwy ATM. Funkcje te wypełnia Warstwa Adaptacji ATM (AAL – ATM Adaptation Layer).

Zdefiniowano cztery protokoły warstwy adaptacji ATM:

AAL1 – wspomaga usługi połączeniowe. wymagające stałej prędkości transmisji ( CBR -Constant Bit Rate), charakteryzujące się uzależnieniem czasowym pomiędzy nadawcą a odbiorcą (taktowanie i opóźnienie). Realizuje następujące funkcje:

  • Segmentacja i desegmentacja jednostek informacyjnych,
  • Zmniejszanie wpływu zmiennego opóźnienia komórek,
  • Reakcja na stratę komórek lub zmianę ich kolejności,
  • Odtwarzanie w odbiorniku częstotliwości zegara nadajnika,
  • Monitorowanie i obsługa błędów pola kontrolnego AAL.

AAL2 -wspomaga usługi połączeniowe, wymagające zmiennej (przydzielanej dynamicznie) prędkości transmisji ( VBR – Variable Bit Rate). Realizuje następujące funkcje:

  • Segmentacja i desegmentacja jednostek informacyjnych,
  • Korekcja błędów dla usług audio i video,
  • Synchronizacja terminali poprzez przesyłanie znaczników czasu,
  • Obsługa zagubionych i niesekwencyjnych komórek.

AAL3/4 – wspomaga usługi o zmiennym zapotrzebowaniu na przepustowość, zarówno połączeniowe, jak tez bezpołączeniowe (klasy usług „C” i „D”). Początkowo istniały dwa oddzielne protokoły AAL3 oraz AAL4 odpowiednio dla usług połączeniowych i bezpołączeniowych. Spełnia następujące funkcje, które są aktywne w zależności od trybu pracy:

  • Segmentacja i desegmentacja jednostek informacyjnych,
  • Reakcja na błędy,
  • Wskazywanie typu informacji,
  • Określanie maksymalnej wielkości buforów po stronie odbiorczej potrzebnych do skompletowania przesyłanej wiadomości.

AAL5 – wspomaga usługi połączeniowe o zmiennym zapotrzebowaniu na przepustowość. W stosunku do AAL3/4 jest on wersją znacznie odchudzoną m.in. poprzez uproszczenie korekcji błędów. Dzięki temu większe pole w komórce ATM przeznaczone jest na informacje użytkownika (warstwy wyższej). Upraszcza się także obróbka komórki oraz implementacja protokołu. Zakwalifikowano go jako wspomagającego klasę usług „C”, chociaż istnieją projekty wykorzystania go do transportu usług bezpołączeniowych (projekt ATM Forum – „LAN-emulation” oraz specyfikacja IETF dotycząca transportu protokołu IP przez sieć ATM).