Dalam dunia reka bentuk sistem, rangkaian adalah gam yang mengikat komponen yang berbeza bersama-sama. Sama ada anda sedang membina aplikasi web, sistem yang diedarkan atau perkhidmatan hujung belakang yang ringkas, memahami cara rangkaian berfungsi adalah kunci untuk memastikan komunikasi, keselamatan dan prestasi lancar. Dalam bab ini, kita akan membincangkan beberapa aspek teras rangkaian yang penting untuk membina sistem berskala dan boleh dipercayai.
Mari mulakan dengan asas. Rangkaian komputer ialah koleksi peranti yang saling bersambung (komputer, pelayan, penghala, dll.) yang berkomunikasi antara satu sama lain. Ia seperti sistem pos untuk data: ia membenarkan peranti berbeza menghantar dan menerima maklumat dalam bentuk paket. Apabila pengguna berinteraksi dengan perkhidmatan dalam talian (katakan, apl penghantaran makanan anda), paket ini sentiasa dihantar berulang-alik antara peranti mereka dan pelayan yang menguasakan apl itu.
Contoh: Di pejabat biasa, komputer pekerja disambungkan ke pencetak, pelayan fail dan kadangkala telefon melalui LAN. Persediaan ini membolehkan perkongsian pantas sumber.
Contoh: Bayangkan sebuah syarikat besar dengan pejabat di New York, London dan Tokyo. Pejabat mempunyai LAN secara dalaman, tetapi untuk berkomunikasi antara satu sama lain, mereka menggunakan WAN, mungkin memanfaatkan sambungan internet atau peribadi.
Untuk memahami cara rangkaian beroperasi, kami menggunakan Model OSI, yang membahagikan rangkaian kepada tujuh lapisan:
Kebanyakan masa dalam reka bentuk sistem, kami menumpukan pada lapisan 3 hingga 7, terutamanya apabila berurusan dengan protokol komunikasi, keselamatan dan aliran data.
HTTP (Hypertext Transfer Protocol) dan HTTPS (HTTP Secure) ialah protokol utama yang digunakan untuk komunikasi di web. Mereka mentakrifkan cara mesej diformat dan dihantar antara pelanggan (seperti penyemak imbas) dan pelayan.
Contoh: Anda menaip "www.fooddelivery.com" dalam penyemak imbas anda dan ia menghantar permintaan HTTP untuk mengambil halaman utama.
Contoh: Apabila pengguna membuat pesanan pada apl penghantaran makanan anda, HTTPS memastikan butiran pembayaran mereka disulitkan dan selamat semasa mereka bergerak dari peranti mereka ke pelayan anda.
TCP (Transmission Control Protocol) dan IP (Internet Protocol) ialah dua daripada protokol asas yang memberi kuasa kepada internet.
Contoh: Jika apl penghantaran makanan anda menghantar butiran pelanggan ke pelayan, TCP memastikan keseluruhan mesej dihantar tanpa kehilangan sebarang bahagian.
Contoh: Apabila anda membuat permintaan daripada telefon anda, ia menggunakan alamat IP anda untuk menghalakan data ke pelayan. Pelayan mempunyai alamat IPnya sendiri, membenarkan paket kembali kepada anda dengan betul.
TCP/IP bersama-sama membentuk tulang belakang komunikasi internet. Ia seperti perkhidmatan pos yang boleh dipercayai: TCP memastikan kandungan pakej adalah utuh dan IP memastikan ia sampai ke tempat yang betul.
DNS adalah seperti buku telefon internet. Daripada mengingati alamat IP (yang seperti nombor telefon untuk pelayan), kami menggunakan nama domain seperti "www.example.com." DNS menyelesaikan nama ini menjadi alamat IP, jadi peranti anda tahu tempat untuk menghantar permintaan.
pengimbang beban adalah penting apabila menskala secara mendatar. Ia adalah alat yang mengedarkan trafik masuk merentasi berbilang pelayan untuk memastikan tiada pelayan tunggal yang terharu. Ini menjadikan sistem anda lebih berskala dan tahan terhadap kesalahan.
CDN ialah cara yang bijak untuk mengurangkan kependaman dan meningkatkan prestasi untuk pengguna yang tersebar di seluruh lokasi yang berbeza. CDN ialah rangkaian pengedaran pelayan yang diletakkan di seluruh dunia yang menyimpan versi cache kandungan anda. Apabila pengguna meminta sesuatu daripada tapak web anda, CDN menyajikan kandungan tersebut daripada pelayan yang paling dekat dengan mereka dan bukannya daripada pelayan utama anda, mengurangkan masa yang diperlukan untuk memuatkan.
Contoh: Katakan apl penghantaran makanan anda mempunyai pelanggan di India dan A.S., tetapi pelayan utama anda terletak di Eropah. Tanpa CDN, pengguna di India mungkin mengalami masa muat yang perlahan kerana permintaan mereka perlu pergi ke Eropah. Tetapi dengan CDN, pelayan di India boleh menyiarkan imej cache, butiran restoran dan kandungan statik, menjadikan apl berasa lebih pantas.
Keselamatan ialah kebimbangan utama dalam mana-mana sistem, dan teknologi utama untuk memastikan komunikasi selamat melalui rangkaian ialah SSL (Lapisan Soket Selamat) dan TLS (Keselamatan Lapisan Pengangkutan). Protokol ini menyulitkan data yang dihantar antara pelanggan dan pelayan, memastikan maklumat sensitif, seperti kata laluan dan butiran pembayaran, dilindungi daripada penyadap.
Contoh: Dalam apl penghantaran makanan anda, apabila pengguna menyerahkan maklumat kad kredit mereka untuk membuat pembayaran, data tersebut disulitkan menggunakan TLS sebelum dihantar ke pelayan. Ini memastikan bahawa walaupun seseorang memintas data, mereka tidak dapat membacanya kerana ia disulitkan.
Contoh: Apabila pengguna membuka apl anda, peranti mereka dan pelayan anda melalui jabat tangan ini untuk bersetuju tentang cara menyulitkan data sebelum sebarang maklumat sensitif, seperti butiran log masuk atau maklumat pembayaran, dihantar.
Dalam mana-mana sistem di mana data bergerak merentasi rangkaian, keselamatan adalah yang terpenting. Berikut ialah beberapa amalan keselamatan utama untuk memastikan sistem selamat:
Contoh: Katakan pelakon yang berniat jahat cuba mengatasi apl penghantaran makanan anda dengan menghantar berjuta-juta permintaan palsu. Pengehadan kadar API boleh mengurangkan permintaan ini dan menghalang sistem daripada ranap.
ID)** boleh membantu memaklumkan anda apabila terdapat percubaan untuk melanggar rangkaian anda.
Untuk mendayakan SSL/TLS, anda memerlukan sijil SSL, yang mengesahkan identiti tapak web atau pelayan anda. Sijil dikeluarkan oleh entiti yang dipercayai yang dipanggil Pihak Berkuasa Sijil (CA), yang menjamin tapak web anda adalah sah.
Contoh: Apabila anda membeli sijil SSL untuk domain apl penghantaran makanan anda, sijil tersebut dikeluarkan oleh CA seperti Let’s Encrypt atau DigiCert. Ini memberitahu pengguna bahawa data mereka selamat dan mereka sebenarnya berinteraksi dengan apl anda, bukan penipu.
Melaksanakan 2FA ialah lapisan keselamatan tambahan, yang memerlukan pengguna menyediakan dua bentuk pengenalan (biasanya sesuatu yang mereka tahu, seperti kata laluan dan sesuatu yang mereka ada, seperti peranti mudah alih). Ini menjadikannya lebih sukar bagi penyerang untuk menjejaskan akaun.
Contoh: Dalam apl penghantaran makanan anda, mendayakan 2FA untuk pengguna boleh membantu menghalang akses tanpa kebenaran walaupun kata laluan mereka dicuri.
Atas ialah kandungan terperinci Asas rangkaian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!