0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

基本的な送信と受信

Posted at

フレームの中身

データ・リンク層が送信側のネットワーク層からパケットを受け取ると、パケットにデータ・リンク・ヘッダートレーラーを付加してフレームの中に格納する。したがって、フレームは中に入られたパケットと(ヘッダー中の)
制御情報(トレーラ中の)チェックサムとから構成されている。

トレーラとは

イーサネットでは、データの前に附加するヘッダに加えて、データの後にトレーラが附加されます。このトレーラは、FCS(Frame Check Sequence)フィールドと呼ばれ、送信途中でエラーが起こっていないかをチェックする機能を担っています。送信側でFCSフィールドにエラーチェック用にCRC(Cyclic Redundancy Check)という値を入れて送信し、受信側でその値を使用してエラーが起こっていないかを判断します。

フレームを物理層へ/からの送受信するための手続き

次いでフレームは相手のマシン上のデータ・リンク層へと伝送される。フレームを送出させるためのto_physical_layerという手続きと、フレームを受信するためのfrom_physical_layerという手続きがあるものとしよう。これらの手続きを計算して付け加えたり検査したりする(これらはハードウェアで行われる)ので、本項で開発するプロトコルの観点からそれについて心配する必要はない。

フレームを受信時チェックサムが正しくない、正しいかのどちらかがデータリンク層に伝わる

フレームが受信側に到着すると受信側はチェックサムを計算する。フレーム中のチェックサムが正しくない(すなわち送信誤りがあった)時はには、データ・リンク層にそのことが伝わる(event = cksum_err)。また入力フレームが損傷なく到着した場合には、データ・リンク層にその旨が伝わる(event = frame_arrival)ので、from_physical_layerを用いてフレームを獲得して検査する。

パケット以外はネットワーク層に渡さない

受信側のデータ・リンク層は損傷ないフレームを得ると直ちにヘッダーの制御情報を調べすべてが正しければ、パケットの部分をネットワーク層に渡す。決してヘッダーがネットワーク層に渡されることはない。

ネットワーク層とデータリンク層を分けることで変更による影響をなくす

ネットワーク層にフレーム・ヘッダーを決して渡さないのにはちゃんとした理由がある。ネットワーク層のプロトコルとデータ・リンク層のプロトコルを完全に分離するためである。ネットワーク層がデータ・リンク・プロコトルやフレーム・フォーマットについて何も知らなければ、ネットワーク層のソフトウェアを何も変更することなくこれらのものを変更することができる。これは、コンピュータに新たなNICを設置するたびに起こる。ネットワーク層とデータ・リンク層の間の厳格なインタフェースを用意することで、異なる層のプロコトルを独立に進化させることができるため、設計作業がずっと簡単になる

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?