It is currently Mon Jun 25, 2018 7:14 pm

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 19 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: new ip65 release
PostPosted: Wed Jul 15, 2009 9:56 am 
Offline
User avatar

Joined: Thu Jan 12, 2006 1:52 am
Posts: 203
Location: Denmark
jonnosan wrote:
I figured it would take me long enough to shake out all the bugs in getting the packet sequencing and acknowledgement right

Disclaimer: I haven't looked at your code!

Just for info, I once did a very handicapped TCP implementation which would simply do RST if anything came out of order or when a FIN came in.. as it turned out all the PC side stuff was very happy with that approach. On modern LANs packets very rarely come in non-sequential sequences.


Top
 Profile  
Reply with quote  
 Post subject: Re: new ip65 release
PostPosted: Wed Jul 15, 2009 12:26 pm 
Offline

Joined: Mon Mar 23, 2009 12:11 pm
Posts: 140
Location: Katoomba, Australia
Devia wrote:
Just for info, I once did a very handicapped TCP implementation which would simply do RST if anything came out of order or when a FIN came in.

cool - what was the platform & language? Any interesting applications?
Devia wrote:
On modern LANs packets very rarely come in non-sequential sequences.

Agree. What you will get though is retransmissions and very occasional packet loss. So by "sequencing" I really meant is checking whether an incoming packet is a duplicate and discarding (although acking( if it's already been seen, and outgoing data is periodically resent until it is ACKed.

What I'm not doing is reassembling IP fragments, or re-ordering TCP packets - if things really did arrive out of order, the packet that arrived 'early' would get dropped, on the basis that the other end will timeout and resend, hopefully after the 'late' packet has arrived. That way I avoid needing any kind of buffer in the ip stack itself - the client apps get a pointer to the TCP data directly in the ethernet frame, and can either act on it immediately or buffer if desired (e.g. the gopher client needs to assemble multiple tcp packets into a complete file, but it can do that knowing it well get each byte in the correct order, and once only).


Top
 Profile  
Reply with quote  
 Post subject: Re: new ip65 release
PostPosted: Thu Jul 23, 2009 3:55 pm 
Offline
Site Admin

Joined: Wed Jan 11, 2006 12:22 pm
Posts: 865
I believe that's exactly how uIP does it when compiled without IP Defragmentation. So you should be good. Btw, that's how i've compiled uIP for GuruTerm, so that's kind of proved to work well in mixed environments by now :D


Top
 Profile  
Reply with quote  
 Post subject: Re: new ip65 release
PostPosted: Fri Jul 24, 2009 9:18 am 
Offline

Joined: Mon Mar 23, 2009 12:11 pm
Posts: 140
Location: Katoomba, Australia
as far as I can tell, about the only ways that you could get IP fragmentation is
1) if someone had an ethernet LAN hooked up to the internet via PPP or SLIP connection (e.g. on a linux box or something) and you were connecting to a computer on the LAN side of that connection (i.e. something other than the router/gateway itself).
2) if someone had enabled 'jumbo frames' on their LAN for some reason.

Anyway I have connected to a reasonable number of hosts of varying flavours and vintage and not had any issues with frgamentation, although I have certainly found (and mostly fixed) plenty of issues with the rest of the tcp stack.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 19 posts ]  Go to page Previous  1, 2

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group