Bài giảng Truyền dữ liệu - Chương 7: Các giao thức điều khiển liên kết dữ liệu

Nội dung

Điều khiển dòng trong truyền dữ liệu

Giao thức “Dừng lại và đợi” (Stop–and–Wait)

Giao thức “cửa sổ trượt” (Sliding windows)

Kiểm soát lỗi trong truyền dữ liệu: Stop and Wait , Go–back–N, Selective Reject.

Giao thức điều khiển liên kết dữ liệu cấp cao HDLC

Hoạt động của giao thức HDLC

 

ppt 46 trang yennguyen 2280
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Truyền dữ liệu - Chương 7: Các giao thức điều khiển liên kết dữ liệu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Truyền dữ liệu - Chương 7: Các giao thức điều khiển liên kết dữ liệu

Bài giảng Truyền dữ liệu - Chương 7: Các giao thức điều khiển liên kết dữ liệu
CHƯƠNG 7  CÁC GIAO THỨC ĐIỀU KHIỂN LIÊN KẾT DỮ LIỆU 
TRUYỀN DỮ LIỆU 
Khoa Mạng máy tính và Truyền thông 
Trường Đại học Công nghệ Thông tin 
Nội dung 
Điều khiển dòng trong truyền dữ liệu 
Giao thức “Dừng lại và đợi” (Stop–and–Wait) 
Giao thức “cửa sổ trượt” (Sliding windows) 
Kiểm soát lỗi trong truyền dữ liệu: Stop and Wait , Go–back–N, Selective Reject. 
Giao thức điều khiển liên kết dữ liệu cấp cao HDLC 
Hoạt động của giao thức HDLC 
Điều khiển dòng trong truyền dữ liệu (Flow Control) 
Bảo đảm cho máy phát không gởi dữ liệu quá nhanh 
Ngăn ngừa việc tràn bộ đệm 
Thời gian truyền 
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 
Thời gian cần thiết để 1 bit đi từ nguồn đến đích. 
Chia nhỏ gói tin trong tuyền dữ liệu 
Dữ liệu lớn được chia thành các gói (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 
Mô hình truyền gói (Frame) 
Giao thức “Dừng lại và đợi” (Stop–and–Wait) 
Máy phát truyền các frame dữ liệu 
Máy nhận nhận dữ liệu và trả lời bằng gói tin ACK 
Máy phát đợi gói tin ACK trước khi phát tiếp dữ liệu 
Máy nhận có thể ngưng bằng cách không gởi gói tin ACK 
Thích hợp khi chỉ có vài frame có kích thước lớn 
Sử dụng đường truyền của Stop and Wait 
Giao thức “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 2 k ) 
Sơ đồ giao thức “cửa sổ trượt” 
Ví dụ giao thức “cửa sổ trượt” 
Giao thức “cửa sổ trượt” cải tiến 
Máy nhận có thể công nhận các gói tin đồng thời không cho phép truyền tiếp (Receive Not Ready) 
Cần phải gửi gói tin ACK thông thường khi muốn tiếp tục 
 Trong trường hợp song công sử dụng kiểu đánh khăng 
Nếu không có dữ liệu cần truyền gửi gói tin ACK 
Nếu có dữ liệu mà không cần gửi gói tin ACK thì tiếp tục gửi số ACK cũ 
Kiểm soát lỗi trong truyền dữ liệu 
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ư 
Phát hiện lỗi trong truyền dữ liệu 
Thêm các bit để có thể phát hiện ra lỗi trên đường truyền 
Sử dụng Parity 
Sử dụng CRC 
Tự động thực hiện lạiAutomatic Repeat Request 
Cơ chế cho phép các giao thức liên kết dữ liệu quản lý lỗi và yêu cầu truyền lại 
Go Back N 
Selective reject 
Kiểm soát lỗi 
 ( 
Error Control 
) 
ARQ 
Sliding windows 
ARQ 
 Stop and Wait 
Kiểm soát lỗi “Stop and Wait” 
Máy gửi gởi một gói tin đến máy nhận 
Máy gửi đợi trả lời 
Nếu gói tin bị hỏng thì sẽ gửi lại 
Máy gửi có định thời gian 
Không nhận được trả lời quá thời gian – Máy gửi gởi lại 
Nếu gói tin nhận được, nhưng ACK bị mất/hư? 
Máy gửi gởi lại 
Máy nhận sẽ nhận được 2 gói tin giống nhay 
Sử dụng đánh số 0 và 1 
Ví dụ về Stop and Wait 
Ưu khuyết điểm của Stop and Wait 
Stop and Wait hoạt động đơn giản 
Stop and Wait hoạt động không hiệu quả trong thực tế do có nhiều thời gian chời đợi 
Kiểm soát lỗi “Go–back–N” 
Frame điều khiển 
RR - receive ready = ACK - acknowledge 
REJ - reply with rejection = NAK - negative acknowledge 
Dựa trên cơ chế sliding window 
Máy gửi truyền liên tục các Frame đến máy nhận (trong khi cơ chế điều khiển dòng còn cho phép) 
Máy nhận chỉ nhận Frame theo đúng chỉ số tuần tự (hoặc ) và gửi RR với só hiệu của Frame đang chờ nhận 
Khi có lỗi, 
Máy nhận sẽ yêu cầu gửi lại và loại bỏ các frame tiếp theo đến khi nhận được sửa đổi 
Máy gửi 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 Frame sau là đúng hay sai 
Trường hợp có Frame hỏng 
Máy nhận phát hiện lỗi trong Frame thứ I 
Máy nhận truyền Frame REJ(i) 
Máy gửi nhận được Frame REJ(i) 
Máy gửi truyền lại Frame thứ I và các Frame tiếp theo 
Trường hợp có Frame bị mất 
Frame i bị mất 
Máy gửi đã truyền Frame i+1 
Máy nhận nhận được Frame i+1 ngoài thứ tự 
Máy nhận truyền Frame REJ (i) 
Máy gửi quay trở lại Frame thứ i và gửi lại 
Trường hợp có Frame bị mất (2) 
Frame i mất và không có frame nào được gửi tiếp 
Máy nhận không nhận được gì và không trả lời 
Máy gửi đợi hết thời gian sẽ gửi ACK Frame với bít P cho bằng 1. 
Máy nhận truyền RR(i) 
Máy gửi truyền lại Frame i 
Trường hợp có Frame ACK bị hư 
Máy nhận nhận được Frame i, máy nhận truyền Frame RR(i+1), nhưng Frame này bị mất 
Máy gửi còn gửi các Frame tiếp theo như i+1, i+2.. Nên nếu máy gửi nhận được Frame RR(i+n) trước thời gian timeout thì được hiểu như bao gồm RR(i), RR(i+1) .. 
Máy nhận đợi, sẽ gởi lại các Frame, kể từ Frame i 
Máy nhận được Frame REJ(i) báo thiếu hay hay hư thì sẽ gởi lại các Frame, kể từ Frame i 
Ví dụ về Go–back–N 
Kiểm soát lỗi “Selective Reject” 
Tương tự như Go-Back-N, 
Chỉ truyền lại các Frame bị hỏng hoặc time-out 
Máy nhận có thể nhận Frame không theo đúng tuần tự và máy nhận phải có buffer để lưu lại các Frame đến không theo đúng chỉ số tuần tự 
Giảm số lượng cần truyền lại 
Buffer cần phải đủ lớn 
Phức tạp hơn 
Ví dụ về Selective Reject 
Giao thức điều khiển liên kết dữ liệu cấp cao HDLC 
Giao thức điều khiển liên kết dữ liệu cấp cao (High-level Data Link Control – HDLC) 
Liên kết point-to-point hoặc multipoint 
Đặc điểm 
Không phụ thuộc mã điều khiển 
Khả năng thích ứng 
Hiệu quả cao 
Độ tin cậy cao 
Các loại trạm làm việc HDLC 
Trạm cấp 1 
Điều khiển hoạt động của liên kết 
Frame phát ra gọi là các lệnh 
Duy trì liên kết logic riêng cho các trạm cấp 2 
Trạm cấp 2 
Hoạt động dưới sự điều khiển của trạm cấp 1 
Frame phát ra gọi là các trả lời 
Trạm tổ hợp 
Có thể phát ra các lệnh và trả lời 
Cấu hình liên kết 
Không cân bằng 
Một trạm cấp 1 và một hoặc nhiều trạm cấp 2 
Cho phép full duplex và half duplex 
Cân bằng 
2 trạm tổ hợp 
Hỗ trợ full duplex và half duplex 
Chế độ truyền “Normal Response Mode” 
Normal Response Mode (NRM) 
Cấu hình không cân bằng 
Trạm cấp 1 khởi động việc truyền đến trạm cấp 2 
Trạm cấp 2 chỉ có thể truyền dữ liệu để đáp ứng lại lệnh từ trạm cấp 1 
Dùng đường truyền dạng multi-drop 
Máy chủ hoạt động như là trạm cấp 1 
Các terminal hoạt động như là trạm cấp 2 
Chế độ truyền “Asynchronous Balanced Mode” 
Asynchronous Balanced Mode (ABM) 
Cấu hình cân bằng 
Trạm nào cũng có thể bắt đầu truyền mà không cần sự cho phép 
Được dùng rộng rãi 
Không tốn chi phí cho việc polling 
Chế độ truyền “Asynchronous Response Mode” 
Asynchronous Response Mode (ARM) 
Cấu hình không cân bằng 
Trạm cấp 2 có thể bắt đầu truyền mà không cần sự cho phép của trạm cấp 1 
Trạm cấp 1 chịu trách nhiệm cho đường truyền 
Ít dùng trong thực tế 
Cấu trúc Frame của HDLC 
Truyền đồng bộ 
Truyền theo Frame 
Định dạng Frame chung cho việc trao đổi dữ liệu và điều khiển 
Cấu trúc Frame 
Cờ điều khiển trong Frame HDLC 
Dùng để phân định Frame cả ở 2 đầu 
01111110 
Có thể dùng để kết thúc Frame này và bắt đầu Frame khác 
Máy nhận quét tìm cờ để đồng bộ 
Chèn thêm bit (bit stuffing) được dùng để tránh lẫn lộn dữ liệu chứa 01111110 
0 được chèn thêm vào mỗi khi chuỗi 5 số 1 liên tiếp xuất hiện 
Nếu máy nhận phát hiện 5 số 1, nó kiểm tra bit kế tiếp 
Nếu bit đó là 0, nó xóa bit 0 đó 
Nếu bit là 1 và bit thứ 7 là 0, nó biết đây là cờ 
Nếu bit thứ 6 và 7 đều là 1, bộ phát ra lệnh hủy bỏ 
Kỹ thuật chèn thêm bit 
Ví dụ các lỗi có thể 
Trường địa chỉ của Frame HDLC 
Dùng để nhận diện trạm cấp 2 đã gởi hoặc sẽ nhận Frame 
Thường dài 8 bit 
Có thể mở rộng thành bội số của 7 bit 
LSB của mỗi octet chỉ thị đây là octet cuối cùng (1) hay chưa (0) 
Địa chỉ toàn 1 (11111111) là địa chỉ broadcast 
Trường điều khiển 
Khác nhau tùy thuộc vào loại Frame 
Thông tin – dữ liệu cần truyền đến người dùng (lớp trên) 
Điều khiển dòng và điều khiển lỗi được gởi kèm (piggybacked) trong các khung thông tin 
Giám sát – dùng ARQ khi piggyback không được dùng 
Không số – hỗ trợ cho việc điều khiển liên kết 
1 hoặc 2 bit đầu tiên của truờng điều khiển dùng để nhận dạng loại Frame 
Trường điều khiển của Frame HDLC 
Bit Poll/Final của Frame HDLC 
Dùng tùy theo ngữ cảnh 
Frame lệnh 
Bit P 
Bit 1 để mời gọi (poll) đáp ứng của các trạm ngang hàng 
Frame trả lời 
Bit F 
Bit 1 để chỉ thị đáp ứng đối với lệnh mời gọi 
Trường thông tin của Frame HDLC 
Chỉ có trong Frame thông tin và một số Frame không số 
Cần bao gồm một nhóm các octet 
Kích thước thay đổi 
Trường FCS - Frame Check Sequence Field 
Dùng để phát hiện lỗi 
CRC 16 bit 
Có thể dùng CRC 32 bit 
Hoạt động của giao thức HDLC 
Trao đổi Frame thông tin, Frame giám sát và Frame không số 
3 giai đoạn 
Khởi tạo 
Trao đổi dữ liệu 
Ngắt kết nối 
Hoạt động trong trường hợp không lỗi 
Hoạt động trong trường hợp có lỗi 
Tài liệu tham khảo 
William Stallings (2010), Data and Computer Communications (9th Edition), Prentice Hall 
HẾT CHƯƠNG 7 

File đính kèm:

  • pptbai_giang_truyen_du_lieu_chuong_7_cac_giao_thuc_dieu_khien_l.ppt