新人ネットワークエンジニアがまとめたTCP/IPプロトコルスタックとOSI参照モデルの基礎知識CCENT/CCNA 試験対策 2014年版(2)

新米ネットワークエンジニアと共に、ネットワークの基礎を学びましょう。

» 2014年11月13日 18時00分 公開
CCENT/CCNA 試験対策 2014年版

連載目次

 上司面談でシスコシステムズの資格取得を約束させられてしまった新米ネットワークエンジニアのS君(前回記事参照)が、目標を「CCENT」に決めて勉強を始めてから2週間が経過しました。

 今日は先輩社員の齋藤さん(炭水化物好き)に、この期間で学んだことをまとめたレポートを提出する日です。ランチをごちそうすると、齋藤さんがレポートを添削してくれるのです。

S君のレポート「OSI参照モデルとTCP/IPプロトコルスタック」について学んだこと

プロトコル

 インターネットに代表される、コンピューター同士をつないだネットワークでは、ほとんどTCP/IPプロトコルというものを使ってコンピューターがデータのやりとりをしています。

 プロトコルは直訳すると、「規定」「規約」「ルール」という意味だと分かります。コンピューターネットワークの世界では通信プロトコルを使い、コンピューター間のデータ通信を行っています。二者が通信するために共同利用するルール、それが通信プロトコルなのです。

 通信プロトコルは世界中で共通のものですが、たくさんの種類が存在します。その中でも「世界標準」と言ってよいのが、「TCP」「IP」という二つのプロトコルをまとめた「TCP/IP」です。それぞれ別々の大切な役割を持っています。次の図と表をご覧いただいた後に、説明します。

図1 TCP/IPプロトコルスタック

階層 名称 役割
第4層 アプリケーション層 人間との情報のやりとりを担う
第3層 トランスポート層 信頼性または効率性を提供
第2層 インターネット層 宛先ネットワークを判別
第1層 ネットワークアクセス層 ケーブルなどによる物理的な接続を担当
表1 TCP/IPモデル

TCP/IP

 一番上の階層であるアプリケーション層は人間と密接につながり、逆に最下層のネットワークアクセス層はコンピューターと一番深い関係にあります。一般的にコンピューターネットワークを使って何かをしたいときは、アプリケーション層のプロトコルを使ったソフトウェアを操作してコンピューターと会話(操作)すればよいのですが、他の階層ももちろん理解する必要はあります。

アプリーケーション層

 人間に一番近い階層です。人間にとって分かりやすい表現の仕方を実現するのがアプリケーション層の役割です。実際にはソフトウェアやツールと呼ばれるプログラムの形で人間にサービスが提供されます。以下の表でアプリケーション層プロトコルの代表例を挙げます。

プロトコル名(ポート番号) 機能
FTP(20,21) ファイル転送を行う
SMTP(25) 電子メールを送信、および転送を行う
DNS(53) ドメイン名とIPアドレスによる名前解決を行う
TFTP(69) ユーザー認証もない簡易FTPである
HTTP(80) HTMLファイルなどを転送する、Webブラウジング
POP3(110) 電子メールの受信、ローカルに保存する
IMAP4(143) 電子メールの閲覧、サーバに保管される
表2 アプリケーションプロトコルの代表例

トランスポート層

 コンピューター同士がデータをやりとりする際の代表的なプロトコルは、以下の二つです。

  • 確実に相手へデータを届ける「TCP」
  • 多少のデータの損失があっても大量のデータを送る、効率を意識した「UDP」

 データの損失があると困ることが多いので、大体のアプリケーション層プロトコルは、TCPプロトコルが動いている状態の上で動作します。

 UDPプロトコルは構造が単純で、できるだけ多くのデータを送信相手へ送るのに適しています。送信したデータが相手に届いたかを確認するすべを持たないので、10個中3個のデータが不達であっても、UDP自体は気にしません。到達の確認はアプリケーション層プロトコルがチェックします。

 TCPプロトコルは、送信相手の受領確認(Ack)を受け取るまで、何度でも同じデータを相手に再送し続けます。この再送制御の仕組みがあるおかげで、HTTPなどの上位プロトコルは、必ず相手にデータが届くものとして自身の機能だけの処理を行えばよいのです。

インターネット層

 通信相手への経路と所在(どのネットワークか)を判別します。人間が住所によって場所を特定できるように、コンピューターもネットワークアドレス、あるいはホストアドレスで、その場所を特定できます。IPプロトコルで表現されたネットワークアドレスなどを「IPアドレス」と呼びます。神奈川県や横浜市と同じように、IPアドレスではそのネットワークの規模も同時に表現できます。

 人間が引っ越しをして住所を変えられるように、IPアドレスも値を変更できます。

ネットワークアクセス層

 コンピューター同士を物理的につなげる役割が担当です。使用するケーブルの種類やデータ(この階層では電気信号や電波に変換されて処理されます)の交換方法を、ルールとして決めています。

 最も普及しているのは「イーサネット」というプロトコルです。

 人間の名前のように容易に変更できないコンピューターのアドレスとして、「MACアドレス」というものがあります。MACアドレスは、世界で唯一の値を持ったアドレスです。IPアドレスのように自由に値を変更出来ません。MACアドレスの値を変更したい場合は、原則としてパーツの交換が必要です。

OSI参照モデル

 TCP/IPモデルは、プロトコルとその機能から必要に応じて階層構造を採ったものです。

 プロトコルは、それぞれが持つサービスを相互利用しています。プロトコル間の連携は、異なる企業が独立して開発したもの同士では上手く機能しないことが多く、この問題を解決するべく共通の仕様として作成されたのが、「OSI参照モデル」です。

 実際には、OSI参照モデルが作成完了した2年前にTCP/IPモデルは策定が完了したこと、急激にTCP/IPモデル準拠製品が普及したことから、OSI参照モデルは現在ではその概念を示すもの(階層構造、機能分担、世界標準)として残っています。

 OSI参照モデルは7階層に分かれています。

階層 名称 役割
第7層 アプリケーション層 人間とコンピューターとの橋渡し
第6層 プレゼンテーション層 ファイル形式(TXTやJPG)や文字コードの判別
第5層 セッション層 一連の通信の開始から終了までを管理
第4層 トランスポート層 信頼性(再送制御、エラー訂正など)の提供
第3層 ネットワーク層 経路選択
第2層 データリンク層 同一ネットワーク内での端末判別
第1層 物理層 ケーブルによる物理接続
表2 OSI参照モデル

 次回は、ネットワークで使用される中継機器の種類(ルーター、スイッチ)と、その機能についてまとめます。

レポート作成:新米S


齋藤さんの添削

S君へ

 分かりやすいレポートでした。以下の点についてはまだまだ勉強不足なので、もう一度調べてみましょう。

  • TCP/IPモデルとOSI参照モデルに、関係性はないのでしょうか?
  • 受領確認(Ack)の仕組みだけではなく、TCPプロトコルではウィンドウサイズも使用しているはずです。
  • FTPは他のプロトコルとは違い、なぜ二つのポート番号を使用するのでしょうか?
  • DNSプロトコルの役割である「名前解決」とは、どういう役割なのでしょうか?
  • 「POP3」と「IMAP4」、電子メールの受信と閲覧とありますが、どのような違いがあるのしょうか。メールデータの保管場所に着目した点はOKなので、もっと具体的に書きましょう。

 総合評価は「よくできました」です。ランチは「牛丼」でよろしく。初回はお互いに様子見だけれど、レポートの質が下がると、逆にごちそうしてもらうランチのグレードを上げるから、散財しないですむように頑張ってくださいね。

 齋藤


「CCENT/CCNA 試験対策 2014年版」バックナンバー

筆者プロフィール 齋藤貴幸

齋藤貴幸(さいとうたかゆき)

ドヴァ ICTソリューション統轄本部 デベロップメント&オペレーショングループ 2部

情報系専門学校の教員を12年勤めた後に同社へ入社、エンジニアへ転向。沖縄県と首都圏を中心にネットワーク構築業務に携わる。また、シスコ・ネットワーキングアカデミー認定インストラクタートレーナーとして、アカデミー参加校のインストラクターを指導している。炭水化物をこよなく愛する男。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。