ndn-traffic-plotting-scripts
NDN traffic traces - Plotting scripts
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.4%) to scientific vocabulary
Keywords
Repository
NDN traffic traces - Plotting scripts
Basic Info
- Host: GitHub
- Owner: tntech-ngin
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://www.tntech-ngin.net/datasets
- Size: 97.7 KB
Statistics
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 1
- Releases: 0
Topics
Metadata Files
README.md
Description
This project is a packet analyser for Named Data Networking (NDN) packets. It uses a MongoDB database to store the packets
and provides various plotting scripts to visualise the data. The included plotting scripts are:
* components_hexbin.py - plots the distribution of number of components to its name length
* grid_throughput.py - plots the throughput graph of four nodes
* hoplimit.py - plots the hop limit of packets
* lifetime_freshness.py - plots cdf of lifetime and freshness of packets
* throughput.py - plots the throughput graph of a node with number of packets and size of packets in separate plots
* popular_prefixes.py - plots the most popular prefixes in interest and data packets
* content_size_distribution - plots the distribution of content size of NLSR traffic
Getting Started
Prerequisites
- Python >= 3.10
- MongoDB >= 6.0.6
- ndntdump
Installation
- Create virtual environment and activate
bash cd ndn-packet-view python3 -m venv venv source venv/bin/activate - Install dependencies
bash pip install -r requirements.txt - Create .env
bash cp .env.sample .env - Create ndjson from pcapng.zst dump file
- Find the local MAC address
bash zstdcat <file_path_to_pcapng.zst> | tcpdump -r- -n -e | head -5 - Extract into ndjson
bash ndntdump -r <file_path_to_pcapng.zst> --local <local_mac_address> -L <path_to_output_file>
- Find the local MAC address
- Edit
.envfile and change the MONGODBNAME to the name of the database you want to use - Index ndjson file into MongoDB
bash python -m tools.index <file_path> - Run the plotting scripts
bash python -m tools.plots.<script_name>
Linters and Formatters
The project uses git pre-commit hooks to run linters and formatters. To enable the pre-commit hooks, run the following command:
bash
pre-commit install
Troubleshooting
If the commit reports conflicts with the unstaged changes, run the pre-commit hooks manually and commit again:
bash
pre-commit run --all-files
or use --no-verify flag to skip the pre-commit verification:
bash
git commit --no-verify -m <message>
Owner
- Login: tntech-ngin
- Kind: user
- Repositories: 15
- Profile: https://github.com/tntech-ngin
Citation (CITATION.cff)
cff-version: 1.2.0
message: "Please consider citing from preferred-citation below instead of citing the GitHub repository."
title: "NDN Traffic Plotting Scripts"
url: "https://github.com/tntech-ngin/ndn-traffic-plotting-scripts"
preferred-citation:
type: conference-paper
authors:
- family-names: "Timilsina"
given-names: "Sankalpa"
orcid: "https://orcid.org/0009-0009-3936-5078"
- family-names: "Pesavento"
given-names: "Davide"
orcid: "https://orcid.org/0000-0002-7136-1888"
- family-names: "Shi"
given-names: "Junxiao"
orcid: "https://orcid.org/0000-0003-3138-0790"
- family-names: "Shannigrahi"
given-names: "Susmit"
orcid: "https://orcid.org/0000-0001-6213-7473"
- family-names: "Benmohamed"
given-names: "Lotfi"
orcid: "https://orcid.org/0009-0003-4857-7351"
doi: "10.1145/3623565.3623707"
start: 101
end: 108
pages: 8
title: "Capture and Analysis of Traffic Traces on a Wide-Area NDN Testbed"
collection-title: "Proceedings of the 10th ACM Conference on Information-Centric Networking"
conference:
name: "ACM ICN 2023"
date-start: 2023-10-08
date-end: 2023-10-10
year: 2023
month: 10
GitHub Events
Total
Last Year
Dependencies
- Pillow ==9.5.0
- PyYAML ==6.0.1
- aenum ==3.1.12
- black ==23.7.0
- cfgv ==3.4.0
- click ==8.1.7
- contourpy ==1.1.0
- cycler ==0.11.0
- distlib ==0.3.7
- dnspython ==2.3.0
- envparse ==0.2.0
- filelock ==3.12.2
- fonttools ==4.40.0
- identify ==2.5.26
- kiwisolver ==1.4.4
- lark ==1.1.5
- matplotlib ==3.6.3
- motor ==3.1.1
- mypy-extensions ==1.0.0
- nodeenv ==1.8.0
- numpy ==1.23.5
- packaging ==23.1
- pandas ==1.5.3
- pathspec ==0.11.2
- platformdirs ==3.10.0
- pre-commit ==3.3.3
- pycodestyle ==2.11.0
- pycryptodomex ==3.18.0
- pygtrie ==2.5.0
- pymongo ==4.3.3
- pyparsing ==3.0.9
- python-dateutil ==2.8.2
- python-ndn ==0.3.post2
- pytz ==2023.3
- ruff ==0.0.285
- seaborn ==0.12.2
- six ==1.16.0
- tomli ==2.0.1
- tqdm ==4.64.0
- virtualenv ==20.24.3