TCP/IP Lean: Web Servers for Embedded Systems, Second Edition

Chapter 13: Point-to-Point Protocol: PPP

Overview

So far, all TCP/IP serial communications have used a very simple serial encapsulation protocol, SLIP. Many applications require a more versatile serial interface, so they employ PPP (Point-to-Point Protocol) instead. It is particularly useful in establishing a dial-up link to an ISP (Internet Service Provider) because it includes a framework for the validation of the user's identity and negotiates the client's IP address.

PPP provides much more than just a user name and addressing capability; it is a container for various other protocols, each of which is negotiated independently. To create a PPP connection, LCP (Link Control Protocol), IPCP (Internet Protocol Control Protocol), and probably a user authentication protocol such as PAP (Password Authentication Protocol) have to be negotiated. There are no shortcuts around this. If any one of the three negotiations fails, the PPP link will fail, and no data can be transferred.

Whole books have been written about PPP. In this chapter, I'll look at the basic protocol elements and how they can be implemented. It would have been nice to include a complete set of source code for the PIC16F877 on the Microchip PICDEM.net board, but unfortunately, the small RAM limits the applications that can be accomodated. Instead, I'll write software that takes advantage of the increased ROM and RAM sizes of the Microchip PIC18 series microcontrollers. At the time of writing, these devices are relatively new, so this chapter represents work in progress, rather than a completed application.

Design of PPP

As its...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Bit Error Rate Testers
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.