- a) Kiểm soát lỗi :
– Khi truyền đi 1 byte trong hệ thống máy tính thì khả năng xảy ra 1 lỗi do hỏng hóc ở phần nào đó hoặc do nhiễu gây nên là luôn có thể. Các kênh vào ra thường xảy ra lỗi, đặc biệt là ở truyền số liệu. Để kiểm tra lỗi ta có thể :
+ Dùng Timer, nghĩa là nếu quá thời gian quy định bên gửi không nhận được tín hiệu trả lời, xem như lỗi, phát lại gói tin hỏng
+ Đánh số Frame gửi đi, nếu không nhận đúng thứ tự khung là lỗi, yêu cầu phát lại
+ Để kiểm tra thu đúng gói tin gửi đi, thường khi phát tin có kèm theo trường kiểm tra lỗi (FCS) bằng cách sử dụng các phương pháp sau :
- Phương pháp bit chẵn lẽ
- Phương pháp mã đa thức
- Phương pháp mã sửa sai dùng nguyên lý cân bằng parity để chỉ ra các bit lỗi
Khi điều khiển xử lý tiếp nhận cần phải thực hiện thủ tục điều khiển lỗi tự động bằng cách tính trường lỗi khung tin thu được so với trường lỗi truyền qua, nếu đúng thì trả lời ACK, nếu sai trả lời NAK hoặc bên thu không nhận được tín hiệu ACK sau 1 thời gian để bên phát truyền lại khung hỏng. Kiểu điều khiển lỗi này gọi là yêu cầu lặp lại tự động (ARQ : Automatic Repeat Request)
- b) Điều khiển luồng
Nếu số lượng dữ liệu truyền giữa 2 thiết bị phát và thu là nhỏ thì thiết bị phát có thể phát tức thời. Nếu 2 thiết bị hoạt động tốc độ khác nhau, chúng ta phải điều khiển số liệu ở ngõ vào để ngăn chặn tình trạng tắc ngẽn trong mạng. Trong các mạng chuyển mạch gói (PSN) thường vẫn xảy ra trường hợp lượng tải đưa ra từ bên ngoài vào vượt quá khả năng phục vụ của mạng. Thậm chí đôi khi điều này vẫn xảy ra khi đã sử dụng thuật toán định tuyến tối ưu. Các gói không có chỗ xếp hàng sẽ bị loại bỏ, và tất nhiên sau đó bên thu sẽ yêu cầu truyền lại, dẫn đến việc lãng phí hiệu quả sử dụng mạng. Bên cạnh đó, khi lượng tải áp đặt lớn quá mức sẽ làm giảm tính khả thông của mạng và trễ của gói trở nên rất lớn. Cho nên đôi lúc vẫn phải hạn chế bớt 1 phần tin truy nhập vào mạng để tránh tình trạng mạng bị quá tải như trên. Đó chính là chức năng của thuật toán điều khiển luồng