The Ethernet passive optical networks (EPON) are high-speed solutions to the bottleneck problem of the broadband access network. To provide efficient and fair utilization of the EPON upstream bandwidth and support QoS requirements of different traffic classes, a dynamic bandwidth allocation algorithm based on gate threshold is proposed. The algorithm decides the data-receiving rate of the ONU (optical network unit), according to the ONU data-sending response rate and the gate threshold. It then, implements three methods to adapt and adjust the gate threshold, and analyzes these methods’ characteristic. Simulation experiments show the algorithm can decrease average packet delay and increase network throughput.