ilovepi / ncd Goto Github PK
View Code? Open in Web Editor NEWNetwork Compression Detection
License: MIT License
Network Compression Detection
License: MIT License
There is a sloppy busy wait in the recv4 () function. It should use a condition variable instead.
Fork the project, and move all the new framework and library code into master
Ansible will allow a great deal of the scripted logic to be replaced with Ansible code and playbooks.
Consider looking into the Geni Experiment Engine's use of Ansible for ideas
Output timestamps instead of elapsed round trip time
open and close a connection via the kernel, and use raw socket to simply send our packets... makes life easier, also will be harder to detect.
have the program determine if network compression or the presence of some other middlebox inspecting, or modifying packets is likely
Probably use the dime difference as a %
-maybe add another commandline option to set the sensitivity of the estimation
Either remove Raw UDP communications, and let the kernel determine the source IP, or find an appropriate way to determine the source IP without opening another socket
The testbed should have its own git repo, and should be a submodule within NCD
Add support for a fully connected tcp connection, ie full handshake.
Refactor ncd so it can use different ports and payloads for each packet train
add a function that can do the full tcp close properly
The python and pandas code has performed well, however, Julia and Gadfly gave superior results.
Consider patching the Julia Pcap package to handle endianness correctly, and formalizing the scripts
Need a man page and more/better docs
Add better comments to codebase
improve documentation
Ensure that all bounds on buffers are properly checked
The classes and functions should be organized in a more organic way to form a separate library from the actual clients and servers
Take a look at where Error codes are returned and checked, and ensure that the program handles them appropriately, and notifies the user what the problem was.
Find places where the code is slow
-profile the performance, and identify bottlenecks
-try to improve access patterns for better caching
Find any unused functions and remove them
mkudphdr() - maybe useless since we don't manually set up the udp header anymore
There's no checking for user defined files for fill_packet(), there needs to be some error checking, if the file exists, if its too short, too long, etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.