ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
トランスポート層とは
トランスポート層は、TCP/IP の階層モデルにおいてアプリケーション層と下位のインターネット層(ネットワーク層)をつなぐ役割を担う層です。OSI 参照モデルでは第4層に位置づけられ、TCP/IP の 4階層モデルでは上から数えて第2層(下から数えて第3層)に相当します。「どのホストの、どのアプリに、どんな品質で届けるか」を制御するレイヤです。
階層モデルの中の位置づけ
| TCP/IP 4階層 | OSI 7階層 | 主なプロトコル |
|---|---|---|
| アプリケーション層 | 第5〜7層 | HTTP / HTTPS / SMTP / DNS / FTP |
| トランスポート層 | 第4層 | TCP / UDP |
| インターネット層 | 第3層 | IP / ICMP / ARP |
| ネットワークインターフェース層 | 第1〜2層 | Ethernet / Wi-Fi |
トランスポート層が担う 4つの仕事
1. エンドツーエンドの通信
IP 層は「ホストからホスト」までしか面倒を見ません。トランスポート層は同じホスト内で動いている多数のアプリ(Web ブラウザ/メールクライアント/SSH)の中から「どのアプリ宛なのか」を識別する役目を担います。
2. ポート番号によるアプリの多重化
送信元と宛先のそれぞれに 16 ビット(0〜65535)のポート番号を割り当てることで、同じ IP アドレス上の複数アプリを区別します。代表的なウェルノウンポートは以下の通りです。
| ポート | プロトコル | 用途 |
|---|---|---|
| 20 / 21 | TCP | FTP(データ/制御) |
| 22 | TCP | SSH |
| 25 | TCP | SMTP |
| 53 | TCP/UDP | DNS |
| 80 | TCP | HTTP |
| 123 | UDP | NTP(時刻同期) |
| 443 | TCP | HTTPS |
3. 信頼性の確保(TCP)
TCP は「届いたか」「順番が正しいか」「壊れていないか」を保証します。3 ウェイハンドシェイクで接続を確立し、シーケンス番号と ACK で再送制御・順序制御・フロー制御を行います。
4. 軽量で高速な転送(UDP)
UDP は接続確立も再送もしない最小限のプロトコルで、ヘッダが 8 バイトと小さく遅延も小さいのが特徴です。リアルタイム性が要求される音声・動画ストリーミング、ゲームの通信、DNS の問い合わせなどで使われます。
TCP と UDP の比較
| 項目 | TCP | UDP |
|---|---|---|
| 接続方式 | コネクション型(3 ウェイハンドシェイク) | コネクションレス |
| 信頼性 | あり(再送・順序保証) | なし |
| 速度・オーバーヘッド | 遅い・大きい | 速い・小さい |
| ヘッダサイズ | 20 バイト〜 | 8 バイト |
| 用途 | HTTP / SMTP / SSH / FTP | DNS / NTP / VoIP / 動画ストリーム |
ソケット:IP アドレスとポートの組
送信元(src IP : src port)と宛先(dst IP : dst port)の 2 つのペア、合計 4 つの値で 1 つの TCP/UDP 通信は一意に識別されます。これを「ソケット」または「5 タプル(プロトコル含む)」と呼びます。同じサーバの 80 番ポートに対して何千ものブラウザから同時接続できるのは、クライアント側ポートがそれぞれ異なるためです。
動作確認に使えるコマンド
# 開いているポートを確認(Linux)
$ ss -tnl
# 特定ホストのポートが開いているかチェック
$ nc -zv example.com 443
# 通信を観察
$ tcpdump -nn -i eth0 port 80関連記事
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 Spring Frameworkのアノテーション一覧
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- djangoにおけるMVCアプリケーション実装例 2026-08-07 17:15:57
- PHPでのファイルアップロード方法|multipart/form-dataと$_FILES 2026-08-07 17:15:57
- Scratchのアカウントの作り方|メールアドレスとユーザー名の登録手順 2026-08-07 17:15:57
- PHP $_SERVERとは|DOCUMENT_ROOT・PHP_SELFなど主な要素 2026-08-07 17:15:57
- Bluetoothとは|仕組み・BLEとClassicの違い・用途 2026-08-07 17:15:57
- Spring Bootのテスト入門|@SpringBootTestとJUnitでの単体・結合テスト 2026-08-07 17:15:57
- データベースとは?RDB / NoSQL / SQL の基礎 2026-08-07 17:15:56
- APIキー取得方法 2026-08-07 17:15:56
- Scratch 作品の公開方法 2026-08-07 17:15:56
- 【PHPフレームワーク】Laravelの使い方 2026-08-07 17:15:56
- Google OAuth 2.0 認証の実装方法 2026-08-07 17:15:56
- Java とは?言語仕様・JVM・主要フレームワーク一覧 2026-08-07 17:15:56
- インストール(eclipseプラグイン) 2026-08-07 17:15:56
- Spring Frameworkの使い方 2026-08-07 17:15:56
- インストール方法(Windows版) 2026-08-07 17:15:56
コメントを削除してもよろしいでしょうか?