Трафик алмашуу пункту: келип чыккандан баштап өзүңүздүн IX түзмөгүңүздү түзүүгө чейин

Трафик алмашуу пункту: келип чыккандан баштап өзүңүздүн IX түзмөгүңүздү түзүүгө чейин

"Биз SRIдагы балдар менен телефон байланышын түздүк...", - деди Клейнрок... маегинде:
"Биз L тамгасын тердик жана телефондон:" L тамгасын көрүп жатасызбы?"
"Ооба, биз L көрөбүз" деген жооп келди.
"Биз О тамгасын терип, "О дегенди көрүп жатасыңбы" деп сурадык."
– Ооба, биз О.
"Анан биз G тердик, система бузулуп калды"...

Бирок революция башталды...

Интернеттин башталышы.


Баарына салам!

Менин атым Александр, мен Linxdatacenter тармагында инженермин. Бүгүнкү макалада биз трафик алмашуу пункттары (Internet Exchange Points, IXP) жөнүндө сүйлөшөбүз: алардын пайда болушуна чейин эмне болгон, алар кандай милдеттерди чечет жана кантип курулган. Ошондой эле бул макалада мен EVE-NG платформасын жана BIRD программалык роутерин колдонуу менен IXPтин иштөө принцибин көрсөтөм, андыктан сиз анын "капоттун астында" кандайча иштээрин түшүнөсүз.

Бир аз тарыхы

Карасаң бул жерде, анда трафик алмашуу пункттарынын санынын тез өсүшү 1993-жылы башталганын көрүүгө болот. Бул ошол кездеги байланыш операторлорунун трафигинин көбү АКШнын магистралдык тармагы аркылуу өткөндүгүнө байланыштуу. Мисалы, трафик Франциядагы оператордон Германиядагы операторго өткөндө, алгач Франциядан АКШга, андан кийин гана АКШдан Германияга кеткен. Бул учурда магистралдык тармак Франция менен Германиянын ортосундагы транзит катары кызмат кылган. Атүгүл бир өлкөнүн ичиндеги трафик көбүнчө түз эмес, америкалык операторлордун магистралдык тармактары аркылуу өткөн.

Мындай абал транзиттик трафикти жеткирүүнүн баасына гана эмес, каналдардын сапатына жана кечигүүлөргө да таасирин тийгизди. Интернет колдонуучулардын саны өстү, жаңы операторлор пайда болду, трафиктин көлөмү көбөйдү, интернет жетилди. Бүткүл дүйнөдөгү операторлор операторлор аралык өз ара аракеттенүүнү уюштурууга кыйла рационалдуу мамиле кылуу зарыл экенин түшүнө башташты. "Эмне үчүн мен, А оператору, трафикти кийинки көчөдө жайгашкан В операторуна жеткирүү үчүн башка өлкө аркылуу транзит үчүн төлөшүм керек?" Бул болжол менен ошол кезде байланыш операторлору өздөрүнө суроо. Ошентип, трафиктин алмашуу пункттары дүйнөнүн ар кайсы аймактарында оператордун топтолгон пункттарында пайда боло баштады:

  • 1994 – LINX Лондондо,
  • 1995 – Франкфурттагы DE-CIX,
  • 1995 – MSK-IX, Москвада ж.б.

Интернет жана биздин күндөр

Концепциялык жактан алганда, заманбап Интернеттин архитектурасы көптөгөн автономдуу системалардан (АС) жана алардын ортосундагы физикалык да, логикалык да көптөгөн байланыштардан турат, алар бир АСтан экинчисине трафиктин жолун аныктайт.

AS көбүнчө телекоммуникация операторлору, Интернет провайдерлери, CDNs, маалымат борборлору жана ишкана сегментиндеги компаниялар. ASes адатта BGP протоколун колдонуп, өз ара логикалык байланыштарды (пиринг) уюштурат.

Автономдуу системалар бул байланыштарды кантип уюштурары бир катар факторлор менен аныкталат:

  • географиялык,
  • экономикалык,
  • саясий,
  • AS ээлеринин ортосундагы келишимдер жана жалпы кызыкчылыктар,
  • жана башкалар.

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

Схема боюнча, бул төмөнкүчө чагылдырууга болот:

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

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

Трафик алмашуу пункту: келип чыккандан баштап өзүңүздүн IX түзмөгүңүздү түзүүгө чейин

Чоң шаарда 5 байланыш оператору бар деп ойлойлу, алардын ортосунда тигил же бул себептерден улам, жогоруда көрсөтүлгөндөй тетири уюштурулган.

Go ISPге туташкан Петя колдонуучусу ASM провайдерине туташкан серверге кирүүнү кааласа, анда алардын ортосундагы трафик 5 автономдуу система аркылуу өтүүгө аргасыз болот. Бул кечигүүнү көбөйтөт, анткени трафик өтүүчү тармактык түзүлүштөрдүн саны, ошондой эле Go менен ASM ортосундагы автономдуу системалардагы транзиттик трафиктин көлөмү көбөйөт.

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

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

алмашуу пункту деген эмне?

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

  • кечиктирүүнү азайтуу,
  • транзиттик трафиктин көлөмүн азайтуу,
  • AS ортосундагы маршрутту оптималдаштыруу.

IXP дүйнө жүзү боюнча көптөгөн ири шаарларда бар экенин эске алсак, мунун баары бүтүндөй Интернетке жакшы таасирин тийгизет.

Эгерде Петя менен жогорудагы кырдаал IXP аркылуу чечилсе, анда бул төмөнкүдөй болот:

Трафик алмашуу пункту: келип чыккандан баштап өзүңүздүн IX түзмөгүңүздү түзүүгө чейин

Трафик алмашуу пункту кантип иштейт?

Эреже катары, IXP коомдук IPv4/IPv6 даректеринин өзүнүн блогу менен өзүнчө AS болуп саналат.

IXP тармагы көбүнчө үзгүлтүксүз L2 доменинен турат. Кээде бул бардык IXP кардарларын камтыган VLAN. Кеп чоңураак, географиялык жактан бөлүштүрүлгөн 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-жолуна кошпойт. Ошондой эле RSда маршруттарды негизги чыпкалоо бар: мисалы, RS Martians тармактарын жана IXP префикстерин кабыл албайт.

    Ачык булактуу программалык роутер, BIRD (канаттуу интернет багыттоочу демон), көбүнчө маршруттук сервер чечими катары колдонулат. Анын жакшы жери, ал бекер, көпчүлүк Linux дистрибьютерлеринде тез орнотулат, багыттоо/фильтрлөө саясатын орнотуу үчүн ийкемдүү механизмге ээ жана эсептөө ресурстарын талап кылбайт. Ошондой эле, RS катары Cisco, Juniper ж.б.дан аппараттык/виртуалдык роутерди тандаса болот.

  • Коопсуздук. IXP тармагы көп сандагы АСлардын топтолушу болгондуктан, бардык катышуучулар карманууга тийиш болгон коопсуздук саясаты жакшы жазылган болушу керек. Жалпысынан алганда, бул жерде IXPден тышкары эки өзүнчө BGP теңдештеринин ортосунда BGP чектештигин орнотуу үчүн колдонулган бардык механизмдер, ошондой эле кээ бир кошумча коопсуздук чаралары колдонулат.

    Мисалы, алдын ала сүйлөшүлгөн IXP катышуучусунун белгилүү бир Mac дарегинен трафикке уруксат берүү жакшы практика. 0x0800(IPv4), 0x08dd(IPv6), 0x0806(ARP) башка ethertype талаалары менен трафикти четке кагуу; бул BGP пирингине кирбеген трафикти чыпкалоо үчүн жасалат. GTSM, RPKI ж.б. сыяктуу механизмдерди да колдонсо болот.

Балким, жогоруда айтылгандар масштабына карабастан, ар кандай IXPдин негизги компоненттери болуп саналат. Албетте, чоңураак IXPs кошумча технологияларга жана чечимдерге ээ болушу мүмкүн.
Ошондой эле 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 жаңыртуусунун жолу жаңыртуу алынган теңдештин as 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 түзмөгүңүздү түзүүгө чейин

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

Source: www.habr.com

Комментарий кошуу