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

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

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

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

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


Привет!

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

Біраз тарих

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

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

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

Интернет және біздің күндер

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

АС әдетте байланыс операторлары, Интернет провайдерлері, CDN, деректер орталықтары және кәсіпорын сегментінің компаниялары болып табылады. ASs әдетте BGP хаттамасын пайдалана отырып, өзара логикалық байланыстарды (пиринг) ұйымдастырады.

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

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

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

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

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

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

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

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

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

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

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

Айырбастау нүктесі дегеніміз не?

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

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

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

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

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

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

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

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

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

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

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

  • Қауіпсіздік. IXP желісі AS-тің үлкен санының шоғырлануы болғандықтан, барлық қатысушылар ұстанатын қауіпсіздік саясаты жақсы жазылған болуы керек. Тұтастай алғанда, 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 мекенжайы, осы IP клиенттері RS арқылы пиринг кезінде BGP сеансын орнатады.

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

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

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

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

3 клиент 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

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

Сондай-ақ біз клиенттің осы префикске 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 құруға дейін

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

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

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

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

Linxdatacenter IX

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

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

қорытынды

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

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

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

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

пікір қалдыру