Fedora Linux Support Community & Resources Center
Sections ›› Home | Forums | Guidelines | Forum Help | Fedora FAQ | Fedora News 

Go Back   FedoraForum.org > The Community Lounge > Programming

Programming A place to discuss programming and development

Reply
 
Thread Tools Search this Thread Display Modes
  #16  
Old 2009-11-09, 02:25 PM CST
jpollard Offline
Registered User
 
Join Date: Aug 2009
Location: Waldorf, Maryland
Posts: 303
linuxfedorafirefox
And none of them implement reliable delivery over UDP without implementing some form of ACK/NAK and
sending limits.

Reliable delivery of UDP is not a standard...

The problem with UDP is that the senders/receivers cannot assume reliable delivery. Reliable delivery can only
be supported at the application layer.

The original statement was '"pseudo TCP" on top of UDP protocol'.

I know TCP works differently. It implements a reliable delivery. UDP does not. Reliable delivery over UDP must
implement something to support it. Simple ACKs can do that, provided the sender knows to slow down when
congestion occurs. The ACK itself (over UDP) will not be reliably delivered - hence the need to limit the amount
of data being sent - as the application must preserve EVERY packet sent until it receives the corresponding ACK.
The entire exchange must occur from origin host to destination host, not just routers in between (advantage to
TCP).

Thus - a count limit on transmission...

Now, there is still a problem on the receiving side - if a data packet is dropped, there will be a hole in the sequence.
Something must inform the sender that data is missing... Hence, a NAK. Now it is entirely possible to implement this
without a NAK - if the sender ASSUMES the ACK was lost (or the data packet) then it can retransmit in the blind.
That can cause congestion - depending on the size of the data packets...

A timer is still needed in the receiver - otherwise a NAK that gets dropped will not get repeated.

The receiver will also need a count limit - otherwise it must buffer every packet following a dropped packet...
Until it gets the missing packet. The sender gets notified to retransmit (via the NAK for that packet).

Now for simple demonstrations - all of this is not absolutely necessary. local UDP delivery is pretty reliable.
Reply With Quote
  #17  
Old 2009-11-09, 06:23 PM CST
premudriy Offline
Registered User
 
Join Date: Dec 2006
Posts: 221
linuxfedorafirefox
Oh, yes, I must not implement NAKs in this project, only ACKs. Acknowledgements are cumulative, i.e. if three packets were received, then I'll send ACK for the last (third) packet, which will mean that all tree packets got through.

As for congestion: there's a receiver buffer and ACKs have a special field that tell how much more packets the sender can supply to receiver.
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
qemu binary format handlers are not registered. jsabarese General Support 1 2007-07-30 08:41 AM CDT
Totem and url handlers Ted Gervais gmane.linux.redhat.fedora.general 1 2006-12-08 05:00 PM CST
Interval timers on Fedora Douglas Phillipson gmane.linux.redhat.fedora.general 4 2006-08-04 04:10 PM CDT
Crazy interrupt handlers ahamza Installation Help 0 2005-10-14 11:57 AM CDT
Timers granularity kvpavuram Programming 0 2005-05-23 02:36 AM CDT

Automatic Translations (Powered by Powered by Google):
Afrikaans Albanian Arabic Belarusian Bulgarian Catalan Chinese Croatian Czech Danish Dutch English Estonian Filipino Finnish French Galician German Greek Hebrew Hindi Hungarian Icelandic Indonesian Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Taiwanese Thai Turkish Ukrainian Vietnamese Yiddish

All times are GMT -7. The time now is 06:20 AM CST.

TopSubscribe to XML RSS for all Threads in all ForumsFedoraForumDotOrg Archive
Hosting provided by ThePlanet



All trademarks, and forum posts in this site are property of their respective owner(s).

FedoraForum.org is privately owned and is not directly sponsored by the Fedora Project or Red Hat, Inc.

Privacy Policy | Term of Use | Posting Guidelines | Archive | Contact | Founding Members
Designed By Ewdison Then | Powered by vBulletin ©2000-2009, Jelsoft Enterprises Ltd.
FedoraForum is Powered by Open Source Projects and Products
Thanks to vBET you can enjoy automatic translations