Kitz ADSL Broadband Information
adsl spacer  
Support this site
Home Broadband ISPs Tech Routers Wiki Forum
 
     
   Compare ISP   Rate your ISP
   Glossary   Glossary
 
Please login or register.

Login with username, password and session length
Advanced search  

News:

Author Topic: Tunnel over TCP  (Read 5558 times)

Weaver

  • Senior Kitizen
  • ******
  • Posts: 11459
  • Retd s/w dev; A&A; 4x7km ADSL2 lines; Firebrick
Tunnel over TCP
« on: May 19, 2018, 06:11:23 AM »

Logged

aesmith

  • Kitizen
  • ****
  • Posts: 1275
Re: Tunnel over TCP
« Reply #1 on: May 22, 2018, 01:00:14 PM »

I think the issue with tunnelling TCP within TCP is that you can end up duplicating retransmissions, depending on timers.   Another way of looking at it is that you have a reliable payload, so don't need a reliable tunnel.  Or vice versa of course.  I wonder if it could be worked around by tweaking timers so the tunnel retries and retransmits before the funnelled connection "realises" there's a problem.   Or if you're writing the protocol, an unreliable version of TCP for the tunnel, effectively as if it had an infinite window size.   I presume your idea is that you could tunnel full sized packets since TCP is a stream, and the packets don't need to fit within the MSS but can overlap into successive packets.
Logged

Weaver

  • Senior Kitizen
  • ******
  • Posts: 11459
  • Retd s/w dev; A&A; 4x7km ADSL2 lines; Firebrick
Re: Tunnel over TCP
« Reply #2 on: May 22, 2018, 01:30:58 PM »

Logged

ejs

  • Kitizen
  • ****
  • Posts: 2078
Re: Tunnel over TCP
« Reply #3 on: May 22, 2018, 07:29:40 PM »

I don't think it makes any sense to attempt to fix any MTU issues with a tunnel. All any kind of tunnel is going to do is move the problem somewhere else. I don't think you can fix an MTU issue by mangling the packets somehow at your end.

I think a very clear description of what MTU issue(s) you are attempting to fix might help.
Logged

Weaver

  • Senior Kitizen
  • ******
  • Posts: 11459
  • Retd s/w dev; A&A; 4x7km ADSL2 lines; Firebrick
Re: Tunnel over TCP
« Reply #4 on: May 22, 2018, 11:01:30 PM »

A tunnel interface is what's required. Clearly you can't fix an mtu problem when you have already created it, that makes no sense.
Logged

ejs

  • Kitizen
  • ****
  • Posts: 2078
Re: Tunnel over TCP
« Reply #5 on: May 24, 2018, 07:26:55 PM »

That goes back to my second point:

I don't think you can fix an MTU issue by mangling the packets somehow at your end.

What exactly is this MTU problem that you are trying to solve?
Logged

Weaver

  • Senior Kitizen
  • ******
  • Posts: 11459
  • Retd s/w dev; A&A; 4x7km ADSL2 lines; Firebrick
Re: Tunnel over TCP
« Reply #6 on: May 25, 2018, 04:26:25 AM »

Logged

aesmith

  • Kitizen
  • ****
  • Posts: 1275
Re: Tunnel over TCP
« Reply #7 on: May 25, 2018, 12:56:06 PM »

I understand the idea.   Currently most if not all tunnels carry the tunnelled packets on a one to one basis, meaning that the tunnelled data's MTU is reduced to allow space for the additional tunnel headers.  However if you tunnelled using a streaming transport there's be no need.  Payload packets could be spread over any number of tunnel packets.   Simple example the first tunnel packet might carry 3/4 of a payload packet, next one has the last 1/4 and 1/2 of the next packet etc.
Logged

Weaver

  • Senior Kitizen
  • ******
  • Posts: 11459
  • Retd s/w dev; A&A; 4x7km ADSL2 lines; Firebrick
Re: Tunnel over TCP
« Reply #8 on: May 25, 2018, 01:50:49 PM »

Indeed. Quite so.
Logged

ejs

  • Kitizen
  • ****
  • Posts: 2078
Re: Tunnel over TCP
« Reply #9 on: May 25, 2018, 08:10:59 PM »

So what MTU issue(s) is this design study supposed to be solving then?

Or is the whole idea to have a connection to a server hosted somewhere that can chop up packets however you like, and you can put them back together at your end?
Logged

Weaver

  • Senior Kitizen
  • ******
  • Posts: 11459
  • Retd s/w dev; A&A; 4x7km ADSL2 lines; Firebrick
Re: Tunnel over TCP
« Reply #10 on: May 26, 2018, 02:12:03 AM »

Logged

niemand

  • Kitizen
  • ****
  • Posts: 1836
Re: Tunnel over TCP
« Reply #11 on: May 26, 2018, 12:42:13 PM »

My employer's product already does this. Combination of https://tools.ietf.org/html/rfc1191 and own fragmentation and reassembly algorithms.

Use methods to establish link MTU then use MSS clamping to ensure TCP segments are the correct size. Where protocols do not have an MSS use own encapsulation, fragmentation and reassembly to break large packets down and reassemble them on the other side.

If running a tunnel you obviously have endpoints either side of it so it's not a problem to do this.

So this is already a done thing from a number of vendors. It's basically offloading the overhead of fragmentation, reassembly, etc, from the endpoints to an intermediate device and is usually used for things like replication tasks where an FCIP blade appears to use jumbo frames, the actual transport being abstracted by a tunnel.

Using TCP inside TCP isn't really a thing from this point of view. Usually you'll be wanting your own proprietary protocol for other purposes so may as well incorporate the functions of TCP you need into that and encapsulate in UDP, GRE or something else.

In the case of our software GRE, UDP, IPSEC over UDP (NAT-T) and AH/ESP are available. When transporting TCP we will place it inside something else and, depending on conditions, either have the host and server layer 4 session untouched or run a TCP proxy to improve throughput.
Logged

Chrysalis

  • Content Team
  • Addicted Kitizen
  • *
  • Posts: 7611
  • AAISP CF
Re: Tunnel over TCP
« Reply #12 on: May 26, 2018, 01:25:40 PM »

yeah openvpn can do this disable encryption and set TCP as protocol
Logged