USENIX Technical Program - Abstract - USENIX Annual
Conference, Freenix Session - June 2000
Protocol Independence Using the Sockets API
Craig Metz, University of Virginia
Abstract
The BSD sockets API provides abstractions and other features that help
applications be protocol-independent. Unfortunately, not all of the API
is abstract and generic, and many programs do not use the APIs in a
protocol- independent way. This means that most network programs, in
practice, only work with one layered set of communications protocols -
usually TCP over IP. This hinders compatibility with older protocols and
deployment of new ones, and is making IP a victim of its own success.
During the course of next-generation IP development, implementors worked
to convert protocol-dependent applications into protocol-independent
applications. Along the way, they defined new interfaces to fix some
problems and they found a number of usage problems that lead to protocol
dependencies.
This paper explains many of the problems encountered, using examples
from freely available software, and how to solve them. It also explains
many of the new protocol-independent interfaces.
|