You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Vortex is a peer-to-peer (P2P) file transfer protocol that utilizes the TLV (Tag-Length-Value) format for efficient and flexible data transmission. This protocol is designed to provide reliable and scalable file sharing capabilities.
Protocol Fields
Packet Identifier (8 bits): Uniquely identifies each packet.
Tag (T, 8 bits): Specifies the type of data in the value field.
Length (L, 32 bits): Indicates the length (in bytes) of the Value field, supporting up to 4GiB of data.
Value (V, variable length): The actual data, up to 1GiB.
Tag Definitions
Tag
Name
Description
0
Download Piece
Download the content of a piece from a peer. It is composed of {Task ID}-{Piece ID}, where the Task ID is a 32-byte SHA-256 value and the Piece ID is a number.
1
Piece Content
The content of a piece, with a maximum size of 1 GiB per piece.
2-254
Reserved
Reserved for future use.
255
Error
Error message.
Packet Format
Packet ID (8 bits)
Tag (8 bits)
Length (32 bits)
Value (up to 4GiB)
8-bit
8-bit
32-bit
variable
Packet ID: 8-bit unsigned integer.
Tag: 8-bit field describing the content type.
Length: 32-bit field specifying the size of the Value.
Value: Actual data, size determined by Length.
Behavior
Download Piece (Tag=0x00): Download the content of a piece from a peer.
Piece Content (Tag=0x01): Raw piece data or piece fragments.
Error (Tag=0xFF): Conveys error.
Reserved Tags: May be allocated for metadata, compression, encryption, or future protocol extensions.
Example
Packet ID: 0x12
Tag: 0x00 (download piece)
Length: 10 (indicating "HelloWorld" is 10 bytes)
Value: "HelloWorld"
Conclusion
This TLV-based protocol, with an 8-bit Packet Identifier and support for up to 1GiB in the Value field, offers flexibility, simplicity, and room for future enhancements. By reserving Tags, it is scalable for evolving P2P file transfer requirements.
gaius-qi
changed the title
[RFC] P2P File Transfer Protocol Based on TLV
[RFC] DFTP(Dragonfly File Transfer Protocol) Based on TLV
Jan 10, 2025
gaius-qi
changed the title
[RFC] DFTP(Dragonfly File Transfer Protocol) Based on TLV
[RFC] Vortex(P2P File Transfer Protocol) Based on TLV
Jan 10, 2025
gaius-qi
changed the title
[RFC] Vortex(P2P File Transfer Protocol) Based on TLV
[RFC] Vortex: A P2P File Transfer Protocol Based on TLV
Jan 10, 2025
Overview
Vortex is a peer-to-peer (P2P) file transfer protocol that utilizes the TLV (Tag-Length-Value) format for efficient and flexible data transmission. This protocol is designed to provide reliable and scalable file sharing capabilities.
Protocol Fields
Tag Definitions
{Task ID}-{Piece ID}
, where the Task ID is a 32-byte SHA-256 value and the Piece ID is a number.Packet Format
Behavior
Example
Conclusion
This TLV-based protocol, with an 8-bit Packet Identifier and support for up to 1GiB in the Value field, offers flexibility, simplicity, and room for future enhancements. By reserving Tags, it is scalable for evolving P2P file transfer requirements.
References
The text was updated successfully, but these errors were encountered: