12-05-2017 10:17 PM - edited 03-05-2019 09:36 AM
How does UDP manage to preserve message boundaries? I am guessing that UDP can preserve messages boundaries because UDP doesn't care about the RWND/CWND or congestion when it transmits the data, Right?
Lastly, my understanding is that:
TCP data get segmented at L4 within the buffer according to many variables such as RWND, CWND, additional mechanisms, and etc. UDP data also get segmented from the Hard. I am wondering according to which size, does UDP data get segmented and become a datagram?
Solved! Go to Solution.
12-07-2017 04:59 PM
Hello,
UDP preserves message boundaries by a set of its design traits:
Best regards,
Peter
12-07-2017 04:59 PM
Hello,
UDP preserves message boundaries by a set of its design traits:
Best regards,
Peter
12-07-2017 06:37 PM - edited 12-07-2017 08:43 PM
My understanding:
TCP -> There is a myriad of possibilities how the receiver's TCP driver dequeues received TCP segments to the application. EX) If A sends 2000B to B, B might get 1000B + 1000B, or 500B + 1000B + 500B, or 100B + 200B + 700B + 1000B (Countless Combinations).
UDP -> There is only one case. Since no TX/RX buffer is involved in UDP communication, sender's UDP driver just add UDP header and passes the resulting segment to L3. Receiver's application calls an OS function and receiver's UDP driver will pass received datagram to the application. If A sends 500B + 500B, B will get 500B + 500B (Only One Combination)
-> Assuming UDP and TCP are sending 50000B. Is it fair to say that "Fragmentation" would happen more in UDP than TCP because UDP never groups or splits data received from the application at L4?
-> If I try to send more than 65,507B of data over UDP, an error will occur at L3. Right?
Thank you very much for additional explanation :) Your explanation is the best!
12-07-2017 06:45 PM
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide