A software-defined network is not a new concept, but it may eventually replace a high-speed, high-performance multi-core processing network that is currently inflexible and hardware-centric. Once a software-defined network appears, network devices will be equipped with Software Development kits and open APIs to implement brand new network applications.
Hardware-centric network problems
For network engineers of their generation, routers or switches are devices with custom chips and software. However, the situation is not static. In 1980s, the router only had two or more network interfaces between the packet forwarding server. Custom ASIC comes from the increase in network capacity and complexity. In this case, the router becomes a unique special device.
During this period, we may ignore the hardware-centric network problem: slow innovation. Writing software to a chip increases the production cycle and reduces the features of system integration. Worse, hardware cannot be easily modified once the installation is complete. The use of firmware can only mitigate this problem a little. In fact, the underlying selection cannot be completely changed. Hardware is a fixed, inflexible, but fast method.
Scalable multi-core processors and virtualization can lead to a revolution in computing servers, but so far they have little impact on network devices. However, with the advent of network processor products, such changes will increase.
Why do we need to use software-defined networks now?
The software is extremely flexible, but the speed is slower than the hardware. Multi-core processing further reduces the performance gap. Moreover, since 1980s, the performance of the software has improved. New development methods, virtualization, and open standards improve software modularization and flexibility, and reduce development difficulty. More and more software is available to developers around the world. Hardware manufacturing plants require a lot of resources and expenses, and some of the best software development environments can even run on laptops, and are free to issue, such as Eclipse ). For developers and suppliers, a software-centric network will create a brand new development method to reduce resource consumption and accelerate innovation.
What does this mean for network professionals? From the perspective of end users, what is a software-centric network? In many ways, these devices themselves are the same: 19 inch in width, rack mounting, front with many ports, and many fans installed in the back. However, there may be significant differences in user experience.
The Software Defined network development process will go through three phases:
Innovation: first, for suppliers, the main advantage of a software-defined network is the speed at which competition creates and launches the market. The more flexible the development method and the more common the hardware, the faster the production time, the faster the release time, And the simpler the upgrade.
Customization: network administrators first experience the advantages of a software-centric network in terms of customization. Software-based network devices are more easily controlled by scripts and support more protocols and standards. They can dynamically load new features and are easier to integrate with other systems.
Application: the third stage of the software-centric network, that is, when software protocols are open to third-party developers and the number of applications increases. Network devices will contain Software Development kits or open APIs and documentation. Then the developer community gradually integrates with the emerging network "application" industry standards. Then, an open-source method will soon be available to small applications that match key applications, as well as scripts and development that will "attract" end users.
As innovation expands from a small hardware team to more programmers, administrators, and senior users, the software-centric network at the edge of innovation develops along with the hardware-centric network. Now, many users do not know who made the phone they use; they only know that the phone is running Android or iOS, and many other applications. In the near future, network-Supported Applications may appear.
Edit recommendations]