Apabila satu hos menghantar data ke hos lain, data tersebut perlu dimajukan melalui berbilang lapisan penghalaan. Proses pemajuan IP pada lapisan penghalaan agak rumit Bagaimana untuk memproses datagram yang dihantar oleh hos destinasi?
Mula-mula kita perlu memahami format datagram:
Pemajuan dan kawalan IP ditentukan oleh pengepala datagram IP
Nilai panjang pengepala 4 digit adalah berdasarkan 4 bait dan nilai minimum ialah 5,iaitu, panjang pengepala minimum ialah 4x5=20 bait,
iaitu, tanpa Untuk pengepala IP sebarang pilihan, nilai maksimum yang diwakili oleh jadual 4-bit ialah 15, yang bermaksud panjang pengepala maksimum ialah 60 bait
Medan TOS 8-bit mempunyai 3 bit untuk menentukan keutamaan datagram IP (Pada masa ini usang), terdapat 4 bit yang menunjukkan pilihan
termasuk kelewatan minimum, daya pemprosesan maksimum, kebolehpercayaan maksimum dan kos minimum jenis perkhidmatan, dan jumlah bit sentiasa 0 .
Jumlah panjang 16 bit ialah bilangan bait bagi keseluruhan datagram (termasuk pengepala IP dan muatan lapisan IP).
Untuk setiap datagram IP yang dihantar, pengecam 16-bit ditambah sebanyak 1 boleh digunakan untuk memecah dan memasang semula datagram.
Bendera 3-bit dan offset hirisan 13-bit digunakan untuk menghiris. TTL (Masa untuk hidup) digunakan seperti ini:Hos sumber menetapkan masa kelangsungan hidup untuk paket data, seperti 64, dan setiap kali ia melalui penghala
Nilai dikurangkan sebanyak 1. Jika dikurangkan kepada 0, bermakna laluan telah terlalu panjang dan rangkaian hos destinasi tidak dapat ditemui, jadi paket akan dibuang oleh itu unit masa hidup ini bukan saat, tetapi lompat. Medan protokol menunjukkan sama ada protokol lapisan atas ialah TCP, UDP, ICMP atau IGMP. Kemudian terdapat checksum, yang hanya mengesahkan pengepala IP Pengesahan data dikendalikan oleh protokol lapisan yang lebih tinggi. Panjang alamat IP IPv4 ialah 32 bit. Dalam datagram IP, jumlah panjang adalah medan 16-bit, dan panjang maksimum datagram ialah 2^16-1 Walaupun datagram terpanjang boleh meningkatkan kecekapan penghantaran, ia jarang melebihi 1500 Bait ; jadi selagi ia melebihi 1500 bait, datagram dianggap berpecah. Selepas datagram IP dipecahkan, setiap serpihan membentuk satu paket dengan pengepala IP dan dihalakan secara bebas Selepas tiba di hos destinasi, lapisan IP hos destinasi akan memproses semua serpihan yang diterima sebelum menghantarnya ke lapisan pengangkutan disusun semula menjadi datagram. 1. Pemecahan IP 1. Prinsip pemecahan IP: Proses pemecahan dan pemasangan semula adalah telus kepada lapisan pengangkutan kerana datagram IP Selepas pemecahan, ia hanya boleh dipasang semula apabila ia sampai ke stesen seterusnya, dan ia dilengkapkan oleh lapisan IP destinasi. Datagram yang dipecahkan boleh dipecahkan semula seperti yang diperlukan; dan medan ID adalah konsisten untuk serpihan Amerika dan British, supaya serpihan paket data IP yang sama boleh dikenal pasti semasa pemasangan. Dalam pengepala IP, nombor pengenalan 16-bit secara unik merekodkan ID paket IP, dan serpihan IP dengan ID yang sama akan dipasang semula manakala serpihan 13-bit merekodkan kedudukan serpihan IP berbanding keseluruhan paket ; Bendera 3-bit di tengah-tengah kedua-dua jadual ini menandakan sama ada terdapat serpihan baru di belakang serpihan ini. Penerima boleh menyusun semula data IP menggunakan maklumat yang disediakan dalam tiga medan ini, yang merupakan semua maklumat yang membentuk pemecahan IP. (1) Peranan medan bendera 0 DF MFMedan bendera mempunyai tiga digit, bit tertinggi ialah 0, nilai ini mesti disalin kepada semua kumpulanNilai Jangan Fragment (DF) mesti disalin. DF=1 bermakna hos penerima tidak boleh memecah paket. Jika paket tidak boleh dipecahkan tetapi panjangnya melebihi MTU, paket hanya boleh dibuang dan mesej ralat ICMP perlu digunakan untuk memberitahu hos sumber. DF=0, bermakna ia boleh dipecahkan serpihan (MF) bermaksud sama ada serpihan itu adalah serpihan terakhir, MF=1 bermakna serpihan yang diterima bukan serpihan terakhir, MF=0 bermakna apabila serpihan itu diterima Adakah serpihan terakhir Sengaja menghantar beberapa serpihan IP dan bukannya semua, ia akan menyebabkan hos sasaran sentiasa menunggu serpihan itu digunakan dan menduduki sumber sistem. 2. Prinsip MTU (Unit Transmisi Maksimum) Apabila dua CP jauh disambungkan, data mereka mesti melalui banyak penghala dan pelbagai media rangkaian untuk mencapai pihak lain , MTU media yang berbeza dalam rangkaian adalah berbeza, sama seperti bahagian panjang paip air, yang terdiri daripada paip air dengan ketebalan yang berbeza (MTU yang berbeza Jumlah maksimum air yang melalui bahagian paip air ini akan ditentukan). oleh paip air paling nipis di tengah.
Untuk protokol lapisan atas lapisan rangkaian (di sini, ambil kluster protokol TCP/IP sebagai contoh), mereka tidak mengambil berat tentang ketebalan paip air kerana mereka fikir ia adalah masalah rangkaian . Pada lapisan rangkaian, protokol IP mengesan saiz setiap paket data yang dihantar daripada protokol lapisan atas, dan menentukan sama ada ia perlu dipecah berdasarkan saiz MTU mesin. Kelemahan terbesar sharding ialah ia mengurangkan prestasi penghantaran dan memerlukan tugas yang boleh diselesaikan sekali dibahagikan kepada pelbagai proses. Oleh itu, lapisan rangkaian yang lebih tinggi (pelaksanaan lapisan pengangkutan) sering memberi perhatian kepada perkara ini, kerana beberapa lapisan yang lebih tinggi mungkin memerlukan paket tidak boleh dipecahkan atas sebab tertentu, dan indeks akan menambah label pada pengepala IP. datagram. :DF Apabila paket data IP dihantar melalui segmen rangkaian yang besar, jika MTU lebih kecil daripada paket data, peranti pemajuan akan menjatuhkan paket data mengikut situasi. Kemudian mesej ralat dikembalikan kepada penghantar, yang sering menyebabkan masalah komunikasi, tetapi mujurlah kebanyakan pautan rangkaian MTU adalah 1500 atau lebih besar
Untuk UDP, protokol itu sendiri tidak berguna Protokol sambungan tidak peduli sama ada pesanan ketibaan daripada paket data adalah betul, jadi secara amnya UDP tidak mempunyai banyak keperluan untuk pemecahan
Ia berbeza untuk TCP Protokol ini adalah protokol berorientasikan sambungan Untuk TCP Ia sangat mengambil berat tentang susunan kedatangan paket data
dan sama ada ralat berlaku semasa proses penghantaran, jadi sesetengah aplikasi TCP mempunyai keperluan untuk pemecahan---tidak boleh dipecahkan
3. Prinsip MSS (maksimum (panjang segmen mesej)
MSS ialah segmen data maksimum yang boleh dihantar oleh paket TCP setiap kali Untuk mencapai prestasi penghantaran yang terbaik, protokol TCP biasanya merundingkan nilai MSS kedua-dua pihak apabila membuat sambungan Nilai ini digantikan dengan MTU apabila protokol TCP dilaksanakan (tolak saiz pengepala 20bites paket IP dan saiz pengepala 20bites segmen data TCP), jadi saiz MSS selalunya 1460. Kedua-dua pihak akan menentukan MSS sambungan ini berdasarkan minimum Nilai MSS disediakan. Nilai maksimum
2. Langkah pemecahan IP
Medan maklumat pemecahan bagi datagram tidak berpecah adalah semua 0, iaitu, bendera pemecahan berbilang adalah 0, dan offset ialah 0, pemecahan datagram memerlukan langkah berikut
(1) Semak bit bendera DF untuk melihat sama ada pemecahan dibenarkan Jika bit ini ditetapkan, datagram akan dibuang dan ralat ICMP akan dikembalikan
(2) Berdasarkan nilai MTU, bahagikan medan data kepada dua atau pasangan bahagian Kecuali bahagian data terakhir, panjang semua pilihan data yang baru dibuat mestilah gandaan 8 bait
(3) Setiap data dimasukkan ke dalam datagram IP, dan pengepala datagram ini sedikit mengubah pengepala asal (4) Kecuali serpihan datagram terakhir, semua Setiap serpihan mempunyai berbilang bendera pemecahan set (5) Medan offset serpihan dalam setiap serpihan ditetapkan kepada kedudukan yang diduduki oleh bahagian data ini dalam datagram asal. (6) Jika pilihan disertakan dalam datagram asal, bait tertib tinggi bagi bait jenis pilihan menentukan sama ada maklumat ini disalin ke semua datagram berpecah atau hanya kepada datagram pertama.
(7) Tetapkan medan pengepala dan jumlah medan panjang datagram baharu.
(8) Kira semula medan semak dalam pengepala mesej.
.
Atas ialah kandungan terperinci Apakah prinsip pemecahan dan pemasangan datagram IP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!