ネットワークについて
通信上の取り決め、通信規約のことをプロトコルという。最も有名なプロトコルはTCP/IP。
●TCP(Transmission Control Protocol)
ネットワーク通信において信頼性を確保するためのプロトコル。TCP/IPではパケットというデータを細切れ分割した通信が届いたかどうかを確認し、届いてなければ再送するなど、さまざまな方法で信頼性向上を図っている。
●IP(Internet Protocol)
ネットワーク上のIPアドレスを規定し、パケットが伝送されるネットワーク経由の制御を担当する。
※TCP/IPではコンピュータやネットワーク機器にIPアドレスを割り当てる
※IPにはIPアドレスが32ビットのIPv4とIPアドレスが128ビットのIPv6がある。
●UDP(User Datagram Protocol)
TCPがパケットの到達を確認しながら通信するのに対して、UDPはその様な確認は行わない。そのため、通信の信頼性は劣るが、スピーディな伝送が期待されている。
●ICMP(Internet Control Message Protocol)
通信で発生したエラーを伝えるメッセージや、通信の制御に関するメッセージなどを伝送するプロトコル。
・IPアドレスはネットワーク部とホスト部から成り立っている。32ビットのIPアドレスのうち、どこまでがネットワーク部でどこからがホスト部なのかという境界線は、サブネットマスクを使って求めることができる。
・ネットワーク部が同じのIPアドレスは1つのネットワークに属している。このネットワークの範囲をネットワークセグメントという。同じネットワークに属しているコンピュータ同士は、直接通信を行うことが可能。
●プライベートアドレスとグローバルアドレス
インターネット上で使われるIPアドレスは重複しない様にICANNという非営利団体が管理しており、ISPなどを通じてユーザーに割り当てられる。これをグローバルアドレスという。グローバルアドレスは勝手に使ってはいけない。
プライベートアドレスは、企業内LAN内で自由に利用できるIPアドレスの範囲が決められている。
・IPアドレスはTCP/IPネットワーク上のコンピュータ(ホスト)識別に使われるが、送信元や送信先アプリケーションを識別するためにポート番号が使われる。
ネットワークサービスで使われる代表的なポート番号は標準化されていて、これをウェルノウンポートといい、0番から1023番までが予約されている。
●/etc/hostnameファイル
ホスト名を設定する。ホスト名はLinuxにマシンにつける名前。
●ホスト名の確認
hostname
●/etc/hostsファイル
IPアドレスとホスト名(コンピュータ名)との対応を記述する。ここで設定すると、IPアドレスを指定する代わりにホスト名をコマンドの引数や設定ファイルの値として指定できる様になる。
●/etc/resolv.confファイル
ホストが利用するDNSサーバーを指定する。DNSサーバーとは、ホスト名とIPアドレスの相互変換を処理するサーバー。
●ネットワークインターフェイスの情報を確認
ip address show [ネットワークインターフェイス名]
●ネットワークインターフェイスの情報を確認(古いシステムの場合)
ifconfig [ネットワークインターフェイス名]
●ポートの確認
ss [オプション]
●ポートの確認(古いシステムの場合)
netstat [オプション]
オプション
-a 全てのソケット(接続)情報を表示
-l サーバが開いているポート表z
-t TCPポートのみ表示
●ルーティングテーブルを表示
route
※ip route show でもルーティングテーブルを表示できる
●hostコマンド
DNSサーバに問い合わせを行い、指定したホスト名に対応するIPアドレスを確認できる。
host ホスト名 または IPアドレス
●sshコマンド
ネットワークを経由した他のホストとの通信を安全に行うプロトコル。sshコマンドを使うとSSHプロトコルを使ってリモートホストに接続し、暗号化された安全な通信ができる。
ssh [ユーザ名@]接続先ホスト名 または IPアドレス
●pingコマンド
指定したホストに向けてICmPパケットを送信する。もしホストが動作していれば反応が返ってくるため、そのホストが動作しているか・ネットワークにつながっていることが確認できる。
ping 接続先ホスト名 または IPアドレス
※Ctrl+Cキーを押すまでICMPパケットは送信され続ける。
●ログ
Linuxには、ログを集約して管理するsyslogという仕組みがある。CentOSでは、rsyslogというシステムプログラムによってログが集約され、ログファイルに保存される。
ログファイルは/var/logディレクトリ以下に保存される。多くはlessコマンドで閲覧できたり、grepコマンドで特定のキーワードを検索できる。
●dmesg
システム起動時のメッセージが確認できる。