Best protocol for high bandwidth high latency situation?

Ipno

Golden Member
Apr 30, 2001
1,047
0
0
Trying to transfer large files over a high bandwidth high latency situation. Think satellite. I control both ends and both server and client are unix. I've been trying various things to see what protocol is the best for this kind of operation?

Latency is around 700-800ms.
 

Jeff7181

Lifer
Aug 21, 2002
18,368
11
81
Interesting question. I don't have a clue but being a networking student, I'm interested to hear what some possible solutions would be.
 

spidey07

No Lifer
Aug 4, 2000
65,469
5
76
This is a funtion of TCP, not an application layer protocol

Just use FTP and use a very large TCP window (provided you have very little packet loss)
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
UUCP? =)

Just make sure your FTP server and client resume automatically and you should be fine.
 

Jeff7181

Lifer
Aug 21, 2002
18,368
11
81
Hmmm... am I misunderstanding, or are others misunderstanding? When you say protocol I think layer 3... as in... you're looking for an alternative to TCP/IP that would be better suited to a high bandwidth and high latency connection.
 

spidey07

No Lifer
Aug 4, 2000
65,469
5
76
Originally posted by: Jeff7181
Hmmm... am I misunderstanding, or are others misunderstanding? When you say protocol I think layer 3... as in... you're looking for an alternative to TCP/IP that would be better suited to a high bandwidth and high latency connection.

Each layer has it's own protocol.

Part of TCP (a layer 4 protocol) is taking into consideration delay, loss and other factors to ensure reliable connecion oriented transport layer. From there layers 5-7 can do whatever they want.

When I said large TCP window - the biggest one you can use without decreasing performance. Window size will adjust depending on conditions (loss, delay, etc). But you want to tell it to try and use the largest it can on high bandwidth/high delay networks.
 

MrEgo

Senior member
Jan 17, 2003
874
0
76
Ever since I've started reading this forum, I've come to realize that spidey is the man when it comes to networking.

With that being said, what does the TCP window do exactly? A few years ago, before I got DSL, I was getting insanely horrible latency when I subscribed to AT&T broadband cable, and the tech support guy recommended that I increase my TCP window. It didn't seem to help, but why would he recommend that?
 

spidey07

No Lifer
Aug 4, 2000
65,469
5
76
Originally posted by: MrEgo
Ever since I've started reading this forum, I've come to realize that spidey is the man when it comes to networking.

With that being said, what does the TCP window do exactly? A few years ago, before I got DSL, I was getting insanely horrible latency when I subscribed to AT&T broadband cable, and the tech support guy recommended that I increase my TCP window. It didn't seem to help, but why would he recommend that?

There's tons of good resources on dslreports.com (I think that's the name of the site, don't really go there).

To really understand what is going on takes a whiteboard and a lot of math. To put it simply:

TCP window size is the amout of data that can be sent from the TCP sender to the Receiver before an acknoldgement must be sent from the receiver.

1) Hi server, I want some stuffs
2) Hello client, I want to give you some stuffs, I've got a whole warehouse full of containers ready for shipment, I can send 800 thousand bytes of stuff (window size) but they'll be in smaller 1500 byte containers without you giving me a phone call that says you missed a shipment or that container somehow got lost. Once I've sent the full 800 thousand bytes of stuff, I expect a phone call to confirm you got it all.
3) Cool, I can receive 800 thousand bytes of stuff and I agree on the container size (max segment size)

This is all that is needed for the TCP 3-way handshake. 3 packets. Bing, Bang, Boom.

The complicated part is what TCP does based on statistics from the shipment of these containers - that's where the math comes in.

What does this have to do with latency? Let's say you talk to server and say you can only handle 8 thousand bytes at a time before you have to phone him? So in the original scenario you have to pick up the phone, call the server, say "hey, I got your measely 8 thousand bytes, keep it coming and why in the world am I calling you when your delivery is just fine? Just gimme more and I'll let you know when I've had enough. This whole acknoldgement thing is getting out of hand and causing us to not more data efficently. It's wasting time. Throughput is data/time."
 

Jeff7181

Lifer
Aug 21, 2002
18,368
11
81
Originally posted by: spidey07
Originally posted by: Jeff7181
Hmmm... am I misunderstanding, or are others misunderstanding? When you say protocol I think layer 3... as in... you're looking for an alternative to TCP/IP that would be better suited to a high bandwidth and high latency connection.

Each layer has it's own protocol.

Part of TCP (a layer 4 protocol) is taking into consideration delay, loss and other factors to ensure reliable connecion oriented transport layer. From there layers 5-7 can do whatever they want.

When I said large TCP window - the biggest one you can use without decreasing performance. Window size will adjust depending on conditions (loss, delay, etc). But you want to tell it to try and use the largest it can on high bandwidth/high delay networks.

So it has to be something in the Transport layer? Or is that just the most logical layer to address the issue? (assuming of course he can't do anything about the medium being high latency)
 

V00D00

Golden Member
May 25, 2003
1,834
0
0
You could use TFTP. If it's a reliable connection, or if it has lower layer error checking you will cut out some overhead with UDP / TFTP.

Also along with window size frame size can be increased. That depends on your link equipment though. For instance you need a special nic & switch to use jumbo frames (9000 byte packets instead of 1500). That greatly increases total throughput.

What hardware are you going to be working with? Are you looking for applications to do this or just protocol ideas? Are you programming for the nix api or some special hardware?
 

spidey07

No Lifer
Aug 4, 2000
65,469
5
76
Originally posted by: V00D00
You could use TFTP. If it's a reliable connection, or if it has lower layer error checking you will cut out some overhead with UDP / TFTP.

Also along with window size frame size can be increased. That depends on your link equipment though. For instance you need a special nic & switch to use jumbo frames (9000 byte packets instead of 1500). That greatly increases total throughput.

What hardware are you going to be working with? Are you looking for applications to do this or just protocol ideas? Are you programming for the nix api or some special hardware?

You're f'in kidding me? Right?
 

Jeff7181

Lifer
Aug 21, 2002
18,368
11
81
Since UDP doesn't verify reciept, wouldn't that be very poor choice? As you go up in the OSI layers, isn't more processing required? So why rely on software in the application layer to do ECC when you can take care of it at a lower level with less overhead?

(I'm not criticizing your answer, I want to learn. If there's a reason it makes sense to use UDP and let ECC happen at the application layer, I want to know what it is.)
 

Ipno

Golden Member
Apr 30, 2001
1,047
0
0
Yes, thanks about TCP window size information, and I'm wondering however if the process can be futher (albeit slightly) improved if there was any way to say, send packets now, validate them later within the TCP framework, as in the way zmodem did in the days of old. Or does TCP do this already? In my experiments with ethereal watching traffic from such things as ftp, scp, nfs, samba and yes, even afs, it doesn't appear to, but I may be missing something.

 

Ipno

Golden Member
Apr 30, 2001
1,047
0
0
In my search, I have found an interesting site discussing TCP congestion control algorithms.

link
 

robmurphy

Senior member
Feb 16, 2007
376
0
0
Does anyone have experience of changing the window size for XP SP2. The commands on the net for XP/win2k do not appear to make any difference. I think the keys and values needed for XP changed with SP2. I did not find anything on Microsoft's site, it may well be there I just could not find it. There is also RFC 1323, and that is supposed to be implemented in XP, but again the details as how to turn it on for SP2 is not clear.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |