SDN switch Implementation Technology

Source: Internet
Author: User

For switches in an SDN network, the above exchange functions can be implemented using software or hardware based on the needs of the Use scenario. Software-implemented SDN switches are usually integrated with virtualized Hypervisor to support multi-tenant flexible networking and other services in cloud computing scenarios. The hardware-implemented switch can support networking Based on hardware devices and meet the hybrid networking requirements of SDN and traditional networks.

For software and hardware, refer to traditional network forwarding devices, in specific design and implementation, SDN switches also need to make reasonable choices for switching mode, Backplane Design, buffering mechanism, data forwarding, and other technologies.

1. Switch Mode

The data exchange mode of an SDN switch determines the speed of data packet forwarding and the delay caused by the switching process (that is, the time difference between the time when the switch receives the data packet on one port and the time when it sends the data packet on another port). In practical applications, packet forwarding requires as low as possible forwarding latency to improve data transmission performance, and checks data packets during the forwarding process to ensure the reliability of information transmission.

Like traditional network switching devices, the data exchange mode of SDN switches can also have multiple options, such as pass-through, fragmentation, and storage forwarding. The following describes and analyzes various modes.

Cut-Through: the switch only receives and analyzes the information of the first six bytes of the data frame (the Special Name of the data packet in the L2 network, and Cut the rest of the data frame directly to the output port. This is because the first six bytes of the data frame contain the destination MAC address of the data frame, which is sufficient for the switch to make forwarding decisions. The pass-through mode has minimal forwarding latency, but does not check data integrity. Therefore, it may forward "bad packets" that can cause Ethernet conflicts, resulting in network reliability problems.

Fragment-Free: The switch receives and parses the first 64 bytes of the data frame before forwarding. The reason for choosing a 64-byte length is that in the Ethernet, most "bad packets" can be detected during the processing of these bytes. This mode may cause a very small number of "bad packets" missed checks, but it has little impact on the overall performance of the network, therefore, it is also called Fast-forward in many application scenarios )".

Store-and-Forward: the switch needs to receive and parse the content of the entire data frame and perform operations such as data frame integrity check to effectively avoid errors. Although this mode increases forwarding latency, considering that the current processor or ASIC has sufficient performance, in the design and implementation of SDN switches, we recommend that you use this mode for data exchange.

2. Backboard Design

In an SDN switch, packets received from the device's inbound port are sent to the device's outbound port through the backplane. The backplane of A vswitch is a communication channel that transmits data frames inside the vswitch. It carries forwarding decision information and relay management information. Based on the traditional network switching equipment, the Backplane Design of SDN switches mainly includes two modes: shared bus mechanism and cross-switch matrix mechanism. The corresponding introduction and analysis are as follows.

Shared Bus: all inbound and outbound ports of a vswitch share the same data path, A centralized arbitration device is responsible for determining the way in which the access to the bus is granted to the vswitch port. Based on different switch configurations, the quorum can use a variety of methods to ensure the fairness of bus access. In the data frame transmission process of the shared bus, after receiving the data frame, the inbound port of the switch device initiates an access request to the bus, and wait for the request to be approved by the arbitration to send the data frame to the data bus. The data frame will be received by all ports attached to the bus, and the switch will decide which outbound port should be transmitted. After receiving the decision from the switch, the outgoing port of the device responsible for forwarding will continue to transmit the data frame, while other ports will discard the data frame. The exchange mechanism of the shared bus allows all the ports attached to the bus, except the device ports of the switch, to automatically obtain copies of data frames without additional replication operations, this makes it easier to implement multicast and broadcast. However, the speed of the shared bus will have a great impact on the traffic of the entire switch, mainly because the bus is shared, so the ports must wait until they use the bus.

The Crossbar mechanism can also be referred to as the "horizontal and horizontal Switching Matrix". Its basic idea is to support multiple data paths that can be used at the same time between switch ports. It breaks through the bandwidth limit in the shared bus mechanism. There is no bandwidth bottleneck in the switching network and it will not be blocked because of insufficient bandwidth resources. Therefore, when designing and implementing SDN switches, the cross-switch matrix can be introduced to improve data exchange efficiency.

3. BUFFER MECHANISM

If an SDN switch adopts a shared bus-based Backplane Design, the data frame must wait for the arbitration server to decide in sequence until the corresponding ports can access the bus; even if the Backplane Design Based on the Cross-switch matrix is adopted, data frames may be delayed due to network congestion. Therefore, the data frame must be buffered by the SDN switch until it is sent. If an SDN switch does not have a reasonable buffer mechanism, data frames may be discarded whenever traffic exceeds the threshold or network congestion occurs.

The buffer mechanism of sdn switches is used to solve the problem that packets cannot be forwarded by the device's outgoing ports in a timely manner, the reason for this problem mainly includes the mismatch between the device inbound port and the device outbound port rate of the switch, the data sent from multiple device inbound ports to the same device outbound port, and the work of the device outbound port in half duplex mode. status. To prevent data packets from being discarded due to the above situation, two common buffering mechanisms are available for SDN switches.

Port Buffer: provides a certain amount of high-speed memory for the Ethernet port on each switch to buffer the arrival and forwarding of data frames. The main problem with this method is that when the port buffer is used up, the data frames received in the future will be discarded, and the flexible adjustment of the buffer size will help ease this problem.

Shared Memory: Provides shared memory space accessible to all ports for port buffering. This method saves all received data frames in the shared memory pool until the device is ready to forward them to the network. In this way, the vswitch can dynamically allocate shared memory and set the buffer size based on the port traffic.

4. Data Forwarding

Whether it is a hardware or software-implemented SDN switch, the switch must make forwarding decisions when data frames are transmitted from the device's inbound port to the device's outbound port. In traditional network switching equipment, this decision-making process requires forwarding tables in vswitches and route tables in vrouters, by matching the destination address information of the packet received by the device's inbound port, they can determine the device's outbound port to which the packet should be sent. For SDN switches, such a forwarding decision-making mechanism is also required for devices. Taking the OpenFlow switch as an example, it puts forward the concept of stream table to abstract the traditional L2 forwarding table and L3 route table, so that the decision-making of data packets in the forwarding process is more flexible.

The forwarding table and route table of traditional network devices have standard definitions and relatively simple formats. For example, a L2 Switch forwarding table is a ing between the port and MAC address of a device, therefore, it is very suitable for efficient implementation of static dedicated integrated circuits, and the forwarding table used in forwarding decision-making in SDN switches may have a very complex composition structure. OpenFlow is still used as an example. After OpenFlow v1.2, the length of each table item in the stream table and its matching fields are all customizable rather than fixed formats, although these settings provide high flexibility in the software implementation of the switch, for the corresponding hardware OpenFlow switch, it is no longer suitable for the implementation of the stream table using a pre-defined hardware circuit. To cope with this problem, the hardware SDN switch can consider introducing the TCAM (Ternary Content Addressable Memory, three-state Content addressing Memory) technology to store and query related stream table information.

TCAM is also used in traditional network switching devices, for example, to quickly search for ACLs. Unlike memory devices that only support "0" and "1", each bit in the TCAM memory has a "don't care" status implemented by mask. The third State enables TCAM to support both precise and fuzzy search, and fully meet the storage and query requirements of forwarding decision table items of SDN switches. However, it should be noted that the current TCAM has problems such as high cost and high power consumption, which may become an obstacle affecting the promotion of SDN switches.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.