Трафик алмасу нүктесі: бастапқыдан жеке IX құруға дейін

Трафик алмасу нүктесі: бастапқыдан жеке IX құруға дейін

«Біз SRI-дегі жігіттермен телефон байланысын орнаттық...», - деді Клейнрок... сұхбатында:
«Біз L әрпін теріп, телефоннан «Л әрпін көріп тұрсың ба?» деп сұрадық.
«Иә, біз L-ді көреміз», - деген жауап келді.
«Біз O әрпін теріп, «О әрпін көріп тұрсың ба?» деп сұрадық.
«Иә, біз О-ны көреміз».
«Содан кейін біз G тердік, жүйе бұзылды»...

Сонда да революция басталды...

Интернеттің бастауы.


Привет!

Менің атым Александр, мен Linxdatacenter желісінің инженерімін. Бүгінгі мақалада мен Интернет алмасу нүктелері (IXPs) туралы айтатын боламын: олардың шығу тегі, олар шешетін тапсырмалар және олар қалай құрастырылған. Мен сондай-ақ EVE-NG платформасы мен BIRD бағдарламалық құралының маршрутизаторын пайдаланып IXP қалай жұмыс істейтінін көрсетемін, осылайша оның қалай жұмыс істейтінін түсінуге болады.

Біраз тарих

Қарасаңыз осында, біз трафик алмасу нүктелерінің санының қарқынды өсуі 1993 жылы басталғанын көреміз. Бұл сол кездегі байланыс операторларының трафигінің көп бөлігі АҚШ магистральдық желісі арқылы өткенімен байланысты. Мысалы, трафик Франциядағы оператордан Германиядағы операторға өткенде, ол алдымен Франциядан АҚШ-қа, содан кейін ғана АҚШ-тан Германияға өтті. Бұл жағдайда магистральдық желі Франция мен Германия арасындағы транзиттік нүкте ретінде әрекет етті. Тіпті бір ел ішіндегі трафик жиі жанама түрде АҚШ операторларының магистральдық желілері арқылы өтеді.

Бұл жағдай транзиттік трафикті жеткізу құнына ғана емес, арналардың сапасы мен кешігуіне де әсер етті. Интернетті пайдаланушылар саны өсті, жаңа операторлар пайда болды, трафик көлемі өсті және интернет жетілді. Дүние жүзіндегі операторлар оператор аралық өзара әрекеттесуді ұйымдастыруға неғұрлым ұтымды тәсіл қажет екенін түсіне бастады. «Неліктен мен, А операторы, көшенің төменгі жағында орналасқан В операторына трафикті жеткізу үшін басқа ел арқылы транзит үшін төлеуім керек?» Бұл сол кезде байланыс операторларының өздеріне қоятын сауалы еді. Осылайша, трафик алмасу нүктелері әлемнің әртүрлі бөліктерінде операторлар шоғырланған нүктелерде пайда бола бастады:

  • 1994 – LINX Лондонда,
  • 1995 - Франкфурттағы DE-CIX,
  • 1995 ж. – МСК-IX, Мәскеуде, т.б.

Интернет және бүгінгі күн

Концептуалды түрде қазіргі Интернеттің архитектурасы автономды жүйелердің (АЖ) жиынтығы және олардың арасындағы физикалық және логикалық байланыстар жиынтығы, олар бір АС-дан екіншісіне трафиктің жолын анықтайды.

АС әдетте байланыс операторларын, интернет-провайдерлерді, CDNs, деректер орталықтарын және кәсіпорын компанияларын қамтиды. АС әдетте Border Gateway Protocol (BGP) арқылы бір-бірімен логикалық теңдестіру қатынастарын орнатады.

Автономды жүйелер бұл байланыстарды қалай ұйымдастыратыны бірқатар факторлармен анықталады:

  • географиялық,
  • экономикалық,
  • саяси,
  • AS иелері арасындағы келісімдер мен ортақ мүдделер,
  • және т.б.

Әрине, бұл схемада белгілі бір құрылым мен иерархия бар. Операторлар Tier-1, Tier-2 және Tier-3 болып бөлінеді. Жергілікті интернет провайдерінің (3-деңгей) клиенттері әдетте қарапайым пайдаланушылар болғанымен, 1-деңгейдегі операторлардың клиенттері, мысалы, басқа операторлар. 3-деңгейдегі операторлар өз абоненттерінің трафигін, 2-деңгейдегі операторлар өз кезегінде 3-деңгейдегі операторлардың трафигін, ал бірінші деңгейлі операторлар барлық интернет-трафикті біріктіреді.

Схемалық түрде оны келесідей көрсетуге болады:

Трафик алмасу нүктесі: бастапқыдан жеке IX құруға дейін
Бұл сурет трафиктің төменнен жоғарыға, яғни соңғы пайдаланушылардан 1-деңгейдегі операторларға дейін жинақталғанын көрсетеді. Сондай-ақ шамамен бірдей маңыздылығы бар АС арасында көлденең трафик алмасу бар.

Бұл схеманың ажырамас бөлігі және сонымен бірге кемшілігі географиялық аймақта соңғы пайдаланушыға жақын орналасқан автономды жүйелер арасындағы байланыстардың біршама ұйымдастырылмаған сипаты болып табылады. Төмендегі суретті қарастырыңыз:

Трафик алмасу нүктесі: бастапқыдан жеке IX құруға дейін

Үлкен қалада 5 байланыс операторы бар делік, олардың арасында бір себептермен немесе басқа себептермен жоғарыда көрсетілгендей пиринг ұйымдастырылған.

Егер Go интернет провайдеріне қосылған Petya пайдаланушысы ASM провайдеріне қосылған серверге қол жеткізгісі келсе, олардың арасындағы трафик бес автономды жүйе арқылы өтуге мәжбүр болады. Бұл кешігуді арттырады, өйткені трафик өтуі керек желілік құрылғылардың саны, Go және ASM арасындағы автономды жүйелердегі транзиттік трафик көлемі артады.

Трафик өтуі тиіс транзиттік АС санын қалай азайтуға болады? Жауап - трафик алмасу нүктесі.

Бүгінгі күні жаңа IXP-тердің пайда болуы 90-шы және 2000-шы жылдардың басындағыдай қажеттіліктермен, тек кішірек ауқымда, байланыс операторлары, пайдаланушылар мен трафик санының өсуіне және CDN желілері мен деректер орталықтары жасайтын мазмұн көлемінің өсуіне жауап ретінде туындады.

Трафик алмасу нүктесі дегеніміз не?

Трафик алмасу нүктесі (TIP) – трафик алмасуға мүдделі тараптар өзара қарым-қатынас орнататын арнайы желілік инфрақұрылымы бар орын. TIP-тің негізгі қатысушыларына байланыс операторлары, интернет-провайдерлер, контент провайдерлері және деректер орталықтары кіреді. TIP-те тараптар бір-бірімен тікелей байланысады. Бұл келесі тапсырмаларды орындауға мүмкіндік береді:

  • кешіктіруді азайту,
  • транзиттік тасымалдау көлемін азайту,
  • AS арасындағы бағыттауды оңтайландыру.

IXP әлемнің көптеген ірі қалаларында бар екенін ескерсек, бұл жалпы Интернетке оң әсер етеді.

Егер Петямен жоғарыда сипатталған жағдайды IXP көмегімен шешсек, ол келесідей болады:

Трафик алмасу нүктесі: бастапқыдан жеке IX құруға дейін

Трафик алмасу нүктесі қалай жұмыс істейді?

Әдетте, IXP жалпы IPv4/IPv6 мекенжайларының жеке блогы бар жеке AS болып табылады.

IXP желісі көбінесе бір деңгей 2 доменінен тұрады. Кейде бұл жай ғана барлық IXP клиенттерін қамтитын VLAN. Дегенмен, үлкенірек, географиялық бөлінген IXP үшін MPLS, VXLAN және басқалары сияқты технологиялар Layer 2 доменін ұйымдастыру үшін пайдаланылуы мүмкін.

IXP элементтері

  • SKS. Мұнда ерекше ештеңе жоқ: тіректер, оптикалық кресттер, патч-панельдер.
  • Коммутаторлар – IXP негізі. Коммутатор порты IXP желісіне кіру нүктесі болып табылады. Коммутаторлар сонымен қатар IXP желісінде болмауы керек қажетсіз трафикті сүзіп, кейбір қауіпсіздік функцияларын орындайды. Коммутаторлар әдетте сенімділік, қолдау көрсетілетін порт жылдамдығы, қауіпсіздік мүмкіндіктері, sFlow қолдауы және т.б. сияқты функционалдық талаптар негізінде таңдалады.
  • Маршрут сервері (RS) RS кез келген заманауи трафик алмасу нүктесінің ажырамас және қажетті құрамдас бөлігі болып табылады. Оның жұмыс принципі iBGP жүйесіндегі маршрут рефлекторына немесе OSPF жүйесіндегі тағайындалған маршрутизаторға өте ұқсас және ол бірдей мәселелерді шешеді. Трафик алмасу нүктесіне қатысушылардың саны өскен сайын, әрбір қатысушы қолдау көрсетуі керек BGP сеанстарының саны артады, бұл iBGP ішіндегі классикалық толық тор топологиясына ұқсайды. RS бұл мәселені келесідей шешеді: ол әрбір мүдделі IXP қатысушысымен BGP сеансын орнатады және сол қатысушы RS клиенті болады. Клиенттерінің бірінен BGP жаңартуын алғаннан кейін, RS бұл жаңартуды, әрине, жаңарту алынғаннан басқа барлық басқа клиенттеріне таратады. Осылайша, RS барлық IXP қатысушылары арасында толық торды орнату қажеттілігін болдырмайды және масштабтау мәселесін талғампаз түрде шешеді. Маршрут сервері жіберілетін BGP атрибуттарын өзгертпей, бір АС-дан екіншісіне маршруттарды ашық түрде тарататынын атап өткен жөн; мысалы, ол өзінің AS нөмірін AS жолына қоспайды. RS сонымен қатар негізгі маршрутты сүзуді орындайды: мысалы, RS марс желілерін немесе IXP префикстерін қабылдамайды.

    Ашық бастапқы бағдарламалық қамтамасыз ету маршрутизаторы BIRD (құс интернет маршруттау демоны) жиі маршрут серверінің шешімі ретінде пайдаланылады. Оның артықшылықтарына ақысыз болу, Linux дистрибутивтерінің көпшілігінде жылдам орналастыру, икемді бағыттау/сүзу саясаты конфигурациясы және ресурстарды аз тұтыну жатады. Cisco, Juniper немесе ұқсас жеткізушілердің аппараттық құралы немесе виртуалды маршрутизаторы да маршрут сервері ретінде пайдаланылуы мүмкін.

  • Қауіпсіздік. IXP желісі АС көп санының шоғырлануы болғандықтан, барлық қатысушылар ұстанатын қауіпсіздік саясаты жақсы анықталған болуы керек. Әдетте, кейбір қосымша қауіпсіздік шараларымен бірге IXP-тен тыс екі бөлек BGP теңдестері арасында BGP көршілес қатынастарын орнату үшін пайдаланылатын бірдей механизмдер де осы жерде қолданылады.

    Мысалы, алдын ала келісілген IXP мүшесінің белгілі MAC мекенжайынан ғана трафикке рұқсат беру жақсы тәжірибе болып табылады. Сондай-ақ 0x0800 (IPv4), 0x08dd (IPv6) немесе 0x0806 (ARP) емес, эфирлік өрістері бар трафикті қабылдамау ұсынылады; бұл BGP пирингіне жатпайтын трафикті сүзу үшін жасалады. GTSM, RPKI және басқалары сияқты механизмдерді де қолдануға болады.

Жоғарыда айтылғандар өлшеміне қарамастан кез келген IXP негізгі құрамдастары болып табылады. Әрине, үлкенірек IXP қосымша технологиялар мен шешімдерді қолдануы мүмкін.
Кейде IXP өз мүшелеріне қосымша қызметтерді ұсынады:

  • IXP TLD құрылғыларында DNS серверлерін орналастыру,
  • қатысушыларға уақытты дәл синхрондауға мүмкіндік беретін аппараттық NTP серверлерін орнату,
  • DDoS шабуылдарынан қорғауды қамтамасыз ету және т.б.

Жұмыс принципі

Біз EVE-NG көмегімен үлгіленген қарапайым IXP көмегімен трафик алмасу нүктесінің жұмыс принципін зерттейміз, содан кейін BIRD бағдарламалық құралының маршрутизаторының негізгі конфигурациясын қарастырамыз. Диаграмманы жеңілдету үшін артықшылық және ақауларға төзімділік сияқты маңызды аспектілерді өткізіп жібереміз.

Желінің топологиясы төмендегі суретте көрсетілген.

Трафик алмасу нүктесі: бастапқыдан жеке IX құруға дейін

Біз шағын интернет алмасу нүктесін басқарып, келесі теңдестіру опцияларын қамтамасыз етеміз делік:

  • қоғамдық пікір алмасу,
  • жеке қарау,
  • маршрут сервері арқылы қарау.

Біздің AS нөміріміз 555, бізде IPv4 мекенжайларының блогы бар - 50.50.50.0/24, біз одан желіге қосылғысы келетіндерге IP мекенжайларын береміз.

50.50.50.254 – маршрут серверінің интерфейсінде конфигурацияланған IP мекенжайы; Клиенттер RS арқылы пиринг болған жағдайда осы IP-мен BGP сеансын орнатады.

Біз сондай-ақ IXP қатысушыларына қай бағыттар кімге жіберілетінін басқаруға мүмкіндік беретін RS теңдестіру үшін қарапайым BGP қауымдастығына негізделген маршруттау саясатын әзірледік:

BGP қауымдастығы
сипаттамасы

LOCAL_AS:PEER_AS
Префикстерді тек PEER_AS жүйесіне жіберіңіз

LOCAL_AS:IXP_AS
Префикстерді барлық IXP қатысушыларына тасымалдау

Үш клиент, айталық, интернет-провайдерлер, біздің IXP-ге қосылып, трафикпен алмасуды қалайды. Олардың барлығы маршрут сервері арқылы пирингті орнатқысы келеді. Төменде клиенттік қосылым параметрлерін көрсететін диаграмма берілген:

Клиент
Клиенттің AS нөмірі
Клиент жариялаған префикстер
IXP желісіне қосылу үшін клиентке тағайындалған IP мекенжайы

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

Клиенттік маршрутизатордағы негізгі BGP орнату:

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

Бұл жерде "бірінші рет орындалатын bgp жоқ" параметрін атап өткен жөн. Әдепкі бойынша, BGP қабылданған BGP жаңартуының as-жолы жаңарту алынған bgp теңінің жол нөмірін қамтуын талап етеді. Дегенмен, маршрут сервері as-жолды өзгертпейтіндіктен, оның нөмірі as-жолда жоқ болады және жаңарту жойылады. Бұл параметр маршрутизаторды осы ережені елемеуге мәжбүрлеу үшін пайдаланылады.

Сондай-ақ біз клиенттің осы префикске bgp community 555:555 орнатқанын көреміз, бұл біздің саясатымызға сәйкес клиент осы префиксті барлық басқа қатысушыларға жариялағысы келетінін білдіреді.

Басқа клиенттердің маршрутизаторлары үшін олардың бірегей параметрлерін қоспағанда, конфигурация ұқсас болады.

BIRD конфигурациясының мысалы:

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

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

Төменде martians префикстерін, сондай-ақ IXP префикстерін қабылдамайтын сүзгі сипатталған:

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

Бұл функция біз бұрын сипатталған маршруттау саясатын жүзеге асырады.

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;


}

Біз теңшеуді конфигурациялаймыз және сәйкес сүзгілер мен саясаттарды қолданамыз.

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

Маршрут сервері әртүрлі әріптестердің маршруттарын бөлек RIB-ге біріктіру әдеттегі тәжірибе екенін атап өткен жөн. BIRD бұған мүмкіндік береді. Біздің мысалда қарапайымдылық үшін барлық клиенттерден алынған барлық жаңартулар бір ортақ RIB-ге біріктірілген.

Сонымен, бізде не бар екенін тексерейік.

Маршрут серверінде біз барлық үш клиентпен BGP сеансы орнатылғанын көреміз:

Трафик алмасу нүктесі: бастапқыдан жеке IX құруға дейін

Біз барлық клиенттерден префикстер алатынымызды көреміз:

Трафик алмасу нүктесі: бастапқыдан жеке IX құруға дейін

100 ретіндегі маршрутизаторда маршрут серверімен бір ғана BGP сеансымен біз 200 және 300 ретінде префикстерді алатынымызды көреміз, ал BGP атрибуттары өзгермеген, өйткені клиенттер арасында пиринг тікелей орындалған сияқты:

Трафик алмасу нүктесі: бастапқыдан жеке IX құруға дейін

Осылайша, біз маршрут серверінің болуы IXP-де пирингті ұйымдастыруды айтарлықтай жеңілдететінін көреміз.

Бұл демонстрация IXP қалай жұмыс істейтінін және маршрут серверінің IXP жүйесінде қалай жұмыс істейтінін жақсырақ түсінуге көмектесті деп үміттенемін.

Linxdatacenter IX

Linxdatacenter-де біз екі қосқыш пен екі маршрут серверінен тұратын ақауларға төзімді инфрақұрылымға негізделген жеке IXP құрдық. Біздің IXP қазір сынақ режимінде жұмыс істеп тұр және біз барлығын Linxdatacenter IX жүйесіне қосылуға және тестілеуге қатысуға шақырамыз. Қосылғаннан кейін сізге 1 Гбит/с порт, біздің маршрут серверлері арқылы қарау мүмкіндіктері және мына мекенжайда қол жеткізуге болатын IX портал тіркелгіңізге кіру мүмкіндігі беріледі. ix.linxdatacenter.com.

Тестілеуге қол жеткізу үшін түсініктемелерде немесе жеке хабарламаларда жазыңыз.

қорытынды

Трафик айырбастау нүктелері Интернеттің таңында байланыс операторлары арасындағы оңтайлы емес трафик ағыны мәселесін шешу ретінде пайда болды. Бүгінгі таңда жаңа жаһандық қызметтердің пайда болуымен және CDN трафигінің көбеюімен алмасу нүктелері ғаламдық желі өнімділігін оңтайландыруды жалғастыруда. Дүние жүзіндегі IXP санының өсуі соңғы пайдаланушыларға да, байланыс операторларына, контент провайдерлеріне және т.б. IXP қатысушылары үшін артықшылықтарға сыртқы теңдестіруді орнату шығындарын азайту, жоғары ағынды операторлар төлеуі тиіс трафик шығындарын азайту, оңтайландырылған маршруттау және мазмұн провайдерлерімен тікелей байланысу мүмкіндігі кіреді.

Пайдалы сілтемелер

  • Трафик алмасу нүктелерінің картасын қараңыз: www.internetexchangemap.com
  • IXP қатысуын қоса, егжей-тегжейлі BGP теңшеу статистикасын қараңыз: www.peeringdb.com

Ақпарат көзі: www.habr.com

DDoS қорғауы бар сайттар үшін сенімді хостинг, VPS VDS серверлерін сатып алыңыз 🔥 DDoS қорғанысы, VPS VDS серверлері бар сенімді веб-сайт хостингін сатып алыңыз | ProHoster