プロトコルスタック間の通信、HALについて

先生

いつもありがとうございます。
現在本書を用いて、ネットワークの本質勉強を進めており、
自分で考えても分かりかねる部分が二点あります。
お忙しい中、すいませんがアドバイスいただけると幸いです。

・P148の上段にあるように、「IP担当部分は、TCP担当部分から、パケット送受信依頼を受け・・・」とあります。IPとTCPは、P96 図2.1にあるように、プロトコルスタックに所属していますので、プロトコルスタック間でIPとTCPが内部やり取りしているということでしょうか?このあたりが、イメージできないでおります。(単に、依頼を受けやり取りしているという概念はわかりますが、だいたいの動きがイメージできていないためいまいちしっくりこないという状態です)

・デバイスドライバ(LANドライバ)がP96の図2.1に表示されています。
別途、OS関連の勉強も進めており、そのさいに、デバイスドライバの部分で教えていただきたい点があります。ネットワーク関係のLANアダプタには、アプリからプロトコルスタックを経由してデバイスドライバを経由して、ハードウェアにアクセスしていると考えています。この考えは理解できるのですが、HALという概念が理解できずにおります。図2.1を助けにHALを想像してみたのですが、デバイスドライバは上位と下位に分かれていると知り、上位はネットワーク系、HDD系など大きなくくりで共通の機能を提供するデバイスドライバであり、下位は、ハードウェアの個別機能を提供するデバイスドライバと理解しております。上位と下位にわけて、ハードウェアの抽象化を行っているということですが、つまり、HALとは上記でいう上位のデバイスドライバのことを言うのでしょうか?現時点では、私の結論はそうなっております。しかし、自分だけで考えた結果で、先生のような上級エンジニアに確認したわけではないので、いまいちしっくりきておりません。

お取り計らいよろしく願います。
以上です。
ナイペータ

名前: 
ナイペータ
日時: 
13/09/16 10:08

コメント

> ・P148の上段にあるように、「IP担当部分は、...

プロトコルスタックに限らず、
今のソフトウェアは比較的小さな部品を多数組み合わせて作る方法が一般的です。
で、この文脈でxx担当部分と書いてあるのは、
プロトコルスタック内部にある、そうした部品化したソフトウェアを指します。
そうした部品がやり取りしているので、ナイベータさんの理解で概ねOKです。
それがイメージできないとのことですが、
この辺りを実感としてイメージするにはプログラミングの経験が必要かと思います。

> ・デバイスドライバ(LANドライバ)が...

HALもデバイスドライバもハードウェアの違いに対応するという意味で共通点があります。
非常におおまかなところで両者の違いを言えば、
HALはCPUを始めとしたコンピュータ本体のハードウェアが対象で、
デバイスドライバの方はネットワークなどの周辺機器が対象
っていう感じじゃないでしょうか。

真面目に説明するととっても長くなっちゃうので、
これ以上は勘弁してください。