P4——link_monitor

练习:链路监测

本练习的目的是编写一个P4程序,使主机能够监视网络中所有链路的使用情况。 这个练习建立在基本的IPv4转发练习的基础上,所以在尝试这个练习之前,请确保完成这个练习。 具体地说,我们将修改基本的P4程序来处理源路由探测包,使其能够在每个跳点获取出口链路利用率,并将其交付给主机进行监视。 我们的探测包将包含以下三种报头类型:

// Top-level probe header, indicates how many hops this probe
// packet has traversed so far.
header probe_t {
    bit<8> hop_cnt;
}

// The data added to the probe by each switch at each hop.
header probe_data_t {
    bit<1>    bos;
    bit<7>    swid;
    bit<8>    port;
    bit<32>   byte_cnt;
    time_t    last_time;
    time_t    cur_time;
}

// Indicates the egress port the switch should send this probe
// packet out of. There is one of these headers for each hop.
header probe_fwd_t {
    bit<8>   egress_spec;
}

为了监控链路利用率,我们的交换机将保持
两个寄存器阵列:

  • ’ byte_cnt_reg '—计算从端口发送最后一个探测包以来从每个端口发送的字节数。
  • ’ last_time_reg '—存储探测包最后一次从每个端口发送出去的时间。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值