I need a utility to monitor such for a project we are working on. Anyone have any suggestions on such software before I run off and write it myself?
Thx in adv,
Ice out
Net Bandwidth & Packet Loss Monitor
- CDN_Merlin
- DBB_Master
- Posts: 9781
- Joined: Thu Nov 05, 1998 12:01 pm
- Location: Capital Of Canada
Packet loss cannot be measured with TCP because it is equipped with proper retransmission protocols in case a packet goes missing, so it'll keep re-requesting until it gets in fine.
UDP packet loss can only be checked by the application controlling the socket, because it's the only place that has bookkeeping of what went out and what is expected back.
DUMeter and similar programs cannot detect packet loss, only transfer, bandwidth and volume.
UDP packet loss can only be checked by the application controlling the socket, because it's the only place that has bookkeeping of what went out and what is expected back.
DUMeter and similar programs cannot detect packet loss, only transfer, bandwidth and volume.
- Iceman
- DBB Habitual Type Killer
- Posts: 4929
- Joined: Thu Apr 20, 2000 2:01 am
- Location: Huntsville, AL. USA
- Contact:
I am nearing completion of a utility to do this and ... yes ... it uses UDP for the reasons Tri mentioned. I would rather have a good pre-built utility to do this but I am working on one of my own as follows :
a) I have a transmitter application and a receiver application on separate machines. The receiver listens on a given port and the transmitter sends packets to that host/port.
b) There is a 64k limit on packet size so I am limited to sending blocks of data that size. I have a small header that includes a packet number and a CRC which is computed on the data block (just a random sequence of numbers).
c) In order to test the maximum bandwidth I send a packet, wait for a small time interval, and send again. I tweak the time interval down until the receiver starts dropping packets. The receiver can detect this if successive received packets differ in number by more than one. Supposedly UDP packets can be delivered out of sequence but I have not seen this happen yet.
I don't have a lot of confidence in my code therefore I am looking for another utility to at least use as a check. I would be happy to post my code here if anyone thought they would like to check it out ...
a) I have a transmitter application and a receiver application on separate machines. The receiver listens on a given port and the transmitter sends packets to that host/port.
b) There is a 64k limit on packet size so I am limited to sending blocks of data that size. I have a small header that includes a packet number and a CRC which is computed on the data block (just a random sequence of numbers).
c) In order to test the maximum bandwidth I send a packet, wait for a small time interval, and send again. I tweak the time interval down until the receiver starts dropping packets. The receiver can detect this if successive received packets differ in number by more than one. Supposedly UDP packets can be delivered out of sequence but I have not seen this happen yet.
I don't have a lot of confidence in my code therefore I am looking for another utility to at least use as a check. I would be happy to post my code here if anyone thought they would like to check it out ...
I had to write a reliable file transfer protocol over UDP (which in itself, offers no delivery guarantees) as a small project at university. It's very rudimentary, but it has a client and a single-threaded server. It's written in Java, PM me if you want the source. It respects the network capacity with a simple challenge-response system, you could easily determine the theoretical bandwidth by calculating the amount of packets per second divided by packet size, multiplied by (roundtrip time - packet duration).
UDP packets are always delivered in sequence (unless they are dropped) if they are sent on a network with FIFO components (e.g. switches, most routers, etc).
The disorder occurs when individual packets are sent over several routes, one of which is faster than the other. Or when they pass a router which does not send them in FIFO fashion for some odd reason (some routers are configured with precedence and priority rules). This doesn't happen often though.
UDP packets are always delivered in sequence (unless they are dropped) if they are sent on a network with FIFO components (e.g. switches, most routers, etc).
The disorder occurs when individual packets are sent over several routes, one of which is faster than the other. Or when they pass a router which does not send them in FIFO fashion for some odd reason (some routers are configured with precedence and priority rules). This doesn't happen often though.