Skip to content
forked from jeffallen/mqtt

Experimental implementation of MQTT over KCP for Vehicle to Pedestrian safety context, in order to reduce tranmission latency.

License

Notifications You must be signed in to change notification settings

BakArchive/IFN712

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IFN 712 - MQTT over KCP prototype program

A prototype program for PoC (Proof of Concept), is used to check and compare the latency performance between MQTT over TCP and MQTT over KCP.

DO NOT USE THE PROJECT IN PRODUCTION ENVIRONMENT!

Structure

├───experiment: experiment code for IFN712 
├───kcp: mqtt over kcp implementation
├───mqttsrv: a basic mqtt broker supporting both tcp and kcp
├───pub: a minimum mqtt over kcp publisher
├───sub: a minimum mqtt over kcp subscriber 
├───tcp: mqtt over tcp implementation
└───visual: data visualization

Experiment

Principle

graph LR

A["local client 1"]
B["broker on cloud"]
C["local client 2"]

A -- step0: subscribe /pingtest/tcp/request --> B
C -- step0: subscribe /pingtest/tcp/reply --> B
A -- step1: sending /pingtest/tcp/request --> B
B -- step2: forward /pingtest/tcp/request --> C
C -- step3: sending /pingtest/tcp/reply --> B
B -- step4: forward /pingtest/tcp/reply --> A

A -- step5: subscribe /pingtest/kcp/request --> B
C -- step5: subscribe /pingtest/kcp/reply --> B
A -- step6: sending /pingtest/kcp/request --> B
B -- step7: forward /pingtest/kcp/request --> C
C -- step8: sending /pingtest/kcp/reply --> B
B -- step9: forward /pingtest/kcp/reply --> A
Loading

The program will record all test records into a .xlsx file for analysis purposes.

Environment for Experiment1

The experiment needs to be performed in different environments/configurations

Env Options
Request Interval 0.1s, 0.5s, 1s
Message Payload Size 60 bytes, 500 bytes, 1500 bytes
Network Conditions Ethernet, Wifi, Mobile 4G static, Mobile 4G while moving

Environment for Experiment2

Env Options
Request Interval 0.1s, 0.5s, 1s
Message Payload Size 5000 bytes, 10000 bytes
Network Conditions Ethernet, Wifi, Mobile 4G static

Thanks

Special appreciation to these open-source projects and their extraordinary contribution to the research project.

About

Experimental implementation of MQTT over KCP for Vehicle to Pedestrian safety context, in order to reduce tranmission latency.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Go 96.3%
  • Python 3.1%
  • Makefile 0.6%