Satu protokol yang dipanggil TCP Flow Control telah dicipta untuk mengawal aliran data antara pengguna dan pelayan.
Ia memastikan bahawa jumlah lebar jalur tertentu tersedia untuk menghantar dan menerima data supaya pemprosesan boleh diteruskan tanpa menghadapi sebarang masalah yang serius.
Protokol TCP menggunakan kaedah yang dikenali sebagai protokol tetingkap gelongsor untuk mencapai ini.
Kami akan melihat secara mendalam kawalan aliran TCP dalam bahagian ini, termasuk cara ia berfungsi dan, yang paling penting, protokol tetingkap gelongsor.
Apakah Kawalan Aliran TCP?
Protokol TCP memastikan saluran komunikasi yang boleh dipercayai boleh diwujudkan merentasi rangkaian yang tidak dapat diramalkan.
Paket data boleh hilang, tiba di luar urutan, disandarkan dalam rangkaian, atau terbeban pada nod penerima kerana ia dihantar dari satu nod ke nod yang lain.
Walau bagaimanapun, semasa membangunkan aplikasi, kami biasanya tidak perlu berurusan dengan kerumitan ini; sebaliknya, kami hanya menghantar beberapa data ke soket, dan TCP memastikan bahawa paket berjaya dihantar ke nod penerima.
Kawalan Aliran ialah ciri tambahan penting yang ditawarkan oleh TCP.
Melalui penggunaan kawalan aliran, TCP pada asasnya akan memastikan bahawa pengirim tidak menghantar penerima terlalu banyak paket sekaligus.
Bagaimanakah Protokol Kawalan Pemindahan – Kawalan Aliran berfungsi?
Ini biasanya berlaku apabila kita perlu menyampaikan data melalui rangkaian.
Aplikasi penghantar menghantar data ke soket, lapisan pengangkutan (dalam kes ini, TCP) membungkus data ini dalam segmen dan lapisan rangkaian (contohnya, IP) menghantar paket ini ke nod penerima melalui beberapa laluan.
Lapisan rangkaian akan menghantar data ini kepada TCP pada hujung penerimaan perbualan, dan TCP akan menyediakannya kepada aplikasi penerima sebagai pendua yang sama bagi data yang diberikan.
TCP tidak akan menghantar paket yang tidak teratur dan akan menunggu untuk penghantaran semula sekiranya ia mengesan jurang aliran bait.
Inilah yang akan kita lihat jika kita mengezum masuk.
Kedua-dua buffer hantar dan terima pada TCP digunakan untuk menyimpan data yang perlu dihantar dan diterima, masing-masing.
Data daripada penimbal terima kemudiannya akan dibaca oleh aplikasi apabila ia disediakan.
Memastikan kami tidak menghantar paket tambahan semasa penimbal terima penerima sudah penuh ialah matlamat utama kawalan aliran kerana berbuat demikian akan memaksa penerima menggugurkan paket tambahan yang tidak dapat dikendalikannya.
Penerima akan mengumumkan Tetingkap Terimanya, atau ruang yang tersedia dalam penimbal terima, untuk mengehadkan kuantiti data yang boleh dipindahkan oleh TCP.
Protokol Tetingkap Gelongsor
Protokol tetingkap gelongsor dalam TCP adalah salah satu kaedah kawalan aliran yang paling banyak digunakan. Ia adalah prosedur berorientasikan bait bersaiz berubah.
Dalam pendekatan ini, penerima menghantar tetingkap penerima kepada pengirim sebaik sahaja pengirim dan penerima disambungkan.
Saiz penimbal semasa penerima dirujuk sebagai tetingkap penerima.
Jumlah data yang boleh dihantar selanjutnya tanpa pengakuan kini dikira oleh TCP berdasarkan tetingkap penerima yang tersedia.
TCP, bagaimanapun, menghentikan pemindahan data jika saiz tetingkap penerima ialah 0 dan menunggu untuk meningkat.
Saiz tetingkap penerima adalah komponen bingkai TCP.
Saiz maksimum tetingkap ialah 65,535 bait kerana ia mempunyai saiz tetingkap 16 bit.
Dimensi tetingkap dipilih oleh penerima. Dengan setiap mesej pengakuan, penerima menghantar saiz tetingkap penerima yang tersedia pada masa ini.
Proses Protokol Tetingkap Gelongsor
Apabila menggunakan teknik protokol tetingkap gelongsor, dua penimbal diwujudkan apabila pengirim dan penerima bersambung.
Kedua-dua penimbal ini dibahagikan kepada dua kumpulan: tetingkap penghantaran, yang dimiliki oleh pengirim dan tetingkap penerima, yang dimiliki oleh penerima.
Tetingkap penerima memberikan kembali ruang penimbal penerima yang tinggal apabila pengirim menghantar data kepada penerima.
Akibatnya, pengirim dihadkan kepada jumlah data yang boleh dimuatkan dalam penimbal penerima.
Tetingkap pemancar dalam contoh di atas menghantar data ke tetingkap penerima.
Selepas menerima data, tetingkap penerima menghantar pengakuan, dan kemudian tetingkap pemancar menghantar bingkai data baharu.
Kali ini, bagaimanapun, tetingkap penerima juga menghantar mesej yang menyatakan bahawa memori yang tersedia telah diisi sebagai tambahan kepada pengakuan yang telah diterima.
Tetingkap pemancar menjeda penghantaran data sehingga ia menerima pengesahan daripada tetingkap penerima bahawa ruang telah dibebaskan, di mana ia boleh menyambung semula penghantaran data.
Kesimpulan
Kesimpulannya, lapisan sambungan data dan lapisan pengangkutan bertanggungjawab untuk mengendalikan kebimbangan kawalan aliran.
Objektif asas mekanisme kawalan aliran adalah untuk menghentikan penerima daripada menjadi terlalu terbeban dengan data daripada penghantar yang menghantar lebih pantas.
Walaupun data yang dipindahkan oleh pengirim adalah bebas ralat dan dihantar pada kadar yang lebih cepat berkat mesin yang berkuasa, ada kemungkinan bahawa penerima yang lebih perlahan tidak akan dapat mengendalikan kadar data yang lebih pantas dan oleh itu akan kehilangan beberapa data.
Sila tinggalkan balasan anda