Trafik almashinuv nuqtasi: kelib chiqishidan o'zingizning IX-ni yaratishgacha

Trafik almashinuv nuqtasi: kelib chiqishidan o'zingizning IX-ni yaratishgacha

"Biz SRIdagi yigitlar bilan telefon aloqasini o'rnatdik ...", dedi Kleinrock ... intervyuda:
"Biz L harfini yozdik va telefonda so'radik:" L harfini ko'ryapsizmi?
"Ha, biz L ni ko'rmoqdamiz", degan javob keldi.
"Biz O harfini yozdik va "O'ni ko'ryapsizmi?" deb so'radik."
— Ha, biz O‘ ni ko‘ramiz.
"Keyin biz G harfini yozdik va tizim ishdan chiqdi"...

Hali inqilob boshlandi ...

Internetning boshlanishi.


Hammaga salom!

Mening ismim Aleksandr, men Linxdatacenterda tarmoq muhandisiman. Bugungi maqolada biz trafik almashinuv punktlari (Internet Exchange Points, IXP) haqida gapiramiz: ularning paydo bo'lishidan oldin nima bo'lgan, ular qanday vazifalarni hal qilishadi va ular qanday qurilgan. Shuningdek, ushbu maqolada men EVE-NG platformasi va BIRD dasturiy ta'minot yo'riqnomasidan foydalangan holda IXP ning ishlash printsipini namoyish qilaman, shunda siz uning qanday ishlashini tushunasiz.

Biroz tarix

Agar qarasangiz shu yerda, keyin siz trafik almashinuv punktlari sonining tez o'sishi 1993 yilda boshlanganini ko'rishingiz mumkin. Buning sababi shundaki, o'sha paytda mavjud bo'lgan aloqa operatorlari trafigining katta qismi AQSh magistral tarmog'i orqali o'tgan. Masalan, trafik Frantsiyadagi operatordan Germaniyadagi operatorga o'tganda, u avval Frantsiyadan AQShga, keyin esa AQShdan Germaniyaga o'tdi. Magistral tarmoq bu holatda Frantsiya va Germaniya o'rtasida tranzit vazifasini bajargan. Hatto bir mamlakat ichidagi trafik ko'pincha to'g'ridan-to'g'ri emas, balki Amerika operatorlarining magistral tarmoqlari orqali o'tadi.

Bu holat nafaqat tranzit tashish narxiga, balki kanallar sifatiga va kechikishlarga ham ta'sir ko'rsatdi. Internetdan foydalanuvchilar soni ko'paydi, yangi operatorlar paydo bo'ldi, trafik hajmi oshdi va Internet etuklashdi. Butun dunyodagi operatorlar operatorlararo hamkorlikni tashkil qilishda yanada oqilona yondashish zarurligini anglay boshladilar. "Nega men, A operatori, keyingi ko'chada joylashgan B operatoriga trafikni etkazib berish uchun boshqa mamlakat orqali tranzit uchun pul to'lashim kerak?" Bu taxminan o'sha paytda aloqa operatorlari o'zlariga savol berishdi. Shunday qilib, trafik almashinuv punktlari dunyoning turli burchaklarida operator kontsentratsiya nuqtalarida paydo bo'la boshladi:

  • 1994 yil - LINX Londonda,
  • 1995 yil - Frankfurtdagi DE-CIX,
  • 1995 yil - MSK-IX, Moskvada va boshqalar.

Internet va bizning kunlarimiz

Konseptual jihatdan zamonaviy Internet arxitekturasi ko'plab avtonom tizimlardan (AS) va ular orasidagi jismoniy va mantiqiy bog'lanishlardan iborat bo'lib, ular bir ASdan ikkinchisiga trafik yo'lini belgilaydi.

ASlar odatda telekommunikatsiya operatorlari, Internet provayderlari, CDNlar, ma'lumotlar markazlari va korporativ segment kompaniyalari hisoblanadi. ASlar odatda BGP protokolidan foydalangan holda mantiqiy ulanishlarni (peering) tashkil qiladi.

Avtonom tizimlar ushbu ulanishlarni qanday tashkil etishi bir qator omillar bilan belgilanadi:

  • geografik,
  • iqtisodiy,
  • siyosiy,
  • AS egalari o'rtasidagi kelishuvlar va umumiy manfaatlar,
  • va hokazo.

Albatta, bu sxema ma'lum bir tuzilishga va ierarxiyaga ega. Shunday qilib, operatorlar 1-darajali, 2-darajali va 3-darajali toifalarga bo'linadi va agar mahalliy Internet-provayder (3-darajali) mijozlari, qoida tariqasida, oddiy foydalanuvchilar bo'lsa, u holda, masalan, 1-darajali uchun. darajadagi operatorlar mijozlar boshqa operatorlardir. 3-darajali operatorlar o'z abonentlarining trafigini, 2-darajali aloqa operatorlari o'z navbatida 3-darajali operatorlarning trafigini va 1-darajali - barcha Internet-trafiklarini jamlaydi.

Sxematik ravishda uni quyidagicha ifodalash mumkin:

Trafik almashinuv nuqtasi: kelib chiqishidan o'zingizning IX-ni yaratishgacha
Ushbu rasmda trafik pastdan yuqoriga jamlanganligini ko'rsatadi, ya'ni. oxirgi foydalanuvchilardan 1-darajali operatorlargacha. Bundan tashqari, taxminan bir-biriga ekvivalent bo'lgan ASlar o'rtasida trafikning gorizontal almashinuvi mavjud.

Ushbu sxemaning ajralmas qismi va ayni paytda kamchiliklari geografik hududda oxirgi foydalanuvchiga yaqinroq joylashgan avtonom tizimlar o'rtasidagi ulanishlarning ma'lum bir chalkashligidir. Quyidagi rasmni ko'rib chiqing:

Trafik almashinuv nuqtasi: kelib chiqishidan o'zingizning IX-ni yaratishgacha

Faraz qilaylik, katta shaharda 5 ta aloqa operatori mavjud bo'lib, ular o'rtasida u yoki bu sabablarga ko'ra yuqorida ko'rsatilganidek tashkil etilgan.

Agar Go ISP ga ulangan Petya foydalanuvchisi ASM provayderiga ulangan serverga kirishni istasa, ular orasidagi trafik 5 ta avtonom tizim orqali o'tishga majbur bo'ladi. Bu kechikishni oshiradi, chunki trafik o'tadigan tarmoq qurilmalari soni, shuningdek Go va ASM o'rtasidagi avtonom tizimlardagi tranzit trafik hajmi ortadi.

Trafik o'tishga majbur bo'lgan tranzit AS sonini qanday kamaytirish mumkin? To'g'ri - trafik almashinuv nuqtasi.

Bugungi kunda yangi IXP-larning paydo bo'lishi 90-2000-yillarning boshlarida bo'lgani kabi, faqat kichikroq miqyosda, telekommunikatsiya operatorlari, foydalanuvchilar va trafik sonining ko'payishi, CDN tarmoqlari tomonidan yaratilgan kontent miqdorining o'sishiga javoban bir xil ehtiyojlar bilan bog'liq. va ma'lumotlar markazlari.

Ayirboshlash nuqtasi nima?

Trafik almashish punkti - bu maxsus tarmoq infratuzilmasi bo'lgan joy bo'lib, u erda o'zaro trafik almashinuvidan manfaatdor ishtirokchilar o'zaro piringni tashkil qiladi. Trafik almashinuv punktlarining asosiy ishtirokchilari: aloqa operatorlari, Internet-provayderlar, kontent-provayderlar va ma'lumotlar markazlari. Trafik almashinuv punktlarida ishtirokchilar bir-biri bilan bevosita bog'lanadi. Bu sizga quyidagi muammolarni hal qilish imkonini beradi:

  • kechikishni kamaytirish,
  • tranzit tashish hajmini kamaytirish,
  • AS o'rtasida marshrutlashni optimallashtirish.

IXPlar dunyoning ko'plab yirik shaharlarida mavjudligini hisobga olsak, bularning barchasi umuman Internetga foydali ta'sir ko'rsatadi.

Agar Petya bilan bog'liq yuqoridagi vaziyat IXP yordamida hal qilinsa, u shunday bo'ladi:

Trafik almashinuv nuqtasi: kelib chiqishidan o'zingizning IX-ni yaratishgacha

Trafik almashinuv punkti qanday ishlaydi?

Qoida tariqasida, IXP alohida IPv4/IPv6 manzillari blokiga ega alohida AS hisoblanadi.

IXP tarmog'i ko'pincha uzluksiz L2 domenidan iborat. Ba'zan bu barcha IXP mijozlarini o'z ichiga olgan VLAN. Kattaroq, geografik jihatdan taqsimlangan IXPlar haqida gap ketganda, L2 domenini tashkil qilish uchun MPLS, VXLAN va boshqalar kabi texnologiyalardan foydalanish mumkin.

IXP elementlari

  • SKS. Bu erda g'ayrioddiy narsa yo'q: tokchalar, optik o'zaro bog'lanishlar, patch panellar.
  • Kalitlar – IXP asosi. Kommutator porti IXP tarmog'iga kirish nuqtasidir. Kalitlar xavfsizlik funktsiyalarining bir qismini ham bajaradi - ular IXP tarmog'ida bo'lmasligi kerak bo'lgan keraksiz trafikni filtrlaydi. Qoida tariqasida, kalitlar funktsional talablar asosida tanlanadi - ishonchlilik, qo'llab-quvvatlanadigan port tezligi, xavfsizlik xususiyatlari, sFlow yordami va boshqalar.
  • Marshrut serveri (RS) - har qanday zamonaviy trafik almashinuv punktining ajralmas va zarur qismi. Ishlash printsipi iBGP-dagi marshrut reflektoriga yoki OSPF-dagi belgilangan marshrutizatorga juda o'xshash va bir xil muammolarni hal qiladi. Trafik almashinuv punkti ishtirokchilari soni ortib borayotganligi sababli, har bir ishtirokchi qo'llab-quvvatlashi kerak bo'lgan BGP seanslari soni ortadi, ya'ni. bu iBGPdagi klassik to'liq tarmoqli topologiyani eslatadi. RS muammoni quyidagi tarzda hal qiladi: u har bir manfaatdor IXP ishtirokchisi bilan BGP seansini o'rnatadi va bu ishtirokchi RS mijoziga aylanadi. Mijozlaridan biridan BGP yangilanishini olgan RS ushbu yangilanishni boshqa barcha mijozlariga yuboradi, albatta, ushbu yangilanish olinganidan tashqari. Shunday qilib, RS barcha IXP a'zolari o'rtasida to'liq tarmoq o'rnatish zaruratini yo'q qiladi va miqyoslash muammosini oqlangan tarzda hal qiladi. Shuni ta'kidlash kerakki, marshrut serveri BGP tomonidan uzatiladigan atributlarga o'zgartirish kiritmasdan marshrutlarni bir ASdan ikkinchisiga shaffof tarzda uzatadi, masalan, u o'zining AS-dagi raqamni AS-yo'liga qo'shmaydi. Shuningdek, RS da marshrutlarni asosiy filtrlash mavjud: masalan, RS marslik tarmoqlarini va IXP ning o'zi prefikslarini qabul qilmaydi.

    Ko'pincha marshrut serveri yechimi sifatida ochiq kodli dasturiy ta'minot routeri, BIRD (bird internet marshrutlash demoni) ishlatiladi. Buning yaxshi tomoni shundaki, u bepul, ko'pgina Linux distribyutorlarida tez o'rnatiladi, marshrutlash/filtrlash siyosatini o'rnatish uchun moslashuvchan mexanizmga ega va hisoblash resurslariga talab qo'ymaydi. Shuningdek, RS sifatida Cisco, Juniper va boshqalardan apparat/virtual router tanlanishi mumkin.

  • Xavfsizlik. IXP tarmog'i ko'p sonli ASlarning kontsentratsiyasi bo'lganligi sababli, barcha ishtirokchilar rioya qilishlari kerak bo'lgan xavfsizlik siyosati yaxshi yozilgan bo'lishi kerak. Umuman olganda, IXP dan tashqari ikkita alohida BGP tengdoshlari o'rtasida BGP qo'shniligini o'rnatish uchun ishlatiladigan barcha mexanizmlar, shuningdek, ba'zi qo'shimcha xavfsizlik choralari bu erda qo'llaniladi.

    Misol uchun, faqat IXP ishtirokchisining oldindan kelishilgan ma'lum bir mac manzilidan trafikka ruxsat berish yaxshi amaliyotdir. 0x0800(IPv4), 0x08dd(IPv6), 0x0806(ARP) dan boshqa etertipli maydonlar bilan trafikni rad etish; bu BGP peeringiga tegishli bo'lmagan trafikni filtrlash uchun amalga oshiriladi. GTSM, RPKI va boshqalar kabi mexanizmlardan ham foydalanish mumkin.

Ehtimol, yuqoridagilar miqyosdan qat'i nazar, har qanday IXP ning asosiy tarkibiy qismlaridir. Albatta, kattaroq IXPlar qo‘shimcha texnologiyalar va yechimlarga ega bo‘lishi mumkin.
IXP o'z ishtirokchilariga qo'shimcha xizmatlarni taqdim etadi:

  • IXP TLD DNS serveriga joylashtirilgan,
  • Ishtirokchilarga vaqtni toʻgʻri sinxronlashtirish imkonini beruvchi apparat NTP serverlarini oʻrnatish,
  • DDoS hujumlaridan himoya qilish va boshqalar.

Ish printsipi

Keling, EVE-NG yordamida modellashtirilgan oddiy IXP misolida trafik almashinuv punktining ishlash printsipini ko'rib chiqamiz va keyin BIRD dasturiy ta'minot routerining asosiy sozlamalarini ko'rib chiqamiz. Diagrammani soddalashtirish uchun biz ortiqcha va xatolarga chidamlilik kabi muhim narsalarni o'tkazib yuboramiz.

Tarmoq topologiyasi quyidagi rasmda ko'rsatilgan.

Trafik almashinuv nuqtasi: kelib chiqishidan o'zingizning IX-ni yaratishgacha

Faraz qilaylik, biz kichik almashinuv punktini boshqaramiz va quyidagi tengdosh variantlarini taqdim etamiz:

  • jamoatchilik bilan tanishish,
  • shaxsiy tinglash,
  • marshrut serveri orqali ko'rish.

Bizning AS raqamimiz 555, biz IPv4 manzillar blokiga egamiz - 50.50.50.0/24, biz tarmoqqa ulanishni istaganlar uchun IP manzillarini beramiz.

50.50.50.254 - IP-manzil marshrut serveri interfeysida sozlangan, bu bilan IP-mijozlar RS orqali peering bo'lgan taqdirda BGP seansini o'rnatadilar.

Shuningdek, RS orqali peering uchun biz BGP hamjamiyatiga asoslangan oddiy marshrutlash siyosatini ishlab chiqdik, bu IXP ishtirokchilariga kimga va qanday marshrutlarni yuborishni tartibga solish imkonini beradi:

BGP hamjamiyati
tavsifi

LOCAL_AS:PEER_AS
Prefikslarni faqat PEER_ASga yuboring

LOCAL_AS:IXP_AS
Prefikslarni barcha IXP ishtirokchilariga o'tkazing

3 ta mijoz IXP ga ulanishni va trafik almashishni xohlaydi; Aytaylik, bular Internet provayderlari. Ularning barchasi marshrut serveri orqali peringni tashkil qilishni xohlaydi. Quyida mijoz ulanish parametrlari bilan diagramma keltirilgan:

Xaridor
Mijozning AS raqami
Mijoz reklama qilingan prefikslar
IXP ga ulanish uchun mijozga berilgan IP manzil

ISP №1
AS 100
1.1.0.0/16
50.50.50.10/24

ISP №2
AS 200
2.2.0.0/16
50.50.50.20/24

ISP №3
AS 300
3.3.0.0/16
50.50.50.30/24

Mijoz yo'riqnomasida asosiy BGP sozlamalari:

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

Bu yerda no bgp enforce-first-as sozlamasini ta'kidlash joiz. Odatiy bo'lib, BGP qabul qilingan BGP yangilanishining as-yo'li yangilanish olingan tengdoshning bgp raqamini o'z ichiga olishini talab qiladi. Ammo marshrut serveri as-pathga o'zgartirishlar kiritmagani uchun uning raqami as-pathda bo'lmaydi va yangilanish o'chiriladi. Ushbu sozlama yo'riqnoma ushbu qoidani e'tiborsiz qoldirish uchun ishlatiladi.

Shuningdek, mijoz ushbu prefiksga bgp community 555:555 ni o‘rnatganini ko‘ramiz, bu bizning siyosatimizga ko‘ra, mijoz ushbu prefiksni boshqa barcha ishtirokchilarga reklama qilmoqchi ekanligini bildiradi.

Boshqa mijozlarning marshrutizatorlari uchun sozlamalar o'xshash bo'ladi, ularning noyob parametrlari bundan mustasno.

BIRD konfiguratsiyasiga misol:

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

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

Quyida mars prefikslarini, shuningdek IXP prefikslarini qabul qilmaydigan filtr tasvirlangan:

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;
}

Ushbu funktsiya biz yuqorida tavsiflangan marshrutlash siyosatini amalga oshiradi.

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;


}

Biz peeringni sozlaymiz, tegishli filtrlar va siyosatlarni qo'llaymiz.

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;
  }
}

Shuni ta'kidlash kerakki, marshrut serverida turli xil tengdoshlarning marshrutlarini turli RIBlarga qo'yish yaxshi amaliyotdir. BIRD sizga buni amalga oshirishga imkon beradi. Bizning misolimizda, soddaligi uchun barcha mijozlardan olingan barcha yangilanishlar bitta umumiy RIBga qo'shiladi.

Xo'sh, keling, nima borligini tekshirib ko'raylik.

Marshrut serverida biz uchta mijoz bilan BGP seansi o'rnatilganligini ko'ramiz:

Trafik almashinuv nuqtasi: kelib chiqishidan o'zingizning IX-ni yaratishgacha

Biz barcha mijozlardan prefikslarni olishimizni ko'ramiz:

Trafik almashinuv nuqtasi: kelib chiqishidan o'zingizning IX-ni yaratishgacha

As 100 routerda biz marshrut serverida faqat bitta BGP seansi mavjud bo'lsa, biz 200 va 300 prefikslarini olamiz, BGP atributlari o'zgarmagan, go'yo mijozlar o'rtasida peering to'g'ridan-to'g'ri amalga oshirilgan:

Trafik almashinuv nuqtasi: kelib chiqishidan o'zingizning IX-ni yaratishgacha

Shunday qilib, biz marshrut serverining mavjudligi IXP da peeringni tashkil qilishni ancha soddalashtirganini ko'ramiz.

Umid qilamanki, ushbu namoyish sizga IXP qanday ishlashini va marshrut serveri IXP da qanday ishlashini yaxshiroq tushunishga yordam berdi.

Linxdatacenter IX

Linxdatacenterda biz 2 ta kalit va 2 marshrut serveridan iborat nosozliklarga chidamli infratuzilma asosida o‘z IXP ni qurdik. Bizning IXP hozirda test rejimida ishlamoqda va biz barchani Linxdatacenter IX ga ulanishga va testda ishtirok etishga taklif qilamiz. Ulanganingizda sizga 1 Gbit/s o‘tkazish qobiliyatiga ega port, marshrut serverlarimiz orqali tanishish imkoniyati, shuningdek, quyidagi manzilda mavjud bo‘lgan IX portalning shaxsiy kabinetiga kirish imkoniyati taqdim etiladi. ix.linxdatacenter.com.

Sinovga kirish uchun sharhlar yoki shaxsiy xabarlarga yozing.

xulosa

Trafik almashinuv punktlari Internetning paydo bo'lishida aloqa operatorlari o'rtasida suboptimal trafik oqimi muammosini hal qilish vositasi sifatida paydo bo'ldi. Endilikda, yangi global xizmatlar paydo bo'lishi va CDN-trafik hajmining oshishi bilan almashinuv punktlari global tarmoqning ishlashini optimallashtirishda davom etmoqda. Dunyoda IXPlar sonining ko'payishi xizmatning oxirgi foydalanuvchisi uchun ham, aloqa operatorlari, kontent operatorlari va boshqalar uchun ham foydalidir. IXP ishtirokchilari uchun foyda tashqi piringni tashkil qilish xarajatlarini kamaytirish, yuqori darajadagi operatorlar toʻlashi kerak boʻlgan trafik miqdorini kamaytirish, marshrutlashni optimallashtirish va kontent operatorlari bilan toʻgʻridan-toʻgʻri interfeysga ega boʻlish imkoniyatida namoyon boʻladi.

Foydali havolalar

Manba: www.habr.com

a Izoh qo'shish