2006/07/06

TCP/IPのメリット・デメリットを述べよ

Q:
TCP/IPのメリット・デメリットを述べよ
A:
大学の試験だということですから、教科書や参考となるテキストをよく読んで自分で調べるべきですね。

また問題についても「TCP/IPと○○と比べて利点・欠点を」ということなら客観的なものとなりますが、TCP/IPだけで利点・欠点というと主観で答えることになり悪問ですね。

なお、セキュリティについては通常は第7層アプリケーション層で対応すべきものですから、TCP/IPだから利点・欠点があるというのは一般的ではありません。
TCP/IPと他のプロトコールを比べた際の大きな違いは通信コストです。特にTCPはスロースタートを使っていますのでコネクションを貼る場合に時間がかかります。そんな欠点のあるスロースタートをなぜ採用しているのかがわかれば利点もわかるでしょう。
あとは普及度ですね。

コメント:
「通信コスト」の当たりから掘り下げて行きたいと思います

----
「通信コスト」でどこまで分かってくれたのか、適切な用語では無いようにも思えてきた。
TCPは帯域制御の仕組みとして、スロースタートという方法を使っている。
通信のはじめは、遅いスピードにする。ちゃんと通信できていれば2倍のスピードにする。それでも問題ないなら、倍・倍とスピードを上げる。そのうち帯域がいっぱいになると「輻輳」する。かえってスピードが遅くなる。そうなるとエラーパケットが出てくるから、その直前のスピードに戻す。輻輳無しの最大スピードで通信できる。

初期のWebでは、HTML本体でTCPのコネクション1本、画像1枚につき別コネクションを1本、という具合にサーバー・クライアント間で多数のTCPコネクションを作っては捨て、作っては捨て、としていた。
その後、コネクションを捨てない「keep alive」が使えるようになった。
TCPコネクションを作るたびにスロースタートを最初から始めるので、効率的とはいえない。
それがTCPのデメリットだ。このような非効率な通信のことを「通信コスト」の問題と捉えて回答したのだが、そこまで掘り下げてくれるだろうか。
コンピューター・ネットワークの教科書を一通り読めば分かることだから、分かってくれるだろう。