A minimal Multipath TCP client
Project description
mftpclient
About
Minimal Python FTP client in order to allow file transfer on top of Multipath TCP (MPTCP). For a deeper read about Multipath TCP, please consult this webpage.
Table of Contents
- Getting Started
- Enabling MPTCP
Getting Started
There are no extra python dependencies needed since the client extends the CPython FTP client.
In order to use Multipath TCP you have to ensure that your operating system support Multipath TCP. However for portability reasons if the operating system doesn't support Multipath TCP then the implementation falls back to a normal TCP connection.
Enabling MPTCP
Linux
Multipath TCP is supported in the official linux kernel starting from version 5.6.
In order to verify is Multipath TCP is enabled, run the following command :
sudo sysctl -a | grep mptcp.enabled
The expected result should be net.mptcp.enabled = 1
. It is possible that the output is net.mptcp.enabled = 0
. If you want to enable it run :
sudo sysctl -w net.mptcp.enabled=1
Some FTP commands (especially PORT
) are changed when passing through the internet by middleboxes. In order for MTCP to detect such changes both the client and sender have to enable the MTCP Checksum. If the checksum calculated and sent by the sender mismatch the one calculated by the receiver, then the connections fallsback to a TCP connection to preserve the established connection. More about the topic on this page. Note that for FTPS this step is not neccessary.
To enable the MPTCP checksum run :
sudo sysctl -w net.mptcp.checksum_enabled=1
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mftpclient-0.0.3.tar.gz
.
File metadata
- Download URL: mftpclient-0.0.3.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16b0cb61b3b92551a76773d60d753d2ba8ae07f7dc30c3e5b668b3f257b3bc24 |
|
MD5 | 5319ce42b6fc4f92d2ffa3c70c33b17b |
|
BLAKE2b-256 | 0e0454eb87149b52449760424e14399fdbff7c69c45a88eecd044a0924c94f43 |
File details
Details for the file mftpclient-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: mftpclient-0.0.3-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc31179fcf8c53fa33cf4969feb11ddb4e81003a87c56e59c1bc467f62dfcfa4 |
|
MD5 | 013060d66073e14e7b5fc5a24af0027a |
|
BLAKE2b-256 | 3f452c5c268d0c33508f999f64a68aa6b4858d27687f5791970d81ac86c223f9 |