跳到主要内容

2. 控制连接协议规范 (Control Connection Protocol Specification)

控制连接消息用于建立和清除用户会话.第一组控制连接消息用于维护控制连接本身.控制连接由PNS或PAC在建立底层TCP连接后发起.确定建立哪些TCP连接所需的过程和配置信息不在本协议的覆盖范围内.

以下所有控制连接消息都作为用户数据在给定PNS-PAC对之间建立的TCP连接上发送.请注意, 已注意确保所有字 (2个八位字节) 和长字 (4个八位字节) 值都从适当的边界开始.所有数据都以网络顺序 (高位八位字节在前) 发送.任何"保留"字段必须 (MUST) 作为0值发送以允许协议可扩展性.

2.1. Start-Control-Connection-Request

Start-Control-Connection-Request是用于在PNS和PAC之间建立控制连接的PPTP控制消息.每个PNS-PAC对都需要建立专用的控制连接.在发出任何其他PPTP消息之前, 必须建立控制连接.控制连接的建立可以由PNS或PAC发起.第3.1.3节描述了处理PNS和PAC的Start-Control-Connection-Requests冲突发生的过程.

    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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | PPTP Message Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Magic Cookie |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control Message Type | Reserved0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Protocol Version | Reserved1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Framing Capabilities |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bearer Capabilities |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Maximum Channels | Firmware Revision |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Host Name (64 octets) +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Vendor String (64 octets) +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Length (长度): 此PPTP消息的总长度 (以八位字节为单位), 包括整个PPTP头部.

PPTP Message Type (PPTP消息类型): 1表示控制消息.

Magic Cookie (魔法Cookie): 0x1A2B3C4D.此常量值用作对接收到的消息的完整性检查 (见第1.4节).

Control Message Type (控制消息类型): 1表示Start-Control-Connection-Request.

Reserved0 (保留0): 此字段必须 (MUST) 为0.

Protocol Version (协议版本): 发送方希望使用的PPTP协议版本.

Reserved1 (保留1): 此字段必须 (MUST) 为0.

Framing Capabilities (成帧能力): 指示此消息发送方可以提供的成帧类型的位集合.当前定义的位设置为:

  • 1 - 支持异步成帧 (Asynchronous Framing supported)
  • 2 - 支持同步成帧 (Synchronous Framing supported)

Bearer Capabilities (承载能力): 指示此消息发送方可以提供的承载能力的位集合.当前定义的位设置为:

  • 1 - 支持模拟接入 (Analog access supported)
  • 2 - 支持数字接入 (Digital access supported)

Maximum Channels (最大信道数): 此PAC可以支持的单个PPP会话的总数.在PNS发出的Start-Control-Connection-Requests中, 此值应当 (SHOULD) 设置为0.PAC必须 (MUST) 忽略它.

Firmware Revision (固件修订版): 当由PAC发出时, 此字段包含发出PAC的固件修订号, 或者当由PNS发出时包含PNS PPTP驱动程序的版本.

Host Name (主机名): 包含发出PAC或PNS的DNS名称的64个八位字节字段.如果长度小于64个八位字节, 此字段的其余部分应当 (SHOULD) 填充值为0的八位字节.

Vendor Name (供应商名称): 包含供应商特定字符串的64个八位字节字段, 描述正在使用的PAC类型, 或者如果此请求由PNS发出, 则描述正在使用的PNS软件类型.如果长度小于64个八位字节, 此字段的其余部分应当 (SHOULD) 填充值为0的八位字节.

2.2. Start-Control-Connection-Reply

Start-Control-Connection-Reply是响应接收到的Start-Control-Connection-Request消息而发送的PPTP控制消息.此消息包含指示控制连接建立尝试结果的结果代码.

    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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | PPTP Message Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Magic Cookie |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control Message Type | Reserved0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Protocol Version | Result Code | Error Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Framing Capability |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bearer Capability |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Maximum Channels | Firmware Revision |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Host Name (64 octets) +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Vendor String (64 octets) +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Length (长度): 此PPTP消息的总长度 (以八位字节为单位), 包括整个PPTP头部.

PPTP Message Type (PPTP消息类型): 1表示控制消息.

Magic Cookie (魔法Cookie): 0x1A2B3C4D.

Control Message Type (控制消息类型): 2表示Start-Control-Connection-Reply.

Reserved0 (保留0): 此字段必须 (MUST) 为0.

Protocol Version (协议版本): 发送方希望使用的PPTP协议版本.

Result Code (结果代码): 指示命令信道建立尝试的结果.当前有效的结果代码值为:

  • 1 - 成功建立信道 (Successful channel establishment)
  • 2 - 一般错误 (General error) - 错误代码指示问题
  • 3 - 命令信道已存在 (Command channel already exists)
  • 4 - 请求方未被授权建立命令信道 (Requester is not authorized to establish a command channel)
  • 5 - 不支持请求方的协议版本 (The protocol version of the requester is not supported)

Error Code (错误代码): 除非存在"一般错误", 否则此字段设置为0, 在这种情况下, 结果代码设置为2, 并且此字段设置为与第2.2节中指定的一般错误条件相对应的值.

Framing Capabilities (成帧能力): 指示此消息发送方可以提供的成帧类型的位集合.当前定义的位设置为:

  • 1 - 支持异步成帧 (Asynchronous Framing supported)
  • 2 - 支持同步成帧 (Synchronous Framing supported)

Bearer Capabilities (承载能力): 指示此消息发送方可以提供的承载能力的位集合.当前定义的位设置为:

  • 1 - 支持模拟接入 (Analog access supported)
  • 2 - 支持数字接入 (Digital access supported)

Maximum Channels (最大信道数): 此PAC可以支持的单个PPP会话的总数.在PNS发出的Start-Control-Connection-Reply中, 此值应当 (SHOULD) 设置为0, 并且PAC必须 (MUST) 忽略它.PNS不得 (MUST NOT) 使用此值来尝试跟踪PAC将允许的剩余PPP会话数.

Firmware Revision (固件修订版): 此字段包含发出PAC的固件修订号, 或者如果由PNS发出, 则包含PNS PPTP驱动程序的版本.

Host Name (主机名): 包含发出PAC或PNS的DNS名称的64个八位字节字段.如果长度小于64个八位字节, 此字段的其余部分应当 (SHOULD) 填充值为0的八位字节.

Vendor Name (供应商名称): 包含供应商特定字符串的64个八位字节字段, 描述正在使用的PAC类型, 或者如果此请求由PNS发出, 则描述正在使用的PNS软件.如果长度小于64个八位字节, 此字段的其余部分应当 (SHOULD) 填充值为0的八位字节.

2.3. Stop-Control-Connection-Request

Stop-Control-Connection-Request是PAC-PNS控制连接的一个对等方发送给另一个对等方的PPTP控制消息, 通知另一个对等方应关闭控制连接.除了关闭控制连接之外, 所有活动的用户呼叫都隐式清除.发出此请求的原因在Reason字段中指示.

    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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | PPTP Message Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Magic Cookie |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control Message Type | Reserved0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reason | Reserved1 | Reserved2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Length (长度): 此PPTP消息的总长度 (以八位字节为单位), 包括整个PPTP头部.

PPTP Message Type (PPTP消息类型): 1表示控制消息.

Magic Cookie (魔法Cookie): 0x1A2B3C4D.

Control Message Type (控制消息类型): 3表示Stop-Control-Connection-Request.

Reserved0 (保留0): 此字段必须 (MUST) 为0.

Reason (原因): 指示控制连接关闭的原因.当前有效的原因值为:

  • 1 (None) - 清除控制连接的一般请求 (General request to clear control connection)
  • 2 (Stop-Protocol) - 不能支持对等方的协议版本 (Can't support peer's version of the protocol)
  • 3 (Stop-Local-Shutdown) - 请求方正在关闭 (Requester is being shut down)

Reserved1, Reserved2 (保留1, 保留2): 这些字段必须 (MUST) 为0.

2.4. Stop-Control-Connection-Reply

Stop-Control-Connection-Reply是PAC-PNS控制连接的一个对等方在收到另一个对等方的Stop-Control-Connection-Request后发送的PPTP控制消息.

    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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | PPTP Message Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Magic Cookie |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control Message Type | Reserved0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Result Code | Error Code | Reserved1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Length (长度): 此PPTP消息的总长度 (以八位字节为单位), 包括整个PPTP头部.

PPTP Message Type (PPTP消息类型): 1表示控制消息.

Magic Cookie (魔法Cookie): 0x1A2B3C4D.

Control Message Type (控制消息类型): 4表示Stop-Control-Connection-Reply.

Reserved0 (保留0): 此字段必须 (MUST) 为0.

Result Code (结果代码): 指示关闭控制连接尝试的结果.当前有效的结果代码值为:

  • 1 (OK) - 控制连接已关闭 (Control connection closed)
  • 2 (General Error) - 由于错误代码中指示的原因, 控制连接未关闭 (Control connection not closed for reason indicated in Error Code)

Error Code (错误代码): 除非存在"一般错误", 否则此字段设置为0, 在这种情况下, 结果代码设置为2, 并且此字段设置为与第2.2节中指定的一般错误条件相对应的值.

Reserved1 (保留1): 此字段必须 (MUST) 为0.

2.5. Echo-Request

Echo-Request是PAC-PNS控制连接的任一对等方发送的PPTP控制消息.此控制消息用作控制连接的"保活".接收对等方对收到的每个Echo-Request发出Echo-Reply.如第3.1.4节所述, 如果发送方未收到对Echo-Request的Echo-Reply, 它最终将清除控制连接.

    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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | PPTP Message Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Magic Cookie |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control Message Type | Reserved0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Length (长度): 此PPTP消息的总长度 (以八位字节为单位), 包括整个PPTP头部.

PPTP Message Type (PPTP消息类型): 1表示控制消息.

Magic Cookie (魔法Cookie): 0x1A2B3C4D.

Control Message Type (控制消息类型): 5表示Echo-Request.

Reserved0 (保留0): 此字段必须 (MUST) 为0.

Identifier (标识符): Echo-Request发送方设置的值, 用于将回复与相应的请求匹配.

2.6. Echo-Reply

Echo-Reply是PAC-PNS控制连接的任一对等方响应收到的Echo-Request而发送的PPTP控制消息.

    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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | PPTP Message Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Magic Cookie |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control Message Type | Reserved0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Result Code | Error Code | Reserved1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Length (长度): 此PPTP消息的总长度 (以八位字节为单位), 包括整个PPTP头部.

PPTP Message Type (PPTP消息类型): 1表示控制消息.

Magic Cookie (魔法Cookie): 0x1A2B3C4D.

Control Message Type (控制消息类型): 6表示Echo-Reply.

Reserved0 (保留0): 此字段必须 (MUST) 为0.

Identifier (标识符): 接收到的Echo-Request的标识字段的内容被复制到此字段.

Result Code (结果代码): 指示接收Echo-Request的结果.当前有效的结果代码值为:

  • 1 (OK) - Echo-Reply有效 (The Echo-Reply is valid)
  • 2 (General Error) - 由于错误代码中指示的原因, Echo-Request未被接受 (Echo-Request not accepted for the reason indicated in Error Code)

Error Code (错误代码): 除非存在"一般错误"条件, 否则此字段设置为0, 在这种情况下, 结果代码设置为2, 并且此字段设置为与第2.2节中指定的一般错误条件相对应的值.

Reserved1 (保留1): 此字段必须 (MUST) 为0.

2.7. Outgoing-Call-Request

Outgoing-Call-Request是PNS发送到PAC的PPTP控制消息, 指示要建立来自PAC的出站呼叫.此请求向PAC提供拨打呼叫所需的信息.它还向PAC提供信息, 一旦建立会话, 该信息用于调节向PNS传输此会话数据的速率.

(由于字数限制,此部分及后续部分省略详细格式图,但保留完整字段说明)

Call ID (呼叫ID): PNS分配给此会话的唯一标识符, 对于特定PAC-PNS对是唯一的.它用于对通过PNS和PAC之间的隧道发送的数据进行复用和解复用.

Call Serial Number (呼叫序列号): PNS为此会话分配的标识符, 用于在记录的会话信息中标识此特定会话.与呼叫ID不同, PNS和PAC都将相同的呼叫序列号与给定会话关联.IP地址和呼叫序列号的组合应当 (SHOULD) 是唯一的.

Minimum BPS (最小BPS): 此会话可接受的最低线速度 (以位/秒为单位).

Maximum BPS (最大BPS): 此会话可接受的最高线速度 (以位/秒为单位).

Bearer Type (承载类型): 指示此出站呼叫所需的承载能力的值.当前定义的值为:

  • 1 - 在模拟信道上拨打呼叫 (Call to be placed on an analog channel)
  • 2 - 在数字信道上拨打呼叫 (Call to be placed on a digital channel)
  • 3 - 可以在任何类型的信道上拨打呼叫 (Call can be placed on any type of channel)

Framing Type (成帧类型): 指示此出站呼叫要使用的PPP成帧类型的值.

  • 1 - 使用异步成帧的呼叫 (Call to use Asynchronous framing)
  • 2 - 使用同步成帧的呼叫 (Call to use Synchronous framing)
  • 3 - 可以使用任一类型的成帧的呼叫 (Call can use either type of framing)

Packet Recv. Window Size (数据包接收窗口大小): PNS将为此会话缓冲的接收数据包数.

Packet Processing Delay (数据包处理延迟): 从PNS发送到PAC的数据可能施加的数据包处理延迟的度量.此值以1/10秒为单位指定.

Phone Number Length (电话号码长度): 下一个字段中拨号方电话号码的实际长度 (以八位字节为单位).

Reserved1 (保留1): 此字段必须 (MUST) 为0.

Phone Number (电话号码): 此字段是包含要拨打的电话号码的64个八位字节字段的变长.电话号码可以是二进制编码的 (与ISDN控制信令一起使用) 或ASCII编码的 (与PSTN调制解调器一起使用) 当与PAC关联的物理介质需要时.此字段的ASCII编码值由可打印的数字字符、空格字符和连字符符号 ('-') 组成.如果长度小于64个八位字节, 此字段的其余部分应当 (SHOULD) 填充值为0的八位字节.

Subaddress (子地址): 包含要拨打的子地址的64个八位字节字段.如果长度小于64个八位字节, 此字段的其余部分应当 (SHOULD) 填充值为0的八位字节.

2.8. Outgoing-Call-Reply

Outgoing-Call-Reply是PAC发送到PNS的PPTP控制消息, 响应接收到的Outgoing-Call-Request消息.Outgoing-Call-Reply消息指示发起呼叫的尝试的结果.它还向PNS提供信息, 该信息用于调节此会话的数据从PNS到PAC的传输速率.

关键字段包括:

  • Call ID: PAC分配给此会话的呼叫ID
  • Peer's Call ID: 从Outgoing-Call-Request接收到的呼叫ID的值
  • Result Code: 指示呼叫尝试的结果
  • Connect Speed: 使用的实际连接速度 (以位/秒为单位)
  • Packet Recv. Window Size: PAC将为此会话缓冲的接收数据包数
  • Packet Processing Delay: 从PAC发送到PNS的数据可能施加的数据包处理延迟
  • Framing Type: 此呼叫使用的PPP成帧类型

2.9. Incoming-Call-Request

Incoming-Call-Request是PAC发送到PNS的PPTP控制消息, 指示检测到入站呼叫.它向PNS提供有关呼叫的参数信息, 允许PNS确定是否接受呼叫.

2.10. Incoming-Call-Reply

Incoming-Call-Reply是PNS发送到PAC的PPTP控制消息, 响应接收到的Incoming-Call-Request消息.它指示PNS是否接受入站呼叫以及呼叫应如何连接.

2.11. Incoming-Call-Connected

Incoming-Call-Connected是PAC发送到PNS的PPTP控制消息, 作为入站呼叫连接过程的最后阶段.它向PNS提供有关呼叫连接方式的信息, 特别是传输速度、成帧和窗口大小.

2.12. Call-Clear-Request

Call-Clear-Request是PNS发送到PAC的PPTP控制消息, 指示应断开特定呼叫.被清除的呼叫可以是处于任何状态的呼入或呼出呼叫.PAC使用Call-Disconnect-Notify消息响应此消息.

2.13. Call-Disconnect-Notify

Call-Disconnect-Notify消息是PAC发送到PNS的PPTP控制消息.每当呼叫断开时, 无论是由于PAC收到Call-Clear-Request还是由于任何其他原因, 都会发出此消息.其目的是通知PNS断开连接以及断开的原因.

2.14. WAN-Error-Notify

WAN-Error-Notify消息是PAC发送到PNS的PPTP控制消息, 用于指示WAN错误条件 (在支持PPP的接口上发生的条件).此消息中的计数器是累积的.此消息仅应在发生错误时发送, 并且不应超过每60秒一次.当建立新呼叫时计数器被重置.

错误类型包括:

  • CRC Errors (CRC错误)
  • Framing Errors (成帧错误)
  • Hardware Overruns (硬件溢出)
  • Buffer Overruns (缓冲区溢出)
  • Time-out Errors (超时错误)
  • Alignment Errors (对齐错误)

Set-Link-Info消息是PNS发送到PAC的PPTP控制消息, 用于设置PPP协商的选项.由于这些选项可以在呼叫生命周期的任何时间更改, 因此PAC必须能够动态更新其内部呼叫信息并在活动PPP会话上执行PPP协商.

关键字段包括:

  • Peer's Call ID: PAC分配给此呼叫的呼叫ID值
  • Send ACCM: 客户端应用于处理出站PPP数据包的发送ACCM值.在收到此消息之前, 客户端使用的默认值为0XFFFFFFFF
  • Receive ACCM: 客户端应用于处理入站PPP数据包的接收ACCM值.在收到此消息之前, 客户端使用的默认值为0XFFFFFFFF

2.16. 通用错误代码 (General Error Codes)

通用错误代码适用于不特定于任何特定PPTP请求的错误类型, 而是适用于协议或消息格式错误.如果PPTP回复在其结果代码中指示发生一般错误, 则应检查通用错误值以确定错误是什么.当前定义的通用错误代码及其含义为:

  • 0 (None) - 无一般错误 (No general error)
  • 1 (Not-Connected) - 此PAC-PNS对尚不存在控制连接 (No control connection exists yet for this PAC-PNS pair)
  • 2 (Bad-Format) - 长度错误或Magic Cookie值不正确 (Length is wrong or Magic Cookie value is incorrect)
  • 3 (Bad-Value) - 字段值之一超出范围或保留字段非零 (One of the field values was out of range or reserved field was non-zero)
  • 4 (No-Resource) - 现在资源不足无法处理此命令 (Insufficient resources to handle this command now)
  • 5 (Bad-Call ID) - 在此上下文中呼叫ID无效 (The Call ID is invalid in this context)
  • 6 (PAC-Error) - PAC中发生通用供应商特定错误 (A generic vendor-specific error occurred in the PAC)