Adaptive cross-layer bandwidth allocation in a rain-faded satellite environment