端到端通訊,TCP IP 協議棧

2022-01-10 13:22:16 字數 1486 閱讀 2435

作為開發人員,tcp/ip 對我們來說毫不陌生,面試時少不了它的身影,各大網路,作業系統書籍也將其作為入門的必須重點知識。今天這篇文章就從它講起,理解為什麼對於乙個技術人員(網路,開發,運維,測試) tcp/ip 協議棧為什麼這麼重要。

tcp/ip 協議棧的由來

tcp/ip 協議棧的組成

tcp/ip 各層的協議及關鍵字段

讓我們把時間回撥到幾十年前,乙個叫 ibm 的公司克服種種阻礙,實現了乙個私有協議 a,完成了兩台 pc 電腦之間的通訊,大家無不為歡喜。緊接著乙個叫蘋果的公司,同樣攻克了難關,通過私有協議 b,完成兩台蘋果電腦之間的通訊。隨著擁有個人電腦的使用者越來越多,大家發現了乙個問題,ibm 和 蘋果的電腦僅能和自己品牌的電腦進行通訊,並不支援其他品牌的電腦。

伴隨著時間的消逝,使用者對解決該問題的呼聲越來越大。 iso 來了,帶著 osi 協議閃亮登場,從此以後規定所有廠商開發的通訊協議都需要遵循該標準,不許搞特殊,沒錯這就是 tcp/ip 協議棧的雛形。先來了解一下 osi 標準:

iso: 國際標準化組織,指定全世界工商業國際標準的國際標準建立機構,總部在瑞士。

源於實際的通訊需求,以 osi 為藍本,進一步定義了 tcp/ip 協議棧,簡化 osi 的分層,將會話層,表示層,應用層統稱為應用層。將物理層和資料鏈路層統稱為鏈路層。

為了保證通訊協議的一致性,iso 制定了 osi 標準協議,所有廠商在生產裝置時都有遵守該標準,隨著實際情況的演變,以 osi 為參考,制定了更為簡化的 tcp/ip 協議棧標準。

通過 tcp/ip 標準,我們知道,資料的通訊其實就是資料封裝和解封裝的過程,資料產生在應用層,經過傳輸層,網路層,鏈路層的一層層封裝,然後通過路由器和交換機**到達目的地,然後再進行拆包的過程,獲取資料。

下面是通過 wireshark 的抓包結果,從第一層鏈路層,到第四層應用層的結果:

資料幀:

鏈路層:

網路層:

傳輸層:

應用層:

通訊協議TCP IP協議棧

注 本文內容來自大神,作為學習筆記記錄在此。如有雷同,敬請諒解 首先普及一些基本概念 rfc tcp ip協議的標準文件。埠號 port tcp,udp上的邏輯號碼 而不是硬體埠。tcp ip協議棧主要分為四層 應用層 傳輸層 網路層 資料鏈路層 每層都有相應的協議 所謂的協議 就是雙方進行資料傳輸...

點到點通訊與端到端通訊

點到點是資料鏈路層的說法,因為資料鏈路層只負責直接相連的兩個節點之間的通訊,乙個節點的資料鏈路層接受ip層資料並封裝之後,就把資料幀從鏈路上傳送到與其相鄰的下乙個節點。端到端是傳輸層的說法,因為無論tcp還是udp,都要負責吧上層交付的資料從傳送端傳輸到接收端,不論其中間跨越多少節點。只不過tcp比...

TCP IP雙端通訊多執行緒

tcp ip雙端通訊多執行緒 伺服器 cpp include include include include include include include include atoi include void recv msg void arg 接收訊息函式宣告 int main int argc,...