La commutation • Elle consiste à trouver un chemin entre une entrée et une sortie d’un commutateur (CAA, CTS, CTP, …) • Il y a au moins 3 types de commutation : la commutation spatiale la commutation temporelle la commutation de paquets La commutation spatiale • Elle consiste à mettre en place un circuit continu entre l’entrée et la sortie • En règle générale, elle nécessite une matrice d’interrupteurs commandés par un signal de commande • Les signaux de commande sont issus de la valeur de mémoires à 1 bit définissant la position « ouvert » ou « fermé » de l’interrupteur • Le commutateur peut donc être géré par un processeur mettant à jour ces mémoires en fonction de la signalisation La commutation spatiale • La fermeture d’un contact entre 2 fils crée le chemin recherché Liaisons entrantes • En principe, il suffit de fabriquer une matrice de fils non connectés représentant les liaisons entrantes et les liaisons sortantes Liaisons sortantes La commutation spatiale • La mémoire de commande représente l’état des interrupteurs • Il n’y a au plus qu’un seul « 1 » pour chaque ligne ou pour chaque colonne • Les lignes où il y a un « 1 » correspondent à des lignes occupées 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 On peut faire des économies • Si les lignes entrantes et les lignes sortantes sont identiques (lignes mixtes), on peut avoir une structure comportant moins d’interrupteurs mais avec une gestion un peu plus compliquée Au lieu de n2 interrupteurs, il suffit d’en avoir n(n-1)/2 Les gros commutateurs • Les gros commutateurs doivent être faciles à maintenir • Ils sont construits à partir de commutateurs de petite taille alignés sur des colonnes • Pour ne pas avoir de blocage, il faut 3 colonnes (réseaux de Clos) • La gestion de ces commutateurs est assez difficile, car il faut trouver un chemin disponible entre les 3 colonnes Un exemple: un commutateur 16x16 à partir d’ éléments 4x4 A B C 1 1 1 2 2 2 3 3 3 4 4 4 La recherche de chemin conjuguée • On cherche une sortie libre entre la ligne entrante et la deuxième colonne du commutateur • On cherche une entrée libre entre la deuxième colonne et la ligne sortante • Si cette entrée et cette sortie correspondent au même élément de la deuxième colonne, on a trouvé un chemin • S’il y a plusieurs chemins possibles, on choisit l’un d’entre eux au hasard pour assurer une utilisation moyenne identique de tous les éléments et augmenter la fiabilité d’ensemble Un exemple • On connaît l’élément d’entrée pex : la ligne 2 de A1 On a la matrice de commande de A1 • On connaît l’élément de sortie pex : la ligne 4 de C3 On a la matrice de commande de C3 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Pour connaître les sorties libres,il faut faire un OU logique sur les colonnes Pour connaître les entrées libres,il faut faire un OU logique sur les lignes 0 1 1 0 L’élément de la colonne B qui doit être choisi est défini par les éléments « 0 » que l’on obtient en faisant un OU logique entre les mots donnant les entrées et les sorties libres 0 1 1 0 1 1 0 0 1 1 1 0 Le chemin disponible passe par B4 La commutation temporelle • Le principe consiste à changer de place dans une trame des conversations numériques multiplexées I II III IV V VI 1 2 3 4 5 6 T 6 3 2 5 4 1 I II III IV V VI I parle avec VI II parle avec III IV parle avec V Une réalisation possible Trame de sortie Trame d’entrée 4 3 1 2 1 1 2 3 4 5 6 AD entrée 1 AD sortie 6 Cpteur x6 Horloge Montage avec pilotage par la sortie 6 3 2 5 4 1 1 signalisation Une réalisation possible Trame de sortie Trame d’entrée 5 4 1 3 2 1 2 3 4 5 6 AD entrée 2 2 AD sortie 3 Cpteur x6 Horloge 6 3 2 5 4 1 2 Une réalisation possible Trame de sortie Trame d’entrée 6 5 1 4 3 1 3 2 2 4 3 5 AD entrée 3 6 AD sortie 2 Cpteur x6 Horloge 6 3 2 5 4 1 3 Une réalisation possible Trame de sortie Trame d’entrée 1 6 1 5 1 4 3 2 2 4 3 5 4 6 AD entrée 4 AD sortie 5 Cpteur x6 Horloge 6 3 2 5 4 1 4 Une réalisation possible Trame de sortie Trame d’entrée 2’ 1’ 1 6 1 5 3 2 4 2 4 3 5 5 AD entrée 5 6 AD sortie 4 Cpteur x6 Horloge 6 3 2 5 4 1 5 Une réalisation possible Trame de sortie Trame d’entrée 3’ 2’ 2 1 1’ 6 1 3 4 2 4 3 5 5 AD entrée 6 6 6 AD sortie 1 Cpteur x6 Horloge 6 3 2 5 4 1 6 Une réalisation possible Trame de sortie Trame d’entrée 4’ 3’ 1 2’ 1’ 1’ 3 2 6 1 4 4 3 5 5 AD entrée 1 6 AD sortie 6 Cpteur x6 Horloge 6 3 2 5 4 1 1 Une réalisation possible Trame de sortie Trame d’entrée 5’ 4’ 1 3’ 2’ 1’ 3 5 2 2’ 3 6 1 4 4 5 AD entrée 2 6 AD sortie 3 Cpteur x6 Horloge 6 3 2 5 4 1 2 Une réalisation possible Trame de sortie Trame d’entrée 6’ 5’ 1 4’ 3’ 3 5 1’ 3’ 5 AD entrée 3 2 2’ Horloge 6 1 4 6 AD sortie 2 Cpteur x6 3 6 3 2 5 4 1 3 Une réalisation possible Trame de sortie Trame d’entrée 1 6’ 1 5’ 1’ 4’ 3 3’ 5 2 5 4 2’ 3 6 4’ 6 AD entrée 4 AD sortie 5 Cpteur x6 Horloge 6 3 2 5 4 1 4 Les avantages du montage piloté par la sortie • Possibilité d’insérer la même conversation dans deux slots différents conversation à trois un seul générateur de tonalités • Possibilité de faire de la commutation de connées à des vitesses supérieures à 64 kbps Une autre réalisation possible Trame de sortie Trame d’entrée 1 2 3 4 5 6 AD entrée signalisation 6 3 2 5 4 1 AD sortie Cpteur x6 Horloge Montage avec pilotage par l’entrée Les gros commutateurs • Ils commutent des trames MIC 32, quel que soit le trafic • Dans un réseau plésiochrone (avec des horloges non synchronisées), on ne peut pas faire mieux • On utilise la structure de réseaux de Clos Une réalisation possible d’un commutateur de trames 3x3 Trame 1 Trame 2 Mémoire de données de la trame 1 Trame 1 Trame 2 Mémoire de données de la trame 2 Trame 3 Trame 3 Adresse entrée Mémoire de données de la trame 3 Cpteur x32 Chaque commutateur est ouvert 1/3 du temps Mémoire de commande Adresse sortie La commutation de paquets Les paquets sont dirigés vers des files d ’attente en sortie C ’est le commutateur qui choisit la sortie (routage) Qu’est ce qu’un commutateur de paquets ? • C’est une mémoire divisée en zones de taille égale à un paquet • Les paquets sont mis en mémoire dans une zone vide dont on trouve l’adresse dans la pile des vides • Les paquets sont routés en inscrivant la zone où se trouve le paquet dans une file de sortie • Lorsque les paquets sont émis, la zone où se trouvait le paquet se retrouve dans la file des vides Les deux grands types de réseau à commutation de paquets Les réseaux connectés (ex. : TRANSPAC ou X25) Un chemin est défini une fois pour toute pour toute la transaction entre deux correspondants (circuit virtuel) Avantage : Les paquets des différents messages se suivent sur le circuit virtuel ; il n ’y a pas de problèmes de reconstitution des messages Problème : si le circuit a un défaut, la transaction s arrête et doit être réinitialisée Avant de débuter une transaction, il faut envoyer un paquet d ’appel qui permet de construire le circuit virtuel Les réseaux connectés Virtual Circuit Switching • Connexion orienté - exige l'installation d'une connexion pour établir un chemin fixe • Use small-sized Virtual Circuit Identifier (VCI) when forwarding packets • Quand l'échec de lien se produit, le raccordement-chemin original doit être déchiré vers le bas pour libérer le stockage, et une nouvelle installation de connexion est exécutée. larger impact to the application • VCI of a connection can be different in each routers no need to negotiate for a “free” VCI among different routers Routing Tables: Virtual Packet Switching 1 A 2 1 3 5 7 3 1 4 8 6 B 5 2 4 3 C 5 2 5 6 2 Node 3 Node 1 Incoming node VC A 1 A 5 3 2 3 3 Outgoing node VC 3 2 3 3 A 1 A 5 Incoming node VC 1 2 1 3 4 2 6 7 6 1 4 4 Outgoing node VC 6 7 4 4 6 1 1 2 4 2 1 3 D Node 6 Incoming node VC 3 7 3 1 B 5 B 8 Outgoing node VC B 8 B 5 3 1 3 7 Node 4 Node 2 Incoming node VC C 6 4 3 Outgoing node VC 4 3 C 6 Incoming node VC 2 3 3 4 3 2 5 5 Outgoing node VC 3 2 5 5 2 3 3 4 Node 5 Incoming node VC 4 5 D 2 Outgoing node VC D 2 4 5 Figure 7.24 Delays in Virtual-Circuit Packet Switching Connect request t CC CR CC CR Connect confirm 1 2 3 1 2 Release 3 t t 1 2 3 • One RTT delay is required for initial connection setup. • Half of a RTT is required for connection release t Cut-through Packet Switching • Used in virtual circuit switching • Packets are forwarded as long as the header is received and the table lookup is carried out • No hop-by-hop error checking • Suitable for delay-sensitive applications that can tolerate some errors (e.g. video and speech transmission) • Also appropriate when the transmission is virtually error-free (e.g. Optical fiber transmission) Cut-through Packet Switching Source t Switch 1 2 1 3 t Switch 2 2 1 3 t 1 Destination 2 3 t Minimum Delay = 3p+T Les deux grands types de réseau à commutation de paquets Les réseaux non connectés(ex. : ARPA) L ’émetteur envoie ses paquets au réseau qui les transporte individuellement vers le récepteur Le réseau cherche le chemin le plus rapide pour chaque paquet, appelé datagramme Avantage : si une partie du réseau se casse, mais s ’il reste un chemin, le paquet parvient à son correspondant Problème : le récepteur doit avoir assez de mémoire libre pour reconstituer le message Avant d ’émettre, il faut envoyer un paquet de réservation S ’il y a des blocages dans le réseau, le temps de transit devient prohibitif Les réseaux non connectés Connectionless Packet Switching • Datagrams are forwarded based on the destination node address • When a host sends a packet, it cannot know whether the network is capable to deliver it (maybe some intermediate links are broken or the destination node is off) • Each packet is forwarded independently, and may take different paths to the destination • Link failure has less impact on communication if an alternate route can be found within a short time Le routage dans les réseaux non connectés • • • • Routage aléatoire (dirigé) Inondation Mesure du temps retour Algorithmes intelligents Flooding • By flooding an incoming packets to all neighbor nodes except the one from which the packet comes, the packet can eventually get to the target node. • Flooding can be used when routing table is not available (e.g. during system start-up) or when survivability is required (e.g. in military networks) • Flooding is also used to distribute link-state information (e.g. When Dijkstra’s algorithm is used in routing) Flooding • With flooding, the number of packets flowing in a network increases exponentially and many redundant packets are transmitted (refer to lecture notes), and consumes a lot of resources. • Two approaches to reduce resource consumption in flooding: – Time-to-live field (TTL) in a packet is used to limit the number of hops it can transverse. – When a packet passes a node, the node ID will be added to the packet header. When a node receiving a packet including its own ID, it will discard it. Example of Dijkstra’s Algorithm N D3 = 2 3 2 D1 = 0 1 5 3 1 D2 = 3 2 4 1 2 4 D4 = 5 2 3 5 D5 = 6 D1 = 0 1 N D6 = 5 1 D2 = 3 N D3 = 2 3 D1 = 0 1 5 3 1 D2 = 3 2 4 6 2 4 D6 = 3 1st Iteration 1 2 4 D4 = 4 2 3 5 D5 = 5 2nd Iteration 1 2 4 D4 = 4 2 3 5 D5 = 3 Initial States 2 D3 = 2 3 2 6 D6 = 3 N D3 = 2 2 D1 = 0 1 3 5 3 1 D2 = 3 2 4 1 2 4 D4 = 4 2 3 5 D5 = 5 3rd Iteration 6 D6 = 3 Example of Dijkstra’s Algorithm – Cont’ N D3 = 2 2 D1 = 0 1 3 5 3 1 D2 = 3 2 4 1 2 4 D4 = 4 2 3 5 D5 = 5 6 D6 = 3 N 4nd Iteration D3 = 2 2 D1 = 0 1 3 5 3 1 D2 = 3 2 4 1 2 4 D4 = 4 2 3 5 D5 = 5 5th Iteration 6 D6 = 3 Caractéristiques Architecturales des commutateurs ATM Les caractéristiques architecturales des commutateurs ATM sont évaluées pour leur pertinence à rencontrer les exigences de performance des protocoles qui supporteront les services à offrir dans B-ISDN. Un commutateur ATM comprend un ensemble de N ports d’entrées, et N ports de sorties, un switch fabric, et un processeur de controle de gestion - management control processor (MCP). Input Controllers MCP Output Controllers 0 1 . . . N 0 . . . Switch Fabric . . . 1 . . . N 42 Switch Fabric Un “switch fabric” est un mécanisme qui achemine les cellules des ports d’entrée aux ports de sortie. Il doit s’occuper des problèmes suivants : Établissement d’un chemin entre un port d’entrée et un port de sortie à l’intérieur du commutateur; La discipline de service pour les ports d’entrées; Mécanisme de résolution de contention pour les cellules qui compétitionnent pour les liens ou d’autres ressources internes du commutateur (avoir à faire avec le blockage interne); Support de plusieurs ports d’entrée aux connexions de ports de sortie (parallélisme). 43 Classification de Switch Fabrics ATM ATM Switch Fabrics Time division Shared memory Space division Single path Shared medium Bus Ring Multiple path Augmented Parallel Load Recirculation Banyan planes sharing Matrix Banyan Sorted Banyan Delta 44 Commutation Time Division La connexion physique entre les ports d’entrées et de sorties dans le switch fabric peut être développée en utilisant la méthodologie de « time or space division ». Dans “time division switching” commutation temporelle, l’utilisation de ressources physiques est multiplexée entre plusieurs connexions d’entrées et de sorties en se basant sur des emplacements en temps discrets. Un bus est un exemple d’un médium physique qui peut faciliter le multiplexage temporel en utilisant de module de mémoire. cells from input ports Me mo ry Mo d u l e cells to output ports 45 Space Division Switching Dans la méthodologie “space division”, le switch fabric peut supporter plusieurs connexions au même moment. Les connexions sont basées sur la disponibilité de chemins physiques du switch fabric qui ne sont pas en conflit. a0 a1 2x2 switching element b0 b1 Switching Elements a0 b0 a0 b0 a1 b1 a1 b1 Straight through Lower broadcast a0 b0 a0 b0 a1 b1 a1 b1 exchange Upper broadcast Routing Routage de cellules à travers un « space-division switch » peut être accomplit par: • self routing • label routing self routing compte sur les interconnexions régulières du switching elements dans le fabric. label routing, le champ VCI dans l’entête est utilisé par chaque switching element pour prendre les décision de lien de sortie. Knockout Switch A knockout switch is a matrix architecture. Any input can transmit to any output. The switch is self routing. 0 bus 1 input bus drivers N-1 filter Filtering is based on the packet destination address Knockout concentrator The concentrator with R buffers (R<N) implements a selection algorithm for selecting R cells out of the maximum N possible cells arriving at that port. Worse case:N-R cells lost 0 R R out of N selection algorithm is used by the concentrator output R N-1 Separate output buffers can be maintained and a shifter can be used to allocate cells to the buffers in order to ensure proper sequencing of transmitted cells on each virtual connection in an ATM Network. Multistage Switches Two of the basic switching fabrics used for multistage switching are the Banyan and the Delta networks. Delta Networks N input port switch composed of b x b simpler switching elements. There are K stages, where N = bK (K=logbN) and N/b switches in each stage (column). Example of Delta network 8 x 8 Delta 2 network, where b = 2, N = 8, K = log28 = 3 columns (switches in a column) K N 0 1 2 3 4 5 6 7 0 1 0 1 0 1 0 1 one half of the deck the other half of the deck a perfect shuffle 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 a perfect shuffle 000 001 010 011 100 101 110 111 Multiple connections The bits of the destination address provide the required routing tags. The digits in the destination address are used 000 0 stages. 0 to0set 0the state of the destination port address 1 011 2 3 white bit controls 4 switch setting in each 5 stage 6 101 7 1 1 0 1 0 1 1 011 0 1 011 101 0 1 101 011 0 1 0 1 0 1 0 1 Stage 1 101 Perfect shuffle Stage 2 Perfect shuffle 0 1 Stage 3 001 010 011 100 101 110 111 Internal blocking Internal link blocking as well as output blocking can happen in a Delta network. The following example illustrates an internal blocking for 011 0 to output 3 and input 4 to connections of input 011 0 000 0 0 0 010 blocking link output 2.1 1 1 001 010 1 2 3 4 5 6 7 ??? 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Stage 1 Perfect shuffle Stage 2 Perfect shuffle ??? ??? Stage 3 010 011 100 101 110 111 Output Blocking The following example illustrates output blocking for the connections between input 1 and output 6, and input 3 and output 6. 110 110 0 1 2 3 4 5 6 7 0 1 0 1 110 0 1 0 1 Stage 1 110 Perfect shuffle 0 1 0 1 0 1 0 1 0 1 0 1 000 001 010 011 100 101 0 1 110 111 0 1 Stage 2 110 110 Perfect shuffle Stage 3 output blocking The Banyan Network The banyan network is another self-routing switching fabric, similar in topology to the delta network. 011 101 0 1 2 3 4 5 6 7 0 1 011 0 1 0 1 0 1 0 1 011 0 1 011 0 1 0 1 101 0 1 101 011 101 0 1 Stage 1 101 0 1 Stage 2 0 1 Stage 3 000 001 010 011 100 101 110 111 Adding Load Distribution Because of internal blocking, input traffic is sorted on the destination ports. The A B 000 0 0 0 network is known as Batcher sorter 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 B A Stage 1 Perfect shuffle Perfect shuffle Stage 2 A = Connection to output port 3 (011) B = Connection to output port 2 (010) Stage 3 001 010 011 100 101 110 111 Adding Recirculation Recirculating networks can redistribute, to the input ports, packets that were not successfully delivered in a given cycle. Switch fabric recirculation buffer This technique deals with output or internal blocking. Starlight Switch Structure Output Input Sort Concentrator network Trap buffer Routing Banyan Network The Trap network examines the output of the sort network and removes all packets with the same destination address. The duplicates are routed back to the sort network for the next cycle Adding Parallel Switching Planes One way to increase throughput is to connect the input and output ports to multiple planes of the switch fabric. Each input port can distribute its traffic to the multiple homogeneous fabric planes. Similarly, each output port can be fed from multiple fabric planes.