2012-04-12 18 views
2

私は、モデムとPPPを実行するネットワークスタックとの間のミドルウェアに取り組んでいます。初期設定フェーズで問題が発生しています。エンドポイントはLCPパケットを構成要求と交換した後、ackし、その1つがIPCP構成要求で始まります。その後すぐにそのうちの1人が諦める。ここには私が得られないものがあります:PPPでLCPパケットとIPCPパケットが異なるフレーミングとバイトスタッフィングを行うことはできますか。

LCPパケットはHDLCのようなフレーミングを使用します。それらは0x7Eで始まり、制御バイト0x7D23 = 3の後にバイト・スタッフィングされたペイロード、チェックサム、およびフレーム・キャラクタ0x7Eが続き、アドレスは0xFFで始まります。これらのパケットは次のようになります。

7EFF7D23C0217D217D207D207D347D227D267D207D2A7D207D207D257D267D2BE5E77D257D277D227D287D2295697E 

IPCPパケットは全く異なって見えます。彼らはまだ0x7Eで始まり、HDLCチェックサムを持っていますが、アドレスバイトまたは制御バイトはありません。にはバイトスタッフィングがありません。これらのパケットは次のようになります。

7E8021010000280206002D0F0103060000000081060000000082060000000083060000000084060000000079067E 

これは意味がありますか?なぜこれらのパケットは互いに異なって見えるのですか?何かがここでうんざりしているのですか、これは典型的ですか?

+0

これらのパケットキャプチャでWiresharkを実行する機会はありましたか?それはどんな助けですか? – sarnold

+0

@sarnold Wiresharkを直接デバッグするポートはありませんが、デバッグストリームの途中でパケットをダンプすることができました。それからPCAPに変換するためのPythonスクリプトを書いて、Wiresharkに読み込むことができました。 このスクリプトを書いているうちに、2つのパケットを別々に扱わなければなりませんでした。ちょうどWiresharkがそれらを読むことができました。基本的にはHDLCのように剥ぎ取っています。 PCAPをよく理解していないかもしれません。 –

+0

とにかくそれは、ほとんどすべての設定要求とACKですが、IPCPのようなものは通過していないようです。 –

答えて

1

LCPフェーズでは、アドレスと制御フィールドを取り除く「圧縮」オプションをネゴシエートできます。 this linkをご覧ください。

+0

ありがとうございます。私はそのプロジェクトに取り組んでからしばらくしていますが、それはおそらく起こっていたことです。 –

関連する問題