A system for managing data links for a plurality of aircraft in a network wherein at least one aircraft is a non-cooperative aircraft, said system comprising: a plurality of sub-meshes (220;221;222;223), each sub-mesh having a plurality of nodes, wherein at least one node is representative of an aircraft, and a control sub-mesh node (210;211) configured to maintain a plurality of data links with the plurality of aircraft in the sub-mesh (220;221;222;223) based on a generated real-time map of data links for the sub-mesh (220;221;222;223); and a master control node configured to control each control sub-mesh node of each sub-mesh (220;221;222;223), wherein the master control node comprises a module to generate the real-time map of the data links between nodes within the system and to generate a map of user demand requests per node; wherein the real time map is generated from information obtained from each of the plurality of nodes and from external data sources, wherein the information obtained from the external data sources comprises one or more of: aircraft flight data from an on-board controller, flight paths and weather; and wherein the master control node module is further configured to analyse each sub-mesh (220;221;222;223) and adjacent nodes for behaviour patterns by analysing historical maps generated for routing IP data in the network and for user demand requests, and to combine the behaviour pattern information with the information from the external data sources to calculate the optimal routing of IP data between existing and new nodes to maximise data link quality and meet all user demand requests; and wherein the master control node is further configured to execute commands to each node for controlling and managing data links owned by the node based on the calculated optimal routing of IP data. a plurality of sub-meshes (220;221;222;223), each sub-mesh having a plurality of nodes, wherein at least one node is representative of an aircraft, and a control sub-mesh node (210;211) configured to maintain a plurality of data links with the plurality of aircraft in the sub-mesh (220;221;222;223) based on a generated real-time map of data links for the sub-mesh (220;221;222;223); and a master control node configured to control each control sub-mesh node of each sub-mesh (220;221;222;223), wherein the master control node comprises a module to generate the real-time map of the data links between nodes within the system and to generate a map of user demand requests per node; wherein the real time map is generated from information obtained from each of the plurality of nodes and from external data sources, wherein the information obtained from the external data sources comprises one or more of: aircraft flight data from an on-board controller, flight paths and weather; and wherein the master control node module is further configured to analyse each sub-mesh (220;221;222;223) and adjacent nodes for behaviour patterns by analysing historical maps generated for routing IP data in the network and for user demand requests, and to combine the behaviour pattern information with the information from the external data sources to calculate the optimal routing of IP data between existing and new nodes to maximise data link quality and meet all user demand requests; and wherein the master control node is further configured to execute commands to each node for controlling and managing data links owned by the node based on the calculated optimal routing of IP data.