Non-Stop Software Upgrade via Control Plane Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer networks, network devices like routers and switches face challenges during software updates, as they cannot concurrently update software and maintain communication sessions, leading to intermittent network connectivity and increased packet loss due to dropped and re-sent packets when they go offline for updates.
Innovation Solution
Implementing a controlled non-stop software upgrade (NSSU) technique, where network-connected devices are preemptively notified of an impending upgrade, allowing them to reroute traffic around the device being updated, reducing packet drops and latency by continuing to forward packets through a redundant network device.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a network device transitions offline for software update, then the software can be upgraded, but network connectivity is interrupted and packets are lost
Solution Approach 1:
The network device is divided into two independent planes: a control plane and a forwarding plane. The control plane handles software updates and management functions, while the forwarding plane continues to forward network packets independently. This segmentation allows the control plane to be updated without interrupting packet forwarding operations in the forwarding plane, resolving the contradiction between maintaining network connectivity and performing software updates.
Solution Approach 2:
The forwarding plane is pre-configured with forwarding information and packet handling capabilities before the control plane is taken offline for updates. This preliminary preparation ensures that the forwarding plane can immediately continue operations without interruption when the control plane transitions offline, maintaining network connectivity during the software update process.
2Ease of manufacture
If a network device stops forwarding packets for update, then software can be installed, but packet loss and latency increase
Solution Approach 1:
By separating control plane functions from forwarding plane functions, the system enables software installation in the control plane without stopping packet forwarding in the forwarding plane. This eliminates the time loss and packet latency that would otherwise occur during software installation, as the forwarding plane operates independently and continuously.
Solution Approach 2:
The forwarding plane maintains continuous packet forwarding operations throughout the software installation process in the control plane. This continuity of useful action ensures that network traffic flows without interruption or latency increases, while the control plane undergoes software installation in the background.
3Adaptability or versatility
If network-connected devices determine alternative routes after device goes offline, then traffic can be redirected, but substantial packet loss occurs during the transition period
Solution Approach 1:
The forwarding plane is pre-configured with complete forwarding information and alternative route capabilities before the control plane goes offline. This preliminary configuration allows the forwarding plane to immediately redirect packets along alternative routes without waiting for network-connected devices to detect the offline status and determine new paths, thereby minimizing packet loss during the transition period.
Solution Approach 2:
The forwarding plane acts as an intermediary that maintains packet forwarding independence from the control plane. It can autonomously determine and execute alternative routing decisions without requiring real-time communication with network-connected devices, preventing packet loss that would occur during route determination delays.
Data Source
AI summary
In general, techniques are described for performing a controlled non-stop software upgrade (NSSU) of a network device. In some examples, a method includes receiving, by a first network device included in a virtual network device, a non-stop software upgrade (NSSU) request. The first network device is communicatively coupled to each of a computing device and a second network device. The method includes, in response to receiving the NSSU request, forwarding to the second network device, network packets that are received at the first network device and destined to the computing device. The method also includes sending a message to the computing device that instructs the computing device to stop sending network packets to the first network device. The method includes updating one or more software components within the first network device, after sending the message to the computing device and based at least in part on the NSSU request.


