オルタナティブ・ブログ > プログラマー社長のブログ >

プログラミングでメシが食えるか!?

回線遅延シミュレータ「Ethdelay」とシンクライアント

»

昨日、お客さんからの依頼で、回線遅延シミュレータ「Ethdelay」を持参し、説明をしてきました。Ethdelayは帯域制限・回線遅延・パケットロスの3つをシミュレーションできるのですが、このところ一番使われているのは回線遅延が中心です。

いまどきの通信プロトコルは、ほとんどがTCP/IPです。TCP/IPは通信の信頼性のために様々な工夫があるのですが、その中で受信確認としてACKを応答することが重要であると同時にボトルネックになります。TCPのパケットを送信する側は、受信側からACKを受けるまで再送を行います。パケットロスでデータが欠落するのを防ぐためですが、ACKの応答が届くまでに時間がかかると、せっかく回線帯域としては太くても、スループットは低下してしまいます。

Ethdelayはケーブルの間に挿入するだけで、簡単に遅延などのシミュレーションを行えます。これまでの用途としては遅延の大きい回線でもTCP/IPを高速化する、TCPアクセラレータの評価などで多用されてきました。

今回の対象はシンクライアントでした。シンクライアントが、回線遅延の大きいWANなどでどのくらい快適に動くかを確認したい、あるいはユーザに見せたい、というご希望です。SUN Rayとリモートデスクトップでどのくらい違いが出るかなども比べたいということで、訪問すると、両方のクライアントが並んでいました。回線遅延に強いというのはSUN Rayの売りの一つだそうで、実際にEthdelayを挿入して、回線遅延と帯域制限を一般的なWANのレベルに設定して動作を見てみました。

短時間で説明しながらでしたので、私の感覚的なことになりますが、遅延による操作性の劣化は、まあ、どちらも同じような感じかな、と思いましたが、SUN Rayに触れるのははじめてでしたのでいろいろと教えていただきました。

特徴の一つとして、SUN Rayはリモートデスクトップを直接使うのに比べ、間にサーバが一つ入り、セッションはサーバが維持してくれるので、電源を入れてIDカードを挿入するとすぐにデスクトップが使える状態になる、ということがあります。これは実際に目の前で見ると感動的で、IDカードさえあれば、いつでもどこでも自分の環境が即座に使えるのです。

シンクライアントは大手さんが情報セキュリティ対策で導入するくらいのものだろう、と思っていましたが、作業効率もかなりUPするかも知れないなぁ、と感じました。もっとも、ネットワークがつながっていないと何もできないというのは、私の仕事のスタイルだと厳しいものがありますが、良い勉強になりました。

いずれにしても、Ethdelayはとても気に入っていただけたようで、「これは一人一台持っているべきものだなぁ」とまで仰っていただけました。エンドユーザにWANだとこんな感じです、と実際に見せられるのは営業的にもとても便利でしょう。

開発現場でも実はTCP/IPの特性を良く知らずに設計・コーディングしている人たちはとても多く、高速なLAN環境ではそれなりに動いても、劣悪な回線状態になると全く駄目、というシステムはかなり多いのです。いまどきの開発ではWEBベースが多く、そのあたりはWEBサーバやミドルウェアがやってくれるので、知らなくても大丈夫、というケースも多いのですが、その弊害としてTCP/IPのプログラミングノウハウを持つ人がかなり限定されてしまいました。Ethdelayを挿入してテストすると「こんなものだろう」で作ったシステムは一瞬で問題が出ます。もっとも良くあるケースが、「1回のsendで送信したものは、1回のrecvで受信できるもの」という思い込みです。LANでは大抵そのように動きますが、劣悪な回線では細かいデータは複数まとめられた状態でrecvされる場合が増えます。ACKがなかなか返ってこないので、その後の送信データがバッファにふん詰まり状態になり、まとめて送信されるのです。

ーーー

さて、技術的な話題はこのくらいにして、先日もProDHCPという製品を知っていただいたきっかけはブログだった、と書きましたが、今回も名刺をお渡しすると、「ブログ読んでますよ!」とすぐに言われました。このところブログの効果絶大で、やっぱり書き続けていることが大切なのだと感じています。ブログをはじめても、いつの間にかすっかり更新しなくなる人もたくさんいますが、私からすると「なんともったいない!」と言いたくなります。著書の執筆も様々な効果がありましたが、それよりはるかに敷居が低くて、それ以上の効果も生み出せるのがブログだと感じています。

ーーー

追記

ドジっ娘リーダー奮闘記:情報もカロリーも、積極的に出して行こう!

が先ほど掲載されました!

Comment(2)