【问题标题】:Ryu controller drop packets after fixed number of packets or timeRyu 控制器在固定数量的数据包或时间后丢弃数据包
【发布时间】:2020-03-20 09:23:59
【问题描述】:

在达到某个阈值后,我试图阻止特定用户/会话的 tcp 数据包。 目前我可以编写一个丢弃 tcp 数据包的脚本。

@set_ev_cls(ofp_event.EventOFPSwitchFeatures, CONFIG_DISPATCHER)
    def switch_features_handler(self, ev):
        tcp_match = self.drop_tcp_packets_to_specfic_ip(parser)
        self.add_flow_for_clear(datapath, 2, tcp_match)

    def drop_tcp_packets_to_specfic_ip(self, parser):
        tcp_match = parser.OFPMatch(eth_type=0x0800, ip_proto=6, ipv4_src=conpot_ip)
        return tcp_match

谢谢。

【问题讨论】:

    标签: sdn openflow ryu


    【解决方案1】:

    您需要设置一些规则来匹配数据包流。 之后,您需要创建一个循环来获取有关此规则的统计信息。 最后,您读取每个统计信息并验证数据包的数量。因此,如果数据包数量达到您的阈值,您发送规则以阻止数据包。

    【讨论】:

    • 你能补充一点细节吗,我是 Ryu 控制器的新手。
    • 首先需要了解Opneflow的结构(规则、统计、流表、匹配)。其次,了解Ryu的建筑。 Ryu 的文档非常有帮助:ryu.readthedocs.io/en/latest/ofproto_v1_3_ref.html 创建规则时,可以使用 OFPFlowStatsRequest 函数进行监控。您可以发送此请求,然后,您的控制器将收到规则的统计信息。使用这些统计信息,您可以做出决定,例如丢弃数据包。
    猜你喜欢
    • 2021-10-17
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多