The network is the transportation hub in the data center, connecting all the devices running the application business. Without the network, there will be no data center. Today, without the Internet, the network plays a very important role in the data center. Therefore, network technology has been a hot spot in the continuous development and evolution, including programmable technology. Programmable technology is widely used in all walks of life, and it is also very common in the network world. This technology is implemented on the chip, each hardware unit is not fixed, and can be selected by the user in use, that is, through computer instructions to select different channels and different circuit functions, which is called programming control, which provides users with great flexibility. For example: processor, FPGA, CPLD, DSP, these four are programmable chips.
Among them, the processor is a large category, including a variety of single-chip microcomputer, computer CPU, and a series of mobile phone chips of arm, as well as composite chips, such as some chips with single-chip microcomputer + wireless function, such as Bluetooth chip with single-chip microcomputer core. Some simple programmable chips, such as the clock chip, you can set the level of a pin when it reaches a specific point in time, or the output temperature format of the digital temperature chip is in Fahrenheit degrees. These chips are widely used in network devices. The CPU processor of network devices can implement various complex network protocol processing, and FPGA can expand the forwarding table to a large scale, Meet the use of high standard network environment, network equipment through these programmable chips, realize a lot of special network traffic forwarding.
The internal hardware of network equipment is generally composed of CPU, memory, flash, forwarding chip, FPGA, EEPROM and other chips. Most of these chips are programmable chips. Has anyone noticed that most forwarding chips are not programmable chips, no matter NP used in routers or switch chip used in switches. The hardware forwarding logic of these chips has been designed, which can’t be changed by adjusting the software parameters. The software settings only allow these functional modules to run, but never adjust their processing order, and the scope of software settings is predetermined in advance. For example, we need to implement packet filtering in the incoming direction on the switch, so we need to issue some ACL filtering rules in the incoming direction of the forwarding chip.
On some commercial forwarding chips, these ACL filtering rules are distributed after the forwarding module. If the three-layer forwarding traffic enters the chip, the distributed ACL filtering rules match the message after the three-layer forwarding. At this time, the MAC of the message has been replaced, and the distributed ACL rules can only match the characteristics of the message after forwarding, This is the limitation of not being programmable.
When a message enters the forwarding chip, it has to be processed by dozens of functional modules, including modifying the priority of the message, modifying the VLAN tag of the message, doing the queue scheduling, and doing the routing strategy, etc. these functional modules process the message in a fixed order, so the flexibility is relatively poor, There are many limitations in implementation, which can be solved by programming network chip.
Of course, the network chip is different from other chips. The chip has to undertake a large amount of data traffic forwarding, which is much larger than the data of CPU, memory and flash devices. This requires that the hardware processing logic of the chip should be as simple as possible, otherwise the forwarding efficiency will become a problem, and delay is an important evaluation index of network equipment, This makes the network chip as simple as possible. Users only need to make a choice, input the parameters into the chip, and the chip can forward the data according to the established data. Therefore, for many years, the forwarding chip can not be programmed, and the network development is also good. With the emergence of cloud computing, big data and virtualization technology, the impact on the network is the biggest. The fixed forwarding mode of the network can not adapt to the application of new technologies in recent years. In front of these new technologies, the network part is dwarfed, and it is time to change.
A company specializing in SDN chips was founded, called barefoot networks. Barefoot networks is engaged in the design and research of open source programmable network chips. The chip Tofino of barefoot networks is a programmable chip, which can achieve up to 6.5 TBPs processing speed. Users or network suppliers can use P4 programming language to customize white box solutions or fixed configuration products, In this way, users can deploy the new protocol within a few weeks without the need for a new version of the chip to support, which has great flexibility. Now a lot of network needs, hear the most is that the chip limit can not be realized, can only change more advanced chip equipment, with programmable chip equipment is different, according to customer needs, through the software to redesign the network equipment can be realized, no need to change the hardware, refresh the software can solve.
Broadcom also released the Trident 3 series of programmable network commercial chips. Although the processing speed is only 3.2tbps half of Tofino’s, Broadcom controls about 90% of the whole network chip market. Its monopoly position determines that Trident 3 chips will be sought after by many users, and network devices have entered the era of programmability. Today’s network equipment is almost the same as the mobile phone industry. After three years of use, it can no longer meet the needs of business development. After five years of use, it has become an antique, which has brought great cost pressure to the data center. The data center should constantly increase equipment procurement and eliminate more old equipment. It is only two or three years old. If the network equipment is programmable, it can be reprogrammed to meet the future needs, and continue to reduce the cost and power consumption of network equipment.
It can be seen that the network chip has entered the era of programmability, which enhances the flexibility of the network part and adapts to the needs of future business development. This kind of programmable ability is different from software defined Sdn. Programmable ability refers to the flexible implementation of various network protocol functions through script based programming. SDN is to send forwarding flow table to network devices through the controller to realize traffic forwarding. Flow table implementation is only a part of network device functions. Network devices also have rich network functions such as ACL filtering and queue scheduling, These can not be achieved through SDN, but can be well achieved through programmable technology. In the future, if a certain network function can not be satisfied, it is said that it is the chip limitation, we should consider the authenticity of this statement. The programmable ability of the chip greatly expands the flexibility of network processing, and can adapt to the application of various complex network scenarios. Even if there are limitations, there will be very few.