DNSで使用しているプロトコルを教えてください。 (83レス)
上下前次1-新
27(1): いえろ ◆bT6c9WIwLg 02/10/09 18:59 ID:??? AAS
DNSの回答はいちいちFQDN返してると大変なので一部の文字列を
共有しています。(これをRFCでは圧縮と書いてるみたい)
上記例では +031に名前(ホスト名)を書いても良いのですが、ここに
記載されるべき名前はリソースデータの名前(MX問い合わせの回答)と
一致しますので「そこまでの相対アドレス」を書きます。
このように相対アドレスを書く場合は0xC000+ポインタ値を使います。
0xC0で大丈夫な理由は、1つのラベルは63文字以内と定められている
からです。
ポインタはこの値の次を0としますので31+12=43で+043からのラベルと
言うことになります。つまり'orig1'です。
省6
28: いえろ ◆bT6c9WIwLg 02/10/09 19:01 ID:??? AAS
>>26
(・∀・)ニヤニヤ あ〜良い所に・・・
>この様にラベルの最後にあるポインタは「前に定義されたラベル」への
>ポインタになります
この訳あってますかね・・・RFC1035だとちょろっとしか出てこないんです。
29: いえろ ◆bT6c9WIwLg 02/10/09 19:23 ID:??? AAS
>>25 しまった修正
--ここから回答部--
+031: C0 0C :Name=Offset+0x0C(12)=0xC000+0x0Cの意味(圧縮)
+033: 00 0F :TYPE=15=MXレコード
+035: 00 01 :CLASS=1=IN=インターネット
+037: 00 01 48 23 :TTL=0x00014823
+041: 00 0A :リソースデータ長
--ここからリソースデータ--
+043: 00 0A :Preference=10 ←追加
+045: 05 6F 72 69 67 31 :ラベル長(05)と'orig1'のキャラクタ
省3
30: いえろ ◆bT6c9WIwLg 02/10/09 19:24 ID:??? AAS
>27 修正(中央辺り)
ポインタはこの値の次を0としますので33+12=45で+043からのラベルと
言うことになります。つまり'orig1'です。
+045から始まるラベルの最後にさらにポインタ0x0Fが有ります。
31(1): 虎 02/10/09 19:40 ID:??? AAS
ちょっとポインタの扱い違うー
オフセット+031で書かれる「NAME」は、資源レコードの、
定義対象のレコード名。なのでこの場合は、 mc.kcom.ne.jp
が求められます。
それでオフセット値は12、これはヘッダ部のIDからのバイト数なので、
回答パケットのオフセット+012からの記述、つまり質問部で使った
mc.kcom.ne.jp を示しています。
また、資源レコードに関しては、まず5文字 'orig1'を記述した後、
オフセット値15を参照であるので、さっき使ったとこの、ちょっと後、
つまり質問部のkcom.ne.jpの部分を示していますね。
省1
32: 虎 02/10/09 19:43 ID:??? AAS
追記
mc.kcom.ne.jp. 82884 IN MX 10 orig1.kcom.ne.jp.
というレコードの内容がすっかり回答部にあるわけです。
33(1): いえろ ◆bT6c9WIwLg 02/10/09 19:55 ID:??? AAS
>>31
あ〜やっぱ そうなんですか。帰りながらもしやと思ってました。
RFCに書いてあった相対パターンはいったい何なんだ?
34: 虎 02/10/09 20:25 ID:??? AAS
>>33
>RFCに書いてあった相対パターンはいったい何なんだ?
え?
差し支えなければ引用あるいはポイントを…
35: いえろ ◆bT6c9WIwLg 02/10/09 20:32 ID:??? AAS
ここです
4.1.4. Message compression
最後
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
40 | 3 | F |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
42 | O | O |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
44 | 1 1| 20 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
省14
36: いえろ ◆bT6c9WIwLg 02/10/09 20:35 ID:??? AAS
この最後の、
The root domain name isdefined by a single octet of zeros at 92;
the root domain name has no labels.
オフセット64にフラグ11と26が書いてあり、その先がオフセット92見たいなんです。
これを読んだもんですから、ラベル無し=相対なんじゃないかな?と・・・
でも設定の意味からすると虎さんのが合ってますよね・・・
37: 虎 02/10/09 20:46 ID:??? AAS
F.ISI.ARPA のドメインネームは、オフセット20に示されている。
ドメインネーム FOO.F.ISI.ARPA は、オフセット40で示されている。
この定義では、ラベル「FOO」に続けて、以前に定義された F.FOO.ISI.ARPA
へのポインタを結合している。
オフセット64で定義されているドメイン名 ARPA は、オフセット20にて
既に定義されている F.ISI.ARPAの構成要素へのポインタを利用して定義
されている。
-注) この ARPA を示すポインタは、オフセット20からの文字列の最後のラベル
である
ルートドメイン名は、1オクテットの0でオフセット92で定義されている。
省5
38: 虎 02/10/09 20:48 ID:??? AAS
ここで言うルートドメインてのは
末尾の「.」ですね。
39: いえろ ◆bT6c9WIwLg 02/10/09 20:55 ID:??? AAS
あ、続きの説明じゃなかったのか!! つーかオフセット戻せよ〜
了解です。
末尾の.はその昔「いえろ」じゃなかった頃かなった頃
ココで質問したけど答えてもらえなかったなぁ〜(笑
40: 虎 02/10/10 11:55 ID:??? AAS
オフセット20からの記述は、このような感じだろうな
+0020:01 'F'
+0022:03 'ISI'
+0026:04 'ARPA'
+0031:00
さてと、オフセット44だの64だのでは、事前に定義されてる
ドメイン名を使って、ドメイン名を圧縮してあるわけだけれど、
オフセット92では、ルートを再定義している。
理屈に合わないわけじゃないよ。
ポインタは2オクテット、ルート定義は1オクテットで済むから
省2
41: いえろ ◆bT6c9WIwLg [Delphiでサンプル作ってまふ] 02/10/10 13:35 ID:??? AAS
あ゙。わかった・・・
F.ISI.ARPA.
FOO.F.ISI.ARPA.
ARPA.
.
の例だったのか・・・
オフセット64の値が26。オフセット64で2オクテット使ってるから66
66+26=92!! ぴったり92だったんですよ・・・
この例がオフセット96とかだったら勘違いしなかったかも(汗
あ、上げてなかったですね。上げますか。
42: 虎 02/10/10 15:01 ID:??? AAS
元質問者にはこのスレッドを読んでもらえたのだろうか…
43: いえろ ◆bT6c9WIwLg 02/10/10 15:10 ID:??? AAS
掲示板はTCPじゃなっくって UDPみたいな物なので
気にしないのが一番かと・・・
44: 虎 02/10/10 18:42 ID:??? AAS
ICMPだってECHOを返すというのに!(w
45: いえろ ◆bT6c9WIwLg 02/10/11 07:28 ID:??? AAS
TTLが2とか3だったので届かなかったんでしょう・・・苦笑
46: ? 03/03/31 22:30 ID:XktnhCYQ(1) AAS
ssdpってどんなプロトコルですか?
初心者なので簡単にお願いします。
上下前次1-新書関写板覧索設栞歴
あと 37 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.017s