2 - 4 - 6 - 8 - A - B - C - D - E - F - G - H - I - K - L - M - N - O - P - Q - R - S - T - U - V - W
connection
Click on the red underlined text to get to the source
... terminal adapter.
Control of a circuit-switched connection is accomplished with
either modem control or DSS1 ISDN ...
... created when
end-to-end PPP connection is attempted between a dial user and the
PNS. The datagrams related to a session ...
... sessions are
multiplexed on a single tunnel. A control connection operating
over TCP controls the establishment, release, and maintenance of
...
...
There are two parallel components of PPTP: 1) a Control Connection
between each PAC-PNS pair operating over TCP ...
... Control Connection Overview ...
... PPP tunneling can occur between a PAC and PNS, a control
connection must be established between them. The control connection
is a standard TCP session ...
... tunneling can occur between a PAC and PNS, a control
connection must be established between them. The control connection
is a standard TCP session over which PPTP ...
... tunnel. For each PAC-PNS pair both a tunnel and a control connection
exist. The control connection is responsible for establishment,
...
... tunnel and a control connection
exist. The control connection is responsible for establishment,
management, and release of sessions ...
... place an outgoing dial call.
A control connection can be established by either the PNS or the PAC.
Following the establishment of the required TCP connection ...
... control connection can be established by either the PNS or the PAC.
Following the establishment of the required TCP connection, the PNS
and PAC establish the control connection ...
... TCP connection, the PNS
and PAC establish the control connection using the Start-Control-
Connection ...
... control connection using the Start-Control-
Connection-Request and -Reply messages. These messages are also used
to exchange information about basic operating capabilities of the PAC ...
... to exchange information about basic operating capabilities of the PAC
and PNS. Once the control connection is established, the PAC or PNS
may initiate sessions ...
... may initiate sessions by requesting outbound calls or responding to
inbound requests. The control connection may communicate changes in
operating characteristics of an individual user session with a Set-
...
... sessions may be released by either the
PAC or PNS, also through Control Connection messages.
The control connection ...
... reported via the
Wan-Error-Notify message, also on the control connection.
It is intended that the control connection ...
... control connection.
It is intended that the control connection will also carry management
related messages in the future, such as a message allowing the PNS to
...
... PAC pair. The value to use in the
key field is established by the call establishment procedure which
takes place on the control connection.
The GRE ...
... congestion-control
and error detection over the tunnel. Again the control connection is
used to determine rate and buffering parameters that are used to
...
... PPTP defines a set of messages sent as TCP data on the control
connection between a PNS and a given PAC. The TCP session for the
...
... PAC. The TCP session for the
control connection is established by initiating a TCP connection to
port ...
... TCP session for the
control connection is established by initiating a TCP connection to
port 1723 [6 ...
... transmitter issues an improperly formatted message. Loss of
synchronization must result in immediate closing of the control
connection's TCP session.
...
... TCP session.
For clarity, all Control Connection message templates in the next
section include the entire PPTP Control Connection ...
... Control Connection message templates in the next
section include the entire PPTP Control Connection message header.
Numbers preceded by 0x are hexadecimal values.
...
... Start-Control-Connection-Reply 2
Stop-Control-Connection-Request 3
Stop-Control-Connection-Reply 4
...
... Reply messages determine
which version of the Control Connection protocol will be used. The
version number field carried in these messages consists of a version
number ...
...
Control Connection messages are used to establish and clear user
sessions. The first set of Control Connection ...
... Control Connection messages are used to establish and clear user
sessions. The first set of Control Connection messages are used to
maintain the control connection itself. The control connection ...
... sessions. The first set of Control Connection messages are used to
maintain the control connection itself. The control connection is
initiated by either the PNS or PAC ...
... Control Connection messages are used to
maintain the control connection itself. The control connection is
initiated by either the PNS or PAC after they establish the
...
... initiated by either the PNS or PAC after they establish the
underlying TCP connection. The procedure and configuration
information required to determine which TCP connections are
...
... underlying TCP connection. The procedure and configuration
information required to determine which TCP connections are
established is not covered by this protocol.
...
... established is not covered by this protocol.
The following Control Connection messages are all sent as user data
on the established TCP connection ...
... Control Connection messages are all sent as user data
on the established TCP connection between a given PNS-PAC pair. Note
that care has been taken to ensure that all word (2 octet ...
... Start-Control-Connection-Request ...
... PPTP control message used
to establish the control connection between a PNS and a PAC. Each
PNS-PAC ...
... PAC. Each
PNS-PAC pair requires a dedicated control connection to be
established. A control connection must be established before any
...
... PAC pair requires a dedicated control connection to be
established. A control connection must be established before any
other PPTP messages can be issued. The establishment of the control
connection ...
... control connection must be established before any
other PPTP messages can be issued. The establishment of the control
connection can be initiated by either the PNS or PAC. A procedure
which handles the occurrence of a collision between PNS and PAC ...
... Control Message Type 1 for Start-Control-Connection-Request.
Reserved0 This field MUST be 0.
...
... PAC can support. In Start-Control-
Connection-Requests issued by the PNS, this
value SHOULD be set to 0. It MUST be
ignored by the PAC ...
... Start-Control-Connection-Reply ...
... control message sent in
reply to a received Start-Control-Connection-Request message. This
message contains a result code ...
... Request message. This
message contains a result code indicating the result of the control
connection establishment attempt.
0 1 2 3
...
... PAC can support. In a Start-Control-
Connection-Reply issued by the PNS, this
value SHOULD be set to 0 and it must be
ignored by the PAC ...
... Stop-Control-Connection-Request ...
... control message sent by
one peer of a PAC-PNS control connection to inform the other peer
that the control connection should be closed. In addition to closing
...
... PAC-PNS control connection to inform the other peer
that the control connection should be closed. In addition to closing
the control connection, all active ...
... that the control connection should be closed. In addition to closing
the control connection, all active user calls are implicitly cleared.
The reason for issuing this request is indicated in the Reason field.
...
...
Control Message Type 3 for Stop-Control-Connection-Request.
Reserved0 This field MUST be 0.
...
... Reserved0 This field MUST be 0.
Reason Indicates the reason for the control
connection being closed. Current valid
Reason values are:
...
...
1 (None) - General request to clear
control connection
2 (Stop-Protocol) - Can't support
...
... Stop-Control-Connection-Reply ...
... control message sent by
one peer of a PAC-PNS control connection upon receipt of a Stop-
Control-Connection-Request from the other peer.
...
... PAC-PNS control connection upon receipt of a Stop-
Control-Connection-Request from the other peer.
0 1 2 3
...
...
Control Message Type 4 for Stop-Control-Connection-Reply.
Reserved0 This field MUST be 0.
...
... Result Code Indicates the result of the attempt to close
the control connection. Current valid Result
Code values are:
...
... Result
Code values are:
1 (OK) - Control connection closed
2 (General Error) - Control connection ...
... Control connection closed
2 (General Error) - Control connection
not closed for reason indicated in
Error Code ...
... control message sent by either peer of a
PAC-PNS control connection. This control message is used as a "keep-
alive" for the control connection ...
... control connection. This control message is used as a "keep-
alive" for the control connection. The receiving peer issues an
Echo ...
... Echo-Reply in response to an
Echo-Request, it will eventually clear the control connection.
0 1 2 3
...
... control message sent by either peer of a
PAC-PNS control connection in response to the receipt of an Echo-
Request.
...
... 0 (None) - No general error
1 (Not-Connected) - No control connection exists yet for this
PAC-PNS pair
...
... Control Connection Protocol Operation ...
...
This section describes the operation of various PPTP control
connection functions and the Control Connection messages which are
used to support them. The protocol operation ...
... This section describes the operation of various PPTP control
connection functions and the Control Connection messages which are
used to support them. The protocol operation of the control
connection ...
... Control Connection messages which are
used to support them. The protocol operation of the control
connection is simplified because TCP is used to provide a reliable
transport mechanism ...
... transport mechanism. Ordering and retransmission of messages is not
a concern at this level. The TCP connection itself, however, can
close at any time and an appropriate error recovery mechanism must be
...
... Some error recovery procedures are common to all states of the
control connection. If an expected reply does not arrive within 60
seconds, the control connection is closed, unless otherwise
...
... control connection. If an expected reply does not arrive within 60
seconds, the control connection is closed, unless otherwise
specified. Appropriate logging should be implemented for easy
determination of the problems and the reasons for closing the control
connection ...
... control connection is closed, unless otherwise
specified. Appropriate logging should be implemented for easy
determination of the problems and the reasons for closing the control
connection.
Receipt of an invalid or malformed Control Connection ...
... control
connection.
Receipt of an invalid or malformed Control Connection message should
be logged appropriately, and the control connection should be closed
...
... Receipt of an invalid or malformed Control Connection message should
be logged appropriately, and the control connection should be closed
and restarted to ensure recovery into a known state.
...
... Control Connection States ...
... service. The PPTP control connection protocol is not distinguishable
between the PNS and PAC, but is distinguishable between the
...
... TCP open. Since either PAC or PNS may originate a
connection, it is possible for a TCP collision to occur. See section
3.1.3 for a description of this situation.
...
... Control Connection Originator (may be PAC or PNS) ...
... TCP Open Indication
/Send Start Control
Connection Request +-----------------+
+------------------------------------>| wait_ctl_reply |
| +-----------------+
...
... TCP V V V Receive Start Ctl
| +-------------------------------+ | | Connection Reply
| | | | Version OK
...
... +-----------------+ Receive Start Ctl | +-----------------+
| idle | Connection Reply | | established |
+-----------------+ Version Not OK | +-----------------+
...
... ^ | V Local Terminate
| Receive Stop Control | | /Send Stop
| Connection Request | | Control Request
| /Send Stop Control Reply V V
| Close TCP ...
...
idle
The control connection originator attempts to open a TCP
connection to the peer during idle state. When the TCP connection ...
... idle
The control connection originator attempts to open a TCP
connection to the peer during idle state. When the TCP connection
...
... control connection originator attempts to open a TCP
connection to the peer during idle state. When the TCP connection
is open, the originator transmits a send Start-Control-
...
... is open, the originator transmits a send Start-Control-
Connection-Request and then enters the wait_ctl_reply state.
...
...
wait_ctl_reply
The originator checks to see if another TCP connection has been
requested from the same peer, and if so, handles the collision
situation described in section 3.1.3.
...
...
When a Start-Control-Connection-Reply is received, it is examined
for a compatible version. If the version ...
... state. If the version is earlier and not supported, a
Stop-Control-Connection-Request SHOULD be sent to the peer and the
originator moves into the wait_stop_reply state.
...
...
established
An established connection may be terminated by either a local
condition or the receipt of a Stop-Control-Connection-Request. In
...
... An established connection may be terminated by either a local
condition or the receipt of a Stop-Control-Connection-Request. In
the event of a local termination, the originator MUST send a
Stop-Control-Connection ...
... Connection-Request. In
the event of a local termination, the originator MUST send a
Stop-Control-Connection-Request and enter the wait_stop_reply
state.
...
... state.
If the originator receives a Stop-Control-Connection-Request it
SHOULD send a Stop-Control-Connection-Reply and close the TCP
connection ...
... If the originator receives a Stop-Control-Connection-Request it
SHOULD send a Stop-Control-Connection-Reply and close the TCP
connection making sure that the final TCP information has been
...
... Connection-Request it
SHOULD send a Stop-Control-Connection-Reply and close the TCP
connection making sure that the final TCP information has been
"pushed" properly.
...
...
wait_stop_reply
If a Stop-Control-Connection-Reply is received, the TCP connection
SHOULD be closed and the control connection ...
... wait_stop_reply
If a Stop-Control-Connection-Reply is received, the TCP connection
SHOULD be closed and the control connection becomes idle.
...
... Connection-Reply is received, the TCP connection
SHOULD be closed and the control connection becomes idle.
...
... Reply with Error
+--------+
| | Receive Control Connection Request Version OK
| | /Send Start ...
... Version OK
| | /Send Start Control Connection Reply
| | +----------------------------------------+
^ V ^ V
...
... +-----------------+ Receive Start Ctl +-----------------+
| Idle | Connection Request | Established |
+-----------------+ /Send Stop Reply +-----------------+
^ ^ Close TCP ...
... +-------------------------------------| Wait-Stop-Reply |
Receive Stop Control +-----------------+
Connection Reply
/Close TCP
...
... TCP open attempt on
port 1723. When notified of an open TCP connection, it should
prepare to receive PPTP messages. When a Start ...
... PPTP messages. When a Start-Control-
Connection-Request is received its version field should be
examined. If the version ...
... receiver SHOULD send a Start-Control-Connection-Reply. If the
version is earlier than the receiver ...
... cannot be supported, the receiver SHOULD send a Start-Connection-
Reply message, close the TCP connection ...
... Connection-
Reply message, close the TCP connection and remain in the idle
state. If the receiver's version ...
... peer's, the receiver SHOULD send a Start-Control-Connection-Reply
with the receiver's version ...
...
established
An established connection may be terminated by either a local
condition or the reception of a Stop-Control-Connection-Request.
...
... An established connection may be terminated by either a local
condition or the reception of a Stop-Control-Connection-Request.
In the event of a local termination, the originator MUST send a
Stop-Control-Connection ...
... Connection-Request.
In the event of a local termination, the originator MUST send a
Stop-Control-Connection-Request and enter the wait_stop_reply
state.
...
... state.
If the originator receives a Stop-Control-Connection-Request it
SHOULD send a Stop-Control-Connection-Reply and close the TCP
connection ...
... If the originator receives a Stop-Control-Connection-Request it
SHOULD send a Stop-Control-Connection-Reply and close the TCP
connection, making sure that the final TCP information has been
...
... Connection-Request it
SHOULD send a Stop-Control-Connection-Reply and close the TCP
connection, making sure that the final TCP information has been
"pushed" properly.
...
...
wait_stop_reply
If a Stop-Control-Connection-Reply is received, the TCP connection
SHOULD be closed and the control connection ...
... wait_stop_reply
If a Stop-Control-Connection-Reply is received, the TCP connection
SHOULD be closed and the control connection becomes idle.
...
... Connection-Reply is received, the TCP connection
SHOULD be closed and the control connection becomes idle.
...
... Start Control Connection Initiation Request Collision ...
...
A PAC and PNS must have only one control connection between them. It
is possible, however, for a PNS and a PAC to simultaneously attempt
...
... is possible, however, for a PNS and a PAC to simultaneously attempt
to establish a control connection to each other. When a Start-
Control-Connection ...
... control connection to each other. When a Start-
Control-Connection-Request is received on one TCP connection and
another Start ...
... Start-
Control-Connection-Request is received on one TCP connection and
another Start-Control-Connection ...
... TCP connection and
another Start-Control-Connection-Request has already been sent on
another TCP connection to the same peer, a collision has occurred.
...
... Start-Control-Connection-Request has already been sent on
another TCP connection to the same peer, a collision has occurred.
The "winner" of the initiation race is the peer with the higher IP
address ...
... significant). For example, if the peers 192.33.45.17 and 192.33.45.89
collide, the latter will be declared the winner. The loser will
immediately close the TCP connection it initiated, without sending
any further PPTP control messages ...
... control messages on it and will respond to the
winner's request with a Start-Control-Connection-Reply message. The
winner will wait for the Start ...
... Reply message. The
winner will wait for the Start-Control-Connection-Reply on the
connection it initiated and also wait for a TCP ...
... Start-Control-Connection-Reply on the
connection it initiated and also wait for a TCP termination
indication on the connection ...
... connection it initiated and also wait for a TCP termination
indication on the connection the loser opened. The winner MUST NOT
send any messages on the connection the loser initiated.
...
... indication on the connection the loser opened. The winner MUST NOT
send any messages on the connection the loser initiated.
...
...
A control connection SHOULD be closed by closing the underlying TCP
connection under the following circumstances:
...
...
A control connection SHOULD be closed by closing the underlying TCP
connection under the following circumstances:
1. If a control connection ...
... TCP
connection under the following circumstances:
1. If a control connection is not in the established state (i.e.,
Start ...
... Start-Control-Connection-Request and Start-Control-Connection-
Reply have not been exchanged), a control connection SHOULD be
...
... Start-Control-Connection-
Reply have not been exchanged), a control connection SHOULD be
closed after 60 seconds by a peer waiting for a Start-Control-
...
... closed after 60 seconds by a peer waiting for a Start-Control-
Connection-Request or Start-Control-Connection-Reply message ...
... Reply message.
2. If a peer's control connection is in the established state and has
not received a control message ...
... blocked. The transit delay between the PAC and PNS should not exceed
one second. The call and connection state figures do not specify
exceptions caused by timers ...
... timers. The implicit assumption is that since
the TCP-based control connection is being verified with keep-alives,
there is less need to maintain strict timers for call control
messages ...
... If a state transition does not occur within 1 minute (except for
connections in the idle or established states), the integrity of the
protocol processing between the peers is suspect and the ENTIRE
...
... integrity of the
protocol processing between the peers is suspect and the ENTIRE
CONTROL CONNECTION should be closed and restarted. All Call IDs are
logically released whenever a control connection is started. This
...
... CONTROL CONNECTION should be closed and restarted. All Call IDs are
logically released whenever a control connection is started. This
presumably also helps in preventing toll calls from being "lost" and
never cleared.
...
... following:
An event on the telco connection. The PAC sends a
Call-Disconnect-Notify message
...
... physical channel to dial on. Place the
outbound call, wait for a connection, and move to the wait_cs_ans
state.
...
... Error Code. If a
circuit switched connection is established, send an Outgoing-
Call-Reply indicating success.
...
... this number should be small. For a PAC making modem connections,
this number could be significant.
...
... The security of user data passed over the tunneled PPP connection is
addressed by PPP, as is authentication ...
... integrity protected, it might be possible for an attacker to
hijack the underlying TCP connection. It is also possible to
manufacture false control channel messages and alter genuine messages
...
