TCP/IP的加冕之路


學習任何一項技術,最好先問自己一個問題:

這個技術出現的背景、初衷和要表達什麼樣的目標或是要解決什麼樣的問題?

這個問題非常關鍵,因爲這個技術的成因和目標是這個技術的靈魂。如果不知道這些的話,那麼你會看不懂這個技術的一些設計理念。

 但是對TCP/IP來講,回答這個問題談何容易。本篇文章不會涉及技術細節,只涉及背景和初衷相關的東西。希望能給讀者朋友一些新的角度,去更好的理解和學習TCP/IP。

產生背景:

 TCP/IP協議套件,作爲世界上使用範圍最廣的網絡協議,它們誕生於1970年,由美國國防部高級研究計劃局(DARPA)中的兩個科學家設計。他們是 文頓-瑟夫(Vint Cerf) 和鮑勃-卡恩(Bob Kahn),他們也被譽爲Internet之父。

 瑟夫1943年出生在美國康涅狄格州港市,22歲在斯坦福獲得計算機科學學士學位,隨後進入IBM工作,他在該公司工作了兩年,擔任系統工程師,爲QUIKTRAN提供支持。QUIKTRAN是一種使分時計算更經濟並且可以爲科學家,工程師和商人廣泛使用的系統。

 1967年,他離開IBM進入位於加利福尼亞大學洛杉磯分校(UCLA)的研究生院,在那裏他獲得了計算機科學的碩士學位(1970年)和博士學位(1972年)。 在研究生期間,他在Gerald Estrin教授的指導下學習,曾在Leonard Kleinrock的數據分組網絡小組工作,該小組將ARPANet(互聯網的前身)的前兩個節點連接在一起。 他曾擔任首席程序員,參與了許多項目,包括ARPANet網絡測量中心,視頻圖形項目(包括由計算機控制的16毫米攝像機)以及ARPANet主機協議規範的開發。

 在UCLA期間,他還遇到了鮑勃·卡恩(Bob Kahn),後者正在Bolt Beranek和Newman從事ARPANet硬件體系結構的研究。

羅伯特-艾洛特-卡恩(Robert Elliot Kahn)(生於1938年12月23日)1960年獲得紐約市立大學的學士學位。之後又分別於1962年和1964年獲得普林斯頓大學的碩士學位和博士學位。

 畢業後,他獲得了貝爾實驗室技術人員的職位,然後成爲麻省理工學院電氣工程的助理教授。 他從麻省理工學院請假,加入Bolt Beranek和Newman,在那裏他負責第一個分組交換網絡Arpanet的系統設計,並參與了接口消息處理器的構建。

 1972年,卡恩(Kahn)被IPTO的拉里·羅伯茨(Larry Roberts)聘用,從事網絡技術的研究。10月,他在國際計算機通信會議上演示了連接40臺不同計算機的ARPANet網絡,這使該網絡首次廣爲人知。 來自世界各地的人們和通信工程師意識到,分組交換是一項真正的技術。

 Bob出生在1938年,22歲在紐約大學獲得電器工程學學位,隨後分別獲得普林斯頓大學文學碩士學位哲學博士學位。畢業之後,在貝爾實驗室工作,隨後去麻省理工擔任教授,期間離開一段時間參與ARPANet的設計工作。在1972年世界通信大會上,Bob展示瞭如何將40個不同計算機連接起來進行通信,這也是第一次使網絡這個概念讓世人所知。來自全世界的工程師都意識到,分組交換是一項真正的技術。

 Kahn致力於建立衛星分組網絡的現有項目,併發起了建立基於地面的無線電分組網絡的項目。 這些經驗使他確信需要開發一種開放式體系結構的網絡模型,其中任何網絡都可以與任何其他獨立於單獨的硬件和軟件配置的網絡進行通信。1973年Vint Cer加入了Bob的項目,很快他們設計出了下一代傳輸控制協議,也就是我們今天還在使用的標準TCP協議。

 在IPTO上,Kahn致力於建立衛星分組網絡的現有項目,併發起了建立基於地面的無線電分組網絡的項目。 這些經驗使他確信需要開發一種開放式體系結構的網絡模型,其中任何網絡都可以與任何其他獨立於單獨的硬件和軟件配置的網絡進行通信**。 因此,卡恩爲傳輸控制協議(TCP)的設計設定了四個目標:

  • 網絡連接。 任何網絡都可以通過網關連接到另一個網絡。
  • 分發。 不會有中央網絡的管理或控制。
  • 錯誤恢復。 丟失的數據包將被重新傳輸。
  • 黑匣子設計。 無需對網絡進行內部更改即可將其連接到其他網絡。

 1973年春季,Vinton Cerf加入了Kahn的項目。 他們從對分組無線網絡中可靠的數據通信進行研究開始,並從網絡控制協議中汲取了教訓,然後創建了下一代傳輸控制協議(TCP),這是當今Internet上使用的標準協議。

 在該技術的早期版本中,只有一個核心協議,稱爲TCP。 實際上,這些字母在當時代表的是Transmission Control Program而非今天我們熟知的Transmission Control Protocol。 第一版現代意義上的TCP寫於1973年,然後在1974年12月修訂並正式記錄在RFC 675(Internet傳輸控制程序規範)中。

 在TCP的開發過程中,Cerf和Kahn使用了CYCLADES的概念,這是法國的分組交換網絡,由Louis Pouzin於1973年設計和指導。 它的開發旨在探索ARPANET設計的替代方案,並總體上支持網絡研究。 CYCLADES是第一個使用不可靠的數據報(Pouzin通過組合數據和電報來創造術語“數據報”)和相關端到端協議機制的主機,而不是網絡本身,從而使主機負責數據的可靠傳遞 。

今天我們熟知的TCP/IP是什麼?

Protocol Suite國內的教科書常譯作協議簇,我習慣稱爲協議套件

 實際上,TCP / IP由數十種不同的協議組成,但是隻有少數幾個“主要”協議定義了套件的核心操作。在這些關鍵協議中,通常認爲其中兩個最重要。互聯網協議(IP)是主要的OSI網絡層(第三層)協議,可在互聯網中提供尋址,數據報路由和其他功能。傳輸控制協議(TCP)是主要的傳輸層(第四層)協議,負責連接的建立和管理以及設備上軟件過程之間的可靠數據傳輸。

 由於這兩個協議的重要性,它們的縮寫代表了整個套件:“ TCP / IP”。 IP和TCP非常重要,因爲許多TCP / IP的最關鍵功能是在第三層和第四層實現的。但是,TCP / IP的功能遠不止TCP和IP。整個協議套件需要許多不同的協議和技術來工作,以使功能網絡能夠正確地爲用戶提供所需的應用程序。

 像許多協議套件一樣,Internet協議套件也可以視爲一組層。 每一層解決了涉及數據傳輸的一系列問題,並基於使用來自某些較低層的服務爲較高層協議提供了定義明確的服務。 上層在邏輯上更接近用戶,並處理更多的抽象數據,這依賴於下層協議將數據轉換爲最終可以物理傳輸的形式。

 如RFC 1122中所述,TCP / IP模型包括四個層。從最低到最高,這些層是-鏈路層,Internet層,傳輸層和應用程序層。 應當指出,該模型並非旨在成爲剛性參考模型,必須將新協議納入該參考模型才能被接受爲標準。

當今使用的幾乎所有操作系統,包括所有以消費者爲目標的系統,都包括TCP / IP實現。

再看一遍

【科普】什麼是TCP/IP協議?(個人/科技/it領域)+無字幕

高清體驗,去我的專欄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章