From Seagull.RTD.COM!venus.sunquest.com!CS.Arizona.EDU!math.arizona.edu!noao!ncar!elroy.jpl.nasa.gov!decwrl!apple.com!amd!amdahl!netcomsv!netcom.com!aboba Tue Nov 9 21:48:49 1993 Newsgroups: comp.protocols.tcp-ip.ibmpc,comp.answers,news.answers Path: Seagull.RTD.COM!venus.sunquest.com!CS.Arizona.EDU!math.arizona.edu!noao!ncar!elroy.jpl.nasa.gov!decwrl!apple.com!amd!amdahl!netcomsv!netcom.com!aboba From: aboba@netcom.com (Bernard Aboba) Subject: comp.protocols.tcp-ip.ibmpc Frequently Asked Questions (FAQ) Message-ID: Followup-To: poster Summary: Frequently Asked Questions (and answers) about TCP/IP on PC-compatible computers. Keywords: TCP/IP, IBM PC, SLIP, PPP, NDIS, ODI Reply-To: aboba@world.std.com Organization: MailCom Date: Thu, 4 Nov 1993 23:03:43 GMT Approved: news-answers-request@MIT.Edu Expires: Fri, 3 Dec 1993 00:00:00 GMT Lines: 3319 Xref: Seagull.RTD.COM comp.protocols.tcp-ip.ibmpc:3600 comp.answers:1408 Archive-name: ibmpc-tcp-ip comp.protocols.tcp-ip.ibmpc: FAQ Posting, 11/1/93 Unless otherwise stated, the views expressed herein are my own. Last time I looked, I had not been appointed official spokesperson of any of the following: The Planet Earth The U.S.Government The State of California (not so good) The University of California, Berkeley The City of Berkeley (bringing you Riot of the Week) Any major or minor breakfast cereal (not even oatmeal!) This FAQlet will be posted monthly. In between it will be available from the FTP archive on netcom1.netcom.com, get /pub/mailcom/IBMTCP/ibmtcp.zip. ************** Legalese ************** This FAQ is presented with no warranties or guarantees of ANY KIND including correctness or fitness for any particular purpose. The author(s) of this document have attempted to verify correctness of the data contained herein; however, slip-ups can and do happen. If you use this data, you do so at your own risk. *********** Citation entry *********** This FAQ may be cited as: Aboba, Bernard D.(1993) "comp.protocols.tcp-ip.ibmpc Frequently Asked Questions (FAQ)" Usenet news.answers, available via file://netcom1.netcom.com/pub/mailcom/IBMTCP/ibmtcp.zip, 41 pages. *********** Change History *********** Changes from 10/1/93 posting: Various updates and corrections. *********** Related FAQs *************************** There is a FAQ available on features of TCP/IP Packages for DOS and Windows. This is available at: file://ftp.cac.psu.edu/pub/dos/info/tcpip.packages. The Windows Sockets Faq is posted to alt.winsock, and is available at: file://SunSite.UNC.EDU/pub/micro/pc-stuff/ms-windows/winsock/FAQ The PC-NFS FAQ is available at: file://seagull.rtd.com/pub/tcpip/pcnfs.FAQ.v1.4.Z or pcnfsfaq.zip file://ftp.york.ac.uk/pub/FAQ/pcnfs.FAQ *********** EXAMPLE CONFIGURATION FILES *********** Many thanks to Dave Fetrow (fetrow@biostat.washington.edu) for creating an archive of setup files. The archive is particularly oriented toward sets of applications that are somewhat tricky, such as combinations involving different driver sets, mixtures of Novell, TCP/IP, and W4WG, etc. Please include not only the setup and configuration files but some directions. Comments included with the setup files are highly desirable. The files can include your name if you desire. Please mail submissions to ftp@ftp.biostat.washington.edu. The archive itself is located at: file://ftp.biostat.washington.edu/ftp/pub/msdos/network.setups *********** QUICKIE Guide to Useful Stuff ************ HGopher: PC-Eudora: PKTMUX: winpkt: ODIPKT: file://hsdndev.harvard.edu/pub/odipkt/odipkt.com, net.cfg,readme NUPOP: PKTDRV: Cello: PC Gopher: Trumpet: WinTrumpet(?): Trumpet Winsock: file://ftp.utas.edu.au/pc/trumpet/winsock/winsock.zip WinTelnet: PC Pine: PC Mosaic: WinMosaic: WinCello: file://ftp.law.cornell.edu/pub/LII/Cello/winsock_alpha/cello.zip, viewers.zip, gswin.zip Packet driver specs: file://vax.ftp.com/pub/packet-d.ascii,packet-d.mss ODI driver info: file://sjf-lwp.novell.com/anonymous/dev_docs/lan_drv/*, ODI Protocol stack info: file://sjf-lwp.novell.com/anonymous/dev_docs/pstacks/* NDIS specs: file://vax.ftp.com/pub/ndis-mac.v101.txt, ndis-mac.v201.txt ****************************************************** TABLE OF CONTENTS A. Components of a TCP/IP solution A-1. What do I need to run TCP/IP on the PC? A-2. What are packet drivers? Where do I get them? A-3. What is Winsock? Where can I get it? A-4. What publicly distributable TCP/IP applications are there for DOS? Windows? A-5. What software is available for doing SLIP? Compressed SLIP? PPP? For DOS? For Windows? A-6. Where can I get ping? traceroute? A-7. How do I install packet drivers for Windows applications? A-8. When do I need to install WINPKT? A-9. How to do I run both WinQVT and ODI? A-10. Is it possible to use BOOTP over SLIP? A-11. How do SLIP drivers work? A-12. When do I need to install PKTMUX? A-13. Can NDIS be used underneath multiple protocol stacks of the same type? A-14. Is there an NDIS over packet driver shim? A-15. How do I run NetBIOS over TCP/IP? A-16. How do I get my BBS to run over TCP/IP? A-17. Sample Stick Diagrams A-18. Strange and wonderful configuration files submitted by readers B. Hints for particular packages B-1. What do I need to know before setting up SLIP or PPP? B-2. How do I configure SLIPDISK? B-3. What version of KA9Q should I use and where do I get it? B-4. How do I configure KA9Q as a SLIP connection? B-5. How do I configure KA9Q as a router? B-6 How do I get KA9Q to support BOOTP? B-7. How do I get DesQView X to run over the network? B-8. Why is NFS so slow compared with FTP? B-9. How do I get KA9Q to support PPP? B-10. How do I get KA9Q to support SLIP dialin? B-11. Where can I get information on running Novell and TCP/IP concurrently? B-12. What Novell TCP/IP NLMs are out there and how do I get them to work? B-13. How do I get a telecom package supporting Int 14h redirection to work? B-14. How do I run SLIP with Windows For Workgroups TCP/IP? B-15. How do I get Windows For Workgroups to work alongside Novell? B-16. NCSA Telnet doesn't reassemble fragments. What should I do? C. Information for developers C-1. What publicly distributable TCP/IP stacks are there that I can use to develop my own applications? C-2. Where can I get a copy of the Windows Sockets FAQ? --------------------- FAQlet Begins Here --------------------------- A. Components of a TCP/IP solution A-1. What do I need to run TCP/IP on the PC? To run TCP/IP on the PC you will need: * Appropriate hardware, such as: Ethernet card Token Ring card AppleTalk card Serial Port Any other network card with a packet driver or NDIS or ODI driver, (such as Arcnet), will also work. If your card supports NetBIOS, this is also acceptable, since you can run a packet-driver-over- NetBIOS shim. * Drivers for your hardware. Your card probably came with one or more of the following drivers: Network Device Interface Specification (NDIS) drivers [spec. by 3Com & Microsoft, used by LAN Manager, Windows for Workgroups, and Windows NT. LAN Manager uses NDIS 2.0, Windows NT uses 3.0, and WFW supports 2.0 and will support 3.0] ODI Drivers [spec. by Novell, abbreviation for Open DataLink Interface] Packet Drivers [spec. by FTP Software] TCP/IP stacks have been written for each of these driver interfaces, so the important thing is whether your chosen stack is compatible with the interface available for your card. A shim is software that runs on top of one set of drivers to provide an interface equivalent to another set. This is useful, for example,if you are looking to run software requiring an NDIS driver(such as Chameleon NFS) alongside software requiring a packet driver interface (such as KA9Q, Gopher, Popmail, NCSA Telnet, etc.), or run software intended for, say, a packet driver over an NDIS driver instead. Shims are available to run packet drivers over NetBIOS, ODI, or NDIS, in order to run software expecting a packet driver over NDIS, ODI, or NetBIOS instead. * A TCP/IP protocol stack. The TCP/IP protocol stack runs on top of the driver software, and uses it to access your hardware. If you are running a TCP/IP protocol stack that requires drivers that aren't available for your hardware, you're in trouble. Check into this before purchasing! * If running Windows applications that require it, WINSOCK.DLL. Windows Sockets is a sockets interface which was created as a Windows DLL. Each TCP/IP implementation requires its own version of Windows Sockets. There is not yet a freely available Windows Sockets implementation released yet, although Trumpet WinSock is currently in Alpha test. WINSOCK.DLL provides 16-bit support; WSOCK32.DLL provides 32-bit support. * Applications software. Although most of us in this newsgroup seem to spend our time looking for working combinations of applications, WINSOCK.DLL, Windows Sockets compliant TCP/IP implementations, shims, drivers, and hardware, ultimately your goal is eventually to run an application successfully. If and when that ever happens, please send me a note, so I can add it to this FAQlet. A-2. What are packet drivers? Where do I get them? Packet drivers provide a software interface that is independent of the interface card you are using, but NOT independent of the particular network technology. As Frances K. Selkirk (fks@vaxeline.ftp.com) notes: "That's one reason they're easier to write than ODI drivers! If you write a class three (802.5 Token Ring) driver, you will need to use software that expects a class three driver, not software that expects a class 1 (DIX ethernet) driver. There are a few drivers that fake class 1. I believe only class 1 and class 6 (SLIP) drivers are supported by freeware packages." The chances are fair that your Ethernet card came with a packet driver, and if so, you should try that first. If not, then you can try one of the drivers from the Crynwr collection (formerly called the Clarkson Drivers). See the Resource listing for info. For 3COM drivers, try ftp ftp.3com.com. For technical information, try info@3com.com. For marketing and product info, try leads@hq.3mail.3com.com.The packet driver specification is available from vax.ftp.com in packet-d.ascii The following vendors have packet drivers with source available for their pocket lan adaptors: D-Link - +1-714-455-1688 Solectek - +1-619-450-1220 Accton - +1-415-266-9800 Compulan - +1-408-922-6888 (soon Kodiak's Noteport - +1-408-441-6900) A-3. What is Windows Sockets? Where can I get it? The idea for Windows Sockets was born at Fall Interop '91, during a Birds of a Feather session. From the Windows Sockets specification: [courtesy of Mark Towfiq, towfiq@Microdyne.COM]: The Windows Sockets Specification is intended to provide a single API to which application developers can program and multiple network software vendors can conform. Furthermore, in the context of a particular version of Microsoft Windows, it defines a binary interface (ABI) such that an application written to the Windows Sockets API can work with a conformant protocol implementation from any network software vendor. Windows Sockets will be supported by Windows, Windows for Workgroups, Win32s, and Windows NT. It will also support protocols other than TCP/IP. Under Windows NT, Microsoft will provides Windows Sockets support over TCP/IP and IPX/SPX. DEC will be implementing DECNet. Windows NT will include mechanisms for multiple protocol support in Windows Sockets, both 32-bit and 16-bit. As Mark Towfiq notes: "The next rev. of Winsock will not be until towards the end of 1993. We need 1.1 of the API to become firmly settled and implemented first." Mark continues: "Files and information related to the Windows Sockets API are available via FTP (user: "anonymous", password: your e-mail address) on the host SunSite.UNC.EDU, in /pub/micro/pc-stuff/ms-windows/winsock, which is a mirror of /pub/winsock on Microdyne.COM (SunSite has a much faster connection to the Internet, so you are advised to use that). If you do not have FTP access to the Internet, send a message with the word "help" in the body to either ftpmail@SunSite.UNC.Edu, or ftpmail@DECWRL.DEC.Com, to obtain information about the FTP to Mail service there." Alternative sources for the Windows Sockets specification include rhino.microsoft.com (an FTP server running NT), as well as the Microsoft forum on CompuServe (go msl). Currently NetManage (NEWT), Distinct, and Frontier are shipping Winsock TCP/IP stacks. Wollongong and FTP are in beta. If you are looking for a Winsock.dll, you should first contact your TCP/IP stack vendor. Windows NT and TCP/IP for Windows for Workgroups are currently in beta from Microsoft. Peter Tattam is alpha-testing a shareware Windows Sockets compliant TCP/IP stack. If you're interested in helping with the testing, you can obtain it via ftp ftp.utas.edu.au, cd /pc/trumpet/winsock, get winsock.zip, winpkt.com. A-4. What publicly distributable TCP/IP applications are there for DOS? Windows? Right now there are a wealth of publicly distributable TCP/IP applications running under DOS. The situation is not as good under Windows, although things are developing fast. See the Resource listings for information. A-5. What software is available for doing SLIP? Compressed SLIP? PPP? For DOS? For Windows? For OS/2? For SLIP, I recommend the SLIPDISK distribution (see resources section for listing), since this supports a suite of applications. However, this does not support Van Jacobson compression. KA9Q supports SLIP/CSLIP/PPP, but unfortunately can not be used as a TCP/IP protocol stack to run other apps. [Are there any PPP supporting drivers out there?] There is a special version of NCSA Telnet for PPP, available from merit.edu, /pub/ppp directory. IBM is reportedly shipping an OS/2 CD-ROM with beta versions of their TCP/IP package, for a very good price. The CD includes their TCP/IP stack, X-Windows implementation, and TCP/IP developer's kit. Please see the FAQ from comp.os.os2.networking for details. IBM, FTP Software, and Netmanage also offer SLIP support in their products. See the resource listings for details. A-6. What diagnostic utilities are available to find problems with my connection? Where can I get them? Frequently used diagnostic utilities include ifconfig (checks the configuration of the network interfaces), ping (tests IP layer connectivity), traceroute (traces the route that a packet takes between two sites), netstat (checks the routing table), tcpdump (protocol analyzer), arp (looks at the IP to Ethernet address mappings). KA9Q includes ifconfig, ping and traceroute functions. In KA9Q hop check is the equivalent of traceroute. The Trumpet TCP/IP stack also has a hopchk2 command that is a traceroute equivalent. The DNPAP tools (check the resource guide for listings) include Ethernet packet catchers, networking monitors and a network host profiler. A-7. How do I install packet drivers for Windows applications? The secret is to load the packet driver, then run Windows. A-8. When do I need to install Winpkt? James Harvey (harvey@iupui.edu) notes: Winpkt is only useful running DOS applications with built-in TCP/IP stacks under Windows, and for some Windows-based stacks (like the Trumpet winsock.dll). When an application registers with a packet driver TSR to receive packets of a specified protocol type, one of the things it hasto pass as a parameter to the packet driver in the call is the address of a routine in the application that the packet driver is to call when it has a packet to pass back to the application. In the case of an application running in 386 enhanced mode in a DOS shell under Windows that is using a packet driver loaded in real mode before Windows was loaded, the packet driver must ensure that Windows has the application in memory when it does the callback, otherwise the callback jumps off into space and your system locks up. Winpkt does a Windows system call to force the app into memory before the callback is done. Erick Engelke (erick@development.uwaterloo.ca) notes: Windows in enhanced mode uses the protected mode of the 386 CPU to create multiple virtual machines. Winpkt tells Windows to switch to the correct virtual machine before trying to pass up the packet. This reduces the chances of Windows crashing. A-9. How do I run both WinQVT/Net and ODI? To do this, you need to install an ODI driver, and then use ODIPKT to provide a packet driver style interface to WinQVT/Net. If you are using other packet driver applications, you might also install PKTMUX as well. The arrangement looks like: WinQVT/Net Trumpt, NCSA Telnet, PC Gopher \ / \ WINPKT \ / PKTMUX (opt.,use if >1 TCP/IP app.) | | Novell | \ / NETX PKTINT \ / IPXODI ODIPKT \ / \ / | ODI driver and LSL | Ethernet Card A-10. Is it possible to use BOOTP over SLIP? Yes, but it is easier to use dynamic address assignment to get your IP address. This is where the SLIP server outputs your IP address before switching to SLIP. If you need BOOTP, then you should run a BOOTP server on the SLIP server so that it can tell which SLIP connection originated the request. Of course, the BOOTP server will ignore the hardware address of the request originator, but instead will keep track of the SLIP interface the request came in on. See the question on adding BOOTP to KA9Q for info on how to handle this on the PC. Under UNIX, you may have to add BOOTP capability to your slip driver, and rebuild the kernel. (Not recommended for the squimish). A-11. How do SLIP drivers work? Some TCP/IP applications are written to only support Class 1 (Ethernet) packet drivers, but do not support Class 6 (SLIP). For these applications, you need software to make the application think it is dealing with a class 1 interface. This is done by adding fake ethernet headers to incoming SLIP packets and stripping the headers off outgoing packets. A-12. When do I need to use PKTMUX? PKTMUX is needed to allow you to use more than one TCP/IP stack at the same time. This is useful if you have applications that require different stacks. Note that you do not need PKTMUX to run different protocols, since packet drivers only look at packets in the protocol they're designed to handle, and therefore you can use more than one of these at a time without conflict. You also don't need PKTMUX if all your applications use the same TCP/IP stack. PKTMUX works by looking at outgoing datagrams, and caching information on source and destination ports and addresses. Using this information, PKTMUX tries to sort incoming datagrams by TCP/IP stack. If it can't figure out which stack to send a datagram to (as might be the case if you were running a server application on a well-known port, and had not sent any outgoing packets yet), PKTMUX will send the datagram to all stacks. If all stacks do not complain about the datagram, PKTMUX will throw away the ensuing outgoing ICMP error message, assuming that one of the stacks correctly received the datagram. If all stacks complain, it will send a single ICMP message and throw the rest away. While PKTMUX does its job very well, there are some situations that it cannot handle, such as port conflicts. If two applications open the same TCP port, chaos is inevitable, and there is little that PKTMUX can do to help. A-13. Can NDIS be used underneath multiple protocol stacks of the same type? No. There is no equivalent to PKTMUX for NDIS. A-14. Is there an NDIS over Packet Driver Shim? Joe Doupnik writes: "No. Packet Drivers work by having an application register for a particular packet TYPE, such as 0800 for IP. NDIS does works much differently by offering a peekahead of every packet to applications in turn, a polling operation. The only way NDIS could gracefully sit on a PD would be to run the Packet Driver in all-types mode and let NDIS see all pkts not used by other clients. Needless to say, that's an undesirable situation. The quick solution, costing about US$100 (at least at my place, more at yours) is a second Ethernet board in the client together with a second IP address (most important, please)." A-15. How do I run NetBIOS over TCP/IP? NetBIOS over TCP/IP is discussed in RFCs 1001 and 1002. Assuming you don't need any of the extensions to RFC NetBIOS Microsoft created to make NetBIOS work smoothly in a routed environment (available only in their IP stack), you can choose from a wide variety of commercial vendors. For example, FTP Software's PC/TCP includes RFC NetBIOS support; Performance Technologies has a NetBIOS that runs over packet drivers, as does Accton (LANSoft). A-16. How do I get my BBS to run over TCP/IP? First off, let's clarify what we mean by "over TCP/IP." Usually this means "accessible via Telnet." Be aware that doing this will not necessarily work well, since few BBSes have been tested running over TCP/IP. As a result you may experience frequent crashes, or abominable transfer rates. For example, I have seen transfer rates as low as 100 characters/second over a 14.4 Kbps PPP connection which routinely supports 1600 cps transfers with FTP. This situation might be improved by running an FTP server instead. This could be accomplished for example by running KA9Q in another window under DesQView, or by putting the files on an NFS-mounted drive, then using another machine as the FTP server. One way to hook up a multi-line BBS is to use a terminal server, and hook up the BBS's serial ports to that. The disadvantage of this is that if your BBS is really big you will need multiple terminal servers which will each have their own domain names and TCP/IP addresses. Confusing. Brian Clements of Murkworks has a better solution. This is to run a terminal server NLM. This can hook up BBSes of arbitrary size, all lines with a single TCP/IP address. This works along with a FOSSIL compatible communications driver. For info, contact him at bkc@murkworks.com. In this same vein, there is a line of TCP/IP FOSSIL drivers from Daniel J. Karnes (djk@tasp.tasp.net) of NMS & Systems Engineering, TASP Development Group, Silverado, CA 92676-0233, (909)245-2286. According to Daniel: "TASP installs in any IBM PC/AT/XT compatible system as a TSR and once resident provides an application transparent interface layer for several major networking protocols. TASP fully conforms to the FOSSIL specification, which means that it will work with any program that can talk to a FOSSIL, including Fido, WILDCAT!, PCBoard, Searchlight, and Waffle. TASP is easily installed and can operate totally independent of any other software. A user connects to TASP via a LAN, X.25 link or Internet SLIP line and then TASP communicates with the application as if it were a modem. All the application need to is to make Int 14 function calls to talk to TASP. TASP can make use of the internal COM ports on your system, a multiport or multimodem board, or an ethernet card. " It may also be possible to use Int 14h redirection, as supported by the WATTCP Int 14h redirection program (see below). I haven't used this, but I have heard that it works with both WILDCAT! and QMODEM Pro. If you know differently, please let me know. A-17. Stick diagrams It has been proposed that we begin to collect some diagrams of working combinations of hardware, drivers, shims, stacks, and applications. I'm game, and have made a start below. If you've got some other exotic configuration that works (or if you've tried one of the configurations below and discovered it doesn't work, drop me a line). Running an individual DOS application under Windows NCSA telnet / DOS Trumpet / POPmail/ PC Gopher III | DOS Session | Windows 3.1 | WinPKT | Packet driver or Shim | DOS DOS Trumpet, NCSA Telnet, and WinQVT/Net over Ethernet under Windows QVT/NET | TRUMPET NCSA telbin | | | | PKTDRV1 PKTDRVn | | | | DOS Session DOS Session Windows Session +-----------+-----------------+ | | | + | WINDOWS 3.1 ............. WINDOWS 3.1 | | | PKTINT(QVT/NET own) | | | PKTDRVx +-------------------------------+ PKTMUX n | CryNwr Driver or SHIM | DOS PC Gopher III, NCSA Telnet over CSLIP under Windows PC Gopher III NCSA telbin | | PKTDRV1 PKTDRVn | | DOS Session DOS Session +-----------+-----------------+ | + WINDOWS 3.1 | | | | + PKTMUX n | CSLIPPER | DOS | Serial Port PC Gopher II and Novell on a LAN - Alternative I NOVELL PC Gopher | III | | | DOS Session NETX | | Windows 3.1 | | PDIPX WINPKT / \ / \ / \ / \ / Packet Driver | DOS | Ethernet card | Ethernet PC Gopher III and Novell on a LAN - Alternative II PC-Gopher III | DOS Session | Windows 3.1 | WINPKT | | Novell | \ / NETX PKTINT \ / IPXODI ODIPKT \ / \ / | ODI driver and LSL | DOS | Ethernet Card | Ethernet WinQVT/Net and PC Gopher II and Novell over a LAN - Alternative I PC Gopher III | Win QVT/Net PKTDRV1 | | | DOS session Windows 3.1 | | Windows 3.1 PKTINT (QVT/NET own) | | | PKTDRVn WinPKT | | | NOVELL +----------------+ | | | | | PKTMUX n NETX | | \ PDIPX \ | \ | \ | \ | Packet Driver --------------+ | DOS | Ethernet Card | Ethernet WinQVT/Net, PC Gopher III and Novell over a LAN - Alternative II QVT/Net PC Gopher III NCSA telbin | | | | PKTDRV1 ..... PKTDRVn | | | | | DOS Session DOS Session Windows Session +-----------+-----------------+ | | | | | WINDOWS 3.1 .......................WINDOWS 3.1 | | | PKTINT(QVT/NET own) | | | PKTDRVx | | | | | | | | +------------------+------------+ | Novell | \ / NETX PKTMUX n (use if >1 TCP/IP app) \ / IPXODI ODIPKT \ / \ / | ODI driver and LSL | DOS | Ethernet Card | Ethernet PC Eudora and WinVN over CSLIP under Windows using Packet Driver supporting stack [Whether the TCP/IP stack is loaded before or after Windows depends on the stack] PC Eudora WinVN \ / \ / \ / \ / Winsock | Windows 3.1 | TCP/IP Stack (Supports Packet Drivers) | CSLIPPER | DOS | Serial Port PC Eudora and WinVN supporting Ethernet and CSLIP under Windows using NDIS supporting stack [Chameleon] [Note: this diagram requires a stack that routes] PC Eudora WinVN \ / \ / \ / \ / Winsock | TCP/IP Stack | Windows v3.1 | +------------------+ | | NDIS Driver | | | DOS Serial Port | Ethernet card | Ethernet PC Eudora and WinVN over CSLIP and Ethernet under Windows [TCP/IP stack must support routing!] PC Eudora WinVN \ / \ / \ / \ / Winsock | Windows 3.1 | TCP/IP Stack | / \ / \ CSLIPPER Packet Driver | | | | Serial Ethernet card Port | | Ethernet WinQVT/Net (Windows Sockets version) and WinVN under Windows WinVN, WinQVT/Net (Winsock version), HGopher, Cello, PC Eudora, etc. | Winsock | TCP/IP Stack | Windows Session | | Windows 3.1 | | | NDIS, Packet or ODI Driver | DOS | Ethernet PC Eudora, WinVN, and PC Gopher III under Windows WinVN PC Eudora \ / PC Gopher \ / III \ / | | WINPKT WinSock \ | \ TCP/IP Stack \ / \ / \ / | PKTMUX | Packet Driver | DOS | Ethernet Card | Ethernet HGopher, PC Eudora, and WinVN Under Windows (Whether the TCP/IP stack is loaded before or after Windows depends on the stack) HGopher | | PC | Eudora | WinVN \ | / \ | / \ | / \|/ Winsock | Windows 3.1 | TCP/IP Stack | NDIS, Packet, or ODI Driver | DOS | Ethernet Card | Ethernet A-18. Strange and wonderful configuration files Robert Clift (clifta@sfu.ca) writes: "I have WinQVT/Net 3.4, PC Gopher III (including NCSA DOS Telnet), KA9Q (gopher and FTP server), and POPMail all running together under Windows over PKTMUX on a 3C503 packet driver (and ehternet card)." Here is the stick diagram (yikes!): Win/QVTNet 3.7 KA9Q Gopher PC POPMail 3.2 PC Gopher III 1.01 on interrupt 65 & FTP Server \ / \ | \ / \ | \ / \ | \ / \ PKTDRV PKTDRV \ | / \ DOS Session DOS Session \ | / \ | ------------------- \ | / Windows 3.1 | PKINT | PKTDRV on Int 65 no listeners set | PKTMUX 1.2 with 3 channels | Clarkson 3C503 Packet Driver | DOS | 3Com Etherlink II/16 TP | Ethernet NOTES: Win/QVTNet must be loaded as the very first Windows application and must be kept operating as long as your are in Windows. It appears that its TCP/IP stack does some strange things when it disconnects and kills access to the actual packet driver. I run PC gopher and POPMail alternatively, so they share one channel which is allocated via PKTDRV before running the application and deallocated after the application is finished (I usually throw in a reset command to PMTMUX as well just to be safe). To explain what is happening (as best I can since a lot of this came from experimentation): 1. The packet driver is loaded 2. PKTMUX is run over the packet driver in order to multiplex it (in this case three channels). 3. A virtual packet driver is loaded for Win/QVTNet on interrupt 65 and the packet driver is told that it is not to listen for any server requests. 4. The PKINT shim is loaded over top of the virtual packet driver 5. Start Windows and run Win/QVTNet as the first application, it must be kept running throughout the Windows session. 6. Load a virtual packet driver from a DOS session and start KA9Q. I use the following batch file to do this: c:\network\pktdrv 63 /l h: cd \ net091b c:\network\pktdrv 63 /uu c:\network\pktmux /r 7. Load a virtual packet driver and run PC Gopher or POPMail as needed. I use the following batch files for PC Gopher and POPMail respectively: c:\network\pktdrv 63 h:\goph-cli\gopher /T=h:\goph-cli\text /X=h:\goph-cli\binary c:\network\pktdrv 63 /uu c:\network\pktdrv 66 /c h:\popmail\popmail /noems c:\network\pktdrv 66 /uu 8. The only problem seems to be that the NNTP module in Win/QVTNet will not operate correctly if POPMail is operating. Otheriwse it seems to work okay without too many problems. B. Hints for particular packages B-1. What do I need to know before setting up SLIP or PPP? Before setting up your SLIP or PPP connection, you should have available the following information: * The domain name and TCP/IP address of your host. * Whether your TCP/IP address will be assigned statically, dynamically, or from the server. * The domain name and TCP/IP address of your machine (if you are not configuring the address dynamically or via BOOTP) * The domain name and TCP/IP address of the primary and secondary Domain Name Server. * The subnet mask. * The domain name and TCP/IP address of an NNTP server. * Whether your host supports POP, and if so, what version. * Whether the host supports compressed or uncompressed SLIP, or PPP. * The size of the Maximum Receivable Unit (MRU). Do not attempt to connect to your host before you have this information, since it will just waste your time and money, and may cause problems for the network. In particular, do not attempt to initiate a connection using a made up TCP/IP address! It is possible that your made-up address may conflict with an existing address. This is probably the quickest way to get people very angry at you. Static addressing means that your TCP/IP address will always be the same. This makes it easy to configure your setup files. Dynamic addressing means that the host will send you a message containing your TCP/IP address when you log on. This can be problematic if your software doesn't support grabbing the address and inserting it into the setup files. If not, then you may have to edit your setup files every time you log on. Yuck! Chameleon NFS includes a version of SLIP which can handle dynamic addressing. The most recent version of Novell's Lan Workplace for DOS does as well. If your software supports Bootstrap Protocol (BOOTP), then you can also determine your address by retrieving it from the BOOTP server. PPP also supports server assignment of TCP/IP addresses. B-2. How do I configure SLIPDISK? SLIPDIAL is part of the SLIPDISK package for the PC, available via anonymous FTP to boombox.micro.umn.edu, get /pub/slipdial/slipdisk/slipdisk.zip. It supports uncompressed SLIP via the UMSLIP driver, and is compatible with versions of telnet, gopher, popmail, and ftp included in the package. However, it is possible to use CSLIPPER with it instead.This package includes the PHONE dialer. From Ashok Aiyar, ashok@biochemistry.cwru.edu: PHONE Script Files: PHONE comes with several scripts (for various modems) and for the University of Minnesota Terminal server built into it. The command PHONE WRITE writes these scripts to an ASCII file called PHONE.CMD, which can be edited to your needs (modem and slip server) The documentation that accompanies PHONE, provides good instructions on writing script files to get PHONE to dial SLIP servers other than the University of Minnesota server. For example here is a script that I use to dial a CISCO server at the University that I attend. Background: To start a SLIP connection, I dial our terminal server, and login with a username and password. After doing so, I start a SLIP session with the following command "slip username-slip.dialin.cwru.edu", followed by my password -- again. Here then is the relevant portion of the PHONE.CMD script file - # # CWRU-TS2 SLIP login script by Ashok Aiyar 3/26/93 # Last revised 3/28/93 Procedure Host.CWRU.Login TimeOut 60 'CWRU-TS2 terminal server is not responding' Message "CWRU-TS2 SLIP login script -- Version 1.1" Message 'Waiting for SLIP server to respond' Quiet ON Expect 'Verification' Message 'Request for User Verification Received from CWRU-TS2' Message 'Sending your user name and password' Quiet OFF Expect 'Username:' Send '%u<' Expect 'Password:' Private Send '%p<' Reject 'Access denied' 'Your user name or password was not accepted' TimeOut 30 'SLIP server did not respond to your validation request' Expect 'CWRU-TS2>' Send 'SLIP<' TimeOut 10 'SLIP server did not respond to SLIP command' Expect 'IP hostname or address:' Send '%u-slip.dialin.cwru.edu<' TimeOut 10 'SLIP server did not respond to hostname' Reject 'Bad IP address' 'Incorrect Hostname' Expect 'Password:' Send '%p<' Reject 'Access denied' 'Password not accepted.' TimeOut 10 Expect 'Header Compression will match your system' Message 'Login to CWRU SLIP server successful' Wait 1.0 EndProcedure Host.CWRU.Login # # Procedure Host.CWRU.LogOut # Nothing special needs to be done to logout EndProcedure Host.CWRU.LogOut # # End of Script file # ---------------------------------------------------------------------- How to use packet drivers other than UMSLIP with PHONE? The quick answer -- there is no "clean" way. Below is a batch file hack that I wrote to use PHONE with other packet drivers. In this example, the packet driver is Peter Tattam's CSLIPPER. To use a batch file like this, you must know the parameters with which you plan to use the packet driver -- i.e interrupt vector, baud rate, port address, and IRQ. This batch file requires UMSLIP.COM, CSLIPPER.EXE, and TERMIN.COM to be in the same directory or in your path ... All that the BATCH file does is to let you dial the SLIP connection using PHONE, load the appropriate packet driver, hangup the connection, and unload the driver when you are done ... -- being CWRUSLIP.BAT -- @echo off rem this batch file is an ugly hack of U. of Minn. "SLIP.BAT" rem awaiting a version of C/SLIPPER that can directly interact rem with PHONE rem CWRUSLIP.BAT file is used with PHONE.EXE to start a SLIP rem connection on CWRU-TS2 rem last modified 3/28/93 -- Ashok Aiyar @echo off cls goto start :start if %1. == ?. goto help if %1. == help. goto help if %1. == setup. goto setup if %1. == dial. goto forceD if %1. == hangup. goto forceH if %1. == quit. goto forceH if %1. == HELP. goto help if %1. == SETUP. goto setup if %1. == DIAL. goto forceD if %1. == QUIT. goto forceH goto bogus goto unload :forceH termin 0x60 umslip >nul phone force hangup goto unload :slipper termin 0x60 REM the following line must be changed to reflect the COM port, REM IRQ, baud rate, and software interrupt lh c:\packet\cslipper com1 vec=60 baud=57600 ether goto end :forceD termin 0x60 umslip >nul phone force dial goto slipper :setup termin 0x60 umslip >nul phone setup goto help :unload termin 0x60 goto end :bogus echo %1 is not a valid command. echo Try "cwruslip help" for a list of valid commands echo. :help echo -------------------------------------------------------------- echo Case Western Reserve University SLIP Setup echo using Univ. of Minnesota PHONE echo -------------------------------------------------------------- echo cwruslip setup modem settings, phone number, username etc. echo. echo cwruslip dial DIAL and establish the SLIP connection echo cwruslip quit HANGUP the phone and unload the driver echo cwruslip help this screen echo. :end -- end CWRUSLIP.BAT -- B-3. What version of KA9Q should I use and where do I get it? I have tried the latest version of KA9Q (January 1993), but found that it locked up my machine, and have gone back to v2.1. From mike@childsoc.demon.co.uk (Michael Bernardi): "Demon Internet Services have a dialin Internet service in the UK. They also support a customised version of KA9Q optimised for dialup, they also support the PCElm mailer, SNEWS news reader and a customised front end. There is also a combined NEWS and MAIL program called CPPNEWS and an alternative MAIL program called VIEW, these last are unsupported by Internet@demon.co.uk but other DIS users do support them. All these programs can be found on ftp.demon.co.uk in the pub/ibmpc/ directory, and are written to work with KA9Q (specifically the DIS version)." Anthony McCarthy has added a multi-windowing system to KA9Q that supports the mouse, which has been recommended. See Resource listings for info. B-4. What do I need to run KA9Q? Why won't it do VT-100 emulation? KA9Q is usually run from a startup script, such as my script startnos.bat: \nos\drivers\8003pkdr \nos\net -d \nos Here I first load the packet drivers for my 8003 Ethernet card, then run KA9Q (known as net.exe). The KA9Q package then reads commands from a configuration file, called AUTOEXEC.NOS. For VT100 emulation with KA9Q, try using Giles Todd's VT102.COM, available via ftp from ftp.demon.co.uk, cd /pub/ibmpc/DIS. B-5. How do I configure KA9Q as a SLIP connection? a router? Here is a sample CSLIP only configuration file: # Set the host name # hostname aboba.slip.netcom.com ip address [192.187.134.3] # # # # Configure COM3 on Interrupt 5, at 38400 bps with # RTS/CTS (c) and Van Jacobson Compression (v) and MTU = 1008 # attach asy 0x3e8 5 VJSLIP sl0 8092 1008 38400 cv ifconfig sl0 netmask 255.255.255.252 # # # route add default sl0 # route all packets over sl0 by default (sl0 is the route to # the Internet) # # Time To Live is the maximum number of hops a packet can take # before it is thrown away. This command prevents an inadvertent # infinite loop from occuring with packets in the network. # ip ttl 400 # #------------------------------------------------- # # The Maximum Segment Size is the largest single transmission that # you care to receive. An mss of 216 will force folks to send you # packets of 256 characters or less (counting the overhead). # tcp mss 1048 # #------------------------------------------------- # # The Window parameter establishes the maximum number of bytes that # may be outstanding before your system expects an ack. If window is # twice as big as mss, for example, there will be two active packets # on the channel at any given time. Large values of window provide # improved throughput on full-duplex links, but are a problem on the # air. Keep mss <= window <= 2*mss if you're on the air. # # tcp window 6888 # #------------------------------------------------- # # This entry will open net.log in the \spool directory and will # record the server activity of your system. If you don't want a log, # comment out this line; if you do, make sure you have a \spool # directory! # log \spool\net.log # #------------------------------------------------- # # Each of the servers (services you will provide) must be turned # on before they will be active. The following entries turn all # of them on. To turn any function off use the command 'stop' after # NET gets fired up, or just comment out the line here. # start ftp start echo start discard #start telnet start smtp # isat on # domain addserver 192.100.81.101 domain addserver 192.100.81.105 smtp gateway 140.174.7.1 # # # Display Name and IP Address # hostname ip address # # Just for yucks, lets try calling the other end. comm sl0 atdt14082411528 # THE END After executing this setup file, you should hear the modem dial out to your SLIP host. Enter TIP sl0 at the prompt to be connected to the SLIP interface. You will then see your hosts's login prompt. Give the login name and password, and when you go into SLIP mode, hit F10 to get back to the prompt. Note that newer versions of KA9Q may not be compatible with the comm command, since they support more sophisticated dialing scripts. Type RESET 1 at the prompt. This moves session 1 from tip mode into SLIP mode. Type another RESET to kill any residual processes that may be operating. At this point you should have a functioning connection. You might try to ping your host via the command: PING If this works, you will then see the round trip time to your host, in milliseconds. Other possible diagnostic commands: ASYSTAT Gives statistics on packets received, sent, etc. TRACE 1011 Shows incoming characters RIP TRACE 1 Traces RIP packets HOPCHK
Traces the route to the designated system. Useful for figuring out routing problems. Routing The KA9Q configuration that follows uses two interfaces, one a CSLIP interface to an annex terminal server (sl0), the other an Ethernet interface (lan) with another machine (a NeXT) attached. Note the use of Van Jacobson compression (v) on the slip line, as well as the strange interrupt settings (Interrupt 5, port is COM3). One of the nice things about KA9Q is that it is flexible enough to deal with such situations. Here is a sample router configuration file: # Set the host name # hostname gate.slip.holonet.net # # # Configure COM3 on Interrupt 5, at 38400 bps with # RTS/CTS (c) and Van Jacobson Compression (v) # attach asy 0x3e8 5 VJSLIP sl0 8092 576 38400 cv ifconfig sl0 ipaddress [157.151.0.253] netmask 255.255.255.0 # # FTP, Inc., compatible packet driver installed at software interrupt number # 0x60; probably an Ethernet card of some kind. # attach packet 0x60 lan 2 1500 ifconfig lan ipaddress [157.151.64.1] netmask 255.255.255.0 # route add default sl0 # The local Ethernet has a Class C network address so # route all IP addresses beginning with 157.151.64 to it. route add 157.151.64/24 lan # # # Time To Live is the maximum number of hops a packet can take # before it is thrown away. This command prevents an inadvertent # infinite loop from occuring with packets in the network. # ip ttl 400 # #------------------------------------------------- # # The Maximum Segment Size is the largest single transmission that # you care to receive. An mss of 216 will force folks to send you # packets of 256 characters or less (counting the overhead). # tcp mss 576 # #------------------------------------------------- # # The Window parameter establishes the maximum number of bytes # that may be outstanding before your system expects an ack. # If window is twice as big as mss, for example, there will be two # active packets on the channel at any given time. Large values of # window provide improved throughput on full-duplex links, but are a # problem on the air. Keep mss <= window <= 2*mss if you're on the air. # # tcp window 6888 # #------------------------------------------------- # # This entry will open net.log in the \spool directory and will # record the server activity of your system. If you don't want a log, # comment out this line; if you do, make sure you have a \spool # directory! # log \spool\net.log # #------------------------------------------------- # # Each of the servers (services you will provide) must be turned # on before they will be active. The following entries turn all # of them on. To turn any function off use the command 'stop' after # NET gets fired up, or just comment out the line here. # start ftp start echo start discard #start telnet start smtp # isat on # domain addserver 157.151.0.2 domain addserver 157.151.0.1 smtp gateway 157.151.0.2 # # # Use Router Information Protocol (RIP) to inform the router at # 157.151.0.253 about the existence of the local network. Send # RIP packets every 240 seconds. rip add 157.151.0.253 240 # # # Just for yucks, lets try calling the other end... # comm sl0 atdt7041063 # # THE END Here is another routing configuration file, using proxy arp: # Set the host name # hostname gate.slip.holonet.net # # # Configure COM3 on Interrupt 5, at 38400 bps with # RTS/CTS (c) and Van Jacobson Compression (v) # attach asy 0x3e8 5 VJSLIP sl0 8092 576 38400 cv ifconfig sl0 ipaddress [157.151.0.253] netmask 255.255.255.0 # # FTP, Inc., compatible packet driver installed at software interrupt number # 0x60; probably an Ethernet card of some kind. # attach packet 0x60 lan 2 1500 ifconfig lan ipaddress [157.151.64.1] netmask 255.255.255.0 # # Set Routing Tables # # route add default sl0 # The local Ethernet has a Class C network address so # route all IP addresses beginning with 157.151.64 to it. route add 157.151.64/24 lan # # Use Proxy ARP # arp publish 157.151.64.1 ether 00:00:c0:33:f3:13 arp publish 157.151.64.254 ether 00:00:c0:33:f3:13 # # For PC AT # isat on # # Add Domain Name Servers # domain addserver 157.151.0.2 domain addserver 157.151.0.1 smtp gateway 157.151.0.2 # # # Time To Live is the maximum number of hops a packet can take # before it is thrown away. This command prevents an inadvertent # infinite loop from occuring with packets in the network. # ip ttl 400 # #------------------------------------------------- # # The Maximum Segment Size is the largest single transmission that # you care to receive. An mss of 216 will force folks to send you # packets of 256 characters or less (counting the overhead). # tcp mss 576 # #------------------------------------------------- # # The Window parameter establishes the maximum number of bytes # that may be outstanding before your system expects an ack. # If window is twice as big as mss, for example, there will be two # active packets on the channel at any given time. Large values of # window provide improved throughput on full-duplex links, but are a # problem on the air. Keep mss <= window <= 2*mss if you're on the air. # # tcp window 6888 # #------------------------------------------------- # # This entry will open net.log in the \spool directory and will # record the server activity of your system. If you don't want a log, # comment out this line; if you do, make sure you have a \spool # directory! # log \spool\net.log # #------------------------------------------------- # # Each of the servers (services you will provide) must be turned # on before they will be active. The following entries turn all # of them on. To turn any function off use the command 'stop' after # NET gets fired up, or just comment out the line here. # start ftp start echo start discard #start telnet start smtp # # Display Name and IP Address # hostname ip address # # Just for yucks, lets try calling the other end. comm sl0 atdt7041063 # THE END B-6 How do I get KA9Q to support BOOTP? Steven L. Johnson (johnson@TIGGER.JVNC.NET) notes: KA9Q does have a bootp client but it is not compiled in by default. It has a bug that truncates the returned ip address to 16 bits which must be corrected before it will work. It also complains about bootp servers that only support RFC 951 bootp without RFC 1084 (or 1048) vendor extensions. Other than that it seems to work for me. To enable the bootp client, add the following line to config.h: #define BOOTP 1 To correct the ip address truncation problem, in bootp.c change: Ip_addr = (int) reply.yiaddr.s_addr; /* yiaddr */ ^^^^^problem at line 188 to: Ip_addr = (int32) reply.yiaddr.s_addr; /* yiaddr */ ^^^^^^^solution And of course, recompile. This worked on the src1229 (1991) version and may work on the most recent version. I did check to make sure that the bug still exists, but I haven't rechecked whether there are additional problems in the new version. B-7 How do I get DesQView X to run over the network? V1.0 of DesQView X did not include a TCP/IP protocol stack. Surprise! The FTP software stack or Novell stack was needed to make it work. They've corrected the situation in subsequent revisions. Contact QuarterDeck for assistance. [pricing and availability, anyone?] B-8. Why is NFS so slow compared with FTP? NFS usually runs over RPC via UDP, rather than utilizing TCP. NFS only acknowledges a write request when the disk completes; there are no sliding windows as in TCP. This makes NFS fairly inefficient. Frances K. Selkirk (fks@vaxeline.ftp.com ) notes: "There are NFS implementations that use TCP. They are only faster over WANs. UDP is faster over most normally functioning LANs. The lockstep paradigm is inherent to NFS, but some implementations provide the ability to violate it - a speed win when the net is reliable, a loss when it is not. Whatever the transport, NFS will have more overhead than TCP, because it is trying to transparently imitate an OS, and has to do a lot of shuffling and translating." B-9 How do I get KA9Q to support PPP? Here is a sample ppp configuration file: # Set the host name # hostname aboba.slip.netcom.com ip address [192.187.134.3] # # # # Configure COM3 on Interrupt 5, at 38400 bps with # MTU = 1008 # attach asy 0x3e8 5 ppp pp0 8092 1008 38400 dialer pp0 dialer.ppp ifconfig pp0 netmask 255.255.255.252 ppp pp0 trace 2 ppp pp0 quick ppp pp0 lcp open ppp pp0 ipcp open # # # route add default pp0 # route all packets over pp0 by default (pp0 is the route to # the Internet) # # Time To Live is the maximum number of hops a packet can take # before it is thrown away. This command prevents an inadvertent # infinite loop from occuring with packets in the network. # ip ttl 400 # #------------------------------------------------- # # The Maximum Segment Size is the largest single transmission that # you care to receive. An mss of 216 will force folks to send you # packets of 256 characters or less (counting the overhead). # tcp mss 1048 # #------------------------------------------------- # # The Window parameter establishes the maximum number of bytes that # may be outstanding before your system expects an ack. If window is # twice as big as mss, for example, there will be two active packets # on the channel at any given time. Large values of window provide # improved throughput on full-duplex links, but are a problem on the # air. Keep mss <= window <= 2*mss if you're on the air. # # tcp window 6888 # #------------------------------------------------- # # This entry will open net.log in the \spool directory and will # record the server activity of your system. If you don't want a log, # comment out this line; if you do, make sure you have a \spool # directory! # log \spool\net.log # #------------------------------------------------- # # Each of the servers (services you will provide) must be turned # on before they will be active. The following entries turn all # of them on. To turn any function off use the command 'stop' after # NET gets fired up, or just comment out the line here. # start ftp start echo start discard #start telnet start smtp # isat on # domain addserver 192.100.81.101 domain addserver 192.100.81.105 smtp gateway 140.174.7.1 # # # Display Name and IP Address # hostname ip address # # THE END In file dialer.ppp: control down wait 1000 control up wait 1000 wait 2000 send "at\r" wait 3000 "OK" send "atdt8659004\r" wait 60000 "login: " send "\r" wait 5000 "word:" wait 1000 send "\r" B-10. How do I get KA9Q to support SLIP dialin? If you are willing to settle for little or no security, there is not much you have to change to allow a KA9Q system to receive calls, as opposed to originating them. These should include: 1. Setting the system to autoanswer, via use of the ATS0=1 command to the modem. 2. Setting up a trace on the router end, to figure out if it's working, via the command: TRACE 1011, where = sl0 for SLIP, or another value such as LAN or ether0 for the Ethernet interface. It's probably a good idea to put a trace on all interfaces until the system is shaken down. Note that without addition of a special dialing script, this setup is completely insecure! B-11. Where can I get information on running Novell and TCP/IP concurrently? The bit.listserv.novell group (NOVELL@SUVM) regularly posts a FAQ which includes information on concurrent use of TCP/IP and Novell IPX. B-12. What Novell TCP/IP NLMs are out there and how do I get them to work? There are publicly distributable FTP daemon and BOOTP NLMs for NetWare v3.11. Some have noted that these NLMs tend to crash the server after a few hours. [Anyone with better success?] See the Resource Listings for info. B-13. How do I get a telecommunications package supporting Int 14h to work? Int 14h support is becoming increasing common, with vendors such as Mustang (QMODEM Pro) having included this feature. Aside from commercial stacks (such as FTP's PC/TCP), try the TCPPORT program in WATTCP, available via ftp dorm.rutgers.edu, get /pub/msdos/wattcp/apps.zip. B-14. How do I get SLIP working with NDIS products such as Windows For Workgroup TCP/IP? Rumour has it that there is a serial NDIS driver available called NBR11. This is available via ftp complab.gtri.gatech.edu, cd /pub/lanman/ndis. B-15. How do I get Windows For Workgroups to work alongside Novell? ODINSUP from Novell is an NDIS over ODI shim. This allows you to run software requiring ODI drivers, as well as software requiring NDIS drivers. Since IPX and TCP/IP are different protocols, you will not need to run PKTMUX. Available via ftp.novell.com, cd /netwire/novfiles/client.kit/doswin/files/WSDOS1.EXE. B-16. NCSA Telnet doesn't reassemble fragments. What should I do? Yell at the folks at NCSA to fix the problem, and to notify all the people who are using the same TCP/IP code to insert the fix in their software as well. This problem is really common, and very annoying, and affects NCSA Telnet as well as PC Gopher III, and POPmail. One possible workaround is to set the MTU to 576, but this will not always work. Since Matthew Kaufman (matthew@echo.com) has provided the following explanation and fix, as detailed below, there is really no good reason for this bug not to be squashed soon: How to get rid of the message: "IP: fragmented packet received, frags not supported" (assuming you have a C compiler and source code) Many people on the net have complained that NCSA Telnet (among other useful PC TCP/IP programs) doesn't properly handle fragmented IP packets. this problem becomes especially evident if any of your packets are arriving over SLIP connections. I figured that the fastest way to get it to work would be to go ahead and do it myself rather than wait for it to get to the top of the list of desired features. MANY other programs have used the NCSA TCP/IP implementation, so if you maintain a program which does, PLEASE add this fix. I (and MANY OTHERS) are unable to use your software until you do. I posted the basic form of this fix around the beginning of the year, but it didn't seem to make it into several subsequent versions of related software, so I am posting and mailing this once again, in a revised form, with helpful hints at the end. I request only the following in return: This software revision is in the public domain. It may be used anywhere without further permission from the author. Please credit the origin of the fix in your release notes or bug fix document. (I am "Matthew Kaufman, matthew@echo.com") If you are the official maintainer of a software package which you have added this fix to, please send me an email note letting me know that the fix made it in. (So I don't need to worry that, for instance, the next version of NCSA Telnet or WinQVT/Net isn't going to include this) And, please add this fix as soon as possible. So here's my fix: The following are the changes to the NCSA Telnet TCP/IP engine to add support for IP fragment reassembly. I also know how to make telnet compile properly under Borland C without running out of space in DGROUP (see the end of this) if you have any questions, you can reach me at: matthew@echo.com. I am willing to help, within the limits of my schedule. changes follow: file: engine\ip.c (the only file that needs to change) delete the following: >/* >* We cannot handle fragmented IP packets yet, return an error >*/ > > if(p->i.frags &0x20) { /* check for a fragmented packet */ > netposterr(304); > return(1); > } ---------- after the line: > iplen-=hlen; but before the lines: > /* > * check to make sure that the packet is for me. add this: /* check for fragment and handle. note that the &0x20 above is WRONG */ if(p->i.frags) /* NOW check for a fragmented packet - mtk add*/ { ipfraghandle(p,iplen); /* pass in computed iplen to save time */ return(1); } ---------- and then, at the end of that file (ip.c) add this: /* * IP Fragment Reassembly Hack * by Matthew T Kaufman (matthew@echo.com) * 1/1993, 8/1993 */ typedef struct ipb { DLAYER d; IPLAYER i; uint8 data[4104]; /* "Big Enough" */ }FIPKT; #define IPF_CHUNKS 513 /* 4104 / 8 */ #define IPF_BITWORDS 18 /* 513 / 32 round up + 1*/ #define IPF_BUFFERS 7 /* Max # of different fragmented pkts in transit */ typedef struct { FIPKT pkt; unsigned long bits[IPF_BITWORDS]; int lastchunk; unsigned long lasttime; unsigned int iplen; }FPBUF; static FPBUF far Frag[IPF_BUFFERS]; ipfraghandle(IPKT *p, int iplen) { uint16 fraginfo; uint16 foffset; uint16 iden; FPBUF far *buf; int i; fraginfo = intswap(p->i.frags); foffset = fraginfo & (0x1fff); #define morefrags (fraginfo & (0x2000)) iden = intswap(p->i.ident); /* we already KNOW that this IS fragmented */ /* see if we can find any friends who've already arrived... */ buf = (FPBUF *) 0L; for(i=0; ii.ident == Frag[i].pkt.i.ident) { buf = &(Frag[i]); goto foundfriend; } } /* otherwise, we must be the first one here */ { long oldtime = 0x7fffffff; int oldest = 0; for(i=0; ibits[i] = 0L; /* reset */ buf->lastchunk = 0; /* reset */ /* fill in the header with the current header */ movmem(p,&(buf->pkt), sizeof(DLAYER) + sizeof(IPLAYER) ); } foundfriend: ; /* now, deal with this specific fragment... */ /* copy data */ movmem(&(p->x.data),&(buf->pkt.data[8 * foffset]),iplen); /* update rx chunks information */ for(i=foffset; i<= (foffset+(iplen / 8)); i++) { buf->bits[i/32] |= (unsigned long) (1L<<(i % 32)); } if(!morefrags) { /* now we can tell how long the total thing is */ buf->iplen = (8*foffset)+iplen; buf->lastchunk = foffset; /* actually, lastchunk is more than this, but it */ /* IS true that we only need to check through */ /* this foffset value to make sure everything has */ /* arrived -mtk */ } /* now touch the time field, for buffer LRU */ buf->lasttime = clock(); /* check to see if there are fragments missing */ if(buf->lastchunk == 0) { /* we haven't even gotten a fragment with a cleared MORE */ /* FRAGMENTS flag, so we're missing THAT piece, at least */ return 1; } for(i=0; i<= buf->lastchunk; i++) { /* scanning to see if we have everything */ if(0 == ((buf->bits[i/32]) & (unsigned long)(1L<<(i % 32))) ) { return 1; /* still waiting for more */ } } /* otherwise, done waiting... use the packet we've gathered */ /* first clear stuff from fragment buffer: */ buf->lasttime = 0L; /* mark as free to take */ buf->lastchunk = 0; /* need to do this, because we use it as flag */ buf->pkt.i.ident = 0; /* so we don't find this later */ buf->pkt.i.frags = 0; /* in case anybody above us checks */ /* then send it on its way... */ if(!comparen(nnipnum,p->i.ipdest,4)) { /* potential non-match */ if(comparen(nnipnum,junk,4) && p->i.protocol==PROTUDP) return(udpinterpret((UDPKT *)p,iplen)); return(1); /* drop packet */ } /* end if */ switch (buf->pkt.i.protocol) { /* which protocol */ case PROTUDP: return(udpinterpret((UDPKT *)&(buf->pkt),buf->iplen)); case PROTTCP: return(tcpinterpret((TCPKT *)&(buf->pkt),buf->iplen)); case PROTICMP: return(icmpinterpret((ICMPKT *)&(buf->pkt),buf->iplen)); default: netposterr(303); return(1); } } *** helpful hint: if you run out of space in DGROUP, its because your compiler doesn't place each 'far' data object in its own segment. To make things work, you need to make the raw packet buffer be in its own segment. Here's how: in include/pcdefs.h search for: --> unsigned char far raw[17000]; (the 17000 might be some other number... smaller, if someone tried to fix this before) and change to --> unsigned char far raw[17000]={0,0}; /* force into own segment */ C. Information for developers C-1. What publicly distributable TCP/IP stacks are there that I can use to develop my own applications? In writing an application, you can use device drivers provided by particular vendors, or you can opt for an Application Binary Interface (ABI) that supports multiple TCP/IP protocol stacks, such as Winsock. For a given version of Windows, Winsock is an ABI for both Windows 3.x and Windows NT (via the NT Win16 subsystem). Device drivers are included with PC-NFS and Beame & Whiteside's BW-TCP. Free examples of ABIs are the WATTCP API, the NCSA API (public domain), the Trumpet ABI from Peter Tattum, and the NuPOP ABI. As Mark Towfiq notes, all major TCP/IP vendors will be implementing Windows Sockets: Company BETA FINAL --------------------------------------------- 3Com Corp Q1 '93 Q2 '93 Beame & Whiteside ? ? Distinct Corp Q3 '92 Shipping FTP Software Q4 '92 Shipping Frontier Technologies Q3 '92 Shipping IBM Q4 '92 Q1 '93 JSB Corporation Q4 '92 Q4 '92 Lan Design Q4 '92 Q1 '93 Microdyne Q4 '92 Q1 '93 Microsoft (Windows NT 32-bit) Q3 '92 Q2 '93 Microsoft (Windows NT 16-bit) Q4 '92 Q2 '93 Microsoft (Windows 3.x 16-bit) Q4 '92 Q2 '93 NetManage Q4 '92 Q4 '92 Network Research ? ? Novell ? ? Sun Microsystems Q4 '92 First Half '93 Ungermann Bass ? ? Walker Richer Quinn Q4 '92 Q1 '93 Wollongong Q4 '92 Q1 '93 Source: Martin Hall (martinh@jsbus.com), available via ftp sunsite.unc.edu, get/pub/micro/pc-stuff/ms-windows/winsock/vendors. C-2. Where can I get a copy of the Windows Sockets FAQ? A separate developer-oriented FAQ file about Windows Sockets created by Mark Towfiq is available on SunSite.UNC.EDU:/pub/micro/pc-stuff/ms-windows/winsock/FAQ and Microdyne.COM:/pub/winsock/FAQ An alternative source for the FAQ is rhino.microsoft.com. RESOURCE LISTING Key Downright speculation = I have not used this product personally, nor has anyone I know. However, the specifications sounded interesting, so it's included. Suggestion = I have not used this enough to pass judgement, but it has come to me recommended by someone I respect. Recommendation = I use this package regularly, and like it. BOOKS Downright speculation NOSintro - An Introduction to the KA9Q Network Operating System Price: 11.50 Pounds sterling, plus postage and handling. U.S. price, including shipping: 17.34 pounds sterling This book by Ian Wade (author of NOSView) thoroughly covers KA9Q. Publisher is Dowermain, 356 pages, 35 chapters, 6 appendices, illustrated. ISBN 1-897649-00-2. Dowermain, Ltd., 7 Daubeney Close, Harlington, DUNSTABLE, Bedfordshire, LU5 6NF, United Kingdom, email ian@g3nrw.demon.co.uk. Written orders only, no U.S. distributor yet. Recommendation InfoPOP - Guide to Internet Resources Free InfoPOP/Windows is a smallish guide to the Internet in the form of a Windows Help application. InfoPOP/DOS is a TSR with the same content. Available via ftp gmuvax2.gmu.edu, or the fenwick.gmu.edu gopher Computers/Info-Technology/Software |___under Software available on this Gopher MAILING LISTS Windows Sockets winsock-request@microdyne.com winsnmp-request@microdyne.com W3 for Windows mail LISTSERV@fatty.law.cornell.edu, with sub cello-l your full name in the body of the message. Firewalls mail majordomo@greatcircle.com, with sub firewalls-digest in the body of the message. Back issues are available at ftp.greatcircle.com:/pub/firewalls.digest/vNN.nMMM.Z where NN is the volume number and MMM is the issue number. PUBLICLY DISTRIBUTABLE SOFTWARE DRIVERS Recommendation Crynwr drivers free Support Contact Crynwr for info The Crynwr drivers, also known as the Clarkson University CUTCP drivers, support many Ethernet adapter boards. The drivers are also compatible with Novell Netware, so that you can both Novell and TCP/IP at the same time. Ethernet adapter boards from 3COM, Telesystems, AT&T, Digital, Mitel, HP, BICC, NCR, Novell, Interlan, MICOM, Racal/Interlan, NTI, Tiara, Ungermann-Bass, and Western Digital are supported. The Packet Driver Specification v1.09 is available by ftp to vax.ftp.com, get /pub/packet-d.ascii, /pub/packet-d.mss [check this] Drivers available from EXEC-PC, Winnet, or ftp sun.soe.clarkson.edu, get /pub/packet-drivers/drivers.zip. PC-NFS drivers available in /pub/packet-drivers/compat.tar.Z (requires Sun's PC-NFS) The drivers are also available via ftp wsmr-simtel20.army.mil, cd pd1:, get drivers.zip, drivers1.zip, drivers2.zip Other mirrored archives include oak.oakland.edu, wuarchive.wustl.edu, ftp.uu.net, nic.funet.fi, src.doc.ic.ac.uk, nic.switch.ch, archie.au, nctuccca.edu.tw. EXEC-PC,P.O. Box 57, Elm Grove, WI 53122, (414)789-4200 (Voice), (414)789-4210 (data) Crynwr Software, 11 Grant St., Potsdam, NY 13676, (315)268-1925, Fax: (315)268-9201, email: nelson@Crynwr.com Downright Speculation Slipper v1.3 Free An improved version of the SLIP8250 driver included with SLIPDISK. It's faster, allowing SLIP operation at up to 38.4 Kbps on a 486. Supports PKTMUX. Available from ftp.utas.edu.au, get /pc/trumpet/slipper/slipper.zip P. Tattam, Programmer, Psychology Department, University of Tasmania, Hobart, Tasmania, Australia, 61-02-202346, email: peter@psychnet.psychol.utas.edu.au Downright Speculation CSLIPPER Free A SLIP driver which supports Van Jacobson header compression. Supports PKTMUX when used in ethernet simulation mode. Available from biochemistry.cwru.edu, get /pub/slipper/cslipper.exe. Downright Speculation ETHERPPP Free Glenn McGregor, formerly of Merit Network, has released a new ETHERPPP packet driver that appears as a class 1 packet driver. Available from ftp merit.edu, cd /pub/ppp Downright Speculation BOOTPQ Free BOOTPQ can take configuration parameters extracted via BOOTP and insert them into a file or environmental variables. Available via ftp biochemistry.bioc.cwru.edu, get /pub/dos/bootpq12.zip Downright Speculation PKTMUX v1.2 Free This program allows multiple TCP/IP protocol stacks to use a single packet driver. Available via ftp sunee.uwaterloo.ca, get /pub/wattcp/pktmux12.exe, also via ftp ib.rl.ac.uk, get /PCSOFT.192/PKTMUX12.EXE. [Available at dorm.rutgers.edu?] Downright speculation NDIS shim free Provides a packet driver over an NDIS driver. This is useful when you need to run both packet driver software (such as KA9Q or NCSA Telnet) and NDIS-based software (such as Chameleon NFS). Available via ftp to vax.ftp.com, cd /pub/packet.driver/pubdom/ndis, get dis_pkt.asm, dis_pkt.dos, protman.sys, readme. Also via ftp to netlab.usu.edu, cd /novell, get dis_pkt.zip ftp hsdndev.harvard.edu, get /pub/dis_pkt/dis_pktx.asm (experimental) ftp hsdndev.harvard.edu, get /pub/dis_pkt/dis_pktx.dos (experimental) Suggestion PDEther v1.03 According to Brad Eacker: "I use this package regularly to allow Netware Lite 1.1 and QVTnet to co-exist on the same thin-enet. It works relatively well though QVTnet requires a pktint that is the protected mode driver that is included with the package." Supports ODI over packet drivers. Available by ftp to sjf-lwp.novell.com, cd /odi/pdether, get pde103.zip Downright speculation Odipkt v2.1 Supports packet drivers over ODI and Ethernet. Available via ftp to hsdndev.harvard.edu, cd /pub/odipkt, get net.cfg, odipkt.8, odipkt.asm, odipkt.com Downright speculation ODITRPKT v2.0 Supports packet drivers over ODI and token ring. Available via ftp datacomm.ucc.okstate.edu, cd /pub/oditrpkt. Currently at BETA9.ZIP ROUTERS, BRIDGES, TCP/IP STACKS AND DIAGNOSTIC SOFTWARE Suggestion WATTCP free Development package for TCP/IP. Available from dorm.rutgers.edu [128.6.18.15], cd /pub/msdos/wattcp, get readme.1st, wattcp.zip, winwattcp.zip. Erick Engelke (erick@development.uwaterloo.ca) says: "Easy to program. But of course I would think that." Erick Engelke, WATTCP Architect, email erick@development.uwaterloo.ca Suggestion Trumpet TCP/IP stack This TCP/IP stack comes in three versions: a TSR version; a windows version (not yet released); and a built-in version.It includes a traceroute program called hopchk2. A WinSock-compatible version is in development. Available from ftp.utas.edu.au, cd /pc/trumpet/abi-version/ P. Tattam, Programmer, Psychology Department, University of Tasmania, Hobart, Tasmania, Australia, 61-02-202346, email: peter@psychnet.psychol.utas.edu.au Downright Speculation CIRCA RARP server RARP lets machines determine their TCP/IP address by querying a machine on the local ethernet. Available via anonymous FTP to pine.circa.ufl.edu, get /pc/rarp/rarp.zip Suggestion BOOTP server free This is a BOOTP server for the PC that runs as a TSR, and is only 900 bytes long. Erick Engelke says, "Works with NCSA, CUTCP, WATTCP, KERMIT, etc." Available via ftp sunee.uwaterloo.ca, get /pub/wattcp/readme.1st, bootp.zip Downright Speculation Traceroute free Two versions of traceroute for DOS are available. biochemistry.cwru.edu:pub/trumpet/tcp201.zip, and ftp-ns.rutgers.edu:/pub/wattcp There are also versions of ping and traceroute by Peter Tattam that work with Trumpet Winsock. Downright Speculation SNMP monitor Free Available via FTP to sun.soe.clarkson.edu, get /pub/packet-drivers/snmpsrc.zip. Also available from ftp enh.nist.gov, get /misc/snmpsrc.zip, snmpsup.zip, snmpsun.tar_Z Downright speculation SMTP client v1.1 A Windows Sockets-compatible SMTP client that is limited to "send only." Available at: sunsite.unc.edu:/pub/micro/pc-stuff/ms-windows/winsock/apps/smtp11.zip Contact: Todd.Young@StPaul.NCR.COM SMTP daemon free A Windows-Sockets SMTP daemon, complete with source code. Available at: sunsite.unc.edu:/pub/micro/pc-stuff/ms-windows/winsock/apps/wsmtpd15.zip. contact: iblenke@cip60.corp.harris.com Suggestion DNPAP Network Analyzers Free Packet monitoring and grabbing network tools. Erick Engelke (eric@development.watstar.uwaterloo.ca) says "VERY RECOMMENDED!" Fergie is an SNMP-able Ethernet monitor and frame grabber that supersedes The Beholder and Gobbler. Spectre is a network host profiler. Tricklet is a set of SNMP utilities. Fergie is available at dnpap.et.tudelft.nl:/pub/Fergie/frgbin2.zip. The source code is available at dnpap.et.tudelft.nl/pub/Fergie/frgsrc2.zip. To get on the Fergie mailing list, send mail to: request@dnpap.et.tudelft.nl Suggestion NetProbe Free An unsupported utility from 3Com that can decode XNS,TCP/IP, ICMP, AppleTalk, Ipx/Spx, SMB, and other protocols, but only supports the Etherlink, Etherlink II, EtherLink Plus and Token Plus adapters. Available on CompuServe in the 3Com forum as EPROBE.ZIP in lib 5, unsupported utilities. [Internet FTP site, anyone?] Downright Speculation NETWATCH Free Essential network debugging tools for the PC. Available via FTP netlab.usu.edu cd /netwatch, get netwatch.exe. Recommendation KA9Q Educational Use Free Commercial Use $50 KA9Q can route TCP/IP packets over X.25, Ethernet, LocalTalk (with a special version), and serial lines (via SLIP/CSLIP/PPP) as well as handling telnet, mail, and ftp (client and server). It supports connection to 56 Kbps leased lines via a CSU/DSU and an SCC card, and supports up to 4 serial ports per machine. This means you can purchase a 56 Kbps Internet link, then divide it among 4 users, bringing the cost way down. KA9Q is an essential tool for sysops looking to hook their systems to the Internet, regardless of what kind of computer the BBS runs on. A Mac version (NetMac) is available via ftp sumex-aim.stanford.edu, cd /info-mac/comm. Available via FTP from ucsd.edu in directory /hamradio/packet/tcpip/ka9q. The LocalTalk version is available from [help, anyone?] Textwin (multiwindowing version with mouse support) available via ftp ftp.demon.co.uk, cd /pub/ibmpc/textwin. Contact: amc@beryl.demon.co.uk, amccarthy@cix.compulink.co.uk, 100012.3712@compuserve.com Phil Karn, KA9Q, 7431 Teasdale Ave, San Diego, CA 92122, (619)587-8281, Fax: (619)587-1825 Downright Speculation PC-IP Free This software has been worked on at MIT, Carnegie Mellon, Harvard and other places. Erick Engelke (erick@development.uwaterloo.ca) notes: "PCIP is not in the mainstream anymore. I would recommend looking at Trumpet, WATTCP or NCSA instead. Or if you just need UDP, look at PDCLKSET." Harvard version: Source code: ftp hsdndev.harvard.edu, cd /pub/pcip, get pcip.tar.Z, doc.tar.Z, readme, readme.cmu Binaries: ftp hsdndev.harvard.edu, mget /pub/pcip/bin/packet/*.exe mget /pub/pcip/bin/general/*.exe Another version: ftp netlab.usu.edu, cd /netwatch, get pcip96.zip Downright Speculation NOSView v3.04 Written by Ian Wade, G3NRW, NOSView is online documentation for KA9Q, which describes all the NOS commands. It also contains a complete set of templates for use of KA9Q. Available via FTP from ucsd.edu in directory /hamradio/packet/tcpip/nosview/nosvw304.zip Ian Wade, ian@g3nrw.demon.co.uk Suggestion PCROUTE v2.24 Free These packages can convert a PC into a TCP/IP router (PCROUTE) or an Ethernet Bridge (PCBRIDGE). Available via FTP; ftp.acns.nwu.edu, mget /pub/pcroute/pcroute2.24.* and pcbridge1.2.* Erick Engelke (erick@development.uwaterloo.ca) says: "Excellent product. I have used it for years with many heavily used subnets. Advice: use a 25 Mhz 286 or a similarly fast 386 DX. Uses only conventional memory so don't buy more than 1 Mb.Only takes a small amount of DOS memory." Vance Morrison, LANport, Inc., 2040 Polk Street #340, San Francisco, CA 94109, (415)775-0188, email: lanport@cup.portal.com. Suggestion PCBRIDGE v2.77 Free Originally by Vance Morrison of Northwester, PCBRIDGE has been taken over by Alessandro Fanelli and Luigi Rizzo. The latest version of PCBRIDGE is now ROMable. The software is available by anonymous ftp from pical3.iet.unipi.it (131.114.9.12), cd /pub/bridge. Alessandro Fanelli, Luigi Rizzo (luigi@iet.unipi.it), Universita` di Pisa - via Diotisalvi 2, 56126 Pisa, Italy Tel. +39-50-568533 -- Fax +39-50-568522 Downright Speculation Drawbridge v1.1 Drawbridge is a bridging filter that requires two ethernet cards. It is comprised of three programs: Filter, Filter Compiler and Filter Manager. It is available via anonymous ftp from sc.tamu.edu (128.194.3.57) get pub/security/drawbridge/drawbridge-1.1.tar.Z, drawbridge-1.1-des.tar.Z Downright Speculation KarlBridge v1.41 This software provides a two port Ethernet to Ethernet bridge that can filter based on any Ethernet protocol, including IP, XNS, DECNET, LAT, EtherTalk, NetBEUI, Novell IPX, etc. It will also act as an IP firewall by filtering IP packets based on IP address/network/subnet combinations and socket numbers. It can also filter DECNET and AppleTalk Phase 1 & 2 packets. Novell SAP and NCR WaveLAN filtering are coming in a future release. Available via ftp 128.146.1.7, cd /pub/kbridge Downright Speculation Ethload Free This is an Ethernet load monitor that will give you an idea when collisions are getting out of hand and you need to install a bridge. Available via cs.ubc.ca, cd /mirror4/msdos/lan/ethld101.zip. Also available on Simtel20, ethld101.zip. DOS APPLICATIONS Downright Speculation BOOTP and FTPD NLMs Available from novell.felk.cvut.cs, cd /pub/nw311/ftpd, cd /pub/nw311/bootpd, cd /pub/nw311/resolv. Downright Speculation LPD Free FTP and BOOTP server included This software is a freeware line printer daemon as well as an FTP and BOOTP server. Available via ftp tacky.cs.olemiss.edu, get /pub/lpd/lpd.zip, lpdsrc.zip Downright Speculation WinLPR Shareware This is a Windows Sockets-compliant LPR client, which lets you print to remote printers hanging off LPD servers, query remote queues, etc. It is available via ftp microdyne.com, get /pub/incoming/winlpr10.zip. Suggestion TELNETD Free TELNETD is a simple, free and unsupported TELNET server for PCs. It works on top of packet drivers and lets you run most DOS software. Available via ftp sunee.uwaterloo.ca, /pub/wattcp/telnetd.zip Downright Speculation IRC client free A client for Internet Relay Chat. Available via ftp ftp.utas.edu.au, mget /pc/trumpet/irc/irc*.zip Downright Speculation WAIS for DOS free A DOS WAIS client which uses the Clarkson drivers is available by anonymous FTP to samba.oit.unc.edu, get /pub/WAIS/UNC/DOS/doswais.zip. A DOS WAIS client that requires the PC/TCP software from FTP Software is available via anonymous FTP to oac.hsc.uth.tmc.edu (129.106.30.1), get /public/dos/misc/oacwais.exe. For information, contact: Steven E. Newton, Office of Academic Computing, University of Texas Health Science Center, Houston, snewton@oac.hsc.uth.tmc.edu. There is also a Novell LAN Workplace WAIS client available by anonymous FTP to ftp.oit.unc.edu, get /pub/WAIS/UNC/nov-cli-visual.zip. Downright Speculation PDCLKSET Free Requiring a packet driver, this software sets your PC clock via an Internet time server.It also offers several useful network testing functions. Supports ping, and can build an arp table of nodes on the subnet. Available via FTP oak.oakland.edu get /pub/msdos/pkdrvr/pdclk207.zip. Suggestion NCSA Telnet Free Available via FTP zaphod.ncsa.uiuc.edu, get /PC/Telnet/tel2305b.zip and tel2305s.zip. Also available from wsmr-simtel20.army.mil, cd PD1:, get tel2305b.zip Compatible with LocalTalk. A special version which supports PPP is available via ftp merit.edu get /pub/ppp/ncsappp.zip. Be aware that the current version does not reassemble fragments, even though a fix is available for this (argghhh....) Recommendation Kermit v3.12 Free This version of Kermit supports telnet, VT320 and Tektronix emulation, as well as SIXEL. Directly supports ODI. A book is available on this. As Joe Doupnik states: "MS-DOS Kermit runs over its own internal TCP/IP stack, as we know, over Novell's LWP/DOS+Telapi, over FTP Inc's PC/TCP+Tnglass, over B&W's TCP/IP stack, over DEC Pathworks, as well as over anyone's NetBIOS (straight for AT&T/NCR Unix logins and EBIOS/ACSI for AT&T/NCR and IBM async servers). It supports several Int 14h standards too, plus Int 6Bh, though I have never been able to get the NCSA Telnet INT14 program to work for me. This seems like a pretty broad set of choices (especially in a 230KB program). What we can't do is link in any commercial library to Kermit. The program must have completely open source code and be buildable & runnable in the absence of every/any vendor's TCP/IP product. Even the C code in MSK can be compiled by multiple vendors's compilers and no vendor's run time library (or startup code) is touched." Available via ftp kermit.cc.columbia.edu, get /kermit/bin/msvibm.zip Downright speculation PCUCP Free This is an X terminal application that runs over a serial port. It supports multiple windows, and multiple sessions.It is available via ftp.cica.indiana.edu:/pub/pc/win3/modem/pcucp11a.zip. Suggestion CUTCP Telnet Free Now supported by Rutgers University, having been tranferred from Clarkson University and Brad Clements. Available via FTP from ftp-ns.rutgers.edu, cd /pub/msdos/cutcp/current. This directory contains the source and binary distributions, both in zip archives. For information contact cutcp-support@ftp-ns.rutgers.edu. Downright speculation Clarkson Archie Free Available via FTP from omnigate.clarkson.edu, get pub/cutcp/archie.zip Suggestion Princeton Telnet Free The Princeton version of Telnet supports localtalk cards and also does tn3270 access. Works on all localtalk cards (Sitka, Daystar, Farallon, ... ) Available from pusun3.princeton.edu, get /pub/PU2-2TN/pu2-2tn.zip Downright speculation Clarkson Charon IPX/TCP email and printer gateway Available via FTP from omnigate.clarkson.edu, get pub/cutcp/charon-3.4/charon.zip Also ftp sun.soe.clarkson.edu, get /pub/charon.zip. Recommendation SLIPDISK package Free A complete package for dialup Internet access via SLIP which supports Gopher, Telnet, Popmail, and FTP. Only drawback is lack of support for compressed SLIP. The current version has problems with modems based on the Rockwell V.32bis chip set. To get around this, you can use a scripting communications program to dial out instead, then use a batch script to load UMSLIP or the SLIPPER driver. Other hints: turn off DTR. The UMSLIP driver included with this package will not work with PKTMUX. Available via anonymous FTP to boombox.micro.umn.edu, get /pub/slipdial/slipdisk/slipdisk.zip. Downright Speculation PC Gopher III Free An MS-DOS client for the Gopher information server. Be aware that you must load WINPKT.COM to get this program to work under Windows. Available via anonymous FTP to boombox.micro.umn.edu, get /pub/gopher/PC_client/docs/pcgopher.txt get /pub/gopher/PC_client/00README Downright Speculation KA9Q Gopher Server Available at: boombox.micro.umn.edu:/pub/gopher/PC_server/ka9q Downright Speculation Hamburg Gopher Server Available at: boombox.micro.umn.edu:/pub/gopher/PC_server/hamburg Suggestion DOS Trumpet v1.06 Shareware, $10. Trumpet is an NNTP newsreader for DOS that can be placed on a Novell server, while storing news groups and configuration files in each user's directory. It supports packet drivers, LAN WorkPlace for DOS, and Trumpet ABI. Available at ftp.utas.edu.au(131.217.1.20):/pc/trumpet/dostrump/trmp106b.zip Contact: lee@nrc.com. Multi-user site licenses Trumpet will be charged by the total number of users who have access to Trumpet on a network. A site is designated as being one organization located within a radius of 10 km. The pricing structure is: 1-99 users $10 US per user 100-999 users $1000 US + $2 US per additional user above 100 1000-4999 users $2800 US + $0.20 US per additional user over 1000 5000+ $3600 US P. Tattam, Programmer, Psychology Department, University of Tasmania, Hobart, Tasmania, Australia, 61-02-202346, email: peter@psychnet.psychol.utas.edu.au Downright Speculation Stan's Own Server Free Available via FTP to sun.soe.clarkson.edu, get /pub/packet-drivers/soss.zoo. Also available from: ftp spdcc.com, get/pub/sos/soss.zoo, sossexe.zoo A version with a couple of bugs fixed is available from: ftp hilbert.wharton.upenn.edu, cd pub/tcpip For info, contact: Richard Bruan, rbraun@spdcc.com, or Seemong Tan, stan@cs.uiuc.edu. Downright Speculation Broadcast Free This is a PC client for the Macintosh Broadcast program, by Kai Getrost. Available by ftp to caisr2.caisr.cwru.edu, get /pub/net/bdcst11.zip [check this] Suggestion NuPOP/PC v1.03 free A menu driven version of POP for DOS. Can be gotten to support LocalTalk via the provided LocalTalk driver, do not use the Clarkson drivers for this. By the way, NuPOP also supports serial access, as well as Gopher. Available via ftp.acns.nwu.edu, mget /pub/nupop/nupop*.zip Suggestion POPmail-PC v3.1 This is the package included with SLIPDISK. Supports Ethernet and SLIP, and claims LocalTalk support [anyone gotten this to work?]. Available via anonymous FTP to boombox.micro.umn.edu, cd /pc/popmail-3.1/popmail.* A POP3 server for VMS and MS-DOS client software is available via ftp logos.ucs.indiana.edu, cd /INDEX. Suggestion PC-Pine v3.84 Free This is a PC-compatible version of Pine, running under DOS. There are versions written for FTP Software's PC/TCP, Novell's Lan WorkPlace for DOS, and WATTCP. Available via anonymous FTP to ftp.cac.washington.edu, cd /mail, get pcpine_n.zip (Novell LWP), pcpine_f.zip (FTP PC/TCP), pcpine_p.zip (WATTCP version). Note that PC Pine relys on the Interactive Mail Access Protocol (IMAP) rather than POP. You must have an IMAP server installed in order to use it. IMAPd is available from ftp.cac.washington.edu, get /mail/imap.tar.Z. Downright speculation Ph client University of Illinois CCSO name server client. Available via anonymous FTP to uxc.cso.uiuc.edu, mget /net/ph/dos/*.* Downright Speculation FTPNuz $10/shareware Gene Mangum's shareware newsreader for DOS, which requires FTP Software's PC/TCP kernel. Runs under MS-DOS, as well as in a DOS window under MS Windows and OS/2. Features incluee support for NNTP, pull-down menus, reading and posting of news, reply by mail via SMTP. Available via anonymous FTP to calvin.sfasu.edu, get /pub/dos/network/ftp-pctcp/ftpnuz10.zip Gene Mangum, h198@hosp.med.umich.edu WINDOWS APPLICATIONS Downright Speculation Windows FTP client Available as: file://microdyne.com/pub/incoming/ws_ftp.zip, file://ftp.usma.edu/pub/msdos/ws_ftp.zip John Junod NCOIC, Technology Integration Branch Computer Science School, FT Gordon, GA 30905 Phone: (706)-791-3245 AV:780-3245 Downright Speculation Windows Ping Available as: file://microdyne.com/pub/incoming/ws_ping.zip, file://ftp.usma.edu/pub/msdos/ws_ping.zip John Junod NCOIC, Technology Integration Branch Computer Science School, FT Gordon, GA 30905 Phone: (706)-791-3245 AV:780-3245 Downright Speculation WAIS for Windows A Windows WAIS client is vailable by anonymous FTP to ftp.oit.unc.edu, get /pub/WAIS/UNC/Windows/winwais.zip. Now compatible with Winsock. For information, contact Jim Fullton, UNC Office of Information Technology, Computing Systems Development Group, (919)962-9107, fullton@samba.oit.unc.edu. Suggestion Trumpet WinSock Finally, a publicly distributable TCP/IP stack supporting Windows Sockets! It's in Alpha, but if you need it badly enough, go ahead. Available at biochemistry.cwru.edu:/pub/trumpwsk Suggestion Windows Trumpet WinTrumpet is a Windows-Sockets compatible NNTP client from P. Tattam that supports the Trumpet ABI, packet drivers, Novell Lan Workplace for DOS and WinSock v1.1. Available as: file://ftp.utas.edu.au/pc/trumpet/wintrump/* Downright Speculation Trumpet Winsock, alpha 16 A shareware version of Windows Sockets, still in development. Available as: file://ftp.utas.edu.au/pc/trumpet/winsock/winsock.zip Downright speculation Cookie server Free This is a Windows-Sockets compatible fortune cookie server (RFC 865) that runs on port 17. Available via: sunsite.unc.edu:/pub/micro/pc-stuff/ms-windows/winsock/apps/cooksock.zip. Contact: alun@huey.wst.com Recommendation HGopher Free This is a Windows-sockets compatible version of Gopher. Available at: sunsite.unc.edu:/pub/micro/pc-stuff/ms-windows/winsock/apps/hgopher.zip Downright speculation Text server This is an extended finger client, which can also serve text files. Available via: sunsite.unc.edu:/pub/micro/pc-stuff/ms-windows/winsock/apps/txtsrv.zip Recommendation WinQVT/Net v3.7 Shareware $40 Students $20 QVTNet v3.7 is a Windows v3.1 application that supports FTP client and server (not fully graphical; commands are entered at the bottom of the window), telnet (up to 15 simultaneous sessions), mail (SMTP and POP3), NNTP (up to 30 newsgroups) and lpr. It is compatible with SLIPDIAL and is written as a DLL. WinQVT requires you to supply your own packet drivers; most Ethernet cards come with such drivers, or if not, you can use one from the Crynwr (formerly Clarkson) Packet Driver library. It is compatible with AppleTalk. [Hints, anybody?] WinQVT/Net supports class 6 SLIP drivers, so you do not need to use software such as SLIPPER or CSLIPPER with it. Available via biochemistry.bioc.cwru.edu, cd /pub/qvtnet Contact: djpk@troi.cc.rochester.edu Downright Speculation WinVN v0.80 A Windows application for reading news which supports NNTP over TCP/IP or serial line connections. Compatible with Winsock v1.1; a version is also available for Windows NT. Does not support LocalTalk. Current version has been tested with: NetManage's WINSOCK FTP Inc.'s WINSOCK Wollongong's WINSOCK NT's WSOCK32 DEC's Pathworks MS's Lan Man Available by ftp to titan.ksc.nasa.gov, cd /pub/win3/winvn Sam Rushing, email: rushing@titan.ksc.nasa.gov, hoggle!hoggle2!rushing@peora.sdc.ccur.com You'll find a bunch of zip files. Be sure to use binary mode. Read the file announce-2.txt first. Downright speculation Finger v3.1 Free The Windows version of Finger, which requires a Winsock DLL. Available at: sunsite.unc.edu:/pub/micro/pc-stuff/ms-windows/winsock/apps/finger31.zip. Recommendation PCEudora Free The Windows version of Eudora, now compatible with Winsock. Great! Available at: sunsite.unc.edu:/pub/micro/pc-stuff/ms-windows/winsock/apps/pce*.zip Downright Speculation Uwho Free Uwho is Stan Barber's interface to whois and ph e-mail address servers that runs under MS-DOS. An alpha test version is available on ftp on punisher.caltech.edu in pub/dank/uwho as uwho218b.tar.Z, uwho218b.zip, or unarchived in subdir uwho218b. The archived text files are in Unix format. Recommendation Cello WWW client Free This application is not finished yet, but it's looking good. It supports some Mosaic extensions to WWW, including embedded pictures, sounds, and postscript files via external viewers. The current version is based on Distinct TCP, with a Windows Sockets version to follow. Available via ftp fatty.law.cornell.edu, cd /pub/LII/Cello. Files include VIEWERS.ZIP, the graphics viewer and sound player; GSWIN.ZIP, a Ghostscript Postscript viewer for Windows; CELLO.ZIP the executables of Cello; and DIS.ZIP, a time-limited version of Distinct TCP to use with the client. COMMERCIAL SOFTWARE Development Software Epilogue Technology: Includes source code. info@epilogue.com, Fax: (505)271-9788 Spider Systems Available for many architectures. ian@spider.co.uk, Fax: 44-31-555-0664 Marben Produit TCP/IP Source available, Fax: 33-1-47.72.55.00 Network Research FUSION Source available, Fax: 1(805)485-8204 Downright speculation Distinct Software Development Kit $495 Distinct TCP/IP for Windows - Software Development Kit This product is engineered as 100% DLL, and requires only 4 Kb DOS memory for a driver. The product supports up to 64 concurrent sockets, and buffers are allocated and deallocated as they open and close. Includes three development kits: Distinct TCP/IP for Windows - Berkeley-style Sockets (TCP, UDP, ICMP, Telnet, FTP) Distinct TCP/IP for Windows - Windows Sockets ver. 1.1 Distinct RPC - a complete ONC RPC/XDR toolkit for Windows (Client and Server RPC over both TCP and UDP; includes RPCGEN) Distinct Corporation, 14395 Saratoga Avenue, Suite 120, Saratoga, CA 95070, (408)741-0781, Fax: (408)741-0795, email: chris@distinct.com APPLICATIONS Downright speculation Distinct Network Applications $395 Network & Developer Combination $695 Distinct TCP/IP for Windows - Network Applications v3 integrates several Windows based TCP/IP utilities under a single interface. These include: Distinct Telnet which allows multiple concurrent Telnet sessions on different remote hosts, allowing you to cut and paste information between these systems as well as between the systems and your local host. Distinct FTP is a drag and drop FTP which allows you to drag a local or remote file to a local printer. Distinct FTP has both a client and a server; this means that files can be also transferred by selected users from PC to PC (password protection is included). TFTP provides file transfer services to communications servers and routers that do not have FTP. Network Monitor monitors host-to-host communication and data transmission traffic and is able to capture network traffic to a file. Distinct Corporation, 14395 Saratoga Avenue, Suite 120, Saratoga, CA 95070, (408)741-0781, Fax: (408)741-0795, email: chris@distinct.com Downright Speculation Piper/IP $375 Developer's Kit $375 Piper/IP runs under DOS protected mode, using less than 6K of lower DOS memory. The company claims that FTP transfers take place at 100K/second over a LAN. They also claim the ability to run concurrrently with NetWare, VINES, LAN Manager, LAN Server, and W4WG. The package includes a FTP, Telnet (client and server), and SMTP. Ipswitch, 580 Main Street, Reading, MA 01867, (617)942-0621. Suggestion Everywhere Access This is a remote access package for TCP/IP, including support for telnet server, FTP and Kermit transfers, VT100, VT220, VT300 emulation, password security. Erick Engelke (erick@development.uwaterloo.ca) says: "It does come ready to work with several TCPs and also includes a version linked with WATTCP so it doesn't require a commercial TCP if you don't own one." Supro Network Software Inc., P.O. Box 18, Warsaw, Ontario, Canada K0L-3A0, (705) 652-1572, email: info@snsi.com Recommendation PC/TCP v2.2 $400 Kernel Only $200 PC/TCP v2.2 offers a solid implementation of TCP/IP for DOS, with some Windows applications. It includes NFS for UDP or TCP, remote login (telnet, rlogin, supdup) with a variety of terminal emulators, file transfer (FTP, TFTP, rcp), electronic mail and news (pop2, pop3, pcmail, mail, SMTP, NNTP), printing (LPR and print redirection) and informational utilities (whois, ping, finger, host). Some kerberos support is available to domestic customers. If used alongside Concord Communications Mapware controllers, this product is capable of handling both OSI and TCP/IP concurrently. 3270 support is OK. It is available for Ethernet (DIX or 802.3), Token Ring, SLIP, PPP, LocalTalk and X.25 interfaces, over packet drivers, ODI drivers, NDIS drivers, banyan drivers, and ASI drivers. This package does not route; you are therefore restricted to installing it with PPP, SLIP or Ethernet, but not some combination of the above. PC/TCP is incompatible with Stacker. As of version 2.2, the Windows applications have been improved. New to Windows support is the ability to mount and unmount NFS drives from within Windows, and to use PCNFSD printer services from Windows. The 2.2 manual includes a 6-page install guidelette, and now offers a menu-driven installation and configuration program. FTP Software, 2 High St., North Andover, MA 01845, 1-800-282-4ftp, Support: 1-800-382-4ftp, Fax: (508)794-4477 Suggestion Chameleon v3.15 $125 (upgrade price) ChameleonNFS v3.15 $400 Chameleon is a Windows 3.x TCP/IP implementation that can handle FTP, Telnet (3270, ANSI, VT-52, VT100 and VT220 emulation), ping, SMTP, POP2, and NFS (client and server) all in multiple windows, simultaneously. The package also supports DNS via an implementation of BIND, as well as SNMP. ChameleonNFS is compatible with the IPX/Link product for Netware from NetManage. Most of the code resides in a DLL. Chameleon supports multiple interfaces, and can route between them. The newest release supports CSLIP, PPP and NNTP. NetManage, Inc., 20823 Stevens Creek Blvd.,Cupertino, CA 95101, (408)973-7171, Fax: (408)257-6405. Downright Speculation Super-TCP v2.0 $495 Super-NFS client v2.0 SuperTCP supports telnet (3270, VT100, VT102, and VT220 emulation), talk, SMTP, ftp, ping, and with Super-NFS, NFS client. SuperTCP supports both TCP/IP and Novell IPX protocols, as well as SNMP. It is written as a DLL, although a TSR version of the protocol stack is also available for those who want to use DOS as well. Network statistics (arp, ICMP messages, etc.) are available. A shareware version (WinTCP v1.0) is also available for download from EXEC-PC and other BBSes. Frontier Technologies, 10201 North Port Washington Road, Mequon, WI 53092, (414)241-4555, Fax:(414)241-7084 Suggestion BW-NFS v3.0 The BW-NFS protocol stack is available as a TSR, rather than as a DLL, which means that it takes up DOS memory even if you are primarily using it with Windows. The package supports SLIP, NFS client, Telnet (VT220 and 3270 emulation), finger, talk, ftp, and SMTP mail. It also can act as a server for telnet, FTP, finger, and lp. The 3270 emulation is reportedly OK. Beame & Whiteside Software, Ltd., P.O. Box 8130, Dundas, Ontario, Canada L9H 5E7,(416)765-0822, Fax: (416)765-0815 PC-NFS 5.0 $395 PC-NFS from SunSelect (a Sun Microsystems business) includes a TCP/IP stack, TCP/IP utilities under DOS and Windows, an NFS client, remote printing support, SNMP, and Windows Sockets. Add-on packages support email and advanced telnet. A Programmer's Toolkit is available which provides DOS and Windows support for TCP/IP over sockets and XTI, as well as TIRPC, NIS and supporting APIs. SunSelect, 2 Elizabeth Drive, Chelmsford, MA 01824-4195 USA 1-800-24-SELECT or 508-442-0000; FAX 508-250-5068 Downright Speculation Wollongong PathWay Access Wollongong offers TCP/IP for DOS/Windows, Mac, OS/2, and Vax/Alpha; SNMP Management products, and Electronic Messaging based on OSI/TCP X.400/X.500 Standards. PathWay Access for DOS/Windows - $350 (Extensive discounts for multiple users Client NFS - $95 and Educational facilities) Access for Macintosh - $295 Client NFS - $295 Access for OS/2 - $350 API Developer's Kit Mac, DOS/Windows - $200. Features: * DOS AND true Windows applications * VT100-220, VT320-330, VT340, IBM 3270 2-5, IBM 3179g, Tek 4105-4010 * High performance FTP * Scripting, Remapping, Printing Services * Ethernet, Token-Ring, Async, X.25 support * 28K DOS/Windows (Most of which can be loaded high) Windows Sockets Compliant * ODI, NDIS, PDS, ASI, ODI/NDIS, SLIP, PPP, IPX/NDIS, IP/IPX, IP/NetBIOS support * Extensive 3rd Party Support The Wollongong Group, 800-872-8649 (Outside Cal), 800-962-8649 (In Cal), (415)962-7134, contact: George Stump, gstump@twg.com XWARE Suggestion PC-Xview PC-Xview is available for DOS or Windows, supporting use of X over the network. It also supports NCD's Xremote protocol that allows X to run over a modem much faster than could be achieved running a standard X package over SLIP or PPP. Network Computing Devices, Inc., (800)793-7638 Downright speculation XVISION $449 XVision allows X applications to run under Windows. You have a choice of running each X app in its own Window, or all X applications within one big Window. VisionWare, Ltd., 57 Cardigan Lane, Leeds, England, 44-0-532-788858, (800)222-0550, Fax:44-0-532-304676 Downright Speculation DesQView X DesQView X integrates networks of DOS and UNIX machines using the X-Windows protocol, allowing DOS machines to act as X-Windows clients and servers. Quarterdeck Office Systems, 150 Pico Boulevard, Santa Monica, CA 90405, (213)392-9851, Fax:(213)399-3802 ------------------------------ END OF FAQlet ------------------------ Please send comments to: Bernard Aboba Author "The Online User's Encyclopedia", Addison-Wesley, 1993 MailCom 5337 College Ave., Suite 326 Oakland, CA 94618, Fax: (510)540-1057 email: aboba@world.std.com .