Skrzynia środkowa

Middlebox to komputerowe urządzenie sieciowe , które przekształca, kontroluje, filtruje i manipuluje ruchem w celach innych niż przekazywanie pakietów . Przykłady pośrednich urządzeń obejmują zapory ogniowe , translatory adresów sieciowych (NAT), moduły równoważenia obciążenia i urządzenia głębokiej inspekcji pakietów (DPI).

Profesor informatyki z UCLA Lixia Zhang ukuła termin middlebox w 1999 roku.

Stosowanie

Middleboxy są szeroko stosowane zarówno w sieciach prywatnych, jak i publicznych. Dedykowany sprzęt pośredniczący jest szeroko stosowany w sieciach korporacyjnych w celu poprawy bezpieczeństwa i wydajności sieci, jednak nawet routery sieci domowej często mają zintegrowaną zaporę ogniową, NAT lub inne funkcje pośredniczące. Jedno badanie z 2017 r. obejmujące ponad 1000 wdrożeń w systemach autonomicznych , w obu kierunkach przepływu ruchu oraz w sieciach o szerokim zasięgu, w tym u operatorów telefonii komórkowej i sieci centrów danych.

Przykłady

Poniżej przedstawiono przykłady często wdrażanych modułów pośrednich:

  • Zapory ogniowe filtrują ruch w oparciu o zestaw predefiniowanych reguł bezpieczeństwa zdefiniowanych przez administratora sieci. Zapory ogniowe IP odrzucają pakiety „wyłącznie na podstawie pól w adresie IP i nagłówkach transportowych (np. nie zezwalają na ruch przychodzący do określonych numerów portów , nie zezwalają na żaden ruch do określonych podsieci itp.)” Inne rodzaje zapór ogniowych mogą wykorzystywać bardziej złożone zestawy reguł, w tym te, które kontrolują ruchu w warstwie sesji lub aplikacji.
  • Systemy wykrywania włamań (IDS) monitorują ruch i zbierają dane do analizy offline pod kątem anomalii bezpieczeństwa. W przeciwieństwie do zapór ogniowych, systemy IDS nie filtrują pakietów w czasie rzeczywistym, ponieważ są w stanie przeprowadzać bardziej złożone inspekcje i muszą decydować, czy przyjąć, czy odrzucić każdy pakiet, który nadejdzie.
  • Translatory adresów sieciowych (NAT) zastępują źródłowy i/lub docelowy adres IP pakietów, które przez nie przechodzą. Zazwyczaj NAT są wdrażane, aby umożliwić wielu hostom końcowym współdzielenie jednego adresu IP : hosty „za” NAT otrzymują prywatny adres IP , a ich pakiety przeznaczone do publicznego Internetu przechodzą przez NAT, który zastępuje ich wewnętrzny adres prywatny współdzielonym adres publiczny. Są one szeroko stosowane przez dostawców sieci komórkowych do zarządzania ograniczonymi zasobami.
  • Optymalizatory sieci WAN poprawiają zużycie przepustowości i postrzegane opóźnienia między punktami końcowymi. Zwykle stosowane w dużych przedsiębiorstwach optymalizatory sieci WAN są instalowane w pobliżu wysyłających i odbierających punktów końcowych komunikacji; urządzenia następnie koordynują buforowanie i kompresję ruchu przechodzącego przez Internet.
  • Systemy równoważenia obciążenia zapewniają jeden punkt wejścia do usługi, ale przekazują przepływ ruchu do jednego lub większej liczby hostów, które faktycznie świadczą usługę.
  • Sieci komórkowe wykorzystują urządzenia pośrednie, aby zapewnić efektywne wykorzystanie ograniczonych zasobów sieciowych, a także chronić urządzenia klienckie.

Krytyka i wyzwania

Middleboxy stworzyły techniczne wyzwania dla rozwoju aplikacji i wywołały „pogardę” i „konsternację” w społeczności architektów sieciowych z powodu naruszenia zasady projektowania systemów komputerowych od końca do końca .

Zakłócenia aplikacji

Niektóre pola pośrednie zakłócają działanie aplikacji, ograniczając lub uniemożliwiając prawidłowe działanie aplikacji hosta końcowego.

W szczególności translatory adresów sieciowych (NAT) stanowią wyzwanie, ponieważ urządzenia NAT dzielą ruch kierowany na publiczny adres IP na kilku odbiorców. Gdy połączenia między hostem w Internecie a hostem za NAT są inicjowane przez hosta za NAT, NAT uczy się, że ruch dla tego połączenia należy do hosta lokalnego. Tak więc, gdy ruch pochodzący z Internetu jest kierowany na adres publiczny (współdzielony) na określonym porcie , NAT może skierować ruch do odpowiedniego hosta. Jednak połączenia zainicjowane przez hosta w Internecie nie dają NAT żadnej możliwości „nauczenia się”, do którego hosta wewnętrznego należy połączenie. Co więcej, sam host wewnętrzny może nawet nie znać własnego publicznego adresu IP, aby ogłosić potencjalnym klientom, z jakim adresem się połączyć. Aby rozwiązać ten problem, zaproponowano kilka nowych protokołów.

Ponadto, ponieważ wdrożenia urządzeń pośrednich przez operatorów komórkowych, takich jak AT&T i T-Mobile , są nieprzejrzyste, twórcy aplikacji często „nie są świadomi zasad urządzeń pośrednich narzucanych przez operatorów”, podczas gdy operatorzy nie mają pełnej wiedzy na temat zachowania aplikacji i wymagań. Na przykład jeden operator ustawił „agresywną limitu czasu , aby szybko przywrócić zasoby utrzymywane przez nieaktywne połączenia TCP w zaporze ogniowej, nieoczekiwanie powodując częste zakłócenia długotrwałych i czasami bezczynnych połączeń utrzymywanych przez aplikacje, takie jak poczta e-mail oparta na wypychaniu i wiadomości błyskawicznych ”.

Inne typowe wyzwania związane z aplikacjami middlebox obejmują serwery proxy sieci Web obsługujące „przestarzałą” lub nieaktualną zawartość oraz zapory ogniowe odrzucające ruch na żądanych portach.

Rozszerzalność i projektowanie Internetu

Jedną z krytyki pośredników jest to, że mogą one ograniczać wybór protokołów transportowych, ograniczając w ten sposób projekty aplikacji lub usług. Middleboxy mogą filtrować lub odrzucać ruch, który nie jest zgodny z oczekiwanymi zachowaniami, więc nowe lub nietypowe protokoły lub rozszerzenia protokołów mogą zostać odfiltrowane. W szczególności, ponieważ middleboxy uniemożliwiają hostom w prywatnych domenach adresowych „przekazywanie uchwytów umożliwiających innym hostom komunikację z nimi”, utrudnia rozprzestrzenianie się nowszych protokołów, takich jak protokół inicjowania sesji (SIP), a także różne systemy peer-to-peer. Ta postępująca redukcja elastyczności została opisana jako kostnienie protokołu .

I odwrotnie, niektóre urządzenia pośredniczące mogą pomóc we wdrażaniu protokołów, zapewniając tłumaczenie między nowymi i starymi protokołami. Na przykład protokół IPv6 można wdrożyć w publicznych punktach końcowych, takich jak moduły równoważenia obciążenia , serwery proxy lub inne formy NAT, z ruchem zaplecza kierowanym przez protokół IPv4 lub IPv6.

Zobacz też