ネットワーク入門

コンピュータネットワークとは

ハブとは

 

ネットワーク機器

 

 

半二重通信と全二重通信

 

 

コリジョンとは

 

 

コリジョン(Collision)は「衝突」の意味。イーサネットや無線LANで複数の端末が送信し、データが衝突する現象を指す。旧式のイーサネット規格では、端末同士を接続するときに1組の通信路で双方向の通信を行う半二重通信のため、送信と受信を同時に行うことができない。送信と受信をその都度切り替えて行うので、端末がお互いデータを送信してしまうと衝突する可能性が高くなる。

 

 

 

IPアドレスの基礎知識

IPアドレスは、パソコンやスマートフォンなどネットワーク上の機器を識別するために割り当てられていて、インターネット上での住所のような役割を担っています。

ネットワーク部とホスト部

IPアドレスは数字の羅列です。現状普及しているIPv4というバージョンでは、32ビット(桁)の2進数ですが、そのままではわかりづらいため、8ビット毎に「.(ドット)」で区切り10進数表記で表します。それぞれの値は0~255まであります。

 

IPアドレス

出典:Wikipedia

具体的には、下図のようにネットワーク部ホスト部から構成されています。なお、ネットワーク部とホスト部の境界線は、IPアドレスによって異なっています。

ネットワーク部とホスト部

ネットワーク部というのは、どのネットワークに所属しているかを示す部分です。
一方ホスト部とは、上記のネットワーク部の中でのホスト(コンピューター端末)を指しています。

クラスAからクラスEまで5つのクラスがありますが、通常使用しているのはクラスAからクラスCまでです。(下図参照)

先頭ビット列か10進法の数字をみればクラスが識別できるようになっています。そしてクラスが識別できれば、ネットワーク部とホスト部の区切りがわかります。

クラスAでは、ネットワーク部が8ビット、ホスト部が24ビットのIPアドレスです。使用できるネットワークは126個しかありませんが、それぞれのネットワークに接続できるホストは約1700万個になります。

クラスCでは、ネットワーク部が24ビットなので、ネットワークの数は約209万個割り当てられますが、それぞれのネットワークには254個しかホストを割り当てられません。

クラス 先頭ビット列 アドレス範囲 割り当て可能ホスト数
クラスA 0 0.0.0.0.~127.255.255.255. 16777214個
クラスB 10 128.0.0.0.~191.255.255.255. 65534個
クラスC 110 192.0.0.0.~223.255.255.255. 254個

 

IPアドレスの種類

次に、用途別にIPアドレスを分類します。この場合、用途とは以下の二点です。

  1. インターネットに接続するタイプ(グローバルIPアドレス)
  2. インターネットに接続しないタイプ(プライベートIPアドレス)

IPアドレスの種類
それぞれの特徴は、以下の通りです。

グローバルIPアドレス

グローバルIPアドレスとは、インターネットに接続するタイプのIPアドレスです。さらに、動的IPアドレス静的IPアドレス(固定IPアドレス)の二つに分かれます。一つひとつ説明していきます。

動的IPアドレス

動的IPアドレス
IPアドレスが変動する場合、動的IPアドレスに分類されます。一般的な事例として、家庭でインターネット・サービス・プロバイダー(ISP)に接続する場合がわかりやすいと思います。

最近では、ISPに最初に接続する場合に、特別な設定が不要です。それは、ネットワーク機器にLANケーブルをつなげて、インターネットに接続すると、自動的にグローバルIPアドレスがISPより割り当てられるからです。

別の言い方をすると、ISPが自動探知してくれるのです。このことから、一定時間が経過したり、インターネットに接続し直すたびに、別のグローバルIPアドレスが割り当てられます。

静的IPアドレス(固定IPアドレス)

静的IPアドレス
一方、静的IPアドレス(固定IPアドレス)とは、言葉の通り変動しないIPアドレスです。では、どのような利用場面が想定されるでしょうか。一言で言えば、接続のたびにコロコロ変わって欲しくない場合に、導入が必須となっています。

例えば、ホームページの公開サーバーや、メールの送受信のためのメールサーバーの場合です。

ここで、上記でお話ししたDNSサーバーが関連してきます。DNSサーバーとは、IPアドレスとドメイン名を結びつけるデータベースでした。

もし、WebサーバーやメールサーバーのIPアドレスがどんどん変わってしまうと、DNSサーバーでの関連作業ができなくなります。

つまり、ドメイン名でこれらのサーバーにアクセスされるときに、対応するIPアドレスが変動しないよう、IPアドレスは静的(固定)でなければなりません。
厳密には、全てのWebサーバーやメールサーバーが静的(固定)のIPアドレスを所有している訳ではありません。テクニックにより、この問題を回避することが可能だからです。

プライベートIPアドレス

次に、インターネットに接続しないタイプの、プライベートIPアドレスについて解説します。

家庭内での、インターネットからは独立したネットワークを例としてご説明します。
具体的には、ブロードバンドルーターの外側がインターネットの世界で、内側が家庭内の独立したネットワークを考えてみます。
このとき、家庭内のネットワークにあるパソコンなどに付与されているIPアドレスが、プライベートIPアドレスです。

プライベートIPアドレスは、直接グローバルIPアドレスとやりとりすることができません。
そこで、ブロードバンドルーターのNAT(Network Address Translation)という機能が必要となります。
NATとは、プライベートIPアドレスをグローバルIPアドレスに変換する機能です。

企業内のLANネットワークで、クライアントPCがインターネットに接続する場合も、グローバルIPアドレスに変換(NAT)をしています。

自分のIPアドレスを確認するには?

ご自分のIPアドレスはどうなっているでしょうか?ここでは、典型的な確認方法をご紹介します。

グローバルIPアドレスの場合

こちらはWebサービスにアクセスするだけで、簡単に確認することができます。一例は、サーバー監視/ネットワーク監視サービスです。

プライベートIPアドレスの場合

Windowsパソコンを利用している場合にて説明します。
操作はコマンドプロンプト画面を使用します。

次にこの画面で、「ipconfig」 というコマンドを入力し、「Enter」キーを押してください。

ネットワーク接続に関する情報が表示されますので、「IPv4」の箇所を確認してください。こちらが現在使用しているパソコンのプライベートIPアドレスになります。

IPアドレスが割り当てられるしくみ

ここでは、グローバルIPアドレスとプライベートIPアドレスとに分けて、一般的な管理方法をお話しします。

グローバルIPアドレスの管理

IPアドレスの管理
ICANNと呼ばれる最上位の国際的な機関が、大元になってまとめています。組織構造は階層的になっています。

そして、さらに下位の組織が、インターネット・サービス・プロバイダー(ISP)等を統括しています。それぞれのISPには、グローバルIPアドレスがまとまって割り振られています。

個々の利用者が、インターネット接続のためにブロードバンドルーターを使用すると、ISPからは自動的に、一つのグローバルIPアドレスが提供されます。

プライベートIPアドレスの管理

DHCP

家庭内で、パソコンなどの端末をブロードバンドルーターに接続すると、端末には自動的にプライベートIPアドレスが与えられます。

この実現のためには、DHCPというサーバーが活躍しています。ほとんどの場合にはブロードバンドルーターなどに内蔵されていますので、特別に用意する必要はありません。

このDHCPサーバーのおかげで、ネットワーク接続している他の端末と重複しないプライベートIPアドレスが自動的に付与されるようになっています。ここでも、人の手の管理は不要です。

 

 

 

IPアドレス – サブネットマスク

IPアドレスのクラスが分かれば、ネットワーク部が何ビットであるのか分かります。

クラスAでは「8bit」クラスBでは「16bit」クラスCでは「24bit」がネットワーク部です。この情報をもとにネットワーク部の示す範囲は以下の通り。ビット「1」がネットワークアドレス、ビット「0」がホストアドレスを示す範囲。

例えば「192.168.1.1」はクラスCのIPアドレスであるから、サブネットマスクが「255.255.255.0」であることが分かります。

このようにサブネットマスクは、IPアドレスの32ビットのうち何ビットをネットワークアドレスに使うのかを定義するための32ビットの数値のことです。

サブネットマスクには、2つの表記方法があり、1つは「192.168.1.0/24」もう1つは「192.168.1.0 255.255.255.0」となります。

 

IPアドレス – サブネット

サブネットは、クラスA、B、Cのネットワークを複数の小さなネットワークに分割したネットワークのこと。
IPアドレスを構成するネットワーク部とホスト部のうち、ホスト部のビットをサブネット部として使用する
ことにより、ホスト部のビットをどれだけサブネット部として使用するのかは、NW管理者で自由に決めます。

例えば、1つのネットワークに400台のホストを接続したいとします。

クラスCでは1つのネットワークに最大「254台」までのホストしか接続できないので、クラスBのネットワークを採用する必要があります。

しかしクラスBの場合、1つのネットワークに最大「65534」のホストを接続できますが、400台のホストを接続するのにクラスBのアドレスを使用するのはかなりIPアドレスの無駄です。

そこでサブネットの出番。

クラスCではホスト部が 8 ビットなので、28 により 256 で要件を満たせないためクラスBを使用します。

次に、クラスBの場合、1つのネットワークが大きい(最大「65534」のホストを接続できるネットワーク)のでサブネット化をします。

ホスト部が 9 ビットである場合 29 により512です。ネットワークアドレスとブロードキャストアドレスを差し引いて(-2)、ホスト部が9ビットなら最大「510台」のホストを接続できますし、無駄もありません。9

現在の日本国内の社内ネットワークなどで最も使用されているサブネット化は、クラスAまたはクラスBのネットワークで「ホスト部を 8 ビットだけにする」というパターンです。

クラスCではネットワークアドレス数が最大 256 と拡張性がない
ことから大企業でのクラスC採用は少なく、またクラスCのサブネット化についてもあまりないのが実情です。

 

 

トランスポートプロトコルとは?(P3-27)

トランスポートプログラム(TCPやUDPなど)がなぜ必要か?

PCやサーバーでは,同じコンピュータの上で複数のアプリケーションが動作しています(アウトルックでメールを書きながら,ブラウザで各種サイトを見たりする)。

しかし,IPの世界では,1つのコンピュータには1つのIPアドレスしか割り当てられないのが普通です(NICが複数ある場合とか,有線LANと無線LANを同時に使っている場合,仮想マシンを動かしている場合などは例外⁠)⁠。

すなはち、メールのデータもWebのデータも、IPの世界では同じアドレスを使って送受信されるので区別がつかないのです。

またIPの世界には「順序」という概念がありません。

ネットワークに複数の経路がある場合などIPパケットが送信した時とは異なる順序で到着する可能性があります。

大きなデータを複数のIPパケットに分割して転送したときに,データの前と後ろが入れ替わってしまうと多くのアプリケーションが正常に動作しなくなってしまうでしょう。

したがってアプリケーションとIPの世界の間で、データの交通整理をする仕組みが必要であり、それがトランスポートプロトコルの役割です。

ポート番号によってアプリケーションを識別したり、チェックサムという仕組みでデータが壊れていないか確認したり、シーケンス番号によってパケットの順序を揃えたり(TCPのみ)する

TCPは「荷造りまでしてくれる宅配便」

なぜTCPとUDPという2種類のトランスポートプロトコルが必要なのか?

たとえば、Outlookで10通のメールを作成し、送信ボタンを押したとします。すると、OutlookからTCP/IPの処理プログラムへメール10通分のデータが渡されます。

このときTCP/IPは

どこからどこまでが1通目のメールで、
どこからが2通目か、

といったことはわかりません。

TCP/IPの仕事は全てのデータをメールサーバへ確実に送り届けることであり、メールのヘッダを読んで仕分けたりするのはメールサーバの仕事だからです。

ただし、メール10通分のデータを送るためには複数のIPパケットに分割して送信する必要があるでしょう。

Ethernetの最大フレームサイズが1518バイトなので、大きなデータは分割しないと入らないからです。

このような処理はTCP/IPが責任を持って実行します。

逆に言うと、アプリケーションは自分が渡したデータを何個のパケットに分割すればよいか、などといったことを気にせずに送りたいデータをTCP/IPへ任せてしまうことができます。

TCP/IPは分割したパケットの順序がネットワークの途中で入れ替わっても、それを検知して元の順序に戻してからアプリケーションにデータを渡します。

また、途中でデータが壊れたり損失した場合には送信元に再送を要求して完全なデータを復元させます。

アプリケーションを開発する人はTCP/IPを利用することで、コンピュータ間の通信に必要なプログラムを自分で作る必要がなくなります。

このようにTCP/IPは異なるコンピュータ上で動作するアプリケーションの間で、データを確実に送受信するための運送屋のような働きをしています。

このとき重要なことはTCP/IPがデータを切れ目のない流れ(ストリーム)として扱っているということです。

TCP/IPは、引っ越し業者の「荷造りサービス」のイメージに近いです。

「この部屋にある荷物を全部,××市××番地へ送ってください」とお願いすると、運送屋の人が荷造りして目的地まで送り荷解きまでしてくれます。

依頼人は
・どの荷物をどのダンボール箱へ入れるか、
・ダンボール箱が何個必要か
などを気にする必要がなく送りたい荷物を部屋に置いておけばよいのです。

これが、「⁠データをストリームとして扱う」ということ。

UDPは「荷造りしない普通の宅配便」

初期のインターネットはメールやファイル転送などのデータ通信がほとんどであったため、TCPの仕組みがじゅうようでした。

ところが、’80年代後半になると「音声」「映像」などのリアルタイム通信の可能性が検討されるようになりました。

リアルタイム通信においては、パケットを決められた「間隔」で正確かつ定期的に転送するこは、正直言って「余計なじゃまな存在」になってしまいました。

インターネットの普及とともに様々なニーズが生まれ、TCPでは適さない通信がいろいろと出てくるであろうと考えたときに、インターネット創始者たちは、「⁠何もしない」トランスポートプロトコルであるUDPを作ったのです

「⁠何もしないプロトコル」であるUDPを作り、アプリケーション側で必要な機能を自由に開発させたほうが良いという発想です。

UDPはポート番号によるアプリケーションの識別とチェックサムによるデータ正常性確認という最低限のこと意外は何もしません。

UDPは「データグラム」(⁠データの塊)を受け取る,という発想の違いがあります。

つまり、アプリケーションの責任でデータの「荷造り」までしてもらいUDPはデータグラムを目的のコンピュータへ転送するだけです。

UDPは「普通の宅急便」で、荷物をダンボールに詰めるところまではお客さん(アプリケーション)の仕事であり,運送屋さんはダンボールを指定された住所へ届けるだけです。

現在の音声通信や映像通信では、UDPの上で動作するRTP(Real-time Transport Protocol)(その名のとおり)リアルタイム通信に適したトランスポートプロトコルの役割を果たしています。

他にもUDPは,DNSなど少量で単発的な通信や,RIP・OSPFなどルーティングプロトコルでブロードキャスト・マルチキャスト通信する場合など,コネクション型のTCPでは適さない通信において広く活用されています。

DNSサーバとは(P3-46)

ドメイン名とIPアドレスを対応づけるデータベースを管理しているのが「DNSサーバ」です(コンテンツサーバとも呼ばれます)。

DNSサーバは、ドメイン名の問い合わせに対してIPアドレスを答える役割を担っています。

世界中には膨大な数のホスト ※1 があり、ドメイン名もユーザも日々増えているので、問い合わせが1台に集中すると対応しきれません。

※1:ホストとは、Webサーバやメールサーバのように、インターネットやLANなどのネットワークにおいて、他のPCにサービスを提供するコンピュータのこと。

ツリー構造を持つネットワークのルート(root:根)とノード(node:節)にDNSサーバが配置され、それぞれの権威DNSサーバが、問い合わせに対して自分の直下のコンピュータのIPアドレスだけを答えるしくみになっています。

ドメインには,大きく分けて「gTLD(Generic Top Level Domain)」と「ccTLD(Country Code Top Level Domain)」の2種類がある。

前者は、「.com」や「.net」「.org」といった特定の国に依存しないものであり、後者は「.jp」や「.us」など,国ごとに割り当てられているカントリ・コードを基本にしているものである。

ピリオドで区切られたドメイン名の最後の部分が「Top Level Domain」と呼ばれるのはドメインは右側から解釈されるためである。

メールシステム、SMTP、POP、IMAPの意味(P3-54)

一言でいえばSMTPとは、「メールを送信する仕組み」POPは「メールを受信する仕組み」のこと。

送信の手順が「SMTP」

郵便の仕組みにたとえると、

紙の手紙は、赤いポストに投函されたあと郵便局の人が集め、そして、宛先の住所を目がけて、最寄りの郵便局に届けられる。ここまでの過程が、メールでは「SMTP」の役割ということになる。

<div class=”redbox”>つまり、メールを相手のメールサーバーまで届ける仕組みが「SMTP」。</div>

受信の手順が「POP」

さて、紙の手紙は郵便局の人が配達してくれるが、実は電子メールはスマホやパソコンに自動的に配達はされない。

「そんなことない。メールソフトは立ち上げておけば、なにもしなくてもメールがポンポン届くよ」と思うかもしれない。

それは、実際のところ送られてくるのではなく、メールソフトが自動的にメールサーバーにアクセスしてメールをダウンロードしているのです。

郵便にたとえると、せっせと郵便局に出かけては私書箱から手紙を取ってくるような仕組みが「POP」。

「POP」は「Post Office Protocol(ポスト・オフィス・プロトコル)」の略で、まさしく「郵便局の手順」。

これらの関係はこんな感じ。

SMTPとPOP

これらの設定がきちんとされていないと、メールソフトはきちんと機能しないということになる。

ここでメールソフトのアカウント設定についてiPhone、Androidそれぞれの設定方法を見てみる。

iPhoneの場合

①[設定]>[パスワードとアカウント」>[アカウントを追加]>[その他]と進む。

iPhoneアカウント設定方法

②[名前][メール(メールアドレス)][パスワード]をそのまま入力する。説明欄は任意で設定可能。なにもしなければメールアドレスがそのまま入力される。

iPhoneアカウント設定方法

次の画面に進むと、上の②で入力した内容が自動的に入ってくるので、[受信メールサーバ][送信メールサーバー]にサーバーの名前(ドメイン名)を入力する。サーバーは契約しているプロバイダに問い合わせる。

Androidの場合

①[メール]>[新しいアカウントを追加]>メールアドレスとパスワードを入力>[POP3アカウント]を選択>[サインイン]と進む。

Androidアカウント設定方法

②上の①で入力した内容が自動的に入ってくるので、[POP3サーバー][SMTPサーバー]にサーバーの名前(ドメイン名)を入力する。

Androidアカウント設定方法

ちなみに、「SMTP」サーバーと「POP」サーバーは同じ名前であることが多い。つまり一台二役しているということ。サーバーの名前(ドメイン名)は、メールアドレス設定時に一緒に送られてきているはず。

スマホのメール設定にある「IMAP」ってなに?

スマホでメールを設定しようと思ったら「IMAP」というものが出てくる。これはなに?

「IMAP」は「Internet Message Access Protocol(インターネット・メッセージ・アクセス・プロトコル)」の略で、実は「POP」と同じ、メールを取り込むための手順。

その違いは、メールをサーバーに残すか残さないかにある。

スマホのメール設定にある「IMAP」

「POP」では、メールをいったんスマホやパソコンにダウンロードして取り込むと、サーバーからは無くなってしまう(何日間は消さずに残すという設定もできる)。

「IMAP」では、ダウンロードするのはメールのいわばコピー(キャッシュ)で、メール本体はサーバーにいつまでも残ったままになる。

つまり、ユーザーのメールはサーバーが管理してくれるということになる。