Method for enabling dynamic traffic mirroring of automotive Ethernet traffic over a network topology
The method for dynamic traffic mirroring in automotive Ethernet networks addresses the challenge of monitoring inaccessible nodes by using a network topology matrix to calculate an optimal path for traffic mirroring, ensuring efficient network monitoring and troubleshooting.
Patent Information
- Application Number
- DE102024109987
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2024-03-01
- Filing Date
- 2024-04-10
- Publication Date
- 2025-12-04
- Estimated Expiration
- 2044-04-10
AI Technical Summary
Existing automotive Ethernet networks face challenges in efficiently monitoring network traffic without disrupting the production network, especially when diagnosing issues in nodes that are not directly accessible from external connectors.
A method for dynamic traffic mirroring over a network topology involves receiving a traffic mirroring request, determining the source port and switch through a network topology matrix, calculating an optimal path, and instructing switches to mirror traffic to a request node, using a code associated with the source node.
Enables accurate and efficient network monitoring by providing a mirrored copy of network traffic to a diagnostic tool without impacting the production network, allowing for effective troubleshooting and analysis.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] Automotive Ethernet network technology refers to the use of Ethernet communication in vehicles to connect various electronic components and systems. It serves as an in-vehicle network, enabling high-speed data communication between sensors, electronic control units (ECUs), infotainment systems, advanced driver assistance systems (ADAS), and more. Common automotive Ethernet variants are 100BASE-T1 and 1000BASE-T1, offering speeds of 100 Mbps and 1 Gbps, respectively, over unshielded twisted-pair cables. Automotive Ethernet unifies in-vehicle connectivity, providing high bandwidth, real-time capabilities, security, and diagnostics for next-generation vehicles with increasing levels of electronics and software.
[0002] DE 10 2018 220 605 A1 describes a vehicle network designed to improve the driving safety of autonomous vehicles in road traffic. The vehicle network comprises a primary network with at least the following components: a first sensor device, a first processing device, a first actuator device, and a first communication device. Furthermore, the vehicle network also includes a secondary network comprising the following components: a second sensor device, a second processing device, a second actuator device, and a second communication device.
[0003] US 2014 / 0282823A1 describes a network system that provides a function for modifying network policies associated with the operation of network infrastructure devices within the network system. Network policies are set on network devices, including packet forwarding devices. The network is capable of identifying computer applications associated with network traffic. A network policy controller is configured to modify one or more policies of one or more network devices based on the captured computer application information. The modified policies can be either network policies or mirroring policies.An example of a policy to be changed is the instruction to a network device to mirror traffic to an application identification device in order to identify applications running on the network through a variety of mechanisms. This functionality can be provided in one or more devices on the network.
[0004] US 2018 / 0225891A1 describes a system and method for connecting a device to a vehicle's automotive diagnostic port. The method includes the steps of sampling a signal on each pin of a plurality of pins of the automotive diagnostic port to create a signal map corresponding to the automotive diagnostic port, selecting a configuration from a list of configurations for the automotive diagnostic port based on the signal map, and establishing communication with the vehicle via the automotive diagnostic port based on the selected configuration. The method can be performed by a system that includes at least one of the following components: a device connected to a vehicle's automotive diagnostic port, a mobile device, and / or a server.
[0005] JP 2006 - 279 497 A describes the provision of a node diagnostic system with extensive extensibility for diagnosing a fault or anomaly by requesting the diagnosis of a fault or anomaly affecting a node on a multiplex communication line in which a multitude of nodes are interconnected, without specifying a node as the diagnostic request target.
[0006] US 2020 / 0412813A1 describes a vehicle control system that includes a controller configured to manage communication between multiple vehicle devices that control the movement of a single vehicle system or a multi-vehicle system over a network connecting the vehicle devices. The controller is also configured to manage communication using a Data Distribution Service (DDS), with the network operating as a time-sensitive network (TSN). The controller is configured to instruct a first group of vehicle devices to communicate using time-sensitive communication, a second group using best-effort communication, and a third group using bandwidth-constrained communication.
[0007] Accordingly, the object of the present invention is to provide a method that enables accurate and efficient network monitoring.
[0008] The problem is solved by the subject matter of the independent claim.
[0009] According to the invention, a method enabling dynamic traffic monitoring of automotive Ethernet traffic over a network topology comprises receiving a traffic mirroring request from a request node by a switching node over an automotive Ethernet network, wherein the traffic mirroring request contains a code assigned to a source node in the automotive Ethernet network, which has a network topology of multiple interconnected switches; based on the code assigned to the source node, determining a source port and a source switch through which the source node is directly connected to the automotive Ethernet network; and obtaining a network topology matrix specifying one or more ports of each switch that is connected to at least one of the other interconnected switches of the network topology.Based on the network topology matrix, a traffic-mirroring network path is determined between the source node and the request node; and the mirroring of the source node's network traffic is initiated by the switching node sending traffic mirroring instructions over the automotive Ethernet network to switches in the determined traffic-mirroring network path, instructing these switches to mirror the source port's network traffic to the request node. Determining the source port and source switch involves: receiving a table of node-associated codes; finding an entry in the table that matches the received code; and extracting an identification of a switch and one of its ports from the entry.and assigning the identified switch and port as the source ports and source switch through which the source node connects directly to the vehicle's Ethernet network. Determining the traffic-mirroring network path involves: calculating an optimal network path between the source node and the request node; and assigning the calculated optimal network path to the traffic-mirroring network path. A zero weight is used to determine the shortest path when calculating the optimal network path. A weight is used to determine the shortest path when calculating the optimal network path.
[0010] In one embodiment, the request node is connected to a request port of a request switch of the multiple interconnected switches of the network topology, and the request from the request node is associated with an identification of the request port and the request switch.
[0011] In one embodiment, the code assigned to the source node is selected from a group consisting of a source node indicator, a source port and source switch indicator of the source node, a vehicle diagnostic code indicating the source node, and a combination thereof.
[0012] In one embodiment, each entry in the network topology matrix indicates which port(s) of a switch are directly connected to which port(s) of directly connected switches of the multiple interconnected switches in the network topology.
[0013] In one embodiment, this includes the detection of a change in the network topology by the switching node and the corresponding updating of the network topology matrix.
[0014] In one embodiment, the weighting is based on a determination of the functional traffic on each port and / or switch in a network path.
[0015] In one embodiment, the switching node tracks the functional traffic on each port and / or switch of the network topology.
[0016] In one embodiment, the traffic mirroring instructions directly instruct the switches in the identified traffic-mirroring network path to mirror the network traffic of the source port to the requesting node.
[0017] In one embodiment, the traffic mirroring instructions require that the switches in the identified traffic-mirroring network path cooperate in mirroring the network traffic of the source port to the requesting node.
[0018] According to one use case, a non-transitory, machine-readable storage medium is encoded with instructions executable by one or more processors which, when executed, instruct one or more processors to perform the inventive method, which enables dynamic traffic monitoring of automotive Ethernet traffic over a network topology, wherein the operations comprise: receiving a traffic mirroring request from a request node by a switching node over an automotive Ethernet network, wherein the traffic mirroring request contains a code associated with a source node in the automotive Ethernet network, which has a network topology of multiple interconnected switches; based on the code associated with the source node, determining a source port and a source switch through which the source node is directly connected to the automotive Ethernet network;Obtaining a network topology matrix, wherein each entry in the network topology matrix indicates which port(s) of a switch are directly connected to which port(s) of directly connected switches of the multiple interconnected switches of the network topology; based on the network topology matrix, determining a traffic-mirroring network path between the source node and the request node, wherein determining the traffic-mirroring network path includes computing an optimal network path between the source node and the request node; and assigning the computed optimal network path to the traffic-mirroring network path;and initiating the mirroring of the source node's network traffic by sending traffic mirroring instructions through the switching node via the vehicle Ethernet network to the switches in the designated traffic mirroring network path, instructing these switches to mirror the source port's network traffic to the requesting node.
[0019] In one embodiment, the code assigned to the source node is selected from a group consisting of a source node indicator, a source port and source switch indicator of the source node, a vehicle diagnostic code indicating the source node, and a combination thereof.
[0020] In one embodiment, the calculation of the optimal network path uses weighting to determine a shortest path, and the weighting is based on a determination of the functional traffic at each port and / or switch in a network path. Fig. Figure 1 shows an example vehicle with an on-board network according to one or more of the implementations described here. Fig. Figure 2 shows an example of a computer architecture for a computer system that can execute the technology described here. Fig. Figure 3 is a flowchart illustrating a process for performing an example procedure that enables dynamic traffic monitoring of automotive Ethernet traffic over a network topology in accordance with one or more of the implementations described here.
[0021] The technology described here enables dynamic traffic monitoring of automotive Ethernet traffic across a network topology. For example, an automotive diagnostic tool can be connected to an available port of a vehicle's automotive Ethernet network without prior knowledge of the network topology. By providing a control code for the automotive diagnostic routine, the diagnostic tool, using this technology, monitors the network traffic flowing to and from a system connected to the network that is affected by the provided control code.
[0022] Referring to the drawings, where identical numbers denote identical parts in the different views of various systems and approaches, these are shown and described here. The presented approaches may be suitable for use in motor vehicles, encompassing manual, autonomous, and semi-autonomous driving.
[0023] Fig. Figure 1 shows an example vehicle 100 suitable for the use of one or more implementations of the technology described here. This figure shows an in-vehicle network 110 that uses automotive Ethernet technology to connect automotive devices and systems internally. An automotive Ethernet network comprises a number of interconnected nodes (e.g., electronic control units, ECUs) that are connected to the network via automotive switches.
[0024] In an automotive Ethernet network, a switch refers to an Ethernet switch designed for connectivity and packet switching within an in-vehicle network. Automotive Ethernet switches enable various ECUs and devices within the vehicle to connect and communicate over Ethernet networks. They offer high-speed switching fabrics for transmitting data with low, predictable latency for time-critical traffic. Suppliers of automotive Ethernet switches include Broadcom, Marvell, Microchip, Renesas, and TTTech.
[0025] In an automotive Ethernet network, a node refers to a device or endpoint connected to an in-vehicle Ethernet network for data communication. A node is an addressable device with a network interface, integrated into the overall vehicle architecture for data exchange and control functions. The nodes communicate over the switched Ethernet fabric as part of the integrated electrical and electronic system.
[0026] In an automotive Ethernet network, a node can be, for example, an ECU, a sensor, an actuator, a user interface, a gateway, or similar device. ECUs are embedded computers that control various subsystems in the vehicle over the network, such as the engine, transmission, and audio / visual displays (AV displays). Sensors are devices that collect vehicle status data or environmental data. Examples of such sensors include cameras, radar (radio detection and range), ultrasonic sensors, and temperature sensors. Actuators are devices that receive control signals over the network to operate vehicle mechanisms. Examples of actuators include motors, pumps, compressors, relays, and lights. Examples of user interfaces include dashboard displays, infotainment head units, and similar devices. The user interface provides the user with ways to interact with the system.Gateways are hardware devices that translate between Ethernet and other vehicle-internal buses such as CAN (Controller Area Network) or LIN (Local Interconnect Network) to enable interaction between old and new interfaces.
[0027] An automotive Ethernet network comprises multiple interconnected switches. Each switch has multiple ports available for direct connection to nodes or other switches. Nodes connect to an automotive Ethernet network by connecting to an available port on a switch within that network. Switches form a network by directly connecting another switch to one or more of their ports. Unless otherwise specified in the context, a direct connection is a wired or wireless network connection without an intermediary node or port. Furthermore, a wired direct connection excludes a wireless network connection of the type described above.
[0028] In one or more of the implementations described here, the Ethernet switches and one or more of the nodes are connected to switch ports via xMII interfaces without physical transceivers, so no devices between the node and the switch port can be tapped. This presents a significant challenge when monitoring Ethernet traffic for a particular node, especially if the node is on an internal network subnet and not directly accessible from external connectors such as a DLC. The Data Link Connector (DLC) is the multi-pin diagnostic connector for cars, trucks, and motorcycles used to connect a scan tool to a specific vehicle's control modules and access on-board diagnostics and live data streams.
[0029] "xMII" refers to Media Independent Interfaces (MII) such as RMII, RGMII, SMII, etc., which support speeds of 100 Mbps (megabits per second) or several Gbps (gigabits per second) for in-vehicle networks. These include, in particular, 100BASE-T1 and 1000BASE-T1. 100BASE-T1 offers 100 Mbps Ethernet connectivity over a single unshielded twisted pair (UTP) cable. It is optimized for use in vehicles with features such as reduced susceptibility to electromagnetic interference (EMI). It is used in many modern vehicles. 1000BASE-T1, for example, offers 1 Gbps Ethernet connectivity over a single UTP cable. They are becoming increasingly common in new vehicle designs that utilize higher bandwidths for applications such as cameras, radar, infotainment, etc.
[0030] As in Fig. As shown in Figure 1, the vehicle's internal network 110 has five interconnected switches: Switch A 120, Switch B 130, Switch C 140, Switch D 150, and Switch E 160. The ports of the switches are identified by a circled single-digit number from one to eight. As shown in the figure, the switches of the onboard network 110 are interconnected as follows: Port 7 of Switch A 120 is connected to Port 7 of Switch B 130; Ports 1 and 3 of switch A 120 are connected to ports 3 and 4 of switch C 140 respectively; port 2 of switch B 130 is connected to port 6 of switch E 160; Port 6 of Switch A 120 is connected to Port 3 of Switch D 150; and Ports 8 and 6 of the D 150 switch are connected to ports 8 and 4 of the E 160 switch, respectively.
[0031] As shown, the switches have multiple nodes connected to a switch via a port. Some switches may have nodes connected to unlabeled ports. This is represented by an empty circle over a line between a switch and a node. Some switches may have open ports, meaning a port without a node connected to it. This is represented by a line extending from a switch with no node connected to it.
[0032] Switch A 120 has nodes 122, 124, and 126 connected to it via an unlabeled port. Switch A 120 also has an open port 128.
[0033] Switch B 130 has a switching node 132 connected via port 4, as well as nodes 134 and 136 connected to it via unlabeled ports. Switch B 130 also has an open port 138.
[0034] The Switch C 140 has a source node 142 connected via port 2, as well as nodes 144 and 146 connected to it via unlabeled ports.
[0035] Switch D 150 has a request node 152 connected via port 5, and nodes 154, 156 and 158 connected to it via unlabeled ports.
[0036] Nodes 162, 164 and 166 are connected to the Switch E 160 via unlabeled ports.
[0037] Many vehicles offer some form of on-board diagnostics (OBD) for self-diagnosis and reporting. Modern OBD implementations use a standardized digital communication port to provide real-time data, in addition to a standardized set of diagnostic trouble codes (DTCs), enabling a person to quickly identify and resolve malfunctions in the vehicle. In some of the implementations described here, the vehicle uses 100 automotive diagnostic codes (ADCs) or routine control codes (RCCs) that indicate the system or area of the vehicle where a problem might exist that requires further investigation.
[0038] The first character of an ADC can, for example, identify the system or area of the vehicle where a problem occurs. For instance, "P" stands for powertrain, "C" for chassis, "B" for body, and "U" for network communication. The second character indicates whether it is a generic (0) or manufacturer-specific (1) problem.
[0039] The request node 152 can be an external automotive diagnostic device that is physically connected to the vehicle's onboard network 110 via an available port on an available switch in the network. As shown, port 5 of switch D 150 is available for an external device, such as an automotive diagnostic tool, that can be connected to the onboard network 110. Such a device can be referred to as a "test device".
[0040] In some of the implementations described here, after connecting to port 5 of switch D 150, request node 152 sends a traffic mirroring request to switching node 132. The traffic mirroring request may contain a questionable ADC code. This means there may be a problem based on the ADC code. This code is associated with a node in the onboard network. For better troubleshooting, it would be helpful to create a log of the network traffic associated with the problem that triggered the ADC code. However, the tester does not know the network topology of the onboard network 110 of this vehicle 100.
[0041] Network topology refers to the physical and logical structure of a network. It defines how different nodes and devices are interconnected to enable communication and data exchange. The topology represents the arrangement of network elements such as routers, switches, firewalls, end devices, etc., and the connections between them. Unless otherwise indicated by the context, network topology here refers to the data transmission layer (i.e., L2).
[0042] In some of the implementations described here, the inspector (as request node 152) provides the relevant ADC code to the switching node 132 via a traffic mirroring request. This ADC code is associated with the source node 142. For example, the ADC code may contain a "P", indicating that the powertrain may be affected. Thus, the source node 142 could be the powertrain system of vehicle 100. Consequently, this ADC code is a source node-associated code.
[0043] While the checker (as request node 152) does not know which system / node it is, the effect of the request to the switching node 132 is that the checker receives a copy (i.e. a mirror) of the network traffic to and from the source node 142.
[0044] Ethernet traffic mirroring is a method for monitoring network traffic by forwarding copies of incoming and outgoing packets from one port (e.g., a mirroring source port) of a switch (source switch) to another port (mirroring destination port) of a different switch (e.g., destination switch), where the packet copies can be examined. In this process, the network traffic of port (Switch C: Port 2) of source node 142 is mirrored to port (Switch D: Port 5) of requesting node 152.
[0045] This enables network analysis and troubleshooting, as network traffic can be examined without impacting the production network. A mirrored destination port receives copies of the traffic traversing one or more switches and their interconnected ports along the mirrored path. In most cases, this has minimal impact on switching performance or network throughput, as the mirroring is handled by the switch's hardware and the mirrored traffic can be assigned a low priority.
[0046] The switching node 132 is a control unit that manages the network and knows its topology. Based on the code assigned to the source node, switching node 132 identifies the source node (which, as shown, is source node 142) and determines which port and switch the source node is connected to. As shown in the figure, the source port is 2 and the source switch is C 140.
[0047] The switching node 132 has a network topology matrix stored in accessible memory. The network topology matrix specifies one or more ports of each switch that are connected to at least one of the other interconnected switches in the network topology. Each entry in the network topology matrix indicates which port(s) of a switch is / are directly connected to which port(s) of directly connected switches in the interconnected network topology.
[0048] Table 1 below is an example of a network topology matrix based on Fig. 1:
[0049] The matrix in Table 1 shows the ports through which the switches (AE) are interconnected. An empty entry indicates that there is no direct connection between the switches in that entry. If a direct connection exists, the numbers indicate the ports of the interconnected switches.
[0050] The switching node 132 determines a traffic-mirroring network path between the source node and the request node using the network topology matrix. Switching node 132 can compute an optimal network path between the source node and the request node and assign the computed optimal network path to the traffic-mirroring network path.
[0051] The switching node 132 initiates the mirroring of the network traffic of the source node 142 by sending traffic-mirroring instructions to the switches in the identified traffic-mirroring network path, which instruct these switches to mirror the network traffic of the source port to the requesting node 152.
[0052] Fig. Figure 2 shows an example of a computer architecture for a Computer System 200 capable of executing the technology described herein. The computer architecture in this figure illustrates a typical onboard ECU or computer system. The switching node 132 can be implemented as Computer System 200. However, this system could also be a server computer, a workstation, a desktop computer, a laptop, a tablet, a network device, an e-reader, a smartphone, an embedded system, or any other computational device. Although Computer System 200 is shown as a single device, it can be part of a distributed and interconnected group of components that perform the same functions.
[0053] The computer system 200 comprises a processor 202 (e.g., a central processing unit or "CPU"), system memory (e.g., a memory) 204, input / output devices (I / O devices) 206 – such as a display, a keyboard, a mouse, a microphone, a camera, and associated control units – a secondary storage system 208 (e.g., a hard disk), and various other subsystems 210. In various embodiments, the computer system 200 also includes a communication ("comm") port 212, through which a connection to an in-vehicle network 220 or an external communication ("comm") system 222 can be established. The aforementioned components can be interconnected via one or more buses 216, the in-vehicle network 220, and / or the communication system 222.
[0054] The Communication System 222 enables external wireless communication with devices and networks outside the system, such as an external Communication Network 250. External wireless communication can include, for example, one or more of the following methods: satellite communication, Wi-Fi™, Bluetooth™, cellular communication, radio communication, and / or internet communication.
[0055] System memory 204 can store data and machine-readable instructions (e.g., computer-readable instructions). Machine-readable instructions can configure the computing system 200. Machine-readable instructions can contain one or more instruction modules. The instruction modules can contain computer program modules. The instruction modules can contain one or more of the following: a request processor 230, an ADC search function 232, an ADC database 234, a path determiner 236, a network topology matrix 238, a network instructor 240, and / or other instruction-based modules.
[0056] While the modules in the example shown in this figure are implemented with machine-readable instructions, other, similarly functioning modules can be implemented with few or no machine-readable instructions. Such modules are implemented using hardware (e.g., circuits) and analog and / or digital signals. In other cases, such modules can be implemented through a combination of hardware and machine-implemented instructions.
[0057] The request processor 230 receives a traffic monitoring request from the request node 152. The traffic monitoring request contains a code that is associated with the source node 142 in an automotive Ethernet network, such as the onboard network 220, which has a network topology with multiple interconnected switches. This code is referred to as the source node-associated code.
[0058] The code associated with the source node could be, for example, an indicator for the source node, an indicator for the source port and source switch of the source node, an automotive diagnostic code indicating the source node, or a combination thereof.
[0059] In one or more implementations, the request node 152 establishes a connection to a request port (e.g., port 5 as the destination port) of a request switch (e.g., switch D 150 as the destination switch) of the multiple interconnected switches (e.g., switches AE) of the network topology, and the request from the request node is associated with an identification of the request port and the request switch (e.g., destination port and destination switch of the traffic mirroring).
[0060] Based on the ADC database 234, the ADC search function 232 locates the code associated with the source node in the database and finds the system or node connected to that code. Specifically, the ADC query 232 determines the source port and the source switch through which the source node is directly connected to the onboard network.
[0061] In some implementations, the ADC search function 232 determines the source port and source switch by receiving a table of node-related codes; finding an entry in the table that matches the received code; extracting an identification of a switch and one of its ports from the entry; and assigning the identified switch and port as the source port and source switch through which the source node is directly connected to the onboard network.
[0062] The path determiner 236 receives a network topology matrix 238. The network topology matrix 238 specifies one or more ports of each switch that are connected to at least one of the other interconnected switches in the network topology. Each entry in the network topology matrix indicates which port(s) of a switch are directly connected to which port(s) of directly connected switches in the interconnected switches of the network topology. Based on the obtained network topology matrix, the path determiner 236 determines a traffic-mirrored network path between the source node and the requesting node.
[0063] The path determiner 236 calculates an optimal network path between the source node and the request node and maps the calculated optimal network path to the traffic-mirroring network path. In a network path, the individual switches are considered nodes of a graph, and their connections, e.g., links, are considered as distances between the nodes. In some implementations, zero weighting is used when calculating the optimal network path (e.g., equal distance for all connections) to determine the shortest path. In other implementations, the connections are weighted when calculating the optimal network path to determine the shortest path. The weighting can be assigned to each connection, for example, based on the bandwidth usage on that connection estimated at the time of system design.In some implementations, the switching node tracks the functional bandwidth usage on each port and / or switch of the network topology in real time, and the weighting on the links is dynamically calculated and updated based on the functional bandwidth usage on those links.
[0064] Network Instructor 240 initiates the mirroring of network traffic from the source node by sending traffic-mirroring instructions to individual switches along the defined traffic-mirroring network path. These instructions direct each switch to enable self-port mirroring of traffic from its own source port to its own destination port. Switches typically have a built-in self-port mirroring function. With one or more implementations described here, the technology achieves network-wide traffic mirroring across multiple switches by instructing individual switches to enable their assigned self-port mirroring. To do this, a best mirroring path from the source switch to the destination switch is calculated. Additionally, for each switch along the path, the source and destination ports responsible for self-mirroring are determined.
[0065] The shortest path from a source switch to a destination switch might be C→A→D. If this is the case, the specifically best path could be: C(Port2)→C(Port3)→A(Port1)→A(Port6)→D(Port3)→D(Port5). This is based on the topology matrix. Based on this, the final mirroring configuration for each switch on the path could be C(Port2→Port3), A(Port1→Port6), D(Port3→Port5).
[0066] Fig.Figure 3 is a flowchart illustrating Process 300 for performing an example procedure that enables dynamic traffic monitoring of automotive Ethernet traffic in a network topology. For simplicity, Process 300 can be described as being executed by a system described herein. Such a system could be, for example, the switching node 132 or the computer system 200. Process 300 represents the dynamic traffic monitoring of automotive Ethernet traffic in a network topology.
[0067] In process 310, the system receives a traffic mirroring request 312 from a requesting node (e.g., an inspector at requesting node 152). The traffic mirroring request contains a code associated with a source node (e.g., source node 142) in an automotive Ethernet network (e.g., the onboard network 220), which has a network topology with multiple interconnected switches. This code is referred to as the source node-associated code.
[0068] The code assigned to the source node could be, for example, an indicator of the source node, an indicator of the source port and the source switch of the source node, a control code of the automotive diagnostic routine that points to the source node, or a combination thereof.
[0069] In one or more implementations, the request node 152 establishes a connection to a request port (e.g., port 5) of a request switch (e.g., switch D 150) of the multiple interconnected switches (e.g., switches AE) of the network topology, and the request from the request node is associated with an identification of the request port (e.g., final destination port) and the request switch (e.g., destination switch).
[0070] In process 314, the system (e.g., the switching node 132) locates the code associated with the source node in an ADC database 316. The system then finds the node assigned to this code. In particular, the system determines the source port and the source switch through which the source node is directly connected to the onboard network.
[0071] In some implementations, the switching node determines the source port and source switch by retrieving a table of node-related codes (e.g., the ADC database 316); finding an entry in the table that matches the received code; extracting an identification of a switch and one of its ports from the entry; and assigning the identified switch and port as the source port and source switch through which the source node is directly connected to the onboard network.
[0072] In process 318, the system (e.g., switching node 132) receives a network topology matrix 320. The network topology matrix 320 specifies one or more ports of each switch that are connected to at least one of the other interconnected switches in the network topology. Each entry in the network topology matrix indicates which port(s) of a switch are directly connected (e.g., directly linked) to which port(s) of directly connected switches in the interconnected network topology. Based on the received network topology matrix, the system determines a traffic-mirrored network path between the source node and the requesting node.
[0073] Furthermore, in Operation 318, the system calculates an optimal network path between the source node and the destination node and assigns the calculated optimal network path to the traffic-mirroring network path. In some cases, and / or specifically, the system calculates an optimal network path between the source port of the source switch and the destination port of the destination switch and assigns the calculated optimal network path to the traffic-mirroring network path. In some implementations, the switches are considered nodes of a graph, and their connections, e.g., links, are considered as distances between the nodes. When calculating the optimal network path, zero weighting (e.g., equal distance for all connections) is used to determine the shortest path.
[0074] In other implementations, the calculation of the optimal network path involves weighting these connections to determine the shortest path. For example, the weight of each connection can be assigned based on the bandwidth usage estimated for that connection during system design. In some implementations, the switching node tracks the functional bandwidth usage on each port and / or switch in the network topology in real time, and the weights on the connections are dynamically calculated and updated based on the functional bandwidth usage on those connections.
[0075] In process 322, the system generates traffic mirroring instructions for the switches in the identified traffic-mirroring network path, instructing these switches to mirror the network traffic of the source port to the requesting node. In some cases, and / or particularly, the system generates traffic mirroring instructions for the switches in the identified traffic-mirroring network path, instructing these switches to enable self-port mirroring from their own source port to their own destination port.
[0076] As a consequence of operation 322, the system initiates the mirroring of the source node's network traffic by sending the generated traffic-mirroring instructions to an onboard network 330. Specifically, the system sends the instructions to the switches of the identified traffic-mirroring network path, instructing these switches to enable self-mirroring.
[0077] In some implementations, the intermediary sends the self-port mirroring request, along with its associated information, directly to each switch in the defined traffic mirroring path. In other implementations, the initiator sends the self-port mirroring request, along with its associated information, to multiple nodes (such as control units or computer systems) in the network, which are considered hosts for the switches in the defined traffic mirroring path. Each host then forwards the self-port mirroring request(s) to the switch(es) it controls.
[0078] In some implementations, the system can detect a change in the network topology and update the network topology matrix 320 accordingly. For example, the system can detect that a new node has been added to the network topology, and in response, the system can update the network topology matrix 320 to reflect the change in the topology.
Claims
[1] Method (300) for enabling dynamic traffic monitoring of automotive Ethernet traffic over a network topology, wherein the method (300) comprises: Receiving (310) a traffic mirroring request (312) from a request node (152) by a switching node (132) via an automotive Ethernet network (110, 330), wherein the traffic mirroring request (312) contains a code that is associated with a source node (142) in the automotive Ethernet network (110, 330) which has a network topology of several interconnected switches (120, 130, 140, 150, 160); based on the code assigned to the source node (142), determining (314) a source port and a source switch (140) through which the source node (142) is directly connected to the automotive Ethernet network (110, 330); Receive (318) a network topology matrix (238, 320) specifying one or more ports of each switch (120, 130, 140, 150, 160) that is connected to at least one of the other interconnected switches of the network topology; based on the network topology matrix (238, 320), determine (318) a traffic-mirroring network path between the source node (142) and the request node (152); and Initiating (322) the mirroring of the network traffic of the source node (142) by sending traffic mirroring instructions through the switching node (132) via the automotive Ethernet network (110, 330) to switches (120, 130, 140, 150, 160) in the specified traffic mirroring network path, instructing these switches (120, 130, 140, 150, 160) to mirror the network traffic of the source port (142) to the requesting node; wherein determining the source port (142) and the source switch (140) includes: Obtain a table of node-associated codes; Finding an entry in the table that matches the received code; Extracting the identification of a switch (120, 130, 140, 150, 160) and one of its ports from the entry; and Assigning the identified switch and port as source port and source switch (140) through which the source node (142) connects directly to the automotive Ethernet network (110, 330); where determining (318) the traffic-mirroring network path includes: Calculating an optimal network path between the source node (142) and the request node (152); and Assigning the calculated optimal network path to the traffic-mirroring network path; where a zero weight is used in calculating (318) the optimal network path to determine a shortest path; and where, in calculating (318) the optimal network path, a weighting is applied to determine a shortest path. [2] Method (300) according to claim 1, wherein the request node (152) is connected to a request port of a request switch (150) of the multiple interconnected switches (120, 130, 140, 150, 160) of the network topology and the request from the request node (152) is associated with an identification of the request port and the request switch (150). [3] Method (300) according to claim 1, wherein the code assigned to the source node (142) is selected from a group consisting of an indicator of the source node (142), an indicator of the source port and the source switch (140) of the source node (142), a vehicle diagnostic code indicating the source node (142), and a combination thereof. [4] Method (300) according to claim 1, wherein each entry in the network topology matrix specifies which port(s) of a switch (120, 130, 140, 150, 160) are directly connected to which port(s) of directly connected switches (120, 130, 140, 150, 160) of the interconnected switches (120, 130, 140, 150, 160) of the network topology. [5] Method (300) according to claim 1, further comprising: Detecting a change in network topology by the switching node (132); and corresponding update of the network topology matrix (228, 320). [6] Method (300) according to claim 1, wherein the weighting is based on a determination of the functional traffic at each port and / or switch (120, 130, 140, 150, 160) in a network path.
Citation Information
Patent Citations
Motor vehicle network and methods for operating a motor vehicle network
DE102018220605A1
JP002006279497A
Device and related method for establishing network policy based on applications
US20140282823A1
Automated vehicle discovery after connecting to an automotive diagnostic port
US20180225891A1
Vehicle control system
US20200412813A1