The Point-to-Point Protocol Configuration Options:
Negotiation of 32-bit FCS
INTERNET-DRAFT
Abstract
The Point-to-Point Protocol (PPP) provides a method for transmitting
datagrams over serial point-to-point links. PPP is composed of three
parts:
1. A method for encapsulating datagrams over serial links.
2. An extensible Link Control Protocol (LCP).
3. A family of Network Control Protocols (NCP) for establishing
and configuring different network layer protocols.
The PPP encapsulating scheme, the basic LCP, and an NCP for
controlling and establishing the Internet Protocol (IP) (called the IP
Control Protocol, IPCP) are defined in The Point-to-Point Protocol
(PPP) [1].
This document defines a method to negotiate a 32-bit FCS Configuration
Option for PPP.
Status of this memo
This draft document is for review by the IETF. Distribution of this
memo is unlimited. Please send comments to the author.
1 Introduction
As described in [1], Link Control Protocol (LCP) Configuration Options
allow modifications to the standard characteristics of a point-to--
point link to be negotiated. Reference [2] describes the initial
configuration options for PPP.
INTERNET-DRAFT 32-bit FCS Option for PPP Page 2
Introduction 19 December 1990
This document describes a method for negotiating a 32-bit FCS
Configuration Option to improve the error detection guarantees
provided by PPP.
2 Description
The default frame check for PPP is defined to be a 16-bit FCS. The
use of a 32-bit FCS will improve the error detection guarantees
provided by PPP, but, both PPP entities must agree on the FCS size.
Frames transmitted under one FCS type will result in an FCS failure if
received under the other FCS.
In principle, the LCP can be used to negotiate the FCS size. The LCP
frames, however, carry an FCS and cannot be received unless the frames
pass the frame check at the receiver. Normally, this requires that
the receiving station is operating the same FCS as the transmitter.
Fortunately, it is possible to generate a frame which will pass the
frame check for both the 16-bit FCS and the 32-bit FCS.
2.1 Generating and Checking the FCS
This section describes the generation and checking of an "n"-bit FCS.
A sequence of bits is described in terms of a polynomial where the
coefficient of "x^i" indicates the value of bit "i". Thus, the bit
pattern 101001 is represented by the polynomial
x^5 + x^3 + 1
The notation "x^n ...1" represents the polynomial for which all
coefficients from "x^n" down to "x^0" are 1. This corresponds to a
bit pattern of "n+1" consecutive one bits.
The following polynomials are defined for an "n"-bit FCS.
1. The initializing polynomial, In.
2. The generating polynomial, Gn.
3. The complementing polynomial, Cn.
4. The result polynomial, Rn. This has the value
(Cn * x^n) mod Gn.
The "n"-bit FCS, Fn, for the message portion of a frame (represented
by the polynomial Mk of length "k" bits) is the sum (modulo 2) of
1. the remainder of x^k * In divided (modulo 2) by Gn,
INTERNET-DRAFT 32-bit FCS Option for PPP Page 3
Description 19 December 1990
2. the remainder of x^n * Mk divided (modulo 2) by Gn,
3. and Cn.
The frame transmitted, Tj (where j=k+n), is then represented as
follows
Tj = Mk * x^n + Fn
The received frame, Tj, is checked to detect transmission errors by
forming the sum (modulo 2) of
1. the remainder of x^j * In divided (modulo 2) by Gn,
2. the remainder of x^n * Tj divided (modulo 2) by Gn.
The frame is valid if the above sum is equal to Rn.
2.2 The 16-bit FCS polynomials
I16 = x^15 ...1
G16 = x^15 + x^12 + x^5 + 1
C16 = x^15 ...1
R16 = x^12 + x^11 + x^10 + x^8 + x^3 + x^2 + x + 1
2.3 The 32-bit FCS polynomials
I32 = x^31 ...1
G32 = x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 +
x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1
C32 = x^31 ...1
R32 = x^31 + x^30 + x^26 + x^25 + x^24 + x^18 + x^15 +
x^14 + x^12 + x^11 + x^10 + x^8 + x^6 + x^5 +
x^4 + x^3 + x^2 + x + 1
INTERNET-DRAFT 32-bit FCS Option for PPP Page 4
Description 19 December 1990
2.4 The 48-bit FCS polynomials
To generate a frame with a 48-bit FCS which is valid when checked
using either 16-bit or 32-bit polynomials, the operations described
previously for generating an "n"-bit FCS are performed using the
following polynomials.
I48 = x^47 + x^46 + x^43 + x^42 + x^39 + x^37 + x^34 +
x^32 + x^31 + x^30 + x^29 + x^27 + x^25 + x^23 +
x^22 + x^21 + x^20 + x^19 + x^17 + x^16 + x^15 +
x^11 + x^10 + x^9 + x^8 + x^5 + x^4 + x^2 + x + 1
G48 = x^48 + x^44 + x^42 + x^39 + x^37 + x^35 + x^34 +
x^31 + x^28 + x^23 + x^19 + x^18 + x^17 + x^15 +
x^14 + x^12 + x^11 + x^9 + x^8 + x^6 + x^4 +
x^2 + x + 1
C48 = x^45 + x^44 + x^41 + x^40 + x^38 + x^36 + x^35 +
x^33 + x^31 + x^30 + x^29 + x^27 + x^25 + x^23 +
x^22 + x^21 + x^20 + x^19 + x^17 + x^16 + x^14 +
x^13 + x^12 + x^7 + x^6 + x^3
2.5 Derivation of the 48-bit polynomials
The generator polynomial G48 is the product (modulo 2) of the 16-bit
and 32-bit generator polynomials.
G48 = G16 * G32
The initializing and complementing polynomials are chosen so that they
solve the following equations.
C48 mod G16 = C16
C48 mod G32 = C32
I48 mod G16 = I16 * x^32
I48 mod G32 = I32 * x^16
2.6 Implementation and Operation
The 48-bit FCS can be computed in exactly the same way as the 16-bit
and 32-bit FCSs using suitable hardware or software. The polynomials
I48, G48 and C48 are used, and the generated 48-bit FCS may be
appended to the message for transmission. However, most hardware is
designed to operate with only a 16-bit or 32-bit register and will not
be capable of performing the 48-bit operations. In this case, it is
necessary to perform the FCS computation by software. Fortunately, it
is not necessary to bypass the hardware FCS generation and transmit
the 48-bit FCS frame directly. If the transmission hardware is
INTERNET-DRAFT 32-bit FCS Option for PPP Page 5
Description 19 December 1990
operating in 16-bit FCS generation mode, then the leading 32 bits of
the 48-bit FCS can be appended to the original message of length "k"
and the new message of length (k + 32) passed through the 16-bit FCS
generation hardware. The resultant (k + 48)-bit message will be the
same as that produced by appending the 48-bit FCS to the original
message. Similarly, if the transmission hardware is operating in
32-bit FCS generation mode, then the leading 16 bits of the 48-bit FCS
can be appended to the original message of length "k" and the new
message of length (k + 16) passed through the 32-bit FCS generation
hardware. The resultant (k + 48)-bit message will again be the same
as that produced by appending the 48-bit FCS to the original message.
A PPP station attempting to negotiate the 32-bit FCS must append the
48-bit FCS to all frames until the LCP handshake completes and the
link enters the Open state. Frames sent when the link is in the Open
state may contain either the negotiated FCS or the 48-bit FCS.
Note that the receiver must treat as padding the part of the 48-bit
FCS that precedes the expected 16-bit or 32-bit FCS field. Thus, a
receiver operating the 16-bit FCS will handle the initial 32 bits of
the 48-bit FCS as padding. Similarly, a receiver operating the 32-bit
FCS will handle the initial 16 bits of the 48-bit FCS as padding.
3 Format
A summary of the 32-bit FCS Configuration Option format is shown
below. The fields are transmitted from left to right.
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
Length
2
Default
16-bit FCS.
INTERNET-DRAFT 32-bit FCS Option for PPP Page 6
Format 19 December 1990
References
| [1] Perkins, D., "The Point-to-Point Protocol for the Transmission of
| Multi-Protocol Datagrams Over Point-to-Point Links", RFC 1171.
| [2] Perkins, D., "The Point-to-Point Protocol (PPP) Initial
| Configuration Options", RFC 1172.
Chairman's Address
This proposal is within the purview of the Point-to-Point Protocol
Working Group of the Internet Engineering Task Force (IETF). The
working group can be contacted via the chair:
Stev Knowles
FTP Software
26 Princess Street
Wakefield, MA 01880-3004
Phone: (617) 246-0900 x290
EMail: Stev@FTP.com
Author's Address
Questions about this memo can also be directed to the author:
Arthur Harvey
Digital Equipment Corporation
550 King Street, LKG1-2/A19
Littleton, MA 01460-1289
Phone: (508) 486-7647
EMail: Harvey@gah.enet.dec.com