RSVP (rsvp)
- レイヤ: L4 (トランスポート)
- ヘッダ: 可変長
- 補足: LDP / RSVP-TE / BFD (P2)
下位レイヤからの到達
| 下位レイヤ | 判別フィールド | 値 |
|---|---|---|
ipv4 | protocol | 46 (0x2e) |
ipv6 | next_header | 46 (0x2e) |
ipv6_hopopts | next_header | 46 (0x2e) |
ipv6_route | next_header | 46 (0x2e) |
ipv6_srh | next_header | 46 (0x2e) |
ipv6_frag | next_header | 46 (0x2e) |
ipv6_dstopts | next_header | 46 (0x2e) |
フィールド
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
version | uint(4) | 1 | RSVP バージョン(1)。 | |
flags | flags(4) | 0x0 | フラグ(ビット 0: リフレッシュ削減対応、RFC 2961)。 | |
msg_type | enum(8) | 1 (path) | メッセージ種別(1 Path、2 Resv、3 PathErr、4 ResvErr、5 PathTear、6 ResvTear、7 ResvConf、12 Bundle、13 Ack、15 Srefresh、20 Hello)。 | |
checksum | uint(16) | ヘッダに対するインターネットチェックサム | このフィールドを 0 としたメッセージ全体のインターネットチェックサム(Auto)。 | |
send_ttl | uint(8) | 64 | メッセージ送出時の IP TTL。 | |
reserved | uint(8) | 0 | 予約(0)。 | |
length | uint(16) | ヘッダの長さ (オクテット単位) | 共通ヘッダを含むメッセージ全体のオクテット長(Auto)。 | |
objects | tlv — length - 8 オクテット | 7 要素 | オブジェクト(4 オクテットのヘッダを含む 16 ビット長、Class-Num、C-Type): SESSION、RSVP_HOP、TIME_VALUES、ERROR_SPEC、SCOPE、STYLE、FLOWSPEC、FILTER_SPEC、SENDER_TEMPLATE、SENDER_TSPEC、RESV_CONFIRM、LABEL、LABEL_REQUEST、EXPLICIT_ROUTE、RECORD_ROUTE、HELLO、MESSAGE_ID、SESSION_ATTRIBUTE。長さ・セッション名の長さと詰め物は Auto。 |
flags
| ビット | マスク | 名前 |
|---|---|---|
| 0 | 1 | refresh_reduction_capable |
msg_type
| 値 | 名前 |
|---|---|
| 1 (0x01) | path |
| 2 (0x02) | resv |
| 3 (0x03) | path_err |
| 4 (0x04) | resv_err |
| 5 (0x05) | path_tear |
| 6 (0x06) | resv_tear |
| 7 (0x07) | resv_conf |
| 12 (0x0c) | bundle |
| 13 (0x0d) | ack |
| 15 (0x0f) | srefresh |
| 20 (0x14) | hello |
objects
- タイプ 16 ビット、長さ 16 ビット。
- 長さがタイプより前にあります。
- 長さはタイプと長さのフィールドも含みます。
- 未知のタイプは値をオクテット列のまま保持します。
| タイプ値 | 名前 | 値のフィールド | 説明 |
|---|---|---|---|
| 257 (0x0101) | session_ipv4 | destination, protocol_id, flags, destination_port | |
| 258 (0x0102) | session_ipv6 | destination, protocol_id, flags, destination_port | |
| 263 (0x0107) | session_lsp_tunnel_ipv4 | tunnel_endpoint, reserved, tunnel_id, extended_tunnel_id | |
| 264 (0x0108) | session_lsp_tunnel_ipv6 | tunnel_endpoint, reserved, tunnel_id, extended_tunnel_id | |
| 769 (0x0301) | rsvp_hop_ipv4 | address, logical_interface_handle | |
| 770 (0x0302) | rsvp_hop_ipv6 | address, logical_interface_handle | |
| 1281 (0x0501) | time_values | refresh_period | |
| 1537 (0x0601) | error_spec_ipv4 | node_address, flags, error_code, error_value | |
| 1538 (0x0602) | error_spec_ipv6 | node_address, flags, error_code, error_value | |
| 1793 (0x0701) | scope_ipv4 | addresses | |
| 2049 (0x0801) | style | flags, reserved, sharing, sender_selection | |
| 2306 (0x0902) | flowspec | version, reserved, overall_length, service_number, service_reserved, service_length, parameter_id, parameter_flags, parameter_length, token_bucket_rate, token_bucket_size, peak_data_rate, minimum_policed_unit, maximum_packet_size, parameters | |
| 2561 (0x0a01) | filter_spec_ipv4 | source_address, reserved, source_port | |
| 2567 (0x0a07) | filter_spec_lsp_tunnel_ipv4 | sender_address, reserved, lsp_id | |
| 2568 (0x0a08) | filter_spec_lsp_tunnel_ipv6 | sender_address, reserved, lsp_id | |
| 2817 (0x0b01) | sender_template_ipv4 | source_address, reserved, source_port | |
| 2823 (0x0b07) | sender_template_lsp_tunnel_ipv4 | sender_address, reserved, lsp_id | |
| 2824 (0x0b08) | sender_template_lsp_tunnel_ipv6 | sender_address, reserved, lsp_id | |
| 3074 (0x0c02) | sender_tspec | version, reserved, overall_length, service_number, service_reserved, service_length, parameter_id, parameter_flags, parameter_length, token_bucket_rate, token_bucket_size, peak_data_rate, minimum_policed_unit, maximum_packet_size, parameters | |
| 3841 (0x0f01) | resv_confirm_ipv4 | receiver_address | |
| 4097 (0x1001) | label | label | |
| 4865 (0x1301) | label_request | reserved, l3pid | |
| 5121 (0x1401) | explicit_route | subobjects | |
| 5377 (0x1501) | record_route | subobjects | |
| 5633 (0x1601) | hello_request | source_instance, destination_instance | |
| 5634 (0x1602) | hello_ack | source_instance, destination_instance | |
| 5889 (0x1701) | message_id | flags, epoch, message_id | |
| 6145 (0x1801) | message_id_ack | flags, epoch, message_id | |
| 6146 (0x1802) | message_id_nack | flags, epoch, message_id | |
| 52993 (0xcf01) | session_attribute_ra | exclude_any, include_any, include_all, setup_priority, holding_priority, flags, name_length, name, padding | |
| 52999 (0xcf07) | session_attribute | setup_priority, holding_priority, flags, name_length, name, padding |
objects › session_ipv4
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
destination | ipv4 | 192.0.2.2 | ||
protocol_id | uint(8) | 17 | ||
flags | uint(8) | 0 | ||
destination_port | uint(16) |
objects › session_ipv6
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
destination | ipv6 | |||
protocol_id | uint(8) | 17 | ||
flags | uint(8) | 0 | ||
destination_port | uint(16) |
objects › session_lsp_tunnel_ipv4
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
tunnel_endpoint | ipv4 | 192.0.2.2 | ||
reserved | uint(16) | 0 | ||
tunnel_id | uint(16) | 1 | ||
extended_tunnel_id | ipv4 | 192.0.2.1 |
objects › session_lsp_tunnel_ipv6
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
tunnel_endpoint | ipv6 | |||
reserved | uint(16) | 0 | ||
tunnel_id | uint(16) | 1 | ||
extended_tunnel_id | ipv6 |
objects › rsvp_hop_ipv4
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
address | ipv4 | 192.0.2.1 | ||
logical_interface_handle | uint(32) |
objects › rsvp_hop_ipv6
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
address | ipv6 | |||
logical_interface_handle | uint(32) |
objects › time_values
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
refresh_period | uint(32) | 30000 |
objects › error_spec_ipv4
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
node_address | ipv4 | 192.0.2.2 | ||
flags | uint(8) | 0 | ||
error_code | enum(8) | 0 (confirmation) | ||
error_value | uint(16) |
objects › error_spec_ipv4 › error_code
| 値 | 名前 |
|---|---|
| 0 (0x00) | confirmation |
| 1 (0x01) | admission_control_failure |
| 2 (0x02) | policy_control_failure |
| 3 (0x03) | no_path_information |
| 4 (0x04) | no_sender_information |
| 5 (0x05) | conflicting_reservation_style |
| 6 (0x06) | unknown_reservation_style |
| 7 (0x07) | conflicting_destination_ports |
| 8 (0x08) | conflicting_sender_ports |
| 12 (0x0c) | service_preempted |
| 13 (0x0d) | unknown_object_class |
| 14 (0x0e) | unknown_object_c_type |
| 20 (0x14) | api_error |
| 21 (0x15) | traffic_control_error |
| 22 (0x16) | traffic_control_system_error |
| 23 (0x17) | rsvp_system_error |
| 24 (0x18) | routing_problem |
| 25 (0x19) | notify |
objects › error_spec_ipv6
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
node_address | ipv6 | |||
flags | uint(8) | 0 | ||
error_code | enum(8) | 0 (confirmation) | ||
error_value | uint(16) |
objects › error_spec_ipv6 › error_code
| 値 | 名前 |
|---|---|
| 0 (0x00) | confirmation |
| 1 (0x01) | admission_control_failure |
| 2 (0x02) | policy_control_failure |
| 3 (0x03) | no_path_information |
| 4 (0x04) | no_sender_information |
| 5 (0x05) | conflicting_reservation_style |
| 6 (0x06) | unknown_reservation_style |
| 7 (0x07) | conflicting_destination_ports |
| 8 (0x08) | conflicting_sender_ports |
| 12 (0x0c) | service_preempted |
| 13 (0x0d) | unknown_object_class |
| 14 (0x0e) | unknown_object_c_type |
| 20 (0x14) | api_error |
| 21 (0x15) | traffic_control_error |
| 22 (0x16) | traffic_control_system_error |
| 23 (0x17) | rsvp_system_error |
| 24 (0x18) | routing_problem |
| 25 (0x19) | notify |
objects › scope_ipv4
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
addresses | list<ipv4> — PDU の残りすべて |
objects › style
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
flags | uint(8) | 0 | ||
reserved | uint(19) | 0 | ||
sharing | enum(2) | 2 (shared) | ||
sender_selection | enum(3) | 2 (explicit) |
objects › style › sharing
| 値 | 名前 |
|---|---|
| 1 | distinct |
| 2 | shared |
objects › style › sender_selection
| 値 | 名前 |
|---|---|
| 1 | wildcard |
| 2 | explicit |
objects › flowspec
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
version | uint(4) | 0 | ||
reserved | uint(12) | 0 | ||
overall_length | uint(16) | 7 | ||
service_number | uint(8) | 5 | ||
service_reserved | uint(8) | 0 | ||
service_length | uint(16) | 6 | ||
parameter_id | uint(8) | 127 | ||
parameter_flags | uint(8) | 0 | ||
parameter_length | uint(16) | 5 | ||
token_bucket_rate | uint(32) | 1207182336 | ||
token_bucket_size | uint(32) | 1148846080 | ||
peak_data_rate | uint(32) | 2139095040 | ||
minimum_policed_unit | uint(32) | 0 | ||
maximum_packet_size | uint(32) | 1500 | ||
parameters | bytes — PDU の残りすべて |
objects › filter_spec_ipv4
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
source_address | ipv4 | 192.0.2.1 | ||
reserved | uint(16) | 0 | ||
source_port | uint(16) |
objects › filter_spec_lsp_tunnel_ipv4
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
sender_address | ipv4 | 192.0.2.1 | ||
reserved | uint(16) | 0 | ||
lsp_id | uint(16) | 1 |
objects › filter_spec_lsp_tunnel_ipv6
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
sender_address | ipv6 | |||
reserved | uint(16) | 0 | ||
lsp_id | uint(16) | 1 |
objects › sender_template_ipv4
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
source_address | ipv4 | 192.0.2.1 | ||
reserved | uint(16) | 0 | ||
source_port | uint(16) |
objects › sender_template_lsp_tunnel_ipv4
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
sender_address | ipv4 | 192.0.2.1 | ||
reserved | uint(16) | 0 | ||
lsp_id | uint(16) | 1 |
objects › sender_template_lsp_tunnel_ipv6
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
sender_address | ipv6 | |||
reserved | uint(16) | 0 | ||
lsp_id | uint(16) | 1 |
objects › sender_tspec
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
version | uint(4) | 0 | ||
reserved | uint(12) | 0 | ||
overall_length | uint(16) | 7 | ||
service_number | uint(8) | 1 | ||
service_reserved | uint(8) | 0 | ||
service_length | uint(16) | 6 | ||
parameter_id | uint(8) | 127 | ||
parameter_flags | uint(8) | 0 | ||
parameter_length | uint(16) | 5 | ||
token_bucket_rate | uint(32) | 1207182336 | ||
token_bucket_size | uint(32) | 1148846080 | ||
peak_data_rate | uint(32) | 2139095040 | ||
minimum_policed_unit | uint(32) | 0 | ||
maximum_packet_size | uint(32) | 1500 | ||
parameters | bytes — PDU の残りすべて |
objects › resv_confirm_ipv4
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
receiver_address | ipv4 | 192.0.2.2 |
objects › label
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
label | uint(32) | 16 |
objects › label_request
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
reserved | uint(16) | 0 | ||
l3pid | uint(16) | 2048 |
objects › explicit_route
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
subobjects | tlv — PDU の残りすべて |
objects › explicit_route › subobjects
- タイプ 8 ビット、長さ 8 ビット。
- 長さはタイプと長さのフィールドも含みます。
- 未知のタイプは値をオクテット列のまま保持します。
| タイプ値 | 名前 | 値のフィールド | 説明 |
|---|---|---|---|
| 1 (0x01) | ipv4_prefix | address, prefix_length, reserved | |
| 129 (0x81) | ipv4_prefix_loose | address, prefix_length, reserved | |
| 2 (0x02) | ipv6_prefix | address, prefix_length, reserved | |
| 130 (0x82) | ipv6_prefix_loose | address, prefix_length, reserved | |
| 4 (0x04) | unnumbered_interface | reserved, router_id, interface_id | |
| 132 (0x84) | unnumbered_interface_loose | reserved, router_id, interface_id | |
| 32 (0x20) | as_number | as_number | |
| 160 (0xa0) | as_number_loose | as_number |
objects › explicit_route › subobjects › ipv4_prefix
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
address | ipv4 | 192.0.2.2 | ||
prefix_length | uint(8) | 32 | ||
reserved | uint(8) | 0 |
objects › explicit_route › subobjects › ipv4_prefix_loose
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
address | ipv4 | 192.0.2.2 | ||
prefix_length | uint(8) | 32 | ||
reserved | uint(8) | 0 |
objects › explicit_route › subobjects › ipv6_prefix
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
address | ipv6 | |||
prefix_length | uint(8) | 128 | ||
reserved | uint(8) | 0 |
objects › explicit_route › subobjects › ipv6_prefix_loose
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
address | ipv6 | |||
prefix_length | uint(8) | 128 | ||
reserved | uint(8) | 0 |
objects › explicit_route › subobjects › unnumbered_interface
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
reserved | uint(16) | 0 | ||
router_id | ipv4 | 192.0.2.2 | ||
interface_id | uint(32) |
objects › explicit_route › subobjects › unnumbered_interface_loose
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
reserved | uint(16) | 0 | ||
router_id | ipv4 | 192.0.2.2 | ||
interface_id | uint(32) |
objects › explicit_route › subobjects › as_number
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
as_number | uint(16) |
objects › explicit_route › subobjects › as_number_loose
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
as_number | uint(16) |
objects › record_route
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
subobjects | tlv — PDU の残りすべて |
objects › record_route › subobjects
- タイプ 8 ビット、長さ 8 ビット。
- 長さはタイプと長さのフィールドも含みます。
- 未知のタイプは値をオクテット列のまま保持します。
| タイプ値 | 名前 | 値のフィールド | 説明 |
|---|---|---|---|
| 1 (0x01) | ipv4_address | address, prefix_length, flags | |
| 2 (0x02) | ipv6_address | address, prefix_length, flags | |
| 3 (0x03) | label | flags, c_type, label | |
| 4 (0x04) | unnumbered_interface | flags, reserved, router_id, interface_id |
objects › record_route › subobjects › ipv4_address
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
address | ipv4 | 192.0.2.1 | ||
prefix_length | uint(8) | 32 | ||
flags | uint(8) | 0 |
objects › record_route › subobjects › ipv6_address
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
address | ipv6 | |||
prefix_length | uint(8) | 128 | ||
flags | uint(8) | 0 |
objects › record_route › subobjects › label
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
flags | uint(8) | 1 | ||
c_type | uint(8) | 1 | ||
label | uint(32) |
objects › record_route › subobjects › unnumbered_interface
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
flags | uint(8) | 0 | ||
reserved | uint(8) | 0 | ||
router_id | ipv4 | 192.0.2.1 | ||
interface_id | uint(32) |
objects › hello_request
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
source_instance | uint(32) | |||
destination_instance | uint(32) |
objects › hello_ack
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
source_instance | uint(32) | |||
destination_instance | uint(32) |
objects › message_id
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
flags | uint(8) | 0 | ||
epoch | uint(24) | |||
message_id | uint(32) |
objects › message_id_ack
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
flags | uint(8) | 0 | ||
epoch | uint(24) | |||
message_id | uint(32) |
objects › message_id_nack
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
flags | uint(8) | 0 | ||
epoch | uint(24) | |||
message_id | uint(32) |
objects › session_attribute_ra
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
exclude_any | uint(32) | |||
include_any | uint(32) | |||
include_all | uint(32) | |||
setup_priority | uint(8) | 7 | ||
holding_priority | uint(8) | 7 | ||
flags | flags(8) | 0x4 | ||
name_length | uint(8) | name のオクテット長 | ||
name | bytes — name_length オクテット | 74 75 6e 6e 65 6c 31 | ||
padding | padding(4) |
objects › session_attribute_ra › flags
| ビット | マスク | 名前 |
|---|---|---|
| 0 | 1 (0x01) | local_protection_desired |
| 1 | 2 (0x02) | label_recording_desired |
| 2 | 4 (0x04) | se_style_desired |
| 3 | 8 (0x08) | bandwidth_protection_desired |
| 4 | 16 (0x10) | node_protection_desired |
objects › session_attribute
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
setup_priority | uint(8) | 7 | ||
holding_priority | uint(8) | 7 | ||
flags | flags(8) | 0x4 | ||
name_length | uint(8) | name のオクテット長 | ||
name | bytes — name_length オクテット | 74 75 6e 6e 65 6c 31 | ||
padding | padding(4) |
objects › session_attribute › flags
| ビット | マスク | 名前 |
|---|---|---|
| 0 | 1 (0x01) | local_protection_desired |
| 1 | 2 (0x02) | label_recording_desired |
| 2 | 4 (0x04) | se_style_desired |
| 3 | 8 (0x08) | bandwidth_protection_desired |
| 4 | 16 (0x10) | node_protection_desired |
制約
| レベル | 規則 |
|---|---|
| 警告 | version が 1 |
| エラー | ヘッダが 8 オクテット以上 |
サンプルテンプレート
- rsvp-hello —
templates/protocols/mpls/rsvp-hello.wpg.yaml - rsvp-path-err —
templates/protocols/mpls/rsvp-path-err.wpg.yaml - rsvp-path-tear —
templates/protocols/mpls/rsvp-path-tear.wpg.yaml - rsvp-te-path —
templates/protocols/mpls/rsvp-te-path.wpg.yaml - rsvp-te-resv —
templates/protocols/mpls/rsvp-te-resv.wpg.yaml