TCP IP網路協議的分析(1) 總體思想

2021-09-28 23:07:22 字數 2258 閱讀 4688

兩台計算機上的程式要交換資料,為保證資料可靠傳輸,必須要對資料進行中間處理,而協議就是這個處理過程的規定。這好像是兩台計算機為進行通訊而簽訂的協議。聯絡實際生活,計算機通訊好比是我們收發快遞,快遞協議就是寄快遞、送快遞、收快遞各個過程的規則條文。大家都按這個規則來收發快遞,保證了快遞的準確及時送達。

下面是官方說法,網路協議是由三個要素組成:

(1) 語義。語義是解釋控制資訊每個部分的意義。它規定了需要發出何種控制資訊,以及完成的動作與做出什麼樣的響應。

(2) 語法。語法是使用者資料與控制資訊的結構與格式,以及資料出現的順序。

(3) 時序。時序是對事件發生順序的詳細說明。(也可稱為「同步」)。 

tcp/ip網路協議並不是乙個孤立的協議,而是眾多協議組成的協議簇。就好比我們委託快遞公司有一套規則,快遞公司內部包裹流轉有一套規則,快遞公司送給收件人也有一套規則,這些規則共同構成了快遞協議。

根據tcp/ip協議的功能,可以將其劃分成5個層次,這5個層次是邏輯關係上的分層。

分層組織的原則是:低層協議為相鄰的上層協議提供服務(介面),是上層協議得以實現的基礎。

①物理層:就是把電腦連線起來的物理手段,常見的有光纖、雙絞線,以及無線電波,它決定了電訊號(0和1)的傳輸方式,物理介質的不同決定了電訊號的傳輸頻寬、速率、傳輸距離以及抗干擾性等等,這一層的phy協議規定了傳輸訊號所需的物理電平、介質特徵。

②鏈路層:規定了資料幀能被網絡卡接收的條件,傳送方會在傳送的資料幀的首部加上接收方網絡卡的 mac 位址資訊,接收方只有監聽到屬於自己的mac 位址資訊後,才會去接收並處理該資料。

③網路層:每台網路裝置都應該有自己的網路位址, 網路層規定了主機的網路位址該如何定義, 以及如何在網路位址和 mac 位址之間進行對映,即ip協議、arp協議、路由協議。

④傳輸層:網路層實現了資料報在主機之間的傳遞,而一台主機內部可能執行著多個網路程式,傳輸層可以區分資料報是屬於哪乙個應用程式的,可以說傳輸層實現了資料報端到端的傳遞。另外,資料報在傳輸過程中可能會出現丟包、亂序和重複的現象,網路層並沒有提**對這些錯誤的機制,而傳輸層可以解決這些問題,這就是tcp協議,引入了三次對話機制的udp協議;

⑤應用層:應用層以下的工作完成了資料從乙個主機上的應用程式傳輸到另一台主機的應用程式,但此時傳過來的資料是位元組流,不能很好的被程式識別,操作性差。因此,應用層定義了各種各樣的協議來規範資料格式,常見的有 http、ftp、mqtt等,之所以會有許多的應用層協議,是因為網際網路中傳遞的資料種類很多、差異很大、應用場景十分多樣。

下面簡要介紹資料是怎樣按照tcp/ip協議在乙太網中進行接收和傳送的。

下圖直觀的表示了資料在乙太網上的傳輸過程:

傳送端:

第一步——應用層操作:使用者(應用程式)傳送資料, 將資料向下交給傳輸層,應用層可以通過呼叫傳輸層的介面來編寫特定的應用程式。

第二步——傳輸層操作:傳輸層會在資料前面加上傳輸層首部,即tcp首部,向下交給網路層。

第三步——網路層操作:網路層會在資料前面加上網路層首部(ip 首部),然後將資料向下交給鏈路層。

第四步——鏈路層操作:鏈路層會對資料進行最後一次封裝,即在資料前面加上鏈路層首部,形成乙太網資料報,然後將資料交給網絡卡。

第五步——物理層操作:網絡卡將資料轉換成物理鏈路上的電平訊號,資料就這樣被傳送到了網路線路中。

接收端:

當裝置的網絡卡接收到某個資料報後, 它會將其放置在網絡卡的接收快取中,並告知tcp/ip 核心。 然後 tcp/ip 核心就開始工作了,它會將資料報從接收快取中取出,並逐層解析資料報中的協議首部資訊,並最終將資料交給某個應用程式。

資料的傳送過程,可以概括為tcp/ip 的各層協議對資料進行封裝的過程;資料的接收過程與傳送過程正好相反,可以概括為 tcp/ip 的各層協議對資料進行解析的過程。

網上有乙個很形象的比喻:

網路通訊就好比送快遞,商品外面的一層層包裹就是各種協議,協議包含了商品資訊、收貨位址、收件人、****等,然後還需要配送車、配送站、快遞員,商品才能最終到達使用者手中。一般情況下,快遞是不能直達的,需要先**到對應的配送站,然後由配送站再進行派件。配送車就是物理介質,配送站就是閘道器, 快遞員就是路由器,收貨位址就是ip位址,****就是mac位址。 快遞員負責把包裹**到各個配送站,配送站根據收穫位址裡的省市區,確認是否需要繼續**到其他配送站,當包裹到達了目標配送站以後,配送站再根據****找到收件人進行派件。

TCP IP網路協議基礎TCP IP網路協議基礎

1.tcp ip網路協議基礎 tcp ip transmission control protocol internet protocol 是傳輸控制協議和網路協議,就是電子裝置如何連入網際網路,並且之間怎麼通訊。tcp ip 不是乙個協議,而是乙個協議族的統稱,裡面包括了 ip 協議 icmp 協...

TCP IP網路協議

tpc ip協議是傳輸層協議,主要解決資料如何在網路中傳輸,而http是應用層協議,主要解決如何包裝資料。關於tcp ip和http協議的關係,網路有一段比較容易理解的介紹 我們在傳輸資料時,可以只使用 傳輸層 tcp ip協議,但是那樣的話,如果沒有應用層,便無法識別資料內容,如果想要使傳輸的資料...

TCP IP網路協議

摘自 前段時間做了乙個開發,涉及到網路程式設計,開發過程比較順利,但任務完成後始終覺得有一些疑惑。主要是因為對網路協議不太熟悉,對一些概念也沒弄清楚。後來 我花了一些時間去了解這些網路協議,現在對tcp ip網路協議有了初步的認識,在這裡總結出來,可以梳理一下我對網路協議的理解,加深印象.話說兩台電...