Để hổ trợ việc định vị khe thời gian bởi OLT, giao thức MPCP đang được nhóm IEEE 802.3ah phát triển. MPCP không xây dựng một cơ chế phân bổ băng tần cụ thể, mà thay vào đó, nó là một cơ chế hổ trợ thiết lập các thuật toán phân bổ băng tần khác nhau trong EPON. Giao thức này dựa vào hai bản tin Ethernet: Gate và Report. Bản tin Gate được gởi từ OLT đến ONU để ấn định một khe thời gian truyền. Bản tin Report được ONU sử dụng để truyền đạt các thông tin về trạng thái
hiện tại của nó chẳng hạn mức chiếm giữ của bộ đệm đến OLT, giúp OLT có thể phân bổ khe thời gian một cách hợp lý. Cả hai bản tin Gate và Report đều là các khung điều khiển MAC và được xử lý bởi lớp con điều khiển MAC.
Có hai mô hình hoạt động của MPCP: tự khởi tạo và hoạt động bình thường. Mô hình tự khởi tạo được dùng để dò các kết nối ONU mới, nhận biết trễ Round- trip và địa chỉ MAC của ONU đó. Mô hình bình thường được dùng để phân bổ cơ hội truyền dẫn cho tất cả các ONU được khởi tạo.
Từ nhiều ONU có thể yêu cầu khởi tạo cùng một lúc, mô hình khởi tạo tự động là một thủ tục dựa vào sự cạnh tranh. Ở lớp cao hơn nó làm việc như sau:
Một là: OLT chỉ định một khe khởi tạo, một khoảng thời gian mà không có ONU khởi tạo trước nào được phép truyền. Chiều dài của khe khởi tạo này phải tối thiểu là: <transmission size> + <maximum round-trip time> - <minimum round-trip time>; với <transmission size> là chiều dài của cửa sổ truyền mà một ONU không khởi tạo có thể dùng.
Hai là: OLT gởi một bản tin khởi tạo Gate báo hiệu thời gian bắt đầu của khe khởi tạo và chiều dài của nó. Trong khi chuyển tiếp bản tin này từ lớp cao hơn đến lớp MAC, MPCP sẽ gán nhãn thời gian được lấy theo đồng hồ của nó.
Ba là: Chỉ các ONU chưa khởi tạo mới đáp ứng bản tin khởi tạo Gate. Trong lúc nhận bản tin khởi tạo Gate, một ONU sẽ thiết lập thời gian đồng hồ của nó theo nhãn thời gian đến trong bản tin khởi tạo Gate.
Bốn là: Khi đồng hồ trong ONU đến thời gian bắt đầu của khe thời gian khởi tạo, ONU sẽ truyền bản tin của chính nó tức khởi tạo Report. Bản tin Report sẽ chứa địa chỉ nguồn của ONU và nhãn thời gian tượng trưng cho thời gian bên trong của ONU khi bản tin Report được gởi.
Năm là: Khi OLT nhận bản tin Report từ một ONU chưa khởi tạo, nó nhận biết địa chỉ MAC của nó và thời gian Round-trip. Như được minh họa ở Hình 4.3,
thời gian Round-trip của một ONU là thời gian sai biệt giữa thời gian bản tin Report được nhận ở OLT và nhãn thời gian chứa trong bản tin Report.
Cách tính thời gian Round-trip như sau : 1. OLT gửi bản tin GATE tại T1
2. ONU nhận bản tin GATE tại T1 3. ONU gửi bản tin REPORT tại T2 4. OLT nhận bản tin REPORT tại T3 5. OLT tính toán RTT = T3 - T2
Nguồn: © 2004 Ethernet in the First Mile Alliance
Hình 4.6: Cách tính thời gian Round-trip
Từ nhiều ONU chưa khởi tạo, có thể đáp ứng cùng bản tin khởi tạo Gate, bản tin Report có thể xung đột. Trong trường hợp đó, bản tin Report của ONU bị xung đột sẽ không thiết lập bất kỳ khe nào cho hoạt động bình thường của nó. Nếu như
ONU không nhận được khe thời gian trong khoảng thời gian nào đó, nó sẽ kết luận rằng sự xung đột đã xãy ra và nó sẽ thử khởi tạo lại sau khi bỏ qua một số bản tin khởi tạo Gate ngẫu nhiên. Số bản tin bỏ được chọn ngẫu nhiên từ một khoảng thời gian gấp đôi sau mỗi lần xung đột.
Dưới đây chúng ta mô tả hoạt động bình thường của MPCP:
Từ lớp cao hơn là MAC control client, MPCP trong OLT đưa ra yêu cầu để truyền bản tin Gate đến một ONU cụ thể với các thông tin như sau: thời điểm ONU bắt đầu truyền dẫn và thời gian của quá trình truyền dẫn như trong Hình 4.4.
Trong lớp MPCP của cả OLT và ONU duy trì một đồng hồ. Trong khi truyền bản tin Gate từ lớp cao hơn đến lớp MAC, MPCP sẽ gán vào bản tin này nhãn thời gian được lấy theo đồng hồ của nó.
Trong khi tiếp nhận bản tin Gate có địa chỉ MAC phù hợp vì địa chỉ của các bản tin Gate đều là duy nhất, ONU sẽ ghi lên các thanh ghi trong nó, thời gian bắt đầu truyền và khoảng thời gian truyền. ONU sẽ cập nhật đồng hồ của nó theo thời gian lưu trên nhãn của bản tin Gate nhận được. Nếu sự sai biệt đã vượt quá ngưỡng đã được định trước thì ONU sẽ cho rằng, nó đã mất sự đồng bộ và sẽ tự chuyển vào mode chưa khởi tạo. Ở mode này, ONU không được phép truyền. Nó sẽ chờ đến bản tin Gate khởi tạo tiếp theo để khởi tạo lại.
Nếu thời gian của bản tin Gate được nhận gần giống với thời gian được lưu trên nhãn của bản tin Gate, ONU sẽ cập nhật đồng hồ của nó theo nhãn thời gian. Khi đồng hồ trong ONU chỉ đến thời điểm bắt đầu của khe thời gian truyền dẫn, ONU sẽ bắt đầu phiên truyền dẫn. Quá trình truyền dẫn này có thể chứa nhiều khung Ethernet. ONU sẽ đảm bảo rằng không có khung nào bị truyền gián đoạn. Nếu phần còn lại của khe thời gian không đủ cho khung tiếp theo thì khung này sẽ được để lại cho khe thời gian truyền dẫn tiếp theo và để trống một phần không sử dụng trong khe thời gian hiện tại.
Nguồn: © 2004 Ethernet in the First Mile Alliance
Hình 4.7: Giao thức MPCP - hoạt động của bản tin GATE
Bản tin Report sẽ được ONU gởi đi trong cửa sổ truyền dẫn gán cho nó cùng với các khung dữ liệu. Các bản tin Report có thể được gởi một cách tự động hay theo yêu cầu của OLT. Các bản tin Report được tạo ra ở lớp trên lớp điều khiển MAC và được gán nhãn thời gian tại lớp điều khiển MAC như Hình 3.26. Thông thường Report sẽ chứa độ dài yêu cầu cho khe thời gian tiếp theo dựa trên độ dài hàng đợi của ONU. Khi yêu cầu một khe thời gian, ONU cũng có tính đến cả các phần mào đầu bản tin, đó là các khung mào đầu 64 bit và khung mào đầu IFG 96 bit được ghép vào trong khung dữ liệu.
Khi bản tin Report đã được gán nhãn thời gian đến OLT, nó sẽ đi qua lớp MAC là lớp chịu trách nhiệm phân bổ băng tần. Ngoài ra, OLT cũng sẽ tính lại chu trình đi và về với mỗi nguồn ONU như trong Hình 4.8. Sẽ có một số chênh lệch nhỏ của RTT mới và RTT được tính từ trước bắt nguồn từ sự thay đổi trong chiết suất của sợi quang do nhiệt độ thay đổi. Nếu sự chênh lệch này là lớn thì OLT sẽ
được cảnh báo ONU đã mất đồng bộ và OLT sẽ không cấp phiên truyền dẫn cho ONU cho đến khi nó được khởi tạo lại.
Nguồn: © 2004 Ethernet in the First Mile Alliance
Hình 4.8: Giao thức MPCP - hoạt động của bản tin REPORT
Để xử lý các yêu cầu về lưu lượng trong luồng lên, EPON sử dụng giao thức điều khiển đa điểm MPCP. Đây là giao thức dựa trên việc truyền các khung, dựa trên việc truyền các bản tin điều khiển lớp MAC 64 byte. Các bản tin này kết hợp với lưu lượng đường xuống để cung cấp việc truyền dẫn tùy ý cho các khung Ethernet 802.3. Các chức năng của MPCP là :
Yêu cầu và phân bổ băng tần, thỏa thuận các tham số, quản lý và định thời luồng xuống từ các ONU để tránh đụng độ, sắp xếp và tối ưu hóa các khe thời gian luồng xuống để giám sát độ trễ, tự động khôi phục và đăng ký các ONU.