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
Đ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
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
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:
- bai_giang_truyen_du_lieu_chuong_7_cac_giao_thuc_dieu_khien_l.ppt