This is a review question but I can't find anything in my book about it. What I did find online is contradictory and confusing.
-
3best effort only, it can't help if the IP layer can't deliver.– ratchet freakDec 10, 2014 at 19:38
-
7You can run TCP over avian carrier if you wanted to (you can run IP over it - you can run TCP on top of that).– user40980Dec 10, 2014 at 19:44
-
5RFC 2549 IP over Avian Carriers with Quality of Service– user22815Dec 10, 2014 at 21:08
2 Answers
No, TCP will time out and request that a packet be re-sent, but there's no guaranteed transit time. TCP (typically) relies on IP, which can dynamically route packets, so there's no way to estimate how long it will/should take.
TCP cannot promise delivery, but it can guarantee that either the packet will be delivered and acknowledged within a timeout (4 minutes IIRC), or you will get an error response. (Which, come to think of it, is what the word "guarantee" usually means: if the promised action does not occur, you will have some remedy available. A guarantee on a hard drive doesn't mean it won't fail; it means that if it fails you can get a replacement or your money back.)
In the sense of "guarantee means unbreakable promise", nothing is ever guaranteed. In the sense of "guarantee = warranty", then yes, TCP guarantees delivery.