跳到主要内容

4. Global Requests (全局请求)

4. Global Requests (全局请求)

存在若干类会影响远端全局状态、与任何信道无关的请求. 例如请求为特定端口启动 TCP/IP 转发. 注意客户端与服务端均可以随时发送全局请求, 接收方必须适当响应. 所有此类请求使用下列格式.

byte      SSH_MSG_GLOBAL_REQUEST
string request name in US-ASCII only
boolean want reply
.... request-specific data follows

request name 的取值遵循 [SSH-ARCH] 中概述的 DNS 可扩展命名约定.

want reply 为 TRUE, 接收方将以此消息响应 SSH_MSG_REQUEST_SUCCESSSSH_MSG_REQUEST_FAILURE.

byte      SSH_MSG_REQUEST_SUCCESS
.... response specific data

通常不存在 response specific data.

若接收方无法识别或不支持该请求, 则仅响应 SSH_MSG_REQUEST_FAILURE.

byte      SSH_MSG_REQUEST_FAILURE

一般而言, 应答消息不包含请求类型标识符. 为使请求发起方能识别每个应答对应哪条请求, 要求对 SSH_MSG_GLOBAL_REQUEST 的应答必须与相应请求消息按相同顺序发送. 对于信道请求, 与同一信道相关的应答也必须按正确顺序回复. 但是, 针对不同信道的请求可以乱序应答.