Skip to content

[ICNP2025] A feedback-based efficient and high hit-rate IPv6 router interface discovery system

License

Notifications You must be signed in to change notification settings

THUNAME/Helixir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Helixir

I. Introduction

This repository hosts Helixir, a feedback-based efficient and high hit-rate IPv6 router interface discovery system. Helixir's core design includes a dynamic budget allocation mechanism across probing rounds, an inter-prefix budget allocation strategy that adequately trades off exploration and exploitation, and a Hop Limit selection method based on Thompson sampling.

II. Requirement

Before running Helixir, make sure the following dependencies are installed:

  • GCC (for compiling source code)
  • Bash (for running scripts)
  • libpcap (for packet capture and network probing)
  • Linux system with raw socket support (required for probing)

III. Quick Start

Step 1: Data Preparation

Before running the probing process, we need to generate the target prefix datasets. The following scripts are used to create two types of datasets:

bash Tools/generate_BGP_prefixes.sh
bash Tools/generate_Hitlist_prefixes.sh

Dataset Descriptions:

  • BGP Prefix Dataset:
    • Extracted from BGP routing tables, this dataset contains IPv6 prefixes announced by Autonomous Systems (ASes).
  • Hitlist Prefix Dataset:
    • Derived from known responsive IPv6 addresses, this dataset focuses on prefixes that historically contain active addresses. We aggregate and deduplicate these addresses to generate the final Hitlist prefix dataset.

Step 2: Compile Helixir

Compiles the Helixir source code and generates the executable file bin/main.

make

Step 3: Set the Configuration and Run Helixir

Edit run.sh to configure essential parameters for network probing. The following variables are included:

# Define parameters
INTERFACE_NAME=""
SOURCE_MAC=""
SOURCE_IP=""
GATEWAY_MAC=""
INPUT_FILENAME="input/Hitlist_prefixes.txt"
OUTPUT_FILENAME="$OUTPUT_DIR/$(date +'%Y%m%d_%H%M%S').log"

Modifications and Purpose:

Parameter Description
INTERFACE_NAME The network interface used for packet transmission.
SOURCE_MAC The MAC address of the probing machine.
SOURCE_IP The IPv6 address of the probing machine.
GATEWAY_MAC The MAC address of the gateway router.
INPUT_FILENAME The file containing the target prefixes for probing.
OUTPUT_FILENAME A dynamically generated filename for logging results. The timestamp (YYYYMMDD_HHMMSS) ensures unique filenames across multiple runs.

Once the dataset is prepared and the configuration is set, execute the probing process by running:

bash run.sh

This command initiates the probing process, transmitting packets and saving results to the specified log file.

Data Open Source Notice

Usage Restrictions

This data is only allowed to be used for academic research. Any form of commercial use, data resale, or other non-academic use is strictly prohibited. Without permission, the data shall not be used to develop commercial products, conduct profit-making analysis, or disseminate it to commercial institutions.

Acquisition Method

If you need to obtain the data, please send an email to [zhoujs24@mails.tsinghua.edu.cn] using your academic institution email. The email subject should indicate: Helixir Dataset Application for Academic Use - [Applicant's Name] - [Affiliated Institution]. The content of the email should include the following information:

  • Applicant's name, affiliated academic institution, and title/identity (such as graduate student, researcher, etc.).
  • Specific research project name, research purpose, and brief content for which the data is planned to be used.
  • The required data scale, including the quantity, scope and specific types of data needed.
  • A commitment to using the data solely for academic research and not for commercial use or illegal dissemination.

Review Process

We will review the email within 7 working days after receiving it. After the review is passed, we will send you the data acquisition link and usage authorization instructions via email. If the application is not approved, the specific reason will also be informed.

Liability Statement

Since these data are sensitive to some of the probed networks, if it is found that the data user violates the agreement of academic use, we have the right to terminate the data usage authorization immediately and reserve the right to pursue legal liability. The data user shall bear all relevant responsibilities arising from the use of the data, and our side shall not be responsible for any problems that may occur during the data usage process.

We are committed to promoting academic cooperation and knowledge progress. Thank you for your understanding and cooperation! If you have any questions, please feel free to contact us at [zhoujs24@mails.tsinghua.edu.cn].

About

[ICNP2025] A feedback-based efficient and high hit-rate IPv6 router interface discovery system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published