#author("2024-09-02T03:05:02+00:00","default:iseki","iseki")
** UDP パケットのヘッダ構造 [#h9f23ab8]
- 参考 
-- http://lib.openmetaverse.org/wiki/Protocol_%28network%29
-- http://wiki.secondlife.com/wiki/Packet_Layout

- Second Life のUDPパケットでは Big Endianと Little Endian が混在している.要注意.
- 以下,特に断らない場合は1Byte = 8bit = 1octet として記述


**** ''KK ZZ ZZ ZZ ZZ HH [MM MM ...] LL [LL LL LL]  ボディ部''[#s1d7c544]

- ''KK'' パケット種別.以下のオクテットの論理和 (1octet) 
 #define MSG_APPENDED_ACKS		0x10 
 #define MSG_RESENT			0x20 
 #define MSG_RELIABLE			0x40 
 #define MSG_ZEROCODED			0x80
-- [[MSG_APPENDED_ACKS>Second Life/Protocol/UDP/MSG_APPENDED_ACKS]]: ボディの最後にACKデータが追加されている.
-- MSG_RESENT: 再送パケット
-- MSG_RELIABLE: ACKの返答を要求するパケット
-- MSG_ZEROCODED: ボディ部は 0x00 の連長圧縮で圧縮されている

- ''ZZ ZZ ZZ ZZ''  1から始まるパケットのシーケンス番号(パケット番号) (4octet) ''Big Endien''
- ''HH''  エクストラ(拡張)ヘッダの長さ(オクテット単位) (1octet)
- ''[MM MM ....]''  エクストラ(拡張)ヘッダ (長さは ''HH'' に依存)
- ''LL [LL LL LL]''  プロトコル番号(ボディの種別)
 Fixed:  0xFF 0xFF 0xFF XX            XX は任意のオクテット
 Low:    0xFF 0xFF XX XX
 Medium: 0xFF XX
 High:   XX

*** サンプル [#afe88bef]
 S->P [6983]: 0xc0 seq = 795 UDP message is  Low 1     TestMessage
 c0 00 00 03 1b 00 ff ff 00 01 9e 7a de a0 42 de   . . . . . . . . . . . z . . B .
 67 48 65 8a 5a b1 a4 fe 20 47 95 00 01 ff 00 01   g H e . Z . . .   G . . . . . .
 c2 28 d1 cf 4b 5d 4b a8 84 f4 89 9a 07 96 aa 97   . ( . . K ] K . . . . . . . . .
 90 00 01 81 4a eb ad d3 34 c1 25 76 f7 dc 97 42   . . . . J . . . 4 . % v . . . B
 04 32 0d 88 00 01 63 ce e0 35 45 ca ff 4d bf 16   . 2 . . . . c . . 5 E . . M . .
 3d de d8 b5 80 e6 84 00 01 e1 53 35 6f ca 1e 63   = . . . . . . . . . S 5 o . . c
 ...............................................

 c0                                                パケット種別 (MSG_RELIABLE | MSG_ZEROCODED)
 00 00 03 1b                                       シーケンス番号 (795) Big Endian
 00                                                拡張ヘッダの長さ (0)
 ff ff 00 01                                       プロトコル番号 (Low 1: TestMessage)
 9e 7a de a0 42 de 67 48 65 8a 5a b1 a4 fe 20 47   ボディ
 ...............................................


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 ページ一覧 検索 最終更新   ヘルプ   最終更新のRSS