Net Bandwidth & Packet Loss Monitor

For system help, all hardware / software topics NOTE: use Coders Corner for all coders topics.

Moderators: Krom, Grendel

Post Reply
User avatar
Iceman
DBB Habitual Type Killer
DBB Habitual Type Killer
Posts: 4929
Joined: Thu Apr 20, 2000 2:01 am
Location: Huntsville, AL. USA
Contact:

Net Bandwidth & Packet Loss Monitor

Post by Iceman »

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
User avatar
CDN_Merlin
DBB_Master
DBB_Master
Posts: 9781
Joined: Thu Nov 05, 1998 12:01 pm
Location: Capital Of Canada

Post by CDN_Merlin »

Retina Network Security I think can do both.
User avatar
Mobius
DBB_Master
DBB_Master
Posts: 7940
Joined: Sun Jun 03, 2001 2:01 am
Location: Christchurch, New Zealand
Contact:

Post by Mobius »

DUMeter is the best bandwidth monitoring solution I've found. It doesn't do packet loss though.
User avatar
AceCombat
Owned by Timex
Owned by Timex
Posts: 6516
Joined: Sat Apr 12, 2003 2:01 am
Location: Oakwood, GA

Post by AceCombat »

have you tried searching on CNet? they seem to have a shiz load of effective monitoring tools
User avatar
Tricord
DBB Alumni
DBB Alumni
Posts: 3394
Joined: Thu Nov 05, 1998 12:01 pm

Post by Tricord »

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.
User avatar
fliptw
DBB DemiGod
DBB DemiGod
Posts: 6459
Joined: Sat Oct 24, 1998 2:01 am
Location: Calgary Alberta Canada

Post by fliptw »

Tricord wrote: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.
wouldn't keeping track of the re-requests do a similar function?
User avatar
Iceman
DBB Habitual Type Killer
DBB Habitual Type Killer
Posts: 4929
Joined: Thu Apr 20, 2000 2:01 am
Location: Huntsville, AL. USA
Contact:

Post by Iceman »

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 ...
User avatar
Tricord
DBB Alumni
DBB Alumni
Posts: 3394
Joined: Thu Nov 05, 1998 12:01 pm

Post by Tricord »

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.
Post Reply