●TCPとIP
プロトコル:ネットワークを使って通信を行う際の取り決め、TCP/IPが最もよく使われる
主なプロトコル名 | 正式名称 | 説明 |
IP | Internet Protocol | あて先などの情報を付加したパケットという単位にデータを分割し、 送信するためのプロトコル 現在一般的に使われているIPv4を拡張したIPv6も徐々に使われ始めてきた |
TCP | Transmission Control Protocol | データが正しく転送されるように、信頼性を確保するためのプロトコル コネクション型 |
UDP | User Datagram Protocol | TCPとは逆に信頼性は低いが高速にデータを転送する通信で TCPの代わりに使われるプロトコル コネクションレス型 |
ICMP | Internet Control Message Protocol | pingコマンドやtracerouteコマンドなどの ネットワークの確認コマンドで使用されるプロトコル |
これらのプロトコルとその他の関連プロトコルを総称してTCP/IPと呼ばれる
OSI参照モデル (ISOとITU-Tという団体によって策定された データ通信の標準アーキテクチャ) |
TCP/IPの構造 |
アプリケーション層 プレゼンテーション層 セッション層 |
アプリケーション層 (HTTP、SMTP、TELNETなど) |
トランスポート層 | トランスポート層 (TCP、UDPなど) |
ネットワーク層 | インターネット層 (IP、ICMPなど) |
データリンク層 物理層 |
ネットワークインタフェース層 |
●IPアドレスとサブネットマスク
TCP/IPネットワークにおいてネットワークに接続されたホスト(PC、サーバ、ルータ、スイッチなど)にはIPアドレスが割り当てられる
現在のIPv4では2進数32ビットのアドレスが使用される(IPv6では128ビット)
合計32ビットを8ビットずつドットで4つに区切り、1つの区切りをオクテットと呼ぶ
その1つの区切りを左から、第1オクテット.第2オクテット.第3オクテット.第4オクテット と呼ぶ
1つのオクテットは2進数の8桁(2の8乗)なので256通りになる
2進数を10進数に直すと0〜255(256通り)までの整数で表現される
IPアドレスはそのアドレスが割り当てられたホストが属するネットワークを表すネットワークアドレス部と、
そのネットワーク内の各ホストを識別するためのホストアドレス部から構成される
その2つの部分の境界を表すのがサブネットマスク
サブネットマスクも32ビット4つのオクテットで構成され、必ずIPアドレスと対で表される
サブネットマスクを2進数に直し、左から2進数のビットが立っている(1になっている)ビットまでが、
そのサブネットマスクと対になっているIPアドレスの、ネットワークアドレス部分であることを示している
10進数 | 2進数 | |
IPアドレス | 192.168.1.5 | 11000000.10101000.00000001.00000101 |
サブネットマスク (10進数表記) |
255.255.255.0 | 11111111.11111111.11111111.00000000 |
↑が境界なので ネットワークアドレス | ホストアドレス |
またサブネットマスクは10進数表記だけでなく2進数のビット数で表記されることもある
255.255.255.0は2進数に直すと左から24ビット目までビットが立っているので、
IPアドレスと対に192.168.1.5/24と表されることもある
同一のネットワークアドレスを持つIPアドレスの集合をネットワークセグメント(=1つのネットワーク)と呼ぶ
上記の例の場合、
192.168.1.0〜192.168.1.255が1つのネットワークとなる
であるためホスト(PCやネットワーク機器)に割り当てることはできない
IPアドレスのクラス(第1オクテットの数字によって分類される)
クラス | 第1オクテット | 既定のネットワークアドレス | 既定のサブネットマスク | 主な用途 |
A | 0〜127 | 上位8ビット | 255.0.0.0 | ホストの多い大規模なネットワーク |
B | 128〜191 | 上位16ビット | 255.255.0.0 | 中規模なネットワーク |
C | 192〜223 | 上位24ビット | 255.255.255.0 | ホストの少ない小規模なネットワーク |
D | 224〜239 | - | - | マルチキャスト(ある特定のグループへの通信) |
E | 240〜255 | - | - | 実験用 |
第1オクテットが0や127のIPアドレスは特殊な用途で使用されるので、ホストに割り当てることは出来ない
クラスごとのプライベートIPアドレス(インターネット上では使用できない)⇔グローバルIPアドレス
クラス | プライベートIPアドレス範囲 | サブネットマスクを付加した表記 |
A | 10.0.0.0〜10.255.255.255 | 10.0.0.0/8 |
B | 172.16.0.0〜172.31.255.255 | 172.16.0.0/12 |
C | 192.168.0.0〜192.168.255.255 | 192.168.0.0/16 |
CIDR(サイダー)Classless Inter-Domain Routing :
ホストの少ない小規模なネットワークに用いられるクラスCのネットワークでも、
ネットワークアドレスとブロードキャストアドレスを除くとホストに割り当てることが出来るIPアドレスは254もある
しかし現実にはホストが数台というネットワークセグメントもあり、
各クラスの既定のサブネットマスクを使用するだけでは、割り当てられることのないIPアドレスが多数発生する
その不効率を解消するためCIDRという方法により、
ネットワークアドレスの長さを任意に設定することができる
ネットワークアドレスの長さを各クラスで既定されている長さよりも長くすれば、
その分ホストアドレス部分が短くなり、
結果、ホストに割り当てることが出来るIPアドレスが減ることになる
それと同時にネットワークアドレスの長さを長くした分だけ、
使用できるネットワークの数が増えることになる
このようにIPアドレスを割り当てる必要のあるホストの数に応じて、
ネットワークアドレスの長さ(つまりサブネットマスク)を柔軟に変更するのがCIDRの考え方
192.168.0.0/24をCIDRによって、192.168.0.0/26にした場合、
ネットワークアドレス部分が2ビット増えたことで、2の2乗=4つのネットワークが増え、
逆にホストアドレス部分が2ビット減って6ビットになったことで、2の6乗=64⇒ネットワークアドレスとブロードキャストアドレスを除くと62(1つのネットワークあたりのホスト数)になる
つまりクラスCの1つのネットワーク細かく分割したことになる
(0〜255の1つのネットワークを0〜63、64〜127、128〜191、192〜255の4つのネットワークに分割して使用する)
CIDRによって細かく分割されたネットワークをサブネットワークと呼ぶ
192.168.0.0/24
1つのネットワーク 0〜255 ネットワークアドレス:192.168.0.0/24 |
↓
192.168.0.0/26 ↓
1つのサブネットワーク 0〜63 ネットワークアドレス:192.168.0.0/26 |
1つのサブネットワーク 64〜127 ネットワークアドレス:192.168.0.64/26 |
1つのサブネットワーク 128〜191 ネットワークアドレス:192.168.0.128/26 |
1つのサブネットワーク 192〜255 ネットワークアドレス:192.168.0.192/26 |
●ポート番号
1つのホスト上でネットワーク通信を行うアプリケーションやサービスを識別するために使われる
郵便物に例えると
ネットワークアドレスがマンションの住所、
ホストアドレスが部屋番号、
ポート番号がその部屋に住んでいる人の名前
ウェルノウンポート(Well-known port)
一般的なアプリケーションやサービスには1024未満であらかじめポート番号が決められている
ポート番号 | アプリケーション・ サービス |
説明 |
20 | FTP(データ転送) | ファイル転送のデータ |
21 | FTP(制御情報) | ファイル転送の制御 |
23 | Telnet | リモート接続 |
25 | SMTP | 電子メール送信・転送 |
53 | DNS | ドメイン名・ホスト名の解決 |
80 | HTTP | WEBサイトの参照 |
110 | POP3 | 電子メールの受信 |
119 | NNTP | ネットニュースの参照 |
139 | NetBIOS | マイクロソフトネットワーク (エクスプローラによるブラウジングなど) |
143 | IMAP(IMAP2) | 電子メールの受信・読み出し |
161 | SNMP | ネットワーク機器の監視 |
ウェルノウンポートはICANNによって管理されいるが、
ウェルノウンポート以外にも予約されているポート番号がある
データベースシステムPostgreSQLは5432番など
このようにベンダーやグループの申請により割り当てが可能なポート番号を
レジスターポート(1024〜49151)と呼ぶ
ポート番号とLinuxシステム上のサービスの対応は、
/etc/services ファイルに記述される
●ホストレベルのネットワーク設定
ネットワークの基本的な設定は、/etc/sysconfig/network ファイルに記述する
------/etc/sysconfig/network----------
NETWORKING=yes ←ネットワークを有効化
HOSTNAME=lpic ←ホスト名を設定
GATEWAY=192.168.1.1 ←デフォルトゲートウェイ(ネットワークの出口)を指定
------------------------------------
*ホスト名の設定は、ディストリビューションによって、/etc/hostname(または/etc/HOSTNAME)ファイルに記述する
またネットワーク名とネットワークアドレスの対応が記述されている /etc/networks というファイルも存在することがある
そのホストのIPアドレスやサブネットマスクなどを設定するファイルは、
に記述する
そのホストで実行されているネットワークサービスとポート番号の対応は、/etc/services ファイルにTCPとUDP毎に記述する
IPアドレスやサブネットマスクなどの設定をDHCPサーバから動的に割り当てられるようにするには、
●名前解決の設定
ホスト名やドメイン名をIPアドレスへ変換する方法は、
などがあり、クライアントホストでどれを優先して名前解決を行うか設定するには、
/etc/host.conf ファイルか/etc/nsswitch.conf ファイルを編集する
etc/hosts ファイルを使って名前解決をする場合は、
etc/hosts ファイルにIPアドレス・ホスト名・ホストの別名の順番に記述する
DNSサーバのサービスを利用して名前解決をする場合は、
/etc/resolv.conf ファイルにドメイン名と利用するDNSサーバのIPアドレスを記述する
●PPPの概要と設定
PPP(Point-to-Point Protocol):
インターネットなどのWAN環境で2つの地点間を接続するために使われるプロトコル
電話回線とモデムを使ったダイアルアップ接続で使われるのが一般的
PPP接続を行う必要があるときに自動的にPPPデーモン(pppd)が起動される
PPPクライアント(接続しに行く側)からPPPサーバ(接続される側)へ接続するやり取りを自動化するには、chatスクリプトを利用する
PPP接続をする際、ユーザ認証をするには
のいずれかを使用する
これらの認証情報を参照するには、
をスーパーユーザ(root)権限で参照する
●ネットワーク設定の確認
コマンド | 説明 | 書式 | 主なオプション 補足 |
ifconfig | ネットワークインタフェース設定の確認 | ifconfig [インタフェース] [パラメータ] | netmask : サブネットマスクを指定 up: down : |
hostname | ホスト名の表示と設定 | hostname [ホスト名] | ホスト名を設定できるのは スーパーユーザのみ |
route | ルーティング情報の設定と表示 | route [オプション・キーワード] | -F : ルーティングテーブルを表示する -C : add : del : gw : |
●ネットワーク接続の確認
コマンド | 説明 | 書式 | 主なオプション 補足 |
ping | 目的のホストへのネットワーク接続を確認 | ping [オプション] ホスト/IPアドレス | -c 回数 : ICMPパケットの送信回数を指定 |
traceroute | 目的のホストへの経路を表示 | traceroute [ホスト/IPアドレス] | |
netstat | ネットワークに関する情報や ソケットを表示 ソケット: |
netstat [オプション] | -a : 接続待ちと接続待ちでないソケットを表示 -i
: -p : -r : |
●ネットワークツール
コマンド | 説明 | 書式 | 主なオプション 補足 |
telnet | 指定したホストへ接続する | telnet [ホスト/IPアドレス [ポート番号] ] | ホスト/IPアドレスを指定しないと 対話モードに入る ポート番号を指定しないと |
ftp | 指定したホストとファイル転送を行う 最近ではFTPよりも高機能な |
ftp [ホスト] 指定したホストに接続後、 |
FTPのサブコマンド ls ファイル : pwd : get ファイル : put ファイル : ascii またはbinary : quit : |