This repository contains the implementation and analysis of reliable data transfer protocols as part of a networking project. The focus is on P4 (Programming Protocol-Independent Packet Processors) and Selective Repeat ARQ (Automatic Repeat reQuest).
The project explores protocol behavior, error handling, and performance under different simulated network conditions.
code texts/
βββ p4 code.txt # P4 implementation of protocol logic
βββ sr code.txt # Selective Repeat protocol implementation
- P4-based implementation for programmable data-plane packet processing.
- Selective Repeat ARQ protocol written in structured code format.
- Analysis of packet retransmission, error handling, and throughput.
- P4 Compiler / Behavioral Model (bmv2)
- Python 3.x (if running simulations)
- Networking tools such as:
mininetWireshark(for packet inspection)
- p4c --target bmv2 --arch v1model p4_code.p4 -o build/
- simple_switch --log-console build/p4_code.json
- Running the Selective Repeat Simulation If the sr code.txt is intended for simulation in C/Python:
mv "sr code.txt" sr_protocol.py
python3 sr_protocol.py
π Expected Output
- Packet transmission and retransmission logs.
- Performance evaluation of P4 vs SR ARQ.
- Insights into error control efficiency and protocol behavior.