概率网络Kleene代数(ProbNetKAT):网络编程新视角
1. 引言
在网络编程领域,对网络行为进行精确的指定和验证至关重要。概率网络Kleene代数(ProbNetKAT)应运而生,它是首个基于语言的框架,用于指定和验证概率网络行为。本文将深入介绍ProbNetKAT的设计、语义、应用以及面临的挑战。
2. 概述
2.1 预备知识
- 数据包 :数据包π是一个记录,包含从x1到xk的字段,这些字段涵盖标准头部字段(如以太网和IP地址、TCP端口等)以及指示其网络位置的特殊交换机和端口字段,可表示为{ x1 = n1, …, xk = nk }。我们用π(x)表示π的x字段的值,用π[n/x]表示将π的x字段设置为n后得到的数据包,通常将交换机字段缩写为sw。
- 数据包历史 :数据包历史σ是一个非空的数据包序列π1 :π2 : · · · :πm,按从新到旧的顺序列出。在操作上,网络中仅存在头部数据包π1,但在语义上,我们会跟踪数据包的历史,以便精确指定沿特定路径的转发。我们用π:η表示头部为π且尾部(可能为空)为η的历史,用H表示所有历史的集合。
2.2 示例
考虑一个由六个交换机组成的“杠铃”拓扑网络,网络运营商希望配置交换机,使流量在从I1到E1和I2到E2的两条从左到右的路径上转发。在ProbNetKAT中可以这样实现:
p ≜(sw = I1; dup; sw ←C1; dup; sw
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



