下面是路由器的路由表。我需要为传出接口为 -- 的条目解析传出接口。这些条目位于文本文件中。我需要通过解决 nexthop (longes prefix match) 来解决传出接口。例如 - 为了查找 0.0.0.0/0.0.0.0 的传出接口,下一跳是 172.20.20.57。我使用这个 nexthop 并在 Destination 列中查找最长的前缀匹配,即 172.20.20.56,它有一个传出接口,即 FastEthernet0。所以 0.0.0.0/0.0.0.0 的传出接口是 FastEthernet0。问题是该表可以有 2000-3000 个条目。我想到的数据结构之一是 trie。是否有任何现有的 API 可用于查找最长前缀匹配或解决此问题的一些建议。我正在使用 Java。
Destination Network Mask NextHop OutgoingInterface
192.168.231.0 255.255.255.0 192.168.255.1 --
172.20.20.56 255.255.255.252 11.11.11.11 FastEthernet0
192.168.201.0 255.255.255.0 192.168.255.1 --
0.0.0.0 0.0.0.0 172.20.20.57 --
192.168.255.1 255.255.255.255 192.168.255.1 Serial0