LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 01-14-2008, 02:00 AM   #1
vishamr2000
Member
 
Registered: Aug 2004
Posts: 210

Rep: Reputation: 31
Some advice regarding reliable multicast!!


Hi to all,

I need some advice with regard to a networking program of mine. I wanted to know how we can ensure reliability when sending multicast traffic to a group of computers. Since I'm sending UDP traffic as multicast, how can I ensure that each computer belonging to that group received it? I can add reliability by adding sequence numbers to the UDP packets. but that will only work for unicast UDP connections. What about UDP multicast traffic?

Any help will be much appreciated..
Thanking you in advance..

Warm regards,
Visham
 
Old 01-14-2008, 10:38 PM   #2
cetialphav
Member
 
Registered: Sep 2003
Location: Raleigh, NC, USA
Distribution: Fedora
Posts: 88

Rep: Reputation: 16
What do you need to do if you detect a reliability problem? If your program is somehow able to detect that some clients are not receiving the multicast packets, it seems to me that there is nothing you can actually do to improve the situation.
 
Old 01-15-2008, 10:30 AM   #3
rstewart
Member
 
Registered: Feb 2005
Location: Sunnyvale, CA
Distribution: Ubuntu
Posts: 205

Rep: Reputation: 38
Hello,

There are multiple ways of making sure that your data is received correctly. One way is to transmit the source to the destination site multiple times with the receiver picking up additional pieces of the file during each pass. That way when (not if) you drop a packet, your chance of obtaining the dropped packet increases with each iteration of the transmission loop. This technique is called no-code carouseling and can result in rather large transmission times when sending data over lossy networks.

The only other way of making sure that any UDP traffic really gets to a destination is to use some sort of FEC encoding/decoding algorithms along with the carouseling. FEC encoding/decoding causes your data to be transmitted in such a manner that the receiving site has a chance to "reconstruct" the original data based upon which pieces of the data that it has already received. Various FEC techniques exist - some open source, but mostly they are licensed products.

Usage of any of the algorithms depend upon what you are actually trying to protect. It is much easier to protect the transference of a file type object rather than something such as a real-time A/V stream. When protecting a file type object, you pre-encode the file, then transmit the encoded file to the receivers who then decode the file back into the original source version.

Take a look at the open-source Reed-Solomon implementations. Some Reed-Solomon codes are pretty good at protecting against loss, some are not so good. Again, it really depends on the application.

I hope that this helps.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Can I Multicast? donbellioni Linux - Networking 1 09-16-2005 01:36 PM
Need advice on choosing a cheap, reliable, efficient color laser printer TGWDNGHN Linux - Hardware 2 07-05-2005 09:40 PM
multicast WiWa Linux - Software 0 02-17-2004 04:27 PM
multicast det_funkar Linux - Networking 0 12-18-2002 03:04 AM
Multicast mistkhan Linux - Networking 0 06-12-2001 02:26 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 11:13 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration