Each USB transfer is one packet, which can be up to 64 bytes if using bulk type. If you want to send more than 64 bytes, you have to use multiple packets.
A USB bulk endpoint can transfer large amounts of data. Bulk transfers are reliable that allow hardware error detection, and involves limited number of retries in the hardware. For transfers to bulk endpoints, bandwidth is not reserved on the bus.
If you are using a regular cable (max length of 5 meters for 2.0 and max length of 3 meters for 3.0/3.1) with an active cable, then the maximum length for USB 2.0 is 25 meters (about 82 feet) and the maximum recommended length for USB 3.0/3.1 is 15 meters (about 49 feet).
The maximum packet length for full-speed USB communication is 64 bytes. So the data will be transferred in chunks of 64 bytes and needs to be reassembled on the other end. USB CDC is based on bulk transfer endpoints and implements a data stream (also known as pipe), not a message stream.
Maximum packet size of a bulk endpoint depends on the bus speed of the device. For full speed, high speed, and SuperSpeed; the maximum packet sizes are 64, 512, and 1024 bytes respectively.
Bulk Transfers are used for data which are not of the type Control, Interrupt, or Isochronous. Reliable exchange of data is ensured at the hardware level using error detection. Data are transferred in the same manner as in Interrupt Transfers, but have no defined polling rate.
USB Full speed has a speed of 12 MBit/second = 1,5 MByte/s. But within these 12 MBit also a lot of extra data is transmitted which is not payload, like , endpoint address, CRC5, CRC16, Acknowledge, SOF + EOF packets, etc.. Additionally the bus manager reserves 10% of a frame for Control Transfers.
Maximum packet size of a bulk endpoint depends on the bus speed of the device. For full speed, high speed, and SuperSpeed; the maximum packet sizes are 64, 512, and 1024 bytes respectively.
Bulk Transfers. Bulk Transfers are used for data which are not of the type Control, Interrupt, or Isochronous. Reliable exchange of data is ensured at the hardware level using error detection. Data are transferred in the same manner as in Interrupt Transfers, but have no defined polling rate.
While each USB device can define up to 32 endpoints, most devices typically only define 2 or 3 (data in, data out, and a control endpoint). Hubs, which are also USB devices, define at least a control endpoint.