VPNトンネルをUDP liteで実装したらパフォーマンスは上がるのか?
2 min read
こんにちは、無能です。ついこないだにWebRTCの話になり、以前にNginxで行えるストリーミングとして見ていた覚えがありました。
WebRTCがなぜ高速に行えるか、UDPプロトコル上で動作するためであること。ということで改めて"マスタリングTCP/IP"のUDPページを見ていたついでに、他のプロトコルも見ていたらUDP Liteなるものもあるではありませんか!
昔に読破していたのですが、なんとなく違和感なく読んでいましたが今になって興味が出てきました。
というのも、WireguardもUDPプロトコル上でトンネルを掘ってるので速度が早いなあとは思っていました(厳密に言えば、UDPだからと言う理由だけで高速なだけではありませんが)。例えば、かんたんに入れれるものとしてOpenVPNもありますが遅すぎて常時使うのにはストレスがありすぎます。
ここではWikipediaから引用しますが
UDPパケットでは1ビットでもデータが損傷すれば破棄されるのに対して、UDP-Liteはそのまま伝送される。
損傷したパケットでもそのまま送りつけてくれるもののようです。他にも違う箇所はありますがここでは割愛します。
例えばWireguardにUDP Liteを実装したらパフォーマンスは向上するのか?
ここでタイトル回収になりますが、UDP Liteを実装したとして速度向上に繋がるでしょうか?
まだまだあまちゃんな時分からすると、少なくともWireguardのソースコードを見たわけでもありませんが実際にパケット破棄されたものに対してのエラーハンドリングがされるのかという点によるかと思います。
実際にUDPプロトコルでパケットロスはどれほどに起こりうるものなのか?損失してても伝送してくれるUDP Liteでは速度向上する可能性はありますが、イメージが湧きません。
ということで、UDPプロトコルでどれくらいのパケットロスが起きるものなのか、次回iperfから行ってみようと思います。
それではまた。よろしくお願いします。