1 背景知識
1.1 什麼是計算機網絡
計算機網絡,是指地理位置不同,具有獨立功能的計算機及周邊設備,通過在網絡操作系統中連接的通信線路,管理和協調網絡管理軟件和網絡通信協議,實現計算機系統的資源共享和信息傳輸的計算機系統。
計算機網絡的基本功能是數據通信和資源共享。
資源共享包括硬件、軟件和數據資源的共享。
1.2 網絡的分類
按照覆蓋的地理範圍來分:
-
廣域網:廣域網是一種公共數據網絡,其可以將遠隔千里的計算機連在一起。
-
局域網:局域網一般屬於單位所有,用於將有限範圍內的各種計算機、終端和外部設備連接起來。
-
城域網:是以IP爲基礎,通過計算機網絡、廣播電視臺、電信網的三網融合,形成覆蓋城市區域的網絡通信平臺。
比如:校園網就屬於局域網
2 OSI—開放系統互連基本參考模型
OSI(Open System Interconnection,開放系統互連)七層網絡模型稱爲開放式系統互聯參考模型,是一個邏輯上的定義和規範,顧名思義,把網絡從邏輯上分爲了7層。每一層都有相關、相對應的物理設備,比如路由器,交換機;
OSI七層模型是一種框架性的設計方法,其最主要的功能就是幫助不同類型的主機實現數據傳輸。 學習計算機網絡原理的時候往往用的是五層協議的體系結構 : 物理層, 數據鏈路層, 網絡層, 傳輸層和應用層。但是我們今天瞭解一下七層都有什麼吧。
2.1 物理層
我們都知道,計算機的世界裏只有0和1, 存儲在計算機中也是一大串0和1的組合。但是這些數字不能在真實的物理介質中傳輸,而需要把它轉換爲光信號或者電信號,,所以這一層負責將這些比特流與光電信號進行轉換。
如果沒有物理層, 那麼也就不存在互聯網,,不存在數據的共享, 因爲數據無法在網絡中流動。
所以,物理層處於OSI參考模型的最低層,它利用傳輸介質爲通信的主機之間建立,管理和釋放物理連接,實現比特流的透明傳輸(傳輸單位是比特),保證比特流通過傳輸介質的正確傳輸。
2.2 數據鏈路層
數據在這一層不再是以比特流的形式傳輸,而是分割成一個一個的幀再進行傳輸。也就是說,數據鏈路層是爲網絡層提供數據傳送服務的,這種服務要依靠本層具備的功能來實現。
鏈路層應具備如下功能:
- 鏈路連接的建立、拆除和分離
- 幀定界和幀同步。鏈路層的數據傳輸單元是幀,協議不同,幀的長短和界面也有差別,但無論如何必須對幀進行定界;
- 順序控制,指對幀的收發順序的控制;
- 差錯檢測和恢復。還有鏈路標識,流量控制等等。差錯檢測多用方陣碼校驗和循環碼校驗來檢測信道上數據的誤碼,而幀丟失等用序號檢測。各種錯誤的恢復則常靠反饋重發技術來完成。
2.3 網絡層
網絡層是將網絡地址翻譯成對應的物理地址,通過路由選擇算法爲分組通過通信子網選擇適當的傳輸路徑,實現流量控制、擁塞控制和網絡互聯的功能;網絡層用於本地L A N網段之上的計算機系統建立通信,它之所以可以這樣做,是因爲它有自己的路由地址結構,這種結構與第二層機器地址是分開的、獨立的。這種協議稱爲路由或可路由協議。
爲建立網絡連接和爲上層提供服務,網絡層應具備以下主要功能:
- 路由選擇和中繼;
- 激活,終止網絡連接;
- 在一條數據鏈路上覆用多條網絡連接,多采取分時複用技術;
- 檢測與恢復;
- 排序,流量控制;
- 服務選擇;
- 網絡管理。
2.4 傳輸層
傳輸層是兩臺計算機經過網絡進行數據通信時,第一個端到端的層次,具有緩衝作用。當網絡層服務質量不能滿足要求時,它將服務加以提高,以滿足高層的要求;當網絡層服務質量較好時,它只用很少的工作。傳輸層還可進行復用,即在一個網絡連接上創建多個邏輯連接。傳輸層也稱爲運輸層。傳輸層只存在於端開放系統中,是介於低3層通信子網系統和高3層之間的一層,但是很重要的一層。因爲它是源端到目的端對數據傳送進行控制從低到高的最後一層。
主要功能是端開放系統之間數據的收妥確認。同時,還用於彌補各種通信網路的質量差異,對經過下三層之後仍然存在的傳輸差錯進行恢復,進一步提高可靠性。另外,還通過複用、分段和組合、連接和分離、分流和合流等技術措施,提高吞吐量和服務質量。
這一層主要重點是兩個協議 : UDP 和 TCP。在以後的文章會介紹這兩個協議。
2.5 會話層
會話層負責在網絡中的兩節點之間建立、維持和終止通信。
會話層的功能包括:建立通信鏈接,保持會話過程通信鏈接的暢通,同步兩個節點之間的對話,決定通信是否被中斷以及通信中斷時決定從何處重新發送。
會話層通過決定節點通信的優先級和通信時間的長短來設置通信期限。
2.6 表示層
它的主要作用之一是爲異種機通信提供一種公共語言,以便能進行互操作。這種類型的服務之所以需要,是因爲不同的計算機體系結構使用的數據表示法不同。與第五層提供透明的數據運輸不同,表示層是處理所有與數據表示及運輸有關的問題,包括轉換、加密和壓縮。除此之外,表示層協議還對圖片和文件格式信息進行解碼和編碼。
例如,IBM主機使用EBCDIC編碼,而大部分PC機使用的是ASCII碼。在這種情況下,便需要表示層來完成這種轉換。
2.7 應用層
OSI參考模型的最高層。
其功能是實現應用進程(如用戶程序、終端操作員等)之間的信息交換。同時,還具有一系列業務處理所需要的服務功能。
應用層一般包括公共應用服務要素(CASE)和特定應用服務要素(SASE)。其中CASE提供應用進程中最基本的服務,嚮應用進程提供信息傳送所必需的、但又獨立於應用進程通信的能力。SASE實質上是各種應用進程在應用層中的映射,每一個SASE都針對某一類具體應用,例如文件傳送、訪問和管理(FTAM)、虛擬終端(VT)、消息處理系統(MHS)、電子數據互換(EDI)和目錄查詢等。
2.8 OSI七層模型的優點
OSI七層模型將服務、接口和協議這三個概念明確地區分開來,這樣各個層之間具有很強的獨立性, 所以:
(服務說明某一層爲上一層提供一些什麼功能,接口說明上一層如何使用下層的服務,而協議涉及如何實現本層的服務)
- 減少網絡複雜度 ,一旦網絡發生故障,可迅速定位故障所處層次,便於查找和糾錯;
- 標準化 ,每一層都遵循同樣的標準,便於不同的網絡設備實現互操作
- 模塊化
- 協作
- 加速發展 ,有效刺激網絡技術革新,因爲每次更新都可以在小範圍內進行,不需對整個網絡動大手術。
- 簡單教學
3 TCP/IP五(四)層模型
3.1 什麼是TCP/IP
TCP/IP是一組協議的代名詞,它還包括許多協議,組成了TCP/IP協議簇.
TCP/IP通訊協議採用了5層的層級結構,每一層都呼叫它的下一層所提供的網絡來完成自己的需求.
3.2 分層介紹
3.2.1 物理層
負責光/電信號的傳遞方式
比如現在以太網通用的網線(雙絞線)、早期以太網採用的同軸電纜(現在主要用於有線電視)、光纖, 現在的wifi無線網使用電磁波等都屬於物理層的概念。
物理層的能力決定了最大傳輸速率、傳輸距離、抗干擾性等. 集線器(Hub)工作在物理層.
3.2.2 應用層
TCP/IP模型將OSI參考模型中的會話層和表示層的功能合併到應用層實現。
應用層面向不同的網絡應用引入了不同的應用層協議。其中,有基於TCP協議的,如文件傳輸協議(File Transfer Protocol,FTP)、虛擬終端協議(TELNET)、超文本鏈接協議(Hyper Text Transfer Protocol,HTTP),也有基於UDP協議的。
3.2.3 傳輸層
負責兩臺主機之間的數據傳輸. 如傳輸控制協議 (TCP), 能夠確保數據可靠的從源主機發送到目標主機.
在TCP/IP模型中,傳輸層的功能是使源端主機和目標端主機上的對等實體可以進行會話。在傳輸層定義了兩種服務質量不同的協議。即:傳輸控制協議TCP(transmissioncontrol protocol)和用戶數據報協議UDP(user datagram protocol)。
TCP協議是一個面向連接的、可靠的協議。它將一臺主機發出的字節流無差錯地發往互聯網上的其他主機。在發送端,它負責把上層傳送下來的字節流分成報文段並傳遞給下層。在接收端,它負責把收到的報文進行重組後遞交給上層。TCP協議還要處理端到端的流量控制,以避免緩慢接收的接收方沒有足夠的緩衝區接收發送方發送的大量數據。
UDP協議是一個不可靠的、無連接協議,主要適用於不需要對報文進行排序和流量控制的場合。
3.2.4 網絡層
負責地址管理和路由選擇.
例如在IP協議中, 通過IP地址來標識一臺主機, 並通過路由表的方式規劃出兩臺主機之間的數據傳輸的線路(路由). 路由器(Router)工作在網絡層.
3.2.5 網絡接口層
對實際的網絡媒體的管理,定義如何使用實際網絡(如Ethernet、Serial Line等)來傳送數據。
如簡單電子郵件傳輸(SMTP)、文件傳輸協議(FTP)、網絡遠程訪問協議(Telnet)等.
本文參考:https://me.csdn.net/baidu_37964071