OpenFlow如何实现和保护软件定义网络?OpenFlow是实现软件定义网络(SDN)的协议。概括地说,SDN是一种新兴的企业网络方法,它将控制平面从网络硬件中解耦出来,由控制器软件来管理网络设备的行为。很多人希望SDN能够实现网络硬件供应商之间更高水平的互操作性。
在本质上,OpenFlow是一种语言,它允许控制器和设备相互“交谈”。当OpenFlow交换机被放置在网络中时,控制器将配合它使用。网络管理员需要配置不同的流量表,来管理网络内的活动。流量表包括“流量”—这是定义预期网络行为的另一种方式。流量可能是TCP连接、特定IP范围内的所有流量,或者网络管理员选择的任何其他类型的网络特征。
当符合既定流量定义的数据包到达OpenFlow交换机时,它们将按照既定的流量表被转发。而当流量表内不符合任何定义的数据包到达交换机时,它们将被转发到控制器做进一步处理——这正是软件定义网络的用武之地。这暗示着网络管理员可以在极其精细的水平配置流量表,从而与某些类型的软件的行为保持一致。网络管理员还可以在“空中”改变流量表,基本上是基于正在运行的应用来路由流量。
在软件和/或协议测试领域,这种发展提供了令人兴奋的可能性,因为这将让研究人员能够在生产环境测试不同的应用,而不会影响实际生产流量。随着该技术逐渐成熟,SDN的概念将可以演变成为有用的安全技术,网络管理员将可以在细节水平来定义哪些应用可以或者不可以穿越不同的网络设备。在未来某天,它可能会成为全新的纵深防御安全层。
也就是说,对于大多数企业来说,OpenFlow和SDN还属于极其新兴的技术,还不够成熟。尽管现在大多数主要网络和IT供应商在某种程度上使用了OpenFlow,行业巨头(例如思科和VMware)正在开发自己的技术,这可能会威胁到OpenFlow的普及。有些人甚至认为,SDN可能带来很大的安全隐患,因为成功攻击SDN控制器的攻击者能够获得对整个网络的控制。无论如何,企业网络安全专业人员应该继续关注OpenFlow技术,因为在未来几年,它可能成为企业网络中有效的新技术。