📌
TCP/IPの基礎
初めに
こちらの記事はLPIC Level1の範囲内での備忘録になります。
トランスポート層
TCP(Transmission Controle Protocol)
信頼性の高い通信を実現するためのコネクション型のプロトコル。相手に通信が正しく届いているかを確認しながら通信するため、信頼性が高くなる。TCPの代表的な機能は以下の二つ。
- パケット通信に失敗した時に、パケットを再転送する
- パケットの伝送順番を整列させる
UDP(User Datagram Protocol)
データの転送速度に重点をおいたコネクションレス型のプロトコル。相手に通信が正しく届いているかを確認する機能がないので、その分通信速度が速くなっている。主に、音声や映像などのストリーミング配信に利用される。
IP層
IPv4
Internet Protocol version4と呼ばれるIP層で最も一般的なプロトコル。32bitで構成される。
IPアドレスのクラス
クラス | IPアドレスの範囲 | サブネット |
---|---|---|
A | 0.0.0.0~127.255.255.255 | 255.0.0.0 |
B | 128.0.0.0~191.255.255.255 | 255.255.0.0 |
C | 192.0.0.0~223.255.255.255 | 255.255.255.0 |
プライベートアドレス
ローカルネットワーク内で自由に使うことのできるIPアドレス
クラス | IPアドレスの範囲 |
---|---|
A | 10.0.0.0~10.255.255.255 |
B | 172.16.0.0~172.31.255.255 |
C | 192.168.0.0~192.168.255.255 |
IPv6
Internet Protocol version6と呼ばれるIPv4の後継プロトコル。IPv4は32bitで構成されるが、インターネットに接続するホスト数が激増したため、128bitまでビット数を拡張した。
IPv6の表記には以下のルールがある。
- 各ブロックの先頭の「0」は省略できる
- 「0」が連続するブロックは省略して「::」と表記できる(ただし一箇所だけ)
2001:0bd8:0000:0000:0001:2345:6789:abcd
↓
2001:0bd8:::1:2345:6789:abcd
IPv6アドレスの分類
IPv6アドレスの分類 | IPv6表記 |
---|---|
ローカルループバックアドレス | ::1/128 |
グローバルユニキャストアドレス | 2000::/3 |
リンクローカルユニキャストアドレス | fe80::/10 |
マルチキャストアドレス | ff00::/8 |
ICMP(Internet Control Massage Protocol)
エラーメッセージや制御メッセージを伝送するコネクションレス型のプロトコル。
ポート
送信元のアプリケーションや、送信先のアプリケーションの識別するためにポート番号が使用される。
ポート番号は使用用途によって範囲が定められている。
名称 | ポート番号 | 備考 |
---|---|---|
ウェルノウンポート | 0~1023 | システムやroot権限をもつプロセスのポート番号 |
ユーザポート | 1024~49151 | よく使用されるサービスに提供されるポート番号 |
エフェメラルポート | 49152~65535 | 自由に使用可能なポート番号 |
/etc/services
ポートと各サービスの紐付けは「/etc/services」に記載されている。
[root@sandbox ec2-user]# head -50 /etc/services | grep -Ev '^#'
tcpmux 1/tcp # TCP port service multiplexer
tcpmux 1/udp # TCP port service multiplexer
rje 5/tcp # Remote Job Entry
rje 5/udp # Remote Job Entry
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users
systat 11/udp users
daytime 13/tcp
daytime 13/udp
qotd 17/tcp quote
qotd 17/udp quote
msp 18/tcp # message send protocol (historic)
msp 18/udp # message send protocol (historic)
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
ftp-data 20/tcp
ftp-data 20/udp
ftp 21/tcp
ftp 21/udp fsp fspd
ssh 22/tcp # The Secure Shell (SSH) Protocol
ssh 22/udp # The Secure Shell (SSH) Protocol
telnet 23/tcp
telnet 23/udp
Discussion