微信扫描二维码咨询
可编程技术在网络芯片上的应用
这表明网络芯片进入已经进入可编程时代,这将增强网络部分的灵活性,更好地满足未来业务发展的需要。这种可编程能力和软件定义的SDN有一些不同。
可编程能力是指通过基于脚本的编程灵活实现各种网络协议功能。SDN是通过控制器向网络设备发送转发流表,实现流量转发。
流程表的实现只是网络设备功能的一部分。网络设备还具有丰富的网络功能,如ACL过滤、路由策略、修改报文内容、队列调度等。
这些不能通过SDN实现,但可以通过可编程技术很好地实现。将来,如果某个网络功能无法满足,并且是芯片限制,则必须考虑该声明的真实性。
芯片的可编程能力极大地扩展了网络处理的灵活性,并且可以应用于各种复杂的网络场景,即使有很少的限制。
可编程技术广泛应用于各行各业,在网络世界也非常普遍。通过这种技术在芯片上实现的每个硬件单元不是固定的,可以由用户在使用中选择,
即通过计算机指令选择不同的通道和不同的电路功能,这被称为编程控制,从而为用户提供了很大的灵活性。例如,处理器、可编程门阵列、
可编程逻辑器件和数字信号处理器都是可编程芯片。其中,处理器是一个大的类别,包括各种数字的单片机、计算机的中央处理器、
ARM的一系列手机芯片和复合芯片,如一些具有单片机无线功能的芯片,如以单片机为核心的蓝牙芯片。一些简单的可编程芯片,如时钟芯片,
可以在某个特定的时间点设置引脚的电平,或者在华氏度输出数字温度芯片的输出温度格式。这些芯片广泛用于网络设备。
网络设备的中央处理器可以实现各种复杂的网络协议处理。FPGA可以大规模扩展转发表项,以满足高规格网络环境的使用。
网络设备可以通过这些可编程芯片实现许多特殊网络流量的转发。
网络设备的硬件一般由中央处理器、存储器、闪存、转发芯片、现场可编程门阵列、EEPROM等芯片组成。这些芯片大多是可编程芯片。
有人注意到转发芯片大多不是可编程芯片吗?路由器中使用的网络处理器和交换机中使用的交换芯片都不是可编程芯片。
这些芯片的硬件转发逻辑已经设计好,不能通过调整软件参数来改变。软件设置只允许这些功能模块运行,但是它们永远不能调整它们的处理顺序,
并且软件设置的范围是预先确定的。例如,我们需要在交换机的入站方向实施报文滤波,因此我们需要在转发芯片的入站方向发布一些ACL滤波规则。
在一些商业转发芯片上,这些ACL过滤规则是在转发模块之后固定发布的。如果进入芯片在第3层转发流量,
此时发布的ACL过滤规则与第3层转发后的报文匹配。此时,报文MAC已经被替换,并且所发布的ACL规则在转发后只能匹配报文特征,
这是不可编程实现的限制。报文进入转发芯片由几十个功能模块处理,从输入端口检查到查找转发条目,然后到输出端口。有人修改报文,的优先级,
有人修改报文,的VLAN标签,还有人做队列调度。有一些路由策略等等。这些功能模块都按照固定的顺序处理报文,这是相对不灵活的,
并且经常遇到许多实现约束。如果能实现网络芯片的可编程性,这些问题就能很好地解决。