[comp.protocols.tcp-ip] inter-machine socket interface

bvs@NRC.COM (Bill Versteeg) (12/21/89)

I am in the process of designing a system where an application
living in one box (without a tcp/ip stack) needs to use a tcp/ip
stack living in another box. The connection is via a serial line.
The machine running the applications can't run a full stack, it
is not a big enough box.

I have a proprietary protocol that extends a pseudo-socket interface
into a "smart-card" card environment. This protocol assumes
a shared memory architecture. ( In other words telnet, ftp, etc live
in a xenix context, while tcp/ip live in a smart card).

Is there a standard method of running a "socket" interface over 
a light weight transport layer so that it can utilize the TCP services
of a co-operating system? I don't know of any, so I am about
to embark on a project to extend our proprietary software interface
to not require a shared memory environment. If there has been any work
done in this area, I would love to hear about it.

Otherwise, I will have to do to the socket layer interface what has been
done to IP in PPP. In fact, I believe I will use what I can of PPP.

This is a rather weird request for work done in a pretty specific
area, so rather than clutter up the net, please respond to me directly.

Bill VerSteeg
Network Research Corp.
bvs@nrc.com

-- 
Bill VerSteeg
Network Research Corporation
1000 Kristian Way			
Roswell Ga. 30076					bvs@nrc.com

art@salt.acc.com (Art Berggreen) (12/22/89)

In article <444@nrcvax.NRC.COM> bvs@nrc.COM (Bill Versteeg) writes:
>
>
>I am in the process of designing a system where an application
>living in one box (without a tcp/ip stack) needs to use a tcp/ip
>stack living in another box. The connection is via a serial line.
>The machine running the applications can't run a full stack, it
>is not a big enough box.

It's big enough to run applications but not big enough to implement
TCP/IP?

>I have a proprietary protocol that extends a pseudo-socket interface
>into a "smart-card" card environment. This protocol assumes
>a shared memory architecture. ( In other words telnet, ftp, etc live
>in a xenix context, while tcp/ip live in a smart card).
>
>Is there a standard method of running a "socket" interface over 
>a light weight transport layer so that it can utilize the TCP services
>of a co-operating system? I don't know of any, so I am about
>to embark on a project to extend our proprietary software interface
>to not require a shared memory environment. If there has been any work
>done in this area, I would love to hear about it.

This enters into the realm historically know as "Host to Front End Protocols".
In my opinion (and shared by other I have talked to) that for TCP you
get into a case of diminishing returns.  Often you get into the situation
of implementing a protocol nearly as complex as the one being offloaded.
In your case, if the serial link has any loss/corruption characteristics,
your have to implement error detection and recovery.  If you need to have
multiple sessions running at the same time, you have to implement multiplexing.
If the sessions need to be dynamically established, you need to implement
connection control.  Also, don't forget about flow control and possibly
asynchronous event notification.  This all adds up to something approaching
TCP in complexity.

>Otherwise, I will have to do to the socket layer interface what has been
>done to IP in PPP. In fact, I believe I will use what I can of PPP.
>
>This is a rather weird request for work done in a pretty specific
>area, so rather than clutter up the net, please respond to me directly.

I think the issues of offloading TCP are of more general interest, so
I'm posting to the list.

>Bill VerSteeg
>Network Research Corp.
>bvs@nrc.com
>
>-- 
>Bill VerSteeg
>Network Research Corporation
>1000 Kristian Way			
>Roswell Ga. 30076					bvs@nrc.com


--
+	Art Berggreen		Advanced Computer Communications	+
|	<art@salt.acc.com>	Santa Barbara Street			|
+	(805)963-9431		Santa Barbara, CA 93101			+