# Networking – how to solve the “find the utilization for a TCP sender that is continuously sending” problem

In this post: A detailed, step-by-step guide demonstrating the steps I use to solve a problem similar to one encountered in my CS 372 Intro to Networking class.

You have a TCP sender that is continuously sending a 1,096-byte segment. If a TCP receiver advertises a window size of 8,551 bytes, and with a link transmission rate 35 Mbps an end-to-end propagation delay of 33.3 ms, what is the utilization?

(Assume no errors, no processing or queueing delay, and ACKs transmit instantly. Also assume the sender will not transmit a non-full segment.)

Suppose they want the answer as a percentage rounded to one decimal place.

This one breaks down into a series of simple steps:

## Step 1: Calculate how many segments the pipeline holds

```formula:
segments = floor(pipeline size / segment size)```
```8551 / 1096 = 7.802
= 7 segments```

Remember to round down! There are no partial segments in this pipeline.

## Step 2: Calculate how long it takes to send one segment

This uses the L/R formula, which is:

```formula:
time to send one segment = length of segment / transmission rate```

(Don’t forget to use the same units for both. I convert everything to bits for consistency.)

`(1096 * 8) / (35 x 10^6) = 0.250514 time to send one segment`

## Step 3: Calculate the Round Trip Time (RTT)

```formula:
RTT = propagation delay * 2 ```
`33.3 * 2 = 66.6 round trip time`

## Step 4: Calculate the delay per packet

```formula:
delay per packet = RTT + time to send one```
`66.6 + 0.250514 = 66.850514 delay per packet`

## Step 5: Calculate the utilization!

```formula:
utilization = (segments * time to send one) / delay per packet```
`(7 * 0.250514) / 66.850514 = 0.026316`

Move the decimal to places to the right to get the percentage.

`= 2.6% utilization`

## One thought on “Networking – how to solve the “find the utilization for a TCP sender that is continuously sending” problem”

1. Matthew Hawkins says:

I cannot thank you enough for taking the time to put these out here! Your problem work-throughs have helped me so incredibly much in this class!

This site uses Akismet to reduce spam. Learn how your comment data is processed.