IPアドレスむずすぎて復習メインでした。
<学習内容>
ネットワーク層(インターネット層)のIP以外の機能
○ICMP
・ネットワーク上で、通信状況の確認や通信エラー時のメッセージの送信を行うためのプロトコル。Pingコマンドは、ICMPのエコー要求とエコー応答を使って、宛先の機器への疎通を確認する。
〇ARP
・IPアドレスからMACアドレスを調べるプロトコル。ARP要求をブロードキャストで送信し、ARP応答を受信する。受信し、判明したIPアドレスとMACアドレスの関係性をARPテーブルに保存する。
・ルータを経由する場合(宛先が異なるネットワークの場合)は、まずデフォルトゲートウェイのMACアドレスを取得する。その後、送信元から、宛先機器のIPアドレスとルータのMACアドレスが記載されたパケットが送られ、ルータが転送するときにMACアドレスが宛先機器のアドレスに書き換えられる。
○TCP
・トランスポート層のコネクション型のプロトコル。アプリケーション層から渡されたデータにTCPヘッダを付与して、TCPセグメントとしてネットワーク層に渡す。TCPヘッダには、送信元ポート番号、宛先ポート番号、シーケンス番号、ACK番号、オフセット、予約、フラグ、ウィンドウサイズ、チェックサム、緊急ポインタ、オプションが含まれる。TCPセグメントで1回に送信できるデータは上限があり、MSS(maximum segment size)という。このMSSに合わせてデータを分割して送信する。データの送信後、宛先から確認応答が送られてこない場合は、RTOだけ待機し、再送する。
・3ウェイハンドシェイク
接続の確立のために行う。
SYNフラグ:TCP接続の開始を要求するために使用。
ACKフラグ:相手からの要求を承認して応答することを示す。
シーケンス番号:送信データの順序、ACK番号はどこまで受信したかを示す。
・ウィンドウ制御
ウィンドウというバッファ領域を用意し、余裕があるぶんだけデータをまとめて送信することで効率を上げる。ウィンドウサイズを小さくすることでデータ量を制限することをフロー制御という。
○UDP
コネクションレス型のプロトコル。相手の状態にかかわらずデータを送信する。
・UDPヘッダ
上位層からきたデータにUDPヘッダを付加し、UDPデータグラムとして下位層へ渡す。UDPヘッダを除いたデータの部分をUDPペイロードという。UDPヘッダはTCPヘッダよりもsizeが小さく、送信元ポート番号、宛先ポート番号、データグラム長、チェックサムが含まれる。
・接続の確立などはなく、変だの大きさは8バイト(基本的なTCPヘッダは20バイト)。信頼性の確保を行わないベストエフォートな通信。反対に、サービスの保証を行う形態をギャランティ型という。
○ポート番号
アプリケーション層で利用されるプロトコルを識別するための番号。
・TCP
20:FTP
21:FTP
22:SSH
23:TELNET
25:SMTP
53:DNS
80:HTTP
110:POP3
143:IMAP
443:HTTPS
・UDP
53:DNS
67:DHCP
68:DHCP
69:TFTP
123:NTP