Introduction to SDN

With the continuous development of communication technology, SDN has gradually become the focus of the entire industry. Many people believe that SDN technology will bring an epoch-making change to traditional networks.
So
what is SDN, and how should we understand and learn SDN?
Why do we need SDN?
What are the implementation methods of SDN?
What is the future development direction of SDN?
With these questions, let us walk into SDN together. . . . . .
1. What is SDN?
SDN stands for Software-Defined Networking. It is a new type of network architecture and an implementation method of network virtualization. The essential definition of SDN is Software-Defined Networking, which means that it is hoped that application software can participate in the network Control and management to meet upper-layer business needs and simplify network operation and maintenance through automated service deployment. This is the core demand of SDN. In order to meet this core demand, it is difficult to achieve without separating control and forwarding, or at least it is inflexible. In other words, the separation of control and forwarding is only a means to meet the core demands of SDN. If there are other means that can be satisfied in certain scenarios, that is also possible, such as the separation of management and control.
SDN believes that the complexity of the network should not be increased without limit. It is necessary to abstract the network to shield the underlying complexity and provide simple and efficient configuration and management for the upper layer. Its purpose is to achieve flexible control of network traffic and make the network as a pipeline more intelligent.
Regarding the origin of SDN, it can be compared to the rise of virtualization technology. With server virtualization, you don’t have to pay attention to where your computing/storage entities are, and IT integration and resource utilization improvements become possible; Similarly, with SDN, you don't have to pay attention to what kind of black box is forwarding traffic. You only need to tell the SDN controller what kind of network service I need.
2. Why do we need SDN?
With the development of the Internet, Internet users are constantly increasing, and many new networks are constantly emerging on the Internet. These will inevitably bring about the problem of overburdening the existing network, so it is urgent to reform the existing network. Challenges faced by existing networks:
Internet traffic is growing rapidly, and it is difficult for the network to adapt to the future demand for massive information transmission. The
traditional network structure is inflexible and cannot be flexibly changed according to demand. It cannot adapt to the needs of new services that are constantly emerging. It is difficult to guarantee service quality and lose industrial value. The chain is unsustainable.
The problem of sustainable network development is becoming increasingly serious, and problems such as network security and uncontrollable and unmanageable networks are prominent.
Network service providers need to reduce network management complexity and network equipment costs to meet new demands for network features such as cloud computing technology and big data technology.
Operators shorten the interview cycle for new network functions and reduce network management costs.
To sum up, the main reason why SDN was born is that with the development of Internet technology, various application systems such as cloud computing, virtualization, mobile Internet, etc. have put forward more requirements for existing networks, such as being more flexible, faster, and safer. , more intelligent, and in order to meet these needs, it is not feasible to use traditional equipment superposition. In this context, the concept of SDN is proposed. SDN relies on the three concepts of transfer control separation, centralized control, and open programmability. Magic weapon to disrupt the web.
Insert image description here
SDN network application layer: implements corresponding network function applications. These applications configure, manage, and control network data plane devices by calling the northbound interface of the SDN controller.

Northbound interface: It is an open interface between the SDN controller and network applications. It abstracts data plane resources and status information into a unified open programming interface.

SDN controller: It is the brain of SDN. The controller must not only provide different levels of programmability capabilities for upper-layer network applications through the northbound interface, but also uniformly configure, manage and control the SDN data plane through the southbound interface.

Southbound interface: It is an open interface between the SDN controller and the data plane. The SDN controller programmatically controls the data plane through the southbound interface to implement network behaviors such as forwarding of the data plane.

SDN data plane: includes software-based and hardware-based data plane devices. The data plane device receives instructions from the controller through the southbound interface and completes specific network data processing according to these instructions. At the same time, the SDN data plane device can also feed back network configuration and runtime status information to the controller through the southbound interface.
3. What are the implementation methods of SDN?
1. Solution based on open protocol:
The open protocol solution creates an ideal network architecture based on the SDN concept, which effectively separates the control layer and forwarding layer. It is a solution launched by network users to get rid of vendor lock-in, so this solution is the most revolutionary. Currently, the main solutions implemented include ONF SDN and ETSI NFV. Representative companies include Dell, Huawei, Brocade, NICIRA, etc.
2. Solution based on overlay network
The technology based on overlay network creates a virtual network based on the original network to isolate the complexity and difference of the underlying equipment, thereby realizing network resource pooling. Logically separate network resources and use a multi-tenant model to manage the network to better meet the needs of emerging businesses such as cloud computing. Currently, the main solutions implemented include VXLAN, NVGRE, NVP, etc. Representative companies include Vmvare, Microsoft, etc.
3. Solution based on dedicated interface
This solution realizes the transfer of control by adding a dedicated API to the network device. Administrators can uniformly configure and manage the network through the API, and users can develop network applications through the API. The current typical implementation solution is Cisco's ONE architecture.
4. What is the future development direction of SDN?
The changes SDN has brought to the network are huge, especially the separation of control and transfer, which has almost changed the operating rules of traditional networks for decades, and also changed people's original thinking in using and operating networks. Accepting SDN and understanding SDN requires a process, so SDN technology has been in the process of continuous incubation in the past few years. There were few SDN data center networks that were implemented. Until 2016, SDN was implemented in large numbers, especially in some Internet data centers. They have been deployed in the network one after another, setting off a craze for building SDN networks.
In the past two years, the strategic introduction of SDN on the network has become a must for data centers. Just like cloud computing a few years ago, it was embarrassing not to talk about cloud, and it was all out. Deploying SDN has also become a must for data center construction. However, in the past six months, this situation has changed. Some data centers have begun to abandon SDN, or only try to deploy SDN in a small part of the network. It exists as an experimental network technology. The reasons for this situation:
First, the SDN technology itself is not mature enough. Although there are ready-made standards, the implementation details of each manufacturer are different, resulting in various problems in the connection between controllers of different manufacturers and network equipment of different manufacturers. For this reason, the data center can only choose controllers and hardware equipment from the same manufacturer. In this way, the data center network is bound to one network manufacturer. The risk is too great, especially the bargaining power. Obviously the data center does not want to do this and promote SDN deployment. The willingness is not strong enough;
secondly, SDN technology requires new network equipment to support it. There are many network equipments in the data center, and there is a process of gradual elimination, which will take at least several years. Such a network environment does not have the basis for deploying SDN. Compared with After all, there are only a few existing networks and newly built networks. Equipment that supports SDN is naturally more expensive than traditional network equipment, and the investment cost is higher. This is contrary to the purpose of SDN technology. The third is small data center networks
. After deployment is completed, there are relatively few opportunities for expansion and change, and manual operations are not complicated. The introduction of SDN is overkill and does not bring real benefits to the data center. Even for those large data center networks, expanding the capacity of a few network devices will A skilled network engineer can complete it quickly, and it is not much slower than the SDN method. Although SDN is automatically deployed, it is not easy to troubleshoot problems. Underlay and Overlay network levels must be checked, and the complexity of network problems increases. .
Fourth, once something goes wrong with SDN, it often affects the overall situation, and the entire network may be paralyzed. This is much more powerful than traditional networks. SDN is fine if there is no problem, but once something goes wrong, it may be catastrophic to the data center. In SDN technology When the maturity level is not yet high, many data centers do not want to be used as guinea pigs and try it first. There are also various other reasons. This makes the SDN construction boom that was originally launched slowly cool down and is in the Try to wait and see.
From the perspective of SDN network manufacturers, SDN technology has always been a new technology that is sold in conjunction with traditional network hardware equipment. Not many data centers purchase SDN software separately. Network manufacturers promote network equipment by providing SDN solutions. sales, in order to increase the selling price of equipment. The real purpose is to use SDN technology to continue to sell hardware and make money through hardware. SDN software is a value-added service. When SDN has not yet been widely recognized, especially now there is a lot of pessimism, it is even more difficult to charge for SDN as a separate software technology. However, various manufacturers have invested a lot in SDN technology research, especially in the design and implementation of SDN controllers. They have invested a lot of manpower and material resources, and will continue to increase investment in the future. Faced with the cold reception in the market, I am also trying to figure out how to overcome it, hoping to get through it. SDN technology itself is advanced and is also the trend of future network development. However, if it is not fully practiced and recognized by the data center, it may eventually face the danger of being eliminated. I think back then, cluster technology was so popular, and STP and VRRP technologies were so classic, they were slowly phased out and became history. As long as they don’t meet the needs of business development, no matter how good the technology is, it may be eliminated. "Practice is the only criterion for testing truth." Only when it withstands the test of practice can this technology be qualified and be popularized and widely used. In the past twelve years, SDN technology has gone through several stages: questioning, acceptance, enthusiasm, and doubt. Whether it can be widely recognized and used in the future remains to be tested in practice.
The future development of SDN must first have a process of functional improvement and standardization. The development of any new thing has a perfection process, and the same is true for the development process of SDN technology, whether it is Openflow technology that has become a standard (the perfection of this standard still has a long way to go); and there is no unified standard yet Controllers now only see a few standardizations such as north-south interfaces that communicate with openflow switches using the openflow protocol through the openflow secure channel, but can controllers from different vendors or publishers communicate with each other? What are the standards between them (or do they need to communicate? Can this be said to be east-west traffic between controllers)? There are many other SDN-related products such as OVS that also require a lot of development and improvement. In order for SDN to develop well, it must be perfected first.
The future development of SDN requires continuous exploration of new scenarios for SDN applications; finding the place where SDN can be used will bring technological driving force to the development of SDN, and bring economic benefits to users by solving practical problems, which will inevitably promote SDN related technologies. development to a new stage.
However, the future development of SDN is by no means SDN for the sake of SDN; the purpose is to apply SDN technology to problems that cannot be solved or solved poorly by traditional methods but that SDN can solve well.

one. What is SDN?

SDN literally means software-defined network. It attempts to get rid of the limitations of hardware on network architecture, so that the network can be modified like upgrading and installing software, so that more APPs (applications) can be quickly deployed on the network.

If the existing network is regarded as a mobile phone, then the goal of SDN is to create an Android system in the network world that can be installed and upgraded on the mobile phone, and at the same time, more and more powerful mobile APPs can be installed.

Over the past 30 years, IP networks have been fully distributed and have made outstanding achievements in solving various customer needs. Today's SDN is to realize user needs better and faster in the future. It’s not that there are requirements that cannot be met through traditional methods, it’s just that SDN can do it faster, better, and simpler.

The essence of SDN is network softwareization, which improves network programmability. It is a reconstruction of the network architecture, rather than a new feature or function. SDN will realize various functions and features better, faster and simpler than the original network architecture.

two. What problem does SDN solve?

IP networks are highly survivable due to their distributed architecture. Looking at the history of IP, the U.S. military hoped that after suffering a nuclear attack, the entire network could recover autonomously. In this way, centralized control of the network could not be allowed, and there could not be a central node. Otherwise, if a nuclear bomb was dropped at this central node, the entire network would be destroyed. Bye. But it is this fully distributed architecture that leads to many problems:

Look at how complicated IP network management is now. Let’s take an example of an operator deploying VPN: MPLS, BFD, IGP, BGP, VPNV4 need to be configured, interfaces need to be bound... and they need to be configured on each PE; when a new PE is added When doing this, you still need to go back and modify each PE involved.

Nowadays, network equipment from various manufacturers are too complicated. If you are ready to become a know-it-all about a certain manufacturer's equipment, you need to master more than 10,000 command lines, and the number is still increasing. If you are ready to become a hardcore IP expert, you need to read RFC 2500 articles related to network equipment. If you read one article a day, do you know how long it will take to finish reading? Over 6 years! And this is only 1/3 of the entire RFC, and the number is still growing.

In addition, these protocol standards are all solving various control plane requirements, and these requirements require requirements, definition of standards, interoperability testing, and existing network equipment upgrades to complete deployment, which generally takes 3 to 5 years to complete. Complete deployment. Such a speed can no longer hold the various rapid network adjustment needs of OTTs operating services on the network, so we must find ways to solve this problem. Fortunately, we have now found a solution to the above problem. That’s right, it’s SDN! It is currently the best way to systematically solve the above problems.

three. SDN overview

SDN (Software Defined Network) software defined network.

In 2006, a team headed by Stanford University professor Nike Mckewn proposed the concept of OpenFlow and realized the programmability of the network based on OpenFlow technology (OpenFlow is just a protocol to implement SDN). The network is as flexible as software programming, and SDN technology came into being. born.

Definition of SDN

The definition of SDN is its literal meaning, separation of control and forwarding, separation of management and control is only a means to meet SDN, and OpenFlow is only a protocol to meet SDN.

Classification of SDN

The difference in SDN classification lies in whether it achieves separation of control and forwarding, or separation of management and control.

SDN classification: Separation of control and forwarding (super-broad sense) Separation of management and control (broad sense)

Three main characteristics of SDN:

Separation of forwarding and control: The control plane of the network element is on the controller, which is responsible for protocol calculation and flow table generation; while the forwarding plane is only on the network device.

Centralized control: Device network elements centrally manage and deliver flow tables through the controller, so there is no need to operate the devices one by one, and only need to configure the controller.

Open interface: Third-party applications only need to define a new network function programmatically through the open interface provided by the controller, and then run it on the controller.

The SDN controller is neither a network manager nor a planning tool: The network management does not realize the separation of transfer and control: the network manager is only responsible for managing network topology, monitoring device alarms and performance, and issuing configuration scripts. However, these still require the control plane of the device to be responsible for generating transfers. Posted items.

The purpose of the planning tool is different from that of the controller: the planning tool is to deliver some planning entries. These entries are not used for router forwarding, but are parameters that serve the network element control plane, such as IP addresses, VLANs, etc. The table entries issued by the controller are flow tables, which are used by forwarders to forward data packets.

Guess you like

Origin blog.csdn.net/weixin_43214644/article/details/132875623