7月30日(木)1コマ目
今日、やったこと TCP、UDPのポート TCPのシーケンス番号、確認応答番号 前回のテストについて 全般的によくできていました。 が、ホスト4でのルーティングを間違っている方が数名おられました。 今日のホワイトボード ポート番号 ポート番号はTCP、UDPが上位層(4階のプロトコル)を特定するために使う識別番号。 〇サーバー側 TCP、UDPともにウェルノウンポートでクライアントからのリクエストを待つ。 〇クライアント側 UDPはウェルノウンポートを使う。 TCPは空いているポート番号を使うケースが多い。 図 TCP、UDPが使うポート番号 通信はクライアント=>サーバーで始まるケースが多いため、 サーバー側は決められたポート番号で待つ必要がある クライアント側利用ポートはTCPヘッダの送信元ポート番号をチェックすればいい のようにUDPと異なる。 図 そもそも「ポート」は TCPの役割 HTTP(ホームページデータのやり取り用プロトコル)、SMTP(メールデータのやり取り用プロトコル)のように人が扱うデータを担当。よってサイズが大きく、確実に送り届けなければならない。 UDPの役割 TCPとは真逆の小サイズ、定期的にやり取りを行っているデータを担当。小サイズで定期的にやり取りしているデータのため、1つくらい紛失してもOK。 より確実に届けるために TCPは大きめサイズのデータを確実に届けるために、以下を行っている。 TCPヘッダのシーケンス番号 TCPヘッダのシーケンス番号には このパケットのデータは何バイト目 が書き込まれる。 受信側は受信パケットのシーケンス番号を見ることでこのパケットのデータは何バイト目かがわかる。分割して送信される場合、ここをチェックして組み立てなおすことができる。 図 TCPヘッダのシーケンス番号 TCPヘッダの確認応答番号 TCPヘッダの確認応答番号には、 次はここから送って が書き込まれる。 送信側は受信側から送信されるパケットの確認応答番号を見ることで、何バイト目まで受信できているかがわかる。 図 TCPヘッダの確認応答番号