[发明专利]可编程路由交换设备在线调试装置及方法在审
申请号: | 201711287758.8 | 申请日: | 2017-12-07 |
公开(公告)号: | CN107911264A | 公开(公告)日: | 2018-04-13 |
发明(设计)人: | 毕军;周禹;张程;喻明理 | 申请(专利权)人: | 清华大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/06 |
代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 王莹,李相雨 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 可编程 路由 交换 设备 在线 调试 装置 方法 | ||
技术领域
本发明涉及互联网技术领域,特别涉及一种可编程路由交换设备在线调试装置及方法。
背景技术
协议无关的数据包处理器(Protocol-independent Packet Processor,P4)语言是一种专门用于编写可编程路由交换设备程序的领域特定语言,使程序员能够灵活地定义可编程网络设备的数据包处理行为,并根据策略需求在高性能硬件转发设备快速地实现指定的功能。目前,学术界和工业界的实践已证明,多种网络功能,包括负载均衡、网络地址转换,网络攻击检测防御等,都可以用P4语言在高性能可编程设备上实现。而在传统网络中,这些网络功能往往是由专用硬件平台或软件平台所实现。而利用P4在可编程网络设备上实现这些网络功能,一方面提供了较高的灵活性和可编程性,使程序员能够像软件平台一样定制满足特定场景需求的网络功能;另一方面,可编程网络设备拥有能与专用网络功能设备相媲美的性能优势。因此,利用可编程路由交换设备实现网络功能兼顾了灵活性和性能,已经成为了一种重要发展趋势,具备不可忽视的社会经济效益。
P4语言为程序员提供了多种可编程元素:
(1)数据包解析器(Parser)使程序员能够定制任意的数据包的协议格式和解析逻辑;
(2)匹配动作表(Match-action Table,MAT)使程序员可以灵活地设置匹配动作表的匹配域和每个匹配域对应的匹配类型,以及利用P4语言提供的动作原语构造复合动作;
(3)可编程控制流(Control Flow)使编程者通过简单的控制逻辑在可编程网络设备的流水线(Pipeline)中定义各个匹配动作表执行关系。除此之外,P4语言也提供了寄存器(Register),计数器(Counter)等元素实现更复杂的数据包处理逻辑。通过P4语言提供的上述可编程元素,程序员可以根据网络的特定需求灵活地定制可编程网络设备的数据包处理行为,提升网络的安全性和整体性能。
随着由P4所实现的网络功能越来复杂,P4程序不可避免地存在漏洞。但是由于可编程路由交换设备的封闭性,很多内部状态对程序员是不可见的,造成了运行在可编程路由交换设备的P4程序难以调试的问题;其次相比于C/C++等通用编程语言,领域特定语言P4抽象层次较高,不能给程序员提供有效的调试手段和工具,进一步增加了P4程序的调试难度;并且随着越来越多的网络功能由P4语言实现,P4程序的规模和复杂性逐渐增长,这进一步增加了P4程序在实际网络环境的调试难度。目前尚未有可应用于P4语言以及可编程网络设备的完善的调试工具,程序员只能手工寻找P4程序中存在的漏洞,但这需要程序员投入大量的精力和时间。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何方便地调试P4程序。
(二)技术方案
为解决上述技术问题,本发明提供了一种可编程路由交换设备在线调试装置,包括:调试接口管理器、检测点管理器、可编程设备管理器和调试消息管理器;
调试接口管理器负责接收来上层调试应用的指令;
检测点管理器用于监听来自调试接口管理器的命令,若有检测点的相关指令,则执行相关的指令;
可编程设备管理器用于接收来自调试接口管理器的设备管理相关的指令,以管理被调试的网络设备;
调试消息管理器用于接收来自数据平面检测点的调试消息,并将调试消息通过调试接口管理器汇报给应用层的高级调试应用,所述数据平面检测点用于将可编程元素运行时的状态作为所述调试消息上传。
其中,所述数据平面检测点包括:
Watch检测点,用于上传MAT的数据表项和该检测点的标识符;
Break检测点,用于在指定流程触发时,向调试平台展示数据平面的状态;
Predication检测点,用于展示在预测表达式中引用的可编程元件,若原始的MAT没有任何预测表达式,则预测步骤将不会执行任何操作,只将流程传递给匹配步骤;
Match检测点,用于展示匹配步骤中指定流的匹配字段和值;
Action检测点,用于展示在执行步骤中已采取的动作和参数。
还公开了一种利用上述可编程路由交换设备在线调试装置的调试方法,包括步骤:
S1:所述检测点管理器将P4程序源代码加载到可编程路由交换设备上进行调试,并返回调试实例;
S2:所述检测点管理器在调试实例中利用watch原语向异常流量路径插入watch检测点,以显示指定流的在整个网络级视图中的转发路径;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711287758.8/2.html,转载请声明来源钻瓜专利网。