做爲開發人員,TCP/IP 對咱們來講絕不陌生,面試時少不了它的身影,各大網絡,操做系統書籍也將其做爲入門的必須重點知識。今天這篇文章就從它講起,理解爲何對於一個技術人員(網絡,開發,運維,測試) TCP/IP 協議棧爲何這麼重要。面試
閱讀本文後,應該瞭解以下內容:網絡
讓咱們把時間回撥到幾十年前,一個叫 IBM 的公司克服種種阻礙,實現了一個私有協議 A,完成了兩臺 PC 電腦之間的通訊,你們無不爲歡喜。緊接着一個叫蘋果的公司,一樣攻克了難關,經過私有協議 B,完成兩臺蘋果電腦之間的通訊。隨着擁有我的電腦的用戶愈來愈多,你們發現了一個問題,IBM 和 蘋果的電腦僅能和本身品牌的電腦進行通訊,並不支持其餘品牌的電腦。運維
伴隨着時間的消逝,用戶對解決該問題的呼聲愈來愈大。 ISO 來了,帶着 OSI 協議閃亮登場,今後之後規定全部廠商開發的通訊協議都須要遵循該標準,不準搞特殊,沒錯這就是 TCP/IP 協議棧的雛形。先來了解一下 OSI 標準:tcp
ISO: 國際標準化組織,指定全世界工商業國際標準的國際標準創建機構,總部在瑞士。測試
源於實際的通訊需求,以 OSI 爲藍本,進一步定義了 TCP/IP 協議棧,簡化 OSI 的分層,將會話層,表示層,應用層統稱爲應用層。將物理層和數據鏈路層統稱爲鏈路層。操作系統
爲了保證通訊協議的一致性,ISO 制定了 OSI 標準協議,全部廠商在生產設備時都有遵照該標準,隨着實際狀況的演變,以 OSI 爲參考,制定了更爲簡化的 TCP/IP 協議棧標準。3d
經過 TCP/IP 標準,咱們知道,數據的通訊其實就是數據封裝和解封裝的過程,數據產生在應用層,通過傳輸層,網絡層,鏈路層的一層層封裝,而後經過路由器和交換機轉發到達目的地,而後再進行拆包的過程,獲取數據。blog