![]() ![]() ![]() | 投稿するにはまず登録を |

題名 | 投稿者 | 日時 |
---|---|---|
» ![]() |
saka | 2013/10/24 17:40 |
![]() |
hiro | 2013/10/25 9:40 |
![]() |
saka | 2013/10/25 11:56 |
![]() |
hiro | 2013/10/25 16:44 |
![]() |
saka | 2013/10/25 17:29 |
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
saka | 投稿日時: 2013/10/24 17:40 |
新米 ![]() ![]() 登録日: 2013/9/13 居住地: 投稿: 4 |
シーケンス番号が符号付きint型の範囲を超えた際の動作について 現在newRenoを用いてシミュレーションを行っているのですが、シーケンス番号が増加し符号付きint型の値を超えた際にエラーが発生し、シミュレーションがストップしています。
(ちなみに既存のTCPコードに変更を加えています) 原因に関しましては、tcp_input.cpp関数内の以下の部分と考えております。 if (SEQ_GEQ(tp->snd_una, tp->recover)) { 以上のコード上で、条件分岐を行う際に、tp->recover= 0の際に、tp->snd_unaの値が符号付きintの値を超える後に、負となることで問題が発生しております。 既存のTCPの動作において、そもそもtp->recove=0になる事がおかしいのでしょうか?負になっても問題なく動作できるシミュレータになっているのでしょうか?シーケンス番号が符号付きint型の範囲を超えると正常に動作しないのでしょうか? ご存知の方がいらっしゃいましたらご教授頂けませんでしょうか。 ちなみにQualnet 3.9.5を使用しています。 よろしくお願いします。 |
フラット表示 | 前のトピック | 次のトピック |