一、P4与SDN的联络
SDN是网络的未来,P4是SDN的未来,根据openflow的传统SDN专心于可编程的操控平面,数据平面依然是由固定功用的ASIC组成,也就是说openflow的完结依然需求配套的芯片支撑,openflow是与方针硬件相关的。而P4专心于可编程的数据平面,能够自定义芯片关于数据包的处理方法,增加自己的新功用,新协议,或许对原有协议栈进行优化,更合理的分配片上资源。openflow运用匹配域可笼统整个TCP/IP协议栈的绝大部分功用,而P4能够完好描绘openflow的功用。
二、可编程数据平面programmable data-plane(PDP)的主要特点:
1、快速开发和验证新协议
为了支撑网络的快速演进,标准化安排不断推出新的封装和传输协议,GENEVE,NSH,VXLAN,GEP等等都是最近推出的,与此同时,数据中心也现已开端推出自己的协议用来阻隔各个租户,使其事务相互不受影响。每一种自定义的协议都有其共同的优势,根据在大型网络中多年的运转经历。
2、移除一些无用的协议,简化和精简网络
网络世界里有数百种协议,可是一个数据中心网络中往往只需求三到四种,问题在于,不同的数据中心会运用不同的协议组合,因而固定功用的交流机会内置这些协议组合的超集,导致一些宝贵的交流机资源被用到了一些不需求的协议上。比方咱们能够削减L2转宣布的巨细然后重新分配内存空间到L3路由表。在tofino中,咱们能够将L3 IP路由表从 300k增加到1.2M 支撑更大的网络和地址空间。移除不必的协议也意味着削减犯错的机遇,网络因为底子不必可是却写入到交流机ASIC中的协议过错而引起的中止。因为并不运用这些协议,所以很难做出判别来debug,运用P4 你只需求增加那些你需求的协议,专心于那些你所需求的表项,简化交流机结构,削减犯错的机遇。
3、INT完结整个网络的彻底可视化,可追溯每一个数据包的转发进程
网络监控是可编程网络的一个典型运用,首要咱们能够在几个小时内增加更好的监控特性,而不是需求批改整个转发逻辑而耗费好几年时刻,其次,没有什么设备厂家比网络运维人员更清楚究竟需求监控哪些方针,运用PDP 运维人员能够快速地增加强壮的监控,剖析和确诊特性,运用INT,举个比方运维人员能够具体决议什么信息他想获取,比方 数据包通过每一个交流机的准确延时,或许行列中其他数据包, 以及软件的版别,每个包所匹配的表项,因而每个数据包都能够成为一个勘探包,不会发生任何新的流量,如此前所未有的可视化才能。根本完结现已可用的INT.p4,这个程序现已能够完结彻底的自动化数据收集和批改,可作为self-driven网络的一部分。
4、将middlebox的功用集成到PDP上
许多网络运营商只是运用了middlebox中的很少部分功用,现在他们能够直接将需求的功用编程到交流机上, 筛选掉很多贵重的middlebox。现已有成功运用barefoot tofino交流机完结middlebox功用进行实践布置的事例,本钱方面取得了明显的下降,在大部分情况下,他们的功用比之前更强,因为他们运转在tofino上完结了全线速转发,而不是传统CPU,在一个场景中,L4负载均衡被集成到tofino交流机上,坚持十万台服务器的数千万个衔接。 DIP池能够调整巨细,而无需中止此刻的衔接,一切这些只需几百行P4代码,相似的办法能够集成其他middlebox比方防火墙,侵略检测体系,地址端口转换器,流量重复数据删去等,咱们正走在将middlebox合并到交流机中的革新之路上。
5、将部分散布式运用程序直接布置在网络上
一个大型数据中心里运转着很多的散布式运用,而且也有数千台交流机的规划,交流机是否具有加快散布式运用,卸载服务器load的才能呢?最近研究者们证明了怎么运用paxos一致性协议能够增加到网络中通过运用P4完结其间的一小部分,并增加到交流机中,如此一来能够对散布式运用能够加快几个数量级,其余部分能够构建新的键-值办理服务直接布置到数据平面上,咱们能够参加许多新式的快速的in-network运用和服务,来自在免费无缝集成到网络中。
这只是只是一个开端,冰山一角,用户能够运用这项技能完结更多的功用,咱们的方针是将差异化的办法交到用户手中,他们能够对他们最了解的网络做出立异,PDP敞开了网络用户自主权的革新,使得研究者,敞开网络社区能够自己演进。
总而言之barefoot初次将功用和可编程才能完美结合在一起,P4-enabled Tofino以及SDK的组合是革新性的,真实的可编程交流机和业界最强的功用。当高功用和可编程才能的优势逐步遍及开来后,咱们信任一个经常被疏忽的影响将会成为一个巨大的影响力,高功用和可编程才能改变了网络的一切者关于整个网络的洞察力,在曩昔,网络的可视化是芯片公司或许体系设备公司的范畴,他们能够以此进步价格获取赢利。现在,网络的运维人员能够在正在运转事务的网络上增加自己的运用程序来优化其作业状况,而且他们无需与体系或许芯片公司共享这些规划,这种由P4程序取得的关于网络的洞察力将成为其自己的知识产权,他们能够将这些IP移植到其他厂家的可编程交流机上,或许同厂家的不同产品上,乃至购买白盒设备,因而,网络的灵敏性和敞开性得到了进一步的进步。
三、典型运用
1、带内遥测in-band network telemetry (INT)
带内丈量是混合丈量办法的一个比方,在曩昔几年中取得了很大的动力。带内遥测[5]的思维是,途径上的每个节点都在数据平面数据包的报头中包括时刻戳(和或许的其他信息),然后答应细粒度的丈量和拥塞检测。这些办法被称为带内网络遥测(Int)[6]和现场oam(Ioam)[7],它们别离正在p4社区和ietf中评论。
传统网络监控技能比方SNMP 根据通过操控平面向底层网络获取信息的方法,要么束缚性太强要么速度太慢,相似的,比方netflow, sflow,synthetic探针等,并不满足准确来检测因为短时事情或许microbursts 等导致的问题,这或许会形成服务和运用程序的严重事故,短少能够追溯以及能够将相关事情发生联络的metadata和前史信息都简直不或许获取,特别是在规划很大的网络中,最终,Network Packet Broker (NPB)网络数据包署理的预先付出的本钱和TCO或许会适当高。
INT 使得数据平面具有端到端的收集才能,实时地状况信息。在端点上直接嵌入指令信息到数据包中列出网络状况的类型将被直接从网络中被收集起来,每个网元在流经的数据包中刺进被恳求的网络状况信息,一个P4程序能够被用来作为一种天然的方法来表明INT中数据包所需求被解析和批改的包头类型。
收集网络数据的进程现在能够直接在实践流量中完结,给与了能够在虚拟或许物理的端到端网络中实时地发现和收集网络状况的才能,这样翻开了无限或许性来监控你的网络,答应网络运维团队来快速捕获和描绘哪些因为功用瓶颈,网络故障或许装备过错而呈现的问题。
2、PLT(Path-Latency Tracking)途径延时盯梢
收集每个包在每一跳的物理途径和单跳延时,端点将有用的数据导入剖析引擎,INT sink会在事情触发后发生report发送到剖析引擎,比方发现新的衔接,以存在的链接途径发生变化,端到端或许hop by hop延时发生明显变化等,都会反常行为都会被快速发现并溯源。
PLT为什么有用?
1、实时的网络反常检测和发生告警信息;
2、快速查看链路拥塞,确诊哪些运用导致了拥塞;
3、交流机端口拥塞,反常排队延时的呈现;
4、无用的交流机或许链路;
5、链路运用率不均衡(ECMP LAG);
6、网络中呈现环路;
7、交互式剖析;
8、按需途径可视(E2E 或许 src dst TOR对);
9、生成流量矩阵。
PLT的规划
假如每个包都向剖析引擎发送report的话,将会导致发生很多冗余数据,选用智能的反冗余程序让SINK挑选恰到机遇发送report,report以镜像包的方法发到剖析引擎。
剖析引擎规划
可扩展型散布式快速数据处理体系,用于实时处理PLT陈述,发生告警信息并将陈述转存到数据库,根据开源东西集,kafka,spark streaming,cassandra。模块化规划使得用户能够无缝替换组件,是一种低体系开支的规划。
3、in-band DDoS带内防护体系
Barefoot networks公司描绘了一种典型的DDOS检测和削弱的解决计划,这种计划有许多带外的DDOS检测运用来监控流量并将其引流到状况防火墙,在这个计划中,DDOS检测设备因为本钱和规划问题不能监控一切的网络流量,因而运营商有必要设置一些静态的流量镜像规则在边际路由器上,来只是镜像一部分流量,举个比方,假如网络运营商想要维护DNS服务,他们将会镜像那些需求通过DNS的UDP流量到DDOS检测设备。
因而,跟着散布性强且杂乱的进犯行为,基础设施需求要么有才能扩展规划来检测T比特/秒等级的流量和数百万条衔接,要么有必要有才能交流更多的挑选性形式在其间低准确度的监控小规划流量,以便进步检测速度而不引进额定的开支到操控平面,tofino运用程序也能够估量和阈值在数据平面上进行直接比较。在这种情况下 当DDOS检测敞开时数据平面会奉告操控平面(data-plane push)。
带内DDOS检测的优势
1. tofino的运用程序能够确保在面临任何类型的进犯时坚持高可扩展性和线速的功用,而且尽量削减片上资源的耗费;
2. 带内DDOS检测能够用tofino来完结而且确保高精度,和简直可疏忽不计的误判;
3 P4的可编程才能答使用户灵敏地并可定制化DDOS检测方法和进犯削弱行为;
4. 细粒度的计算答使用户快速确认哪个运用和服务正在遭受进犯;
5 当与其他DDOS解决计划,比方 netflow 进行比较时,根据tofino的计划在检测DDOS进犯时具有多个数量级的速度优势(几十毫秒 vs 几十秒)。