Remote Access Server |
Once the link and PPP parameters have been negotiated with LCP, the PPP peers then use a series of Network Control Protocols (NCPs) to negotiate the parameters of individual LAN protocols. Microsoft PPP supports the following NCPs:
Internet Protocol Control Protocol (IPCP) as used by Microsoft PPP peers is documented in RFCs 1332 and 1877. IPCP negotiates IP-based parameters to dynamically configure a TCP/IP-based PPP peer across a point-to-point link. Common IPCP options include an IP address and the IP addresses of DNS and NetBIOS name servers.
IPCP uses the PPP Protocol ID of 0x80-21. The packet structure of IPCP is exactly the same for LCP, except only packet types 1 through 7 are defined. For Configure-Request, Configure-Ack, Configure-Nack, and Configure-Reject IPCP packet types, the IPCP data portion of the IPCP packet consists of one or more IPCP options. Each IPCP option consists of an Option Type field, an Option Length field indicating the total length in bytes of the option, and the data associated with the option.
Table 7.10 lists the IPCP options negotiated by Microsoft PPP peers.
Table 7.10 IPCP Options
Option Name |
Option Type |
Option Length |
Description |
---|---|---|---|
IP compression protocol | 2 | 4 | Van Jacobsen TCP compression protocol. |
IP address | 3 | 6 | The IP address to be allocated to the remote access client. |
Primary DNS server address | 129 or 0x81 | 6 | The primary DNS server for the remote access client. |
Primary NBNS server address | 130 or 0x82 | 6 | The primary NBNS (WINS) server for the remote access client. |
Secondary DNS server address | 131 or 0x83 | 6 | The secondary DNS server for the remote access client. |
Secondary NBNS server address | 132 or 0x84 | 6 | The secondary NBNS (WINS) server for the remote access client. |
Notice that there are no IPCP options for these common TCP/IP configuration items:
The subnet mask is assumed by the remote access client to be the class-based subnet mask of the IP address that is allocated to the remote access client.
The default gateway IP address is not allocated by the remote access server. However, a default route is created on the remote access client, which points to the remote access connection. If a default route already exists in the routing table, then the metric of the existing default route is increased and a new default route is added with a lower metric. This is the default behavior for remote access clients running Windows 32-bit operating systems and can be modified by disabling the Use Default Gateway on Remote Network setting on the TCP/IP properties of a remote access client's phone book entry or dial-up connection object.
The DNS domain name configured from the TCP/IP protocol properties on the remote access server is not negotiated during IPCP. For Windows 2000 remote access clients, the DNS domain name can be obtained through a DHCPInform message. For more information, see "Remote Access and TCP/IP and IPX" later in this chapter.
If the IP addresses of primary or secondary NetBIOS name servers are negotiated, then the hybrid NetBIOS node type (H-node) is assumed.
Internetwork Packet Exchange Control Protocol (IPXCP) as used by Microsoft PPP peers is documented in RFC 1552. IPXCP negotiates IPX-based parameters to dynamically configure an IPX-based PPP peer across a point-to-point link. Common IPXCP options include IPX network and node addresses.
IPXCP uses the PPP Protocol ID of 0x80-2B. The packet structure of IPXCP is exactly the same for LCP, except only packet types 1 through 7 are defined. For Configure-Request, Configure-Ack, Configure-Nack, and Configure-Reject IPXCP packet types, the IPXCP data portion of the IPXCP packet consists of one or more IPXCP options. Each IPXCP option consists of an option Type field, an option Length field indicating the total length in bytes of the option, and the data associated with the option.
Table 7.11 lists the IPXCP options negotiated by Microsoft PPP peers.
Table 7.11 IPXCP Options
Option Name |
Option Type |
Option Length |
Description |
---|---|---|---|
IPX Network Number | 1 | 6 | The IPX network number for the remote access client. |
IPX Node Number | 2 | 6 | The IPX node number for the remote access client. |
AppleTalk Control Protocol (ATCP) as used by Microsoft PPP peers is documented in RFC 1378. ATCP negotiates AppleTalk-based parameters to dynamically configure an AppleTalk-based PPP peer across a point-to-point link. Common ATCP options include an AppleTalk address and server information.
ATCP uses the PPP Protocol ID of 0x80-29. The packet structure of ATCP is exactly the same as LCP, except that only packet types 1 through 7 are defined. For Configure-Request, Configure-Ack, Configure-Nack, and Configure-Reject ATCP packet types, the ATCP data portion of the ATCP packet consists of one or more ATCP options. Each ATCP option consists of an option Type field, an option Length field indicating the total length in bytes of the option, and the data associated with the option.
Table 7.12 lists the ATCP options negotiated by Microsoft PPP peers.
Table 7.12 ATCP Options
Option Name |
Option Type |
Option Length |
Description |
---|---|---|---|
AppleTalk Address | 1 | 6 | Negotiates the AppleTalk network and node numbers |
Server Information | 3 | 16 | Used to convey information about the remote access server |
NetBIOS Frames Control Protocol (NBFCP) as used by Microsoft PPP peers is documented in RFC 2097. NBFCP negotiates NetBEUI-based parameters to dynamically configure a NetBEUI-based PPP peer across a point-to-point link. Common NBFCP options include multicast filtering options and peer information.
NBFCP uses the PPP Protocol ID of 0x80-3F. The packet structure of NBFCP is exactly the same for LCP, except that only packet types 1 through 7 are defined. For Configure-Request, Configure-Ack, Configure-Nack, and Configure-Reject NBFCP packet types, the NBFCP data portion of the NBFCP packet consists of one or more NBFCP options. Each NBFCP option consists of an option Type field, an option Length field indicating the total length in bytes of the option, and the data associated with the option.
Table 7.13 lists the NBFCP options negotiated by Microsoft PPP peers.
Table 7.13 NBFCP Options
Option Name |
Option Type |
Option Length |
Description |
---|---|---|---|
Multicast filtering | 3 | 5 | Negotiates the handling of multicast packets |
Peer information | 2 | 17 | Used to convey NetBIOS configuration information |
Compression Control Protocol (CCP) is documented in RFC 1962. CCP negotiates parameters to dynamically configure, enable, and disable data compression algorithms between PPP peers across a point-to-point link. Common CCP options include an organization identifier and the use of MPPC.
CCP uses the PPP Protocol ID of 0x80-FD. The packet structure of CCP is exactly the same for LCP, except only packet types 1 through 7 are defined. For Configure-Request, Configure-Ack, Configure-Nack, and Configure-Reject CCP packet types, the CCP data portion of the CCP packet consists of one or more CCP options. Each CCP option consists of an option Type field, an option Length field indicating the total length in bytes of the option, and the data associated with the option.
Table 7.14 lists the CCP options negotiated by Microsoft PPP peers.
Table 7.14 CCP Options
Option Name | Option Type | Option Length | Description |
---|---|---|---|
Organization Unique Identifier | 0 | 6 or larger | Used to negotiate an organization's proprietary compression protocol. |
MPPC | 18 or 0x12 | 6 | Used to indicate the use of MPPC, MPPE, and the encryption strength. |
With CCP option 18, Microsoft PPP peers negotiate both MPPC and MPPE at the same time. The option data field for CCP option 18 is 4 bytes (32 bits) long. Bits within this data field are used as flags to indicate:
For multiple choices, the flag values are added together. For example, for compression (0x00-00-00-01) and 128-bit encryption keys (0x00-00-00-40), the resulting 32-bit option data field is set to 0x00-00-00-41.
For more information about MPPE, see the Internet draft, "Microsoft Point-To-Point Encryption (MPPE) Protocol."
The Encryption Control Protocol (ECP) is used to negotiate a specific encryption method and is documented in RFC 1968. However, for Microsoft PPP peers, the only encryption that is supported is MPPE that is negotiated during CCP with the negotiation of MPPC. Therefore, Microsoft PPP peers do not use ECP.