↵
目錄
一、計算機網絡體系結構的形成
1.引入
我們知道連接在網絡上的兩臺計算機要相互傳送文件,必須要有一條傳送數據的通路。但這遠遠不夠,還需要以下的工作:
(1)發起通信的計算機必須將數據通信的通路激活。
(2)告訴網絡如何識別接收數據的計算機。
(3)發起通信的計算機需要查明對方是否開機,網絡是否正常。
(4)發起通信的計算機程序需要知道對方是否做好接收和存儲文件的準備。
(5)文件格式不兼容,其中一個計算機應該完成格式轉換。
(6)處理可能發生的意外,如數據傳送錯誤、重複或丟失等,確保對方收到正確的文件。
除了這些,還有需要做的其它工作。
2.體系結構形成的歷史
爲了設計這樣複雜的計算機網絡,最初的ARPANET(美國高級研究計劃署)設計時提出分層的方法。
1974年,美國的IBM公司宣佈了系統網絡體系結構SNA,這個網絡標準就是按照分層的方法制定。
接着其它公司相繼推出不同的體系結構。不同的體系結構就導致自己公司的設備不能與其它公司的產品相互連通。
1977年國際標準化組織ISO爲了解決這種問題,成立了專門的機構研究此問題。
於是他們提出了一個試圖使各種計算機在世界範圍內互聯成網的標準框架,即開放系統互連基本參考模型OSI/RM,簡稱OSI。
1983年形成了開放系統互連基本參考模型的正式文件,即ISO7498國際標準,也就是所謂的七層協議的體系結構。
OSI試圖達到一種理想境界,使全世界都遵循這一統一的標準,計算機就可以很方便的互連。得到了大公司和政府的紛紛支持。
20世紀90年代初期,整套的OSI國際標準已經制定出來,但是此時因特網早已搶先覆蓋了全世界相當大的範圍,而與此同時人們卻很難找到廠家生產OSI標準的商品。
現今規模最大的、覆蓋全世界的因特網並未使用OSI標準。
3.OSI失敗原因
人們歸納出OSI失敗的原因:
(1)OSI專家缺乏實際經驗,在完成OSI標準時缺乏商業驅動力;
(2)OSI協議複雜且運行效率低;
(3)OSI標準擬定週期過長,OSI標準生產的設備無法及時進入市場;
(4)OSI的層次劃分不太合理,有些功能在多個層次重複出現。
個人認爲,中國傳統的思想文化使中國人的學習模仿能力很強,創新能力卻比較差。
得到最廣泛應用的不是法律上的國際標準OSI,而是非國際標準TCP/IP。如此這般,TCP/IP就被當作事實上的國際標準。
所以從某種意義上講,什麼是標準,能夠佔領市場的就是標準。
一個新標準的出現,有時不一定反映其技術水平是最先進的,而是有着濃厚的市場背景的。
二、協議與劃分層次
1.協議的概念
爲進行網絡中的數據交換而建立的規則、標準或約定稱爲網絡協議,簡稱協議。由以下三要素組成:
(1)語法,即數據與控制信息的結構或格式;
(2)語義,即需要發送什麼控制信息,完成什麼動作和做出什麼響應;
(3)同步,即事件實現順序的詳細說明。
我們想讓連接在網絡上的另一臺計算機做點什麼事情(如從網絡上的某個主機下載文件),就需要利用協議。但是當我們經常在自己的PC機上進行文件存盤操作時,就不需要任何網絡協議,除非這個用來存儲文件的磁盤是網絡上的某個文件服務器的磁盤。
2.劃分層次與好處
下圖爲主機1和主機2之間網絡傳送文件:
將工作分爲三類:
第一類與傳送文件直接有關。(是否做好發送和接收的準備,以及文件格式的轉換)
第二類通信服務模塊。(爲上層服務,保證文件和文件傳送命令可靠地在兩個系統間交換)
第三類網絡接入模塊。(爲上層通信模塊提供服務,做與網絡接口細節有關的工作)
這樣就可看出分層帶來的很多好處。
(1)各層之間相互獨立。不需要知道其它 層的實現,僅知道接口服務就可,複雜度低。
(2)靈活性好。一層發生變化,只要接口不變,其它層不會受到影響。
(3)結構可分割。各層都可以採用最合適的技術實現。
(4)易於實現和維護。這種結構使得實現和調試一個複雜系統易於處理,因爲整個系統已經被分解成若干子系統。
(5)能促進標準化工作。因爲每一層的功能及所提供的服務都已有了精確的說明。
分層時注意每一層的功能要非常明確。各層要完成的功能如下:
(1)差錯控制 使得和網絡對等端的相應層次的通信更加可靠。
(2)流量控制 使得發送端的發送速率不要太快,接收端要來的即接收。
(3)分段和重裝 發送的數據塊劃分更小的單位,接收端還原。
(4)複用和分用 發送端幾個高層會話複用一條低層的連接,在接收端再進行分用。
(5)連接建立和釋放 交換數據前先建立一條邏輯連接。接收傳送結束後釋放連接。
我們把計算機網絡的各層及協議的集合,稱爲網絡的體系結構。
三、具有四層協議的TCP/IP體系結構
1.TCP/IP體系結構
OSI的七層協議體系結構概念清楚,理論也較完整,但它既複雜又不實用。TCP/IP體系結構則不同,但它卻得到了廣泛的應用。
各層的作用:
(1)應用層 直接爲用戶的應用進程提供服務。在因特網中的應用協議有很多,包括支持萬維網的HTTP協議,支持電子郵件的SMTP協議,支持文件傳送的FTP協議。
(2)運輸層 運輸層的任務就是負責向兩個主機中的進程之間的通信提供服務。一個主機可同時運行多個進程,因此運輸層有複用和分用的功能。複用就是多個應用層進程可同時使用下面運輸層的服務,分用則是運輸層把收到的信息分別交付給上面應用層中的相應的進程。
運輸層有TCP和UDP兩種協議:
TCP運輸控制協議——是面向連接的,安全可靠的,字節流服務。
UDP用戶數據報協議——是無連接的,不可靠的,數據報服務。
(3)網絡層 使用IP協議,爲分組交換網上的不同主機提供通信服務。把運輸層產生的報文段或數據報封裝成分組或包進行傳送。
(4)網絡接口層 分爲數據鏈路層和物理層。數據鏈路層在兩個相鄰點之間傳送數據時,數據鏈路層將網絡層交下來的IP數據報組裝成幀,傳送幀中的數據(看不見)。每一幀包括數據和必要的控制信息,典型的幀長是幾百到一千多字節。物理層就是透明地傳送比特流,單位是比特,發送“0”、“1”數據。
2.模擬傳遞過程
模擬數據在各層間的傳遞:
主機1的應用進程AP1向主機AP2傳送數據。
AP1先將其數據交給本主機的第5層,第五層加上必要的控制信息H5就變成了下一層的數據單元,第4層收到數據單元后,加上本層的控制信息H4,交給第3層,成爲第3層的數據單元。依此類推,第二層還要加上尾部信息T2,第一層比特流傳送不需要再加控制信息。
主機1的比特流傳送到主機2時,從第1層依此向上到第5層。每一層根據控制信息進行必要的操作,去掉控制信息,將剩下的數據單元上交,最終交給目站的應用進程AP2。
TCP/IP的體系結構比較簡單,只有四層,如下圖使用路由器轉發分組時最高只用到網絡層而沒有用到運輸層和應用層。
下圖中,主機C的應用層中同時有兩個服務器進程在通信:
服務器1與主機A中的客戶1通信,服務器2和主機B中的客戶2通信。
因此有的服務器又何止僅僅能夠爲上萬個客戶提供服務,想想你玩的王者榮耀又面對了多少客戶。
TCP/IP協議可以爲各式各樣的應用提供服務,所謂的 everything over IP,同時TCP/IP協議也允許IP協議在各式各樣的網絡構成的互聯網上運行。正因爲如此,因特網纔會發展到今天的這種全球規模。