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 (7.1%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: dainiergonzalezromero
  • License: mit
  • Language: C++
  • Default Branch: main
  • Size: 171 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed 10 months ago
Metadata Files
Readme License Citation

README.md

🧠 PoFi-SDN-WiFi: Simulation of a Cognitive Access Point with SDN and QoS (EDCA)

This project implements a simulation environment in NS-3 that combines SDN (Software Defined Networking) concepts with IEEE 802.11 WiFi networks using QoS based on EDCA (Enhanced Distributed Channel Access). It focuses on the creation of an intelligent access point (PoFiAp) which, together with an SDN controller (PoFiController), allows:

  • Classification of packets according to priority (ToS/DSCP).
  • Queuing by traffic type.
  • Dynamic allocation of TXOP.
  • Collection of detailed metrics by class of service.
  • Application of SDN policies via PacketIn/FlowMod messages.

🎯 Objectives

  • Simulate a cognitive WiFi ecosystem with SDN.
  • Analyze differentiated traffic behavior (VoIP, video, Best Effort, Background).
  • Evaluate key metrics: Throughput, Delay, Lost Packets.

📡 PoFiAp (Intelligent Access Point)

The PoFiAp is a derived class that extends the behavior of a WiFi access point to make it QoS-aware and cognitive:

Main functions:

  • Classification: analyzes the ToS/DSCP field of each received packet.
  • Access Category (AC) assignment:

    • VO (Voice): highest priority.
    • VI (Video).
    • BE (Best Effort).
    • BK (Background): lowest priority.
  • Queues by AC: maintains separate buffers for each category.

  • Dynamic TXOP: calculates how much time each AC is allowed to transmit based on current traffic.

  • Metrics collection:

    • Delay time per packet.
    • Packets lost per queue.
    • Cumulative throughput.
  • CSV log generation for later analysis.


🧠 PoFiController (SDN Controller)

The PoFiController interacts with the PoFiAp through PacketIn events. It responds with FlowMod rules to dictate:

  • Which queue to direct the packet to.
  • Whether forwarding should be allowed.
  • Parameters such as the recommended TXOP.

Logic:

  1. Receives packets from PoFiAp.
  2. Inspects the ToS to determine the type of traffic.
  3. Returns instructions with FlowMod for processing.

🎮 How is EDCA behavior simulated?

EDCA: Enhanced Distributed Channel Access

EDCA is the QoS mechanism in 802.11e that allows traffic differentiation using 4 Access Categories (AC):

| Access Category | Typical traffic | Priority | Containment | Typical TXOP | |-----------------|--------------------|-----------|------------|-----------| | VO | Voice, VoIP | Very high | Minimal | Long | | VI | Video | High | Low | Medium | | BE | Browsing, email | Medium | Medium | Low | | BK | Transfers | Low | High | Short |

In this simulation:

  • Different queues are assigned for each AC.
  • The PoFiAp queues and schedules the transmission according to its category.
  • The PoFiController can dynamically adjust the TXOP of each queue based on the observed traffic.

📈 Metrics collected

For each access category and packet size:

  • Average delay (ms).
  • Cumulative throughput (kbps).
  • Number of lost packets.

These metrics are saved in CSV files for each combination of:

  • Packet size: 256, 512, 1024.
  • Traffic category: VO, VI, BE, BK.

🚀 Execution

bash ./ns3 --run scratch/sdwn

Configurable parameters:

  • Number of stations.
  • Packet size.
  • Simulation duration.
  • TXOP allocation algorithm.

📁 Project Structure

  • sdwn.cc: Main source code file. Includes:
    • main() function
    • Implementation of PoFiController
    • Implementation of PoFiAp
  • no_sdwn.cc: Main source code file without SDWN.
  • LICENSE: MIT software license.
  • README.md: This file, with instructions and project description.
  • CITATION.cff: Academic citation file in CFF (Citation File Format).

🛠 Requirements

  • NS-3 (verified in version 3.44)

📌 Additional notes

This simulation can be extended to include ML-based decisions (e.g., traffic pattern learning). The architecture is ideal for centralized control experiments in IoT environments, edge computing, etc.

👨‍💻 Author

Developed by Dainier Gonzalez Romero. Institute of Computer Science and Engineering (ICIC) - National Council for Scientific and Technical Research (CONICET) - National University of the South (UNS)

Doctoral thesis: Design and development of digital ecosystems for cognitive IoT. Software-defined networks as a planning tool

Owner

  • Name: Dainier González Romero
  • Login: dainiergonzalezromero
  • Kind: user
  • Location: Bahía Blanca, Buenos Aires, Argentina.
  • Company: Instituto de Ciencias e Ingeniería de la Computación

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: >-
  PoFi-SDN-WiFi: Simulation of a Cognitive Access Point with
  SDN and QoS
message: >-
  This project implements a simulation environment in NS-3
  that combines SDN (Software Defined Networking) concepts
  with IEEE 802.11 WiFi networks using QoS based on EDCA
  (Enhanced Distributed Channel Access). It focuses on the
  creation of an intelligent access point (PoFiAp) which,
  together with an SDN controller (PoFiController), allows: 
  - Classification of packets according to priority
  (ToS/DSCP). - Queuing by traffic type. - Dynamic
  allocation of **TXOP**. - Collection of detailed metrics
  by class of service. - Application of SDN policies via
  PacketIn/FlowMod messages.
type: software
authors:
  - given-names: Dainier
    family-names: González Romero
    email: dainier.gonzalez@cs.uns.edu.ar
    affiliation: >-
      Instituto de Ciencias e Ingenieria de la Computacion
      (ICIC) - Consejo Nacional de Investigaciones
      Científicas y Técnicas (CONICET) - Universidad
      Nacional del Sur (UNS)
    orcid: 'https://orcid.org/0000-0002-2932-4389'
  - given-names: Rodrigo Martín
    family-names: Santos
    email: ierms@criba.edu.ar
    affiliation: >-
      Departamento de Ingeniería Eléctrica y de Computadoras
      (DIEC) - Instituto de Ciencias e Ingenieria de la
      Computacion (ICIC) - Consejo Nacional de
      Investigaciones Científicas y Técnicas (CONICET) -
      Universidad Nacional del Sur (UNS)
    orcid: 'https://orcid.org/0000-0003-0382-477X'
  - given-names: Sergio F.
    family-names: Ochoa
    orcid: 'https://orcid.org/0000-0002-0431-8767'
    affiliation: 'Computer Science Department, Universidad de Chile'
    email: sochoa@dcc.uchile.cl
repository-code: 'https://github.com/dainiergonzalezromero/WiFi-QoS-NS3.git'
url: 'https://github.com/dainiergonzalezromero/WiFi-QoS-NS3'
abstract: "This project implements a simulation environment in NS-3 that combines SDN (Software Defined Networking) concepts with IEEE 802.11 WiFi networks using QoS based on EDCA (Enhanced Distributed Channel Access). It focuses on the creation of an intelligent access point (PoFiAp) which, together with an SDN controller (PoFiController), allows:\n- Classification of packets according to priority (ToS/DSCP).\n- Queuing by traffic type.\n- Dynamic allocation of TXOP.\n- Collection of detailed metrics by class of service.\n- Application of SDN policies via PacketIn/FlowMod messages.\n\U0001F3AF Objectives\n- Simulate a cognitive WiFi ecosystem with SDN.\n- Analyze differentiated traffic behavior (VoIP, video, Best Effort, Background).\n- Evaluate key metrics: Throughput, Delay, Lost Packets."
keywords:
  - Software Defined Wireless Networks
  - Quality of Service
  - IoT Systems
  - Message Traffic Management
license: MIT
commit: c5f3d80facd5c1f1419d1204d9b528b4fbc154a1
version: '3.0'
date-released: '2025-06-05'

GitHub Events

Total
  • Push event: 13
  • Create event: 2
Last Year
  • Push event: 13
  • Create event: 2