インターネットとネットワークについて
ネットワークとは複数のコンピュータをつなぎあわせ、情報をやり取りすることをいいます。
2台で接続し、情報のやりとりを行えば、その時点でネットワークを構築したことになります。
ネットワークはどの規模で行うかにより、その名称(呼び名)が変化していきます。
小規模で同一の建物もしくは部屋で情報のやり取りをすることをLAN(小規模LAN)といいます。
LANの場合は各パソコン同士で情報のやり取りをするものや、中心に情報を司るサーバーをおいて行う方法などがあります。
それに対し、共通の通信手順(プロトコル)を用いて全世界を相手にしたネットワークのことをインターネットといいます。
インターネットは中心を司るサーバーやコンピュータがなく、全世界にある無数のコンピュータやパソコンが相互に接続され、少しずつサービスを提供しています。
そのため自由度が高く、さまざまな通信が出来ますが、その反面、インターネットを利用した犯罪等が無数にあるのも事実です。
小規模LANの場合、遠くに離れている箇所とLANを組むことは出来ませんが、この自由度の高いインターネット網を使用して別のところのLANと融合してひとつのLAN(大規模LAN)を構築したのをイントラネットといいます。
現在は通信を行うにあたり、共通の通信手順(プロトコル)はTCP/IPが主流になります。
TCP/IPはIPアドレスという自分のコンピュータに認識番号を振り、それを使用して通信する仕組みです。
では、なぜプロトコルが必要なのでしょうか。
みなさんはコンピュータのOSは主にWindowsを使用していると思いますが、全世界のパソコンにはさまざまなOSがあります。(Mac,リナックス等)
各言語(OS)の違うコンピュータ同士でバラバラな言語で通信を行うと、翻訳が出来ません(日本人がアラビアにいって会話するような感じです)
そのため、世界で統一した言語を用いて通信を行う必要があります。その機能を行うのがプロトコルです。
プロトコルの種類1(OSI参照モデル)
プロトコルはインターネットの世界ではTCP/IPが主流ですが、それ以外でもさまざまなものがあります。
もう少し詳しく説明しましょう。
プロトコルは通信の伝送路の物理条件、伝達方法、相手側の特定、情報表現のルールの4つの基本要素より成り立っており、各階層ごとに定義されています。
下位階層(第1層)から上位階層(第7層)まで7層に分けられており、その目的によってそのプロトコルが取り決められています。
通信プロトコルは国際標準化機構(ISO)によって策定され、この階層構造に分割したモデルをOSI参照モデルといいます。
このOSI参照モデルの各階層のプルトコルは次の通りとなります。
OSI 物理層
第1層(最下位層)は物理層のプロトコルです。その名の通り、どういう回線やハードを使用して行うかということです。
ISDN、RCR STD-28 (PHS)、10Base-T、100BASE-TX、1000BASE-T、PDH、T-carrier (ISDNの多重化)、RS-232C、EIA-574、SDH、SONET、RS-232 ・ RS-422 (EIA-422, TIA-422) ・ 電話線・UTP ・ ハブ ・ リピータ ・ 無線 ・ 光ケーブルなどです。
OSI データリンク層
第2層はデータリンク層のプロトコルです。簡単にいうとどんなザービス体系で接続するかということです。イーサネット ・ トークンリング ・ アークネット ・ PPP ・ フレームリレーなどがこれに当たります。
OSI ネットワーク層
第3層はネットワーク層のプロトコルです。データリンク層と同じ接続に対してのプロトコルですが、データリンク層のプロトコルは接続先のホストコンピュータ等に対してのプロトコルに対し、ネットワーク層のプロトコルは実際データのやり取りを行う相手側までのプロトコルで、起点から終点までのデータのやり取りに対する責任が有ります。
そのためデータリンク層はあらゆる場所からあらゆる場所への情報転送を扱います。
IP ・ ARP ・ RARP ・ ICMP ・ IPX ・ NetBEUI ・ DDP ・ AARPなどがあります。
OSI トランスポート層
第4層はトランスポート層のプロトコルです。トランスポート層はネットワーク層から送られてきたデータ転送の信頼性を調べ、データの整序や誤り訂正、および再送要求などを行います。
TCP ・ UDP ・ SCTP ・ SPX ・ NetBEUI ・ RTMP ・ AURP ・ NBP ・ ATP ・ AEPなどがこれに当たります。
OSI セッション層
第5層はセッション層のプロトコルです。セッション層のプロトコルでは通信の開始から終了までの手順を決めるプロトコルです。
この層のプルトコルの取り決めによって、各違うアプリケーション同士の通信であっても、きちんと通信が出来、インターネットエクスプローラとFirefox間で通信ができるのもこの層の取り決めが確立されているからです。
TLS ・ NetBIOS ・ NWLink ・ DSI ・ ADSP ・ ZIP ・ ASP ・ PAP ・ 名前付きパイプなどがあります。
OSI プレゼンテーション層
第6層はプレゼンテーション層です。ここでは通信をするに当たり、各個別のデータ(バイナリ形式)や圧縮形式を通信できるようにデータ変換・復元を行う層です。
各違うOS、アプリケーションで同じデータをやりとりする場合、当然バイナリ形式はサーバの中では違ってきます。
そこで通信する際、1つの取り決めを設けてデータを変換してしまえば、受ける側もその取り決めを元に復元して、自分のデータ形式にすることができます。
このプロトコルによってたとえばYouTubeなどの動画をWindowsでもMacでも同じ動画が見られるわけです。
SMTP ・ SNMP ・ FTP ・ Telnet ・ AFPなどがあります。
OSI アプリケーション層
第7層はアプリケーション層です。ここはパソコンやサーバー内のアプリケーションが使用するユーザーに提供するプルトコルです。このプルトコルにより電子メールや時刻同期などがあり、このプルトコルは使用するアプリケーションによって決められます。
HTTP ・ DHCP ・ SMTP ・ SNMP ・ FTP ・ Telnet ・ AFP ・ X.500 などがあります。
プロトコルの種類2(TCP/IPモデル)
一方TCP/IPモデルは4つの階層からなります。
なぜ、OSI参照モデルと違うのか?
OSI参照モデルは実装を考慮せず、学者などで机上の論理だけで決められた規格であり、その当時の政治的な混乱や駆け引き、また実装するにあたってさまざまや制約により高コストになるなどの理由によりあまり普及しませんでした。
一方、TCP/IPモデルはARPAnet から発展したプロトコルで、BSDというOSの時代に通信において実装し、それに伴いOSI参照モデルとは違う緩やかな規格とインターネットの発達に伴い、今日ではネット通信では基本のプルトコルとなりました。
今はOSI参照モデルの層を基本としたプルトコルとして使用されています。
TCP/IPの階層は次の通りとなります。
TCP/IP ネットワークインタフェース層
第1層はネットワークインタフェース層です。OSI参照モデルでは第2層はデータリンク層のところになり、同じように接続サービスの体系を制御します。
ここではIPアドレスではなくMACアドレス(物理アドレス:LANカード等のROMに焼きこまれている認識番号)を使用します。
ARP/InARP ・ NDP ・ OSPF ・ トンネリング (L2TP) ・ PPP ・ MAC (イーサネット, IEEE 802.11, DSL, ISDN, FDDI) などがあります。
TCP/IP インターネット層
第2層はインターネット層です。OSI参照モデルではネットワーク層のところになります。TCP/IPではデータの伝送の経路の確保やIPアドレスの割り当てなどを行います。
IP (IPv4, IPv6) ・ ICMP ・ ICMPv6 ・ IGMP ・ IPsecなどがあります。
TCP/IP トランスポート層
第3層はトランスポート層ですOSI参照モデルのトランスポート層のところになります。OSI参照モデルと同様にデータの転送を制御しますが、TCP/IPではTCPとUDPというプロトコルを使用して制御します。
TCP ・ UDP ・ DCCP ・ SCTP ・ RSVP ・ ECNなどがあります。
TCP/IP アプリケーション層
第4層はアプリケーション層です。OSI参照モデルでは第5層のセッション層、第6層のプレゼンテーション層、第7層のアプリケーション層のところになります。
OSIの第5層から第7層までを一緒にしたことにより、個々のソフトウェアの自由度が高くなりました。また、ルーティングで使用されるプロトコルもここの層に属します。
BGP ・ DHCP ・ DNS ・ FTP ・ HTTP ・ IMAP ・ IRC ・ LDAP ・ MGCP ・ NNTP ・ NTP ・ POP ・ RIP ・ RPC ・ RTP ・ SIP ・ SMTP ・ SNMP ・ SSH ・ Telnet ・ TFTP ・ TLS/SSL ・ XMPPなどがあります。
TCP/IPプロトコルで物理層のプロトコルがないのは、TCP/IPプロトコルでは物理的な制限を受けなく、ソフトウェア等のレベルで動作することができるからです。
SSLと証明書について
SSLとは
SSLとはインターネット上でデータや情報を暗号化して送受信するプロトコルで、現在ではインターネット上で広く使われています。このプルトコルはNetscape Communications社が開発し、SSLをもとに標準化したのがTLSとなります。
SSLプルトコルは公開鍵暗号や秘密鍵暗号、デジタル証明書、ハッシュ関数などを使用してデータの盗難などを防いでおり、セッション層(第5層)とトランスポート層(第4層)の境界で動作します。
実際にはHTTPやFTPなどの上位のプロトコルを利用するアプリケーションソフトからは、特に意識することなく利用することができ、自動的にSSLのページにログインした場合はアプリケーション側でプルトコルを切り替えます。
SSLの認証には2通りがあり、オンライン上のみの確認で完結するドメイン認証と、書類や電話などで企業の実在性を確認する実在認証です。
ドメイン認証の場合は、そのドメインが実在している場合「SSL証明書」が発行されます。そのため、実在していない企業でも証明書が発行される場合があり、違法サイトなどにひっかかる場合があります。
その反面、イントラネットなどの社内などの狭いネットワークなどの場合はSSL証明書の発行が簡単なため、よく利用されています。
実在認証の場合は実際の企業・団体の登記事項と照らし合わせ、さらに最終的には電話確認をした後SSL証明書が発行されるため、安心して認証が受けられます。
ルート証明書とは
ルート証明書とは上記のSSL証明書を発行する認証局がきちんとした証明書の発行機関であるという証明書のことです。このルート証明書の発行により、SSL証明書の発行元を照らし合わせ、合致していればきちんと発行した信頼できるSSL証明書ということになります。
このルート証明書を発行した認証局を「ルート認証局(CA認証局)」といいます。
共通鍵暗号方式と公開鍵暗号方式
暗号の送受信するにあたり、共通鍵暗号方式と公開鍵暗号方式があります。
共通鍵暗号方式はデータを暗号化・複合化する場合同じ鍵を使用する方式です。
鍵には暗号するルールや計算方式などの情報があるファイルです。
共通鍵暗号は鍵が共通のため、事前に相手からその鍵を入手していれば通信を行うことができます。その反面、暗号化・複合化が同じなため、その鍵を別の人(ハッカーとか)が入手してしまうと、解読されてしまう危険性があります。
そこで現在用いられているのが公開鍵暗号方式です。この方式はまず、「秘密鍵」 と 「公開鍵」 というペアの鍵を作ります。
まず、受信側は送信側に「公開錠」を送ります。送信側がその公開錠を素に暗号化します。受信側はデータを受け取ったら、自分の持っている「秘密錠」と配布した「公開錠」をセットにして復号化します。
復号化は「公開錠」と「秘密錠」の両方がなければ出来なくなっており、相手側に通信時には「公開錠」しか渡していないので、データがハッキングされても復号できない仕組みとなっております。
ハッシュ関数とは
ハッシュ関数とはデータを暗号化するにあたっての関数であり、ブラックボックスと考えてください。このハッシュ関数から出た数値をハッシュ値といいます。
このブラックボックスはさまざまな変換方法があり、1文字違っただけでもハッシュ値が全く違った値になるようになっています。
Cookieとは
CookieとはインターネットでWebサイトの提供者が、ブラウザを通じて訪問者のコンピュータに一時的にデータを書き込んで保存させるファイルです。
このファイルには訪問回数やユーザの識別・パスワード等などが記憶されます。
またインターネットショッピングを行った場合は住所などの個人情報やカード番号も記憶されます。そのためコンピュータウイルスにかかった場合、個人情報が漏れる場合の一番の原因はこのCookieから情報が漏れ出している場合が多いので、良く使用するプラウザ以外のCookieは消すように心がけ、注意しましょう。