
"Kami mengatur koneksi telepon antara kami dan orang-orang di SRI ...", Kleinrock ... mengatakan dalam sebuah wawancara:
"Kami mengetik huruf L dan kami bertanya di telepon," Apakah kamu melihat huruf L? ""
"Ya, kita melihat huruf L," jawabnya.
"Kami mengetikkan O, dan kami bertanya," Apakah Anda melihat O. ""
"Ya, kami melihat O."
"Lalu kita mengetikkan G, dan sistem crash" ...
Namun sebuah revolusi telah dimulai ...
Awal mula internet.
Halo semuanya!
Nama saya Alexander, saya seorang insinyur jaringan di Linxdatacenter. Dalam artikel hari ini, kita akan berbicara tentang titik pertukaran lalu lintas (Internet Exchange Point, IXP): apa yang mendahului penampilan mereka, tugas apa yang mereka selesaikan dan bagaimana mereka dibangun. Juga dalam artikel ini saya akan menunjukkan bagaimana IXP bekerja menggunakan platform EVE-NG dan router perangkat lunak BIRD, sehingga Anda dapat memahami cara kerjanya "di bawah tenda".
Sedikit sejarah
Jika Anda melihat di
sini , Anda dapat melihat bahwa pertumbuhan pesat dalam jumlah titik pertukaran lalu lintas dimulai pada tahun 1993. Hal ini disebabkan kenyataan bahwa sebagian besar lalu lintas operator telekomunikasi yang ada saat itu melewati jaringan backbone AS. Jadi, misalnya, ketika lalu lintas beralih dari operator di Prancis ke operator di Jerman, pertama-tama datang dari Prancis ke AS, dan baru kemudian dari AS ke Jerman. Jaringan backbone dalam kasus ini bertindak sebagai transit antara Prancis dan Jerman. Bahkan lalu lintas dalam satu negara sering berlalu tidak secara langsung, tetapi melalui jaringan inti operator Amerika.
Keadaan ini tidak hanya memengaruhi biaya pengiriman lalu lintas transit, tetapi juga kualitas saluran dan keterlambatannya. Jumlah pengguna Internet meningkat, operator baru muncul, volume lalu lintas meningkat, Internet tumbuh. Operator di seluruh dunia mulai menyadari bahwa diperlukan pendekatan yang lebih rasional terhadap organisasi interaksi antar operator. βMengapa saya, operator A, membayar transit melalui negara lain untuk mengirimkan lalu lintas ke operator B, yang terletak di jalan tetangga?β Sesuatu seperti itu diminta oleh operator telekomunikasi pada waktu itu. Jadi, di berbagai belahan dunia, titik pertukaran lalu lintas mulai muncul di titik konsentrasi operator:
- 1994 - LINX di London,
- 1995 - DE-CIX di Frankfurt,
- 1995 - MSK-IX, di Moskow, dll.
Internet dan hari ini
Secara konseptual, arsitektur Internet modern adalah seperangkat sistem otonom (sistem otonom, AS) dan banyak koneksi di antara mereka, baik fisik dan logis, yang menentukan jalur lalu lintas dari satu AS ke yang lain.
AS biasanya operator telekomunikasi, penyedia Internet, CDN, pusat data, perusahaan di segmen perusahaan. AS mengatur mengintip di antara mereka sendiri, sebagai suatu peraturan, menggunakan protokol BGP.
Bagaimana sistem otonom mengatur hubungan ini ditentukan oleh sejumlah faktor:
- geografis
- ekonomi
- politis
- pengaturan dan kepentingan bersama antara pemilik SA,
- dll.
Tentu saja, dalam skema ini ada struktur dan hierarki tertentu. Dengan demikian, operator dibagi menjadi tier-1, tier-2 dan tier-3, dan jika pelanggan untuk penyedia Internet lokal (tier-3) biasanya pengguna biasa, maka, misalnya, untuk operator tier-1 operator lain. Operator tier-3 mengumpulkan lalu lintas pelanggan mereka sendiri, operator telekomunikasi tier-2, pada gilirannya, mengagregasi lalu lintas operator tier-3, dan tier-1 - semua lalu lintas Internet.
Secara skematis, ini dapat direpresentasikan sebagai berikut:
Dalam gambar ini Anda dapat melihat bahwa lalu lintas dikumpulkan dari bawah ke atas, mis. dari pengguna akhir ke operator tingkat-1. Ada juga pertukaran lalu lintas horizontal antara AS kira-kira setara satu sama lain.Bagian yang tidak terpisahkan dan pada saat yang sama kelemahan dari skema ini adalah kekacauan koneksi tertentu antara sistem otonom yang terletak lebih dekat ke pengguna akhir, dalam zona geografis. Perhatikan gambar di bawah ini:

Misalkan di kota besar ada 5 operator komunikasi, mengintip di antaranya, karena satu dan lain alasan, diatur seperti yang ditunjukkan di atas.
Jika pengguna Petya, yang terhubung ke penyedia Internet Go, ingin mendapatkan akses ke server yang terhubung ke penyedia ASM, maka lalu lintas di antara mereka akan dipaksa untuk melalui 5 sistem otonom. Ini meningkatkan penundaan, karena meningkatkan jumlah perangkat jaringan di mana lalu lintas akan pergi, serta jumlah lalu lintas transit pada sistem otonom antara Go dan ASM.
Bagaimana cara mengurangi jumlah AS transit yang terpaksa melewati lalu lintas? Itu benar - titik pertukaran lalu lintas.
Saat ini, kemunculan IXP baru disebabkan oleh kebutuhan yang sama seperti pada awal 90-an-2000an, hanya dalam skala yang lebih kecil, sebagai tanggapan atas meningkatnya jumlah operator, pengguna, dan lalu lintas telekomunikasi, semakin banyaknya konten yang dihasilkan oleh jaringan CDN dan pusat data.
Apa itu titik pertukaran lalu lintas?
Titik pertukaran lalu lintas adalah tempat dengan infrastruktur jaringan khusus di mana peserta yang tertarik dalam pertukaran lalu lintas bersama mengatur saling mengintip. Peserta utama dalam poin pertukaran lalu lintas: operator telekomunikasi, penyedia Internet, penyedia konten dan pusat data. Di titik pertukaran lalu lintas, peserta terhubung langsung satu sama lain. Ini memungkinkan Anda untuk memecahkan masalah berikut:
- mengurangi penundaan
- mengurangi jumlah lalu lintas transit,
- Mengoptimalkan perutean antara AS.
Mempertimbangkan bahwa IXP hadir di banyak kota besar di dunia, ini semua mempengaruhi Internet secara keseluruhan.
Jika situasi yang dijelaskan di atas dengan Petya diselesaikan dengan bantuan IXP, itu akan menjadi seperti ini:

Bagaimana pengaturan titik pertukaran lalu lintas?
Sebagai aturan, IXP adalah AS yang terpisah dengan blok alamat IPv4 / IPv6 publiknya sendiri.
Jaringan IXP paling sering adalah domain L2 kontinu. Terkadang ini hanya VLAN yang menampung semua klien IXP. Ketika datang ke IXP yang lebih besar, didistribusikan secara geografis, teknologi seperti MPLS, VXLAN, dll. Dapat digunakan untuk mengatur domain L2.
Elemen IXP
- SCS. Tidak ada yang aneh di sini: rak, lintas negara optik, panel tambalan.
- Switch adalah dasar dari IXP. Port switch adalah titik masuk jaringan IXP. Switch juga melakukan bagian dari fungsi keamanan - menyaring lalu lintas sampah yang seharusnya tidak ada di jaringan IXP. Sebagai aturan, sakelar dipilih berdasarkan persyaratan fungsional - keandalan, kecepatan port yang didukung, fitur keamanan, dukungan sFlow, dll.
- Server rute (RS) adalah bagian integral dan penting dari setiap titik pertukaran lalu lintas modern. Ini bekerja sangat mirip dengan reflektor rute di iBGP atau router yang ditunjuk di OSPF dan memecahkan masalah yang sama. Dengan bertambahnya jumlah peserta di titik pertukaran lalu lintas, jumlah sesi BGP meningkat, yang harus didukung oleh setiap peserta, mis. itu menyerupai topologi full-mesh klasik di iBGP. RS menyelesaikan masalah sebagai berikut: membuat sesi BGP dengan setiap peserta IXP yang tertarik, dan ia menjadi klien RS. Menerima pembaruan BGP dari salah satu kliennya, RS mengirim pembaruan ini ke semua klien lainnya, tentu saja, kecuali yang menerima pembaruan tersebut. Dengan demikian, RS menghilangkan kebutuhan untuk menginstal full-mesh antara semua peserta IXP dan secara elegan menyelesaikan masalah skalabilitas. Perlu dicatat bahwa server rute secara transparan mentransfer rute dari satu AS ke yang lain, tanpa membuat perubahan pada atribut BGP yang ditransmisikan, misalnya, tidak menambahkan nomor dalam AS-nya ke jalur AS. Juga, penyaringan dasar rute terjadi pada RS: misalnya, RS tidak menerima jaringan Mars dan awalan IXP.
Router perangkat lunak open source, BIRD (bird internet routing daemon), sering digunakan sebagai solusi server rute. Ini bagus karena gratis, cepat digunakan pada kebanyakan distribusi linux, memiliki mekanisme yang fleksibel untuk mengkonfigurasi kebijakan routing / filter, dan tidak menuntut sumber daya komputasi. Selain itu, perangkat keras / router virtual Cisco, Juniper, dll. Dapat dipilih sebagai RS. - Keamanan Karena jaringan IXP adalah konsentrasi sejumlah besar AS, kebijakan keamanan yang harus diikuti semua peserta harus didefinisikan dengan baik. Sebagai aturan, semua mekanisme yang sama yang digunakan untuk membangun lingkungan BGP antara dua rekan BGP terpisah di luar IXP diterapkan di sini, serta beberapa fitur keamanan tambahan.
Misalnya, praktik yang baik untuk hanya mengizinkan lalu lintas dari alamat mac IXP tertentu, yang dinegosiasikan sebelumnya. Tolak lalu lintas dengan bidang ethertype selain 0x0800 (IPv4), 0x08dd (IPv6), 0x0806 (ARP); ini dilakukan untuk menyaring lalu lintas yang tidak memiliki ruang untuk peering BGP. Mekanisme seperti GTSM, RPKI, dll. Juga dapat digunakan.
Mungkin yang di atas adalah komponen utama dari setiap IXP, terlepas dari skala. Tentu saja, IXP besar dapat menggunakan teknologi dan solusi tambahan.
IXP juga menyediakan layanan tambahan bagi para anggotanya:
- di-host di server DNS IXP TLD,
- Instal server NTP perangkat keras, yang memungkinkan peserta untuk secara tepat menyinkronkan waktu,
- memberikan perlindungan terhadap serangan DDoS, dll.
Prinsip kerja
Kami akan menganalisis prinsip operasi titik pertukaran lalu lintas menggunakan IXP paling sederhana yang disimulasikan oleh EVE-NG sebagai contoh, dan kemudian mempertimbangkan konfigurasi dasar router perangkat lunak BIRD. Untuk menyederhanakan skema, kami menghilangkan hal-hal penting seperti redundansi dan toleransi kesalahan.
Topologi jaringan ditunjukkan pada gambar di bawah ini.

Misalkan kita mengelola titik pertukaran lalu lintas kecil dan memberikan opsi peering berikut:
- mengintip publik
- peering pribadi
- mengintip melalui server rute.
Nomor AS kami adalah 555, kami memiliki blok alamat IPv4 - 50.50.50.0/24, dari mana kami mengeluarkan alamat IP, bagi mereka yang ingin terhubung ke jaringan kami.
50.50.50.254 - Alamat IP yang dikonfigurasi pada antarmuka server rute, dengan klien IP ini akan membuat sesi BGP jika mengintip melalui RS.
Juga untuk mengintip melalui RS, kami telah mengembangkan kebijakan perutean paling sederhana berdasarkan komunitas BGP, yang memungkinkan peserta IXP untuk mengatur kepada siapa dan rute mana yang harus dikirim:
3 klien ingin terhubung dan bertukar traffic dengan IXP kami; katakanlah ini adalah penyedia internet. Mereka semua ingin mengatur peering melalui server rute. Di bawah ini adalah diagram dengan parameter koneksi klien:
Pengaturan BGP dasar pada router klien:
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
Pengaturan di sini bukan bgp menegakkan-pertama-as. Secara default, BGP mensyaratkan bahwa sebagai nomor bgp dari rekan dari mana pembaruan ini diterima hadir sebagai jalur pembaruan BGP yang diterima. Tetapi karena server rute tidak membuat perubahan ke as-path, jumlahnya akan absen dari as-path dan pembaruan akan dibuang. Pengaturan ini digunakan untuk menyebabkan router mengabaikan aturan ini.
Kami juga melihat bahwa klien menginstal komunitas bgp 555: 555 pada awalan ini, yang menurut kebijakan kami berarti bahwa klien ingin mengumumkan awalan ini kepada semua peserta lainnya.
Untuk router klien lain, pengaturannya akan serupa, kecuali untuk parameter unik mereka.
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 ini menjelaskan filter yang tidak menerima awalan Mars, 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 mengimplementasikan kebijakan perutean yang kami jelaskan sebelumnya.
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 mengatur peering, menerapkan filter dan kebijakan 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 dicatat bahwa pada server rute, merupakan bentuk yang baik untuk menambahkan rute dari rekan yang berbeda ke RIB yang berbeda. BIRD memungkinkan Anda melakukan ini. Dalam contoh kami, untuk kesederhanaan, semua pembaruan yang diterima dari semua klien ditambahkan ke satu RIB umum.
Jadi, mari kita periksa apa yang kita dapatkan.
Pada server rute kita melihat bahwa dengan ketiga klien, sesi BGP diinstal:

Kami melihat bahwa kami menerima awalan dari semua klien:

Pada router 100, kita melihat bahwa jika hanya ada satu sesi BGP dengan server rute, kita mendapatkan awalan dari keduanya sebagai 200 dan 300, sedangkan atribut BGP tidak berubah, seolah-olah mengintip antara klien dilakukan secara langsung:

Dengan demikian, kita melihat bahwa keberadaan server rute sangat menyederhanakan organisasi mengintip IXP.
Saya berharap demonstrasi ini membantu Anda lebih memahami bagaimana mengatur titik pertukaran lalu lintas dan bagaimana server rute pada IXP diimplementasikan.
Linxdatacenter ix
Di Linxdatacenter, kami membangun IXP kami sendiri berdasarkan infrastruktur toleran dari 2 sakelar dan 2 server rute. Sekarang IXP kami diluncurkan dalam mode uji, dan kami mengundang semua orang untuk terhubung ke Linxdatacenter IX dan ikut serta dalam pengujian. Saat menghubungkan, Anda akan diberikan port dengan bandwidth 1 Gbit / dtk, kemampuan untuk mengintip melalui server rute kami, serta akses ke akun pribadi portal IX, tersedia di
ix.linxdatacenter.com .
Tulis dalam komentar atau pesan pribadi untuk mendapatkan akses ke pengujian.
Kesimpulan
Titik pertukaran lalu lintas muncul pada awal Internet sebagai alat untuk mengatasi masalah arus lalu lintas yang tidak optimal antara operator telekomunikasi. Sekarang dengan munculnya layanan global baru dan peningkatan jumlah lalu lintas CDN, titik pertukaran juga terus mengoptimalkan operasi jaringan global. Peningkatan jumlah IXP di dunia bermanfaat baik bagi pengguna akhir layanan, dan untuk operator telekomunikasi, operator konten, dll. Untuk peserta IXP, manfaatnya dinyatakan dalam pengurangan biaya mengatur layanan peer-to-peer eksternal, pengurangan jumlah lalu lintas yang membebani operator yang lebih tinggi, optimasi rute, dan kemampuan untuk memiliki antarmuka langsung dengan operator konten.
Tautan yang bermanfaat