c, Liên kết thông qua stack
8.5. Lỗi truyền thông và các phương pháp phát hiện lỗ
Trong tất cả cấu trúc máy tính, và đặc biệt trong trường hợp liên quan tới truyền thông giữa các máy tính với nhau, luôn luôn có thể xảy ra trường hợp dữ liệu nhận được trên đương truyền bị lỗi. Nguyên nhân của lỗi là do nhiễu trên đường truyền. Cụ thể là các dữ liệu trên đường truyền được mã hóa dưới dạng số nhị
phát từ bản thân cấu trúc đường truyền, xuất phát từ môi trường bên ngoài như
áp suất, các tia gama,...Các nguyên nhân này làm phát sinh lỗi, tức là làm mức logic 0 chuyển thành 1 và mức logic 1 chuyển thành 0.
Giả sử hệ thống cần truyền một ký tự ASCII là ký tự ‘b’ từ bên truyền đến bên nhận và trong quá trình truyền phát sinh một lỗi ở bit có trong số nhỏ nhất. Chuỗi ký tự đúng của ký tự ‘b’ là 1100010, nhưng chuỗi nhận được là 1100011, thể hiện là ký tự ‘c’. Bên nhận sẽ không có bất cứ một công cụ nào để có thể
phát hiện được lỗi và chuỗi nhận được vẫn được chấp nhận
Để khắc phục hiện tượng này, hệ thống truyền và nhận dữ liệu sẽ được bổ xung thông tin “check bit” kèm với dữ liệu. Hệ thống nhận dữ liệu sẽ kiểm tra thông tin check bit kèm theo ở cùng một điều kiện đối với bên truyền để phát hiện ra lỗi, và trong một số trường hợp có thể sửa lại lỗi. Trong nội dung của chương này, ta sẽ xem xét 2 phương pháp cơ bản để kiểm tra lỗi và sửa lỗi. Nhưng trước hết ta hãy tìm hiểu một sốđịnh nghĩa cơ bản về truyền tin