什么数据结构可用于存储防火墙规则?

3
给定一个允许的防火墙规则列表,其中每个规则的格式为:协议、端口范围、IP范围。最佳数据结构是什么,以便我可以有效地决定是否允许数据包通过。对于数据包,我有协议、端口和IP。换句话说,防火墙是如何实现的?AWS中安全组是如何实现的?
注:如果这不是这样的问题的正确论坛,请问我可以在哪里提出这个问题?
1个回答

2
实际的数据结构非常简单,只是一个对象数组,每个对象表示一条规则,并具有三个字段protocol、port-range、ip-range - 我认为,规则类型(拒绝、允许等)也应该包含在内。当你拦截一个请求时,你会得到它的协议等信息,然后迭代列表以查看哪些规则匹配。总体上很基本。然而,“防火墙如何实现?”(详细地)这个问题当然是一个更大的问题,涉及对网络的深入理解。问题“AWS中安全组是如何实现的?”甚至更难回答-完全是另外一个问题。

1
当你有很多规则和很多流量时,为每个数据包迭代列表不是正确的方法。你需要一种决策树来提供比迭代列表更好的性能。 - Jim Mischel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接