An expandable router for routing a signal from at least one input to one or more outputs, comprising: at least X routing components (102, 104, 106, 108), where X is an integer greater than two, each of the X routing components (102, 104, 106, 108) having first and second routing engines (144, 152; 178, 186; 212,220; 246, 254), each routing engine (144, 152; 178, 186; 212,220; 246, 254) having N inputs and M outputs where N and M are integers both greater than one, each routing engine (144, 152; 178, 186; 212, 220; 246, 254) configured to route a signal from one of the N inputs to one of the M outputs; each first routing engine (144; 178; 212; 246) of each of the X routing components (102, 104, 106, 108) having its inputs coupled by first links (110, 112, 114; 116; 118; 120) in a first fully connected topology to inputs of others of the first routing engines (144; 178; 212; 246) of the X routing components (102, 104, 106, 108) for providing an input data stream to said inputs of said first routing engines(144; 178; 212; 246); each second routing engine (152; 186; 220; 254) of each of the X routing components (102, 104, 106, 108) having its inputs coupled by second links (122; 124; 126; 128; 130; 132) in a second fully connected topology to inputs of others of the second routing engines (152; 186; 220; 254) of the X routing components (102, 104, 106, 108) for providing an input data stream to an input of each of said second routing engines (152; 186; 220; 254), wherein said second links (122; 124; 126; 128; 130; 132) are different from said first links (110; 112; 114; 116; 118; 120); wherein the coupling of the inputs of the routing engines (144, 152; 178, 186; 212,220; 246,254) establishes a common set of XN inputs for the routing engines, wherein for each of the X components, the first and second routing engines are coupled between the N inputs and the M outputs of the component such that each of the first and second routing engines (144, 152; 178, 186; 212,220; 246,254) in each routing component (102; 104; 106; 108) are configured to function as a backup to the other of the routing engines (144, 152; 178, 186; 212, 220; 246, 254) in the same routing component. at least X routing components (102, 104, 106, 108), where X is an integer greater than two, each of the X routing components (102, 104, 106, 108) having first and second routing engines (144, 152; 178, 186; 212,220; 246, 254), each routing engine (144, 152; 178, 186; 212,220; 246, 254) having N inputs and M outputs where N and M are integers both greater than one, each routing engine (144, 152; 178, 186; 212, 220; 246, 254) configured to route a signal from one of the N inputs to one of the M outputs; each first routing engine (144; 178; 212; 246) of each of the X routing components (102, 104, 106, 108) having its inputs coupled by first links (110, 112, 114; 116; 118; 120) in a first fully connected topology to inputs of others of the first routing engines (144; 178; 212; 246) of the X routing components (102, 104, 106, 108) for providing an input data stream to said inputs of said first routing engines(144; 178; 212; 246); each second routing engine (152; 186; 220; 254) of each of the X routing components (102, 104, 106, 108) having its inputs coupled by second links (122; 124; 126; 128; 130; 132) in a second fully connected topology to inputs of others of the second routing engines (152; 186; 220; 254) of the X routing components (102, 104, 106, 108) for providing an input data stream to an input of each of said second routing engines (152; 186; 220; 254), wherein said second links (122; 124; 126; 128; 130; 132) are different from said first links (110; 112; 114; 116; 118; 120); wherein the coupling of the inputs of the routing engines (144, 152; 178, 186; 212,220; 246,254) establishes a common set of XN inputs for the routing engines, wherein for each of the X components, the first and second routing engines are coupled between the N inputs and the M outputs of the component such that each of the first and second routing engines (144, 152; 178, 186; 212,220; 246,254) in each routing component (102; 104; 106; 108) are configured to function as a backup to the other of the routing engines (144, 152; 178, 186; 212, 220; 246, 254) in the same routing component.