コンピュータ・ネットワーク関連

OSI 7層モデルとTCP / IP 5層モデル

また、OSI(開放型システム間相互接続)として知られている七層モデル、。コンピュータや相互接続されたシステム間の通信のための標準的なシステムを開発するための参照モデル国際標準化機構(ISO)は、一般的にOSI参照モデルまたは7層モデルと呼ばれます。

これは、特定のプロトコルを含む抽象的用語や概念、一連のではないだけを含め、7層モデル抽象体です。

低OSIは分割:アプリケーション層、プレゼンテーション層、セッション層、トランスポート層、ネットワーク層、データリンク層、物理層を。

アプリケーション層、トランスポート層、ネットワーク層、データリンク層:最後に高いからTPC / IP 4層モデルが分割されます。

これはOSIアプリケーション層、プレゼンテーション層は、セッション層は、データリンク層、物理層、データリンク層は、マージされ、アプリケーション層にマージ

ここに画像を挿入説明
アプリケーション層

アプリケーション層は、アプリケーションユーザのネットワークの要件をサポートするためにどの目指し、エンドユーザーにアプリケーションサービスを提供する唯一のウィンドウネットワークです。、異なるユーザの要求に、アプリケーション層エンティティは、電子メール(MHS)、ファイル転送(FTAM)、仮想端末(VT)、電子データ交換(EDI)、等のようなアプリケーションをサポート異なるアプリケーション、アプリケーション・サービスの種々の複数含みます。

主要なプロトコルは以下のとおりです。FTP(21ポート)、SMTP(25ポート)、DNS、HTTP(80ポート)

プレゼンテーション層

プレゼンテーション層の機能の一つは、相互運用するためには、異種のコンピュータ通信のための共通言語を提供することです。このタイプのサービスの必要性、異なるコンピュータアーキテクチャを使用して、データが別の方法を表すので。

例えば、IBMホストはPCのほとんどはASCIIコードを使用しながら、コーディングEBCDICを使用します。この場合、セッション層は、この変換を完了する必要があります。そのようなデータの暗号化、データ圧縮などの他の機能を備えています。

セッション層

セッション層によって提供されるサービスは、アプリケーションがセッションを確立し、維持することができ、そしてセッションが同期され得ることができます。セッション層、すなわちチェックポイントから対話制御情報を実現するために、通信の通信障害を回復し続けることができ、チェックポイント通信セッションを使用します。この機能により、大容量のファイルを転送するための非常に重要です。

トランスポート層

トランスポート層は、緩衝作用を有するデータ通信網を介して2台のコンピュータ、階層の第一の端部、です。サービスのネットワーク層の品質が要件を満たすことができない場合は、サービスは、高レベルの要件を満たすために強化されます。場合にのみ非常に少ない作業とサービスの優れたネットワーク層の品質、。

輸送層は、単一​​のネットワーク接続上の論理接続を複数作成すること、即ち、多重化されてもよいです。トランスポート層は、トランスポート層と呼ばれています。

トランスポート層の端部は、それが下層レイヤ3、レイヤ3以上の通信衛星システムが、非常に重要なものとの間に介在され、唯一のオープンシステムに存在します。それはローからハイへの最後の層の宛先へのデータ転送制御の源であるからです。エンドツーエンドサービス、エンドへいわゆる端部は、ソースポート番号と宛先ポート番号を指定する契約を参照して、唯一のソースポート番号と宛先ポート番号とネットワーク全体の処理を指示することができます。

そこプロトコル:UDP / TCP。

ネットワーク装置:複数のトランスポート層とトランスポート層は、ゲートウェイと相互接続されています。

ネットワーク層

その結果、ネットワークのネットワーク層の開発です。データ端子が増加すると、それらの間に接続された中継装置が存在する場合、オンラインシステムと回線交換環境では、ネットワーク層は、あまり意味はありません。この時点で、ある端末装置がリンクされている任意の二つのデータのためのデータを生成するルーティングまたは見つけるために呼び出す問題があるだけでテーブルのみが、可能と多端子通信で終わっていない要求を、あるだろう直径。

さらに、物理チャネルの確立、ユーザーのペアは、アイドル時間の多くは、多くの場合、無駄にされたとき。人々は自然に複数のユーザーが、この問題を解決するために、リンクを共有できるようにしたいと思うでしょう論理的および仮想回路技術が登場。

ネットワーク層とネットワーク層の下の層は、ネットワーク内のさまざまなホスト間のデータ通信を提供するサービス・ポイントを提供します。

IP / ICMP / IGMP / ARP / RARP:プロトコルがあります。

ネットワーク機器:あなたが通信したい場合は、ルータ(ルータの動作で、AとB、AとBがルータによって相互接続され、Aは、そのトランスポート層のデータとTCP / UDPプロトコルヘッダから受け取り、その後、IPプロトコルを追加しますルータは、データが、アンパッキングシーケンスを介して送信受信データリンク層、物理層ヘッダプラス伝送にデータリンク層、及びネットワーク層へのルータ、IPアドレスのネットワーク層にポートを転送し、その後Bをチェックし、それぞれ、)は、3つのスイッチ、ルータは、次に連続ネットワークプロトコルBに従って解凍パッケージである異なる場合、同一のネットワークプロトコルを配置し、最後にBに送信される発見しました。

データリンク層

データリンクは、概ねデータチャネルとして理解することができます。物理層は、データの通信と端末装置との間の接続のための伝送媒体を提供します。メディアは、長期的な接続が生存です。接続の寿命は、トランシーバの両端は、1つまたは複数のデータ通信を変化させることができます。各通信は、通信リンクと通信リンク2解体プロセスを確立して行かなければなりません。データ送受信関係までこのセットは、データ・リンクと呼ばれています。

上層がエラーのないデータ伝送を提供し、データ伝送のために物理メディアが必然的に様々な要因によって影響を受けるでは、信頼性が低く、生産誤差、物理層の不足を補うために、我々は、データのエラー検出と訂正を行うことができなければなりません。データリンクを確立し、除去、データの誤り検出、および誤り訂正は、データリンク層の基本的な作業です。

ネットワーク機器:ブリッジ(ブリッジ動作原理である:1、ネットワークシステム2の複数の間でデータを交換するために使用されるネットワーク相互接続のデータ受信及びアドレスフィルタリング効果を、転送データの役割を果たし、メインブリッジは、データリンク層のMACアドレスが受信したデータフレームが転送されるか否かを判断する二つのLANを接続するために使用される。ホスト及びBブリッジがデータに応じて、上に送信された受信した場合、通信しますMACアドレス、及びそれ自体が、それが無傷に転送されていない場合、受信したフレームは、同一のローカルエリアネットワークで廃棄された場合、BはネットワークBと同じLAN内にあるかどうかを決定するために、ソフトウェアアドレステーブルによって維持ブリッジ)スイッチ。ブリッジは、ポートスイッチの複数です。

物理層

データ転送パス・クライアント・デバイスのためのデータを提供し、データ・パスは、物理的媒体であってもよいし、ネットワークに接続された物理メディア装置が複数あってもよいです:リピータハブ。リピータポート複数のハブである(例:ツイストペア伝送距離がより多くの信号の全体の長さよりも100M障害が正常に通信できませんしているが、我々は中継信号としての機能を拡張する必要があります)。

今、窓80は、第1のユーザBのHTTP通信に対するユーザAに活性化されたアプリケーション層、必要なファイル転送操作。80活性化ポートの後に、データを表現するために、プレゼンテーションデータは、暗号化された圧縮され、その後、プレゼンテーション層、セッション層、およびセッションの終わりまでのデータは、セッション層を確立します

しかし、セッション層の確立とセッションの終わりには、彼の唯一のセッション管理を実現していなかった、セッション確立を行うためのトランスポート層に固有のものです。トランスポート層のTCPやUDPの方式を選択し、専用モードを選択し、何の接続は、ネットワーク層に、プロトコルヘッダと一緒に、トランスポート層を選択するための良い方法を確立していない、とされます。このセッションのルーティングネットワーク層は、データリンク層に一緒にプロトコルヘッダを追加し、データリンク層は、実際にこのセッションを確立し、その後、物理層によって、物理層に、ヘッダを追加します送信されたビットストリーム。

プロセスへページのURL

  1. URL URLを入力します。
  2. IPアドレスに解決DNS
  3. サーバへのTCP接続を確立するスリーウェイハンドシェイク
  4. 確立したクライアントは、HTTP接続要求を送信します
  5. HTTPサーバは、要求と応答を受け取ります
  6. クライアントは、応答表示のhtmlを受け取ります


解決ドメイン名へのDNSのためのアプリケーションレイヤ

我们通常所使用的域名其实计算机并不认识,它们只认识ip地址,ip地址是网络上每台计算机对应的唯一标识,所以第一步需要将域名转化为ip地址,这就是DNS解析。

1、浏览器先会在本地的host文件中查找是否有当前域名的缓存,有则调用
2、如果没有,浏览器会查看本地DNS解析器缓存,有则从缓存调用
3、如果没有,浏览器会查看本地DNS服务器(提供本地连接的服务商),有则调用
4、如果没有,会迭代查询(根域名服务器–>顶级域–>第二子域–>子域)

ここに画像を挿入説明

迭代查询:
以www.baidu.com为例,如果本地host文件、本地DNS解析器缓存、本地DNS服务器中都没有,就会进行迭代查询。首先从根域名服务器开始,例如www.baidu.com.中最后一个.就是根域名服务器。(根域名拓展链接: http://www.ruanyifeng.com/blog/2018/05/root-domain.html)
根据根域名找到顶级域名的ip后,去顶级域名服务器查找二级域名服务器在哪里并告诉你二级域名对应的ip,以此类推有可能出现三级域名,直到找到输入的url域名所对应的ip,找到后把它缓存到本地,供下次查询使用,过程就是(com -> baidu.com -> www.baidu.com) 第一步就完成了。

建立TCP连接

在得到ip地址以后,传输层便开始建立TCP连接,也就是我们常说的三次握手。

  1. 第一次,客户端发送SYN=1,seq=x,客户端进入SYN_SENT状态
  2. 第二次,服务器端发送ACK=1,SYN=1,seq=y,ack=x+1,服务端进入SYN_RECV状态
  3. 第三次,客户端发送ACK=1,seq=x+1,ack=y+1,成功之后客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

三次握手具体的事项放在下面讲。

发送http请求

客户端发送一个http请求报文包含四部分:请求行(request line),请求头部(header),空行和请求数据。

1、请求行(request line)

请求行由请求方法字段、URL字段和HTTP协议版本字段三部分构成,它们以空格隔开,例如
GET /pages/info.html HTTP/1.1

方法字段就是HTTP请求使用的方法,常见的有GET/POST

URL 即请求地址,由 <协议>://<主机>:<端口>/<路径>?<参数> 组成

HTTP协议版本有两种 1.0和1.1

2、请求头部(header)

HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者 POST)。如有必要,客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但Content-Length除外。对于POST请求来说 Content-Length必须出现。

3、空行

没有特殊含义,请求头结束标志

4、请求数据

如果请求方法是GET,那么请求数据为空

如果请求方法是POST,那么请求数据就是要提交的内容。例如提交一个表单,其中username=admin,password=123456。那么请求数据就是username=admin&password=123456

总的来说,HTTP请求报文格式如下:
ここに画像を挿入説明
ここに画像を挿入説明

服务端接收http请求并响应

服务器:服务器是网络上的高性能计算机,他监听互联网上其他计算机传来的请求,并供给相应的服务。例如文件下载服务,图片上传服务,邮件服务,视频服务等。而客户端主要提供浏览网页,听音乐,看照片的功能等,两者截然不同。

每台服务器都会安装提供服务的应用,web server,例如Apache的tomcat,nginx等。

サーバー、クライアントにHTTP応答メッセージが応答ライン、レスポンスヘッダ、レスポンスボディ:3つの部分に分かれています。

線に応答して1、
HTTPプロトコルバージョン、ステータスコードとHTTPステータスコードの説明によって線に応答して、スペースで区切られた、例えば、
HTTP / 1.1 200 OK
HTTP / 1.1プロトコルのバージョンは彼であり、200はステータスコードであり、OK状態でありますコードの説明

一般的なHTTPステータスコード
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
最初に応答して2、
サーバの応答を説明するための基本的なヘッダ情報、及びデータの説明、データの記述情報は、サーバは、データを処理している間、それが返すものクライアントに知らせることができます。

セットHTTPレスポンスヘッダとステータスコードは、多くの場合、結合されます。例えば、401(不正な)ステータスコードは、WWW-Authenticateヘッダを添付しなければならないが、ステータスコードはLocationヘッダを伴う「文書の位置が変更された」といういくつかがあります。しかし、場合でも、ステータスコードを設定することも有用であるレスポンスヘッダを指定するための特別な意味はありません。最初の応答を達成するために使用することができる:ページの長さをリフレッシュするために、ブラウザに指示、設定されたCookieを変更日を指定し、ドキュメントの文は、永続的なHTTP接続、......というように、他の多くのタスクを利用するために間隔を指定しました。

図3は、レスポンスボディの
要求されたHTMLページは、そのようにように、JS JSコード場合であるHTMLコードを、返された場合のデータは、純粋な純粋なデータを返された場合、応答は、メッセージ本体に対する体の反応です。

次のようにHTTP応答メッセージの形式は次のとおりです。
ここに画像を挿入説明

クライアントは、応答表示のhtmlを受け取ります

DOMツリーレンダリングは、応答、およびショーを受け取った後に行います。

公開された24元の記事 ウォン称賛11 ビュー2422

おすすめ

転載: blog.csdn.net/Arthur_feng/article/details/104657018