draft-ietf-ipngwg-pppext-ipv6cp-01.txt   draft-ietf-ipngwg-pppext-ipv6cp-02.txt 
Internet Engineering Task Force Internet Engineering Task Force
INTERNET-DRAFT Dimitry Haskin INTERNET-DRAFT Dimitry Haskin
Expires August 1996 Ed Allen Expires October 1996 Ed Allen
<draft-ietf-ipngwg-pppext-ipv6cp-01.txt> Bay Networks, Inc. <draft-ietf-ipngwg-pppext-ipv6cp-02.txt> Bay Networks, Inc.
February 1996
IP Version 6 over PPP IP Version 6 over PPP
Status of this Memo Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its documents of the Internet Engineering Task Force (IETF), its
areas, and its working groups. Note that other groups may also areas, and its working groups. Note that other groups may also
distribute working documents as Internet-Drafts. distribute working documents as Internet-Drafts.
skipping to change at page 3, line 46 skipping to change at page 3, line 46
does include the option. does include the option.
2. Sending IPv6 Datagrams 2. Sending IPv6 Datagrams
Before any IPv6 packets may be communicated, PPP must reach the Before any IPv6 packets may be communicated, PPP must reach the
Network-Layer Protocol phase, and the IPv6 Control Protocol must reach Network-Layer Protocol phase, and the IPv6 Control Protocol must reach
the Opened state. the Opened state.
Exactly one IPv6 packet is encapsulated in the Information field of Exactly one IPv6 packet is encapsulated in the Information field of
PPP Data Link Layer frames where the Protocol field indicates type PPP Data Link Layer frames where the Protocol field indicates type
hex 0xxx (Internet Protocol Version 6). hex 0057 (Internet Protocol Version 6).
The maximum length of an IPv6 packet transmitted over a PPP link is The maximum length of an IPv6 packet transmitted over a PPP link is
the same as the maximum length of the Information field of a PPP data the same as the maximum length of the Information field of a PPP data
link layer frame. PPP links supporting IPv6 must allow at least 576 link layer frame. PPP links supporting IPv6 must allow at least 576
octets in the information field of a data link layer frame. octets in the information field of a data link layer frame.
3. A PPP Network Control Protocol for IPv6 3. A PPP Network Control Protocol for IPv6
The IPv6 Control Protocol (IPV6CP) is responsible for configuring, The IPv6 Control Protocol (IPV6CP) is responsible for configuring,
enabling, and disabling the IPv6 protocol modules on both ends of the enabling, and disabling the IPv6 protocol modules on both ends of the
skipping to change at page 4, line 27 skipping to change at page 4, line 27
IPV6CP packets received before this phase is reached should be IPV6CP packets received before this phase is reached should be
silently discarded. silently discarded.
The IPv6 Control Protocol is exactly the same as the Link Control The IPv6 Control Protocol is exactly the same as the Link Control
Protocol [1] with the following exceptions: Protocol [1] with the following exceptions:
Data Link Layer Protocol Field Data Link Layer Protocol Field
Exactly one IPV6CP packet is encapsulated in the Information field Exactly one IPV6CP packet is encapsulated in the Information field
of PPP Data Link Layer frames where the Protocol field indicates of PPP Data Link Layer frames where the Protocol field indicates
type hex 8xxx (IPv6 Control Protocol). type hex 8057 (IPv6 Control Protocol).
Code field Code field
Only Codes 1 through 7 (Configure-Request, Configure-Ack, Only Codes 1 through 7 (Configure-Request, Configure-Ack,
Configure-Nak, Configure-Reject, Terminate-Request, Terminate-Ack Configure-Nak, Configure-Reject, Terminate-Request, Terminate-Ack
and Code-Reject) are used. Other Codes should be treated as and Code-Reject) are used. Other Codes should be treated as
unrecognized and should result in Code-Rejects. unrecognized and should result in Code-Rejects.
Timeouts Timeouts
skipping to change at page 5, line 25 skipping to change at page 5, line 25
assigned as follows: assigned as follows:
1 Interface-Token 1 Interface-Token
2 IPv6-Compression-Protocol 2 IPv6-Compression-Protocol
4.1. Interface-Token 4.1. Interface-Token
Description Description
This Configuration Option provides a way to negotiate a unique This Configuration Option provides a way to negotiate a unique
48-bit interface token to be used for the address 32-bit interface token to be used for the address
autoconfiguration [3] at the local end of the link (see section 5). autoconfiguration [3] at the local end of the link (see section 5).
The interface token MUST be unique within the PPP link; i.e. upon The interface token MUST be unique within the PPP link; i.e. upon
completion of the negotiation different Interface-Token values are completion of the negotiation different Interface-Token values are
to be selected for the ends of the PPP link. to be selected for the ends of the PPP link.
Before this Configuration Option is requested, an implementation Before this Configuration Option is requested, an implementation
must choose its tentative Interface-Token. It is recommended that must choose its tentative Interface-Token. It is recommended that
a non-zero value be chosen in the most random manner possible in a non-zero value be chosen in the most random manner possible in
order to guarantee with very high probability that an order to guarantee with very high probability that an
implementation will arrive at a unique token value. A good way to implementation will arrive at a unique token value. A good way to
skipping to change at page 5, line 47 skipping to change at page 5, line 47
Suggested sources of uniqueness include machine serial numbers, Suggested sources of uniqueness include machine serial numbers,
other network hardware addresses, system clocks, etc. Note that it other network hardware addresses, system clocks, etc. Note that it
may not be sufficient to use a link-layer address alone as the may not be sufficient to use a link-layer address alone as the
seed, since it will not always be unique. Thus it is suggested seed, since it will not always be unique. Thus it is suggested
that the seed should be calculated from a variety of sources that that the seed should be calculated from a variety of sources that
are likely to be different even on identical systems and as many are likely to be different even on identical systems and as many
sources as possible be used simultaneously. Good sources of sources as possible be used simultaneously. Good sources of
uniqueness or randomness are required for the Interface-Token uniqueness or randomness are required for the Interface-Token
negotiation to succeed. If a good source of randomness cannot be negotiation to succeed. If a good source of randomness cannot be
found, it is recommended that a zero value be used for the found, it is recommended that a zero value be used for the
Interface-Token transmitted in the Configure-Request. Interface-Token transmitted in the Configure-Request. In this case
the PPP peer may provide a valid non-zero Interface-Token in its
Note that if at least one of the PPP peers is able to generate response as described below. Note that if at least one of the PPP
a unique random number, the token negotiation will succeed. peers is able to generate a unique random number, the token
negotiation will succeed.
When a Configure-Request is received with the Interface-Token When a Configure-Request is received with the Interface-Token
Configuration Option and the receiving peer implements this option, Configuration Option and the receiving peer implements this option,
the received Interface-Token is compared with the Interface-Token the received Interface-Token is compared with the Interface-Token
of the last Configure-Request sent to the peer. Depending on the of the last Configure-Request sent to the peer. Depending on the
result of the comparison an implementation MUST respond in one of result of the comparison an implementation MUST respond in one of
the following ways: the following ways:
If the two Interface-Tokens are different, the Interface-Token If the two Interface-Tokens are different but the received
MUST be acknowledged, i.e. Configure-Ack is sent with the Interface-Token is zero, a Configure-Ack is sent with a non-zero
requested Interface-Token, meaning that the responding peer Interface-Token value suggested for use by the remote peer.
agrees with the Interface-Token requested. Such a suggested Interface-Token MUST be different from the
Interface-Token of the last Configure-Request sent to the peer.
If the two Interface-Tokens are different and the received
Interface-Token is not zero, the Interface-Token MUST be
acknowledged, i.e. a Configure-Ack is sent with the requested
Interface-Token, meaning that the responding peer agrees with
the Interface-Token requested.
If the two Interface-Tokens are equal and are not zero, a If the two Interface-Tokens are equal and are not zero, a
Configure-Nak MUST be sent specifying a different non-zero Configure-Nak MUST be sent specifying a different non-zero
Interface-Token value suggested for use by the remote peer. Interface-Token value suggested for use by the remote peer.
If the two Interface-Tokens are equal to zero, the If the two Interface-Tokens are equal to zero, the
Interface-Tokens negotiation MUST be terminated by transmitting Interface-Tokens negotiation MUST be terminated by transmitting
the Configure-Reject with the Interface-Token value set to zero. the Configure-Reject with the Interface-Token value set to zero.
In this case, a unique Interface-Token can not be negotiated. In this case a unique Interface-Token can not be negotiated.
If a Configure-Request is received with the Interface-Token If a Configure-Request is received with the Interface-Token
Configuration Option and the receiving peer does not implement Configuration Option and the receiving peer does not implement
this option, Configure-Rej is sent. this option, Configure-Rej is sent.
A new Configure-Request SHOULD NOT be sent to the peer until normal A new Configure-Request SHOULD NOT be sent to the peer until normal
processing would cause it to be sent (that is, until a Configure- processing would cause it to be sent (that is, until a Configure-
Nak is received or the Restart timer runs out). Nak is received or the Restart timer runs out).
A new Configure-Request MUST NOT contain the Interface-Token option A new Configure-Request MUST NOT contain the Interface-Token option
if a valid Interface-Token Configure-Reject is received. if a valid Interface-Token Configure-Reject is received.
Reception of a Configure-Nak with a suggested Interface-Token Reception of a Configure-Nak with a suggested Interface-Token
different from that of the last Configure-Nak sent to the peer
indicates a unique Interface-Token. In this case a new Configure-
Request MUST be sent with the token value suggested in the last
Configure-Nak from the peer. But if the received Interface-Token Configure-Nak from the peer. But if the received Interface-Token
is equal to the one sent in the last Configure-Nak, a new is equal to the one sent in the last Configure-Nak, a new
Interface-Token MUST be chosen. In this case, a new Configure- Interface-Token MUST be chosen. In this case, a new Configure-
Request SHOULD be sent with the new tentative Interface-Token. Request SHOULD be sent with the new tentative Interface-Token.
This sequence (transmit Configure-Request, receive Configure- This sequence (transmit Configure-Request, receive Configure-
Request, transmit Configure-Nak, receive Configure-Nak) might Request, transmit Configure-Nak, receive Configure-Nak) might
occur a few times, but it is extremely unlikely to occur occur a few times, but it is extremely unlikely to occur
repeatedly. More likely, the Interface-Tokens chosen at either end repeatedly. More likely, the Interface-Tokens chosen at either end
will quickly diverge, terminating the sequence. will quickly diverge, terminating the sequence.
If negotiation about the Interface-Token is required, and the peer If negotiation about the Interface-Token is required, and the peer
did not provide the option in its Configure-Request, the option did not provide the option in its Configure-Request, the option
SHOULD be appended to a Configure-Nak. The tentative value of the SHOULD be appended to a Configure-Nak. The tentative value of the
Interface-Token given must be acceptable as the remote Interface-Token given must be acceptable as the remote
skipping to change at page 7, line 34 skipping to change at page 7, line 37
A summary of the Interface-Token Configuration Option format is A summary of the Interface-Token Configuration Option format is
shown below. The fields are transmitted from left to right. shown below. The fields are transmitted from left to right.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Interface-Token | Type | Length | Interface-Token
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Interface-Token (cont) | Interface-Token (cont) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type Type
1 1
Length Length
8 6
Interface-Token Interface-Token
The 48-bit Interface-Token which is very likely to be unique The 32-bit Interface-Token which is very likely to be unique
to one end of the link or zero if a good sources of uniqueness to one end of the link or zero if a good sources of uniqueness
can not be found. can not be found.
Default Default
No Interface-Token is selected. No Interface-Token is selected.
4.2. IPv6-Compression-Protocol 4.2. IPv6-Compression-Protocol
Description Description
This Configuration Option provides a way to negotiate the use of This Configuration Option provides a way to negotiate the use of
a specific compression protocol. The IPv6-Compression-Protocol a specific IPv6 packet compression protocol. The IPv6-Compression-
Configuration Option is used to indicate the ability to receive Protocol Configuration Option is used to indicate the ability to
compressed packets. Each end of the link must separately request receive compressed packets. Each end of the link must separately
this option if bi-directional compression is desired. By default, request this option if bi-directional compression is desired. By
compression is not enabled. default, compression is not enabled.
IPv6 compression negotiated with this option is specific to IPv6
datagrams and is not to be confused with compression resulting from
negotiations via Compression Control Protocol (CCP), which
potentially effect all datagrams.
A summary of the IPv6-Compression-Protocol Configuration Option format A summary of the IPv6-Compression-Protocol Configuration Option format
is shown below. The fields are transmitted from left to right. is shown below. The fields are transmitted from left to right.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | IPv6-Compression-Protocol | | Type | Length | IPv6-Compression-Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data ... | Data ...
skipping to change at page 9, line 18 skipping to change at page 9, line 27
004f IPv6 Header Compression 004f IPv6 Header Compression
Data Data
The Data field is zero or more octets and contains additional data The Data field is zero or more octets and contains additional data
as determined by the particular compression protocol. as determined by the particular compression protocol.
Default Default
No compression protocol enabled. No IPv6 compression protocol enabled.
5. Stateless Autoconfiguration and Link-Local Addresses 5. Stateless Autoconfiguration and Link-Local Addresses
The interface token, which is used for forming IPv6 addresses of The interface token, which is used for forming IPv6 addresses of
a PPP interface, SHOULD be negotiated in the IPV6CP phase of the PPP a PPP interface, SHOULD be negotiated in the IPV6CP phase of the PPP
connection setup (see section 4.1). If no valid interface token has connection setup (see section 4.1). If no valid interface token has
been successfully negotiated, procedures for recovering from such been successfully negotiated, procedures for recovering from such
a case are unspecified. One approach is to manually configure a case are unspecified. One approach is to manually configure
the interface token of the interface. the interface token of the interface.
As long as the interface token is negotiated in the IPV6CP phase of As long as the interface token is negotiated in the IPV6CP phase of
the PPP connection setup, it is redundant to perform duplicate the PPP connection setup, it is redundant to perform duplicate
address detection as a part of the IPv6 Stateless Autoconfiguration address detection as a part of the IPv6 Stateless Autoconfiguration
protocol [3]. Therefore it is recommended that for PPP links with protocol [3]. Therefore it is recommended that for PPP links with
the IPV6CP Interface-Token option enabled the default value of the the IPV6CP Interface-Token option enabled the default value of the
DupAddrDetectTransmits autoconfiguration variable [3] be zero. DupAddrDetectTransmits autoconfiguration variable [3] be zero.
Link-local addresses of PPP interfaces have the following format: Link-local addresses of PPP interfaces have the following format:
| 10 bits | 70 bits | 48 bits | | 10 bits | 86 bits | 32 bits |
+----------+--------------+----------------+----------------------+ +----------+--------------+---------------------+-----------------+
|1111111010| 0 | Interface Token | |1111111010| 0 | Interface Token |
+----------+--------------+----------------+----------------------+ +----------+--------------+---------------------+-----------------+
The most significant 10 bits of the address is the Link-Local prefix The most significant 10 bits of the address is the Link-Local prefix
FE80::. 70 zero bits pad out the address between the Link-Local FE80::. 86 zero bits pad out the address between the Link-Local
prefix and the Interface Token fields. prefix and the Interface Token fields.
A. IPV6CP Recommended Options A. IPV6CP Recommended Options
The following Configurations Options are recommended: The following Configurations Options are recommended:
Interface-Token Interface-Token
IPv6-Compression-Protocol IPv6-Compression-Protocol
 End of changes. 17 change blocks. 
34 lines changed or deleted 40 lines changed or added

This html diff was produced by rfcdiff 1.33. The latest version is available from http://tools.ietf.org/tools/rfcdiff/