Anycast vs Unicast: yang lebih baik untuk dipilih dalam setiap kes

Ramai orang mungkin pernah mendengar tentang Anycast. Dalam kaedah pengalamatan dan penghalaan rangkaian ini, satu alamat IP diberikan kepada berbilang pelayan pada rangkaian. Pelayan ini juga boleh ditempatkan di pusat data yang jauh dari satu sama lain. Idea Anycast ialah, bergantung pada lokasi sumber permintaan, data dihantar ke pelayan yang terdekat (mengikut topologi rangkaian, lebih tepat lagi, protokol penghalaan BGP). Dengan cara ini, anda boleh mengurangkan bilangan lompatan dan kependaman rangkaian.

Pada asasnya, laluan yang sama diiklankan daripada berbilang pusat data di seluruh dunia. Oleh itu, pelanggan akan dihantar ke "terbaik" dan "terdekat" berdasarkan laluan BGP, pusat data. Kenapa Anycast? Mengapa menggunakan Anycast dan bukannya Unicast?

Anycast vs Unicast: yang lebih baik untuk dipilih dalam setiap kes
Unicast sangat sesuai untuk tapak dengan satu pelayan web dan jumlah trafik yang sederhana. Walau bagaimanapun, jika perkhidmatan mempunyai berjuta-juta pelanggan, ia biasanya menggunakan banyak pelayan web, setiap satu dengan alamat IP yang sama. Pelayan ini diedarkan secara geografi untuk melayani permintaan secara optimum.

Dalam senario ini, Anycast akan meningkatkan prestasi (trafik dihantar kepada pengguna dengan kelewatan yang minimum), memastikan kebolehpercayaan perkhidmatan (terima kasih kepada pelayan sandaran) dan pengimbangan beban - penghalaan ke beberapa pelayan akan mengagihkan beban antara mereka dengan berkesan, meningkatkan kelajuan daripada tapak tersebut.

Operator menawarkan pelanggan pelbagai jenis pengimbangan beban berdasarkan Anycast dan DNS. Pelanggan boleh menentukan alamat IP yang permintaan akan dihantar berdasarkan lokasi geografi tapak. Ini memungkinkan untuk mengedarkan permintaan pengguna dengan lebih fleksibel.

Katakan terdapat beberapa tapak antara yang anda perlukan untuk mengagihkan beban (pengguna), contohnya, kedai dalam talian dengan 100 permintaan setiap hari atau blog popular. Untuk mengehadkan wilayah dari mana pengguna mengakses tapak tertentu, anda boleh menggunakan pilihan Komuniti Geo. Ia membolehkan anda mengehadkan kawasan di mana pengendali akan mengiklankan laluan tersebut.

Anycast vs Unicast: yang lebih baik untuk dipilih dalam setiap kes

Anycast vs Unicast: yang lebih baik untuk dipilih dalam setiap kes
Anycast dan Unicast: perbezaan

Anycast sering digunakan dalam aplikasi seperti DNS (Sistem Nama Domain) dan CDN (Rangkaian Penghantaran Kandungan), membolehkan keputusan penghalaan yang meningkatkan prestasi rangkaian. Rangkaian penghantaran kandungan menggunakan Anycast kerana ia berurusan dengan jumlah trafik yang besar, dan Anycast memberikan beberapa kelebihan dalam kes ini (lebih lanjut mengenainya di bawah). Dalam DNS, Anycast membolehkan anda meningkatkan tahap kebolehpercayaan dan toleransi kesalahan perkhidmatan dengan ketara.

Anycast vs Unicast: yang lebih baik untuk dipilih dalam setiap kes
Dalam Anycast IP, apabila menggunakan BGP, terdapat berbilang laluan ke hos tertentu. Ini sebenarnya salinan hos dalam berbilang pusat data, digunakan untuk mewujudkan sambungan kependaman yang lebih rendah.

Jadi, dalam rangkaian Anycast, alamat IP yang sama diiklankan dari tempat yang berbeza, dan rangkaian memutuskan tempat untuk menghalakan permintaan pengguna berdasarkan "kos" laluan. Sebagai contoh, BGP sering digunakan untuk menentukan laluan terpendek untuk penghantaran data. Apabila pengguna menghantar permintaan Anycast, BGP menentukan laluan terbaik untuk pelayan Anycast yang tersedia pada rangkaian.

Faedah Anycast

Mengurangkan Latensi
Sistem dengan Anycast boleh mengurangkan kependaman apabila memproses permintaan pengguna kerana ia membenarkan anda menerima data daripada pelayan terdekat. Iaitu, pengguna akan sentiasa menyambung ke pelayan DNS "paling dekat" (dari sudut pandangan protokol penghalaan). Akibatnya, Anycast mengurangkan masa interaksi dengan mengurangkan jarak rangkaian antara klien dan pelayan. Ini bukan sahaja mengurangkan kependaman tetapi juga menyediakan pengimbangan beban.

Kelajuan

Oleh kerana trafik dihalakan ke nod terdekat dan kependaman antara klien dan nod dikurangkan, hasilnya adalah kelajuan penghantaran yang dioptimumkan, tidak kira dari mana pelanggan meminta maklumat.

Peningkatan kestabilan dan toleransi kesalahan

Jika beberapa pelayan di seluruh dunia menggunakan IP yang sama, maka jika salah satu pelayan gagal atau terputus sambungan, trafik akan dialihkan ke pelayan terdekat. Akibatnya, Anycast menjadikan perkhidmatan lebih berdaya tahan dan menyediakan akses/kependaman/kelajuan rangkaian yang lebih baik. 

Oleh itu, dengan mempunyai berbilang pelayan yang sentiasa tersedia kepada pengguna, Anycast, sebagai contoh, meningkatkan kestabilan DNS. Jika nod gagal, permintaan pengguna akan diubah hala ke pelayan DNS lain tanpa sebarang campur tangan manual atau konfigurasi semula. Anycast menyediakan penukaran yang hampir telus ke tapak lain dengan hanya mengalih keluar laluan tapak yang bermasalah. 

Pengimbangan Beban

Dalam Anycast, trafik rangkaian diedarkan merentasi pelayan yang berbeza. Iaitu, ia bertindak sebagai pengimbang beban, menghalang mana-mana pelayan tunggal daripada menerima sebahagian besar trafik. Pengimbangan beban boleh digunakan, contohnya, apabila terdapat berbilang nod rangkaian pada jarak geografi yang sama dari sumber permintaan. Dalam kes ini, beban diagihkan di antara nod.

Kurangkan kesan serangan DoS 

Satu lagi ciri Anycast ialah rintangan DDoSnya. Serangan DDoS tidak mungkin dapat menjatuhkan sistem Anycast, kerana ia perlu mengatasi semua pelayan dalam rangkaian sedemikian dengan permintaan yang banyak. 

Serangan DDoS sering menggunakan botnet, yang boleh menjana trafik yang banyak sehingga membebankan pelayan yang diserang. Kelebihan menggunakan Anycast dalam situasi ini ialah setiap pelayan dapat "menyerap" sebahagian daripada serangan, yang mengurangkan beban pada pelayan tertentu itu. Serangan penafian perkhidmatan kemungkinan besar akan disetempatkan ke pelayan dan tidak akan menjejaskan keseluruhan perkhidmatan.

Skala mendatar tinggi

Sistem Anycast sangat sesuai untuk perkhidmatan dengan jumlah trafik yang besar. Jika perkhidmatan menggunakan Anycast memerlukan pelayan baharu untuk mengendalikan trafik yang meningkat, pelayan baharu boleh ditambah pada rangkaian untuk mengendalikannya. Mereka boleh diletakkan di tapak baharu atau sedia ada. 

Jika lokasi tertentu mengalami peningkatan besar dalam trafik, maka penambahan pelayan akan membantu mengimbangi beban untuk tapak tersebut. Menambah pelayan di tapak baharu akan membantu mengurangkan masa menunggu dengan mencipta laluan terpendek baharu untuk sesetengah pengguna. Kedua-dua kaedah juga membantu meningkatkan kestabilan perkhidmatan apabila pelayan baharu tersedia pada rangkaian. Dengan cara ini, jika pelayan terlebih muatan, anda hanya boleh menggunakan satu lagi di lokasi yang membolehkannya menerima sebahagian daripada permintaan pelayan yang terlebih muatan. Ini tidak memerlukan sebarang konfigurasi di pihak pelanggan. 

Hanya dengan cara ini terabit trafik dan bilangan pengguna yang sangat besar boleh disampaikan apabila pelayan hanya mempunyai beberapa port 10 atau 25 Gbps. 100 hos dengan satu alamat IP akan membolehkan untuk memproses jumlah trafik terabit.

Pengurusan konfigurasi yang mudah

Seperti yang dinyatakan di atas, penggunaan Anycast yang menarik ialah DNS. Anda boleh meletakkan beberapa pelayan DNS yang berbeza pada nod rangkaian, tetapi gunakan satu alamat DNS. Bergantung pada tempat sumber terletak, permintaan dihalakan ke nod terdekat. Ini menyediakan beberapa pengimbangan trafik dan redundansi sekiranya berlaku kegagalan pelayan DNS. Dengan cara ini, daripada mengkonfigurasi pelayan DNS yang berbeza bergantung pada tempat ia berada, konfigurasi satu pelayan DNS boleh disebarkan ke semua nod.

Rangkaian Anycast boleh dikonfigurasikan untuk menghalakan permintaan bukan sahaja berdasarkan jarak, tetapi juga pada parameter seperti kehadiran pelayan, bilangan sambungan yang telah ditetapkan. atau masa tindak balas.

Tiada pelayan khas, rangkaian atau komponen khas diperlukan pada bahagian klien untuk menggunakan teknologi Anycast. Tetapi Anycast juga mempunyai kelemahannya. Adalah dipercayai bahawa pelaksanaannya adalah tugas yang kompleks, memerlukan peralatan tambahan, pembekal yang boleh dipercayai dan laluan trafik yang betul.

Jauh dari sumber tulen kepada kecantikan

Walaupun Anycast mengarahkan pengguna berdasarkan lompatan paling sedikit, ini tidak semestinya bermakna kependaman terendah. Latensi ialah metrik yang lebih kompleks kerana ia boleh lebih tinggi untuk satu peralihan daripada sepuluh.

Anycast vs Unicast: yang lebih baik untuk dipilih dalam setiap kes
Contoh: Komunikasi antara benua mungkin melibatkan satu lompatan dengan kependaman yang sangat tinggi.

Anycast digunakan terutamanya untuk perkhidmatan berasaskan UDP seperti DNS. Permintaan pengguna dihalakan ke pusat data "terbaik" dan "terdekat" berdasarkan laluan BGP.

Anycast vs Unicast: yang lebih baik untuk dipilih dalam setiap kes
Contoh: Stesen kerja klien DNS dengan alamat IP DNS Anycast 123.10.10.10 melaksanakan resolusi DNS kepada tiga pelayan nama DNS yang paling hampir digunakan menggunakan alamat IP Anycast yang sama. Jika Penghala R1 atau Pelayan A gagal, paket klien DNS akan dimajukan secara automatik ke pelayan DNS terdekat seterusnya melalui Penghala R2 dan R3. Selain itu, laluan ke pelayan A kami akan dialih keluar daripada jadual penghalaan, menghalang penggunaan selanjutnya pelayan nama itu.

Senario Penerapan

Terdapat dua skema umum yang digunakan untuk menentukan pelayan yang disambungkan oleh pengguna:

  • Lapisan rangkaian anycast. Menghubungkan pengguna ke pelayan terdekat. Laluan rangkaian dari pengguna ke pelayan adalah penting di sini.
  • Anycast peringkat aplikasi. Skim ini mempunyai lebih banyak metrik yang dikira, termasuk ketersediaan pelayan, masa tindak balas, bilangan sambungan, dll. Ini bergantung pada monitor luaran yang menyediakan statistik rangkaian.

CDN berdasarkan Anycast

Sekarang mari kita kembali menggunakan Anycast dalam rangkaian penghantaran kandungan. Anycast sememangnya merupakan konsep rangkaian yang menarik dan semakin diterima dalam kalangan penyedia CDN generasi seterusnya.

CDN ialah rangkaian pelayan teragih yang menyampaikan kandungan kepada pengguna akhir dengan ketersediaan tinggi dan kependaman rendah. Rangkaian penyampaian kandungan memainkan peranan penting hari ini sebagai tulang belakang kepada banyak perkhidmatan media dalam talian, dan pengguna semakin kurang bertolak ansur dengan kelajuan muat turun yang perlahan. Aplikasi video dan suara sangat sensitif terhadap kegelisahan dan kependaman rangkaian.

CDN menghubungkan semua pelayan ke dalam satu rangkaian dan memastikan pemuatan kandungan yang lebih cepat. Kadangkala adalah mungkin untuk mengurangkan masa menunggu pengguna sebanyak 5-6 saat. Tujuan CDN adalah untuk mengoptimumkan penghantaran dengan menyediakan kandungan daripada pelayan yang paling hampir dengan pengguna akhir. Ini sangat serupa dengan Anycast, di mana pelayan terdekat dipilih berdasarkan lokasi pengguna akhir. Nampaknya setiap pembekal perkhidmatan CDN akan menggunakan Anycast secara lalai, tetapi sebenarnya ini tidak berlaku.

Aplikasi yang menggunakan protokol seperti HTTP/TCP bergantung pada sambungan yang diwujudkan. Jika nod Anycast baharu dipilih (contohnya, disebabkan kegagalan pelayan), perkhidmatan mungkin terganggu. Itulah sebabnya Anycast sebelum ini disyorkan untuk perkhidmatan tanpa sambungan seperti UDP dan DNS. Walau bagaimanapun, Anycast juga berfungsi dengan baik untuk protokol berorientasikan sambungan; contohnya, TCP berfungsi dengan baik dalam mod Anycast.

Sesetengah penyedia CDN menggunakan penghalaan berasaskan Anycast, yang lain lebih suka penghalaan berasaskan DNS: pelayan terdekat dipilih berdasarkan tempat pelayan DNS pengguna berada.

Infrastruktur pusat hibrid dan berbilang data ialah satu lagi contoh penggunaan Anycast. Alamat IP Pengimbangan Beban yang diterima daripada pembekal membolehkan anda mengagihkan beban antara alamat IP perkhidmatan pelanggan yang berbeza dalam pusat data pembekal. Terima kasih kepada teknologi mana-mana peranti, ia memberikan prestasi yang lebih baik di bawah trafik yang padat, toleransi kesalahan dan membantu mengoptimumkan masa tindak balas apabila berurusan dengan sejumlah besar pengguna.

Dalam infrastruktur pusat berbilang data hibrid, anda boleh mengedarkan trafik merentas pelayan atau bahkan mesin maya pada pelayan khusus.

Oleh itu, terdapat banyak pilihan penyelesaian teknikal untuk membina infrastruktur. Anda juga boleh mengkonfigurasi pengimbangan beban merentas alamat IP merentas berbilang pusat data, menyasarkan mana-mana peranti dalam kumpulan untuk mengoptimumkan prestasi tapak.

Anda boleh mengedarkan trafik mengikut peraturan anda sendiri, mentakrifkan "berat" setiap pelayan yang diedarkan dalam setiap pusat data. Konfigurasi ini amat berguna apabila terdapat taman pelayan teragih dan prestasi perkhidmatan tidak sekata. Ini akan membolehkan trafik diedarkan dengan lebih kerap untuk meningkatkan prestasi pelayan.

Untuk mencipta sistem pemantauan menggunakan arahan ping, adalah mungkin untuk mengkonfigurasi probe. Ini membolehkan pentadbir menentukan prosedur pemantauan mereka sendiri dan mendapatkan gambaran yang lebih jelas tentang status setiap komponen dalam infrastruktur. Dengan cara ini, kriteria kebolehaksesan boleh ditakrifkan.

Ia adalah mungkin untuk membina infrastruktur hibrid: kadangkala ia adalah mudah untuk meninggalkan pejabat belakang dalam rangkaian korporat, dan penyumberan luar bahagian antara muka kepada pembekal.

Anda boleh menambah sijil SSL untuk pengimbangan beban, penyulitan data yang dihantar dan keselamatan komunikasi antara pelawat tapak dan infrastruktur korporat. Dalam kes pengimbangan beban antara pusat data, SSL juga boleh digunakan.

Perkhidmatan anycast dengan pengimbangan beban alamat boleh diperolehi daripada pembekal anda. Ciri ini akan membantu meningkatkan cara pengguna berinteraksi dengan apl berdasarkan lokasi. Cukuplah untuk mengumumkan perkhidmatan yang tersedia di pusat data, dan trafik akan dialihkan ke infrastruktur terdekat. Jika terdapat pelayan khusus, contohnya di Perancis atau Amerika Utara, maka pelanggan akan diarahkan ke pelayan terdekat pada rangkaian.

Salah satu pilihan untuk menggunakan Anycast ialah pilihan optimum titik kehadiran (PoP) pengendali. Jom beri contoh. LinkedIn (disekat di Rusia) berusaha bukan sahaja untuk meningkatkan prestasi dan kelajuan produknya - aplikasi mudah alih dan web, tetapi juga untuk menambah baik infrastruktur rangkaiannya untuk penghantaran kandungan yang lebih pantas. Untuk penghantaran kandungan dinamik ini, LinkedIn secara aktif menggunakan PoP - tempat kehadiran. Anycast digunakan untuk mengarahkan pengguna ke PoP terdekat.

Sebabnya ialah dalam kes Unycast, setiap LinkedIn PoP mempunyai alamat IP yang unik. Pengguna kemudiannya diberikan kepada PoP berdasarkan lokasi geografi mereka menggunakan DNS. Masalahnya ialah apabila menggunakan DNS, kira-kira 30% pengguna di Amerika Syarikat telah diubah hala ke PoP yang tidak optimum. Dengan pelaksanaan Anycast secara berperingkat, tugasan PoP suboptimum menurun daripada 31% kepada 10%.

Anycast vs Unicast: yang lebih baik untuk dipilih dalam setiap kes
Keputusan ujian rintis ditunjukkan dalam graf, di mana paksi-Y ialah peratusan tugasan PoP yang optimum. Apabila Anycast meningkat, banyak negeri AS menyaksikan peningkatan dalam peratusan trafik ke arah PoP optimum.

Pemantauan Rangkaian Anycast

Rangkaian Anycast adalah mudah dalam teori: beberapa pelayan fizikal diberikan alamat IP yang sama, yang BGP gunakan untuk menentukan laluan. Tetapi pelaksanaan dan reka bentuk platform Anycast adalah rumit, dan rangkaian Anycast yang toleran terhadap kesalahan amat terkenal untuk ini. Lebih mencabar ialah memantau rangkaian Anycast dengan berkesan untuk mengenal pasti dan mengasingkan kerosakan dengan cepat.

Jika perkhidmatan menggunakan pembekal CDN pihak ketiga untuk menyampaikan kandungan mereka, adalah sangat penting bagi mereka untuk memantau dan mengesahkan prestasi rangkaian. Pemantauan CDN berasaskan Anycast memfokuskan pada mengukur kependaman hujung ke hujung dan prestasi lompat kedua untuk memahami pusat data yang menyediakan kandungan. Menganalisis pengepala pelayan HTTP ialah cara lain untuk menentukan dari mana data datang.

Anycast vs Unicast: yang lebih baik untuk dipilih dalam setiap kes
Contoh: Pengepala respons HTTP yang menunjukkan lokasi pelayan CDN.

Contohnya, CloudFlare menggunakan pengepala CF-Raynya sendiri dalam mesej HTTP Response, yang merangkumi petunjuk pusat data yang permintaannya dibuat. Dalam kes Zendesk, pengepala CF-Ray untuk wilayah Seattle ialah CF-RAY: 2a21675e65fd2a3d-SEA, dan untuk Amsterdam ialah CF-RAY: 2a216896b93a0c71-AMS. Anda juga boleh menggunakan pengepala HTTP-X daripada respons HTTP untuk menentukan lokasi kandungan tersebut.

Kaedah menangani lain

Terdapat kaedah pengalamatan lain untuk menghalakan permintaan pengguna ke titik akhir rangkaian tertentu:

Unicast

Kebanyakan Internet hari ini menggunakan kaedah ini. Unicast - penghantaran unicast, alamat IP dikaitkan dengan hanya satu nod tertentu pada rangkaian. Ini dipanggil padanan satu dengan satu. 

Multicast

Multicast menggunakan perhubungan satu-ke-banyak atau banyak-ke-banyak. Multicast membenarkan permintaan daripada pengirim dihantar serentak ke titik akhir terpilih yang berbeza. Ini memberikan pelanggan keupayaan untuk memuat turun fail dalam ketulan daripada berbilang hos secara serentak (yang berguna untuk penstriman audio atau video). Multicast sering dikelirukan dengan Anycast. Walau bagaimanapun, perbezaan utama ialah Anycast mengarahkan penghantar ke satu nod tertentu, walaupun berbilang nod tersedia.

Penyiaran

Datagram daripada satu penghantar dimajukan ke semua titik akhir yang dikaitkan dengan alamat siaran. Rangkaian secara automatik mereplikasi datagram untuk dapat mencapai semua penerima dalam siaran (biasanya pada subnet yang sama).

Geocast

Geocast agak serupa dengan Multicast: permintaan daripada pengirim dihantar ke berbilang titik akhir secara serentak. Walau bagaimanapun, perbezaannya ialah penerima ditentukan oleh lokasi geografinya. Ini ialah bentuk multicast khusus yang digunakan oleh beberapa protokol penghalaan untuk rangkaian ad hoc mudah alih.

Penghala geografi mengira kawasan perkhidmatannya dan menghampirinya. Georouters, menukar kawasan perkhidmatan, membina jadual laluan. Sistem georouter mempunyai struktur hierarki.

Anycast vs Unicast: yang lebih baik untuk dipilih dalam setiap kes
Anycast vs Unicast: yang lebih baik untuk dipilih dalam setiap kes
Anycast vs Unicast: yang lebih baik untuk dipilih dalam setiap kes
Unicast, Multicast dan Broadcast.

Menggunakan teknologi Anycast meningkatkan tahap kebolehpercayaan, toleransi kesalahan dan keselamatan DNS. Menggunakan teknologi ini, pengendali menawarkan perkhidmatan pelanggan mereka untuk pelbagai jenis pengimbangan beban berdasarkan DNS. Dalam panel kawalan, anda boleh menentukan alamat IP yang permintaan akan dihantar bergantung pada lokasi geografi. Ini akan memberi peluang kepada pelanggan untuk mengedarkan permintaan pengguna dengan lebih fleksibel.

Sesetengah pengendali melaksanakan keupayaan pemantauan laluan pada setiap titik kehadiran (POP): sistem secara automatik menganalisis laluan tempatan dan global terpendek untuk titik kehadiran dan mengarahkannya melalui lokasi geografi kependaman terendah dengan masa henti sifar.

Pada masa ini, Anycast ialah penyelesaian yang paling stabil dan boleh dipercayai untuk membina perkhidmatan DNS beban tinggi, yang mempunyai keperluan tinggi untuk kestabilan dan kebolehpercayaan.

Domain .ru menyokong 35 pelayan DNS Anycast, dikumpulkan kepada 20 nod, diedarkan merentasi lima awan Anycast. Dalam kes ini, prinsip pembinaan berdasarkan ciri geografi digunakan, i.e. Geocast. Apabila meletakkan nod DNS, ia dijangka akan dipindahkan ke lokasi yang tersebar secara geografi berhampiran dengan pengguna paling aktif, kepekatan maksimum penyedia Rusia pada titik di mana nod itu berada, serta ketersediaan kapasiti bebas dan kemudahan interaksi dengan tapak.

Bagaimana untuk membina CDN?

CDN ialah rangkaian pelayan yang mempercepatkan penghantaran kandungan kepada pengguna. Rangkaian Penyampaian Kandungan menyatukan semua pelayan ke dalam satu rangkaian dan memastikan pemuatan kandungan lebih cepat. Jarak dari pelayan ke pengguna memainkan peranan penting dalam kelajuan memuatkan.

CDN membolehkan anda menggunakan pelayan yang paling hampir dengan khalayak sasaran. Ini mengurangkan masa menunggu dan membantu mempercepatkan pemuatan kandungan tapak untuk semua pelawat, yang sangat penting untuk tapak dengan fail besar atau perkhidmatan multimedia. Aplikasi biasa untuk CDN ialah e-dagang dan hiburan.

Rangkaian pelayan tambahan yang dicipta dalam infrastruktur CDN, yang terletak sedekat mungkin dengan pengguna, menyumbang kepada penghantaran data yang lebih stabil dan lebih pantas. Menurut statistik, menggunakan CDN mengurangkan kependaman apabila mengakses tapak sebanyak lebih daripada 70% berbanding tapak tanpa CDN.

bagaimana buat CDN menggunakan DNS? Menyediakan CDN menggunakan penyelesaian Anycast sendiri boleh menjadi projek yang agak mahal, tetapi terdapat pilihan yang lebih murah. Sebagai contoh, anda boleh menggunakan GeoDNS dan pelayan biasa dengan alamat IP unik. Menggunakan perkhidmatan GeoDNS, anda boleh mencipta CDN dengan keupayaan geolokasi, di mana keputusan dibuat berdasarkan lokasi sebenar pelawat, bukannya lokasi penyelesai DNS. Anda boleh mengkonfigurasi zon DNS anda untuk menunjukkan alamat IP pelayan AS kepada pelawat AS, tetapi pelawat Eropah akan melihat alamat IP Eropah.

Dengan GeoDNS, anda boleh mengembalikan respons DNS yang berbeza bergantung pada alamat IP pengguna. Untuk melakukan ini, pelayan DNS dikonfigurasikan untuk mengembalikan alamat IP yang berbeza bergantung pada alamat IP sumber dalam permintaan. Biasanya, pangkalan data GeoIP digunakan untuk menentukan wilayah dari mana permintaan dibuat. Geolokasi menggunakan DNS membolehkan anda menghantar kandungan kepada pengguna dari tapak berdekatan.

GeoDNS menentukan alamat IP klien yang menghantar permintaan DNS, atau alamat IP pelayan DNS rekursif pembekal, yang digunakan semasa memproses permintaan klien. Negara/rantau ditentukan oleh pangkalan data IP dan GeoIP pelanggan. Pelanggan kemudiannya mendapatkan alamat IP pelayan CDN terdekat. Anda boleh membaca lebih lanjut tentang menyediakan GeoDNS di sini.

Anycast atau GeoDNS?

Walaupun Anycast ialah cara terbaik untuk menyampaikan kandungan pada skala global, ia tidak mempunyai kekhususan. Di sinilah GeoDNS datang untuk menyelamatkan. Perkhidmatan ini membolehkan anda membuat peraturan yang menghantar pengguna ke titik akhir unik berdasarkan lokasi mereka.

Anycast vs Unicast: yang lebih baik untuk dipilih dalam setiap kes
Contoh: Pengguna dari Eropah diarahkan ke titik akhir yang berbeza.

Anda juga boleh menafikan akses kepada domain dengan membuang semua permintaan. Ini, khususnya, cara cepat untuk menghapuskan penceroboh.

GeoDNS memberikan jawapan yang lebih tepat daripada Anycast. Jika dalam kes Anycast laluan terpendek ditentukan oleh bilangan hop, maka dalam GeoDNS penghalaan untuk pengguna akhir berlaku bergantung pada lokasi fizikal mereka. Ini mengurangkan kependaman dan meningkatkan ketepatan semasa membuat peraturan penghalaan berbutir.

Apabila menavigasi ke domain, penyemak imbas menghubungi pelayan DNS terdekat, yang, bergantung pada domain, mengeluarkan alamat IP untuk memuatkan tapak. Katakan kedai dalam talian popular di Amerika Syarikat dan Eropah, tetapi pelayan DNS untuknya hanya tersedia di Eropah. Kemudian pengguna AS yang ingin menggunakan perkhidmatan kedai akan dipaksa untuk menghantar permintaan ke pelayan terdekat, dan kerana ia sangat jauh, mereka perlu menunggu lama untuk jawapan - tapak tidak akan dimuatkan dengan cepat.

Apabila pelayan GeoDNS terletak di AS, pengguna sudah pun mengaksesnya. Sambutan akan cepat, yang akan menjejaskan kelajuan memuatkan tapak.

Dalam situasi dengan pelayan DNS sedia ada di Amerika Syarikat, apabila pengguna dari Amerika Syarikat menavigasi ke domain tertentu, dia akan menghubungi pelayan terdekat yang akan memberikan IP yang diperlukan. Pengguna akan diarahkan ke pelayan yang mengandungi kandungan tapak, tetapi memandangkan pelayan dengan kandungan itu jauh, dia tidak akan menerimanya dengan cepat.

Jika anda mengehos pelayan CDN di AS dengan data cache, maka setelah memuatkan pelayar klien akan menghantar permintaan kepada pelayan DNS terdekat, yang akan menghantar semula alamat IP yang diperlukan. Penyemak imbas dengan IP yang diterima menghubungi pelayan CDN dan pelayan utama yang terdekat, dan pelayan CDN menyajikan kandungan cache kepada penyemak imbas. Semasa kandungan cache sedang dimuatkan, fail yang hilang untuk memuatkan tapak penuh diterima daripada pelayan utama. Akibatnya, masa memuatkan tapak dikurangkan, kerana lebih sedikit fail dihantar dari pelayan utama.

Menentukan lokasi tepat alamat IP tertentu bukanlah tugas yang mudah: terdapat banyak faktor yang dimainkan, dan pemilik julat alamat IP mungkin memutuskan untuk mengiklankannya di seberang dunia (maka anda perlu tunggu pangkalan data dikemas kini untuk mendapatkan lokasi yang betul). Kadangkala penyedia VPS memberikan alamat yang sepatutnya terletak di AS kepada VPS di Singapura.

Tidak seperti menggunakan alamat Anycast, pengedaran dilakukan semasa resolusi nama dan bukannya semasa menyambung ke pelayan caching. Jika pelayan rekursif tidak menyokong subnet klien EDNS, maka lokasi pelayan rekursif itu digunakan dan bukannya pengguna yang akan menyambung ke pelayan caching.

Subnet Pelanggan dalam DNS ialah lanjutan DNS (RFC7871) yang mentakrifkan cara pelayan DNS rekursif boleh menghantar maklumat klien ke pelayan DNS, terutamanya maklumat rangkaian yang boleh digunakan oleh pelayan GeoDNS untuk menentukan lokasi klien dengan lebih tepat.

Kebanyakan menggunakan pelayan DNS ISP atau pelayan DNS mereka yang berdekatan secara geografi dengan mereka, tetapi jika seseorang di AS atas sebab tertentu memutuskan untuk menggunakan penyelesai DNS yang terletak di Australia, mereka mungkin akan mendapat alamat pelayan IP yang paling hampir dengan Australia.

Jika anda ingin menggunakan GeoDNS, adalah penting untuk mengetahui ciri-ciri ini, kerana dalam beberapa kes ia boleh meningkatkan jarak antara pelayan caching dan klien.

Ringkasan: jika anda ingin menggabungkan beberapa VPS ke dalam CDN, maka pilihan penggunaan terbaik ialah menggunakan berkas pelayan DNS dengan fungsi GeoDNS + Anycast di luar kotak.

Anycast vs Unicast: yang lebih baik untuk dipilih dalam setiap kes

Sumber: www.habr.com

Tambah komen