Cách đơn giản nhất để đo RTT là gửi một thông báo từ OLT đến ONU và yêu cầu ONU đáp ứng ngƣợc lại. Khi đó RTT đơn giản chỉ là sự chênh lệch giữa thông báo gửi và thông báo nhận tại OLT. Tuy nhiên, quá trinh đơn giản này cũng gặp phải ba vấn đề:
Thời gian biến đổi để tạo ra đáp ứng tại ONU cũng đƣợc tính vào RTT
Thời gian truyền của luồng downstream và upstream bị ghép với nhau
Nếu hai ONU xuất hiện tại cùng một khoảng cách tính từ OLT, chúng sẽ nhận thông báo tìm kiếm GATE đồng thời và tạo ra thông báo REGISTER_REQ cùng thời điểm. Vì thế không thể áp dụng trễ ngẫu nhiên và các thông báo đó sẽ xung đột với nhau.
Để giải quyết vấn đề trên, chuẩn IEEE 802.3ah đƣa ra một cách đo RTT phức tạp hơn. Lƣợc đồ thời gian của phƣơng thức đo RTT này nhƣ sau :
55
Hình 2.16: Đo RTT
Khi thông báo tìm kiếm GATE đƣợc chuyển tới bộ điều khiển hợp kênh tại OLT, nó đƣợc lƣu với đồng hồ MPCP của OLT tại thời điểm t0 . Điểm tham chiếu đó là thời điểm byte đầu tiên của thông báo GATE. Bên cạnh đó giá trị timestamp phải bằng với xung đồng hồ MPCP clock tại thời điểm khi byte đầu tiên của địa chỉ đích (DA) đƣợc truyền.Khi thông báo GATE đến ONU, ONU thiết lập bộ đếm MPCP của nó tới giá trị timestamp nhận đƣợc. Điểm tham chiếu là byte đầu tiên của địa chỉ đích DA nhận đƣợc bởi ONU. Sau khi giá trị khởi tạo cục bộ của xung đồ hồ MPCP đƣợc thiết lập, đồng hồ này sẽ tiếp tục chạy để đồng bộ với xung khôi phục từ luồng dữ liệu nhận đƣợc.
Khi giá trị của đồng hồ MPCP đạt đến thời điểm ONU sử dụng trễ ngẫu nhiên (khoảng thời gian sau khi nó truyền đi thông báo REGISTER_REQ). Khi đó thông báo REGISTER_REQ đã đƣợc chuyển qua bộ điều khiển hợp kênh tại ONU, đó là thời điểm trùng với đồng hồ MPCP của ONU (thời điểm t1 ) và điểm tham chiếu chính là byte đầu tiên của thông báo REGISTER_REQ. Hình 2.16 là các khoảng thời gian giữa việc nhận thông báo GATE và truyền thông báo REGISTER_REQ, kí hiệu bằng Twait
Thời gian đó đƣợc tính bằng ( t1 – t0 ). Đây là khoảng thời gian đủ cho ONU tạo ra thông báo REGISTER_REQ.
Cuối cùng khi thông báo REGISTER_REQ đƣợc truyền đến OLT, OLT lƣu lại giá trị đồng hồ MPCP của nó tƣơng ứng với byte đầu tiên trong trƣờng địa chỉ đích (DA).. Trong hình 2.16 giá trị này chính là khoảng thời gian t2. Thời gian trôi qua
56
tại OLT giữa việc gửi thông báo GATE và nhận thông báo REGISTER_REQ là Tresponse và bằng (t2 – t0). Từ giản đồ thời gian có thể dễ dàng thấy rằng
Tresponce = Tdownstream + Twait + Tupstream. Vì thế ta có:
RTT = Tdownstream + Tupstream = Tresponce – Twait = (t2 –t0) – (t1 – t0) = (t2 - t1) (2.1) Công thức 2.1 cho ta thấy RTT chính là sự sai khác giữa thời gian thông báo REGISTER_REQ đến và khoảng thời gian kéo dài của thông báo REGISTER_REQ.
Công thức này chỉ đúng khi Tresponce và Twait đƣợc đo trong cùng một miền thời gian, khi đồng hồ MPCP của ONU và OLT đồng bộ với nhau.