Là một kỹ thuật điều khiển luồng đơn giản nhất
a. Hoạt động
Giả sử có 2 bên phát A và thu B, bên A muốn truyền dữ liệu sang bên B.
Bên A sẽ gửi 1 Frame tín hiệu sang B, nếu bên B có thể tiếp nhận được gói tin (chưa bị quá tải) thì bên B sẽ gửi lại tín hiệu ACK (acknowledgement) để xác nhận là đã nhận được gói tin, bên A nhận được xác nhận thì gửi tiếp, cứ thế mà truyền dần dần từng gói.
Nếu bên B đang nhận quá nhiều thông tin (bên A gửi nhiều quá hoặc đơn giản nhiều bên khác gửi) thì bên B đơn giản là xử lý xong thông tin đã rồi mới gửi ACK -> không bị quá tải.
b. Hiệu suất
Gọi n là hiệu suất của kỹ thuật dừng và đợi
Tf là thời gian truyền 1 khung tin
Td là thời gian trễ trên đường truyền
Tp là thời gian xử lý 1 khung tin
Tack là thời gian phát ACK của bên thu
Tp’ là thời gian xử lý ACK
Gọi T là thời gian cần thiết để phát xong 1 khung tin
T=Tf+Td+Tp+Tack+Td+Tp’
n = Tf / T
Do Tp,Tp’,Tack là rất nhỏ so với Tf nên T = Tf+2Td
Vậy n = Tf / (Tf+2Td) = 1 / (1+2a) với a = Td / Tf
Nhìn công thức thì sẽ thấy nếu Td nhiều thì hiệu suất n sẽ thấp.
Nếu Td rất nhiều thì hiệu suất cực thấp luôn. Ví dụ kiểu truyền tin sơ khai nhé :
Giả sử Tf như thời gian viết 1 bức thư (15 phút nếu văn phong có hạn), có thể ví như quá trình truyền khung tin ở trên (ở đây là từ não ra giấy) và thời gian gửi thư từ miền bắc vào nam là 2 ngày (thư giấy), như là trễ đường truyền.
Giả sử bạn gửi 1 bức thư từ miền bắc vào miền nam , mất 2 ngày chẳng hạn, miền nam đọc được thư rồi thì gửi lại thư xác nhận cho miền bắc, thêm 2 ngày nữa, rồi miền bắc lại gửi thư cho miền nam, thêm 2 ngày nữa. Quá trình gửi và đợi rất tốn thời gian so với quá trình viết thư.
Tuy nhiên nếu thời gian truyền thư là ngắn (a nhỏ) ví dụ bức thư viết truyền tay trong lớp (mất 10 giây chẳng hạn) thì hiệu suất rất cao : 15 phút viết mới mất 10 giây truyền và bên kia viết thư trả lời 15 phút nữa rồi truyền lại, chỉ mất chi phí 20 giây cho 30 phút viết (truyền dữ liệu), hiệu suất n cao.
a. Hoạt động
Giả sử có 2 bên phát A và thu B, bên A muốn truyền dữ liệu sang bên B.
Bên A sẽ gửi 1 Frame tín hiệu sang B, nếu bên B có thể tiếp nhận được gói tin (chưa bị quá tải) thì bên B sẽ gửi lại tín hiệu ACK (acknowledgement) để xác nhận là đã nhận được gói tin, bên A nhận được xác nhận thì gửi tiếp, cứ thế mà truyền dần dần từng gói.
Nếu bên B đang nhận quá nhiều thông tin (bên A gửi nhiều quá hoặc đơn giản nhiều bên khác gửi) thì bên B đơn giản là xử lý xong thông tin đã rồi mới gửi ACK -> không bị quá tải.
b. Hiệu suất
Gọi n là hiệu suất của kỹ thuật dừng và đợi
Tf là thời gian truyền 1 khung tin
Td là thời gian trễ trên đường truyền
Tp là thời gian xử lý 1 khung tin
Tack là thời gian phát ACK của bên thu
Tp’ là thời gian xử lý ACK
Gọi T là thời gian cần thiết để phát xong 1 khung tin
T=Tf+Td+Tp+Tack+Td+Tp’
n = Tf / T
Do Tp,Tp’,Tack là rất nhỏ so với Tf nên T = Tf+2Td
Vậy n = Tf / (Tf+2Td) = 1 / (1+2a) với a = Td / Tf
Nhìn công thức thì sẽ thấy nếu Td nhiều thì hiệu suất n sẽ thấp.
Nếu Td rất nhiều thì hiệu suất cực thấp luôn. Ví dụ kiểu truyền tin sơ khai nhé :
Giả sử Tf như thời gian viết 1 bức thư (15 phút nếu văn phong có hạn), có thể ví như quá trình truyền khung tin ở trên (ở đây là từ não ra giấy) và thời gian gửi thư từ miền bắc vào nam là 2 ngày (thư giấy), như là trễ đường truyền.
Giả sử bạn gửi 1 bức thư từ miền bắc vào miền nam , mất 2 ngày chẳng hạn, miền nam đọc được thư rồi thì gửi lại thư xác nhận cho miền bắc, thêm 2 ngày nữa, rồi miền bắc lại gửi thư cho miền nam, thêm 2 ngày nữa. Quá trình gửi và đợi rất tốn thời gian so với quá trình viết thư.
Tuy nhiên nếu thời gian truyền thư là ngắn (a nhỏ) ví dụ bức thư viết truyền tay trong lớp (mất 10 giây chẳng hạn) thì hiệu suất rất cao : 15 phút viết mới mất 10 giây truyền và bên kia viết thư trả lời 15 phút nữa rồi truyền lại, chỉ mất chi phí 20 giây cho 30 phút viết (truyền dữ liệu), hiệu suất n cao.