ディレクトリ
まず、プロトコルは何ですか?
契約はどのような時に、状況は何をどうするかという、より多くの合意によって設定された要件の一つに二つ以上のオブジェクト間ですか。
例:シャオ強暁明とサンダンス・キッドのゲームをプレイするために週末に一緒に同意したが、巣の中に再び掘り下げ停電があった場合。
第二に、TCP / IPプロトコルは何ですか?
TCP / IPプロトコルは、大会用に設計されたネットワーク機器の世界で何千もの通信ニーズを満たすためです。
例えば:あなたはそれを達成する方法を、Webサイトから動画をダウンロードしてください
お互いを認識するための最初のWebサーバーやパソコン、需要 IP协议;
インターネットを介して数千キロをコンピュータにつながるパスを探して、需要路由协议;
ないフィルム障害を繰り返した失うデータ転送するためには、需要 TCP协议;
また、あなたはFTPプロトコルと一緒に映画を受け取ることができます。シングル契約は、一例として、TCP単一の契約であります
タイムアウトは、通信を行う方法で合意しましたか?
データの損失がどのように行うには?
障害はどのように行うには?
ネットワークの輻輳行う方法?などなど。
三、なぜこれほど多くのTCP / IPプロトコル?
契約はあまりないですが、より具体的な各プロトコルのニーズよりも、実際の需要から生成されています。もっと一つの問題を解決するために、より多くの問題を要求するが、契約数がありました。
例:セキュリティが必要なため、一般的な支払いページは、HTTPSです。
マルチキャストは、ネットワークの需要の要件が原因で発生します。
宇宙飛行士は、インターネットなどへの便利なアクセスを要求するので、AOSオーバーIPが発生します。
四、TCP / IPプロトコルがなぜ階層化?
「レイヤー」思考は、多くの分野に適用することができ、それは複雑な問題を単純化する効果的な方法です。
プロトコルレイヤ化のメリット:上位層にサービスを提供し、それぞれの層の変更が他の層に影響を与えませんが層のプロトコルは、この問題に提供する基盤となるサービスの直接の使用を集中することができます。
例えば:
クラシック4層モデル: 应用层—>传输层—>网络层—>物理层(链路层)
第五に、どのようにTCP / IPは、簡単にプロトコル?
要点1:
プロトコルを学ぶことは、その適用のシナリオと提案した目的を理解しなければならないので、「目的のための実用的な問題を解決するために生成された需要に起因するネットワークプロトコル」を覚えておいてください。
要点2:
優れた入門チュートリアルを選択してください。私は非常に「コンピュータネットワーク」教授謝Xirenをお勧めします、本のコンセプトは、劣らず3回以上読んだ本の第6版に出てきた今、表面的ではない非常に徹底的かつ網羅ではなく、明確、明晰な思考力、ではありません。
要点3:
そのメッセージ形式のプロトコル深い理解のための学習への鍵です。合意は、メッセージのフォーマットは、「データ構造+アルゴリズム」プログラムされた後、「データ構造。」
要点4:
ハンズオンラボ、合意への理解深めることができますしてください。たとえば、あなたは、このようなARPの発見プロセス、TCPハンドシェイクプロトコル、TFTPファイル転送の原則として、プロトコルのために(例えばwiresharkの)学習アルゴリズムをネットワークパケットキャプチャを使用することができます。また、あなたは、このような単純なネットワーク攻撃ソフト制作などのプログラミングを、ネットワーク化することができます。
六、TCP / IPの階層化:
7.各プロトコル層の梱包・開梱プロセス:
ブラウザは、通信プロトコルの間サービスに情報を送信するとき、それは、4つの層に分割されます。
まず、アプリケーション層(HTTPプロトコル)、情報パッケージの一部を送信します。
第二に、トランスポート層(TCPプロトコル)、アプリケーション層データパッケージのTCPプロトコル。
次に、ネットワーク層(IPプロトコル)に、IPで対応するサーバを見つけます。
最後に、リンク層(物理的なデータ伝送媒体を介して)。
それぞれの層の一つは、右のパッケージ化されます。
八のブラウザは、全体のプロセスのWebページにアクセスするには:
ナインは、例えば:オンラインリクエストプロセスショッピング
1層の間のトレンド
クライアント(ブラウザ) - >アプリケーション層(HTTP、HTTPS、DNS) - >トランスポート層(TCP、UDP) - >ネットワーク層(IP) - >物理層 - >サーバー
- >物理層 - >ネットワークレイヤー - >トランスポート層 - >アプリケーション層 - >特定のアプリケーションの処理
2.具体的な要求手順
あなたがブラウザに入力することにより開始https://www.kaola.com、これはURLです。ブラウザは、名前だけを知っています
「www.kaola.com」で、それは(DNS)を見つけるために、アドレス帳を開き、対応するIP(106.114.138.24)アドレスが見つけ、
リクエストを荷造りを始める特定のIPアドレス、ブラウザを知っている(HTTP):
アプリケーション層のパッケージの後、完全に次の層へのパッケージの意志ブラウザアプリケーション層は、ソケットをプログラミングすることによって達成されます。次の層は、2つのポートを有することになるトランスポート層(TCP、UDP)、TCPプロトコルであり、ブラウザは、ポート、一つの電気供給者サーバリスニングポートをリスニングしています。オペレーティングシステムは、多くの場合、それはパッケージが与えられるべきで取得プロセスのポート、によって判断されます。
传输层封装完毕后,浏览器会将包交给操作系统的网络层。网络层的协议是 IP 协议。在 IP 协议
里面会有源 IP 地址,即浏览器所在机器的 IP 地址和目标 IP 地址,也即电商网站所在服务器的
IP 地址。
于是操作系统将 IP 包交给了下一层,也就是MAC 层。网卡再将包发出去。由于这个包里面是
有 MAC 地址的,因而它能够到达网关。
网关收到包之后,会根据自己的知识,判断下一步应该怎么走。网关往往是一个路由器,到某个
IP 地址应该怎么走,这个叫作路由表。
走到最后一个网关后,通过 IP 找到具体的机器,通过端口找到对应的应用进行处理该笔请求。
3.服务器端处理流程
参考资料:
①书籍《图解HTTP》
②极客时间|趣谈网络协议 --刘超