Kiểm tra lỗi tức là phát hiện và sửa lỗi: điều phối việc truyền lại dữ liệu của máy phát... Điều khiển dòng dữ liệu Bảo đảm cho việc bên phát không gởi dữ liệu quá nhanh Ngăn ngừa v
Trang 2Các chức năng của lớp kết nối dữ liệu
Hạng mục đường dây: xác định thiết bị nào
được phát và thiết bị nào được thu.
Điều khiển lưu lượng: điều phối lượng thông
tin có thể truyền được trước khi nhận được tin chấp nhận.
Kiểm tra lỗi tức là phát hiện và sửa lỗi: điều
phối việc truyền lại dữ liệu của máy phát.
Trang 4ENQ: mã ASCII 0000101; enquiry
ACK: mã ASCII 0000110; acknowledgment
NAK: mã ASCII 0010101; negative acknowledgment EOT: mã ASCII 0000100; end of transmission
ENQ/ACK
Trang 5Poll: chứa trường địa chỉ của thiết bị thứ cấp và ACK;
SEL: chứa trường địa chỉ của thiết bị thứ cấp+ENQ;
Trang 6Điều khiển dòng dữ liệu
Bảo đảm cho việc bên phát không gởi dữ liệu quá nhanh
Ngăn ngừa việc tràn bộ đệm
Khái niệm thời gian
Thời gian truyền (t frame ): thời gian cần thiết để gởi tất cả các bit dữ liệu lên đường truyền.
Thời gian lan truyền (t prop ): thời gian cần thiết để 1 bit đi từ nguồn đến đích.
Trang 7Điều khiển dòng dữ liệu
Mô hình truyền khung
Điều khiển dòng
(Flow Control)
Sliding windows Idle RQ
(Stop and Wait)
Trang 8Idle RQ (Stop–and–Wait)
Được dùng chủ yếu trong các ứng dụng character-oriented (byte-oriented)
Sử dụng kênh truyền hoạt động trong chế độ half-duplex
Nguồn phát dữ liệu (dưới dạng các frame)
Đích nhận dữ liệu và trả lời bằng ACK
Nguồn đợi ACK trước khi phát tiếp dữ liệu
Đích có thể ngưng bằng cách không gởi ACK
Thích hợp khi chỉ có vài frame có kích thước lớn
Kích thước bộ đệm có giới hạn
Lỗi được phát hiện sớm
Khi có lỗi, chỉ cần truyền lại frame nhỏ
Ngăn ngừa tình trạng 1 trạm làm việc chiếm đường truyền lâu
Trang 9Idle RQ (Stop–and–Wait)
Animation
Trang 10Chia nhỏ gói tin
Dữ liệu lớn được chia thành các frame có kích thước nhỏ
Kích thước bộ đệm có giới hạn
Lỗi được phát hiện sớm (khi cả gói dữ liệu đã nhận được)
Khi có lỗi, chỉ cần truyền lại frame nhỏ
Ngăn ngừa tình trạng 1 trạm làm việc chiếm đường truyền lâu
Stop and wait trở nên không thích hợp
Trang 11Điểu khiển dòng theo cửa sổ trượt (Sliding windows)
Cho phép nhiều frame có thể truyền đồng thời
Bên thu có bộ đệm với kích thước W
Bên phát có thể truyền tối đa W frame mà không cần đợi ACK
Cơ chế đánh số thứ tự cho các frame
ACK có chứa số của frame kế tiếp đang được mong đợi
Số thứ tự được quay vòng bởi kích thước cửa sổ (modulo 2k)
Trang 12Ví dụ cửa sổ trượt
Trang 14Kiểm soát lỗi
Bảo đảm dữ liệu nhận được đúng và chính xác
Mất frame: frame không đến đích
Frame sai: dữ liệu trong frame bị sai
Cung cấp cơ chế cho việc truyền dữ liệu trong trường hợp dữ liệu bị mất hay sai sót trên đường truyền
Positive ACK – xác nhận các frame nhận được
Truyền lại sau một thời gian time-out
Negative ACK (NAK) và truyền lại – yêu cầu truyền lại (NAK) cho các frame bị hư
Trang 15Điều khiển lỗi
Cơ chế cho phép các nghi thức liên kết dữ
liệu quản lý lỗi và yêu cầu truyền lại
Phân loại
Dùng với cơ chế điều khiển dòng stop-wait
Được dùng chủ yếu trong truyền dữ liệu là ký
tự hay byte thông tin (character-oriented or byte-oriented)
ARQ Stop and Wait
Go Back N Selective reject
Trang 16Stop–and–Wait
A gởi một I-Frame (Information Frame) đến B
A đợi trả lời
Lặp lại các bước trên
Đơn giản
Không hiệu quả
I-Frame nhận được, nhưng ACK bị mất/hư?
Có dùng được cho cơ chế sliding-window không?
Trang 18Go–back–N
Cơ chế hoạt động
RR = receive ready = ACK = acknowledge
REJ = reject = NAK = negative acknowledge
A gởi liên tục các I-Frame đến B (trong khi cơ chế điều khiển dòng còn cho phép)
B chỉ nhận I-Frame theo đúng chỉ số tuần tự ? thứ tự I-Frame truyền được bảo đảm
Truyền lại tất cả các Frame sai kể từ Frame sai đầu tiên trở đi, bất kể các I-Frame sau là đúng hay sai
I-Frame hư
từ frame i
trả lời, sẽ gởi lại frame I sau một thời gian time-out
ACK hư
Trang 19Go–back–N
Khái niệm
một chiều và chiều kia chỉ dùng cho ACK
Các frame thông tin điều khiển
đủ chỗ để chứa ACK (piggybacked acknowledgment),
do đó việc trao đổi dữ liệu duplex sẽ chứa ACK
full- NAK thường được gởi riêng, không theo kiểu piggyback
Trang 20Selective Reject
Cơ chế hoạt động
Tương tự như Go-Back-N, ngoại trừ việc chỉ gởi lại các frame bị NAK hoặc time-out
bên nhận phải có buffer để lưu lại các frame đến không theo đúng chỉ số tuần tự
Vấn đề kích thước cửa sổ
A gởi 0-6 đến B
B xác nhận tất cả, nhưng tất cả ACK đều bị mất
A đợi hoài, nên gởi lại 0
B đã dịch cửa sổ nhận, nên có thể nhận 7,0,1, 5 Nó tưởng frame 7
bị mất và 0 là frame mới, nên chấp nhận (trùng frame)
Kích thước cửa sổ tối đa là ½(2n), tức 2n-1
Trang 21Selective Reject
Trang 22 Cho một kênh truyền dữ liệu có khả năng truyền dẫn là 0.6Mbps và thời gian trễ trên đường truyền
là 172ms Nếu kích thước gói tin là 1193 bit Hãy tính số lượng bit tối đa có thể truyền qua kênh truyền bỏ đi kích thước các gói tin ACK trong thời gian 15 phút
Với giao thức stop and wait, go back N
Trang 23A gửi cho B: 8 frame và frame thứ 2 bị sai, biết vòng lập N=5 hãy vẽ
- ARQ stop and wait
- ARQ go back n
- ARQ Selective Reject