コンピュータのネットワークトランスポート層
これは逆バイナリチェックサムアルゴリズムの基準内にあるhttps://blog.csdn.net/dingmin1860/article/details/48268927
- ARQ自動再送要求
- 連続ARQプロトコル
入門
トランスポート層は、上記の用途のために、次は、データ伝送に配向され、境界レベルであります
さまざまなユーザーのニーズによると -
信頼性の高い、接続指向、TCP
信頼できない、非接続指向、UDP。高速、低輸送コスト。
ポート
16位,0-65535
0-1023は予約します
一時的1024-5000
ユニバーサルポート番号
FTP | 21 / TCP |
DNS | 53 / UDP |
HTTP | 80 / TCP |
SMTP | 25 / TCP |
なぜ我々はトランスポート層が必要なのか
ネットワーク層は、輸送サービス、信頼できない、失われたパケットを提供しなければなりません。
エンドホストシステムは、独自の信頼性の高い輸送を必要とします。
いくつかの概念
コネクション型サービス
コネクションレスサービス
信頼性の高いサービス
フィードバック再送
二つのトランスポート層プロトコル
- ユーザーデータグラムプロトコルユーザデータグラムプロトコル
- 伝送制御プロトコル伝送制御プロトコル
- データ転送部:パケット
UDP
ユーザーデータグラムプロトコルユーザデータグラムプロトコル
機能
- 接続なし
- これは、メッセージ送信部であります
- 小さなヘッダ
- 不確実
- 受信者は、受信確認メッセージを送信する必要はありません。
- これは、データの整合先を保証するものではありません。
- ネットワーク上の通信の負担を軽減
UDPヘッダフォーマット
ソースポート(16ビット)、宛先ポート(16)、チェックサム(16)、メッセージ長(16)、データ
ポート番号:16、別のポート番号65535を許可します
チェックサム:チェックサム範囲UDPデータパケットヘッダ+ボディ+疑似ヘッダ
メッセージ長:65535の最大長、データ部分のバイト、UDPヘッダ+ 8バイトで
UDPチェックサム
ダミー・ヘッダ(12バイト)
4(バイト) | 4 | 1 | 1 | 2 |
---|---|---|---|---|
送信元IPアドレス | 送信先IPアドレス | 0 | 17 | UDP長 |
計算範囲チェックサム:UDP疑似ヘッダヘッダ+データ+
12(バイト) | 2 | 2 | 2 | 2 | |
---|---|---|---|---|---|
疑似ヘッダ | 送信元ポート | 宛先ポート | メッセージ長 | チェックサム | データ |
IPチェックサム計算方法:バイナリ1つの操作
UDPポート番号の確認だけではなく、また、IPアドレスをチェック
TCP
伝送制御プロトコル伝送制御プロトコル
機能
コネクション型
接続許可書を確立するためのスリーウェイハンドシェイク
不安定なIPネットワーク上で接続を確立するには
クライアント:アクティブオープンAネットワーク接続、送信部SNY号初期化シーケンスX
サーバー:パッシブオープンポート、SNY Yを送信し、ACKのx + 1
クライアント:送信ACKのY + 1
信頼性の高いです
フィードバック再送メカニズム
3つの戦略
- 停止待機モード
それは次のパケットを送信する前にACKを受け取ります
- 動作の連続モード(受信側に依存しないキャッシュが存在しません)
- バック方式(累積確認応答ACK)バックのn行きます
- 再送モードを選択します
ARQメカニズム:スライディングウィンドウ
タイマー
送信者は、所定の時間内での時間をACKを受信し、検討データパケットを再送しません。
問題:重複メッセージを受信します。
受信者は、メッセージ・パケット・シーケンス番号を繰り返すことによって除去することができます。
連続ARQプロトコル
- 送信者が送信することができる複数のパケットを
- 一般的に使用される受信機の累積確認により:最後のパケットに対する肯定応答を送信するには、順不同で到着します
ウィンドウをスライディングスライディングウィンドウ
のみ連続スライディングウィンドウARQプロトコルを実現することができ、また(速度、送信者と受信者の一致)フロー制御を実行することができます
- 送信者は、「送信ウィンドウ」にデータを送信します
- 受信側は、「受信ウィンドウ」でのみデータを受け取り、
バイトストリームと
スライディングウィンドウ
バイト数を確認してください
タイマーを続行
長い当事者がの反対側受け取ったとして、TCPコネクションゼロウィンドウ通知は、タイマーの時間を開始します。
タイマーが満了した場合、伝送ゼロウィンドウプローブパケット。他の当事者の受領後、現在のウィンドウ値を与えられました。
流量制御
送信者、送信速度は、受信者が受信する(データの損失を防ぐために)、またネットワークの輻輳を作るために時間を過ごしてみましょうするだけではなく、速すぎではありません。
TCPスライディングウインドウ機構は制御フローで実施されてもよい(一致率の両方の送信データ)
輻輳制御
基本的な
一定の期間内に、需要の一部は、利用可能なリソースを提供することができ、ネットワークのパフォーマンスが低下します超えます。--->輻輳
ソリューション
リソースを増やし、需要を減らします
TCPの輻輳制御
TCPヘッダフォーマット
20バイトの最小長
TCP対UDP
フロー制御対輻輳制御
(カラムの概要、〜、更新を補完します!)
アンチバイナリコードのチェックサムアルゴリズム
参考:https://blog.csdn.net/dingmin1860/article/details/48268927
まず、IP、ICMP、UDPおよびTCPパケットは、ヘッダのチェックサムフィールドを持ち、サイズは16ビットで、このアルゴリズムは本質的に同じです。
チェックサムを計算するためにデータを送信し、データパケット。次のようにする必要があります:
1、0に設定チェックサムフィールドと
図2に示すように、データを順次バイナリ1を加算し、16ビット数の単位で検証されるように、
3、結果がチェックサムフィールドに格納されます。
データが受信されると、以下のように、パケットのチェックサムの計算は、比較的簡単です。
図1は、桁の単位で16ビットのヘッダ部として、順次チェックサムフィールドを含む、バイナリ1を加算します。
図2に示すように、計算されたチェックサムと、結果が0であるか否かをチェックします。
3、それは0に等しい場合、分割の説明で、チェックサムが正確です。それ以外の場合は、チェックサムが間違っている、プロトコルは、パケットを破棄するようにスタック。