Improving a PPP-connection

 

Introduction:

Since beginning of the 90:s usage of modems has increased tremendously. In the beginning the modem just connected computers to each other by the telephone line. This was for sending smaller files. But nowadays a modem is almost as common as a keyboard connecting millions of people to the Internet. Knowing how to make the connection faster saves money and time for millions of people world-wide and therefore an important task.

This report will give the reader little information about the past and some information about how make the Internet go faster.

 

1. Brief History of Using PPP-Connection.

In the late 80:s and early 90:s modems were used for connection between two computers. This connection was mostly between compatible computers, and the task of the connection was sending or receiving small data files, so speeds for modems were about 4800 bits/sec.

The next big thing for the modem usage was Bulletin Board System (BBS). Users connected themselves to the BBS, looked for the information or files they wanted and downloaded them. Modem speed was higher now (about 9600bits/sec to 18800bits/sec).

In mid 90’s Internet began to reach common people in USA, Europe and soon everywhere else. From simple browsers that showed only texts, now we have programs that broadcast radio, enable telecommunication and show movies via the Internet. Of course this tasks need higher communication rate, but how do we accomplish that?

Today’s Internet Service Providers are normally based on the Point-to-Point Protocol (PPP) and are configured to support single, dial-up users. ISPs generally handle these dial-up users by dynamically allocating an IP address when a user connects. This reduces the degree of administration required and also makes more efficient use of available "legal" IP addresses.

PPP features, which may or may not be present in software, are:

 

2. Making the Connection Faster

Three main factors play an important part when you are dealing with communication rate.

  1. Receiving end or client.
  2. Modem pool.
  3. Channel (connecting the receiver and the source to each other) and protocols.

2.1 Receiving End

The receiving end or the client as we can call it too is the computer that connects itself to the source (or the host) by a modem. Clients use to be IBM compatible PC’s or Macintosh computers (but also other type of computers). For making the client fast you will need good hardware. It means you must have a fast processor, fast hard drive with a lot of free space and enough cache and RAM memory. If you have not enough good hardware in your client it doesn’t matter how fast the net is because the bottleneck of the connection will be the client.

A fast processor is essential for translating the files and sending them to the monitor screen. Lack of RAM and cache force the computer to use the hard drive in the computer much more, hence the speed will decrease though hard drive is much slower than RAM and cache memory. This is very important when using real-time programs like radio and TV broadcasting by TV. A fast hard drive will make it faster to download files from the net.

Another important part in the client is the modem that it uses for the connection. A faster bit rate on a modem means a faster connection. Today the rate for a modem is about 36,6 KBPS (There exist even a 56 KBPS modems but they only receive data at that speed and transmit at 36,6 KBPS) on telephone line. Seven times higher modems are made for coaxial cables that are currently used for cable TV. There exist even ISDN (Integrated Services Digital Network) modems, which allow users to transmit data at the rate of 128 KBPS.

 

2.2 Modem Pool

The modem pool is the computer that connects the client to Internet. Usually a modem pool is a computer connected to several modems. Each modem is connected to a client by the channel. It is very important here that the host also has efficient ram and cache memory plus fast processors and hard drives (they usually have several), because of the same reasons as for the client.

The modem speed here is also important. The fastest modem speed for pools nowadays on regular telephone line is 56 KBPS, but the bit rate from the clients is still at top 36,6 KBPS. Another very important part is the number of users per modem pool must be so low that it won’t result in an information traffic jam in the pool. After a good look through some computer magazines I found out that 10 clients/pool is about the optimum figure for today’s modem pools.

2.3 Channel, Protocols and Software

A channel connects the modem and modem pool to each other. Using a telephone line (also called standard asynchronous line or just ASYNC), the client’s modem is connected to regular telephone line and then it passes some switches under its way to the modem pool. These switches have been built for human speech in mind and not for data transfer, but new switches are made like Ericsson’s new AXE-switch for both handling speech and data transfer, which will increase the data transfer.

Cables that are between these switches should have a high bandwidth allowing heavy traffic. Best cables are fibre cables that are already dogged under Stockholm but are not used in the telephone lines.

The regular phone line is made for human speech with a bandwidth of about 3000 Hz. Another connection over telephone line but with greater bandwidth is ISDN. For being able to use ISDN the phone company must change the cables between the client and the first switch on the phone line. After doing that the bandwidth of the connection is raised and the connection speed goes up to 64 KBPS or 128 KBPS. The connection setup time is much faster compared to a ASYNC line (for ISDN it is about 1 to 3 seconds, compared to 30 seconds for ASYNC).

The ISDN-connection is off course more expensive than regular telephone lines for home usage but for smaller companies it is a better solution.

For best result, an ISDN and an ASYNC connection must meet the following requirements:

Another example of fast PPP-connection is the Ericsson’s Cobra World Wide Web. With this technique it is possible to speeds up to 512 KBPS over a regular copper cable. It is even possible to make phone calls simultaneously as you are surfing on the net. Cobra is build upon a technique called ADSL (Asymmetric Digital Subscriber Line). The word asymmetric means that the bandwidth to subscriber is much higher than the bandwidth from the subscriber.

 

Bigger companies can use two different connections:

  1. Switched 56, which is a common type of dedicated leased line, offering bandwidth starting at 56 KBPS.
  2. T1, which is the other most common type of dedicated leased line. It provides a bandwidth of 1.544 MBPS. Fractional T1 services, where only part of the bandwidth is leased, are also available.

They do not follow PPP so we’ll do not concentrate on them.

Different protocols and software can also change the connection speed a lot. With software it is meant different compression that makes the data less and though faster to transmit. Nowadays there are a lot of different compression standards for graphics and audio. Graphic compressions are like JPEG and MPEG. JPEG is used for photographs and MPEG for motion picture. Sound compression is less standardised. One of compression used for real time audio broadcasting on is Real Audio.

PPP has its own compression and encryption standards. Compression Control Protocol or CCP is the compression standard. It does not decide the compression method but it does see to that same compression is used everywhere in the system. The encryption standard Encryption Control Protocol, ECP works like that too.

2.4 HTTP

HTTP stands for Hyper Transfer Text Protocol is a simple protocol used for getting files from servers. HTTP uses exclusively TCP because of its characteristics (fragmentation och error correction). HTTP is widely used on Internet and therefore it is important to see how it works and how we can make it faster.

For fetching an HTML file from the Internet this steps are taken:

1. One TCP package is send from a client to a server requesting TCP-layer at the server. This is necessary for a TCP connection.

2. One TCP package is send from server replying the request and another one to confirm the connection, and a third one which is the first part of HTTP request from the client to the server.

3. Two TCP packages sending the rest of the HTTP request from client to server.

4. Two TCP packages sending HTTP reply from server to client.

5. Four TCP packages sending the rest of the HTTP reply.

The time it takes for a request to go from a client to a server and a reply coming back from the server to the client is called Round Trip Time (RTT).

It seems very strange that we don’t send the whole HTTP request and reply at once. The reason is called Slow start. Slow Start means that we send a TCP package, waiting for acknowlegment first to see if the connection is OK, this results in less congestion on the net. After some transmission between the client and the host HTTP will allow increased number of pages without aknowlegment, this is called sliding window.

Pictures in a HTML file are processed as a HTML file in themselves, it means that if there exists many pictures in a HTML file a lot of time will be waste just sending and receiving TCP packages.

4.3.1 Solutions

One solution is to not use the Slow Start. It means more congestion, but in less traficated networks it means faster access. But in most cases it means congestion and it will mean even slower connection.

Trying to get around this problem we can use a mechanism by recycle the TCP connections we’ve had used. For example if we have been to a certain place we can store the sliding window size (for a specific time) and reuse it when we come back. This process will save time especially on pages with pictures. This solution would shorten The process by at least two steps, giving an improvment by up to 40%. One disadvantege with this process is that it shoud be modified in TCP-level, which results in long time for standardisation.

Another solution is Keep-Alive. The Keep-Alive extension to HTTP, as defined by the HTTP/1.1 draft, allows persistent connections. These long-lived HTTP sessions allow multiple requests to be send over the same TCP connection, and in some cases have been shown to result in an almost 50% speed up in latency times for HTML documents with lots of images.

Pipelining is another way to optimize the connection. It means to send all data through the same channel. GetAll function is an extension that allows all files in the same HTML to be transfered at the same time. Advantage of this solution is that less computer power is needed on TCP-level, but the HTTP have to take over this work. The disadvantege is that the system don’t care about the disk cache, so it will download the pages it allready has. It’s difficult to say how faster the system will get, because it depends on the physical connestion and the format and size of the pages it downloads. But we can guess about up to 20% improvment.

Another Pipelining extension is GetList. With this funciton the client knows which files it has in its cache, so it doesn’t download them again. It works like this: the client sees which files (pictures) are already downloaded. Those files that are missing are put in a list and send over to the server. Consequently the server sends over the files on the list in the same channel. GetList makes the downloading function faster in general but especially for the slow connections.

A www-agent is an application that controlls downloading webpages. The process of downloading gets faster if www-agent download pages and then send them to the client (www-agent usually is at ISP, Internet Service Provider) The www-agent will combine GetAll and GetList to make the downloading as fast as possible. Then the agent would be able to use the PPP-connection as the best way possible (with noheader and optimized) to send data down to the client.

No solution is superior to others, they all are good sometimes. Some of them exist already but are not standard yet (They don’t work on all applications or platforms). Perhaps some of these solutions will be combined to an optimum one.