Trafik değişim noktası: kökenlerden kendi IX'inizi oluşturmaya kadar

Trafik değişim noktası: kökenlerden kendi IX'inizi oluşturmaya kadar

Kleinrock... bir röportajında ​​"Biz ve SRI'daki adamlar arasında bir telefon bağlantısı kurduk..." dedi:
“L yazdık ve telefonda “L’yi görüyor musun?” diye sorduk.
“Evet L’yi görüyoruz” yanıtı geldi.
“O yazdık ve “O'yu görüyor musun?” diye sorduk.”
"Evet, O'yu görüyoruz."
“Sonra G’yi yazdık ve sistem çöktü”...

Ancak bir devrim başlamıştı…

İnternetin başlangıcı.


Herkese Merhaba!

Adım Alexander, Linxdatacenter'da ağ mühendisiyim. Bugünün makalesinde trafik değişim noktaları (İnternet Değişim Noktaları, IXP) hakkında konuşacağız: görünümlerinden önce neler geldi, hangi görevleri çözdüler ve nasıl inşa edildiler. Bu makalede ayrıca IXP'nin EVE-NG platformunu ve BIRD yazılım yönlendiricisini kullanarak çalışma prensibini göstereceğim, böylece onun "kaputun altında" nasıl çalıştığını anlayabilirsiniz.

Biraz tarih

Bakarsan burada, trafik değişim noktalarının sayısındaki hızlı artışın 1993 yılında başladığını görebilirsiniz. Bunun nedeni, o dönemde var olan telekom operatörlerinin trafiğinin çoğunun ABD omurga ağından geçmesidir. Yani örneğin trafik Fransa'daki bir operatörden Almanya'daki bir operatöre gittiğinde, önce Fransa'dan ABD'ye, sonra da ABD'den Almanya'ya gidiyordu. Bu durumda omurga ağı, Fransa ile Almanya arasında bir geçiş görevi görüyordu. Bir ülke içindeki trafik bile çoğunlukla doğrudan değil, Amerikalı operatörlerin omurga ağları üzerinden geçiyordu.

Bu durum yalnızca transit trafiği ulaştırmanın maliyetini değil aynı zamanda kanalların kalitesini ve gecikmeleri de etkiledi. İnternet kullanıcılarının sayısı arttı, yeni operatörler ortaya çıktı, trafik hacmi arttı ve İnternet olgunlaştı. Dünyanın dört bir yanındaki operatörler, operatörler arası etkileşimi organize etmek için daha rasyonel bir yaklaşıma ihtiyaç duyulduğunu fark etmeye başladı. "Ben, A operatörü olarak, bir sonraki caddede bulunan B operatörüne trafik sağlamak için neden başka bir ülkeden geçiş ücreti ödeyeyim?" Bu, kabaca telekom operatörlerinin o dönemde kendilerine sordukları sorudur. Böylece dünyanın farklı yerlerinde operatör yoğunlaşma noktalarında trafik değişim noktaları ortaya çıkmaya başladı:

  • 1994 – LINX, Londra,
  • 1995 – Frankfurt'ta DE-CIX,
  • 1995 – MSK-IX, Moskova'da vb.

İnternet ve günümüz

Kavramsal olarak, modern İnternetin mimarisi birçok otonom sistemden (AS) ve bunlar arasında, bir AS'den diğerine trafiğin yolunu belirleyen hem fiziksel hem de mantıksal birçok bağlantıdan oluşur.

AS'ler genellikle telekom operatörleri, İnternet sağlayıcıları, CDN'ler, veri merkezleri ve kurumsal segment şirketleridir. AS'ler, genellikle BGP protokolünü kullanarak kendi aralarında mantıksal bağlantıları (eşleme) düzenler.

Otonom sistemlerin bu bağlantıları nasıl organize ettiği bir dizi faktör tarafından belirlenir:

  • coğrafi,
  • ekonomik,
  • siyasi,
  • AS sahipleri arasındaki anlaşmalar ve ortak çıkarlar,
  • vb

Elbette bu şemanın belli bir yapısı ve hiyerarşisi var. Bu nedenle, operatörler 1. kademe, 2. kademe ve 3. kademe olarak ayrılır ve yerel bir İnternet sağlayıcısının istemcileri (3. kademe) kural olarak sıradan kullanıcılarsa, o zaman örneğin 1. kademe için seviye operatörleri istemciler diğer operatörlerdir. 3. Kademe operatörler abonelerinin trafiğini, 2. Kademe telekom operatörlerinin trafiğini toplar, buna karşılık 3. Kademe operatörlerin ve 1. Kademe operatörlerin trafiğini ise tüm İnternet trafiğini toplar.

Şematik olarak şu şekilde temsil edilebilir:

Trafik değişim noktası: kökenlerden kendi IX'inizi oluşturmaya kadar
Bu resim, trafiğin aşağıdan yukarıya doğru toplandığını göstermektedir; son kullanıcılardan 1. kademe operatörlere kadar. Ayrıca AS'ler arasında birbirine yaklaşık olarak eşdeğer olan yatay bir trafik alışverişi de vardır.

Bu planın ayrılmaz bir parçası ve aynı zamanda bir dezavantajı, bir coğrafi alan içinde son kullanıcıya daha yakın konumlanmış otonom sistemler arasındaki bağlantıların belirli bir şekilde karıştırılmasıdır. Aşağıdaki resmi düşünün:

Trafik değişim noktası: kökenlerden kendi IX'inizi oluşturmaya kadar

Büyük bir şehirde, aralarında şu ya da bu nedenle yukarıda gösterildiği gibi organize edilen 5 telekom operatörünün bulunduğunu varsayalım.

Go ISP'ye bağlı Petya kullanıcısı ASM sağlayıcısına bağlı bir sunucuya erişmek isterse aralarındaki trafik 5 otonom sistemden geçmek zorunda kalacak. Bu gecikmeyi artırır çünkü trafiğin geçeceği ağ cihazlarının sayısı ve Go ile ASM arasındaki otonom sistemlerdeki transit trafiğinin hacmi artıyor.

Trafiğin geçmek zorunda kaldığı transit AS'lerin sayısı nasıl azaltılabilir? Bu doğru - trafik değişim noktası.

Bugün, yeni IXP'lerin ortaya çıkışı, 90'lı ve 2000'li yılların başındaki aynı ihtiyaçlardan kaynaklanmaktadır, ancak daha küçük ölçekte, artan sayıda telekom operatörü, kullanıcı ve trafiğe, CDN ağları tarafından üretilen artan içerik miktarına yanıt olarak ve veri merkezleri.

Değişim noktası nedir?

Trafik değişim noktası, karşılıklı trafik değişimiyle ilgilenen katılımcıların karşılıklı eşlemeyi organize ettiği, özel ağ altyapısına sahip bir yerdir. Trafik değişim noktalarının ana katılımcıları: telekom operatörleri, İnternet sağlayıcıları, içerik sağlayıcıları ve veri merkezleri. Trafik değişim noktalarında katılımcılar doğrudan birbirleriyle bağlantı kurarlar. Bu, aşağıdaki sorunları çözmenizi sağlar:

  • gecikmeyi azaltmak,
  • transit trafik miktarını azaltmak,
  • AS arasındaki yönlendirmeyi optimize edin.

IXP'lerin dünyanın birçok büyük şehrinde mevcut olduğu göz önüne alındığında, bunların hepsinin İnternet üzerinde bir bütün olarak olumlu bir etkisi vardır.

Petya ile ilgili yukarıdaki durum IXP kullanılarak çözülürse, şöyle bir şey ortaya çıkacaktır:

Trafik değişim noktası: kökenlerden kendi IX'inizi oluşturmaya kadar

Trafik değişim noktası nasıl çalışır?

Kural olarak bir IXP, kendi genel IPv4/IPv6 adresleri bloğuna sahip ayrı bir AS'dir.

IXP ağı çoğunlukla sürekli bir L2 alanından oluşur. Bazen bu sadece tüm IXP istemcilerini barındıran bir VLAN'dır. Daha büyük, coğrafi olarak dağıtılmış IXP'ler söz konusu olduğunda MPLS, VXLAN vb. teknolojiler L2 alanını düzenlemek için kullanılabilir.

IXP öğeleri

  • SKS. Burada sıra dışı hiçbir şey yok: raflar, optik çapraz bağlantılar, bağlantı panelleri.
  • Anahtarlar – IXP'nin temeli. Anahtar bağlantı noktası IXP ağına giriş noktasıdır. Anahtarlar ayrıca güvenlik işlevlerinin bir kısmını da yerine getirir; IXP ağında olmaması gereken gereksiz trafiği filtrelerler. Kural olarak anahtarlar, işlevsel gereksinimlere (güvenilirlik, desteklenen bağlantı noktası hızları, güvenlik özellikleri, sFlow desteği vb.) göre seçilir.
  • Yönlendirme sunucusu (RS) – herhangi bir modern trafik değişim noktasının ayrılmaz ve gerekli bir parçası. Çalışma prensibi iBGP'deki rota reflektörüne veya OSPF'deki belirlenmiş yönlendiriciye çok benzer ve aynı sorunları çözer. Bir trafik değişim noktasındaki katılımcı sayısı arttıkça her katılımcının desteklemesi gereken BGP oturumlarının sayısı da artar; bu, iBGP'deki klasik tam ağ topolojisini anımsatıyor. RS sorunu şu şekilde çözer: ilgilenen her IXP katılımcısıyla bir BGP oturumu kurar ve bu katılımcı bir RS istemcisi olur. Müşterilerinin birinden bir BGP güncellemesi alan RS, bu güncellemeyi, elbette bu güncellemenin alındığı istemci dışındaki tüm diğer istemcilerine gönderir. Böylece RS, tüm IXP üyeleri arasında tam ağ oluşturma ihtiyacını ortadan kaldırır ve ölçeklenebilirlik sorununu zarif bir şekilde çözer. Yönlendirme sunucusunun, BGP tarafından iletilen niteliklerde değişiklik yapmadan rotaları bir AS'den diğerine şeffaf bir şekilde ilettiğini belirtmek gerekir; örneğin, AS'sindeki sayıyı AS yoluna eklemez. Ayrıca RS'de rotaların temel filtrelemesi vardır: örneğin RS, Mars ağlarını ve IXP'nin öneklerini kabul etmez.

    Açık kaynaklı bir yazılım yönlendiricisi olan BIRD (bird internet yönlendirme programı), genellikle bir rota sunucusu çözümü olarak kullanılır. Bunun iyi yanı, ücretsiz olması, çoğu Linux dağıtımına hızlı bir şekilde dağıtılması, yönlendirme/filtreleme politikalarının ayarlanması için esnek bir mekanizmaya sahip olması ve bilgi işlem kaynaklarına ihtiyaç duymamasıdır. Ayrıca Cisco, Juniper vb.'den bir donanım/sanal yönlendirici RS olarak seçilebilir.

  • Güvenlik. Bir IXP ağı çok sayıda AS'nin yoğunlaşması olduğundan, tüm katılımcıların izlemesi gereken güvenlik politikasının iyi yazılmış olması gerekir. Genel olarak, IXP dışındaki iki ayrı BGP eşi arasında BGP bitişikliği kurarken geçerli olan mekanizmaların tümü, artı bazı ek güvenlik özellikleri burada da geçerlidir.

    Örneğin, yalnızca IXP katılımcısının önceden kararlaştırılan belirli bir mac adresinden gelen trafiğe izin vermek iyi bir uygulamadır. 0x0800(IPv4), 0x08dd(IPv6), 0x0806(ARP) dışındaki ethertype alanlarıyla trafiği reddetme; bu, BGP eşlemesine ait olmayan trafiği filtrelemek için yapılır. GTSM, RPKI vb. mekanizmalar da kullanılabilir.

Belki de yukarıdakiler, ölçekten bağımsız olarak herhangi bir IXP'nin ana bileşenleridir. Elbette daha büyük IXP'lerin ek teknolojileri ve çözümleri olabilir.
IXP ayrıca katılımcılarına ek hizmetler de sağlıyor:

  • IXP TLD DNS sunucusuna yerleştirilen,
  • Katılımcıların zamanı doğru bir şekilde senkronize etmelerine olanak tanıyan donanım NTP sunucularını kurun,
  • DDoS saldırılarına vb. karşı koruma sağlar.

Çalışma prensibi

EVE-NG kullanılarak modellenen basit bir IXP örneğini kullanarak bir trafik değişim noktasının çalışma prensibine bakalım ve ardından BIRD yazılım yönlendiricisinin temel kurulumunu ele alalım. Diyagramı basitleştirmek için artıklık ve hata toleransı gibi önemli şeyleri atlayacağız.

Ağ topolojisi aşağıdaki şekilde gösterilmektedir.

Trafik değişim noktası: kökenlerden kendi IX'inizi oluşturmaya kadar

Küçük bir değişim noktası yönettiğimizi ve aşağıdaki eşleme seçeneklerini sağladığımızı varsayalım:

  • halka açık bakış,
  • özel bakış,
  • rota sunucusu aracılığıyla bakıyor.

AS numaramız 555, ağımıza bağlanmak isteyenler için IP adresleri verdiğimiz 4/50.50.50.0 IPv24 adres bloğuna sahibiz.

50.50.50.254 – Rota sunucusu arayüzünde yapılandırılan IP adresi, bu IP ile istemciler RS ​​üzerinden eşleme durumunda bir BGP oturumu kuracaktır.

Ayrıca, RS yoluyla eşleme için, BGP topluluğunu temel alan basit bir yönlendirme politikası geliştirdik; bu politika, IXP katılımcılarının kime ve hangi rotalara gönderileceğini düzenlemesine olanak tanıyor:

BGP topluluğu
Açıklama

LOCAL_AS:PEER_AS
Önekleri yalnızca PEER_AS'ye gönder

LOCAL_AS:IXP_AS
Önekleri tüm IXP katılımcılarına aktarın

3 müşteri IXP'mize bağlanmak ve trafik alışverişinde bulunmak istiyor; Diyelim ki bunlar İnternet sağlayıcıları. Hepsi bir rota sunucusu aracılığıyla eşlemeyi organize etmek istiyor. Aşağıda istemci bağlantı parametrelerini içeren bir şema bulunmaktadır:

Müşteri
Müşteri AS numarası
Müşterinin reklamını yaptığı önekler
IXP'ye bağlanmak için istemciye verilen IP adresi

İSS #1
100 AS
1.1.0.0/16
50.50.50.10/24

İSS #2
200 AS
2.2.0.0/16
50.50.50.20/24

İSS #3
300 AS
3.3.0.0/16
50.50.50.30/24

İstemci yönlendiricisinde temel BGP kurulumu:

router bgp 100
 no bgp enforce-first-as
 bgp log-neighbor-changes
 neighbor 50.50.50.254 remote-as 555
address-family ipv4
  network 1.1.0.0 mask 255.255.0.0
  neighbor 50.50.50.254 activate
  neighbor 50.50.50.254 send-community both
  neighbor 50.50.50.254 soft-reconfiguration inbound
  neighbor 50.50.50.254 route-map ixp-out out
 exit-address-family

ip prefix-list as100-prefixes seq 5 permit 1.1.0.0/16
route-map bgp-out permit 10
 match ip address prefix-list as100-prefixes
 set community 555:555

Burada bgp ilk önce uygula ayarının bulunmadığını belirtmekte fayda var. Varsayılan olarak BGP, alınan bir BGP güncellemesinin as-path'inin, güncellemenin alındığı eşin as bgp numarasını içermesini gerektirir. Ancak rota sunucusu as-path'te değişiklik yapmadığından, numarası as-path'te olmayacak ve güncelleme atılacaktır. Bu ayar, yönlendiricinin bu kuralı göz ardı etmesini sağlamak için kullanılır.

Ayrıca müşterinin bgp topluluğu 555:555'i bu önek olarak ayarladığını görüyoruz; bu, politikamıza göre müşterinin bu öneki tüm diğer katılımcılara duyurmak istediği anlamına gelir.

Diğer istemcilerin yönlendiricileri için ayarlar, benzersiz parametreleri dışında benzer olacaktır.

Örnek BIRD yapılandırması:

define ixp_as = 555;
define ixp_prefixes = [ 50.50.50.0/24+ ];

template bgp RS_CLIENT {
  local as ixp_as;
  rs client;
}

Aşağıda Marslı öneklerinin yanı sıra IXP'nin kendi öneklerini de kabul etmeyen bir filtre açıklanmaktadır:

function catch_martians_and_ixp()
prefix set martians;
prefix set ixp_prefixes;
{
  martians = [ 
  0.0.0.0/8+,
  10.0.0.0/8+,
  100.64.0.0/10+,
  127.0.0.0/8+,
  169.254.0.0/16+,
  172.16.0.0/12+,
  192.0.0.0/24+,
  192.0.2.0/24+,
  192.168.0.0/16+,
  198.18.0.0/15+,
  198.51.100.0/24+,
  203.0.113.0/24+,
  224.0.0.0/4+,
  240.0.0.0/4+ ];

  if net ~ martians || net ~ ixp_prefixes then return false;

  return true;
}

Bu fonksiyon daha önce tanımladığımız yönlendirme politikasını uygular.

function bgp_ixp_policy(int peer_as)
{
  if (ixp_as, ixp_as) ~ bgp_community then return true;
  if (ixp_as, peer_as) ~ bgp_community then return true;

  return false;
}

filter reject_martians_and_ixp
{
  if catch_martians_and_ixp() then reject;
  if ( net ~ [0.0.0.0/0{25,32} ] ) then {
    reject;
  }
  accept;


}

Eşlemeyi yapılandırır, uygun filtreleri ve politikaları uygularız.

protocol as_100 from RS_CLIENT {
  neighbor 50.50.50.10 as 100;
  ipv4 {
    export where bgp_ixp_policy(100);
    import filter reject_martians_and_ixp;
  }
}

protocol as_200 from RS_CLIENT {
  neighbor 50.50.50.20 as 200;
  ipv4 {
    export where bgp_ixp_policy(200);
    import filter reject_martians_and_ixp;
  }
}

protocol as_300 from RS_CLIENT {
  neighbor 50.50.50.30 as 300;
  ipv4 {
    export where bgp_ixp_policy(300);
    import filter reject_martians_and_ixp;
  }
}

Bir rota sunucusunda, farklı eşlerden gelen rotaları farklı RIB'lere yerleştirmenin iyi bir uygulama olduğunu belirtmekte fayda var. BIRD bunu yapmanıza izin verir. Örneğimizde basitlik sağlamak amacıyla, tüm istemcilerden alınan tüm güncellemeler tek bir ortak RIB'ye eklenir.

Öyleyse elimizde ne var kontrol edelim.

Yönlendirme sunucusunda üç istemcinin tamamıyla bir BGP oturumunun kurulduğunu görüyoruz:

Trafik değişim noktası: kökenlerden kendi IX'inizi oluşturmaya kadar

Tüm istemcilerden önek aldığımızı görüyoruz:

Trafik değişim noktası: kökenlerden kendi IX'inizi oluşturmaya kadar

as 100 yönlendiricide, rota sunucusunda yalnızca bir BGP oturumu varsa, hem 200 hem de 300 olarak önekler aldığımızı, ancak istemciler arasında doğrudan eşleme yapılıyormuş gibi BGP niteliklerinin değişmediğini görüyoruz:

Trafik değişim noktası: kökenlerden kendi IX'inizi oluşturmaya kadar

Böylece, bir rota sunucusunun varlığının, IXP üzerindeki eşleme organizasyonunu büyük ölçüde basitleştirdiğini görüyoruz.

Umarım bu gösteri IXP'lerin nasıl çalıştığını ve rota sunucusunun IXP'de nasıl çalıştığını daha iyi anlamanıza yardımcı olmuştur.

Linxveri merkezi IX

Linxdatacenter'da, 2 anahtar ve 2 yönlendirme sunucusundan oluşan, hataya dayanıklı bir altyapıya dayalı kendi IXP'mizi oluşturduk. IXP'miz şu anda test modunda çalışıyor ve herkesi Linxdatacenter IX'a bağlanmaya ve teste katılmaya davet ediyoruz. Bağlandığınızda, size 1 Gbit/s bant genişliğine sahip bir bağlantı noktası, rota sunucularımız üzerinden eşleme olanağı ve ayrıca şu adreste bulunan IX portalındaki kişisel hesabınıza erişim sağlanacaktır: ix.linxdatacenter.com.

Testlere erişim sağlamak için yorumlara veya özel mesajlara yazın.

Aviator apk

Trafik değişim noktaları, internetin şafağında, telekom operatörleri arasındaki optimal olmayan trafik akışı sorununu çözmeye yönelik bir araç olarak ortaya çıktı. Artık yeni küresel hizmetlerin ortaya çıkması ve CDN trafiğinin artmasıyla birlikte, değişim noktaları küresel ağın işleyişini optimize etmeye devam ediyor. Dünyadaki IXP sayısının artması hem hizmetin son kullanıcısına hem de telekom operatörlerine, içerik operatörlerine vb. fayda sağlıyor. IXP katılımcıları için fayda, harici eşlemeyi organize etme maliyetlerinin azaltılması, üst düzey operatörlerin ödemek zorunda olduğu trafik miktarının azaltılması, yönlendirmenin optimize edilmesi ve içerik operatörleri ile doğrudan bir arayüze sahip olma yeteneği olarak ifade edilmektedir.

Faydalı linkler

  • Trafik değişim noktalarının konumunun haritasını görüntüleyin: www.internetexchangemap.com
  • IXP'deki varlık da dahil olmak üzere BGP eşlemeyle ilgili ayrıntılı istatistikleri görüntüleyin: www.peeringdb.com

Kaynak: habr.com

DDoS korumalı siteler, VPS VDS sunucuları için güvenilir hosting satın alın 🔥 DDoS korumalı, güvenilir VPS ve VDS sunucu barındırma hizmeti satın alın | ProHoster