EP4088429A1 - Routage de donnees dans un systeme de communication - Google Patents
Routage de donnees dans un systeme de communicationInfo
- Publication number
- EP4088429A1 EP4088429A1 EP21707319.6A EP21707319A EP4088429A1 EP 4088429 A1 EP4088429 A1 EP 4088429A1 EP 21707319 A EP21707319 A EP 21707319A EP 4088429 A1 EP4088429 A1 EP 4088429A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- routing
- router
- node
- message
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
- H04L43/0835—One way packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Definitions
- the present invention relates to a method for managing the routing of data in a data communication system, as well as to devices and software for implementing this method. It applies in particular to the measurement of the propagation time of routing information in a data communication system.
- BGP Border Gateway Protocol
- the “Border Gateway Protocol” (BGP) routing protocol is a routing protocol between autonomous systems designed to be implemented in TCP / IP type networks.
- the BGP protocol is specified in the document “Request For Comments” initially n ° 1771 then updated under n ° 4271, entitled “A Border Gateway Protocol 4 (BGP-4)”, published by the organization “Internet Engineering Task Force ”(IETF).
- One of the functions of the BGP protocol is to allow the exchange between two autonomous network accessibility information systems.
- the information exchanged includes information on the list of autonomous systems that the accessibility information crosses, which makes it possible to construct a connectivity graph between the two autonomous systems, and to remove any routing loops from this graph. and to implement decision-making policies at the level of autonomous systems.
- the implementation of decision policies using the BGP protocol is carried out by a mechanism of announcements sent by a node called "announcer" (in English, "BGP speaker”) to its corresponding nodes in autonomous systems neighbors of the routes that the advertiser node uses.
- This mechanism is based on the principle of hop-by-hop routing currently used in the Internet network.
- BGP is a routing protocol very widely used today in Internet networks. Its implementation within operator networks notably allows routing and accessibility information to be exchanged between operator networks, which constitute autonomous systems from the point of view of the BGP protocol.
- the BGP protocol can be used to advertise Internet prefixes (typically IPv4 routes encoded on 4 bytes, or IPv6 routes encoded on 16 bytes) or virtual private network prefixes (in English "Virtual Private Network", or VPN), such as VPN-IPv4 routes encoded on 12 bytes, or VPN-IPv6 routes encoded on 24 bytes.
- IPv4 Internet prefixes
- VPN Virtual Private Network
- An object of the present invention is to at least partially remedy the aforementioned drawbacks.
- a method for measuring the propagation time of information relating to the routing of data in a data communication system comprising a data communication network comprising a plurality of router nodes operating according to a routing protocol for routing data packets between nodes of the data communication network, the method comprising, at a router node called a generator node: generating time-stamp data for the transmission of information relating to the routing of data; inserting the transmission timestamp data into a field of a routing protocol message carrying information relating to data routing, the field being intended to receive data relating to data routing; and send the message to another router node called a receiving node.
- a method for measuring the propagation time of information relating to the routing of data in a data communication system comprising a data communication network comprising a plurality of router nodes operating according to a routing protocol for routing data packets between nodes of the data communication network, the method comprising, at a router node, called a receiving node: receiving a message from the routing protocol carrying information relating to the routing of data from another router node; extracting time stamp data from a field of the received message, the field being intended to receive data relating to the data routing; generate current time stamp data; and determining an estimate of the propagation time of the information relating to the data routing between the generating node and the receiving node, based on the message timestamp data and the current timestamp data.
- the proposed methods deal among other things with a problem which has been identified by the inventors, according to which the speed to announce the creation, the modification or the withdrawal of an IP or VPN prefix is a criterion which becomes predominant in the choice of operational equipment which activates the BGP routing protocol.
- a tool could be developed to identify / associate the prefixes that were generated with the information that was collected in order to be able to deduce the propagation time of the prefixes.
- the proposed methods advantageously make it possible to estimate the propagation time of information relating to the routing of data, such as for example a data routing prefix, by minimizing the approximations as to the exact moment of the transmission of the. information, by inserting transmission timestamp data of information relating to the routing of data in a field of a routing protocol message used, such as for example the BGP protocol, then by sending the message .
- the message destination router node can then, on receipt of a routing protocol message corresponding to the message sent, extract from a field of the message received the transmission timestamp data, and estimate the time of propagating the information relating to the data routing on the basis of the received time stamp data and current time stamp data.
- the proposed methods do not require a complex implementation, in particular in that they do not require modifying the routing protocol used. They take advantage of this routing protocol by using a field in a routing protocol message to insert time stamp data. Any processing of the message by one or more intermediate router nodes is therefore not impacted by the proposed methods, which are therefore advantageously transparent for these intermediate node (s).
- the proposed methods thus advantageously make it possible to measure precisely, without complexity of implementation, the propagation time of information relating to routing according to a routing protocol in a router or in a network.
- the proposed method further comprises: extracting from the received message information relating to a router at the origin of the information relating to the routing of data, said generator node.
- the timestamp data is inserted into the message as an Internet Protocol, IP address prefix, or a virtual private network, VPN prefix.
- the routing protocol is the “Border Gateway Protocol”, BGP.
- BGP defines different types of packets (OPEN, NOTIFICATION, UPDATE, KEEPALIVE, ...); only the BGP-UPDATE packet is responsible for announcing and removing routing information.
- the transmission timestamp data is inserted into the "attribute" part, the "withdrawn” part or the "NLRI” part of the BGP-UPDATE message.
- the transmission timestamp data is inserted into the "attribute" part (using a predefined attribute), the "withdrawn” part (as an Internet prefix or VPN), or the "NLRI” (as an Internet or VPN prefix) of the BGP-UPDATE message.
- the routing protocol message is of the BGP-WITHDRAW type.
- the routing protocol is the internal routing protocol "Intermediate System to Intermediate System", IS-IS (RFC 1142), or the internal routing protocol IP "Open Shortest Path First” , OSPF (RFC 2328 then RFC 5340).
- a device comprising a processor and a radio-frequency unit operatively coupled to the processor, the device being configured for the implementation of a method according to one of the embodiments. proposed in the present description.
- Another aspect relates to a computer program, loadable into a memory associated with a processor, and comprising portions of code for the implementation of a method as proposed in the present description during the execution of said. program by the processor.
- Another aspect relates to a set of data representing, for example by compression or encoding, a computer program as proposed in the present description.
- Another aspect relates to a non-transient storage medium for a computer executable program, comprising a set of data representing one or more programs, said one or more programs comprising instructions for, during the execution of said one or more programs by a computer comprising a processor operably coupled to a memory and to a data communication input / output interface, causing the computer to manage a data communication node according to a method of managing a data communication node. data communication according to one of the embodiments proposed in the present description.
- FIG. 1 is a diagram illustrating an example of a system for implementing one or more embodiments of the proposed method
- FIG. 2 is a diagram illustrating an example of the architecture of a router node for the implementation of one or more embodiments of the proposed method
- FIG. 3a is a diagram illustrating a method proposed according to one or more embodiments
- FIG. 3b is a diagram illustrating a method proposed according to one or more embodiments
- FIG. 4 is a diagram illustrating an example of propagation delay measurements in a route reflector router in one or more embodiments of the proposed method
- the present description refers to functions, motors, units, modules, platforms, and diagram illustrations of the methods and devices according to one or more embodiments.
- Each of the functions, motors, modules, platforms, units and diagrams described can be implemented in hardware, software (including in the form of on-board software ("firmware"), or “middleware”), microcode, or any combination of these.
- functions, motors, units, modules and / or diagram illustrations may be implemented by computer program instructions or software code, which may be stored or transmitted on a computer readable medium, including a non-transient medium, or a medium loaded in memory of a generic, specific computer, or of any other apparatus or programmable data processing device to produce a machine, so that the Computer program instructions or the software code executed on the computer or the programmable data processing device or device, constitute means of implementing these functions.
- a computer readable medium include, but are not limited to, computer storage media and communication media, including any medium facilitating the transfer of a computer program from a location. to another.
- computer storage medium any physical medium that can be accessed by a computer.
- Examples of computer storage media include, but are not limited to, flash memory disks or components or any other flash memory devices (eg, USB keys, memory sticks, memory sticks, key disks), CD-ROMs or other optical data storage devices, DVDs, magnetic disk data storage devices or other magnetic data storage devices, data memory components, RAM, ROM, EEPROM, memory cards ("smart cards”), memories of the SSD type (“Solid State Drive”), and any other form of support which can be used to transport or store or memorize data or data structures which can be read by a processor. computer.
- various forms of computer readable medium can transmit or carry instructions to a computer, such as a router, a gateway, a server, or any data transmission equipment, whether it is wired transmission (by coaxial cable, optical fiber, telephone wires, DSL cable, or Ethernet cable), wireless (by infrared, radio, cellular, microwave), or virtualized transmission equipment (virtual router, virtual gateway, end of virtual tunnel, virtual firewall).
- a computer such as a router, a gateway, a server, or any data transmission equipment, whether it is wired transmission (by coaxial cable, optical fiber, telephone wires, DSL cable, or Ethernet cable), wireless (by infrared, radio, cellular, microwave), or virtualized transmission equipment (virtual router, virtual gateway, end of virtual tunnel, virtual firewall).
- the instructions may, depending on the embodiments, include code of any computer programming language or computer program element, such as, without limitation, assembly languages, C, C ++, Visual Basic, HyperText Markup Language (HTML), Extensible Markup Language (XML), HyperText Transfer Protocol (HTTP), Hypertext Preprocessor (PHP), SQL, MySQL, Java, JavaScript, JavaScript Object Notation (JSON), Python, and bash scripting.
- HTML HyperText Markup Language
- XML Extensible Markup Language
- HTTP HyperText Transfer Protocol
- PHP Hypertext Preprocessor
- SQL SQL
- MySQL Java, JavaScript, JavaScript Object Notation
- Python Python
- bash scripting any computer programming language or computer program element
- server or “platform” is meant in the present description any point of service (virtualized or not) or device operating data processing, one or more databases, and / or communication functions. data.
- server or the term “platform” can refer to a physical processor operably coupled with associated communication, database and data storage functions, or make reference to a network, group, set or complex of processors and associated data storage and networking equipment, as well as an operating system and one or more database system (s) and application software in support of the services and functions provided by the server.
- a computing device can be configured to send and receive signals, by wireless and / or wired transmission network (s), or can be configured for processing and / or storage of data or signals, and can therefore function as a server.
- equipment configured to operate as a server may include, by way of non-limiting examples, dedicated rack-mounted servers, desktops, laptops, service gateways (sometimes referred to as “boxes” or " residential gateway ”), multimedia decoders (sometimes called“ set-top boxes ”), integrated equipment combining various functionalities, such as two or more of the functionalities mentioned above.
- Servers can vary widely in their configuration or capabilities, but a server will typically include one or more central processing unit (s) and memory.
- a server can also include one or more mass memory equipment (s), one or more power supply (s), one or more wireless and / or wired network interface (s), one or more several input / output interface (s), one or more operating system (s), such as Windows Server, Mac OS X, Unix, Linux, FreeBSD, or an equivalent.
- network and “communication network” as used in the present description refer to one or more data links which can couple or connect equipment, possibly virtualized, so as to allow the transport of data.
- electronic devices between computer systems and / or modules and / or other electronic devices or equipment such as between a server and a client device or other types of devices, including between wireless devices coupled or connected by a wireless network, for example.
- a network can also include a mass memory for storing data, such as a NAS (in English "network attached storage", a SAN (in English “storage area network”), or any other form of media readable by a computer. or by a machine, for example.
- a network can comprise, in whole or in part, the Internet network, one or more local area networks (or LANs), one or more WAN type networks (in English Wide area networks), wired type connections, wireless type connections, cellular type, or any combination of these different networks.
- subnets may use different architectures or be compliant or compatible with different protocols, and interoperate with larger networks. Different types of equipment can be used to make different architectures or protocols interoperable. For example, a router can be used to provide communication link or a data link between two LANs that would otherwise be separate and independent.
- an operative coupling may include one or more wired connection (s) and / or one or more wireless connection (s) between two or more devices that allow simplex and / or duplex communication links. between the equipment or portions of the equipment.
- an operational coupling or connection may include a wired and / or wireless link coupling to allow data communications between a server of the proposed system and other equipment of the system.
- app or “application program” (AP) and their variants (“app”, “webapp”, etc.) as used in the present description correspond to any tool which functions and is operated by means of from a computer, to provide or execute one or more function (s) or task (s) for a user or another application program.
- a user interface may be provided on the equipment on which the application program is implemented.
- GUI graphical user interface
- an audio user interface can be rendered to the user using a loudspeaker. , headphones or audio output.
- BGP protocol is meant a routing protocol in accordance with the RFC 1771 specification then RFC 4271 and / or any other prior and / or corresponding specification, as published by the IETF or by any other organization or standardization group, and / or their evolutions.
- the three routers RTR1 (10a), RTR2 (10b) and RTR3 (10c) illustrated in the figure can therefore be routers activating the BGP protocol and therefore capable of exchanging messages of the BGP protocol and of implementing the functionalities defined for the BGP protocol.
- RTR1 (10a), RTR2 (10b) and RTR3 (10c) routers can be connected to devices (l ia, 11b, 11c, l ld, l ie, l lf, 11g) which do not activate the BGP protocol, such as set-top boxes, boxes, switches, computers, user equipment (tablets, etc.).
- each of the routers of the network (1) can be configured to operate in “BGP announcer” mode (in English, “BGP speaker”) as defined by RFC 1771 then RFC 4271. In this mode, when a router (e.g. router RTR1 (10a), in Figure 1) receives an external route for routing data and is selected as the best path for that data, it must advertise this information to other routers in the network (for example the routers RTR2 and RTR3 of the network (1) in FIG. 1).
- the advertiser router RTR1 must announce its information to each of the other routers, RTR2 and RTR3 in the example of FIG. 1 , which leads to the use of communication resources between each pair of routers RTR1-RTR2 and RTR1-RTR3.
- the network can use one or more of the route reflection functions (in English, "route reflection ”) described in RFC 4456 published by the IETF, entitled“ BGP Route Reflection - An Alternative to Full Mesh IBGP ”.
- the route reflector function typically makes it possible to avoid the interconnection of a large number of routers according to a mesh network architecture in which the routers are for example interconnected two by two .
- the RR node thus avoids the scale problems that arise when a large number of routers all need to receive external routing information.
- Route reflection thus makes it possible to avoid the implementation of a mesh network type architecture, by the implementation within one of the routers of the network (1) of a route reflector function (in English , “Route reflector”, or “RR”) as defined in RFC 4456.
- the network architecture can then provide that one of the network router nodes will operate in RR node mode, in which case the RR node will be configured to exchange data with each of the other router nodes in the network.
- the number of routers connected to an RR node could reach several hundred, which shows the advantage that there can be in using an RR node.
- the RR node can be configured to implement one or more of the functions specified in RFC 4456.
- a network comprising a plurality of routers ( RTR1, 10a; RTR2, 10b, RTR3, 10c) can use an RR node (RTR2, 10b) in order to implement the distribution of external routing information to all routers in the network through the RR node (RTR2, 10b ).
- RTR1, 10a; RTR2, 10b, RTR3, 10c can use an RR node (RTR2, 10b) in order to implement the distribution of external routing information to all routers in the network through the RR node (RTR2, 10b ).
- RTR2, 10b RR node
- the router node RR RTR2 (10b) can thus provide an interface between all the routers RTR1 (10a), RTR3 (10c) of the network (2), these routers only having to establish a data communication session with the router node RR RTR2 (10b).
- each router RTR1 (10a), RTR3 (10c) other than the router node RR RTR2 (10b) may have previously established a data communication session with the router node RR RTR2 (10b) for the exchange of routing protocol messages with this router node RR RTR2 (10b).
- the RR function may be implemented, in whole or in part, within one of the router nodes of the network, and / or in whole or in part within another type of network. network node.
- the network (2) formed by the router nodes may be of any type of data communication network, such as for example a packet data network (in English, " Packet Data Network ”, or PDN), and include one or more data transmission networks of the IP network (standing for“ Internet Protocol ”), and use communication links based on the TCP, IP, and / or any type of protocol that can be used for data communication in a data communication network.
- the network (2) may use one or more routing protocols, such as for example the BGP protocol, the ISIS protocol, and / or the OSPF protocol.
- each router node (10) of the network may include a data communication unit (20), a controller (21), a routing unit (22), and a propagation time measurement unit (23).
- the data communication unit (20), the routing unit (22), and the propagation time measurement unit (23) may be operably coupled to the controller (21). by a communication bus (24), or by any communication link, optionally comprising one or more hardware connectors.
- a communication bus 24
- any communication link optionally comprising one or more hardware connectors.
- the set of data communication units (20), controller (21), routing unit (22), propagation time measurement unit (23 ), functional unit (24) and communication bus (24) form a router node according to one or more embodiments, which may furthermore include other components, units, functions, not shown in the figure.
- the controller (21) may include one or more processors, such as microprocessor, microcontroller or other hardware processor, associated memory (eg, random access memory (RAM), cache memory, flash memory, etc. ), and be able to be configured to drive the data communication unit (20), the routing unit (22), the delay measurement unit (23), in order to control the use of the router node (10) according to one or more embodiments of the proposed method, for example by executing a computer program comprising portions of code for the implementation of a method for measuring the propagation time of information relating to the routing of data as proposed in the present description.
- an associated memory of the controller (21), external or internal to the controller (21) contains instructions which, when executed by the controller (21), cause this controller (21) to perform.
- the controller (21) can be a component implementing a processor or a calculation unit for measuring the propagation time of information relating to the routing of data according to the proposed method and the control of the propagation time measurement unit.
- the propagation time measurement unit (23) can be implemented, depending on the embodiment chosen, in the form of one or more software, or a combination of one or more hardware and one or more software, configured for the implementation of embodiments of the management method described in the present description.
- the router node (10) can be configured via the propagation time measurement unit (23) to operate according to a plurality of operating modes, among which is a so-called “generator node” operating mode. and a so-called “receiver node” operating mode, and to operate in generator node mode and / or in receiver node mode according to one or more embodiments described in the present description.
- the software part of the propagation time measurement unit (23) can constitute or form part of a software for controlling the router node (10).
- the term “driver” will denote a set of one or more software configured for the implementation of a method for measuring the propagation time of information relating to the device. data routing as proposed in the present description.
- the driver software is configured to be executable on a processor of the router node, and / or on a processor of computer equipment to which part of the router node is connected.
- the data communication unit (20) can be implemented, depending on the embodiment chosen, in the form of a combination of one or more hardware and one or more software, and include a or more wired communication equipment, radiofrequency and / or optical, and a communication unit control software, for example executable by the controller (21) or, in another architecture of the communication node, executable by a processor of the data communications unit (20), and loaded into memory accessible by a processor configured to run communications unit driver software.
- the data communication unit (20) may include a data communication interface.
- the routing unit (22) can be implemented, depending on the embodiment chosen, in the form of a combination of one or more hardware and one or more software, and include one or more routing protocol management units, for example executable by the controller (21) or, in another architecture of the router node, executable by a processor of the routing unit (22), and loaded into a memory accessible by a processor configured to run the routing unit driver software.
- the routing unit (22) could be configured to implement one or more of the functionalities of a routing protocol, such as the BGP protocol, the ISIS protocol, and / or the OSPF protocol.
- the router node device (10) can be implemented in software form, in which case it takes the form of a program executable by a processor, or in hardware form (or “hardware”), such as a specific integrated circuit application (ASIC), a system on chip (SOC), or in the form of a combination of hardware and software elements, such as for example a software program intended to be loaded and executed on an FPGA (Field Programmable Gâte Array) type component. ).
- SOC System On Chip
- system on chip are embedded systems that integrate all the components of an electronic system into a single chip.
- An ASIC Application-specific Integrated Circuit
- Programmable logic circuits of the FPGA (Field-Programmable Gâte Array) type are electronic circuits that can be reconfigured by the user.
- the router node device (10) can also use hybrid architectures, such as for example architectures based on a CPU + FPGA, a GPU (Graphics Processing Unit) or an MPPA (Multi-Purpose Processor Array).
- hybrid architectures such as for example architectures based on a CPU + FPGA, a GPU (Graphics Processing Unit) or an MPPA (Multi-Purpose Processor Array).
- router node device (10) can be adopted, both for the hardware part of the device, and for the software part of the device, if applicable.
- the proposed method is not limited to a particular architecture of the router node (10), of the data communication unit (20), of the controller (21), of the routing unit (22), of the propagation time measurement unit (23) and of the communication bus (25), or of the coupling between these elements illustrating by way of example an embodiment in FIG. 2.
- Described below are methods of measuring the propagation time of data routing information in a data communication system such as that illustrated in Figures 1 and 2, in one or more embodiments.
- At least one of the communication nodes (RTR2, 10b) of the system (1) can be configured to operate in router mode RR, and another router node of the system (1) (RTR1, 10a) can be configured to generate (40) time stamp data for the transmission of information relating to the data routing, and insert (41) the transmission timestamp data in a field of a message of the BGP routing protocol, the field being intended to receive data relating to the routing of data.
- the router node RTR1 (10a) can then send (42) the message to the router node RR RTR2 to announce to the other routers of the network (2) the information relating to the routing of data carried by the message.
- the protocol message used for the implementation of the proposed method can be, depending on the embodiment, of the “UPDATE” type or of the “WITHDRAWN” type. .
- the router node RTR1 thus sends time-stamping data in the form of routing information as part of the advertisement of the routing information to the other routers of the network to which the routing information must be announced according to the protocol of routing used.
- the router node RR RTR2 (10b) On receipt of the message from the router node RTR1 (10a), the router node RR RTR2 (10b) performs the processing necessary to transmit the routing information contained in the message to the other router nodes of the network (2), and in particular the router node RTR3 (10c).
- the RTR3 node (10c) can be configured for, on receipt (50) of a routing protocol message from another router node, for example the router node RR RTR2 (10b) in the example of network illustrated in FIG. 1, extracting (51) from a field of the message received time-stamping data, the field being intended to receive data relating to the routing of data.
- the time stamp data may correspond to that inserted by the router node RTR1 (10a) in a field of the routing protocol message sent to the router node RR RTR2 (10b).
- the router node RTR3 (10c) can therefore be configured as a receiving node to perform measurements of the processing and propagation time of a routing protocol message sent by another router node, configured to function as a node sending test messages. , by a router or a network of routers subject to the test.
- the receiving router node can be configured (for example preconfigured) to identify, among the messages received or among the different types of messages received, those used by the sending router node to insert transmission time stamp information therein.
- the sending router node can be configured (for example preconfigured) to insert a timestamp information in a predefined protocol message or of a predefined type (for example one or more messages of the UPDATE and / or WITHDRAW type for the BGP routing protocol), according to a test configuration corresponding to that used to configure the receiving router node.
- a predefined protocol message or of a predefined type for example one or more messages of the UPDATE and / or WITHDRAW type for the BGP routing protocol
- the RTR3 node (10c) can also be configured to extract from the message received information relating to a router at the origin of said information relating to the routing of data, either in the example of figure 1 extract from the message received a information making it possible to identify the router node RTR1 (10a) at the origin of the received message (and therefore of the timestamp data that it contains).
- the router node RTR3 (10c) can further be configured to generate (52) current timestamp data, then determine (53) an estimate of the propagation time of the information. routing between the message-originating router and the message-destination router (i.e. router node RTR3 (10c) itself), based on a difference between the data of timestamp extracted from the message and the current timestamp data.
- the destination router node of the message, RTR3 (10c) can be configured for, upon receipt of the message from the router node RTR1 (10a) via the router node RR RTR2 (10b), estimate a message propagation time, this propagation time comprising the propagation of the message from the originating router of the message, RTR1 (10a) to the destination router, RTR3 (10c) and the processing of the message by the intermediate node RTR2 (10b).
- the destination router node RTR3 (10c) can thus advantageously measure the cumulative time necessary for the router node RR RTR2 (10b), to process the message, once received from the original router node RTR1 (10a) and to retransmit it. to all the other router nodes of the network (2).
- the BGP messages of the UPDATE type or of the WITHDRAWN type may be used in one or more embodiments.
- the timestamp data may be in a floating number format on 32 bits, with the integer part representing the number of seconds elapsed since 01/01/1970 and the decimal part representing the number. microseconds to add to the number of seconds.
- the BGP protocol defines BGP messages of the UPDATE type in order, among other things, to announce and / or withdraw information relating to routing, such as accessibility information, such as for example a prefix.
- UPDATE type BGP messages include four distinct parts, including a header, a "Paths Attributes” part, and a “withdrawal” part. , “Withdrawn") and an "NLRI” part (from the English “Network Layer Reachability Information”)
- the "path attribute” part can be used to indicate the list of properties associated with the routing information (for example to the prefix).
- the "withdrawal” part can be used to indicate accessibility information, such as a set of prefixes to be withdrawn.
- the “NLRI” part can be used to indicate prefixes to be created / modified and to which we associate the attribute (s) indicated in the “attribute” part.
- attribute type “ORIGIN” to define the origin of the routing information
- type mandatory attribute “AS-PATH” to define a series of autonomous system route segments
- mandatory attribute type “NEXT HOP” to define the IP address of a border router
- optional attribute type “MULTI EXIT DISC” to define different exit points of an autonomous system
- the discretionary attribute type "LOCAL PREF” to inform the routers of an autonomous system of the degree of preference of an announcing router for an advertised route
- timestamp type information can be inserted, in the form of timestamp data, in a BGP protocol message, for example in an UPDATE type message.
- the timestamp data may be inserted into a BGP UPDATE message field intended to receive data representing information relating to the routing of data, such as for example prefix data (for example IP address prefix or VPN prefix).
- prefix data for example IP address prefix or VPN prefix.
- the timestamp data can be inserted into an UPDATE message field corresponding to the "attribute" part.
- time stamp data can be inserted as an attribute with an already existing attribute type, such as the optional type "LOCAL PREF".
- an attribute type having a format compatible with that of the timestamp data to be transmitted can be used to transmit this data in a BGP UPDATE message.
- the time stamp data is then transmitted in an UPDATE message as an attribute of the "LOCAL PREF" type.
- the timestamp data may be inserted into an UPDATE message field corresponding to the "withdrawal" part.
- time stamp data can be inserted as an Internet or VPN prefix.
- the "withdrawal" field being used to indicate a list of IP address prefixes for the routes which are withdrawn from service, it is possible to transmit timestamp data having a format compatible with that of one or more prefixes. 'IP address by inserting this data as one or more IP address prefixes in a BGP UPDATE message.
- the time stamp data is then transmitted in the "withdrawal" field of an UPDATE message as the IP address prefix (s).
- the timestamp data can be inserted in an UPDATE message field corresponding to the "NLRI" part.
- the time stamp data can be inserted as an Internet or VPN prefix.
- the "NLRI" field being used to indicate a list of IP address prefixes, it is possible to transmit data. timestamp having a format compatible with that of one or more IP address prefixes by inserting this data as one or more IP address prefixes in a BGP UPDATE message.
- the timestamp data is then transmitted in the "NLRI" field of an UPDATE message as the IP address prefix (s).
- a BGP router called “generator” router or “original” router, generates a BGP message of the UPDATE type, and inserts transmission timestamp data into the message.
- BGP UPDATE as an attribute in the "attribute” part, as an IP address prefix or VPN prefix in the "withdrawal” part, and / or as an IP address prefix or VPN prefix in the "part” NLRI ”.
- the generating BGP router then sends the BGP UPDATE message to the router (for example an RR router) or to the network whose propagation time is to be measured (including the processing time).
- Said router or network performs the processing necessary to take into account the information contained in the BGP UPDATE message sent by the “generator” router, and propagate this message to its neighbors after having carried out the required processing.
- One of the routers receiving the message from said router or network is configured to extract the time stamp data from the received message.
- the generator router is configured to insert transmission timestamp data in a BGP UPDATE message as an attribute in the "attribute” part, as an address prefix IP or VPN prefix in the "withdrawal” part, and / or as an IP address prefix or VPN prefix in the "NLRI” part
- the receiving router will be, correspondingly, configured to extract these timestamp data from '' a received BGP UPDATE message, as an attribute of the "attribute” part, as an IP address prefix or VPN prefix of the "withdrawal” part, and / or as an IP address prefix or VPN prefix of the "NLRI” part , respectively.
- the receiving router can then compare the received timestamp data with its own timestamp, to deduce the propagation time (including processing time) necessary for said router or network.
- FIG. 4 illustrates an example of propagation time measurements in an RR router in one or more embodiments.
- the test generator router executes an infinite loop routine, each loop instance comprising (1) the execution of ten instances of a loop for generating and sending a BGP UPDATE message containing timestamp data in the field "Route Distinguisher" (which an element of a VPN-IPv4 or VPN-IPv6 route) of the BGP UPDATE message, with a predetermined interval (for example 0.5 s) between each instance, (2) a predetermined waiting time (e.g.
- the BGP test generator router therefore sends almost permanently to an RR router, the processing and propagation time of which one seeks to measure, 10 UPDATE messages which contain route modifications and time stamp data.
- the router RR processes each of these messages, and advertises them to a BGP test receiving router.
- the BGP test receiver router is configured to receive BGP UPDATE messages from the RR router, extract timestamp data from each received BGP UPDATE message from the "Route Distinguisher" field of the message, and determine a processing time measurement. and propagating to the RR router from its own timestamp and the received timestamp data.
- the test generator router executes an infinite loop routine, each loop instance comprising (1) the execution of ten instances of a loop for generating and sending a BGP WITHDRAW message containing timestamp data in the “Route Distinguisher” field of the BGP WITHDRAW message, with a predetermined interval (for example 0.5 s) between each instance, (2) a predetermined waiting time (for example 10 s), (3) the execution of ten other loop instances of generating and transmitting a BGP WITHDRAW message containing timestamp data in the "Route Distinguisher” field of the BGP WITHDRAW message, with a predetermined interval (e.g. 0 , 5 s) between each instance, and (4) a predetermined waiting time (for example 10 s).
- a predetermined interval for example 0.5 s
- a predetermined waiting time for example 10 s
- the BGP test generator router therefore sends almost permanently to an RR router, the processing and propagation time of which is sought to measure 10 WITHDRAW messages which contain route modifications and timestamp data.
- the router RR processes each of these messages, and advertises them to a BGP test receiving router.
- the BGP test receiving router is configured to receive BGP WITHDRAW messages from the RR router, extract timestamp data from each received BGP WITHDRAW message from the "Route Distinguisher" field of the message, and determine a processing time metric. and propagation required by the RR router to remove a route from its own timestamp and received timestamp data.
- the proposed method provides a solution for measuring propagation time in a router or in a network using a routing protocol which is advantageously simple to implement, in particular in that it does not require additional developments on the system. routing protocol.
- the proposed method can thus be implemented by software, independently, that is to say without depending on a particular implementation of the routing protocol or on a proprietary equipment on which it is implemented.
- the proposed method also advantageously involves a low cost of calculations, so that it can be implemented in parallel with other tests to see the impact of these other tests on the propagation time measured by the device. proposed process.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2000068A FR3106027A1 (fr) | 2020-01-06 | 2020-01-06 | Procédé de gestion du routage de données dans un système de communication et dispositifs pour la mise en œuvre du procédé |
| PCT/FR2021/050001 WO2021140289A1 (fr) | 2020-01-06 | 2021-01-04 | Routage de donnees dans un systeme de communication |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4088429A1 true EP4088429A1 (fr) | 2022-11-16 |
Family
ID=72266340
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP21707319.6A Pending EP4088429A1 (fr) | 2020-01-06 | 2021-01-04 | Routage de donnees dans un systeme de communication |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20230031496A1 (fr) |
| EP (1) | EP4088429A1 (fr) |
| FR (1) | FR3106027A1 (fr) |
| WO (1) | WO2021140289A1 (fr) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11909763B2 (en) * | 2021-04-07 | 2024-02-20 | Cisco Technology, Inc. | BGP blackhole and hijack mitigation |
Family Cites Families (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5544325A (en) * | 1994-03-21 | 1996-08-06 | International Business Machines Corporation | System and method for generating messages for use in transaction networks |
| CA2361255C (fr) * | 2000-11-06 | 2006-01-24 | Matsushita Electric Industrial Co., Ltd. | Systeme, appareil et programme de compression d'en-tete |
| US9137033B2 (en) * | 2003-03-18 | 2015-09-15 | Dynamic Network Services, Inc. | Methods and systems for monitoring network routing |
| US7430176B2 (en) * | 2005-02-15 | 2008-09-30 | Cisco Technology, Inc. | Adaptive timing of update messages transmitted by routers employing the border gateway protocol |
| US8458539B2 (en) * | 2010-06-24 | 2013-06-04 | Intel Corporation | G-ODLAT on-die logic analyzer trigger with parallel vector finite state machine |
| US8908517B2 (en) * | 2011-03-10 | 2014-12-09 | Cisco Technology, Inc. | Traffic distribution across a plurality of attachment circuits of a multihome site with a computer network using hashing algorithm |
| US8923515B2 (en) * | 2011-05-12 | 2014-12-30 | Futurewei Technologies, Inc. | System and method for mobility management in a communications system |
| US9106510B2 (en) * | 2012-04-09 | 2015-08-11 | Cisco Technology, Inc. | Distributed demand matrix computations |
| CN104247377B (zh) * | 2012-07-09 | 2018-07-27 | 松下知识产权经营株式会社 | 通信装置、通信方法、程序 |
| CN102801821A (zh) * | 2012-08-10 | 2012-11-28 | 中国联合网络通信集团有限公司 | 地址生成和解析方法、用户设备和网络节点 |
| US20140297821A1 (en) * | 2013-03-27 | 2014-10-02 | Alcatel-Lucent Usa Inc. | System and method providing learning correlation of event data |
| US20140337950A1 (en) * | 2013-05-07 | 2014-11-13 | Futurewei Technologies, Inc. | Method and Apparatus for Secure Communications in a Wireless Network |
| ES2757505T3 (es) * | 2013-07-12 | 2020-04-29 | Huawei Tech Co Ltd | Método para implementar túnel de GRE, dispositivo de acceso y puerta de agregación |
| US9391867B2 (en) * | 2013-08-14 | 2016-07-12 | Broadcom Corporation | Method and implementation for network instrumentation and traffic disposition with timestamps |
| US9787559B1 (en) * | 2014-03-28 | 2017-10-10 | Juniper Networks, Inc. | End-to-end monitoring of overlay networks providing virtualized network services |
| US10298344B1 (en) * | 2015-03-06 | 2019-05-21 | Marvell International Ltd. | Systems and methods for indicating when frames egress a PHY module of a network device |
| US9942046B2 (en) * | 2015-05-06 | 2018-04-10 | 21, Inc. | Digital currency mining circuitry with adaptable difficulty compare capabilities |
| CN114422400B (zh) * | 2015-09-04 | 2023-09-05 | 动态网络服务股份有限公司 | 使用实时用户监控数据进行实时流量引导的方法和装置 |
| US10541900B2 (en) * | 2016-02-01 | 2020-01-21 | Arista Networks, Inc. | Hierarchical time stamping |
| WO2018175246A1 (fr) * | 2017-03-19 | 2018-09-27 | TokenID, Inc. | Appareil et procédé d'autorisation de paiement et segmentation en unités sur la base d'une authentification |
| CN110555020B (zh) * | 2018-03-26 | 2023-04-11 | 阿里巴巴集团控股有限公司 | 一种映射关系建立、数据查询方法、装置及设备 |
| US10917340B2 (en) * | 2018-09-11 | 2021-02-09 | Cisco Technology, Inc. | In-situ passive performance measurement in a network environment |
| US11057857B2 (en) * | 2018-09-28 | 2021-07-06 | Intel Corporation | Technologies for managing internal time synchronization |
| US10893022B1 (en) * | 2018-12-20 | 2021-01-12 | Equinix, Inc. | Routing protocol security using a distributed ledger |
-
2020
- 2020-01-06 FR FR2000068A patent/FR3106027A1/fr not_active Ceased
-
2021
- 2021-01-04 EP EP21707319.6A patent/EP4088429A1/fr active Pending
- 2021-01-04 US US17/791,197 patent/US20230031496A1/en active Pending
- 2021-01-04 WO PCT/FR2021/050001 patent/WO2021140289A1/fr not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| US20230031496A1 (en) | 2023-02-02 |
| FR3106027A1 (fr) | 2021-07-09 |
| WO2021140289A1 (fr) | 2021-07-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12255817B2 (en) | Executing workloads across multiple cloud service providers | |
| FR3096533A1 (fr) | Procédé de gestion d’une communication entre terminaux dans un réseau de communication, et dispositifs pour la mise en œuvre du procédé | |
| Mankowski et al. | TLS→ Post-Quantum TLS: Inspecting the TLS landscape for PQC adoption on Android | |
| FR3074626A1 (fr) | Procede d'acheminement de donnees d'une session initialisee entre un terminal et un serveur | |
| EP4088429A1 (fr) | Routage de donnees dans un systeme de communication | |
| EP4457993A1 (fr) | Communication d'architecture de service 5g (sba) sur la base d'un apprentissage automatique | |
| EP2847939A1 (fr) | Systeme de transmission de donnees | |
| WO2020221779A1 (fr) | Procedes et dispositifs de mesure de reputation dans un reseau de communication | |
| US9172607B2 (en) | Transmitting of configuration items within a network | |
| CN108011777A (zh) | 用于更新边界网络设备的路由信息的方法和装置 | |
| EP4367831A1 (fr) | Procede d'etablissement authentifie d'une connexion entre un equipement raccorde a au moins un reseau de communication et un serveur d'un fournisseur de services et dispositifs correspondants | |
| EP3149902B1 (fr) | Technique d'obtention d'une politique de routage de requêtes émises par un module logiciel s'exécutant sur un dispositif client | |
| FR3003115A1 (fr) | Procede d'allocation de ressources pour la mise en oeuvre de reseaux virtuels dans un reseau de telecommunication | |
| US12294499B1 (en) | Pluggable transceiver to facilitate network traffic analysis | |
| US12542779B1 (en) | Secure and dynamic peer-based network connection configuration, routing, and control | |
| WO2019243706A1 (fr) | Procédé de découverte de fonctions intermédiaires et de sélection d'un chemin entre deux équipements de communication | |
| FR3145253A1 (fr) | Procédé de révocation d’un jeton de certification permettant d’authentifier l’établissement d’une connexion entre deux équipements de communication, dispositifs et programmes d’ordinateur correspondants | |
| FR3164588A1 (fr) | Dispositif et procédé de génération de signatures agrégées vérifiable localement pour la génération d’attestations dans une plateforme d’architecture VNF-FG | |
| FR3137238A1 (fr) | Procédé de suspension d’un jeton de certification permettant d’authentifier l’établissement d’une connexion entre deux équipements de communication, dispositifs et programmes d’ordinateur correspondants | |
| EP4203419A1 (fr) | Mise en communication automatique de sondes reseau | |
| WO2023078993A1 (fr) | Procédé de gestion d'une retransmission de données échangées sur un chemin établi entre un premier équipement de communication et un deuxième équipement de communication au moyen d'une valeur d'un paramètre de performance intermédiaire | |
| WO2023067267A1 (fr) | Methode de transmission de donnees dans un reseau maille et dispositif de communication dans un tel reseau | |
| FR3129050A1 (fr) | Procédé de vérification de la fiabilité d’une première valeur d’un paramètre de contrôle de flux relatif à une connexion destinée à être établie entre un premier équipement de communication et un deuxième équipement de communication reliés par un chemin comprenant au moins un nœud intermédiaire au moyen d’une valeur d’un paramètre de performance intermédiaire déterminée par le nœud intermédiaire | |
| CN120602320A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
| FR2878671A1 (fr) | Procede d'authentification de la decouverte de voisinage de l'environnement reseau ip d'un terminal candidat a un acces reseau |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20220805 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| RAP3 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: ORANGE |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20250321 |