[53481] in North American Network Operators' Group

home help back first fref pref prev next nref lref last post

Re: DirecPC Protocols

daemon@ATHENA.MIT.EDU (Crist J. Clark)
Fri Nov 15 17:26:15 2002

Date: Fri, 15 Nov 2002 14:01:59 -0800
From: "Crist J. Clark" <crist.clark@attbi.com>
To: nanog@merit.edu
Reply-To: cjclark@alum.mit.edu
In-Reply-To: <5.1.0.14.0.20021115163918.0218ea90@pop.kabelfoon.nl>
Errors-To: owner-nanog-outgoing@merit.edu


On Fri, Nov 15, 2002 at 04:41:10PM +0100, Jurian van der Knaap wrote:
> You might get some info out of the Linux DirecPC driver, or maybe the 
> developers of the driver can help.
> 
> Find it at http://sourceforge.net/projects/direcpc
> 
> Hope this is of any help,

Yeah, this helped. It showed me that their protocol is totally
broken.

They do an GRE- or IPIP-like encapsulation, but then set the protocol
field to that of the encapsulated packet. Or if the encapsulated
packet is not TCP, UDP, or ICMP, they set the outer protocol to TCP.
This will totally break behind NAT when the NATing device changes the
source IP address and then "fixes" the TCP or UDP checksum due to the
pseudo-header change. Either the NATing device drops the packet when
the intial checksum is wrong or it mangles the payload, which isn't
really TCP.

Who designs these things? And what were they smoking when they did?
-- 
Crist J. Clark                     |     cjclark@alum.mit.edu
                                   |     cjclark@jhu.edu
http://people.freebsd.org/~cjc/    |     cjc@freebsd.org

home help back first fref pref prev next nref lref last post