Słownik

Co to jest MED (Multi-Exit Discriminator)?

MED (Multi-Exit Discriminator) to atrybut BGP, którym sugerujesz sąsiedniemu AS, którym z wielu łączy ma wchodzić ruch przychodzący. Niższy MED wygrywa.

Ostatnia aktualizacja:

MED (Multi-Exit Discriminator), w terminologii niektórych producentów nazywany metryką (METRIC), to niewiążąca wskazówka dla sąsiedniego systemu autonomicznego, którym z wielu wspólnych łączy powinien wchodzić ruch przychodzący do Twojej sieci. Niższa wartość MED jest preferowana. Zgodnie z RFC 4271 to atrybut opcjonalny i nieprzechodni, więc domyślnie nie jest propagowany dalej niż do sąsiedniego AS.

Jak działa MED

Gdy łączysz się z tym samym sąsiednim AS w dwóch lokalizacjach, możesz w każdym punkcie rozgłosić ten sam prefiks z inną wartością MED. Sąsiad, jeśli zdecyduje się honorować MED, wybierze jako punkt wejścia łącze z niższą wartością. To jeden z nielicznych standardowych mechanizmów BGP, który pozwala nadawcy prefiksu wpływać na ścieżkę ruchu przychodzącego.

  • Niższy MED = wyższy priorytet (odwrotnie niż przy local-preference).
  • Zakres: 32-bitowa liczba całkowita bez znaku, od 0 do 4 294 967 295.
  • Atrybut opcjonalny i nieprzechodni: nie wychodzi poza sąsiednie AS.
  • Domyślnie porównywany tylko między trasami od tego samego sąsiedniego AS.
  • Brak atrybutu MED bywa traktowany jako 0, a zachowanie zależy od producenta.

MED a local-preference

To dwa różne narzędzia działające po przeciwnych stronach łącza. Local-preference to atrybut dobrze znany (well-known), niesiony tylko wewnątrz Twojego AS, i steruje ruchem wychodzącym: to Ty decydujesz, którym łączem ruch opuszcza sieć. MED to sygnał wysyłany na zewnątrz i dotyczy ruchu przychodzącego, bo sugerujesz sąsiadowi, gdzie ma wejść. W kolejności wyboru trasy BGP local-preference rozpatrywany jest znacznie wcześniej niż MED, więc Twoja własna polityka prawie zawsze ma pierwszeństwo przed MED odebranym od innych.

Ograniczenia i pułapki

MED to tylko sugestia. Sąsiad może go zignorować, nadpisać własną polityką (local-preference, AS-path), a domyślnie w ogóle nie porównuje MED między różnymi sąsiednimi AS, chyba że włączy opcję always-compare-med. Ponieważ MED leży nisko w kolejności wyboru trasy, często bywa zdominowany przez wcześniejsze kroki. Dlatego do realnego sterowania ruchem przychodzącym częściej używa się prependowania ścieżki AS lub społeczności BGP uzgodnionych z dostawcą albo IXP.

MED w sieci AS202520 SkyPass

W AS202520 SkyPass honorujemy MED na sesjach tranzytu IP i peeringu wszędzie tam, gdzie ma to sens. Dzięki temu klienci z PoP-ami w Warszawie i Wrocławiu mogą rozkładać ruch przychodzący między lokalizacjami. Dla klientów multihomed oraz korzystających ze zdalnego dostępu do IXP (w THINX, TPIX, WRIX, POZIX, 1-IX) udostępniamy także społeczności BGP do prependowania ścieżki AS i sterowania local-preference, zwykle skuteczniejsze niż sam MED. Jeśli planujesz traffic engineering, nasz zespół pomoże dobrać kombinację MED, społeczności i prependów do Twojej topologii.

Najczęstsze pytania

Niższy czy wyższy MED jest lepszy?

Niższy. BGP preferuje trasę o niższej wartości MED, odwrotnie niż przy local-preference, gdzie wygrywa wyższa wartość.

Czy sąsiad musi honorować mój MED?

Nie. MED to tylko wskazówka. Sąsiad może go zignorować, nadpisać własną polityką lub domyślnie nie porównywać MED między różnymi AS bez opcji always-compare-med.

Czym MED różni się od local-preference?

MED steruje ruchem przychodzącym i jest sygnałem dla sąsiada; local-preference steruje ruchem wychodzącym i działa wewnątrz Twojego AS. Local-preference jest rozpatrywany wcześniej w wyborze trasy.

Jaki jest zakres wartości MED?

To 32-bitowa liczba całkowita bez znaku, od 0 do 4 294 967 295. Brak atrybutu MED bywa traktowany jako 0, zależnie od producenta.

Powiązane artykuły