1

I was wondering if TCP can provide bandwidth and delay guarantees? Or does it have to implemented on the application layer?

3

There are no bandwidth or delay guarantees, neither in the application layer, nor in the transport layer, nor in the link layer. With packet switching, all packets compete for bandwidth on congesting links. Congested packets can be queued for (very) short periods/bursts but ultimately they're dropped.

There are several priorization schemes (quality of service) that - if configured and used correctly - may make some guarantees about bandwidth and maximum delays.

The common approach for providing guarantees is to increase bandwidth until there can be no more congestion. If that's out of the budget range you work around the problem using QoS.

To guarantee bandwidth or delay, a continuous channel from source to destination has to be arbitrated and established. While that is the rule for circuit-switched networks, it is not normally possible with packet-switching.

The main point is that intermediate, packet-switching devices - routers and switches - are essentially stateless and know nothing about the (logical) connections running through them. They simply handle one packet at a time and remember nothing about past packets.

| improve this answer | |
  • Technically, it's incorrect to say that there are no BW guarantees in the Link layer. This is assuming Ethernet links (and event this can be argued). There are plenty of link layer protocols with strict delay and BW guarantees. However, they are either cell or (pseudo) circuit or lambda switched. – jpou Apr 7 at 20:29
  • @jpou I was referring to packet switching, as mentioned circuit switching does usually have guarantees. If you insist, there's a bandwidth guarantee in Ethernet's physical layer (in full-duplex mode), but not in the link layer (which is often aggregated and oversubscribed between switches). – Zac67 Apr 8 at 6:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.