初心者質問スレッド PART2

このエントリーをはてなブックマークに追加
874868
>>871 さん
レスどうもです。871 さんのレスを見て、自分の主張が正しいのか
いまいちわかりません。

いちおう「マスタリングTCP/IP 入門編」は読みましたので、
・TCP:信頼性があるがオーバーヘッドがある(遅い)
・UDP:信頼性はないが、オーバーヘッドが少ないため軽い。
    NFSやマルチメディア系など、パケットを一気におくりつけたい
    時によい
ということぐらいはわかります。

また、パケットを **受信したホスト** が、
ネットワーク層でIPヘッダを見た後、上位層のプロトコルが
TCPと指定されていればTCPのソフトウェアへ、UDPと指定されていれば
UDPのソフトウェアへ渡されるということは理解しています
(あってますよね?)

なので、同じポート番号で TCP でも UDP でも受け取りたい場合は、
デーモンプログラムを二つ用意しなければならない
(両方の機能を持つものを一つ作ってもよいが)
と思っているのですが。どなたか答え教えてください。

ちなみに
$ grep domain /etc/services
domain    53/tcp    nameserver    # name-domain server
domain    53/udp    nameserver

となりますが、これは、よく使われる well known port を使うアプリは
tcp と udp のポートを予約していて、たとえば telnet も 23/udp と
なっていますが、これは telnet プロトコルが将来 udp も使うように
なったときに同じ番号にできるようにしておこう、ということだと
マスタリングTCP/IP に書いてありました。

domain だと DNS だから、現在は udp しか使わないが、将来 tcp も 53 番で
使えるようにしておこう、という意味だと理解していますが...
(たしか DNS は udp でやり取りしますよね?)

> >社内で言いあい │
> 会社変わった方がいいよ。

たしかに。
今回も自分は正しいと思っているが(違ってたらどうしよう)、
自分がどれくらいの実力なのかわからない。25歳、社会人3年目の初夏。