Question: I am working in an ISP company. We are developing a speed tester for our customers, but running into some issues with TCP speed testing.

One client had a total time duration on 102 seconds transferring 100 MB with a packet size of 8192. 100.000.000 / 8192 = 12.202 packets. If the client sends an ACK every other packet that seems like a lot of time just transmitting the ACKs. Say the client sends 6000 ACKs and the RTT is 15ms - that's 6000 \* 7.5 = 45.000ms = 45 seconds just for the ACKs?

If I use this calculation for Mbit/s:

```
(((sizeof_download_in_bytes / durationinseconds) /1000) /1000) * 8 = Mbp/s

```

I will get the result in Mbp/s, but then the higher the TTL is between the sender and the client the lower the Mbp/s speed will become.

To simulate that the user is closer to the server, would it be "legal" to remove the ACK response time in the final result on the Mbp/s? This would be like simulating the enduser is close to the server?

So I would display this calculation to the end user:

```
(((sizeof_download_in_bytes / (durationinseconds - 45sec)) /1000)/1000) * 8 = Mbp/s 

```

Is that valid?

Answer: 
**HTML5 is still a draft**. Firefox 3.6 doesn't completely support HTML5 yet.

And according to the [HTML4 spec](http://www.w3.org/TR/REC-html40/struct/global.html#edef-ADDRESS), `address` can only contain `inline` elements:

```
<!ELEMENT ADDRESS - - (%inline;)* -- information on author -->
<!ATTLIST ADDRESS
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

```

This is why Firefox considers it invalid and your page breaks.
An unordered list cannot be wrapped inside of a address tag. I checked using firebug and Firefox moves the close address tag before the unordered list.