CLNP (clnp)
- レイヤ: L3 (ネットワーク)
- ヘッダ: 可変長
- 補足: CLNP / ES-IS (P2), IS-IS (P2), OSI カプセル化 (P2)
下位レイヤからの到達
| 下位レイヤ | 判別フィールド | 値 |
|---|---|---|
llc | dsap = 254 (0xfe) のときのペイロード先頭 8 ビット | 129 (0x81) |
ppp | protocol = 35 (0x0023) のときのペイロード先頭 8 ビット | 129 (0x81) |
フィールド
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
nlpid | enum(8) | 129 (clnp) | ネットワーク層プロトコル識別子(0x81 = CLNP)。 | |
length_indicator | uint(8) | ヘッダの長さ (オクテット単位) | オプションの終わりまでのヘッダ長(オクテット、Auto)。 | |
version | uint(8) | 1 | バージョン / プロトコル ID 拡張(1)。 | |
lifetime | uint(8) | 32 | 残り寿命(500 ms 単位)。 | |
sp | uint(1) | segmentation の要素数 | SP: セグメント化許可。セグメンテーション部が存在します(セグメンテーション部から Auto)。 | |
ms | uint(1) | 0 | MS: 後続セグメントあり。 | |
er | uint(1) | 1 | E/R: PDU が破棄されたらエラーレポートを送る。 | |
pdu_type | enum(5) | 28 (dt) | PDU 種別: 0x1c DT(データ)、0x1d MD(マルチキャストデータ)、0x01 ER(エラーレポート)、0x1e ERQ / 0x1f ERP(エコー要求 / 応答)。 | |
segment_length | uint(16) | ヘッダとペイロードの長さ (オクテット単位) | ヘッダとデータを含む PDU 全体の長さ(Auto)。 | |
checksum | uint(16) | ヘッダに対するFletcher チェックサム | ヘッダの ISO 8473 Fletcher チェックサム(Auto)。0 = チェックサム不使用。 | |
destination | nsap | 49.0001.0000.0000.0002.00 | 宛先 NSAP アドレス。 | |
source | nsap | 49.0001.0000.0000.0001.00 | 送信元 NSAP アドレス。 | |
segmentation | list<struct> — sp 個の要素 | [] | セグメンテーション部(データユニット識別子、セグメントオフセット、全長)。SP が立っているときに存在します。全長は計算しません。 | |
options | tlv — グループ先頭から length_indicator オクテットまで | [] | 長さ指示子までのオプション(8 ビットコード / 8 ビット長): セキュリティ、QoS 維持、優先度、ソースルーティング、経路記録、パディング、破棄理由。 |
nlpid
| 値 | 名前 |
|---|---|
| 129 (0x81) | clnp |
pdu_type
| 値 | 名前 |
|---|---|
| 1 | er |
| 28 | dt |
| 29 | md |
| 30 | erq |
| 31 | erp |
segmentation
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
data_unit_identifier | uint(16) | |||
segment_offset | uint(16) | |||
total_length | uint(16) |
options
- タイプ 8 ビット、長さ 8 ビット。
- 長さは値の部分だけを数えます。
- 未知のタイプは値をオクテット列のまま保持します。
| タイプ値 | 名前 | 値のフィールド | 説明 |
|---|---|---|---|
| 197 (0xc5) | security | value | |
| 195 (0xc3) | qos_maintenance | value | |
| 205 (0xcd) | priority | value | |
| 200 (0xc8) | source_routing | route_type, next_address, addresses | |
| 203 (0xcb) | recording_of_route | route_type, next_address, addresses | |
| 204 (0xcc) | padding | data | |
| 193 (0xc1) | reason_for_discard | reason, pointer |
options › security
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
value | bytes — PDU の残りすべて |
options › qos_maintenance
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
value | bytes — PDU の残りすべて |
options › priority
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
value | uint(8) |
options › source_routing
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
route_type | enum(8) | |||
next_address | uint(8) | |||
addresses | list<struct> — PDU の残りすべて |
options › source_routing › route_type
| 値 | 名前 |
|---|---|
| 0 (0x00) | partial |
| 255 (0xff) | complete |
options › source_routing › addresses
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
address | nsap |
options › recording_of_route
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
route_type | enum(8) | |||
next_address | uint(8) | |||
addresses | list<struct> — PDU の残りすべて |
options › recording_of_route › route_type
| 値 | 名前 |
|---|---|
| 0 (0x00) | partial |
| 255 (0xff) | complete |
options › recording_of_route › addresses
各要素は以下のフィールドの組です。
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
address | nsap |
options › padding
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
data | bytes — PDU の残りすべて |
options › reason_for_discard
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
reason | enum(8) | |||
pointer | uint(8) |
options › reason_for_discard › reason
| 値 | 名前 |
|---|---|
| 0 (0x00) | general |
| 1 (0x01) | checksum |
| 2 (0x02) | congestion |
| 3 (0x03) | header_syntax |
| 4 (0x04) | segmentation_needed |
| 5 (0x05) | incomplete_pdu |
| 6 (0x06) | duplicate_option |
| 128 (0x80) | destination_unreachable |
| 129 (0x81) | destination_unknown |
| 144 (0x90) | source_routing_unspecified |
| 145 (0x91) | source_routing_syntax |
| 146 (0x92) | source_routing_unknown_address |
| 147 (0x93) | source_routing_path_not_acceptable |
| 160 (0xa0) | lifetime_expired_in_transit |
| 161 (0xa1) | lifetime_expired_reassembly |
| 176 (0xb0) | unsupported_option |
| 177 (0xb1) | unsupported_version |
| 178 (0xb2) | unsupported_security |
| 179 (0xb3) | unsupported_source_routing |
| 180 (0xb4) | unsupported_recording_of_route |
| 192 (0xc0) | reassembly_interference |