📌

TCP/IPの基礎

2021/05/08に公開

初めに

こちらの記事は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