WO2015177452A1 - Commutateur de trames numeriques - Google Patents

Commutateur de trames numeriques Download PDF

Info

Publication number
WO2015177452A1
WO2015177452A1 PCT/FR2015/051299 FR2015051299W WO2015177452A1 WO 2015177452 A1 WO2015177452 A1 WO 2015177452A1 FR 2015051299 W FR2015051299 W FR 2015051299W WO 2015177452 A1 WO2015177452 A1 WO 2015177452A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
switch
computer system
external computer
ports
Prior art date
Application number
PCT/FR2015/051299
Other languages
English (en)
Inventor
Paul Ortais
Original Assignee
Paul Ortais
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Paul Ortais filed Critical Paul Ortais
Priority to CA2949332A priority Critical patent/CA2949332A1/fr
Priority to EP15732029.2A priority patent/EP3146683A1/fr
Priority to US15/312,781 priority patent/US20170155583A1/en
Publication of WO2015177452A1 publication Critical patent/WO2015177452A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/627Queue scheduling characterised by scheduling criteria for service slots or service orders policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing

Definitions

  • the present invention relates to the field of digital control systems, intended in particular for on-board equipment such as industrial, aeronautical, automobile, railway or ship equipment.
  • Ethernet is a packet-switched LAN protocol. Although it implements the physical layer (PHY) and the Media Access Control (MAC) sublayer of the IEEE 802 model. 3, the Ethernet protocol is classified in the data link layer and physical, since the LLC layer (Logical Link Control) 802. 2 is the hinge between the upper layers and the Media Access Control (MAC) sublayer that is an integral part of the 802 process. 3 with the physical layer, because the frame formats that the standard defines are standardized and can be encapsulated in protocols other than its own physical layers MAC and PHY. These physical layers are subject to separate standards based on flow rates, transmission medium, link length and environmental conditions.
  • Ethernet is based on the principle of (peer) members on the network, sending messages in what was essentially a radio system, captive within a common wire or channel, sometimes called ether .
  • Each peer is identified by a globally unique key, called a MAC address, to ensure that all extensions on an Ethernet network have separate addresses.
  • the AFDX bus is known in aeronautics based on the routing of Ethernet frames by means of switches central hubs, reducing the problem of indeterminacy linked to the conflict of physical access to the medium.
  • Spacewire a computer bus historically based on the IEEE 1355 standard and specified as a European standard (ECSS-E-ST-50-12C).
  • the state of the art includes CAN technology.
  • the CAN (Controller Area Network) bus is a serial system bus that is widely used in many industries, including the automotive industry. CAN relies entirely on CSMA, with CSMA / BA bit collision. It has been standardized with the ISO 11898 standard. It implements, like those mentioned above, an approach known as multiplexing, which consists of connecting to the same cable (a bus) a plurality of computers that will communicate in turn. of role. This technique eliminates the need to wire dedicated lines for each piece of information to be passed through (point-to-point connection). As soon as a system (car, plane, telephone network, etc.) reaches a certain level of complexity, the point-to-point approach becomes impossible because of the immense quantity of wiring to be installed and its cost (in mass, materials, manpower, maintenance).
  • the "CAN bus” solution is economical but has the disadvantage of a lack of software robustness and poor performance, which does not allow efficient use in an on-board computer system.
  • the Spacewire solution is powerful and potentially cost-effective at the component level, but has the disadvantage of a lack of flexibility, especially for making complex systems, with the cost advantage becoming debatable at the system level.
  • This document proposes a mechanism for suspending the propagation of one line of frames to let another line of frames pass, which obviously leads to an inversion of the temporal order of reception of these different frames.
  • Mapping allows changes in the XOFF mask to trigger a primitive at an upstream port that provides virtual channel flow control.
  • the XOFF mask is also used to avoid sending frames to a congested port.
  • a routing system enforces various routing rules in parallel to perform line speed routing.
  • the preferred switching matrix is cell-based, with techniques used to manage channel maintenance for variable-length frames and to accommodate various transmission rates in the system.
  • the present invention aims to remedy these disadvantages by proposing a robust, flexible and efficient universal solution.
  • the invention more particularly relates, in its most general sense, to a switch of digital frames exchanged with an external computer system, said switch comprising at least one input port, at least one output port and a matrix switching device characterized in that said incoming port further comprises:
  • said outgoing port comprises:
  • said digital frame switch operating in a FIFO mode (first inbound, first outgoing), which assumes not to give priority to certain frames as with Ethernet and AFDX.
  • digital frame within the meaning of this patent means a packet of indissociable data starting with a start of frame marker or header, digital data and an end of frame marker also for verifying the integrity of the frame. .
  • the length of the frame is not necessarily fixed, but it can be specified in the header to facilitate the identification of the position of the end of frame tag.
  • a set of frames constitutes a message, transported in the form of a queue in which the order of the frames can be disturbed without inconvenience in the Ethernet context, and in which the spacing time of consecutive frames is only of secondary importance: a message can remain on hold, waiting for the arrival of all its frames.
  • the digital frame switch according to the invention propagates them while preserving their integrity. temporal, in addition to their logical integrity that goes without saying in the state of the art.
  • At least one of said incoming ports and / or at least one of said outgoing ports is associated with a physical network coupler.
  • At least one of said incoming ports and / or at least one of said outgoing ports is connected to a local computer.
  • At least one of said ports comprises a serial physical interface.
  • At least one of said ports comprises a parallel physical interface.
  • the switch has a single incoming port and a single outgoing port forming a bidirectional communication channel.
  • the switch according to the invention further comprises a memory for the recording of a digital description file:
  • the invention also relates to a system characterized in that it comprises several switches in accordance with at least one of the preceding solutions, and a memory distributed on all the switches for recording the rules of validating frames and routing rules applicable to each frame by each switch.
  • FIG. 1 represents a block diagram of a circuit using switches according to the invention
  • FIG. 2 represents a schematic view of a
  • FIG. 3 represents a schematic view of the data frame
  • FIG. 4 represents a schematic view of
  • FIG. 5 represents a schematic view of the outgoing frame
  • FIG. 6 represents a schematic view of the exit port
  • FIG. 7 represents a schematic view of a
  • FIG. 8 represents a schematic view of a
  • FIG. 9 represents a schematic view of another network gateway application
  • FIG. 10 represents a schematic view of a
  • FIG. 11 represents a schematic view of a
  • FIG. 12 illustrates in solid lines a system with a single link of the switch according to the invention (dotted line 1202)
  • FIG. 13 illustrates an example of a frame structure -
  • Figure 14 illustrates the model of the stack of
  • FIG. 1 represents an example of use of a digital switch according to the invention.
  • This digital frame switch (1) is composed of communication ports (2, 4, 5, 6, 7) connected by a switching matrix (3).
  • the input ports (2.5) receive digital frames from the external environment.
  • the output ports (6) transmit externally frames that are routed to them by the switching matrix (3).
  • the input and output ports may be associated to form input / output ports (4,7).
  • FIG. 2 represents a schematic view of a frame switch comprising:
  • the input port (71) comprises a physical interface (31), for example a deserializer, for interconnection with a network, or a parallel port for interconnection with a neighboring computer.
  • a physical interface for example a deserializer, for interconnection with a network, or a parallel port for interconnection with a neighboring computer.
  • the port also comprises an electronic circuit performing a check of the integrity of the frame, for example by checksum type checks, CRC (cyclic redundancy check), by parity test or error detection, or by a EDAC method "Error detection and correction".
  • checksum type checks for example by checksum type checks, CRC (cyclic redundancy check), by parity test or error detection, or by a EDAC method "Error detection and correction”.
  • EP2437172 discloses an error detection and correction circuit (EDAC) for use in a redundant storage system, the EDAC circuit comprising: a first input for receiving first data and parity information stored by a first storage device;
  • EDAC error detection and correction circuit
  • a second input for receiving second data and parity information stored by a second storage device
  • a first output for providing the first data or the second data on a data bus.
  • a first parity check logic that calculates whether the parity is "good” or “bad” in the first data and parity information received.
  • a second parity check logic calculates whether the parity is "good” or “bad” in the second data and parity information received.
  • a binary comparison logic detects differences between the first data and the second data. The binary comparison logic detects differences between the first parity information and the second parity information.
  • Data selection logic selects the first data or second data to provide the first output based on the calculated parity of the first data and the second data as well as the differences between the first data and the second data, and between the first data and the second data.
  • first parity information and the second parity information Single or multiple bit error detection logic detects the presence of multiple bit errors in the first and second data and parity information based on the differences detected between the first data and the second data and between the first and second data.
  • first parity information and the second parity information A single bit or multiple bit error logic resets the storage system in response to detected multiple bit errors, wherein the behavior of the EDAC circuit is defined by a logic array. This circuit performs, or error correction, the identification of the frame, the extraction of the identifier of the frame, for example the first set of information contained in the frame.
  • This identification data of the input frame is used as an input of an associative memory in which is stored a corresponding table associating with each input a routing vector, for example in the form of a word of N bits ( N corresponding to the number of output ports). If all bits are in the "true" state, the frame will be broadcast to all the output ports.
  • the routing (33) consists of associating this routing vector with the validated input frame.
  • the result of this processing is recorded in a FIFO memory ("first in, first out”) (34) through ("fall-through”).
  • the storage intervenes only if the output does not make it possible to immediately propagate the outgoing frame, in particular if the output port is not free or if all the output ports designated by the routing vector are not able to ensure simultaneous and immediate propagation.
  • the output port (73) also includes a temporary storage FIFO (61), providing storage only when the propagation is not immediately possible.
  • a matrix (72) is constituted by a set of multiplexers arranged in a complete "full-mesh" type graph. It distributes the validated input frames to the output ports according to the routing vectors associated with the router (33). The matrix is traversed when an input frame is to be routed to a FIFO memory (61) available on the corresponding output port (73).
  • the switch matrix (72) receives digital frames from the input ports on its inputs (20) and directs them to one or more of its outputs (21) to the corresponding output ports of the coupler connecting switch output ports digital frames according to the invention.
  • An advantageous embodiment is to associate with each output of the switching matrix (72) a multiplexer receiving all the inputs of the switching matrix.
  • Fig. 3 shows an exemplary structure of a digital frame.
  • the incoming frame begins with an identification key ID (11) by which the frame switch identifies the routing that will be applied to it.
  • the frame identifier (11) is immediately followed by control data ID_Val (12) and these two associated information prove the integrity of the ID (11) and allow its decoding.
  • the payload of the digital frame (13) follows, and may also be accompanied by a Data_Val integrity check key (14).
  • the input port (2) comprises the elements described in Figure 4,
  • the digital frames from the outside world by a physical interface (41) converting the physical format of the digital frame depending on the borrowed medium into a format adapted to internal digital propagation by FIFO.
  • a first validation step (42) checks the integrity of the pair ⁇ ID (31): ID_Val (32) ⁇ to accept / reject it.
  • the identifier ID of the accepted frame is passed (47) to the routing table (43) associated with the input port.
  • the routing step (44) assigns to the incoming frame (48) the routing (49) stored in the table (43).
  • the table (43) also has logic inputs (46) also called flags indicating the state of the network neighborhood of the switch and uses this information to select from the recorded routes for a frame that to be borrowed.
  • the neighborhood information may consist of, but not limited to, the hardware availability of an output port, an external link, the neighbor or near switch.
  • the frame is then available to the switching matrix (3) which may be available if the output ports designated by the routing of the frame are ready to receive it, in which case it consumes the frame immediately, or unavailable in which case the frame is retained in the storage memory of the input port.
  • Figure 5 shows the incoming digital frame
  • An advantageous embodiment of this internal routing consists of a parallel word (vector) of which each bit or group of bits corresponding to each output port is set to TRUE so that said output port receives a copy of the digital frame. It is thus easy to route the frame to one, several or all the output ports.
  • This vector is advantageously stored as it is in the routing table (43), associated with the ID (31) corresponding to this routing behavior.
  • the output port shown in FIG. 6 comprises: a frame storage means (61), typically a Fifo which empties out as soon as the output is available, possibly the Fifo (61) is just crossed if the path outward is available.
  • a frame storage means typically a Fifo which empties out as soon as the output is available, possibly the Fifo (61) is just crossed if the path outward is available.
  • FIG. 8 represents a schematic view of a first example of application: the use of the switch according to the invention (1) for connecting in the most conventional manner a network (83) via a serial port (82) of on the one hand, and on the other hand a computer (86) by a parallel bus (85) via a second port (84).
  • the network interface (31,62) of the ports is a serializer for the port (82) and a parallel port for (84).
  • the switch (1) is used as a gateway between a physically dissimilar network (91) and a network (92), for example Ethernet 1000BASE-T and 100BASE- T, the physical interfaces of each of the two ports performing the gateway function.
  • a network for example Ethernet 1000BASE-T and 100BASE- T, the physical interfaces of each of the two ports performing the gateway function.
  • the frames are identical logically and only their baud rate changes.
  • the switch (1) is used as a gateway between a network (91) and a network (92) that is physically and logically dissimilar, for example AFDX and Spacewire, associated to a calculator (101) by a port and parallel (16).
  • the logical dissimilarity corresponding to the complete gateway function, is managed by directing the frames from one of the networks to the computer, which converts them to the logical format of the destination network and sends them to them by the switch.
  • the switch (1) according to the invention is used as a coupler between a network (91) and two computers (111, 112).
  • This arrangement advantageously enables a bi-or multi-processor structure, in which each has equal access to the network as well as to the other processor (s).
  • These structures are advantageous for, non-limitatively, multiply the computing power at a point in the system, redundant logical resources, promote exchanges between two computers.
  • FIG. 12 represents a heterogeneous system physically and logically realized with switches according to the invention, whose physical structure comprises:
  • a first subsystem of switches (1211, 1212, 1213, 1214, 1215) realizes a bus structure, in which the write usage of the common medium (1210) is shared temporally by the associated computers.
  • a second subsystem comprising two switches (1212, 1213) and a medium (1220) is also arranged in a bus, the switches (1212, 1213) thus sharing two physically separated buses, which constitutes an advantage in availability in the system .
  • a third subsystem comprising the computers (1230, 1231, 1232) forms a chain using the couplers (1233, 1234).
  • This arrangement is advantageous for bringing together, for example, numerous non-critical security sensors with a minimum of wiring. If the format of the frames between subsystems is different, the computer (1230) at the beginning of the chain has the possibility of operating as a logical gateway to exchange the frames of the chain (1230, 1231, 1232) and those of the buses (1210). or (1220).
  • a fourth subsystem gathers in physical ring the switches (1240 to 1246), where (1240, 1241, 1243, 1244, 1246) are each associated with a calculator, (1245) associated with two computers, (1242) serving as link to the fifth subsystem.
  • the ring arrangement is advantageous for closely connecting computers with a homogeneous bandwidth distribution, and offers high intrinsic security in case of loss of a link or node.
  • a fifth subsystem gathers in star around the switch (1250) four computers (1251, 1252, 1253, 1254).
  • Such a structure is advantageous for buses such as AFDX.
  • the inter-system link (1201) between the ring (1240: 1246) and the star (1251: 1254) provides protection to the system against the failure of the switches (1242) and (1250) by opposing the propagation failures to respectively the star and the ring.
  • the system in Figure 12 has a clear weak point by the single link of the switch (1214) to the bus (1210). It is simple with the switch according to the invention to overcome this weakness by instantiating, by way of non-limiting example, a link (1202) represented in dotted line between the switches (1250) and (1215). The split of the system becomes much less likely, by simultaneous loss of two links.
  • the purpose of the system using the switch is to route the digital frames between computers.
  • the elements of this service are ensured for example as follows:
  • the most favorable path for each frame and optionally the secondary paths are determined in case of loss of certain elements of the system or system components
  • a table associated with each input port of the switches according to the invention is generated, said table being stored in an associative memory taking as input the identifier of the frame and delivering at its output its previously scheduled routing vector.
  • Figure 13 illustrates an example of a frame structure.
  • This frame structure example corresponds to the frame fields of the Ethernet and IEEE 802.3 networks which are the subject of the following definitions:
  • Ethernet frame has an additional byte which is equivalent to the header field of the IEEE 802.3 frame.
  • frame header The separator character of the IEEE 802.3 network terminating in two consecutive 1 bits, which serve to synchronize the receive portions of the frames of all stations in the local network. The beginning of the frame is explicitly specified in the Ethernet standard.
  • the Origin (2001) and Destination (2002) Addresses are the first three octets of the addresses assigned by the IEEE to the manufacturer. The last three bytes are chosen by the manufacturer of the Ethernet or IEEE 802.3 network adapter.
  • the source address is always that of a single recipient (single node).
  • the destination address can be a simple address, a multipoint address (group) or a broadcast address (all nodes).
  • Protocol type (Ethernet) information (2003) that specifies the upper layer protocol that receives the data after Ethernet processing is complete.
  • Ethernet version 2 does not specify a padding, unlike
  • Ethernet expects to receive at least 46 bytes of data.
  • the data is transmitted to a higher layer protocol, which must be specified in the data portion of the frame. If the data contained in the frame is insufficient to occupy the 64 bytes that represent the minimum size of the frame, stuffing bytes are added to the frame.
  • FCS frame control
  • CRC cyclic redundancy code
  • Figure 14 illustrates the model of the communication stack, conforming for example to the OSI (for Open Systems Interconnection) model corresponding to the ISO 7498 standard.
  • OSI Open Systems Interconnection
  • the OSI model has been designed in layers, so that each layer has a specific jurisdiction. Each layer only communicates with adjacent layers and all layers are independent of the implementation of the other layers. The goal is to have the possibility of modifying the implementation of one layer without this change affecting the others.
  • Protocol The protocol is a set of rules that implements a service
  • Interface the interface is the concrete way to use the service, mostly a function library.
  • the seven layers that compose the model are generally separated into two groups: the lower four layers (3000 to 3004) are more concerned with communication (they are often implemented by the operating system), and the three upper layers (3005 at 3007) dealing more with the application aspect (they are often implemented by a library or a specific program).
  • the program or user communicates with the application layer (3007), which communicates with the presentation layer (3006), which communicates with the session layer (3005), and so on.
  • the physical layer (3001) communicates with the physical layer on the other side of the "tunnel" to form a communication channel, and then the data goes up the layers to the application layer (3007), to reach the program (and the user) at the other end.
  • the physical layer (3001). Its role is to transmit physical signals (electrical or optical) between two machines. Its service is usually limited to the transmission of a bit or bit string, and knows how to convert bits into physical signals, and vice versa.
  • the data link layer (3002) manages communication between two adjacent machines connected by any physical medium. So here, we can transmit a frame from one device to another in the same LAN (Local Area Network). There is no way out of the local network, so no need for routing (which will be managed above). In fact, the addressing used by layer 2 is physical addressing (such as MAC addresses), making it impossible to detect a network or subnet.
  • the data link layer (3002) receives packets from the layer (3003) for organizing frames transmitted to the physical layer (3001) that can implement means for detecting and correcting transmission errors.
  • a frame of the data link layer (3002) contains a header, a destination address, a source address, data, and a "postamble” (usually called “trailer”).
  • Ethernet Frame Relay
  • PPP Point-to-Point
  • the network layer (3003) transmits its packets from one computer to another according to the topology of the network and uses a routing and hierarchical addressing, unlike the layer (3002). She is responsible for sending packets from the source to the destination.
  • the invention specifically relates to the switch providing transport frames of the layer (3002).
  • the network layer (3003) provides routing (finding a path to deliver packets from one location to another across a network), relaying (sending packets to a router that can route them to the recipient), and control flows (control congestion on the network by routing packets intelligently). All machines in a network must implement the network layer (3003) and the lower layers (3001 and 3002) in order to communicate. Routers, in many cases, do not implement anything above the network layer (3003), the upper layers (3004 to 3007) being useful only to end devices.
  • a network packet also contains a header and source and destination addresses, but these are network addresses.
  • the network layer (3002) does not necessarily implement an error check and some packets may arrive in the disorder, or never arrive, and the sender will not be notified. This is the problem that the invention solves, by not allowing, unlike the prior art, the possibility of an arrival "in the mess", proposing a solution to ensure the absence of introduction of such a "disorder" being transmitted. On the contrary, the prior art US2010 / 0061241 proposes an operation necessarily introducing such a "disorder" since it plans to suspend queues in some cases, and therefore to reverse the temporal order of the frames it propagates.
  • IP (the best known!), IPX, IPSec.
  • the transport layer (3004) is responsible for providing a virtual communication channel between two points. It does not care about how the data will ultimately reach the destination (this is the role of the layer (3003).)
  • the layer (3004) is there to ensure that all data will get from one point to the other. another, in the desired order, without error or redundancy, so it is here that we will most often implement error control methods. The exact methods used will vary from one implementation to another, and it There are five types of transport protocols, each with its degree of correction: of the TPO type (which corrects almost nothing and relies on the fact that the network is perfect), the TP4 type (which has extensive error correction and assumes that the network is not reliable - like the Internet).
  • the layer (3004) manipulates messages (sometimes called segments or datagrams) and sends them to the destination, providing an interface that sees the communication as a stream of variable size bytes as needed.
  • the layer (3004) also introduces the notion of ports, which are ultimately only ways to address multiple entities at the same point in the network. The ports are therefore added to the addresses from this layer.
  • the session layer (3005) provides the mechanisms necessary to open, manage and close a communication session between two processes. It allows authentication, permission management and session recovery in cases of communication loss. It is this that allows the creation of a "virtual tunnel" between two remote processes. This tunnel may be used in full duplex, half duplex or simplex, depending on the implementation.
  • the session layer is not concerned with the transport of data. All that matters to her is the management of the channel in which the data will transit.
  • TCP Transmission Control Protocol
  • IP layer 4
  • Formting ensures that the application layer data (3007) will be appropriately converted into a format that is understandable to the other party. It will deal with character representation formats (EBCDIC to ASCII, for example), representation of text strings, encryption and decryption, etc.
  • This layer does not care about packets, datagrams, or connections. It just converts data to make sure they are correctly understood and then sends them to the layer (3005).
  • the presentation layer is merged with the application layer, which takes care of all of that at once. This is the case, for example, of HTTP, which is an application layer protocol (3007) but which is able to recognize and convert the character encoding.
  • the application layer (3007) is the one used by the user. It is in this layer that all the user functionalities are implemented: the commands allowing the management of the communication, the virtual terminal, the determination of the available resources, the availability of the communication partners, etc.
  • the present invention relates to the operation and the specificities of the communication layers (3001 to 3003) only, whereas the solution of the prior art US2010 / 0061241 on the contrary relates to the operation of the upper transport communication layer (3004).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

La présente invention concerne un commutateur de trames numériques échangées avec un système informatique externe, ledit commutateur comportant au moins un port d'entrée (71), au moins un port de sortie (73) et une matrice de commutation (72), ledit port entrant comporte en outre: - Un premier moyen de validation (32) de la trame entrante - Un deuxième moyen de routage (33) de ladite trame validée - Un troisième moyen de stockage (34) temporaire de la trame entrante validée - ledit moyen de stockage temporaire (34) de la trame entrante validée étant commandé par une information de type « contrôle de flux » provenant de ladite matrice de commutation (72), ledit port sortant (73) comprend : - un moyen de stockage temporaire (61) de la trame sortante commandé par une information de type « contrôle de flux » provenant dudit système informatique externe ledit commutateur de trames numériques fonctionnant selon un mode FIFO (premier entrant premier sortant).

Description

COMMUTATEUR DE TRAMES NUMERIQUES
Domaine de 1 ' invention La présente invention concerne le domaine des systèmes numériques de contrôle, destinés notamment à des équipements embarqués tels que des équipements industriels, aéronautiques, automobiles, ferroviaires ou navires.
Le principe général de tels systèmes est bien connu : il s'agit par exemple de réseaux Ethernet commutés. Ethernet est un protocole de réseau local à commutation de paquets. Bien qu'il implémente la couche physique (PHY) et la sous-couche Media Access Control (MAC) du modèle IEEE 802 . 3 , le protocole Ethernet est classé dans les couche de liaison de données et physique, puisque la couche LLC (Logical Link Control) 802 . 2 fait la charnière entre les couches supérieures et la sous-couche MAC (Media Access Control) qui fait partie intégrante du processus 802 . 3 avec la couche physique, car les formats de trames que le standard définit sont normalisés et peuvent être encapsulés dans des protocoles autres que ses propres couches physiques MAC et PHY. Ces couches physiques font l'objet de normes séparées en fonction des débits, du support de transmission, de la longueur des liaisons et des conditions environnementales.
L'Ethernet est basé sur le principe de membres (pairs) sur le réseau, envoyant des messages dans ce qui était essentiellement un système radio, captif à l'intérieur d'un fil ou d'un canal commun, parfois appelé l'éther. Chaque pair est identifié par une clé globalement unique, appelée adresse MAC, pour s'assurer que tous les postes sur un réseau Ethernet aient des adresses distinctes.
On connaît dans 1 ' aéronautique le bus AFDX basé sur le routage de trames Ethernet au moyen de commutateurs centraux appelés "hubs", réduisant le problème d ' indéterminisme lié au conflit d'accès physique au médium.
On connaît aussi des solutions utilisées dans l'industrie spatiale, connues sous le nom de « Spacewire », un bus informatique basé historiquement sur le standard IEEE 1355 et spécifié sous forme de standard Européen (ECSS-E-ST-50- 12C) .
Dans le domaine automobile, l'état de l'art comprend la technologie CAN. Le bus CAN (Controller Area Network) est un bus système série très répandu dans beaucoup d'industries, notamment l'automobile. CAN repose entièrement sur CSMA, avec arbitrage des collisions au niveau du bit "CSMA/BA". Il a été normalisé avec la norme ISO 11898. II met en application, comme ceux cités précédemment, une approche connue sous le nom de multiplexage, qui consiste à raccorder à un même câble (un bus) une pluralité de calculateurs qui communiqueront donc à tour de rôle. Cette technique élimine le besoin de câbler des lignes dédiées pour chaque information à faire transiter (connexion point-à-point). Dès qu'un système (voiture, avion, réseau téléphonique...) atteint un certain niveau de complexité, 1 ' approche point-à-point devient impossible du fait de l'immense quantité de câblage à installer et de son coût (en masse, matériaux, main d' œuvre, maintenance).
L'introduction des bus multiplexés (principalement le CAN) dans l'automobile avait pour objectif de réduire la quantité de câbles dans les véhicules (il y a jusqu'à 3 km de câbles par voiture), mais elle a surtout permis l'explosion du nombre de calculateurs et capteurs distribués dans tout le véhicule, et des prestations correspondantes (baisse de consommation, dépollution, sécurité active/passive, confort, détection des pannes...), tout en n'augmentant pas trop les longueurs câblées. Pour l'industrie automobile, la solution Ethernet ou AFDX n'est pas appropriée car elle est trop complexe donc chère et manquant de réactivité. En particulier les trames sont lourdes et peu réactives car prévues pour suivre un routage complexe, avec collisions pour Ethernet ou routeurs pour AFDX. Il en résulte en outre des composants de contrôle complexes et donc coûteux.
La solution « CAN bus » est économique mais présente l'inconvénient d'un manque de robustesse logicielle et de performances médiocres, ne permettant pas une utilisation performante dans un système de calculateurs embarqués .
La solution Spacewire est performante et potentiellement économique au niveau des composants, mais présente l'inconvénient d'un manque de souplesse, en particulier pour réaliser des systèmes complexes, l'avantage de coût devenant discutable à l'échelle du système.
État de la technique
L'état de la technique le plus proche est celui enseigné par la demande de brevet américaine US2010/0061241 qui propose une solution de commutation comportant une matrice de commutation à étages multiples comportant une pluralité de tampons d'entrée et une pluralité de ports de sortie, configuré pour être couplé à une pluralité de dispositifs embarqués. Ce contrôleur est commandé par un logiciel pendant la configuration et la surveillance, pour envoyer un signal de commande d'écoulement à un tampon d'entrée à partir de la pluralité de tampons d'entrée lorsqu'il se produit une congestion au niveau d'un port de sortie.
Ce document propose un mécanisme permettant de suspendre la propagation d'une file de trames pour laisser passer une autre file de trames, ce qui conduit évidemment à une inversion de l'ordre temporel de réception de ces différentes trames.
En particulier, la notion de «trame» n'est évoquée dans ce document que dans le paragraphe [25] pour préciser la vitesse de transmission des files ("queue") constituée d'une pluralité de trames entre lesquelles l'espacement temporel n'est pas défini. Ce paragraphe précise en particulier que la «suspension de la transmission» peut être indéfinie, ce qui implique qu'une file (et l'ensemble de trames qu'il contient) peut ne jamais être transmise par le commutateur proposé dans l'art antérieur.
On connaît aussi la demande de brevet américain US2005/0047334 décrivant un commutateur de type Fibre Channel qui permet de suivre l'état d'encombrement des ports de destination dans un masque XOFF à chaque entrée.
Une cartographie permet des changements dans le masque de XOFF pour déclencher une primitive à un port amont qui fournit un contrôle de flux de canal virtuel.
Le masque de XOFF est également utilisé pour éviter l'envoi de trames à un port encombré.
Au lieu de cela, ces images sont stockées sur une file d'attente unique différée, puis traitées d'une manière conçue pour maintenir la commande de trame.
Un système de routage applique diverses règles de routage en parallèle pour effectuer le routage de la vitesse ligne .
La matrice de commutation préférée est basée sur la cellule, avec les techniques utilisées pour gérer la maintenance de la voie pour des trames de longueur variable et pour s'adapter à divers taux de transmission dans le système.
Inconvénients de l'art antérieur
Les solutions proposées dans l'art antérieur présentent un inconvénient majeur, car ils ne garantissent pas l'ordre temporel d'émission des trames et la conformité à l'ordre temporel de réception de ces trames.
Or, les applications, dans le contexte Ethernet, admettent éventuellement une inversion ou une altération de l'ordonnancement des trames, or de nombreuses applications dans le contexte Internet, imposent le strict respect de l'ordonnancement temporel des trames. Mais dans tout les cas, lorsque l'ordonnancement temporel des trames n'est pas garanti par le réseau, il est nécessaire de prévoir des solutions complémentaires pour restaurer en amont l'ordonnancement temporel des trames. Cela introduit trois conséquences :
il est nécessaire de prévoir des ressources matérielles et logicielles additionnelles souvent importantes (il s'agit de la «pile de communication»)
- cela introduit un risque supplémentaire résultant de cette complexité de moyens matériels et informatiques
- cela introduit des temps de traitement et des retards préjudiciables dans les applications en temps réel. Solution apportée par l'invention
La présente invention vise à remédier à ces inconvénients en proposant une solution universelle robuste, flexible et performante.
A cet effet, l'invention concerne plus particulièrement, selon son acception la plus générale, un commutateur de trames numériques échangées avec un système informatique externe, ledit commutateur comportant au moins un port d'entrée, au moins un port de sortie et une matrice de commutation caractérisé en ce que ledit port entrant comporte en outre:
- Un premier moyen de validation de la trame entrante
- Un deuxième moyen de routage de ladite trame validée
- Un troisième moyen de stockage temporaire de la trame entrante validée - ledit moyen de stockage temporaire de la trame entrante validée étant commandé par une information de type « contrôle de flux » provenant de ladite matrice de commutation,
et en ce que ledit port sortant comprend :
- un moyen de stockage temporaire de la trame sortante commandé par une information de type « contrôle de flux » provenant dudit système informatique externe
ledit commutateur de trames numériques fonctionnant selon un mode FIFO (premier entrant, premier sortant), ce qui suppose de ne pas accorder de priorité à certaines trames comme avec Ethernet et AFDX.
On entend par « trame numérique au sens du présent brevet » un paquet de données indissociables commençant par un marqueur de début de trame ou en-tête, des données numériques et un marqueur de fin de trame servant également à vérifier l'intégrité de la trame. La longueur de la trame n'est pas nécessairement fixe, mais elle peut être précisée dans l'entête pour faciliter l'identification de la position de la balise de fin de trame.
Un ensemble de trames ( frame en anglais) constitue un message, transporté sous forme d'une file (queue en anglais) en sein de laquelle l'ordre des trames peut être perturbé sans inconvénient dans le contexte Ethernet, et dans lequel l'espacement temporel des trames consécutives n'a qu'une importance secondaire : un message peut rester en attente, en attendant l'arrivée de toutes ses trames.
Dans le contexte du temps réel dur, qui est plus spécifiquement celui de l'invention, il arrive que l'ordre des trames et l'espacement temporel soit critique et non modifiable .
De préférence, le commutateur de trames numériques selon l'invention les propage en préservant leur intégrité temporelle, en plus de leur intégrité logique qui va de soi dans l'état de l'art.
Selon une première variante, l'un au moins desdits ports entrant et/ou l'un au moins desdits ports sortant est associé à un coupleur physique de réseau.
Selon une deuxième variante, l'un au moins desdits ports entrant et/ou l'un au moins desdits ports sortant est relié à un calculateur local.
Avantageusement, il comporte une pluralité de calculateurs . Selon un exemple de réalisation, l'un au moins desdits ports comporte une interface physique série.
Selon un autre exemple de réalisation, l'un au moins desdits ports comporte une interface physique parallèle.
Selon un autre exemple, le commutateur comporte un seul port entrant et un seul port sortant formant un canal de communication bidirectionnel. Selon une variante avantageuse, le commutateur selon l'invention comporte en outre une mémoire pour l'enregistrement d'un fichier numérique de description :
- des règles de validation d'une trame,
- des règles de routage applicable à chaque trame.
L'invention concerne aussi un système caractérisé en ce qu'il comporte plusieurs commutateurs conformes à l'une au moins des solutions précédentes, et une mémoire distribuée sur tous les commutateurs pour l'enregistrement des règles de validation des trames et des règles de routage applicable chaque trame par chaque commutateur.
Description détaillée d'un exemple non limitatif de
réalisation
L'invention sera mieux comprise à la lecture de la description d'un exemple non limitatif qui suit, se référant aux dessins annexés où :
- la figure 1 représente un schéma de principe d'un circuit utilisant des commutateurs selon l'invention
- la figure 2 représente une vue schématique d'un
commutateur de trames
- la figure 3 représente une vue schématique de la trame des données
- la figure 4 représente une vue schématique de
1 ' artichecture d'un composant selon l'invention
- la figure 5 représente une vue schématique de la trame sortante
- la figure 6 représente une vue schématique du port de sortie
- la figure 7 représente une vue schématique d'une
application de coupleur de réseau
- la figure 8 représente une vue schématique d'une
application de passerelle de réseau
- la figure 9 représente une vue schématique d'une autre application de passerelle de réseau
- la figure 10 représente une vue schématique d'une
application de multiprocesseur
- la figure 11 représente une vue schématique d'une
architecture hétérogène
- La figure 12 illustre en traits pleins un système avec une liaison unique du commutateur selon l'invention (liaison 1202 pointillée)
- La figure 13 illustre un exemple de structure de trame - La figure 14 illustre le modèle de la pile de
communication .
La figure 1 représente un exemple d'utilisation d'un commutateur numérique selon l'invention.
Ce commutateur de trames numériques (1) selon l'invention est composé de ports de communication (2, 4, 5, 6, 7) reliés par une matrice de commutation (3).
Les ports d'entrée (2,5) reçoivent des trames numériques de l'environnement extérieur. Les ports de sortie ( 6 ) émettent vers 1 ' extérieur des trames qui leur sont routées par la matrice de commutation (3). Les ports en entrée et en sortie peuvent être associés pour former des ports d'entrée/sortie (4,7).
La figure 2 représente une vue schématique d'un commutateur de trames comprenant :
- au moins un port d'entrée (71)
- la matrice de commutation (72)
- au moins un port de sortie (73)
Le port d'entrée (71) comprend une interface physique (31), par exemple un désérialiseur , pour une interconnexion avec un réseau, ou un port parallèle pour une interconnexion avec un calculateur voisin.
Le port comprend également un circuit électronique réalisant un contrôle d'intégrité de la trame, par exemple par des contrôles de type « checksum », CRC (contrôle de redondance cyclique), par test de parité ou détection d'erreur, ou encore par un procédé de type EDAC « Error détection and correction » .
A titre d'exemple non limitatif, un tel moyen est décrit dans le brevet européen EP2437172. Ce brevet décrit un circuit de détection et de correction d'erreurs (EDAC) pour un usage dans un système de mémorisation redondant, le circuit EDAC comprenant : - une première entrée pour recevoir des premières données et informations de parité stockées par un premier dispositif de mémorisation ;
- une deuxième entrée pour recevoir des secondes données et informations de parité stockées par un second dispositif de mémorisation;
- une première sortie pour fournir les premières données ou les secondes données sur un bus de données.
Une première logique de contrôle de parité qui calcule si la parité est « bonne » ou « mauvaise » dans les premières données et informations de parité reçues. Une seconde logique de contrôle de parité calcule si la parité est « bonne » ou « mauvaise » dans les secondes données et informations de parité reçues. Une logique de comparaison binaire détecte des différences entre les premières données et les secondes données. La logique de comparaison binaire détecte des différences entre les premières informations de parité et les secondes informations de parité.
Une logique de sélection de données choisit les premières données ou les secondes données pour fournir à la première sortie sur la base de la parité calculée des premières données et des secondes données ainsi que des différences entre les premières données et les secondes données, et entre les premières informations de parité et les secondes informations de parité. Une logique de détection d'erreurs de bit unique ou de bits multiples détecte la présence d'erreurs de bits multiples dans les premières et secondes données et informations de parité sur la base des différences détectées entre les premières données et les secondes données et entre les premières informations de parité et les secondes informations de parité. Une logique d'erreurs de bit unique ou de bits multiples remet à zéro le système de mémorisation en réponse à des erreurs détectées de bits multiples, dans lequel le comportement du circuit EDAC est défini par un tableau logique. Ce circuit réalise, ou la correction d'erreur, l'identification de la trame, l'extraction de l'identifiant de la trame, par exemple la première série d'information contenues dans la trame.
Cette donnée d'identification de la trame d'entrée est utilisée comme entrée d'une mémoire associative dans laquelle est enregistrée une table de correspondant associant à chaque entrée une vecteur de routage, par exemple sous la forme d'un mot de N bits (N correspondant au nombre de ports de sortie). Si tous les bits sont à l'état « vrai », la trame sera diffusée à tous les ports de sortie.
Le routage ( 33 ) consiste à associer ce vecteur de routage à la trame d'entrée validée. Le résultat de ce traitement est enregistré dans une mémoire de type FIFO (« first in, first out ») ( 34 ) traversante (« fall-through »). Le stockage n'intervient que si la sortie ne permet pas de propager immédiatement la trame sortante, notamment si le port de sortie n'est pas libre ou si la totalité des ports de sortie désignés par le vecteur de routage ne sont pas en mesure d'assurer simultanément et immédiatement la propagation .
Le port de sortie ( 73 ) comprend également une mémoire FIFO de stockage temporaire ( 61 ) , assurant le stockage uniquement lorsque la propagation n'est pas immédiatement possible.
Il comprend également une interface physique ( 62 ) série ou parallèle.
Une matrice ( 72 ) est constituée par un ensemble de multiplexeurs arrangés en graphe complet de type « full- mesh ». Elle assure la distribution des trames d'entrée validées vers les ports de sortie en fonction des vecteurs de routage associés par le routeur ( 33 ) . La matrice est traversée lorsqu'une trame d'entrée est à router vers une mémoire FIFO ( 61 ) disponible sur le port de sortie ( 73 ) correspondant. La matrice de commutation (72) reçoit des trames numériques des ports d'entrée sur ses entrées (20) et les dirige vers une ou plusieurs de ses sorties (21) vers les ports de sortie correspondants du coupleur connecte des ports de sortie du commutateur de trames numériques selon l'invention. Une réalisation avantageuse est d'associer à chaque sortie de la matrice de commutation (72) un multiplexeur recevant toutes les entrées de la matrice de commutation .
La figure 3 représente un exemple de structure d ' une trame numérique .
La trame entrante commence par une clé d'identification ID (11) par laquelle le commutateur de trames identifie le routage qui lui sera appliqué.
L'identifiant de trame (11) est immédiatement suivi de données de contrôle ID_Val (12) et ces deux informations associées prouvent l'intégrité de 1 ' ID (11) et autorisent son décodage .
La charge utile de la trame numérique (13) suit, et elle peut être également accompagnée d'une clé de contrôle d'intégrité Data_Val (14).
Le port d'entrée (2) comprend les éléments décrits dans la Figure 4,
Les trames numériques provenant du monde extérieur par une interface physique (41) convertissant le format physique de la trame numérique dépendant du médium emprunté, en un format adapté à la propagation numérique interne par FIFO.
Une première étape (42) de validation contrôle l'intégrité du couple {ID (31) : ID_Val (32)} pour 1 ' accepter/rejeter .
L'identifiant ID de la trame acceptée est passé (47) à la table de routage (43) associée au port d'entrée. L'étape de routage (44) assigne à la trame entrante (48) le routage (49) enregistré dans la table (43). La table ( 43 ) dispose également d'entrées logiques ( 46 ) aussi appelés drapeaux indiquant l'état du voisinage réseau du commutateur et utilise cette information pour sélectionner parmi les routes enregistrées pour une trame celle à emprunter. L'information de voisinage peut consister de manière non limitative en la disponibilité matérielle d'un port de sortie, d'un lien extérieur, du commutateur voisin ou proche .
La trame est ensuite à disposition de la matrice de commutation ( 3 ) qui peut être disponible si les ports de sortie désignés par le routage de la trame sont prêts à la recevoir, auquel cas elle consomme la trame immédiatement, ou indisponible auquel cas la trame est retenue dans la mémoire de stockage du port d'entrée.
La figure 5 montre la trame numérique entrante
( 11 , 12 , 13 , 14 ) acceptée et routée par l'adjonction d'un en-tête préliminaire (15) désignant à la matrice de commutation le ou les ports de sortie que ladite trame doit emprunter.
Une réalisation avantageuse de ce routage interne consiste en un mot parallèle (vecteur) dont chaque bit ou groupe de bits correspondant à chaque port de sortie est mis à VRAI pour que ledit port de sortie reçoive un exemplaire de la trame numérique. Il est ainsi facile de router la trame vers un, plusieurs ou tous les ports de sortie. Ce vecteur est avantageusement stocké tel quel dans la table de routage ( 43 ) , associé à 1 ' ID ( 31 ) correspondant à ce comportement de routage .
Le port de sortie représenté en figure 6 comprend : - un moyen de stockage de trame ( 61 ) , typiquement une Fifo qui se vide à l'extérieur dès que la sortie est disponible, éventuellement la Fifo ( 61 ) est juste traversée si la voie vers l'extérieur est disponible.
De même pour la mémoire de stockage du port d'entrée (45), de sorte qu'une trame peut typiquement traverser le commutateur selon 1 ' invention en quelques coups d'horloge interne nécessaires à la validation de 1 ' ID et au routage .
La figure 8 représente une vue schématique d'un premier exemple d'application : l'utilisation du commutateur selon l'invention (1) pour relier de la manière la plus classique un réseau (83) via un port série (82) d'une part, et d'autre part un calculateur (86) par un bus parallèle (85) via un second port (84). L'interface réseau (31,62) des ports est un sérialiseur pour le port (82) et un port parallèle pour (84).
Dans l'exemple d'application illustré par la figure 9, le commutateur (1) selon l'invention est utilisé comme passerelle entre un réseau (91) et un réseau (92) physiquement dissimilaires, par exemple Ethernet 1000BASE-T et 100BASE-T, les interfaces physiques de chacun des deux ports réalisant la fonction de passerelle. Dans le cas illustré, les trames sont identiques logiquement et seul leur baud rate change.
Dans l'exemple d'application illustré par la figure 10, le commutateur (1) selon l'invention est utilisé comme passerelle entre un réseau (91) et un réseau (92) physiquement et logiquement dissimilaires, par exemple AFDX et Spacewire, associé à un calculateur (101) par un port et parallèle ( 16 ) .
La dissimilarité logique, correspondant à la fonction de passerelle complète, est gérée en dirigeant les trames en provenance d'un des réseaux vers le calculateur, qui les convertit au format logique du réseau destinataire et les lui envoie par le commutateur.
Dans l'exemple d'application illustré par la figure 11, le commutateur (1) selon l'invention est utilisé comme coupleur entre un réseau (91) et deux calculateurs (111, 112).
Cet arrangement permet de réaliser avantageusement une structure bi- ou multi-processeur, dans laquelle chacun a un accès égal au réseau ainsi qu'à l'autre ou aux autres processeur ( s ) . Ces structures sont avantageuses pour, de manière non limitative, multiplier la puissance de calcul en un point du système, mettre en redondance des ressources logiques, favoriser les échanges entre deux calculateurs.
La figure 12 représente un système hétérogène physiquement et logiquement réalisé avec des commutateurs selon l'invention, dont la structure physique comprend :
- un 1er sous-système de commutateurs (1211, 1212, 1213, 1214, 1215) réalise une structure de bus, dans laquelle l'utilisation en écriture du médium commun (1210) est partagée temporellement par les calculateurs associés.
- un 2ème sous-système comprenant deux commutateurs (1212, 1213) et un médium (1220) est également arrangé en bus, les commutateurs (1212, 1213) partageant ainsi deux bus physiquement séparés, ce qui constitue un avantage en disponibilité dans le système.
- un 3ème sous-système comprenant les calculateurs (1230, 1231, 1232) forme une chaîne à l'aide des coupleurs (1233, 1234). Cet arrangement est avantageux pour réunir par exemple des capteurs nombreux à sécurité non critique avec un minimum de câblage. Si le format des trames entre sous- systèmes est différent, le calculateur (1230) en début de chaîne a la possibilité de fonctionner en passerelle logique pour échanger les trames de la chaîne (1230, 1231, 1232) et celles des bus (1210) ou (1220).
- un 4ème sous-système réunit en anneau physique les commutateurs (1240 à 1246), où (1240, 1241, 1243, 1244, 1246) sont chacun associés à un calculateur, (1245) associé à deux calculateurs, (1242) servant de liaison vers le cinquième sous-système .
L'arrangement en anneau est avantageux pour relier étroitement des calculateurs avec une distribution homogène de bande passante, et offre une grande sécurité intrinsèque en cas de perte d'un lien ou d'un nœud.
- un 5ème sous-système rassemble en étoile autour du commutateur (1250) quatre calculateurs (1251, 1252, 1253, 1254). Une telle structure est avantageuse pour des bus tels qu ' AFDX .
le lien inter-système (1201) entre l'anneau (1240 : 1246) et l'étoile (1251 : 1254) apporte une protection au système contre la défaillance des commutateurs (1242) et (1250) en s ' opposant à la propagation de pannes vers respectivement l'étoile et l'anneau.
Le système en Figure 12 présente un point faible évident par la liaison unique du commutateur (1214) au bus (1210). Il est simple avec le commutateur selon l'invention de pallier cette faiblesse en instanciant, à titre d'exemple non limitatif, une liaison (1202) figurée en pointillé entre les commutateurs (1250) et (1215). La scission du système devient ainsi beaucoup moins probable, par perte simultanée de deux liens.
La finalité du système utilisant le commutateur est d'acheminer les trames numériques entre calculateurs. Les éléments de ce service sont assurés par exemple comme suit :
- une étape de configuration du système de type « ordonnancement total»
- on tabule la totalité des trames échangées entre les calculateurs
- on détermine l'emplacement des calculateurs dans la géométrie du réseau
- on détermine le chemin le plus favorable pour chaque trame et optionnellement les chemins secondaires en cas de perte de certains éléments du système ou de composants du système
- on génère une table associée à chaque port d'entrée des commutateurs selon l'invention, ladite table étant enregistrée dans une mémoire associative prenant en entrée l'identifiant de la trame et délivrant en sortie son vecteur de routage préalablement ordonnancé.
Il est avantageux de permettre au calculateur proche du commutateur de mettre à jour les drapeaux de la table de routage en fonction d'algorithmes de reconnaissance de l'état du système.
La figure 13 illustre un exemple de structure de trame .
Cet exemple de structure de trame correspond aux champs de trame des réseaux Ethernet et IEEE 802.3 qui font l'objet des définitions suivantes :
• un préambule (2000) constitué par une séquence binaire de 1 et de 0 alternés signalant au destinataire qu'il s'agit d'une trame Ethernet ou IEEE 802.3. La trame Ethernet comporte un octet supplémentaire qui est 1 ' équivalent du champ d' en-tête de la trame IEEE 802.3. en-tête de trame - Caractère séparateur du réseau IEEE 802.3 se terminant par deux bits 1 consécutifs, qui servent à synchroniser les portions réception des trames de toutes les stations du réseau local. Le début de la trame est explicitement précisé dans la norme Ethernet.
Les adresses d'origine (2001) et de destination (2002) : il s'agit des trois premiers octets des adresses sont attribués par 1 ' IEEE au fabricant. Les trois derniers octets sont choisis par le fabricant de la carte réseau Ethernet ou IEEE 802.3. L'adresse source est toujours celle d'un destinataire unique (nœud simple). L'adresse de destination peut être une adresse simple, une adresse multipoint (groupe) ou une adresse de diffusion (tous les nœuds ) .
• Une information (2003) de type de protocole (Ethernet) qui précise le protocole de couche supérieure qui reçoit les données une fois que le traitement Ethernet est terminé. • Une information (2004) définissant la longueur du champ de données (IEEE 802.3) -indiquant le nombre d'octets de données suivant ce champ. · Un champ parfois appelé « Payload » (2005) des données (Ethernet) : Une fois le traitement de couche physique et de couche liaison terminé, les données contenues dans la trame sont transmises à un protocole de couche supérieure précisé dans le champ type. Bien que la version 2 d'Ethernet ne spécifie pas de bourrage, contrairement à
1 ' IEEE 802.3, Ethernet s'attend à recevoir au moins 46 octets de données. Une fois le traitement de couche Physique et de couche Liaison terminé, les données sont transmises à un protocole de couche supérieure, qui doit être précisé dans la portion données de la trame. Si les données contenues dans la trame sont insuffisantes pour occuper les 64 octets qui représentent la taille minimale de la trame, des octets de bourrage sont ajoutés à la trame .
• Une séquence (2006) de contrôle de trame (FCS) contenant un code de redondance cyclique (CRC) de 4 octets, qui est créée par le dispositif émetteur et recalculée par le dispositif récepteur pour s'assurer que la trame n'a pas été altérée en cours de route.
La figure 14 illustre le modèle de la pile de communication, conforme par exemple au modèle OSI (pour Open Systems Interconnexion) correspondant à la norme ISO 7498.
Le modèle OSI a été conçu en couches, de façon à ce que chaque couche ait une juridiction bien précise. Toute couche ne communique qu'avec les couches qui lui sont adjacentes et toutes les couches sont indépendantes de 1 ' implémentation des autres couches. Le but est d'avoir la possibilité de modifier 1 ' implémentation d'une couche sans que ce changement affecte les autres.
La norme ISO 7498 fait la différence entre trois concepts qui sont à la base de toutes les couches:
· Service: le service est une description conceptuelle de fonctionnalités
• Protocole: le protocole est un ensemble de règles qui implémente un service
• Interface: l'interface est le moyen concret d'utiliser le service, la plupart du temps une librairies de fonctions.
Les sept couches qui composent le modèle sont généralement séparées en deux groupes: les quatre couches inférieure (3000 à 3004) s ' occupant plutôt de la communication (elles sont souvent implémentées par le système d'exploitation), et les trois couches supérieur (3005 à 3007) s ' occupant plutôt de l'aspect application (elles sont souvent implémentées par une librairie ou un programme spécifique).
Ces couches sont les suivantes:
Le programme ou l'utilisateur communique avec la couche application (3007), qui elle communique avec la couche présentation (3006), qui communique avec la couche session (3005), et ainsi de suite. La couche physique (3001) communique avec la couche physique de l'autre côté du "tunnel" pour former un canal de communication, puis les données remontent les couches jusqu'à la couche application (3007), pour atteindre le programme (et l'utilisateur) à l'autre bout.
Au bas de la pyramide se trouve la couche physique (3001). Son rôle consiste à transmettre des signaux physiques (électriques ou optiques) entre deux machines. Son service est généralement limité à la transmission d'un bit ou d'une chaîne de bits, et sait comment convertir des bits en signaux physiques, et vice-versa.
Des exemples:
10Base-T, 100Base-T, câble coaxial, Wi-Fi, Bluetooth... À l'étage juste au-dessus, la couche liaison de données (3002) gère la communication entre deux machines adjacentes reliées par un support physique quelconque. Donc ici, on peut transmettre une trame d'un appareil à un autre dans le même LAN (Local Area Network). Il n'y a aucune possibilité de sortir du réseau local, donc aucune nécessité pour le routage (qui sera géré plus haut). En fait, l'adressage utilisé par la couche 2 est un adressage physique (comme les adresses MAC), rendant impossible la détection d'un réseau ou d'un sous-réseau.
La couche de liaison de données (3002) reçoit des paquets de la couche (3003) pour organiser des trames, transmises à la couche physique (3001) qui peut implanter des moyens pour détecter et corriger les erreurs de transmission.
Une trame de la couche liaison de données (3002) contient une entête, une adresse de destination, une adresse source, des données, et un "postambule" (habituellement appelée ' trailer) .
Des exemples:
Ethernet, Frame Relay, PPP ( Point-to-Point
Protocol), Token ring, les communications série.
La couche réseau (3003) transmet ses paquets d'un ordinateur à un autre en fonction de la topologie du réseau et utilise un adressage routable et hiérarchique, contrairement à la couche (3002). Elle est responsable d'envoyer des paquets de la source à la destination. L'invention concerne précisément le commutateur assurant le transport des trames de la couche ( 3002 ) .
La couche réseau (3003) assure le routage (trouver un chemin pour livrer des paquets d'un endroit à un autre à travers un réseau), le relayage (envoyer des paquets à un routeur qui pourra les router au destinataire), et le contrôle des flux (contrôler la congestion sur le réseau en aiguillant les paquets intelligemment). Toutes les machines d'un réseau doivent implémenter la couche réseau ( 3003 ) et les couches inférieures ( 3001 et 3002 ) afin de pouvoir communiquer. Les routeurs, bien souvent, n ' implémentent rien au-dessus de la couche réseau ( 3003 ) , les couches supérieures ( 3004 à 3007 ) étant utiles uniquement aux appareils des extrémités.
Un paquet réseau contient lui aussi une entête et des adresses sources et destination, mais ce sont cette fois- ci des adresses réseau.
La couche réseau (3002) n'implémente pas nécessairement un contrôle d'erreur et certains paquets peuvent très bien arriver dans le désordre, ou ne jamais arriver, et l'expéditeur n'en sera pas informé. C'est le problème que l'invention permet de résoudre, en n'autorisant pas, contrairement à l'art antérieur, la possibilité d'une arrivée « dans le désordre » , en proposant une solution garantissant l'absence d'introduction d'un tel «désordre » en cours de transmission. Au contraire, l'art antérieur US2010/0061241 propose un fonctionnement introduisant nécessairement un tel « désordre » puisqu'il prévoit de suspendre dans certains cas des files, et donc d'inverser l'ordre temporel des trames qu'il propage.
Des exemples:
IP (le plus connu!), IPX, IPSec.
La couche transport ( 3004 ) est responsable de fournir un canal virtuel de communication entre deux points. Elle ne se soucie aucunement de la façon dont les données vont ultimement atteindre la destination (c'est le rôle de la couche ( 3003 ) . La couche ( 3004 ) est là pour garantir que toutes les données vont se rendre d'un point à un autre, dans l'ordre voulu, sans erreur ni redondance. C'est donc ici qu'on implémentera le plus souvent les méthodes de contrôle d'erreur. Les méthodes exactes utilisées varieront d'une implémentation à l'autre, et il existe cinq types de protocoles de transports, chacun avec son degré de correction: du type TPO (qui ne corrige à peu près rien et qui se fie que le réseau est parfait), au type TP4 (qui a une correction d'erreur extensive et qui suppose que le réseau n'est pas fiable - comme Internet).
La couche (3004) manipule des messages (parfois appelés segments ou datagrammes) et les envoie à destination, fournissant une interface qui voit la communication comme un flot d'octets de taille variable selon les besoins.
La couche (3004) amène également la notion de ports, qui ne sont finalement rien d'autre que des façons d'adresser des entités multiples situées au même point du réseau. Les ports sont donc ajoutés aux adresses à partir de cette couche.
Des exemples:
TCP (évidemment), UDP (beaucoup moins fiable)
La couche session (3005) apporte les mécanismes nécessaires à l'ouverture, la gestion et la fermeture d'une session de communication entre deux processus. Elle permet 1 ' authentification, la gestion des permissions et la restauration de session dans des cas de pertes de communication. C'est elle qui permet la création d'un "tunnel virtuel" entre deux processus distants. Ce tunnel pourra être utilisé en full duplex, half duplex ou simplex, selon 1 ' implémentation .
Lorsque la communication est ouverte et que les données commencent à arriver, elle relaie le tout à la couche 4 pour le transport proprement dit. La couche session n'est aucunement concernée par le transport des données. Tout ce qui importe pour elle, c'est la gestion du canal dans lequel les données vont transiter.
Dans le monde TCP/IP, ces fonctionnalités sont en fait encapsulées dans la couche 4 (TCP) ou laissées au soin de la couche d'application. En effet, TCP/IP ne respecte pas tout à fait le modèle OSI et prend quelques libertés...
Des exemples: NetBIOS, RPC (Remote Procédure Call, un protocole utilisé par Windows pour bon nombre de services à accès distant), SSH La couche présentation (3006) s'occupe du
"formatage". C'est elle qui s'assure que les données de la couche application (3007) seront converties convenablement dans un format compréhensible pour l'autre partie. Elle s'occupera des formats de représentation de caractères (EBCDIC vers ASCII, par exemple), la représentation des chaînes de texte, 1 ' encryption et la décryption, etc.
Cette couche ne se soucie aucunement des paquets, datagrammes ou connexions. Elle ne fait que convertir des données afin de s'assurer qu'elles seront comprises correctement, puis les envoie à la couche (3005). Dans le monde TCP/IP, la couche présentation est fusionnée avec la couche application, qui s'occupe un peu de tout ça à la fois. C'est le cas par exemple de HTTP, qui est un protocole de couche application (3007) mais qui est capable de reconnaître et de convertir l'encodage des caractères.
Des exemples:
ASCII, EBCDIC (Extended Binary Coded Décimal Interchange Code), RDP (Remote Desktop Protocol)
La couche application (3007) est celle qui est utilisée par l'utilisateur. C'est dans cette couche que toutes les fonctionnalités utilisateur sont implémentées : les commandes permettant la gestion de la communication, le terminal virtuel, la détermination des ressources disponibles, la disponibilité des partenaires de communication, etc.
Des exemples:
HTTP, FTP, SMTP, POP3 , Telnet, BitTorrent, DHCP,
DNS, etc.
La présente invention concerne le fonctionnement et les spécificités des couches de communication (3001 à 3003) seulement, alors que la solution de l'art antérieur US2010/0061241 concerne au contraire le fonctionnement de la couche de communication supérieure de transport (3004).

Claims

Revendications
1 — Commutateur de trames numériques échangées avec un système informatique externe, ledit commutateur comportant au moins un port d'entrée (71), au moins un port de sortie (73) et une matrice de commutation (72) caractérisé en ce que ledit port entrant comporte en outre:
- Un premier moyen de validation (32) de la trame entrante
- Un deuxième moyen de routage (33) de ladite trame validée - Un troisième moyen de stockage (34) temporaire de la trame entrante validée
- ledit moyen de stockage temporaire (34) de la trame entrante validée étant commandé par une information de type « contrôle de flux » provenant de ladite matrice de commutation (72),
et en ce que ledit port sortant (73) comprend :
- un moyen de stockage temporaire (61) de la trame sortante commandé par une information de type « contrôle de flux » provenant dudit système informatique externe
ledit commutateur de trames numériques fonctionnant selon un mode FIFO (premier entrant premier sortant).
2 — Commutateur de trames numériques échangées avec un système informatique externe selon la revendication 1 caractérisé en ce qu'il ne comporte aucun moyen de modification de ladite trame numérique.
3 - Commutateur de trames numériques échangées avec un système informatique externe selon la revendication 1 ou 2 caractérisé en ce que l'un au moins desdits ports entrant (71) et/ou l'un au moins desdits ports sortant (73) est associé à un coupleur physique de réseau (31, 62).
4 - Commutateur de trames numériques échangées avec un système informatique externe selon la revendication 1, 2 ou 3 caractérisé en ce que l'un au moins desdits ports entrant (71) et/ou l'un au moins desdits ports sortant (73) est relié à un calculateur local. 5 - Commutateur de trames numériques échangées avec un système informatique externe selon l'une au moins des revendications précédentes caractérisé en ce qu'il comporte une pluralité de calculateurs. 6 - Commutateur de trames numériques échangées avec un système informatique externe selon l'une au moins des revendications précédentes caractérisé en ce l'un au moins desdits ports comporte une interface physique série. 7 - Commutateur de trames numériques échangées avec un système informatique externe selon l'une au moins des revendications précédentes caractérisé en ce l'un au moins desdits ports comporte une interface physique parallèle.
8 - Commutateur de trames numériques échangées avec un système informatique externe selon la revendication 1 caractérisé en ce qu'il comporte un seul port entrant et un seul port sortant formant un canal de communication bidirectionnel .
9 - Commutateur de trames numériques échangées avec un système informatique externe selon l'une au moins des revendications précédentes caractérisé en ce qu'il comporte en outre une mémoire pour l'enregistrement d'une fichier numérique de description :
- des règles de validation d'une trame,
- des règles de routage applicable à chaque trame.
10 — Système caractérisé en ce qu'il comporte plusieurs commutateurs conformes à l'une au moins des revendications précédentes, et une mémoire pour l'enregistrement des règles de validation des trames et des règles de routage applicable à chaque trame.
PCT/FR2015/051299 2014-05-21 2015-05-19 Commutateur de trames numeriques WO2015177452A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA2949332A CA2949332A1 (fr) 2014-05-21 2015-05-19 Commutateur de trames numeriques
EP15732029.2A EP3146683A1 (fr) 2014-05-21 2015-05-19 Commutateur de trames numeriques
US15/312,781 US20170155583A1 (en) 2014-05-21 2015-05-19 Digital frame switch

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1454573A FR3021480B1 (fr) 2014-05-21 2014-05-21 Commutateur de trames numeriques
FR1454573 2014-05-21

Publications (1)

Publication Number Publication Date
WO2015177452A1 true WO2015177452A1 (fr) 2015-11-26

Family

ID=51982650

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2015/051299 WO2015177452A1 (fr) 2014-05-21 2015-05-19 Commutateur de trames numeriques

Country Status (5)

Country Link
US (1) US20170155583A1 (fr)
EP (1) EP3146683A1 (fr)
CA (1) CA2949332A1 (fr)
FR (1) FR3021480B1 (fr)
WO (1) WO2015177452A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022200703A1 (fr) * 2021-03-23 2022-09-29 Psa Automobiles Sa Emission d'un signal par un premier composant electronique d'un vehicule a destination d'au moins un second composant electronique du vehicule

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112073279B (zh) * 2020-08-27 2022-05-20 中国航空无线电电子研究所 一种兼容通用AFDX的nanoAFDX网络通信系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050047334A1 (en) * 2001-06-13 2005-03-03 Paul Harry V. Fibre channel switch
US20100061241A1 (en) * 2008-09-11 2010-03-11 Pradeep Sindhu Methods and apparatus related to flow control within a data center switch fabric

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0600417D0 (en) * 2006-01-10 2006-02-15 Level 5 Networks Inc Virtualisation support
US8509616B2 (en) * 2011-06-22 2013-08-13 Telefonaktiebolaget L M Ericsson (Publ) Devices, systems and methods for run-time reassignment of a PHY to MAC devices interconnect
US8817807B2 (en) * 2012-06-11 2014-08-26 Cisco Technology, Inc. System and method for distributed resource control of switches in a network environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050047334A1 (en) * 2001-06-13 2005-03-03 Paul Harry V. Fibre channel switch
US20100061241A1 (en) * 2008-09-11 2010-03-11 Pradeep Sindhu Methods and apparatus related to flow control within a data center switch fabric

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022200703A1 (fr) * 2021-03-23 2022-09-29 Psa Automobiles Sa Emission d'un signal par un premier composant electronique d'un vehicule a destination d'au moins un second composant electronique du vehicule
FR3121303A1 (fr) * 2021-03-23 2022-09-30 Psa Automobiles Sa Procédé et dispositif d’émission d’un signal par un premier composant électronique d’un véhicule à destination d’au moins un second composant électronique du véhicule

Also Published As

Publication number Publication date
FR3021480B1 (fr) 2016-07-01
CA2949332A1 (fr) 2015-11-26
EP3146683A1 (fr) 2017-03-29
FR3021480A1 (fr) 2015-11-27
US20170155583A1 (en) 2017-06-01

Similar Documents

Publication Publication Date Title
EP1309130B1 (fr) Reseau de communication de type ethernet full duplex commute et procede de mise en oeuvre de celui-ci
EP1309131B1 (fr) Procédé de mise en oeuvre d'un réseau de communication redondant de type Ethernet full-duplex commuté
CA2655948C (fr) Procede de routage de liens virtuels dans un reseau a commutation de trames a determinisme garanti
FR2952261A1 (fr) Systeme de communication dans un aeronef
EP0959602A1 (fr) Installation de transmission de messages à stations perfectionnées, et procédé correspondant
EP1701274A1 (fr) Architecture de noeud de communication dans un système de réseau sur puce globalement asynchrone
EP2186271A1 (fr) Dispositif de commutation de trames
EP1788760A1 (fr) Systéme et procédé de routage statique de flux de paquets de données dans un réseau d'interconnexion
EP1962215A1 (fr) Dispositif de connexion sélective permettant la connexion d'au moins un périphérique à un ordinateur cible et système de controle sélectif comportant un tel dispositif
FR2929789A1 (fr) Procede de gestion de mecanismes d'amelioration de transmission de flux de donnees sur un tunnel, produit programme d'ordinateur, moyen de stockage et tete de tunnel correspondants
Alani et al. OSI model
FR2804812A1 (fr) Procede et dispositif de communication entre un premier et un deuxieme reseau
EP2316199A2 (fr) Mecanisme de protection d'un circuit virtuel
FR3042081A1 (fr) "procede de controle d'un systeme de communications de donnees par paquets et systeme de communications mettant en œuvre le procede"
EP3146683A1 (fr) Commutateur de trames numeriques
EP0956682B1 (fr) Dispositif de routage generique de messages transmis dans des formats et selon des protocoles differents
EP3122005B1 (fr) Système de routage permettant le filtrage de données pour l'intégration et le test d'équipements opérationnels
WO2011157704A2 (fr) Système et méthode de gestion de flux sécurisés entre plusieurs sites distants
EP3637645B1 (fr) Dispositif électronique et procédé de réception de données via un réseau de communication redondé, système de communication et programme d'ordinateur associés
WO2020109733A2 (fr) Gestion des données pour le stockage de trames de données dans la mémoire d'un système de transmission de données
EP3939214B1 (fr) Réduction de la surface d'attaque dans un système de communications
FR2848056A1 (fr) Procedes d'insertion et de traitement d'informations pour la synchronisation d'un noeud destinataire a un flux de donnees traversant un reseau de base d'un reseau heterogene, et noeuds correspondants
Borky et al. Developing the network dimension
EP3005625B1 (fr) Composant et procede de gestion de communication
FR2999368A1 (fr) Dispositif d'entrees sorties transferant et/ou recevant des donnees a un dispositif de controle.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15732029

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2949332

Country of ref document: CA

REEP Request for entry into the european phase

Ref document number: 2015732029

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015732029

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15312781

Country of ref document: US