A method of operating a satellite communication network comprising a constellation of satellites (3 - 97) interconnected by satellite-to-satellite communication links, wherein individual ones of said satellites are configured to connect to at least one ground station (GS1 - GS5) by a ground-satellite communication link, the method comprising: - a step of transmitting, from said or at least one said ground station and using said or at least one said ground-satellite communication link, at least one respective routing table to each of a plurality of said satellites, each routing table comprising a list of destination satellites and, for an individual destination satellite, definitions of a primary route and at least one backup route (BR1 - BR3) leading to it, said backup route being used if at least one communication link of the primary route is congested or failed, the definition of a route comprising an ordered list of interconnected satellites linking a source satellite to a destination satellite; - a step of transmitting, from a satellite experiencing a problem with a communication link interconnecting it to another satellite or to said or one said ground station, an alert message to at least some of the other satellites, said alert message identifying said communication link as problematic; and - a step of routing data packets through said communication network, wherein individual satellites use corresponding ones of said routing tables to avoid a communication link identified as problematic by an alert message, wherein each data packet belongs to one of multiple different Quality-of-Service classes (QoS1 - QoS4); and wherein, when at least one communication link of the primary route for a data packet is problematic because it is congested, said data packet is rerouted along a backup route or not depending on the Quality-of-Service class to which it belongs. - a step of transmitting, from said or at least one said ground station and using said or at least one said ground-satellite communication link, at least one respective routing table to each of a plurality of said satellites, each routing table comprising a list of destination satellites and, for an individual destination satellite, definitions of a primary route and at least one backup route (BR1 - BR3) leading to it, said backup route being used if at least one communication link of the primary route is congested or failed, the definition of a route comprising an ordered list of interconnected satellites linking a source satellite to a destination satellite; - a step of transmitting, from a satellite experiencing a problem with a communication link interconnecting it to another satellite or to said or one said ground station, an alert message to at least some of the other satellites, said alert message identifying said communication link as problematic; and - a step of routing data packets through said communication network, wherein individual satellites use corresponding ones of said routing tables to avoid a communication link identified as problematic by an alert message, wherein each data packet belongs to one of multiple different Quality-of-Service classes (QoS1 - QoS4); and wherein, when at least one communication link of the primary route for a data packet is problematic because it is congested, said data packet is rerouted along a backup route or not depending on the Quality-of-Service class to which it belongs.