TCP/IP
- ネットワーク
コンピュータ間をケーブルや無線機能で接続したシステム
ローカルエリアネットワークとワイドエリアネットワーク
-
ローカルエリアネットワーク(LAN)
学校や自宅などの閉じられた複数のコンピュータを相互接続したネットワーク -
ワイドエリアネットワーク(WAN)
離れた場所にあるLANとLANを結んだネットワーク
LANはコンピュータ同士をLANケーブルで結び、WANはLAN同士を通信回線で結ぶ
IP
インターネットプロトコル
ネット上でコンピュータ同士が決まった手順でデータを送受信する
IPは送り先とデータの情報からなるパケットを送るだけ
pingコマンドでデータが送信され、データを受けた機器から確認メッセージが返ってくるか確認できる
ping ターゲット
ターゲット(ホスト名やIPアドレス)にデータを送り、返答が来るまでの時間を表示
-cオプションをつけて、pingを発行する回数を指定することも可能
pingコマンドは「Ctrl」Cを押すと止まる
例外として、セキュリティ対策としてpingに応答しない場合もある
TCPとUDP
-
TCP(トランスミッション コントロール プロトコル)
IPの仕組みでデータを送信
TCPはデータのまとまりを1つ受け取るとデータ破損などのエラーを確認し、不備があれば
データの再送を依頼する -
UDP(ユーザ データグラム プロトコル)
エラー確認やデータの再送依頼は行わない
その分データを高速に送信可能
IPアドレス
データの送受信にはお互いの場所を示すアドレスが必要
- IPv4
プロトコルの種類
他にもIPv6がある
4バイト、16進数8桁で表せるアドレス
16進数 C0 A8 01 64
2進数 11000000 10101000 00000001 01100100
10進数 192 168 1 100
このように16真数から10真数に変換しつないで表示する
IPアドレスのクラス
IPアドレスは組織に対して割り当てられたもので、範囲が連続したアドレスになっている
ホストアドレスのホスト部の前ビットが0のアドレスはネットワーク自身のアドレスである
- ブロードキャストアドレス
ホスト部の前ビットが1のアドレスはネットワーク内すべてに届く特殊なアドレスのこと
コンピュータに割り当てることはできない
経路の確認
LANとLANまたはLANとWANをつなげる場合には、ゲートウェイ(ルーター)が接続される
自分のコンピュータから通信先のコンピュータまでに仲介する複数のゲートウェイを調べるには
traceroute ターゲット
tracepath ターゲット
ターゲットや途中のゲートウェイへデータを送り、ゲートウェイから返答が返ってくるまでの時間を表示する
ルーティングの確認
ip route [オプション]
ss [オプション]
ネットワークの状況を表示するためのコマンド
データの流れる方向を調べることができる
オプション | 意味 |
---|---|
-V | バージョン情報 |
-a | すべてのソケットを表示 |
-n | サービス名に変換せずに表示 |
-r | ホスト名を名前解決 |
-p | ソケットを使用しているプロセスIDを表示 |
-s | 集約したソケット情報 |
-4 | IPv4のソケットのみ表示、他のオプションと併用 |
-6 | IPv6のソケットのみ表示、他のオプションと併用 |
-t | TCPのソケットのみ表示 |
-u | UDPのソケットのみ表示 |
-e | 詳細なソケット情報を表示 |
ルーティングの変更
ip [オプション] r[oute] {コマンド|help}
または
route
ip route {add|del} ターゲット/サブネット via ゲートウェイアドレス dev インターフェース
route add [-net|-host] ターゲット [netmask サブネット] [インタフェース]
コマンドの実行には管理者権限が必要
ポート番号
TCP/IPで通信を行う場合、IPアドレスに加えサービスごとにポート番号を使う
ポート番号がどのサービスに対応するかは規格として取り決められている
一般的なサービスはetc/servicesファイルに書かれている
ポート番号 | サービス名 |
---|---|
20 | FTP(制御) |
21 | FTP(データ) |
22 | SSH |
23 | Telnet |
25 | SMTP |
53 | DNS |
80 | HTTP |
443 | HTTPS |
ssコマンドでLinuxのサービスやネットワークの状況を表示できたり、提供されているサービスを調べることができる
たとえば
& ss -at
State Recv-Q Send-Q Local Address:Port peer
Address:Port
LISTEN 0 128 *:sunrpc *:*
....
(略)
ssコマンドにオプションの-aと-tをつけてTCPサービス一覧を表示できる
参考書籍
『Linux標準教科書 v3.0.2』 LPI-Japan 2019年