3.1.CẤP PHÁT BĂNG THÔNG ĐỘNG (DBA)
OLTGói luồng lên ranh giới khung
Gói luồng lên ranh giới khung
yêu cầu #2 Báo cáo 6 6 2 2 4 1 1 2 2 1 2 2 4 Địa chỉ đích (DA)
Địa chỉ nguồn (SA) Chiều dài/loại = 88-08
Mã quang = 00-03 Timestamp Số của tập hàng đợi
Báo cáo ánh xạ bit Báo cáo hàng đợi Báo cáo hàng đợi Báo cáo ánh xạ bit
Báo cáo hàng đợi Báo cáo hàng đợi
Độn/ dự trữ FCS Số octet Tập hàng đợi thứ 1 " Báo cáo #1 Tập hàng đợi thứ 2 " Báo cáo #1
thể bao gồm một vài yêu cầu. Như ví dụ được chỉ ra trong hình 3.7. một ONU có thể phát khối yêu cầu #1 trong tập hàng đợi đầu tiên và khối yêu cầu #2 trong tập hàng đợi thứ 2.
Hình 3.6 Một ví dụ với 2 loại yêu cầu
Vì thuật toán được miêu tả trong phần 3.1.7.1 yêu cầu rằng khối được yêu cầu phải luôn luôn được cấp trong sự phân phối tiếp theo, điều kiện đặt lại cho bộ đếm deficit là khá đơn giản. Tuy nhiên, khi một vài yêu cầu được phát, không thể xác định rằng đặt lại bộ đếm deficit có tốt không cho đến khi một sự phân phối thực sự được tạo ra. Với lý do này, điều kiện đặt lại bộ đếm deficit không phức tạp hơn nhiều so với thuật toán được miêu tả trong mục 3.1.7.1. Hoạt động cụ thể của quá trình đặt lại bộ đếm deficit như sau:
• Chiều dài cụm truyền dẫn cho phép lớn nhất được thiết lập cho ONU thứ i.
Chiều dài cụm lớn nhất phải lớn hơn RTD. Chiều dài cụm lớn nhất tương đương với trọng số của WFQ.
• Mỗi ONU có một bộ đếm deficit để xác định yêu cầu #1 và giá trị ban đầu của bộ đếm này được thiết lập là chiều dài cụm lớn nhất . Mỗi ONU cũng có mức ngưỡng bên cạnh bộ đếm deficit để xác định yêu cầu #2. Mức ngưỡng này được thiết lập ở chiều dài gói lớn nhất sử dụng trong các dịch vụ mà yêu cầu trễ thấp hoặc ở giá trị nhỏ về chiều dài khung lớn nhất của Ethernet (Fmax).
• Thêm nữa, mỗi ONU có một reset_flag như là một cờ để ghi nhớ điều kiện đặt lại của mỗi bộ đếm deficit. Giá trị ban đầu của reset_flag là False.
• Mỗi bộ đếm deficit của ONU sẽ trừ toàn bộ khối gói dữ liệu được phát trong cửa sổ truyền dẫn được cấp trong vòng này. Nếu kích thước cửa sổ được cấp trong vòng này là lớn hơn “yêu cầu #1 trước + Wreq” và yêu cầu #1 trước khác so với yêu cầu #2 trước, ONU thứ i cộng thêm vào bộ đếm deficit nếu
reset_flag là True; và nó đặt lại giá trị của bộ đếm deficit thành nếu reset_flag
là False.
• Mỗi ONU phát khối dữ liệu lớn nhất dưới giá trị của bộ đếm deficit trong yêu cầu #1, mà không chia bất kì gói nào, và khối dữ liệu lớn nhất dưới mức ngưỡng trong yêu cầu #2 mà không chia bất kì gói nào trong cửa sổ được cấp. Sau đó, nó phát các gói được lưu trong bộ đệm phía phát.
• Nếu giá trị của yêu cầu #1 là toàn bộ khối gói dữ liệu được lưu trữ, reset_flag
được thiết lập thành False. Nếu có các gói để lại từ khối yêu cầu #1 , reset_flag
được thiết lập là True.
• Sự lập lịch round-robin mới: Trong khi xem xét RTD, OLT cấp cửa sổ truyền dẫn với chiều dài bằng “yêu cầu #2+Wreq” theo thứ tự đến của các yêu cầu từ các ONU. Tuy nhiên sự cấp này không được thực hiện trong ONU đầu tiên với yêu cầu #1lớn hơn yêu cầu #2 trong một vòng. Nó đợi cho đến khi vòng này được hoàn thành bởi round-robin để cấp cửa sổ truyền dẫn với chiều dài “yêu cầu #1+Wreq”. Hay nói cách khác, thay vì bỏ qua sự phân phối cửa sổ truyền dẫn tới cuối của vòng của nó, OLT cấp một cửa sổ đủ dài cho yêu cầu #1 (hình
Đầu vào OLT Dữ liệu #1 Dữ liệu #3
Thời gian Dữ liệu #1
Dữ liệu #3