ネットワークプログラミングの知識ポイント

まず、ネットワークインフラストラクチャ

  • 目的:将来の仕事のために道を開くWebフレームワークシーンの未来に学びます

    • どのように情報を送信するために2つのプログラムを実行するには?

      • ファイルにより、

    • どのように通信プログラムに2台のマシン上の2つの実行?

      • ネットワークを介して、

  • Webアプリケーション開発フレームワーク

    • C / S

      • クライアントクライアント

      • サーバーサーバー

      • たとえば:サンダーQQのブラウザは、秋の入力方法Baiduのクラウドpycharm GitのVNCのクモのゲームを飛びます

    • B / S

      • ブラウザブラウザ

      • サーバーサーバー

      • たとえば:淘宝網のメールボックス様々なゲームBaiduのブログは、ほぼクレソン引き出し公園を知っています

    • 手続きの入り口調和

    • B / SとC / Sアーキテクチャの関係:B / S特殊なC / Sアーキテクチャであります

  • NIC:それは、コンピュータのハードウェアの本当の存在であります

  • マック:Macはカードの各部分にグローバルに一意のアドレスを持っています

  • スイッチ:複数のマシンを接続すると、物理デバイスを伝える手助け、知られているMACアドレスのみ

    • LANスイッチは、通信します

      • ブロードキャスト:すべてのマシンに送ります

      • ユニキャスト:マシンに送ります

      • マルチキャスト:へのマシンのセット

  • プロトコル:コンテンツの2つの物理デバイスとの間には、いくつかの規則の順序の長さを送信します

  • IPアドレス

    • 4小数点プロトコルIPv4の16進32ビット2

      • 0.0.0.0 - 255.255.255.255

    • IPv6プロトコルの6ビットは、16進数2進数128を取ります

      • 0:0:0:0:0:0-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF

  • パブリックネットワークIP:IPアドレスは、誰にでもアクセスできるようにします

    • なぜ、あなたの友人のコンピュータの分野では、我々はアクセスできませんでしたか?

      • 誰もがアクセスできるようにするために、各IPアドレスは、これはあなたが適用されたIPアドレスでなければなりません

  • ネットワークIP:IPアドレスこれらの間隔が重複し、内部ネットワークのIP IPを避けるために、パブリックネットワークをパブリックネットワークを使用していません

    • 192.168.0.0 - 192.168.255.255

    • 172.16.0.0 - 172.31.255.255

    • 10.0.0.0 - 10.255.255.255

  • ARPプロトコル:MACアドレス、IPアドレスを取得します。

    • スイッチに実装

    • ブロードキャストおよびユニキャストの使用

  • ゲートウェイIP:ローカル・エリア・ネットワークにアクセスするための純輸出、LANの外側の領域は、ルーターやゲートウェイを通過する必要があります

  • セグメント:それはセグメントアドレスを指す、あるいはそのようなXXX0のxx0.0又はx.0.0.0として

  • サブネットマスクは:決定するかどうか、同じネットワークセグメント上の2台のマシン

  • ポート:ポート、0〜65535

    • IPアドレスは、マシンが確認できます

    • IP +ポート1台のマシン上のアプリケーションを確認します

二、TCP / UDPプロトコル

2.1 TCPプロトコル

  • 特徴:

    • 確実に、ゆっくりと、全二重通信

    • 接続が確立されている場合:3ウェイハンドシェイク

    • 切断された場合:フォー振っ

    • 接続が確立された後

      • レシートから送信された情報の各ピースが持っています

      • データの整合性を確保するだけでなく、再送機構に

    • ロング接続:両側は、常にポートを占有します

    • IO(入力、出力)の操作、入力と出力メモリは、比較的です

      • 書き込み送信 - 出力

      • RECVを読む - 入力

    • ほぼ無限伝送可能なデータ長

  • シナリオ:

    • アップロードしたファイルをダウンロードします

      • 電子メール、ネットワークディスク、キャッシュ、映画などを送信

  • スリーウェイハンドシェイクと簡単に4回を振りました

    • スリーウェイハンドシェイク

      • クライアント接続を待っている間に受け入れられ受け入れます

      • クライアントが要求SYNリンクを開始し接続します

        • サーバ側はサーバ側を受け取ることになりますしながら、取得したACK応答は、リンク要求SYCを送信した場合

        • クライアント側の応答ACKの後、それはリンクTCPプロトコルを確立しました

      • スリーウェイハンドシェイクプロセスと、コードが受け入れ、完了するために一緒に接続され、具体的な詳細は、もはやソケットに反映されていません

    • 手を振っ四

      • 対応するサーバとクライアント側のコードは、Closeメソッドを持っています

      • 操作の各端は、データ伝送の一方の端部で終了することができる、「切断確認ACK」の後に与えるため、近いフィン切断要求によって開始されます

      • 両端に近い開始した場合、それは二度要求と応答回、四則演算の合計であります

      • データ伝送の終了を終了することがあり、それはリンクが切断されていることを示し

2.2 UDPプロトコル

  • 特徴:

    • コネクションレス、速いです

    • メッセージが失われる可能性があります

    • データ長を転送することができるデータ送信装置との間の関係に応じて提供され、制限されています

  • シナリオ:

    • クラスのインスタントメッセージング

      • QQ、マイクロチャネル、およびなどの飛行秋

  • TCPおよびUDPプロトコル契約の違い

    • TCPプロトコルは:コネクション指向ストリーム、信頼性の高い、低速、全二重通信であります

      • HTTP Webメールファイル

    • UDPプロトコル:効率的に、データグラム指向、コネクションレスで、高速で信頼性の高いではない、1を完了するために、多くの、多対多の通信プロトコル

      • インスタントメッセンジャーのビデオオンライン表示

2.3スティックパック現象

  • 定義:後スティックパッケージとして知られている現象、前に、同時に複数のコマンドを実行した結果は、他のコマンドの実装では一部のみに可能性があり、実行結果の別の部分に受け取ります

  • 粘着性のパッケージを原因:スティックパック現象はTCP、UDP、パッケージをスティックではありませんでした

    • TCPデータ転送プロトコル

      • 機構TCPプロトコルの開梱

      • ストリーム指向の通信特性

  • どちらの場合も、パッケージが発生するスティック:

    • ケースキャッシュメカニズム、受信者の

    • 2つの受信の場合のキャッシュ・メカニズム

  • 要約:

    • スティックパック現象は、TCPだけの契約で発生します

    • キャッシュメカニズムは、送信者と受信者、ストリーム指向の通信プロトコルのTCPを備えているため、表面には、スティックのパッケージの問題があります

    • 実際には、受信者はニュースの境界を認識していない主な理由は、一回の抽出によるデータのバイト数を知りません

  • パック現象TCPプロトコルをスティック

    • スティックパック現象とは何ですか

      • これは、スティックパッケージの送信側で発生します

        • 二つのデータ送信時間間隔より短い長さのデータので+小

        • したがって、2つの情報としては、プロトコル最適化機構アウトTCPにより送信されます

        • ネットワーク遅延のTCP協定「受領の確認」を減少させるために、

      • そして、受信側は、スティックパッケージを発生します

        • データはプロトコルTCPで送信されるためビジーない境界は、複数の受信しないように

        • データがキャッシュ内に一緒に固執する放電カーネルを受け取り、

      • 自然:受信情報の境界が明確ではありません

    • 問題を解決するために、パッケージをスティック

      • カスタムプロトコル1

        • 第一の長さで、ヘッダ、ヘッダ4バイトを送信し、コンテンツが送信するメッセージのバイト長であります

          • 全ての図をパックすることができる構造体モジュールは、4バイトに固定されています。

        • そして、メッセージを送信

      • カスタムプロトコル2

        • 私たちは、ファイルを送信するために特別なプロトコルを行うために使用しました

        • ヘッダバイトの長さは、(辞書サイズ、ファイル名を含む)辞書を送信その後、第1辞書を送信し、その後、コンテンツファイルを送信します

三、OSIの7層モデル/ OSI 5つの協定

3.1 OSI 7層モデル

  • 第七層:アプリケーション層

  • 第6層:プレゼンテーション層

  • 第5層:セッション層

  • 第四層:トランスポート層

  • 第三層:ネットワーク層

  • 第二層:データリンク層

  • 最初の層:物理

3.2 OSI 5つの協定

層の数 名前   合意 物理デバイス
第5層 アプリケーション層 Pythonのコードは、関連します HTTP / HTTPS / FTP / SMTP协议  
第四層 トランスポート層 ポートポート関連 TCP / UDPプロトコル 四台のルータ、4つのスイッチ
第三層 ネットワーク層 関連付けられたIPアドレス IPv4の/ IPv6プロトコル (三)、ルータ、スイッチ3
第二層 データリンク層 関連付けられたMACアドレス ARPプロトコル NIC(二階)のスイッチ
第一層 物理層      

おすすめ

転載: www.cnblogs.com/zengyi1995/p/11329059.html