| Networking with OS/2 | - by Brian L. Juergensmeyer

  irst off, I'd like to thank everyone for the feedback on last month's column. We were hoping that the information would be timely and well-received, and it appears that we were right. Among the feedback last month, I received some corrections and further information from Chris Williams and from Brian Futrell, both of whom are a bit more familiar with connecting Warp to Windows than I am.

  Now, let's get on with this month's column.

  ### TCP/IP

  While the OS/2 community tends to have a large number of people that could be considered 'power-users' or 'hackers', IBM has not, unfortunately, placed a tutorial on TCP/IP in the box with any version of OS/2 shipped thus far. To try to help those of you who want to tinker, over the next several months, I plan to go over the TCP/IP settings and programs available in OS/2 Warp.

  Last month we discussed some minor variations due to the networking interface changes between Warp 3 and Warp 4. This should not be an issue with either of the next few articles, as the dialup TCP/IP networking interface in Warp 4 seems almost identical to the Warp 3 version. So the information given here should apply equally to both versions.

  This month, we're going to discuss the 'Dial Other Internet Providers' applet and the settings therein. Along the way, I'll very briefly get into what TCP/IP is, what it isn't, and just exactly what those settings do (and why they do it).

  ### DOIP--Whazzat?

  In OS/2 Warp (both versions), there is an application known as 'Dial Other Internet Providers', aka DOIP. It is installed from the BonusPak in the original (non-connect) version of Warp, and through the Networking Install in Warp Connect (including Warp 4).

  This applet really only serves as an information repository and interface for the command line SL/IP (Serial Line Internet Protocol) and PPP (Point to Point Protocol) executables which are also provided with Warp. (Yes, this means you can establish an Internet connection via modem without using this graphical front end.) DOIP saves information about your server and the nature of the connection you wish to make.

  ### Configuring Internet Parameters

  If you wish to create a new dialup Internet account, or modify an existing one, you simply click the appropriate button ("Add Entry" or "Modify Entry") in the main DOIP window. A four page settings notebook is displayed. The first page of this notebook contains information that is relatively easy to fill in properly, such as a nickname, username and password for the account.

  There are only two things worthy of noting on this page. First, there is a choice between SL/IP and PPP. PPP is a newer, improved, and more robust version of SL/IP. PPP makes provisions for error correction, for instance, which does not occur with SL/IP. However, there are certain things that PPP can not do. I've seen thousands of new Internet users ask if they can improve connection speeds by going to PPP rather than SL/IP. The answer is, no. Connection speeds are not dependant on the type of protocol being used, and in this day of increasing Internet congestion between routers, are even less dependant on modem speed than on finding a good, clear, unobstructed path from you to the host you are trying to reach.

  The second thing (or rather, things) of note here, are the two edit boxes available for your username and password. If you are using PPP and either CHAP or PAP to connect to the Internet, you can type your username and password in these boxes and have it sent automatically to the server when you log on. If you need to use a script, you can either leave those two boxes blank and hard code your username and password into your connection script, or you can put your username and password into the edit boxes and access them through the [LOGINID] and [PASSWORD] environment variables.

  The top of the second page is quite possibly the most cryptic portion of the entire setup notebook. Of the four blank spaces there, the first is fairly clear: this is where you would put your Internet address if you have a static IP address (an IP address that never changes). The problem is, of course, most people who use dialup Internet Service Providers (ISPs) do not have static IPs, but rather have dynamic IPs (meaning they get a different IP address every time they connect). If your ISP provides you with dynamic IPs, leave this slot blank. (If you are using SL/IP, this is a "required field" but it will be greyed out if you are using a login script.)

  The second field is listed as the destination IP address, the third is the netmask, and the fourth is the MRU (if you are using PPP) or MTU (if you are using SL/IP). If you attempt to use the context sensitive help for the first two of these three objects, you are given a cryptic sentence or two with the phrase: "This should be provided by your Internet provider," somewhere near the bottom of the help page. Again, you can safely ignore the first two, but the MRU/MTU is important.

  These four numbers separated by periods, perhaps more than any other setting on your PC, control how your Internet link performs and behaves, so it obviously makes sense for you to understand them. However, to explain what those settings control, I must at the same time give the quick primer on TCP/IP that I mentioned earlier.

  As I stated in last month's article, TCP/IP is a, "routed family of protocols." What this means is this: when you send a request for information (for instance, you wish a foreign server to send a file to you), three numbers are consulted, the IP address that you are sending the request to, your own IP address, and the subnet mask, or netmask.

  The form of Internet address that most of us are familiar with is a series of words like "www.os2ezine.com". Computers, however, can only deal with the other (numeric) form of Internet address. It is this numeric form that is used in the sending of information.

  I am going to omit an explanation of Boolean logic here and simply recommend the curious reader to just about any basic programming treatise. However, I would assume that anyone smart enough to use OS/2 will be smart enough to pick up on what is going on after the following demonstration.

  So, I am at address 127.0.0.1, with a netmask of 255.255.255.128, and wish to get a cool piece of OS/2 shareware from www.foobar.com which has an address of 127.0.0.127 (which is, in binary: 01111111.0000000.00000000.01111111).

  What happens is this: first my computer does a logical 'AND' with my Internet address and the netmask which is also know as the "subnet mask". This is done by converting the decimal address (such as 127.0.0.1) into binary so that it looks like this: 01111111.00000000.00000000.00000001. The process is then repeated with the subnet mask (in this example, we will use a subnet mask of 255.255.255.128). This will yield a subnet mask of 11111111.11111111.11111111.10000000.

  When my Internet address is 'AND'ed with my subnet mask like so:

      my computer:     01111111.00000000.00000000.00000001
      my subnet mask:  11111111.11111111.11111111.10000000

      results in:      01111111.00000000.00000000.00000000

  I can now say that I belong to subnet 127.0.0.0. Now, we check which subnet www.foobar.com belongs to:

      www.foobar.com   01111111.00000000.00000000.01111111
      my subnet mask   11111111.11111111.11111111.10000000

      results in:      01111111.00000000.00000000.00000000

  which means that foobar.com is on the same subnet that my computer is: 127.0.0.0. This means that I can send information directly to it without having to send it to the router first.

  Now, let's see what would have happened if foobar.com's Internet address had been 127.0.0.128. First we translate into binary:

      www.foobar.com   01111111.00000000.00000000.10000000
      my subnet mask   11111111.11111111.11111111.10000000

      results in:      01111111.00000000.00000000.10000000

  which puts foobar.com in subnet 127.0.0.128. Since foobar.com and I are no longer on the same subnet, I am no longer able to send information directly to foobar.com. This means that I must send requests to the router.

  There is at least one router on each subnet, and its mission in life is to receive packets and forward them to their appropriate destinations. In our case, we send our request to our router, and our router consults its internal table of known routes. If it knows the route to the destination Internet address, it will forward the packet directly to the destination router. If it does not, our router forwards the request to its own router, which then repeats the process.

  Now, to get back to the Destination IP Address mentioned in the second edit box at the top of the second page. For the record, I disagree with the terminology IBM used for this entry field, as it is slightly misleading to the end user. The Destination IP Address requested here is the address of the default router for our subnet, not the address of a remote site that we wish to connect to.

  Unless you have a static IP address, you need to leave both the Destination IP Address and the Your IP Address fields blank. The Netmask field can be filled in if you know it and are using SL/IP (the netmask is negotiated as part of a PPP connection automatically, so you don't have to worry about it).

  The last major mystery on this page is the MTU/MRU. This number controls the size of the information packets that are sent from your computer to your Internet provider, and vice versa. This defaults to 1006 for SL/IP and 1500 for PPP. This is the packet size in bytes. The smallest number that can be entered here is 296, which allows 40 bytes for the packaging information and 256 bytes of information itself.

  Generally, your Internet provider will have a set value that it uses, but there are times when this number might need to be adjusted by you. For instance, I live out in the country and have incredibly noisy phone lines. When I first started using the Internet, I discovered that I could browse the WWW, read Usenet news, use FTP to get files and do just about everything else. However, I could only receive e-mail. I could not send it.

  The key was my MTU (which is a three letter acronym for Maximum Transmissible Unit): with my noisy phone lines and using a large MTU, the packets that I was sending were so large that getting garbage in the packet somewhere was a virtual certainty. When the garbled packet was received on the far end, my Internet provider looked at the checksums and noted that they did not match and requested that my computer resend that packet. When my computer resent the packet, still with my noisy phone lines and using a large MTU, they got garbled again. I was retransmitting indefinitely, my computer trying desperately to get one packet through, and it was just not working.

  When I dropped my MTU from 1500 to 296, I was able to send and receive e-mail, and all was good with the world, as my MTU was now small enough that the majority of the packets were making it through the first time unscathed, and of those that were garbled, they almost always were retransmitted correctly.

  The VJ Compression check box tells OS/2 to use a compression algorithm to compress the TCP/IP headers that are sent and received by your computer, thus enabling shorter transmit times and all sorts of other generally good things. Enable this unless your Internet provider does not support it (most ISPs do).

  The Domain Nameserver is the handy little computer that translates human readable names like www.foobar.com into computer readable names like 127.0.0.128. This address MUST be in dotted decimal (computer readable) format. After all, who will translate the address for the computer that translates the addresses?

  Unless you are on a LAN, you do not need to enter anything in the Your Host Name field. Your Domain Name is usually the last two parts in your e-mail address. This is the name set aside by InterNIC or some other Internet regulatory organization for your ISP, for example, "ibm.net".

  The rest of the Internet provider setup in 'Dial Other Internet Providers' deals with things that are mostly self obvious. However, if there is interest, I will touch on them in a later column.

  Next month, we'll cover the wonders of netstat and ipconfig. Until then, happy Warping!

  Brian L. Juergensmeyer is a programmer at the VA hospital in Topeka, Kansas. He annoys his IS manager by trying get him to convert from NT/WfW 3.11 to Warp Connect/Warp Server.

--

[Our Sponsor: ScheduPerformance - Improve OS/2's performance with Priority Master II.]

This page is maintained by Falcon Networking. We welcome your suggestions.

Copyright © 1997 - Falcon Networking