A designed a real-time application which has an end-to-end delay requirement of 150 ms. How will this delay translate to Network/DL layer devices? Assume there are n hops between the peers?

3 Years
Discussion Span
Last Post by rubberman

If you depend on the network I don't know of a way to guarantee any real-time constraints. A network is a shared medium and, with intermediate machines responsible for acting on the behalf of other, you are at the mercy of the load of the network.

In the most simplistic case you (and your conunterpart) are the only computers using the network and you understand - precisely - the propagation delay for each intermediate machine. In that state your overall delay to send a packet from source to destination is the sum of the following:

  • Processing delay on the source host from application to network interface
  • Propagation delay for intermediate node N (interface-to-interface processing cost)
  • (repeat prvious step for each intermediate node N)
  • Propagation delay on the destination machine from interface to application

If you want round trip time you need to double the above and add in the processing delay on the destination machine for handling any local logic and replying to the request.

N.B. I've ignored several details above:
First, I skipped the actual cost of transferring the bits over the medium as it is neglegible in most cases. However, for a large enough payload size and a sufficient distance you will need to calculate the bandwidth-delay product and add that to the cost function above.
Also, the calculations above assume that the intermediate nodes have zero load and are dedicated to the handling of your packets. Adding additional load will change the precision of the propagation delay at each node and add noise to the system.

Edited by L7Sqr


TCP/IP is not deterministic, nor is ethernet. As my signature says, "Real fast is ALMOST as good as real-time"... The only deterministic real-time networks that I am aware of are Arcnet (up to 20mbps) and Token Ring, and then you need a real-time operating system to support them (QNX does, Linux and Windows do not). With the QNX operating system, you can get deterministic behavior (depending upon traffic patterns) from a switch-based ethernet that does not use a router - ie, all nodes are directly connected via real-time switches that have worst-case specified latencies for port-to-port transmission. In such a case, you can still apply real-time RMA (rate monotonic analysis) computations to determine if you can keep your required schedules.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.