Rumah > Operasi dan penyelenggaraan > Keselamatan > Apakah prinsip pemecahan dan pemasangan datagram IP?

Apakah prinsip pemecahan dan pemasangan datagram IP?

WBOY
Lepaskan: 2023-05-24 11:12:13
ke hadapan
3140 orang telah melayarinya


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:

Apakah prinsip pemecahan dan pemasangan datagram IP?

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 MF

Medan bendera mempunyai tiga digit, bit tertinggi ialah 0, nilai ini mesti disalin kepada semua kumpulan

Nilai 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.

Pada masa ini, serpihan datagram ini dimajukan seperti IP datagram yang lengkap memproses setiap serpihan datagram secara bebas boleh sampai ke destinasinya melalui laluan yang berbeza. mereka boleh dipecahkan lagi

Pada hos destinasi, data dipasang semula ke dalam datagram asal, dan medan pengenalan yang ditetapkan oleh hos penghantar adalah sama seperti dalam datagram Alamat IP Yuan digunakan bersama dengan alamat IP destinasi. Proses pemecahan tidak mengubah medan ini

3. Pengumpulan semula

Untuk membina semula serpihan datagram ini, hos penerima akan A penimbal storan diperuntukkan apabila kepingan tiba. Hos ini juga akan memulakan pemasa. Apabila serpihan datagram berikutnya tiba, data disalin ke dalam memori penimbal di lokasi yang ditentukan oleh offset serpihan, dan apabila semua serpihan telah tiba, datagram asal yang lengkap dan tidak berpecah akan dipulihkan.

Jika pemasa tamat tempoh dan serpihan kekal dalam keadaan tidak diluluskan, data tidak akan dikekalkan. Nilai awal pemasa ini ialah nilai seumur hidup datagram IP Ia bergantung kepada pelaksanaan dan beberapa pelaksanaan membenarkan ia dikonfigurasikan.

Langkah pemasangan semula

Di bahagian penerima, paket IP data asal yang dihantar oleh pengirim akan memasang semula semua serpihan sebelum ia boleh diserahkan kepada protokol lapisan atas Setiap satu akan menjadi IP yang dipasang semula datagram diwakili oleh struktur ipq

Untuk meningkatkan pemasangan serpihan dengan berkesan, struktur yang digunakan untuk menyimpan serpihan mesti mencapai perkara berikut

(1) Kedudukan pantas Sekumpulan paket datagram tertentu

(2) Memasukkan serpihan baharu dengan pantas ke dalam kumpulan serpihan kepunyaan datagram tertentu

(3) Menilai datagram dengan berkesan Sama ada semua serpihan telah diterima

(4) Ia mempunyai mekanisme tamat masa pemasangan semula Jika tamat masa melimpah sebelum pemasangan semula selesai, semua kandungan datagram akan dipadamkan

.

Atas ialah kandungan terperinci Apakah prinsip pemecahan dan pemasangan datagram IP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
ip
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan