16 31 Source Port (Cổng ch−ơng trình
8.3 Cung cấp sự tin cậy
Dịch vụ chuyển dòng dữ liệu tin cậy hay chắc chắn đảm bảo chuyển dòng dữ liệu từ máy này tới máy khác mà không bị mất hoặc lặp. Một câu hỏi đặt ra là:"làm cách nào phần mềm giao thức cung cấp việc truyền tin cậy nếu nh− hệ truyền thông ở d−ới cung cấp việc chuyển gói tin không chắc chắn?". Câu trả lời khá phức tạp, nh−ng đa số các giao thức tin cậy sử dụng một kỹ thuật cơ bản đ−ợc biết là xác nhận d−ơng với viẹec truyền lại. Kỹ thuật này yêu cầu nơi nhận trao đổi với nơi gửi, gửi lại một thông báo xác nhận khi nơi gửi nhận đ−ợc dữ liệu. Nơi gửi giữ hồ sơ về mỗi gói tin mà nó gửi và đợi việc xác nhận tr−ớc khi gửi tiếp gói tin khác. Nơi gửi cũng bắt đầu ghi thời gian khi nó gửi gói tin và gửi lại gói tin nếu nh− sau một thời gian không nhận đ−ợc sự xác nhận.
Hình 8.1 chỉ ra giao thức xác nhận d−ơng đơn giản nhất truyền dữ liệu. Trong hình các sự kiện tại nơi gửi và nơi nhận chỉ ra ở bên trái và bên phải. Mỗi đ−ờng chéo qua phần giữa chỉ việc truyền của một gói tin quan trọng.
Gửi ACK 2 Nhận gói tin 2
Gửi ACK 1 Nhận gói tin 1
Nhận ACK 2 Gửi gói tin 2 Nhận ACK 1 Gửi gói tin 1 Thời gian
Các sự kiện tại nơi nhận Các gói tin mạng
Các sự kiện tại nơi gửi
Hình 8.1 Một giao thức sử dụng xác nhận d−ơng với việc truyền lại. Nơi gửi đợi một xác nhận cho mỗi gói tin đã gửi
Hình 8.2 sử dụng cùng sơ đồ nh− hình 8.1 để chỉ điều gì xảy ra khi một gói tin bị mất hay hỏng. Nơi gửi bắt đầu ghi thời gian sau khi truyền một gói tin. Khi thời gian đợi đã qua, nơi gửi cho là gói tin đã bị mất và gửi lại.
Vấn đề tin cậy xuất hiện khi hệ thống chuyển gói tin ở d−ới lặp lại các gói tin. Việc lặp lại có thể cũng xảy ra khi nhiều sự chậm trễ lớn xảy ra trong mạng tạo ra việc truyền lại sớm. Giải quyết sự lặp lại yêu cầu suy nghĩ cẩn thận vì cả các gói
tin và việc xác nhận đều có thể bị lặp. Các giao thức tin cậy phát hiện các gói tin lặp lại nhờ gán mỗi gói tin một số và yêu cầu nơi nhận nhớ dãy các số đã nhận. Để tránh sự lẫn lộn sinh ra do chậm trễ hoặc xác nhận lặp lại, các giao thức xác nhận d−ơng gửi các dãy số ng−ợc trở lại trong xác nhận, do vậy nơi nhận có thể khôi phục lại những sự xác nhận liên quan với các gói tin.
Xoá thời gian Ghi thời gian V−ợt thời
gian đợi Ghi thời gian
Gửi ACK 1 Nhận gói tin 1
ACK có thể gửi Gói tin có thể đến
Nhận ACK 1 Gửi lại gói tin 1
ACK th−ờng đến lúc này Gửi gói tin 1 Thời gian
Các sự kiện tại nơi nhận Các gói tin mạng
Các sự kiện tại nơi gửi
Hình 8.2 V−ợt thời gian đợi và truyền lại xảy ra khi một gói tin bị mất. Đ−ờng chấm chấm chỉ thời gian cần phải tính theo việc truyền và xác nhận của gói tin nếu gói tin không mất.