Udostępnij za pośrednictwem


Routing asymetryczny z wieloma ścieżkami sieciowymi

W tym artykule wyjaśniono, jak ruch sieciowy może przyjmować różne ścieżki, gdy wiele tras jest dostępnych między źródłem sieci i miejscem docelowym.

Uwaga

  • W tym artykule omówiono problemy, które mogą wystąpić z routingiem asymetrycznym w sieci z wieloma linkami do miejsca docelowego. Nie należy jej używać jako odwołania do projektowania sieci z routingiem asymetrycznym, ponieważ firma Microsoft nie zaleca ani nie obsługuje tej architektury.

Istnieją dwie koncepcje, które należy wiedzieć, aby zrozumieć routing asymetryczny. Pierwszy to efekt wielu ścieżek sieciowych. Drugi to sposób, w jaki urządzenia, takie jak zapora, zachowują stan. Tego rodzaju urządzenia są nazywane urządzeniami stanowymi. Po połączeniu tych dwóch czynników mogą one utworzyć scenariusz, w którym ruch sieciowy zostanie porzucony przez urządzenie stanowe. Ruch jest porzucony, ponieważ nie wykrył, że ruch pochodzi od samego siebie.

Wiele ścieżek sieciowych

Jeśli sieć przedsiębiorstwa ma tylko jeden link do Internetu za pośrednictwem dostawcy usług internetowych, cały ruch do i z Internetu podróżuje tą samą ścieżką. Często firmy kupują wiele obwodów, aby tworzyć nadmiarowe ścieżki w celu poprawy czasu pracy sieci. W przypadku tego typu konfiguracji istnieje możliwość, że ruch wychodzący z jednego linku do Internetu i zwraca się za pośrednictwem innego linku. Ten scenariusz jest często nazywany routingiem asymetrycznym. W routingu asymetrycznym ruch sieciowy zwraca inną ścieżkę od oryginalnego przepływu wychodzącego.

Sieć z wieloma ścieżkami

Chociaż routing asymetryczny zwykle występuje podczas przechodzenia do Internetu. Dzieje się tak również, gdy zostanie wprowadzona kombinacja wielu ścieżek. Pierwszym przykładem jest to, że masz ścieżkę internetową i ścieżkę prywatną, która przechodzi do tego samego miejsca docelowego. Drugi przykład polega na tym, że masz wiele ścieżek prywatnych, które również przechodzą do tego samego miejsca docelowego.

Każdy router wzdłuż ścieżki między lokalizacją źródłową i docelową oblicza najlepszą ścieżkę do dotarcia do miejsca docelowego. Router określa najlepszą możliwą ścieżkę na podstawie dwóch głównych czynników:

  • Routing między sieciami zewnętrznymi opiera się na protokole routingu o nazwie Border Gateway Protocol (BGP). Protokół BGP przyjmuje anonse z najbliższego otoczenia i wykonuje na nich pewne działania celem określenia najlepszej ścieżki do miejsca docelowego. Takie ścieżki przechowuje w swojej tabeli routingu.
  • Długość maski podsieci skojarzonej z trasą ma wpływ na ścieżki routingu. Jeśli router odbiera wiele anonsów dla tego samego adresu IP, router wybiera ścieżkę z dłuższą maską podsieci, ponieważ jest traktowana jako bardziej konkretna trasa.

Urządzenia stanowe

Routery sprawdzają nagłówek IP pakietu w celach związanych z routingiem. Jednakże niektóre urządzenia sprawdzają pakiety bardziej szczegółowo. Zazwyczaj te urządzenia patrzą na nagłówki Warstwy 4 — Transmission Control Protocol (TCP) lub User Datagram Protocol (UDP), a nawet nagłówki warstwy 7 (Warstwa aplikacji). Urządzenia te to urządzenia zabezpieczające lub urządzenia optymalizujące przepustowość.

Zapora jest typowym przykładem urządzenia stanowego. Zapora zezwala lub odrzuca pakiety do przekazywania przez interfejsy na podstawie różnych kryteriów. Te kryteria obejmują, ale nie są ograniczone do protokołu, portu TCP/UDP i nagłówków adresów URL. Ten poziom inspekcji pakietów może wywierać duże obciążenie przetwarzania na urządzeniu.

W celu poprawienia wydajności zapora bada pierwszy pakiet przepływu. Jeśli zezwala pakietowi na przekazywanie przez jego interfejsy, przechowuje informacje o przepływie w tabeli stanów. Wszystkie pakiety związane z tym przepływem są następnie dozwolone na podstawie początkowej determinacji. Pakiet, który jest częścią istniejącego przepływu, może dotrzeć do zapory, z której nie pochodzi. Ponieważ nie ma wcześniejszych informacji o stanie przepływu początkowego, zapora odrzuca pakiet.

Routing asymetryczny przy użyciu usługi ExpressRoute

Po połączeniu się z firmą Microsoft przy użyciu usługi Azure ExpressRoute w sieci następują poniższe zmiany:

  • Dostępnych jest wiele połączeń z firmą Microsoft. Jedno łącze to istniejące połączenie internetowe, a drugie to połączenie z usługą ExpressRoute. Określony ruch przeznaczony dla firmy Microsoft może przejść przez połączenie internetowe, ale powrócić przez połączenie usługi ExpressRoute. Może się to również zdarzyć, gdy ruch przechodzi przez usługę ExpressRoute, ale wraca przez ścieżkę internetową.
  • Otrzymano bardziej szczegółowe adresy IP z obwodu usługi ExpressRoute. Dlatego gdy ruch z sieci przechodzi do firmy Microsoft dla usług oferowanych za pośrednictwem usługi ExpressRoute, routery zawsze preferują połączenie usługi ExpressRoute.

Aby zrozumieć wpływ tych dwóch zmian w sieci, rozważmy niektóre scenariusze. Na przykład masz obwód do Internetu i korzystasz ze wszystkich usługi firmy Microsoft przez Internet. Ruch z sieci do i z firmy Microsoft przechodzi przez ten sam link internetowy i przechodzi przez zaporę. Zapora rejestruje przepływ, gdy widzi pierwszy pakiet. Wszystkie pakiety tej konwersacji są dozwolone, ponieważ przepływ istnieje w tabeli stanów.

Routing asymetryczny przy użyciu usługi ExpressRoute

Następnie utworzysz obwód usługi ExpressRoute, aby korzystać z usług oferowanych przez firmę Microsoft za pośrednictwem usługi ExpressRoute. Wszystkie inne usługi firmy Microsoft są używane przez Internet. Oddzielna zapora jest wdrażana na brzegu sieci, która jest połączona z połączeniem usługi ExpressRoute. Firma Microsoft anonsuje bardziej szczegółowe prefiksy do sieci za pośrednictwem usługi ExpressRoute dla niektórych usług. Infrastruktura routingu wybiera usługę ExpressRoute jako preferowaną ścieżkę dla tych prefiksów.

Jeśli nie anonsujesz publicznych adresów IP do firmy Microsoft za pośrednictwem usługi ExpressRoute. Firma Microsoft komunikuje się z publicznymi adresami IP za pośrednictwem Internetu. Ruch wysyłany z sieci do firmy Microsoft korzysta z połączenia usługi ExpressRoute, ale ruch powrotny od firmy Microsoft korzysta ze ścieżki internetowej. Gdy zapora na brzegu zobaczy pakiet odpowiedzi dla przepływu, o którego nie wie, pominie te pakiety.

Jeśli zdecydujesz się anonsować tę samą pulę translatora adresów sieciowych (NAT) dla usługi ExpressRoute i Internetu. Podobne problemy występują w przypadku klientów w sieci na prywatnych adresach IP. Żądania dotyczące usług, takich jak Windows Update, będą przekazywane przez Internet, ponieważ adresy IP tych usług nie są anonsowane za pośrednictwem usługi ExpressRoute. Jednak ruch powrotny wraca przez usługę ExpressRoute. Ponieważ firma Microsoft otrzymała adres IP z tą samą maską podsieci z Internetu i usługi ExpressRoute, preferowaną ścieżką jest zawsze usługa ExpressRoute. Jeśli zapora lub inne urządzenie stanowe na brzegu sieci, na którym znajduje się połączenie usługi ExpressRoute, nie ma wcześniejszych informacji o przepływie, pominie te pakiety.

Rozwiązania w zakresie routingu asymetrycznego

Dostępne są dwie opcje rozwiązywania problemu routingu asymetrycznego. Pierwszy to routing, a drugi polega na użyciu translatora adresów sieciowych opartych na źródle (SNAT).

Routing

Upewnij się, że publiczne adresy IP są anonsowane do odpowiednich linków sieci rozległej (WAN). Jeśli na przykład chcesz użyć Internetu do uwierzytelniania ruchu i usługi ExpressRoute dla ruchu poczty. Nie anonsuj publicznych adresów IP usług Active Directory Federation Services (AD FS) za pośrednictwem usługi ExpressRoute. Pamiętaj również, aby nie uwidocznić lokalnego serwera usług AD FS na adresy IP odbierane przez router za pośrednictwem usługi ExpressRoute. Trasy odebrane za pośrednictwem usługi ExpressRoute są bardziej szczegółowe, w związku z tym usługa ExpressRoute będzie ścieżką preferowaną dla ruchu uwierzytelniania do firmy Microsoft. Jeśli nie zwracasz uwagi na sposób routingu w sieci mogą wystąpić problemy z routingiem asymetrycznym.

Jeśli chcesz użyć usługi ExpressRoute do uwierzytelniania, upewnij się, że reklamujesz publiczne adresy IP usług AD FS za pośrednictwem usługi ExpressRoute bez translatora adresów sieciowych. Po skonfigurowaniu w ten sposób ruch pochodzący z firmy Microsoft do lokalnego serwera usług AD FS będzie przechodzić przez usługę ExpressRoute. Ruch powrotny z sieci, który przechodzi do firmy Microsoft, korzysta z usługi ExpressRoute, ponieważ jest to preferowana trasa przez Internet.

Translator adresów sieciowych oparty na źródle

Innym sposobem rozwiązania problemu z routingiem asymetrycznym jest użycie protokołu SNAT. Na przykład nie należy anonsować publicznego adresu IP lokalnego serwera PROTOKOŁU SMTP (Simple Mail Transfer Protocol) za pośrednictwem usługi ExpressRoute. Zamiast tego zamierzasz korzystać z Internetu dla tego typu komunikacji. Żądanie pochodzące od firmy Microsoft, które przechodzi do lokalnego serwera SMTP, przechodzi przez Internet. Translator adresów sieciowych oparty na źródle przetwarza żądanie przychodzące i przekazuje do wewnętrznego adresu IP. Ruch powrotny z serwera SMTP przechodzi do zapory brzegowej (która jest używana dla translatora adresów sieciowych) zamiast za pośrednictwem usługi ExpressRoute. W rezultacie ruch powrotny pobiera ścieżkę internetową.

Konfiguracja translatora adresów sieciowych opartych na źródle

Wykrywanie routingu asymetrycznego

Polecenie traceroute jest najlepszym sposobem zapewnienia, że ruch sieciowy jest kierowany oczekiwaną ścieżką. Jeśli oczekujesz, że ruch z lokalnego serwera SMTP do firmy Microsoft będzie używany do korzystania ze ścieżki internetowej, oczekiwana usługa traceroute pochodzi z serwera SMTP do platformy Microsoft 365. Wynik sprawdza, czy ruch rzeczywiście opuszcza sieć w kierunku Internetu, a nie w kierunku usługi ExpressRoute.