Selective ACKがある場合は受信側は「1と3は受信できたが2はまだ」という情報を送るので無駄な再送を抑えられます。 論文ではSelective ACKがある場合との比較はしていません(論文は今回の実験より前のシミュレーション段階のものなので、今回の実験ではどうなのか確認していません)。 “It may be interesting to compare the performance of the TCP variants with that of TCP/NC. However, we focus on traditional TCP here.”だそうです。
論文ちゃんと読もうね (スコア:5, 参考になる)
> パケットのブロック情報がひとまとめに記述された代数方程式を送ることでこれを解決しているという
ではなく、複数のパケット(今は、p1, p2, p3の3つとします) を、ひとまとめにして送るのですが、3つのパケットをまとめて送るのに、
1) p1, p2, p3 を一つづつという構成、
2) p1, p3 は、一つ、p2 は 2つという構成、
3) p1は、一つ、p2, p3 は、二つという構成
で、3パケット送ります。(係数とかは、元論文の図を参照していますが、この構成でうまくいくかのチェックはしていません)
そのもとで、パケットのいくつかが届かなかったとしても、他のパケットの組み合わせから、残り(p1, p2, p3 のうち受け取れなかったパケットのこと)
が復元できるよ。
だから、再送信不要だね
ということです。
パケットの個数が3じゃなくても、複数のパケットをうまい多重度で組み合わせて、
複数のパケットをまとめて送るようにすれば、上のような方法で復元可能ということ
代数方程式といっても、今回のは線形方程式ですよ(linear combination)。代数方程式というと、1次に限定されませんので。
# p^2 + p + 1 ってなんじゃと思いますよね。
#エラそうなことをいっても、私自身元論文をななめ読みしただけなので、違ったらごめん
Re:論文ちゃんと読もうね (スコア:5, 参考になる)
タレコミの中の「代数方程式」は「一次方程式」 (線形方程式) に変えるべきだけど、それ以外の点はタレコミは合ってる。あなたの説明の方がよほどおかしい。「p1, p2, p3 を一つずつ」じゃそれだけでパケット三つになっちゃってるじゃん。 p1, p2, p3 のパケット 3 個分の情報を伝えるのにいったい何個のパケットを送る気だよ。
そうではなくて、「p1 と p2 と p3 の和」とか「p1 と 2×p2 と p3 の和」のように、パケットデータの一次結合を送るんだよ。しかも、係数はランダムに選ぶ。で、受信側は連立一次方程式を解くことでパケットデータを復元する。こうすると、ランダムパケットロスによって途中のパケットが受け取れなくても、受信側は何個のパケットを受け取れたかだけ送信側に伝えれば良くて、どのパケットが受け取れなかったかを伝える必要がないので効率が上がる。
Re: (スコア:0)
あー。これ。Network Coding の論文なのか。
"coded TCP" なんて変なところで切るからわからなかった。
上コメにあるように、N個のデータを決定するには最低N個の式があればいいので、
パケットロスがないときは、冗長データはないものとみなせます。
#係数がランダムだと方程式が解けないこともあるので、「どの係数の式を受け取ったか」は把握していると思います。
Re: (スコア:0)
>#係数がランダムだと方程式が解けないこともあるので、「どの係数の式を受け取ったか」は把握していると思います
この部分は撤回。把握しなくても解けない確率は非常に低いし、解けなければもう一個式を送ってもらえばさらに解けない確率は下がるってのが NC の特徴だった。
Re:論文ちゃんと読もうね (スコア:3, すばらしい洞察)
ですよね。元論文は読んでませんが、要はRAID5みたいにパリティ持たせてロスト時に復元できるようにしたよ、と。
一定以上パケットロスが発生する劣悪な環境において、再送のオーバーヘッドがなくなるので改善しますということではないかと。
この場合、まともな環境ではパリティ分だけ効率が悪くなるわけで、それをさておき10倍以上とか詐欺くさいタイトルつけて、シャノン先生に謝れ。
Re:論文ちゃんと読もうね (スコア:4, 興味深い)
この手法のキモは従来のTCPにあった無駄な通信を削減できるようにした点です。
Selective ACKが無い古典的なTCPでは、パケット1, 2, 3を送って2がロスした場合、受信側は「1までは受信できた」としか返さないため、送信側は2と3を再送します。ここで、3は無事に受信されているのに捨てられてしまいます。
一方、この手法では2番目のパケットがロスした後に受け取った3つ目のパケットの情報も線形多項式を解くのに使うため、パケットを無駄にしません。
Selective ACKがある場合は受信側は「1と3は受信できたが2はまだ」という情報を送るので無駄な再送を抑えられます。
論文ではSelective ACKがある場合との比較はしていません(論文は今回の実験より前のシミュレーション段階のものなので、今回の実験ではどうなのか確認していません)。
“It may be interesting to compare the performance of the TCP variants with that of TCP/NC. However, we focus on traditional TCP here.”だそうです。
一方、CRCやリードソロモン誤り訂正符号による冗長化ではなく、冗長化のパラメータは実数で連続に調整可能であるためロスの少ない場合はパラメータを調整して効率の低下を抑えられます。
Re:論文ちゃんと読もうね (スコア:2)
誤解するのは自由だけど、 coded TCP とやらではパケットロスが発生しなければ送るデータ量は通常の TCP とあまり変わらないよ。 RAID 5 と違って送信側が正しいデータを持っているので、当然ながら、パケットロスが発生した場合だけ「再送信」すれば良いようになっている。 (ただし、「再送信」と言っても、普通の TCP とは違い、完全に同じデータを再び送信するわけではない。)
Re: (スコア:0)
そういうあなたのコメントも、卑下した目線に感じられますよ
お互い注意しましょうね
Re: (スコア:0)
ああ、卑下っていやしむって意味もあったんだ。へりくだる意味しか知らなかった。
ところで、これは自分の感覚の話なんだけど、無線の環境ってレイテンシで不利?
ロストしたときのペナルティが大きいからこその効果の大きさという気がするんだけど。
Re: (スコア:0)
まあ「詐欺くさいタイトルつけて、シャノン先生に謝れ」は余計ですな。
読まずに自分で妄想してそれに突っ込む、というのは高速化マッチポンプで面白いですが。
約27倍に通信速度が高速移動中の電車の中でもアップする新技術登場 (スコア:1)
『タイトル』って話なら、
とりあえずGigazineは謝れ、と思う。
Re:論文ちゃんと読もうね (スコア:1)
> パケットの個数が3じゃなくても、複数のパケットをうまい多重度で組み合わせて、
> 複数のパケットをまとめて送るようにすれば、上のような方法で復元可能ということ
情報の多重度をパケットの廃棄率より少なく抑えれば効果はあるってことだね。
ノイズが酷い環境だと役立ちそう。
ただこの方法だと、通信チャネル不足によるアクセス速度の低下には効かないよね。
Re:論文ちゃんと読もうね (スコア:1)
パケットをロストした場合、再送要求と、相手が再送要求に応答してくれるまでの
待ち時間が必要となるため、3%のパケットロスの環境でも、効果は3%よりずっと大きい
というものですね。
再送要求の応答を待つ間も、個々の機器が通信チャネルを占有しているようなら、
これが解消されるので効果はあるでしょう。もっと細かくチャネルの開放と確保を
しているなら、その手間が減る分、少しだけ効果があるかも。
元の論文は読んでいません m(_ _)m
Re: (スコア:0)
TCPだけどIPじゃないからwiredでパケットロスは他の訂正符号で復元できてる現状、普及への道のりは険しそうですね
Re: (スコア:0)
wirelessの話をしてるのに、なんでwiredで普及しないとかドヤ顔なの?