P5-net-patricia

Jul 20, 2023

Perl module for fast IP address lookups

This module uses a Patricia Trie data structure to quickly perform IP address prefix matching for applications such as IP subnet, network or routing table lookups. The data structure is based on a radix tree using a radix of two, so sometimes you see patricia implementations called “radix” as well. The term “Trie” is derived from the word “retrieval” but is pronounced like “try”. Patricia stands for “Practical Algorithm to Retrieve Information Coded as Alphanumeric”, and was first suggested for routing table lookups by Van Jacobsen. Patricia Trie performance characteristics are well-known as it has been employed for routing table lookups within the BSD kernel since the 4.3 Reno release.

The BSD radix code is thoroughly described in “TCP/IP Illustrated, Volume 2” by Wright and Stevens and in the paper ``A Tree-Based Packet Routing Table for Berkeley Unix’’ by Keith Sklower.



Checkout these related ports:
  • Zyre - Framework for proximity-based peer-to-peer applications
  • Zsync - File transfer program
  • Zmap - Internet scanner
  • Zillion - Distributed computing project
  • Zerotier - Network virtualization everywhere
  • Zebra-server - Z39.50/SR server software
  • Yptransitd - Replacement for nss_ldap
  • Yggdrasil - Experimental end-to-end encrypted self-arranging IPv6 network
  • Yconalyzer - TCP Traffic Analyzer
  • Yazproxy - Powerful general purpose Z39.50/SRW/SRU proxy
  • Yaz - Z39.50/SR client and API library
  • Yaz++ - C++ toolkit for development of Z39.50v3 clients and servers
  • Yate - Yet Another Telephony Engine
  • Yaph - Yet Another Proxy Hunter (proxy scanner)
  • Yami4 - Messaging library for distributed systems