-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature request: automatic creation of required LSPs based on provided traffic demands #35
Comments
Hi Victor. I'm glad it's providing value! Generally RSVP auto-mesh could be supported, but I'm more interested in the example you give that involves standard deviation:
I apologize if I'm missing something obvious. Generally auto-mesh could be implemented. It's the qualification part that I am not sure about. Thanks! |
Hi Victor. Thanks, I think I understand what you are looking for now, but I do have some follow up questions and points:
All that becomes very non-trivial to understand and then code and would likely require a lot of compute resources for even moderately complex topologies with a medium amount of demands. Can you explain to me what is the real-world use case for this? That may help with my understanding. Thanks! |
Hi Tim, your follow-up questions are very relevant, let me try to answer them:
I am referring to link utilization taking into account all the demands which are supposed to flow through each link. The algorithm that you have described matches what I have in mind. Regarding the real-world use case, I believe it could be useful in order to perform more advanced what-if analysis. "if all the traffic demands increase by 10%, then for optimal performance (i.e., to meet a user-defined goal such as homogeneous link utilization), existing Looking further ahead, the next step could be to assign a different priority to each/some traffic demands so that pyNTM will create and assign shorter LSPs to the demands with higher priority (note that this is different from having different traffic Class of Services flowing within the same LSP). And in the future, a user may also mark a traffic demand as "requires high availability" and in that case, two LSPs would be created for that demand by pyNTM, a main LSP and a backup LSP which would only become "active" when the main LSP goes down. All of this is different from the regular automesh functionality which usually means to simply create one LSP for each pair of network nodes. These new functionalities would help not only to analyze an existing network but also when designing and dimensioning a new network. And also some proprietary (and quite expensive) network analysis/design software solutions which provide these capabilities have existed for long time, you may check Case Studies & Network Planning Tools presentation, also from 2007. |
Hi Victor. After looking into this a bit, it's outside of the scope of what I could do: the algorithm alone seems fairly complex, let alone optimal coding to ensure good performance. I'd be happy to review a pull request, however. |
Hi Tim, I understand, it is a big and complex change indeed. On a different note, I have written a simple Python script in order to export the data calculated by pyNTM (e.g., interfaces traffic, LSP paths) into JSON format. |
Hi Victor. I'd be happy to take a look at something like that json formatting addition! |
I have been exploring PyNTM lately and I love it, it provides great insights into network routing and on top of that it has helped me to improve my Python skills since I am a Java backend engineer by trade.
I see that autoconfiguration of the LSPs reserved bandwidth is supported (currently the LSP definitions need to be provided by the user), so I wonder if the automatic creation of LSPs based on traffic demands (and the network topology, of course, and maybe also some user-defined constraints) is in the PyNTM roadmap (sometimes this feature is called automesh).
As an example, a user would submit the following query to PyNTM:
The text was updated successfully, but these errors were encountered: