This Web page is a collection of links to topics involving networking software, with some hardware issues thrown in as well. This ranges TCP/IP and T/TCP software to routing, bridging. I've been writing BSD socket level client/server software for a while. My interest routing and related issues started with Radia Perlman's excellent book Interconnections: second edition
The D Language: A Successor to C++
This web page discusses the D programming langauge. As an example, a threaded TCP/IP client-server is implemented in the D programming langauge.
BTP: a BSD socket level file transfer program
I wrote the Bear Transfer Protocol (BTP) program as a way to quickly transfer files across a computer network. This program is modeled after FTP, although it does not use FTP protocol. Like FTP, the BTP program supports directory change and directory listing and transfers both binary and text files. It does not support FTP's security features. This software is implemented in C++ and is available in source form.
The BTP web page also publishes a client/server skeleton and my version of the echo client/server published in UNIX Network Programming, Volume 1, Second Edition: Networking APIs: Sockets and XTI, by W. Richard Stevens.
TCP for Transactions (T/TCP) Home Page
TCP provides a reliable network protocol for exchanging data. The lower level UDP is not reliable, but is faster. T/TCP is an experimental protocol which claims to be both faster than TCP and reliable. T/TCP is implemented on several flavors of UNIX (freeBSD, Linux and SunOS). T/TCP is described in various Internet RFCs and in TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP and UNIX Domain Protocols by W. Richard Stevens. See also T/TCP: TCP for Transactions by Mark Stacey, John Nelson and Ivan Griffin, published in Linux Gazette
Simple Network Management Protocol (SNMP) links
I am beginning to understand why some pundits have predicted the demise of the Internet. Much of this prediction was based on raw bandwidth considerations. Now that we are seeing gigabit routers with terabit routers on the way, it is clear that bandwidth is not an issue. There will be enough money thrown at the problem to support what ever handwidth is needed.
But the Internet and the networks connected to it are not composed only of hardware. All networking and routing protocols have a software component. The original internet TCP/IP design did not envision the huge and exponentially growing collection of networks we have today. When one studies the details of networking software it is amazing that such an obscure and hacked system works at all. One of the obscure features is SNMP.
I got interested in SNMP because I started thinking about network setup and management. How, for instance, could remote routers be configured? How could remote status information be gathered? How could distributed computing technology like Jini be used to perform some of these tasks?
As it turns out, some of these tasks can be performed by SNMP.
SNMP++. This is an object oriented API for SNMP developed at Hewlett-Packard. This is an open source/open interface effort.
Ian Kaplan
May 1, 2000
Most recently revised: