�i�u khi�n lu�ng (flow control)

Một phần của tài liệu Bộ giao thức TCP/IP (Trang 54 - 56)

�i�u khi�n lu�ng ��nh ngh�a lư�ng d� li�u mà ngu�n cú th� g�i trư�c khi nh�n m�t xỏc nh�n t� �ớch. Trong trư�ng h�p ��c bi�t, giao th�c t�ng giao v�n cú th� g�i m�t byte d�li�u và ��i xỏc nh�n trư�c khi g�i byte ti�p theo. Nhưng n�u làm nhưv�y, quỏ trỡnh g�i s�di�n ra r�t ch�m. N�u d�li�u ph�i�i qua�o�n�ư�ng dài thỡ ngu�n s� �tr�ng thỏi r�i trong khi ��i xỏc nh�n.

Trong m�t trư�ng h�p ��c bi�t khỏc, giao th�c t�ng giao v�n cú th� g�i t�t c� d�

li�u nú cú mà khụng quan tõm t�i xỏc nh�n. Làm nhưv�y s�t�ng t�c�� truy�n, nhưng cú th�làm tr�m�ớch khụng th�x�lý k�p. Bờn c�nh�ú, n�u m�t ph�n d�li�u b�m�t, b�

nhõn �ụi, sai th�t�ho�c b�h�ng thỡ tr�m ngu�n s�khụng bi�t.

TCP s� d�ng m�t gi�i phỏp n�m gi�a hai trư�ng h�p��c bi�t này. Nú ��nh ngh�a m�t c�a s�, ��t c�a s� này lờn b� ��m g�i và ch� g�i lư�ng d� li�u b�ng kớch thư�c c�a s�.

C�a s�tr��t (sliding window)

�� th�c hi�n�i�u khi�n lu�ng, TCP s�d�ng giao th�c c�a s�trư�t. Hai tr�m�hai

��u k�t n�i TCP ��u s�d�ng m�t c�a s�trư�t. C�a s�này bao ph�ph�n d�li�u trong b� ��m mà m�t tr�m cú th�g�i trư�c khi quan tõm t�i xỏc nh�n t�tr�m kia. Nú �ư�c g�i là c�a s�trư�t do cú th�trư�t trờn b� ��m khi tr�m g�i nh�n�ư�c xỏc nh�n.

Hỡnh 3.7 C�a s�tr��t

Hỡnh 3.7 minh ho� m�t c�a s� trư�t cú kớch thư�c là 10. Trư�c khi nh�n xỏc nh�n t� �ớch, ngu�n cú th�g�i t�i �a 10 byte. Tuy nhiờn, n�u nú ch� nh�n�ư�c xỏc nh�n v�

3 byte ��u tiờn, thỡ nú s� trư�t sang ph�i 3 byte. �i�u này cú ngh�a nú cú th� g�i 10 byte n�a trư�c khi quan tõm t�i xỏc nh�n.

C�a s�chỳng ta th�y� vớ d�trờn cú kớch thư�c c� ��nh. Tuy nhiờn, kớch thư�c c�a c�a s� trư�t cú th� thay ��i. Trong m�i xỏc nh�n, �ớch cú th� ��nh ngh�a kớch thư�c c�a c�a s�. Qu�n lý c�a s� TCP s�d�ng hai b� ��m và m�t c�a s� �� �i�u khi�n lu�ng d� li�u. TCP bờn g�i cú m�t b� ��m lưu d�li�u ��n t�chương trỡnh �ng d�ng g�i. Chương trỡnh �ng d�ng t�o d� li�u và ghi chỳng vào b� ��m. Bờn g�i ��t c�a s�lờn b� ��m và g�i cỏc phõn �o�n khi kớch thư�c c�a c�a s� l�n hơn 0. TCP bờn nh�n c�ng cú m�t b� ��m. Nú nh�n d�li�u, ki�m tra chỳng, và lưu tr�chỳng trong b� ��m��chương trỡnh �ng d�ng nh�n dựng.

Nhưchỳng ta �ó bi�t, kớch thư�c c�a s�c�a bờn g�i do bờn nh�n xỏc ��nh và �ư�c thụng bỏo trong cỏc phõn �o�n xỏc nh�n. Nhưng làm cỏch nào �� bờn nh�n ch�n kớch thư�c c�a c�a s�? Thư�ng thỡ kớch thư�c c�a s� �ư�c thụng bỏo b�ng v�i kớch thư�c cũn r�i trong b� ��m nh�n. Trong vớ d� � hỡnh 3.8, TCP bờn g�i ��nh ngh�a m�t b� ��m r�t l�n, nhưng TCP bờn nh�n ch� ��nh ngh�a m�t b� ��m 4000 byte. Trong quỏ trỡnh thi�t l�p k�t n�i, bờn nh�n thụng bỏo kớch thư�c c�a s� là 4000, b�ng v�i kớch thư�c b� ��m c�a nú.

Thời gian Thời gian

SQ: 1001; 4000 byte SQ: 5001; 1000 byte ACK: 5001; Win :0 ACK: 5001; Win :1000 Trạm nhận Trạm gửi Bộ đệm 4000 1000 3000 Hỡnh 3.8 Qu�n lý c�a s�

TCP bờn g�i g�i 4000 byte d�li�u trong phõn �o�n ��u tiờn. Khi �ú, b� ��m c�a bờn nh�n ��y. Bờn nh�n g�i xỏc nh�n �ó nh�n�ư�c phõn �o�n nhưng thụng bỏo kớch thư�c c�a s�là 0. Bờn g�i khụng th�g�i d�li�u n�a (do kớch thư�c c�a s�b�ng 0), và ph�i��i ��n khi nh�n�ư�c m�t xỏc nh�n cú thụng bỏo kớch thư�c c�a s�l�n hơn 0 r�i m�i ti�p t�c truy�n.

T�i phớa nh�n, chương trỡnh �ng d�ng dựng 1000 byte d�li�u trong b� ��m. Dú �ú, cú 1000 byte tr�ng. Bờn nh�n g�i m�t xỏc nh�n m�i v�i kớch thư�c c�a s� là 1000. Lỳc này, bờn g�i cú th�g�i m�t phõn �o�n 1000 byte.

Một phần của tài liệu Bộ giao thức TCP/IP (Trang 54 - 56)