Flow Control adalah sebuah proses yang digunakan untuk mengatur rate dari transmisi data diantara dua node untuk mencegah pengiriman data yang terlalu cepat dibanding dengan penerimaan data yang lambat. Dalam komunikasi data, proses mengelola laju transmisi data antara dua node berfungsi untuk mencegah pengirim terlalu cepat, kehabisan data dan penerima lambat dalam menerima data. Flow Control adalah mekanisme yang dilakukan pengirim dan penerima untuk kontrol kecepatan transmisi sehingga node penerima tidak keteteran dengan data transmisi. Flow control harus dibedakan dari kontrol kongesti, yang fungsinya digunakan untuk mengendalikan aliran data ketika kemacetan telah terjadi. Flow Control adalah suatu teknik untuk memastikan bahwa suatu stasiun transmisi tidak menumpuk data pada suatu stasiun penerima. Tanpa flow control, buffer penerimaan akan penuh. Karena ketika data diterima flow control harus melaksanakan sejumlah proses sebelum buffer dapat dikosongkan dan siap menerima data. Flow Control adalah suatu teknik untuk meyakinkan agar pengiriman tidak overhelm ketika data diterima. Apabila data telah diterima, maka penerima harus segera menyelesaikan tugas-tugasnya sebelum melewatkan data ke arah perangkat lunak yang lebih tinggi level-nya.
Flow control ini penting karena jika komputer pengirim mengirimkan informasi pada tingkat yang lebih cepat dari proses penerimaan komputer tujuan. Hal ini dapat terjadi jika komputer penerima memiliki beban lalu lintas berat dibandingkan dengan komputer pengirim, atau jika komputer penerima memiliki lebih sedikit daya pemrosesan dari komputer pengirim. Flow Control utamanya digunakan untuk menghindari bottle neck dengan menyesuaikan data rate atau kecepatan data antara host pengirim dan host penerima. Jadi node yang menerima tidak flooded dengan data dari node transmisi karena data yang dikirimkan terlalu cepat. Ketika data diterima oleh penerima, ia harus mengerjakan sejumlah proses tertentu sebelum mengalirkan data ke perangkat lunak dengan level yang lebih tinggi. Dengan tidak adanya flow-control maka buffer pada penerima dapat penuh atau bahkan melebihi kapasitas, bersamaan pada saat penerima masih menggarap data sebelumnya. Flow Control adalah suatu teknik untuk menjamin bahwa entitas pengirim tidak akan membanjiri data entitas penerima.
Flow Control terdapat di bagian layer transport(lapisan ketiga) dan layer data link (lapisan kedua) baik itu pada model OSI maupun pada model TCP/IP. Data Link merupakan lapisan kedua dalam model referensi OSI. Pada lapisan ini data diterima dari network layer berupa paket yang kemudian dienkapsulasi menjadi Frame. Kemudian frame tersebut dikirim ke lapisan fisik untuk diteruskan ke penerima. Pada penerima, lapisan ini mengubah Byte menjadi Frame, frame header dilepas (dekapsulasi), kemudian dikirim ke lapisan jaringan menjadi Paket. Flow control berfungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Selain itu, pada level ini terjadi koreksi kesalahan, flow control, pengalamatan perangkat keras (seperti halnya Media Access Control Address (MAC Address)), dan menentukan bagaimana perangkat-perangkat jaringan seperti hub,bridge, repeater, dan switch layer 2 beroperasi. Spesifikasi IEEE 802 membagi level ini menjadi dua, yaitu lapisan Logical Link Control (LLC) dan lapisan Media Access Control (MAC).
Layanan lapisan transport dilakukan oleh protokol transport yang dipakai antara dua buah entity, protokol ini menyerupai protokol pada data link dalam hal kontrol error, pengurutan dan kontrol aliran data (flow control). Dalam Flow Control ada empat metode yang dibahas, yaitu Stop and wait, Sliding window, Go back N dan Selective rejection. Stop and wait merupakan bentuk paling sederhana dari flow control. Tata cara pengiriman-nya, pengirim menunggu terlebih dahulu sebelum mengirim frame yang berikutnya. Block data yang besar dibagi-bagi menjadi frame-frame kecil dan kemudian mengubahnya menjadi banyak frame. Node tujuan menghentikan aliran dengan mengirim ACK. Sliding windows memiliki beberapa kelebihan dibandingkan dengan yang lainnya, contohnya mengizinkan banyak frame transit, penerima memiliki buffer panjang, pengirim dapat mengirimkan frame tanpa ACK, tiap frame memiliki nomor urut. Go-back-N Termasuk continuous ARQ. Ketika tidak terjadi error, tujuan akan meng-acknowledge (ACK) frame yang masuk seperti biasanya. Ketika ada frame yang rusak, Go-Back-N akan mengirimkan ulang frame data secara otomatis, sehingga kekurangan data tersebut dapat tertutup oleh data baru pada pengiriman berikutnya. Selective rejection disebut juga proses pengiriman ulang yang selektif yang mana hanya frame yang di-reject saja yang dikirim ulang.
Flow Control akan didukung oleh Congestion Control. Flow Control akan berhasil terjadi jika Congestion Control yang mengatur traffic data juga berhasil. Ada tiga tipe Flow Control, yaitu: Network Congestion, Windowing Flow Control dan Data Buffer. Network Congestion adalah sebuah mekanisme pencegahan yang menyediakan kontrol terhadap kuantitas transmisi data yang akan masuk ke sebuah perangkat. Windowing Flow Control adalah sebuah mekanisme yang digunakan oleh TCP. TCP menerapkan layanan Flow Control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu untuk mencegah pihak penerima menerima Over Buffer. Data Buffer adalah sebuah mekanisme pencegahan kontrol yang melayani penyimpanan data berlebih. Ketiganya dapat berjalan dengan baik pada komunikasi data berbasis teknologi IP.
Protokol Stop And Wait memiliki karakteristik yang mana sebuah pengirim mengirimkan sebuah frame dan kemudian menunggu acknowledgment sebelum menggarapnya lebih lanjut. Pengujian terjadinya error dilakukan dengan teknik seperti VCR (Vertical Redundancy Check) atau LRC (Longitudinal Redundancy Check), dan setelah itu sebuah ACK atau NAK dikirimkan kembali untuk ke stasiun pengirim. Tidak ada pesan lain yang dapat dikirimkan sebelum stasiun penerima mengirimkan kembali sebuah jawaban. Jadi istilah stop and wait diperoleh dari proses pengiriman pesan oleh pengirim, menghentikan transmisi berikutnya, dan menunggu jawaban. Pendekatan stop and wait sesuai untuk susunan transmisi half duplex, karena stop and wait menyediakan transmisi data dua arah. Kekurangan terbesar adalah ketika jalur tidak memiliki jalan sebagai akibat dari stasiun dalam keadaan menunggu, ketika kondisi tersebut terjadi kebanyakan DLC menyediakan lebih dari satu terminal. Terminal-terminal tetap beroperasi dalam susunan yang sederhana. Jika ACK pada hilang setelah habis batas waktunya stasiun pengirim mengirim ulang pesan yang sama untuk kedua kalinya. Transmisi yang berkelebihan mengakibatkan sebuah duplikasi data pada node tujuan. Akibatnya, diperlukan suatu cara untuk mengidentifikasi dan mengurutkan pesan yang dikirimkan dengan berdasarkan pada ACK atau NAK agar dapat mengecek pesan duplikat.
Flow control ini penting karena jika komputer pengirim mengirimkan informasi pada tingkat yang lebih cepat dari proses penerimaan komputer tujuan. Hal ini dapat terjadi jika komputer penerima memiliki beban lalu lintas berat dibandingkan dengan komputer pengirim, atau jika komputer penerima memiliki lebih sedikit daya pemrosesan dari komputer pengirim. Flow Control utamanya digunakan untuk menghindari bottle neck dengan menyesuaikan data rate atau kecepatan data antara host pengirim dan host penerima. Jadi node yang menerima tidak flooded dengan data dari node transmisi karena data yang dikirimkan terlalu cepat. Ketika data diterima oleh penerima, ia harus mengerjakan sejumlah proses tertentu sebelum mengalirkan data ke perangkat lunak dengan level yang lebih tinggi. Dengan tidak adanya flow-control maka buffer pada penerima dapat penuh atau bahkan melebihi kapasitas, bersamaan pada saat penerima masih menggarap data sebelumnya. Flow Control adalah suatu teknik untuk menjamin bahwa entitas pengirim tidak akan membanjiri data entitas penerima.
Flow Control terdapat di bagian layer transport(lapisan ketiga) dan layer data link (lapisan kedua) baik itu pada model OSI maupun pada model TCP/IP. Data Link merupakan lapisan kedua dalam model referensi OSI. Pada lapisan ini data diterima dari network layer berupa paket yang kemudian dienkapsulasi menjadi Frame. Kemudian frame tersebut dikirim ke lapisan fisik untuk diteruskan ke penerima. Pada penerima, lapisan ini mengubah Byte menjadi Frame, frame header dilepas (dekapsulasi), kemudian dikirim ke lapisan jaringan menjadi Paket. Flow control berfungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Selain itu, pada level ini terjadi koreksi kesalahan, flow control, pengalamatan perangkat keras (seperti halnya Media Access Control Address (MAC Address)), dan menentukan bagaimana perangkat-perangkat jaringan seperti hub,bridge, repeater, dan switch layer 2 beroperasi. Spesifikasi IEEE 802 membagi level ini menjadi dua, yaitu lapisan Logical Link Control (LLC) dan lapisan Media Access Control (MAC).
Layanan lapisan transport dilakukan oleh protokol transport yang dipakai antara dua buah entity, protokol ini menyerupai protokol pada data link dalam hal kontrol error, pengurutan dan kontrol aliran data (flow control). Dalam Flow Control ada empat metode yang dibahas, yaitu Stop and wait, Sliding window, Go back N dan Selective rejection. Stop and wait merupakan bentuk paling sederhana dari flow control. Tata cara pengiriman-nya, pengirim menunggu terlebih dahulu sebelum mengirim frame yang berikutnya. Block data yang besar dibagi-bagi menjadi frame-frame kecil dan kemudian mengubahnya menjadi banyak frame. Node tujuan menghentikan aliran dengan mengirim ACK. Sliding windows memiliki beberapa kelebihan dibandingkan dengan yang lainnya, contohnya mengizinkan banyak frame transit, penerima memiliki buffer panjang, pengirim dapat mengirimkan frame tanpa ACK, tiap frame memiliki nomor urut. Go-back-N Termasuk continuous ARQ. Ketika tidak terjadi error, tujuan akan meng-acknowledge (ACK) frame yang masuk seperti biasanya. Ketika ada frame yang rusak, Go-Back-N akan mengirimkan ulang frame data secara otomatis, sehingga kekurangan data tersebut dapat tertutup oleh data baru pada pengiriman berikutnya. Selective rejection disebut juga proses pengiriman ulang yang selektif yang mana hanya frame yang di-reject saja yang dikirim ulang.
Flow Control akan didukung oleh Congestion Control. Flow Control akan berhasil terjadi jika Congestion Control yang mengatur traffic data juga berhasil. Ada tiga tipe Flow Control, yaitu: Network Congestion, Windowing Flow Control dan Data Buffer. Network Congestion adalah sebuah mekanisme pencegahan yang menyediakan kontrol terhadap kuantitas transmisi data yang akan masuk ke sebuah perangkat. Windowing Flow Control adalah sebuah mekanisme yang digunakan oleh TCP. TCP menerapkan layanan Flow Control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu untuk mencegah pihak penerima menerima Over Buffer. Data Buffer adalah sebuah mekanisme pencegahan kontrol yang melayani penyimpanan data berlebih. Ketiganya dapat berjalan dengan baik pada komunikasi data berbasis teknologi IP.
Protokol Stop And Wait memiliki karakteristik yang mana sebuah pengirim mengirimkan sebuah frame dan kemudian menunggu acknowledgment sebelum menggarapnya lebih lanjut. Pengujian terjadinya error dilakukan dengan teknik seperti VCR (Vertical Redundancy Check) atau LRC (Longitudinal Redundancy Check), dan setelah itu sebuah ACK atau NAK dikirimkan kembali untuk ke stasiun pengirim. Tidak ada pesan lain yang dapat dikirimkan sebelum stasiun penerima mengirimkan kembali sebuah jawaban. Jadi istilah stop and wait diperoleh dari proses pengiriman pesan oleh pengirim, menghentikan transmisi berikutnya, dan menunggu jawaban. Pendekatan stop and wait sesuai untuk susunan transmisi half duplex, karena stop and wait menyediakan transmisi data dua arah. Kekurangan terbesar adalah ketika jalur tidak memiliki jalan sebagai akibat dari stasiun dalam keadaan menunggu, ketika kondisi tersebut terjadi kebanyakan DLC menyediakan lebih dari satu terminal. Terminal-terminal tetap beroperasi dalam susunan yang sederhana. Jika ACK pada hilang setelah habis batas waktunya stasiun pengirim mengirim ulang pesan yang sama untuk kedua kalinya. Transmisi yang berkelebihan mengakibatkan sebuah duplikasi data pada node tujuan. Akibatnya, diperlukan suatu cara untuk mengidentifikasi dan mengurutkan pesan yang dikirimkan dengan berdasarkan pada ACK atau NAK agar dapat mengecek pesan duplikat.