访问【WRITE-BUG数字空间】_[内附完整源码和文档]
实现最基本的前缀树查找,调研并实现某种IP前缀查找方案,- 基于forwarding-table.txt数据集(Network, Prefix Length, Port) - 本实验只考虑静态数据集,不考虑表的添加或更新- 以前缀树查找结果为基准,检查所实现的IP前缀查找是否正确 * 可以将forwarding-table.txt中的IP地址作为查找的输入- 对比基本前缀树和所实现IP前缀查找的性能* 内存开销、平均单次查找时间
实验内容
实验内容一
实现最基本的前缀树查找
实验内容二
调研并实现某种 IP 前缀查找方案
测试与验证
基于 forwarding-table.txt 数据集(Network, Prefix Length, Port)
本实验只考虑静态数据集,不考虑表的添加或更新
以前缀树查找结果为基准,检查所实现的 IP 前缀查找是否正确
可以将 forwarding-table.txt 中的 IP 地址作为查找的输入
对比基本前缀树和所实现 IP 前缀查找的性能
内存开销、平均单次查找时间
设计思路
最基本的前缀树查找
RouterEntry* line_parser (char * line) 函数
负责将 txt 文件中读取的每一行字符串,转换成路由表项,返回 RouterEntry*,每一个路由表项结构包括三个变量,分别是网络号,掩码长度以及转发端口号。
int net_parser(char * s) 函数
负责将网络号从字符串类型,转换成一个 int 类型。
TreeNode * init_tree() 函数
初始化树结构,即建立一个树的根节点,并返回根节点。
int add_node (RouterEntry* entry) 函数