Passive optical networks bring high-speed broadband access via fiber to the business, curb and home. Among various types of PONs, Ethernet PONs are gaining more and more attention since they are built on widely used Ethernet technology and can offer high bandwidth, low cost and broad services. EPONs use a point-to-multipoint topology, in which multiple optical network units share one uplink channel to transmit multimedia traffic to a control element, the optical line terminal. To avoid data collision on the shared uplink channel, a key issue in EPONs is a contention-free MAC protocol for the OLT to schedule the transmission order of different ONUs. In this article we first review some DBA schemes available in the literature, then propose a two-layer bandwidth allocation scheme that implements weight based priority for this need. To maximally satisfy the requests of all ONUs and provide differentiated services, an ONU is allowed to request bandwidth for all its available traffic, and all traffic classes proportionally share the bandwidth based on their instantaneous demands. The weight set for each class not only prevents high-priority traffic from monopolizing the bandwidth under heavy load but also ensures a minimum bandwidth allocated to each traffic class.