Resource Management in Satellite Networks: Optimization and Cross-Layer Design