Titik pertukaran trafik: dari asal hingga mencipta IX anda sendiri

Titik pertukaran trafik: dari asal hingga mencipta IX anda sendiri

"Kami menyediakan sambungan telefon antara kami dan lelaki di SRI...", Kleinrock... berkata dalam temu bual:
"Kami menaip L dan kami bertanya di telefon, "Adakah anda melihat L?"
"Ya, kami nampak L," jawabnya.
"Kami menaip O, dan kami bertanya, "Adakah anda melihat O.""
"Ya, kami nampak O."
"Kemudian kami menaip G, dan sistem itu ranap"...

Namun revolusi telah bermula…

Permulaan internet.


Hello!

Nama saya Alexander, saya seorang jurutera rangkaian di Linxdatacenter. Dalam artikel hari ini kita akan bercakap tentang titik pertukaran lalu lintas (Internet Exchange Points, IXP): apa yang mendahului penampilan mereka, apa tugas yang mereka selesaikan dan bagaimana ia dibina. Juga dalam artikel ini saya akan menunjukkan prinsip operasi IXP menggunakan platform EVE-NG dan penghala perisian BIRD, supaya anda mempunyai pemahaman tentang cara ia berfungsi "di bawah hud".

Sedikit sejarah

kalau tengok di sini, maka anda dapat melihat bahawa pertumbuhan pesat dalam bilangan titik pertukaran trafik bermula pada tahun 1993. Ini disebabkan kebanyakan trafik pengendali telekomunikasi yang wujud pada masa itu melalui rangkaian tulang belakang AS. Jadi, sebagai contoh, apabila trafik pergi dari operator di Perancis ke operator di Jerman, ia mula-mula pergi dari Perancis ke AS, dan kemudian dari AS ke Jerman. Rangkaian tulang belakang dalam kes ini bertindak sebagai transit antara Perancis dan Jerman. Malah lalu lintas dalam satu negara sering kali tidak melaluinya secara langsung, tetapi melalui rangkaian tulang belakang pengendali Amerika.

Keadaan ini menjejaskan bukan sahaja kos penghantaran trafik transit, tetapi juga kualiti saluran dan kelewatan. Bilangan pengguna Internet meningkat, pengendali baharu muncul, jumlah trafik meningkat, dan Internet matang. Pengendali di seluruh dunia mula menyedari bahawa pendekatan yang lebih rasional untuk mengatur interaksi antara pengendali diperlukan. β€œMengapa saya, pengendali A, perlu membayar transit melalui negara lain untuk menghantar trafik kepada pengendali B, yang terletak di jalan seterusnya?” Ini kira-kira soalan yang ditanya oleh pengendali telekomunikasi pada diri mereka ketika itu. Oleh itu, titik pertukaran trafik mula muncul di bahagian yang berlainan di dunia pada titik tumpuan pengendali:

  • 1994 - LINX di London,
  • 1995 – DE-CIX di Frankfurt,
  • 1995 - MSK-IX, di Moscow, dsb.

Internet dan zaman kita

Secara konseptual, seni bina Internet moden terdiri daripada banyak sistem autonomi (AS) dan banyak sambungan antara mereka, baik fizikal dan logik, yang menentukan laluan trafik dari satu AS ke yang lain.

AS biasanya pengendali telekomunikasi, penyedia Internet, CDN, pusat data dan syarikat segmen perusahaan. AS mengatur sambungan logik (peering) sesama mereka, biasanya menggunakan protokol BGP.

Cara sistem autonomi mengatur sambungan ini ditentukan oleh beberapa faktor:

  • geografi,
  • ekonomi,
  • politik,
  • perjanjian dan kepentingan bersama antara pemilik AS,
  • dan lain-lain

Sudah tentu, skim ini mempunyai struktur dan hierarki tertentu. Oleh itu, pengendali dibahagikan kepada peringkat-1, peringkat-2 dan peringkat-3, dan jika pelanggan untuk pembekal Internet tempatan (peringkat-3) adalah, sebagai peraturan, pengguna biasa, maka, sebagai contoh, untuk peringkat-1 pengendali tahap pelanggan adalah pengendali lain. Pengendali Peringkat-3 mengagregatkan trafik pelanggan mereka, pengendali telekomunikasi peringkat-2, seterusnya mengagregatkan trafik pengendali peringkat-3, dan peringkat-1 - semua trafik Internet.

Secara skematik ia boleh diwakili seperti ini:

Titik pertukaran trafik: dari asal hingga mencipta IX anda sendiri
Gambar ini menunjukkan bahawa trafik diagregatkan dari bawah ke atas, i.e. daripada pengguna akhir kepada pengendali peringkat-1. Terdapat juga pertukaran trafik mendatar antara AS yang hampir sama antara satu sama lain.

Bahagian penting dan pada masa yang sama kelemahan skim ini adalah kekeliruan tertentu sambungan antara sistem autonomi yang terletak lebih dekat dengan pengguna akhir, dalam kawasan geografi. Pertimbangkan gambar di bawah:

Titik pertukaran trafik: dari asal hingga mencipta IX anda sendiri

Mari kita anggap bahawa di sebuah bandar besar terdapat 5 pengendali telekomunikasi, mengintip antara yang, atas satu sebab atau yang lain, dianjurkan seperti yang ditunjukkan di atas.

Jika pengguna Petya, yang disambungkan kepada Go ISP, ingin mengakses pelayan yang disambungkan kepada pembekal ASM, maka trafik antara mereka akan dipaksa melalui 5 sistem autonomi. Ini meningkatkan kelewatan kerana bilangan peranti rangkaian yang melaluinya trafik akan meningkat, serta volum trafik transit pada sistem autonomi antara Go dan ASM.

Bagaimana untuk mengurangkan bilangan AS transit yang terpaksa dilalui oleh trafik? Betul - titik pertukaran trafik.

Hari ini, kemunculan IXP baharu didorong oleh keperluan yang sama seperti pada awal 90-an-2000-an, hanya pada skala yang lebih kecil, sebagai tindak balas kepada peningkatan bilangan pengendali telekomunikasi, pengguna dan trafik, peningkatan jumlah kandungan yang dihasilkan oleh rangkaian CDN dan pusat data.

Apakah mata pertukaran?

Titik pertukaran trafik ialah tempat dengan infrastruktur rangkaian khas di mana peserta yang berminat dalam pertukaran trafik bersama menganjurkan pemerhatian bersama. Peserta utama titik pertukaran trafik: pengendali telekomunikasi, penyedia Internet, penyedia kandungan dan pusat data. Di tempat pertukaran trafik, peserta berhubung terus antara satu sama lain. Ini membolehkan anda menyelesaikan masalah berikut:

  • mengurangkan kependaman,
  • mengurangkan jumlah trafik transit,
  • mengoptimumkan penghalaan antara AS.

Memandangkan IXP terdapat di banyak bandar besar di seluruh dunia, ini semua mempunyai kesan yang baik di Internet secara keseluruhan.

Jika situasi di atas dengan Petya diselesaikan menggunakan IXP, ia akan menjadi seperti ini:

Titik pertukaran trafik: dari asal hingga mencipta IX anda sendiri

Bagaimanakah titik pertukaran trafik berfungsi?

Sebagai peraturan, IXP ialah AS yang berasingan dengan blok alamat IPv4/IPv6 awamnya sendiri.

Rangkaian IXP paling kerap terdiri daripada domain L2 berterusan. Kadangkala ini hanyalah VLAN yang mengehoskan semua pelanggan IXP. Apabila ia berkaitan dengan IXP yang lebih besar dan diedarkan secara geografi, teknologi seperti MPLS, VXLAN, dsb. boleh digunakan untuk mengatur domain L2.

elemen IXP

  • SKS. Tiada apa-apa yang luar biasa di sini: rak, sambungan silang optik, panel tampalan.
  • Suis – asas IXP. Port suis ialah titik masuk ke rangkaian IXP. Suis juga melaksanakan sebahagian daripada fungsi keselamatan - ia menapis trafik sampah yang tidak sepatutnya terdapat pada rangkaian IXP. Sebagai peraturan, suis dipilih berdasarkan keperluan fungsian - kebolehpercayaan, kelajuan port yang disokong, ciri keselamatan, sokongan sFlow, dsb.
  • Pelayan laluan (RS) – bahagian penting dan perlu bagi mana-mana titik pertukaran trafik moden. Prinsip operasi sangat serupa dengan pemantul laluan dalam iBGP atau penghala yang ditetapkan dalam OSPF dan menyelesaikan masalah yang sama. Apabila bilangan peserta dalam titik pertukaran trafik bertambah, bilangan sesi BGP yang perlu disokong oleh setiap peserta meningkat, i.e. ini mengingatkan topologi full-mesh klasik dalam iBGP. RS menyelesaikan masalah dengan cara berikut: ia mewujudkan sesi BGP dengan setiap peserta IXP yang berminat, dan peserta itu menjadi pelanggan RS. Menerima kemas kini BGP daripada salah satu pelanggannya, RS menghantar kemas kini ini kepada semua pelanggannya yang lain, sudah tentu, dengan pengecualian yang daripadanya kemas kini ini diterima. Oleh itu, RS menghapuskan keperluan untuk mewujudkan jalinan penuh antara semua ahli IXP dan menyelesaikan masalah kebolehskalaan dengan elegan. Perlu diingat bahawa pelayan laluan secara telus menghantar laluan dari satu AS ke yang lain tanpa membuat perubahan pada atribut yang dihantar oleh BGP, sebagai contoh, ia tidak menambah nombor dalam ASnya ke laluan AS. Juga pada RS terdapat penapisan asas laluan: contohnya, RS tidak menerima rangkaian Marikh dan awalan IXP itu sendiri.

    Penghala perisian sumber terbuka, BIRD (daemon penghalaan internet burung), sering digunakan sebagai penyelesaian pelayan laluan. Perkara yang baik mengenainya ialah ia percuma, digunakan dengan cepat pada kebanyakan pengedaran Linux, mempunyai mekanisme yang fleksibel untuk menyediakan dasar penghalaan/penapisan, dan tidak menuntut sumber pengkomputeran. Juga, perkakasan/penghala maya daripada Cisco, Juniper, dsb. boleh dipilih sebagai RS.

  • Keselamatan. Memandangkan rangkaian IXP ialah penumpuan sejumlah besar AS, dasar keselamatan yang mesti dipatuhi oleh semua peserta mesti ditulis dengan baik. Secara amnya, semua mekanisme yang sama yang digunakan semasa mewujudkan kedekatan BGP antara dua rakan BGP yang berasingan di luar IXP digunakan di sini, serta beberapa ciri keselamatan tambahan.

    Sebagai contoh, adalah amalan yang baik untuk membenarkan trafik hanya dari alamat mac tertentu peserta IXP, yang dirundingkan terlebih dahulu. Menafikan trafik dengan medan ethertype selain daripada 0x0800(IPv4), 0x08dd(IPv6), 0x0806(ARP); ini dilakukan untuk menapis trafik yang tidak termasuk dalam peering BGP. Mekanisme seperti GTSM, RPKI dan lain-lain juga boleh digunakan.

Mungkin perkara di atas adalah komponen utama mana-mana IXP, tanpa mengira skala. Sudah tentu, IXP yang lebih besar mungkin mempunyai teknologi dan penyelesaian tambahan.
Kebetulan IXP juga menyediakan perkhidmatan tambahan kepada pesertanya:

  • diletakkan pada pelayan DNS IXP TLD,
  • memasang pelayan NTP perkakasan, membolehkan peserta menyegerakkan masa dengan tepat,
  • memberikan perlindungan terhadap serangan DDoS, dsb.

Prinsip operasi

Mari kita lihat prinsip operasi titik pertukaran trafik menggunakan contoh IXP mudah, dimodelkan menggunakan EVE-NG, dan kemudian pertimbangkan persediaan asas penghala perisian BIRD. Untuk memudahkan rajah, kami akan meninggalkan perkara penting seperti redundansi dan toleransi kesalahan.

Topologi rangkaian ditunjukkan dalam rajah di bawah.

Titik pertukaran trafik: dari asal hingga mencipta IX anda sendiri

Katakan kita mentadbir titik pertukaran kecil dan menyediakan pilihan peering berikut:

  • pemerhatian awam,
  • pemerhatian peribadi,
  • mengintai melalui pelayan laluan.

Nombor AS kami ialah 555, kami memiliki blok alamat IPv4 – 50.50.50.0/24, yang mana kami mengeluarkan alamat IP untuk mereka yang ingin menyambung ke rangkaian kami.

50.50.50.254 – Alamat IP yang dikonfigurasikan pada antara muka pelayan laluan, dengan ini klien IP akan mewujudkan sesi BGP sekiranya melihat melalui RS.

Selain itu, untuk melihat melalui RS, kami telah membangunkan dasar penghalaan mudah berdasarkan komuniti BGP, yang membolehkan peserta IXP mengawal selia kepada siapa dan laluan yang hendak dihantar:

komuniti BGP
ОписаниС

LOCAL_AS:PEER_AS
Hantar awalan hanya kepada PEER_AS

LOCAL_AS:IXP_AS
Pindahkan awalan kepada semua peserta IXP

3 pelanggan ingin menyambung ke IXP kami dan bertukar-tukar trafik; Katakan ini adalah pembekal Internet. Mereka semua mahu mengatur peering melalui pelayan laluan. Di bawah ialah gambar rajah dengan parameter sambungan klien:

Pelanggan
Nombor AS pelanggan
Awalan yang diiklankan oleh pelanggan
Alamat IP yang dikeluarkan kepada pelanggan untuk menyambung ke IXP

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

Persediaan BGP asas pada penghala pelanggan:

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

Perlu diperhatikan tetapan tiada bgp enforce-first-as di sini. Secara lalai, BGP memerlukan laluan sebagai kemas kini BGP yang diterima mengandungi nombor sebagai bgp rakan sebaya yang menerima kemas kini. Tetapi oleh kerana pelayan laluan tidak membuat perubahan pada as-path, nombornya tidak akan berada dalam as-path dan kemas kini akan dibuang. Tetapan ini digunakan untuk membuat penghala mengabaikan peraturan ini.

Kami juga melihat bahawa pelanggan telah menetapkan komuniti bgp 555:555 kepada awalan ini, yang mengikut dasar kami bermakna pelanggan ingin mengiklankan awalan ini kepada semua peserta lain.

Untuk penghala pelanggan lain, tetapan akan serupa, kecuali parameter uniknya.

Contoh konfigurasi BIRD:

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

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

Berikut menerangkan penapis yang tidak menerima awalan martians, serta awalan IXP itu sendiri:

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

Fungsi ini melaksanakan dasar penghalaan yang kami terangkan sebelum ini.

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;


}

Kami mengkonfigurasi peering, menggunakan penapis dan dasar yang sesuai.

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

Perlu diingat bahawa pada pelayan laluan adalah amalan yang baik untuk meletakkan laluan dari rakan yang berbeza ke dalam RIB yang berbeza. BIRD membolehkan anda melakukan ini. Dalam contoh kami, untuk kesederhanaan, semua kemas kini yang diterima daripada semua pelanggan ditambah ke dalam satu RIB biasa.

Jadi, mari kita semak apa yang kita dapat.

Pada pelayan laluan kami melihat bahawa sesi BGP telah diwujudkan dengan ketiga-tiga pelanggan:

Titik pertukaran trafik: dari asal hingga mencipta IX anda sendiri

Kami melihat bahawa kami menerima awalan daripada semua pelanggan:

Titik pertukaran trafik: dari asal hingga mencipta IX anda sendiri

Pada penghala sebagai 100, kami melihat bahawa jika terdapat hanya satu sesi BGP dengan pelayan laluan, kami menerima awalan daripada kedua-dua sebagai 200 dan sebagai 300, manakala atribut BGP tidak berubah, seolah-olah mengintip antara pelanggan dijalankan secara langsung:

Titik pertukaran trafik: dari asal hingga mencipta IX anda sendiri

Oleh itu, kita melihat bahawa kehadiran pelayan laluan sangat memudahkan organisasi peering pada IXP.

Saya berharap demonstrasi ini membantu anda lebih memahami cara IXP berfungsi dan cara pelayan laluan berfungsi pada IXP.

Linxdatacenter IX

Di Linxdatacenter, kami membina IXP kami sendiri berdasarkan infrastruktur toleransi kesalahan 2 suis dan 2 pelayan laluan. IXP kami kini berjalan dalam mod ujian, dan kami menjemput semua orang untuk menyambung ke Linxdatacenter IX dan mengambil bahagian dalam ujian. Apabila disambungkan, anda akan diberikan port dengan lebar jalur 1 Gbit/s, keupayaan untuk melihat melalui pelayan laluan kami, serta akses kepada akaun peribadi anda bagi portal IX, tersedia di ix.linxdatacenter.com.

Tulis dalam ulasan atau mesej peribadi untuk mendapatkan akses kepada ujian.

Output

Titik pertukaran trafik timbul pada awal Internet sebagai alat untuk menyelesaikan isu aliran trafik yang tidak optimum antara pengendali telekomunikasi. Kini, dengan kemunculan perkhidmatan global baharu dan peningkatan jumlah trafik CDN, mata pertukaran terus mengoptimumkan operasi rangkaian global. Peningkatan bilangan IXP di dunia memberi manfaat kepada kedua-dua pengguna akhir perkhidmatan dan pengendali telekomunikasi, pengendali kandungan, dsb. Bagi peserta IXP, faedah dinyatakan dalam mengurangkan kos menganjurkan peering luaran, mengurangkan jumlah trafik yang perlu dibayar oleh pengendali peringkat tinggi, mengoptimumkan penghalaan dan keupayaan untuk mempunyai antara muka langsung dengan pengendali kandungan.

Pautan berguna

Sumber: www.habr.com

Tambah komen