📄 rfc3103.txt
字号:
Borella, et al. Experimental [Page 23]
RFC 3103 RSIP Protocol Specification October 2001
9.8.2. Format
<ASSIGN_REQUEST_RSAP-IP> ::= <Version>
<Message Type>
<Overall Length>
<Client ID>
<Address (local)>
<Ports (local)>
<Address (remote)>
<Ports (remote)>
[Message Counter]
[Lease Time]
[Tunnel Type]
9.8.3. Behavior
An RSIP host may request a particular local address by placing that
address in the value field of the first address parameter. The RSIP
host may request particular local ports by placing them in the first
port parameter. To indicate that it has no preference for local
address or ports, the RSIP host may place a "don't care" value in the
respective address or ports parameters.
If macro-flow based remote policy is used, the host MUST specify the
remote address that it will use this binding (if granted) to contact;
however, the remote port number(s) MAY remain unspecified. If
micro-flow based remote policy is used, the host MUST specify the
remote address and port number(s) that it will use this binding (if
granted) to contact. If no flow policy is used, the RSIP host may
place a value of all 0's in the value fields of the respective
address or port parameters.
The following message-specific error conditions exist:
- If the host is not registered with the gateway, the gateway
MUST respond with an ERROR_RESPONSE containing the
REGISTER_FIRST error.
- If the message contains an incorrect client ID, the gateway
MUST respond with an ERROR_RESPONSE containing the
BAD_CLIENT_ID error.
- If the local address parameter is a don't care value and the
RSIP gateway cannot allocate ANY addresses, the RSIP gateway
MUST respond with an ERROR_RESPONSE containing the
LOCAL_ADDR_UNAVAILABLE error.
Borella, et al. Experimental [Page 24]
RFC 3103 RSIP Protocol Specification October 2001
- If the local address parameter is not a don't care value there
are five possible error conditions:
o If the RSIP gateway cannot allocate ANY addresses, it MUST
respond with an ERROR_RESPONSE containing the
LOCAL_ADDR_UNAVAILABLE error.
o If the RSIP gateway cannot allocate the requested address
because it is in use, the RSIP gateway MUST respond with an
ERROR_RESPONSE containing the LOCAL_ADDR_INUSE error.
o If the RSIP gateway cannot allocate the requested address
because it is not allowed by policy, the RSIP gateway MUST
respond with an ERROR_RESPONSE containing the
LOCAL_ADDR_UNALLOWED error.
o If the RSIP gateway cannot allocate a requested address /
port tuple because it is in use, the RSIP gateway MUST
respond with an ERROR_RESPONSE containing the
LOCAL_ADDRPORT_INUSE error.
o If the RSIP gateway cannot allocate a requested address /
port tuple because it is not allowed by policy, the RSIP
gateway MUST respond with an ERROR_RESPONSE containing the
LOCAL_ADDRPORT_UNALLOWED error.
- If the RSIP host requests a number of ports (greater that one),
but does not specify particular port numbers (i.e., uses "don't
care" values) the RSIP gateway cannot grant the entire request,
the RSIP gateway MUST return an ERROR_RESPONSE containing the
LOCAL_ADDRPORT_UNAVAILABLE error.
- If macro-flow based remote policy is used and the requested
remote address is not allowed by the RSIP gateway's policy, the
RSIP gateway MUST respond with an ERROR_RESPONSE containing the
REMOTE_ADDR_UNALLOWED error.
- If micro-flow based remote policy is used and the requested
remote address / port pair is not allowed by the RSIP gateway's
policy, the RSIP gateway MUST respond with an ERROR_RESPONSE
containing the REMOTE_ADDRPORT_UNALLOWED error.
- If an unsupported or unallowed tunnel type is specified, the
RSIP gateway MUST respond with an ERROR_RESPONSE containing the
BAD_TUNNEL_TYPE error.
Borella, et al. Experimental [Page 25]
RFC 3103 RSIP Protocol Specification October 2001
- If the host has not specified local or remote address or port
information in enough detail, the RSIP gateway MUST respond
with an ERROR_RESPONSE containing the FLOW_POLICY_VIOLATION
error.
9.9. ASSIGN_RESPONSE_RSAP-IP
9.9.1. Description
The ASSIGN_RESPONSE_RSAP-IP message is used by an RSIP gateway to
deliver parameter assignments to an RSIP host. A host-wise unique
bind ID, lease time, and tunnel type must be provided for every
assignment.
9.9.2. Format
<ASSIGN_RESPONSE_RSAP-IP> ::= <Version>
<Message Type>
<Overall Length>
<Client ID>
<Bind ID>
<Address (local)>
<Ports (local)>
<Address (remote)>
<Ports (remote)>
<Lease Time>
<Tunnel Type>
[Address (tunnel endpoint)]
[Message Counter]
9.9.3. Behavior
Regardless of local flow policy, a local address and port(s) MUST be
assigned to the host. If macro-flow based local policy is used, the
host is assigned an address and one or more ports. If micro-flow
based local policy is used, the host is assigned an address and
exactly one port.
If no remote flow policy is used, the RSIP gateway MUST use "don't
care" values for the remote address and ports parameters. If macro-
flow based remote policy is used, the remote address parameter MUST
contain the address specified in the associated request, and the
remote ports parameter must contain a "don't care" value. If micro-
flow based remote policy is used, the remote address and remote ports
parameters MUST contain the address and port information specified in
the associated request.
Borella, et al. Experimental [Page 26]
RFC 3103 RSIP Protocol Specification October 2001
If the host detects an error or otherwise does not "understand" the
gateway's response, it SHOULD send a FREE_REQUEST with the bind ID
from the said ASSIGN_RESPONSE_RSAP-IP. This will serve to help
synchronize the states of the host and gateway.
The address of a tunnel endpoint that is not the RSIP gateway MAY be
specified. If this parameter is not specified, the RSIP gateway MUST
be assumed to be the tunnel endpoint.
9.10. EXTEND_REQUEST
9.10.1. Description
The EXTEND_REQUEST message is used to request a lease extension to a
current bind. It may be used with both RSA-IP and RSAP-IP. The host
MUST specify its client ID and the bind ID in question, and it MAY
suggest a lease time to the gateway.
9.10.2. Format
<EXTEND_REQUEST> ::= <Version>
<Message Type>
<Overall Length>
<Client ID>
<Bind ID>
[Lease Time]
[Message Counter]
9.10.3. Behavior
The following message-specific error conditions exist:
- If the host is not registered with the gateway, the gateway
MUST respond with an ERROR_RESPONSE containing the
REGISTER_FIRST error.
- If the message contains an incorrect client ID, the gateway
MUST respond with an ERROR_RESPONSE containing the
BAD_CLIENT_ID error.
- If the message contains an incorrect bind ID, the gateway MUST
respond with an ERROR_RESPONSE containing the BAD_BIND_ID
error.
Borella, et al. Experimental [Page 27]
RFC 3103 RSIP Protocol Specification October 2001
If the RSIP gateway grants an extension to the host's lease, it MUST
RESPOND with an appropriate EXTEND_RESPONSE message. If the lease is
not renewed, the RSIP gateway MAY let it implicitly expire by doing
nothing or make it explicitly expire by sending an appropriate
FREE_RESPONSE message.
9.11. EXTEND_RESPONSE
9.11.1. Description
The EXTEND_RESPONSE message is used by an RSIP gateway to grant a
requested lease extension. The gateway MUST specify the client ID of
the host, the bind ID in question, and the new assigned lease time.
9.11.2. Format
<EXTEND_RESPONSE> ::= <Version>
<Message Type>
<Overall Length>
<Client ID>
<Bind ID>
<Lease Time>
[Message Counter]
9.11.3. Behavior
The RSIP gateway will determine lease time as per its local policy.
The returned time is to be interpreted as the number of seconds
before the lease expires, counting from the time at which the message
is sent/received.
9.12. FREE_REQUEST
9.12.1. Description
The FREE_REQUEST message is used by an RSIP host to free a binding.
The given bind ID identifies the bind to be freed. Resources may
only be freed using the granularity of a bind ID.
9.12.2. Format
<FREE_REQUEST> ::= <Version>
<Message Type>
<Overall Length>
<Client ID>
<Bind ID>
[Message Counter]
Borella, et al. Experimental [Page 28]
RFC 3103 RSIP Protocol Specification October 2001
9.12.3. Behavior
The following message-specific error conditions exist:
- If the host is not registered with the gateway, the gateway
MUST respond with an ERROR_RESPONSE containing the
REGISTER_FIRST error.
- If the message contains an incorrect client ID, the gateway
MUST respond with an ERROR_RESPONSE containing the
BAD_CLIENT_ID error.
- If the message contains an incorrect bind ID, the gateway MUST
respond with an ERROR_RESPONSE containing the BAD_BIND_ID
error.
If a host receives an error in response to a FREE_REQUEST, this may
indicate that the host and gateway's states have become
unsynchronized. Therefore, the host SHOULD make an effort to
resynchronize, such as freeing resources then re-requesting them, or
de-registering then re-registering.
9.13. FREE_RESPONSE
9.13.1. Description
The FREE_RESPONSE message is used by an RSIP gateway to acknowledge a
FREE_REQUEST sent by an RSIP host, and to asynchronously deallocate
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -