ネットワーク講座-TCP/IPプロトコル
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[ネットワーク講座]] > TCP/IPプロトコル
#norelated
#contents
* TCP/IPネットワークアーキテクチャとは? [#ka1d22e1]
TCP/IP[[ネットワークアーキテクチャ]]とは、[[TCP]]や[[IP]]...
TCP/IPネットワークアーキテクチャは、4つの階層から成ってい...
| [[レイヤ]] | コンピューター内部の対応 |h
| [[アプリケーション層]] | アプリケーション(Webブラウザ...
| [[トランスポート層]] | OS |
| [[インターネット層]] |~|
| [[ネットワークインターフェース層]] | [[NIC]](Network I...
CENTER:http://program.sagasite.info/wiki/index.php?plugin...
* OSI参照モデルとの対応は? [#ed468a08]
| [[OSI参照モデル]] | [[プロトコル]] | [[TCP/IP]] |h
| [[アプリケーション層]] | [[HTTP]]、[[DNS]]、[[DHCP]]、[...
| [[プレゼンテーション層]] |~|~|
| [[セッション層]] |~|~|
|~|BGCOLOR(#FFCCCC):[[TCP]]、[[UDP]] |BGCOLOR(#FFCCCC):[[...
| [[トランスポート層]] |~|~|
| [[ネットワーク層]] |BGCOLOR(#FFCCCC):[[IP]]v4/v6、[[ARP...
| [[データリンク層]] | [[イーサネット]]、[[トークンリング...
| [[物理層]] |~|~|
*** ネットワークインターフェース層とは? [#pe09a0fc]
TCP/IPの[[ネットワークインターフェース層]]は、[[OSI参照モ...
ネットワークインターフェース層に含まれる[[プロトコル]]は、
- [[LAN]]のプロトコル:[[イーサネット]]、[[トークンリング...
- [[WAN]]のプロトコル:[[フレームリレー]]、[[ATM]]、[[PPP...
です。
TCP/IPでは、ネットワークインターフェース層の仕様を特に規...
つまり、TCP/IPのプロトコルは、ネットワークインターフェー...
*** インターネット層とは? [#sfdfd0e2]
TCP/IPの[[インターネット層]]は、[[OSI参照モデル]]の[[ネッ...
インターネット層には、TCP/IPの中心的な[[プロトコル]]であ...
IPの他に、[[ARP]]、[[ICMP]]、[[OSPF]]などのプロトコルも含...
*** トランスポート層とは? [#f3c66d55]
TCP/IPの[[トランスポート層]]は、[[OSI参照モデル]]の[[トラ...
トランスポート層には、[[TCP]]と[[UDP]]の二つのプロトコル...
*** アプリケーション層とは? [#tf4cdea3]
TCP/IPの[[アプリケーション層]]は、[[OSI参照モデル]]の[[セ...
アプリケーション層には、[[HTTP]]、[[DNS]]、[[DHCP]]、[[SN...
* プロトコルの連携によるデータの流れは? [#n6061758]
例えば、WebサーバへアクセスしてWebサイトを見る場合、次の...
| [[レイヤ]] | [[プロトコル]] |h
| [[アプリケーション層]] | [[HTTP]] |
| [[トランスポート層]] | [[TCP]] |
| [[インターネット層]] | [[IP]] |
| [[ネットワークインターフェース層]] | LANやWANのネットワ...
CENTER:&ref(zu_02.png);
>http://ascii.jp/elem/000/000/424/424788/index-2.html
CENTER:&ref(tcpip_encapsulation.jpg);
> http://www.hndtc.co.jp/p090/p090_004_tcpip.html
CENTER:&ref(network2-7.gif);
> http://takaq1.plala.jp/contents/jitaku_server/network/n...
CENTER:&ref(fig2-6.png);
> http://togodb.seselab.org/pukiwiki/Network/%B3%AC%C1%D8...
* 階層ごとのデータの名称は? [#s6daf2f3]
TCP/IPネットワークアーキテクチャでは、各階層ごとに、デー...
| [[レイヤ]] | データの名称 |h
| [[アプリケーション層]] | メッセージ |
| [[トランスポート層]] | セグメント/[[データグラム]] |
| [[インターネット層]] | [[パケット]] |
| [[ネットワークインターフェース層]] | [[フレーム]] |
* インターネット層のプロトコルは? [#if8d2080]
** (1) IPとは? [#wd40a1ee]
CENTER:&size(50){IP = &color(red,pink){Internet Protocol}...
[[IP]](Internet Protocol)は、[[TCP/IP]]の名前の由来にも...
IPによって[[エンドツーエンド]]の通信ができます。
IPによって運ばれるデータを、IPパケットと呼びます。
IPパケットには、[[IPヘッダ]]が含まれています。
IPヘッダの情報によって、[[ルータ]]が適切な[[ルーティング]...
CENTER:http://program.sagasite.info/wiki/index.php?plugin...
>http://www.atmarkit.co.jp/fnetwork/tokusyuu/11mpls/mpls0...
ルータの基本的な動作。
ルータにパケットが到着するたび、ルーティング・プロトコル...
*** IPv4ヘッダフォーマットとは? [#l19914e3]
&color(,pink){ 詳細 → [[IPヘッダ]] };
IP[[パケット]]は、[[IPヘッダ]]とデータ(IP[[ペイロード]]...
|>|BGCOLOR(pink):CENTER: IPパケット |
| IPヘッダ | IPペイロード |
- IPv4のヘッダは、&color(red){12のフィールド};と&color(re...
- オプションを含まない、12のフィールドだけのIPヘッダ長は...
- オプションが追加された場合でも、必ず&color(red){4バイト...
- IPヘッダ長は、&color(red){最大で60バイト};です。=オプ...
** (2) ARPとは? [#rafa2924]
&color(,pink){ 詳細 → [[ARP]] };
[[ARP]] (Address Resolution Protocol)は、[[イーサネット]]...
- [[TCP/IP]]では[[IPアドレス]]
- [[LAN]]では[[MACアドレス]]
を利用して、通信を行うが、この二つのアドレスはお互いに関...
- 関連していない&color(red){IPアドレスとMACアドレスを対応...
- ARPによって、(MACアドレスの)アドレス解決を行い、イー...
- ARPは、ARPリクエストとARPリプライによって、目的のIPアド...
| レイヤー | | アドレス |h
| L3 | [[TCP/IP]]、[[ARP]] | [[IPアドレス]] |
| L2 | [[イーサネット]]などの[[LAN]] | [[MACアドレス]] |
*** GARPとは? [#cf6c4203]
&color(,pink){ 詳細 → [[GARP]] };
自分自身のIPアドレスに対する[[ARP]]を、Gratuitous ARP([[...
「Gratuitous」とは「余計な」という意味。
GARPの目的は、主に次の2つ。
- IPアドレスの重複検出
- ARPキャッシュの更新
*** RARPとは? [#ib4491c2]
&color(,pink){ 詳細 → [[RARP]] };
Reverse ARPのこと。[[ARP]]と逆の働きをする。
- 機器によっては、電源をオフにすると[[IPアドレス]]を保持...
- 機器の起動時に、自動的にIPアドレスを取得するためのプロ...
- &color(red){MACアドレスからIPアドレスを取得する。};
- RARPの動作には、RARPサーバの用意が必要。
あらかじめ、RARPサーバにMACアドレスに対応するIPアドレスを...
- RARPクライアントがRARPサーバから、自分のMACアドレスに対...
** (3) ICMPとは? [#k2037662]
&color(,pink){ 詳細 → [[ICMP]] };
- [[ICMP]] = Internet Control Message Protocol インターネ...
- [[IP]]のエラーメッセージや制御メッセージを転送するプロ...
- [[OSI参照モデル]]でいえば、L3([[ネットワーク層]])のプ...
- [[TCP/IP]]でいえば、[[インターネット層]]のプロトコル。
| 機能 | コマンド | 内容 |h
| エラーレポート機能 | [[traceroute]]| どのような経路を通...
| 診断機能 | [[ping]] | 目的の相手と通信できるか=接続性...
* トランスポート層のプロトコルは? [#vfba827d]
** (1) ポート番号とは? [#b2ccfa96]
&color(,pink){ 詳細 → [[ポート番号]] };
- [[ポート番号]]とは、[[TCP/IP]]プロトコルスタックのアプ...
- [[TCP]]または[[UDP]]の[[ヘッダ]]に記述され、上位のアプ...
- [[IPアドレス]]によって目的のホストまで届けたら、次に[[...
ポート番号には、
+ [[ウェルノウンポート>ウェルノウンポート番号]](0~1023)
+ [[ランダムポート>ランダムポート番号]](1024~65535)
の二種類がある。
ウェルノウンポートは、RFC1700で定義されている。
** (2) TCPとは? [#cad96580]
&color(,pink){ 詳細 → [[TCP]] };
- TCP = Transmission Control Protocol
- [[TCP/IP]][[ネットワークアーキテクチャ]]における[[トラ...
CENTER:http://program.sagasite.info/wiki/index.php?plugin...
TCPの特徴
+ [[ポート番号]]を使用して、適切なアプリケーションにデー...
+ [[コネクション型プロトコル]]である。
+ [[3ウェイハンドシェイク]]で、TCP[[コネクション]]を確立...
+ 送信データに[[シーケンス番号]]を付けて、データの[[順序...
+ 送信データの確認応答がない場合は、エラー発生とみなして...
+ ネットワークの混雑度合いに応じて、送信するデータ量を調...
*** TCPヘッダのフォーマット [#k6e53864]
&color(,pink){ 詳細 → [[TCPヘッダ]] };
CENTER:http://program.sagasite.info/wiki/index.php?plugin...
- 送信元ポート番号・宛先ポート番号
送信元の[[ポート番号]]、宛先の[[ポート番号]]を格納する。
- [[シーケンス番号]]
送信するデータの順序を示す32ビットの番号。
→ [[順序制御]]
- ACK番号
データを受信した確認通知と、次に送信を期待するシーケンス...
送信データに対する[[ACK]]が返ってこない場合は、再送する。
→ [[再送制御]] (エラー制御)
- データオフセット
[[TCPヘッダ]]の長さ(ヘッダ長)を示す。
- 予約
未使用領域。
- フラグ
6ビットのフィールド。
TCPセグメントの種類を示すビットが格納される領域。
| フラグ | 意味 | 動作 |h
| [[URG]] | 緊急 | 優先的に送信する必要があるデータを含ん...
| [[ACK]] | 応答 | [[コネクション]]を確立する最初のTCPセ...
| [[PSH]] | 強制転送 | 受信したデータをバッファに貯めず、...
| [[RST]] | 強制終了 | [[コネクション]]の強制終了を要求す...
| [[SYN]] | 同期 | 接続要求に使う。SYN=1のTCPセグメント...
| [[FIN]] | 送信終了 | [[コネクション]]の正常終了を要求す...
- [[ウィンドウサイズ]]
受信側の一度に受信可能なデータ量。
送信側に通知する。
送信側は、ウィンドウサイズを超えないように、データ量を調...
→ [[フロー制御]]
- チェックサム
[[TCPヘッダ]]とデータ部分([[ペイロード]])のエラーチェッ...
- アージェントポインタ
[[URG]]フラグが立っているときのみ有効で、緊急データの開始...
*** [[コネクション]]の確立 [#b6f4e47f]
CENTER:http://program.sagasite.info/wiki/index.php?plugin...
~
| TCPセグメント(送信数) | 送信方向 | [[SYN]] | [[ACK]] |h
| TCPセグメント1 | A → B | 1 | 0 |
| TCPセグメント2 | B → A | 1 | 1 |
| TCPセグメント3 | A → B | 0 | 1 |
- TCPセグメント1:AからBへの接続要求。
これは最初のTCPセグメントで、それ以前の受信確認がないため...
- TCPセグメント2:BからAへの接続要求(SYN=1)+TCPセグメ...
- TCPセグメント3:AからBへのTCPセグメント2に対する応答(A...
3回の挨拶が必要なので、[[3ウェイハンドシェイク]]と呼ばれ...
*** [[コネクション]]の切断 [#ca89cfad]
CENTER:http://program.sagasite.info/wiki/index.php?plugin...
~
| TCPセグメント(送信数) | 送信方向 | [[FIN]] | [[ACK]] |h
| TCPセグメント1 | A → B | 1 | 1 |
| TCPセグメント2 | B → A | 0 | 1 |
| TCPセグメント3 | B → A | 1 | 1 |
| TCPセグメント4 | A → B | 0 | 1 |
- TCPセグメント1:AからBへの切断要求。
- TCPセグメント2:BからAへの応答。
- TCPセグメント3:BからAへの切断要求。
- TCPセグメント3:AからBへの応答。
双方向に形成しているTCP[[コネクション]]の切断は、片方向ず...
AとBがお互いに[[FIN]]フラグ=1で、相手に対して切断要求を...
FINによる正常終了ではなく、一方の都合で強制終了したい場合...
** (3) UDPとは? [#e2482ebc]
&color(,pink){ 詳細 → [[UDP]] };
- [[UDP]] = User Datagram Protocol の略。
- [[TCP]]と同じく[[TCP/IP]]ネットワークアーキテクチャの[[...
- UDPは、[[コネクションレス型プロトコル]]で、上位のアプリ...
*** UDPヘッダのフォーマット [#v45904ca]
- [[TCPヘッダ]]は20バイトだが、UDPヘッダは8バイト。
[[オーバーヘッド]]が小さいので高速。
CENTER:http://program.sagasite.info/wiki/index.php?plugin...
- 送信元ポート番号・宛先ポート番号
送信元の[[ポート番号]]、宛先の[[ポート番号]]を格納する。
- データグラム長
- チェックサム
*** UDPの用途 [#q6a1192b]
| 用途 | 事例 |h
| リアルタイム性のあるデータを転送 | [[VoIP]](IP電話) |
| 複数の相手に同じデータを転送 | ストリーミング(テレビ会...
| 少量のデータで、信頼性を必要としない転送 | [[DNS]] |
- [[TCP]]は、1対1の通信([[ユニキャスト]])しかできない。
- [[UDP]]は、1対多の通信([[マルチキャスト]]、[[ブロード...
*** TCPとUDPの信号名 [#adad47c2]
| [[プロトコル]] | プロトコルで扱われる信号の呼び名 |h
| [[TCP]] | セグメント |
| [[UDP]] | [[データグラム]] |
* アプリケーション層のプロトコルは? [#k6b9cd81]
[[TCP]]や[[UDP]]の上位層([[アプリケーション層]])で働く...
- [[HTTP]] (Hypertext Transfer Protocol ハイパーテキスト...
Webアクセスを行うためのプロトコル
TCPのポート番号は80を使用
- [[SMTP]] (Simple Mail Transfer Protocol 簡易メール転送...
電子メールを送信するためのプロトコル
TCPのポート番号は25を使用
- [[POP]] (Post Office Protocol)
電子メールを受信するためのプロトコル
TCPのポート番号は、POP2では109、POP3では110を使用
- [[IMAP]] (Internet Message Access Protocol)
電子メールを受信するためのプロトコル
TCPのポート番号は、IMAP2とIMAP4では143、IMAP3では220を使用
- [[DHCP]] (Dynamic Host Configuration Protocol)
[[TCP/IP]]で通信を行うために必要な情報=[[IPアドレス]]、[...
UDPのポート番号67、68を使用
- [[DNS]] (Domain Name System)
ホスト名とIPアドレスの対応付けを行うプロトコル
TCP/UDPのポート番号53を使用
- [[FTP]] (File Transfer Protocol)
ファイル転送を行うためのプロトコル
TCPのポート番号20、21を使用
終了行:
[[ネットワーク講座]] > TCP/IPプロトコル
#norelated
#contents
* TCP/IPネットワークアーキテクチャとは? [#ka1d22e1]
TCP/IP[[ネットワークアーキテクチャ]]とは、[[TCP]]や[[IP]]...
TCP/IPネットワークアーキテクチャは、4つの階層から成ってい...
| [[レイヤ]] | コンピューター内部の対応 |h
| [[アプリケーション層]] | アプリケーション(Webブラウザ...
| [[トランスポート層]] | OS |
| [[インターネット層]] |~|
| [[ネットワークインターフェース層]] | [[NIC]](Network I...
CENTER:http://program.sagasite.info/wiki/index.php?plugin...
* OSI参照モデルとの対応は? [#ed468a08]
| [[OSI参照モデル]] | [[プロトコル]] | [[TCP/IP]] |h
| [[アプリケーション層]] | [[HTTP]]、[[DNS]]、[[DHCP]]、[...
| [[プレゼンテーション層]] |~|~|
| [[セッション層]] |~|~|
|~|BGCOLOR(#FFCCCC):[[TCP]]、[[UDP]] |BGCOLOR(#FFCCCC):[[...
| [[トランスポート層]] |~|~|
| [[ネットワーク層]] |BGCOLOR(#FFCCCC):[[IP]]v4/v6、[[ARP...
| [[データリンク層]] | [[イーサネット]]、[[トークンリング...
| [[物理層]] |~|~|
*** ネットワークインターフェース層とは? [#pe09a0fc]
TCP/IPの[[ネットワークインターフェース層]]は、[[OSI参照モ...
ネットワークインターフェース層に含まれる[[プロトコル]]は、
- [[LAN]]のプロトコル:[[イーサネット]]、[[トークンリング...
- [[WAN]]のプロトコル:[[フレームリレー]]、[[ATM]]、[[PPP...
です。
TCP/IPでは、ネットワークインターフェース層の仕様を特に規...
つまり、TCP/IPのプロトコルは、ネットワークインターフェー...
*** インターネット層とは? [#sfdfd0e2]
TCP/IPの[[インターネット層]]は、[[OSI参照モデル]]の[[ネッ...
インターネット層には、TCP/IPの中心的な[[プロトコル]]であ...
IPの他に、[[ARP]]、[[ICMP]]、[[OSPF]]などのプロトコルも含...
*** トランスポート層とは? [#f3c66d55]
TCP/IPの[[トランスポート層]]は、[[OSI参照モデル]]の[[トラ...
トランスポート層には、[[TCP]]と[[UDP]]の二つのプロトコル...
*** アプリケーション層とは? [#tf4cdea3]
TCP/IPの[[アプリケーション層]]は、[[OSI参照モデル]]の[[セ...
アプリケーション層には、[[HTTP]]、[[DNS]]、[[DHCP]]、[[SN...
* プロトコルの連携によるデータの流れは? [#n6061758]
例えば、WebサーバへアクセスしてWebサイトを見る場合、次の...
| [[レイヤ]] | [[プロトコル]] |h
| [[アプリケーション層]] | [[HTTP]] |
| [[トランスポート層]] | [[TCP]] |
| [[インターネット層]] | [[IP]] |
| [[ネットワークインターフェース層]] | LANやWANのネットワ...
CENTER:&ref(zu_02.png);
>http://ascii.jp/elem/000/000/424/424788/index-2.html
CENTER:&ref(tcpip_encapsulation.jpg);
> http://www.hndtc.co.jp/p090/p090_004_tcpip.html
CENTER:&ref(network2-7.gif);
> http://takaq1.plala.jp/contents/jitaku_server/network/n...
CENTER:&ref(fig2-6.png);
> http://togodb.seselab.org/pukiwiki/Network/%B3%AC%C1%D8...
* 階層ごとのデータの名称は? [#s6daf2f3]
TCP/IPネットワークアーキテクチャでは、各階層ごとに、デー...
| [[レイヤ]] | データの名称 |h
| [[アプリケーション層]] | メッセージ |
| [[トランスポート層]] | セグメント/[[データグラム]] |
| [[インターネット層]] | [[パケット]] |
| [[ネットワークインターフェース層]] | [[フレーム]] |
* インターネット層のプロトコルは? [#if8d2080]
** (1) IPとは? [#wd40a1ee]
CENTER:&size(50){IP = &color(red,pink){Internet Protocol}...
[[IP]](Internet Protocol)は、[[TCP/IP]]の名前の由来にも...
IPによって[[エンドツーエンド]]の通信ができます。
IPによって運ばれるデータを、IPパケットと呼びます。
IPパケットには、[[IPヘッダ]]が含まれています。
IPヘッダの情報によって、[[ルータ]]が適切な[[ルーティング]...
CENTER:http://program.sagasite.info/wiki/index.php?plugin...
>http://www.atmarkit.co.jp/fnetwork/tokusyuu/11mpls/mpls0...
ルータの基本的な動作。
ルータにパケットが到着するたび、ルーティング・プロトコル...
*** IPv4ヘッダフォーマットとは? [#l19914e3]
&color(,pink){ 詳細 → [[IPヘッダ]] };
IP[[パケット]]は、[[IPヘッダ]]とデータ(IP[[ペイロード]]...
|>|BGCOLOR(pink):CENTER: IPパケット |
| IPヘッダ | IPペイロード |
- IPv4のヘッダは、&color(red){12のフィールド};と&color(re...
- オプションを含まない、12のフィールドだけのIPヘッダ長は...
- オプションが追加された場合でも、必ず&color(red){4バイト...
- IPヘッダ長は、&color(red){最大で60バイト};です。=オプ...
** (2) ARPとは? [#rafa2924]
&color(,pink){ 詳細 → [[ARP]] };
[[ARP]] (Address Resolution Protocol)は、[[イーサネット]]...
- [[TCP/IP]]では[[IPアドレス]]
- [[LAN]]では[[MACアドレス]]
を利用して、通信を行うが、この二つのアドレスはお互いに関...
- 関連していない&color(red){IPアドレスとMACアドレスを対応...
- ARPによって、(MACアドレスの)アドレス解決を行い、イー...
- ARPは、ARPリクエストとARPリプライによって、目的のIPアド...
| レイヤー | | アドレス |h
| L3 | [[TCP/IP]]、[[ARP]] | [[IPアドレス]] |
| L2 | [[イーサネット]]などの[[LAN]] | [[MACアドレス]] |
*** GARPとは? [#cf6c4203]
&color(,pink){ 詳細 → [[GARP]] };
自分自身のIPアドレスに対する[[ARP]]を、Gratuitous ARP([[...
「Gratuitous」とは「余計な」という意味。
GARPの目的は、主に次の2つ。
- IPアドレスの重複検出
- ARPキャッシュの更新
*** RARPとは? [#ib4491c2]
&color(,pink){ 詳細 → [[RARP]] };
Reverse ARPのこと。[[ARP]]と逆の働きをする。
- 機器によっては、電源をオフにすると[[IPアドレス]]を保持...
- 機器の起動時に、自動的にIPアドレスを取得するためのプロ...
- &color(red){MACアドレスからIPアドレスを取得する。};
- RARPの動作には、RARPサーバの用意が必要。
あらかじめ、RARPサーバにMACアドレスに対応するIPアドレスを...
- RARPクライアントがRARPサーバから、自分のMACアドレスに対...
** (3) ICMPとは? [#k2037662]
&color(,pink){ 詳細 → [[ICMP]] };
- [[ICMP]] = Internet Control Message Protocol インターネ...
- [[IP]]のエラーメッセージや制御メッセージを転送するプロ...
- [[OSI参照モデル]]でいえば、L3([[ネットワーク層]])のプ...
- [[TCP/IP]]でいえば、[[インターネット層]]のプロトコル。
| 機能 | コマンド | 内容 |h
| エラーレポート機能 | [[traceroute]]| どのような経路を通...
| 診断機能 | [[ping]] | 目的の相手と通信できるか=接続性...
* トランスポート層のプロトコルは? [#vfba827d]
** (1) ポート番号とは? [#b2ccfa96]
&color(,pink){ 詳細 → [[ポート番号]] };
- [[ポート番号]]とは、[[TCP/IP]]プロトコルスタックのアプ...
- [[TCP]]または[[UDP]]の[[ヘッダ]]に記述され、上位のアプ...
- [[IPアドレス]]によって目的のホストまで届けたら、次に[[...
ポート番号には、
+ [[ウェルノウンポート>ウェルノウンポート番号]](0~1023)
+ [[ランダムポート>ランダムポート番号]](1024~65535)
の二種類がある。
ウェルノウンポートは、RFC1700で定義されている。
** (2) TCPとは? [#cad96580]
&color(,pink){ 詳細 → [[TCP]] };
- TCP = Transmission Control Protocol
- [[TCP/IP]][[ネットワークアーキテクチャ]]における[[トラ...
CENTER:http://program.sagasite.info/wiki/index.php?plugin...
TCPの特徴
+ [[ポート番号]]を使用して、適切なアプリケーションにデー...
+ [[コネクション型プロトコル]]である。
+ [[3ウェイハンドシェイク]]で、TCP[[コネクション]]を確立...
+ 送信データに[[シーケンス番号]]を付けて、データの[[順序...
+ 送信データの確認応答がない場合は、エラー発生とみなして...
+ ネットワークの混雑度合いに応じて、送信するデータ量を調...
*** TCPヘッダのフォーマット [#k6e53864]
&color(,pink){ 詳細 → [[TCPヘッダ]] };
CENTER:http://program.sagasite.info/wiki/index.php?plugin...
- 送信元ポート番号・宛先ポート番号
送信元の[[ポート番号]]、宛先の[[ポート番号]]を格納する。
- [[シーケンス番号]]
送信するデータの順序を示す32ビットの番号。
→ [[順序制御]]
- ACK番号
データを受信した確認通知と、次に送信を期待するシーケンス...
送信データに対する[[ACK]]が返ってこない場合は、再送する。
→ [[再送制御]] (エラー制御)
- データオフセット
[[TCPヘッダ]]の長さ(ヘッダ長)を示す。
- 予約
未使用領域。
- フラグ
6ビットのフィールド。
TCPセグメントの種類を示すビットが格納される領域。
| フラグ | 意味 | 動作 |h
| [[URG]] | 緊急 | 優先的に送信する必要があるデータを含ん...
| [[ACK]] | 応答 | [[コネクション]]を確立する最初のTCPセ...
| [[PSH]] | 強制転送 | 受信したデータをバッファに貯めず、...
| [[RST]] | 強制終了 | [[コネクション]]の強制終了を要求す...
| [[SYN]] | 同期 | 接続要求に使う。SYN=1のTCPセグメント...
| [[FIN]] | 送信終了 | [[コネクション]]の正常終了を要求す...
- [[ウィンドウサイズ]]
受信側の一度に受信可能なデータ量。
送信側に通知する。
送信側は、ウィンドウサイズを超えないように、データ量を調...
→ [[フロー制御]]
- チェックサム
[[TCPヘッダ]]とデータ部分([[ペイロード]])のエラーチェッ...
- アージェントポインタ
[[URG]]フラグが立っているときのみ有効で、緊急データの開始...
*** [[コネクション]]の確立 [#b6f4e47f]
CENTER:http://program.sagasite.info/wiki/index.php?plugin...
~
| TCPセグメント(送信数) | 送信方向 | [[SYN]] | [[ACK]] |h
| TCPセグメント1 | A → B | 1 | 0 |
| TCPセグメント2 | B → A | 1 | 1 |
| TCPセグメント3 | A → B | 0 | 1 |
- TCPセグメント1:AからBへの接続要求。
これは最初のTCPセグメントで、それ以前の受信確認がないため...
- TCPセグメント2:BからAへの接続要求(SYN=1)+TCPセグメ...
- TCPセグメント3:AからBへのTCPセグメント2に対する応答(A...
3回の挨拶が必要なので、[[3ウェイハンドシェイク]]と呼ばれ...
*** [[コネクション]]の切断 [#ca89cfad]
CENTER:http://program.sagasite.info/wiki/index.php?plugin...
~
| TCPセグメント(送信数) | 送信方向 | [[FIN]] | [[ACK]] |h
| TCPセグメント1 | A → B | 1 | 1 |
| TCPセグメント2 | B → A | 0 | 1 |
| TCPセグメント3 | B → A | 1 | 1 |
| TCPセグメント4 | A → B | 0 | 1 |
- TCPセグメント1:AからBへの切断要求。
- TCPセグメント2:BからAへの応答。
- TCPセグメント3:BからAへの切断要求。
- TCPセグメント3:AからBへの応答。
双方向に形成しているTCP[[コネクション]]の切断は、片方向ず...
AとBがお互いに[[FIN]]フラグ=1で、相手に対して切断要求を...
FINによる正常終了ではなく、一方の都合で強制終了したい場合...
** (3) UDPとは? [#e2482ebc]
&color(,pink){ 詳細 → [[UDP]] };
- [[UDP]] = User Datagram Protocol の略。
- [[TCP]]と同じく[[TCP/IP]]ネットワークアーキテクチャの[[...
- UDPは、[[コネクションレス型プロトコル]]で、上位のアプリ...
*** UDPヘッダのフォーマット [#v45904ca]
- [[TCPヘッダ]]は20バイトだが、UDPヘッダは8バイト。
[[オーバーヘッド]]が小さいので高速。
CENTER:http://program.sagasite.info/wiki/index.php?plugin...
- 送信元ポート番号・宛先ポート番号
送信元の[[ポート番号]]、宛先の[[ポート番号]]を格納する。
- データグラム長
- チェックサム
*** UDPの用途 [#q6a1192b]
| 用途 | 事例 |h
| リアルタイム性のあるデータを転送 | [[VoIP]](IP電話) |
| 複数の相手に同じデータを転送 | ストリーミング(テレビ会...
| 少量のデータで、信頼性を必要としない転送 | [[DNS]] |
- [[TCP]]は、1対1の通信([[ユニキャスト]])しかできない。
- [[UDP]]は、1対多の通信([[マルチキャスト]]、[[ブロード...
*** TCPとUDPの信号名 [#adad47c2]
| [[プロトコル]] | プロトコルで扱われる信号の呼び名 |h
| [[TCP]] | セグメント |
| [[UDP]] | [[データグラム]] |
* アプリケーション層のプロトコルは? [#k6b9cd81]
[[TCP]]や[[UDP]]の上位層([[アプリケーション層]])で働く...
- [[HTTP]] (Hypertext Transfer Protocol ハイパーテキスト...
Webアクセスを行うためのプロトコル
TCPのポート番号は80を使用
- [[SMTP]] (Simple Mail Transfer Protocol 簡易メール転送...
電子メールを送信するためのプロトコル
TCPのポート番号は25を使用
- [[POP]] (Post Office Protocol)
電子メールを受信するためのプロトコル
TCPのポート番号は、POP2では109、POP3では110を使用
- [[IMAP]] (Internet Message Access Protocol)
電子メールを受信するためのプロトコル
TCPのポート番号は、IMAP2とIMAP4では143、IMAP3では220を使用
- [[DHCP]] (Dynamic Host Configuration Protocol)
[[TCP/IP]]で通信を行うために必要な情報=[[IPアドレス]]、[...
UDPのポート番号67、68を使用
- [[DNS]] (Domain Name System)
ホスト名とIPアドレスの対応付けを行うプロトコル
TCP/UDPのポート番号53を使用
- [[FTP]] (File Transfer Protocol)
ファイル転送を行うためのプロトコル
TCPのポート番号20、21を使用
ページ名: