網絡基礎1

網絡協議初識

OSI七層模型:
OSI(Open System Interconnection,開放系統互連)七層網絡模型稱爲開放式系統互聯參考模型,是⼀個邏輯上的定義和規範 ;
把網絡從邏輯上分爲了 7層.每⼀層都有相關、相對應的物理設備,⽐如路由器,交換機 ;
OSI七層模型是⼀種框架性的設計⽅法,其最主要的功能使就是幫助不同類型的主機實現數據傳輸;
它的最⼤優點是將服務、接⼝和協議這三個概念明確地區分開來,概念清楚,理論也⽐較完整 .通過七個層次化的結構模型使不同的系統不同的網絡之間實現可靠的通訊。
物理層 : O S I 模型的最低層或第一層,該層包括物理連網媒介,如電纜連線連接器。物理層的協議產生並檢測電壓以便發送和接收攜帶數據的信號。
數據鏈路層: O S I 模型的第二層,它控制網絡層與物理層之間的通信。它的主要功能是如何在不可靠的物理線路上進行數據的可靠傳遞。爲了保證傳輸,從網絡層接收到的數據被分割成特定的可被物理層傳輸的幀。幀是用來移動數據的結構包,它不僅包括原始數據,還包括髮送方和接收方的網絡地址以及糾錯和控制信息。其中的地址確定了幀將發送到何處,而糾錯和控制信息則確保幀無差錯到達。 如果在傳送數據時,接收點檢測到所傳數據中有差錯,就要通知發送方重發這一幀。
網絡層: O S I 模型的第三層,其主要功能是將網絡地址翻譯成對應的物理地址,並決定如何將數據從發送方路由到接收方。
傳輸層: O S I 模型中最重要的一層。傳輸協議同時進行流量控制或是基於接收方可接收數據的快慢程度規定適當的發送速率。除此之外,傳輸層按照網絡能處理的最大尺寸將較長的數據包進行強制分割。
會話層: 負責在網絡中的兩節點之間建立和維持通信。 會話層的功能包括:建立通信鏈接,保持會話過程通信鏈接的暢通,同步兩個節點之間的對 話,決定通信是否被中斷以及通信中斷時決定從何處重新發送。
表示層: 應用程序和網絡之間的翻譯官,在表示層,數據將按照網絡能理解的方案進行格式化;這種格式化也因所使用網絡的類型不同而不同。
應用層: 負責對軟件提供接口以使程序能使用網絡服務。術語「應用層」並不是指運行在網絡上的某個特別應用程序 ,應用層提供的服務包括文件傳輸、文件管理以及電子郵件的信息處理。
但是,OSI七層模型既複雜⼜不實⽤,所以我們按照TCP/IP四層模型來講解。
TCP/IP五層(或四層)模型
TCP/IP是⼀組協議的代名詞,它還包括許多協議,組成了 TCP/IP協議簇。
TCP/IP通訊協議採⽤了5層的層級結構,每⼀層都呼叫它的下⼀層所提供的網絡來完成⾃⼰的需求 。
物理層:負責光/電信號的傳遞⽅式.⽐如現在以太網通⽤的網線 (雙絞線)、早期以太⺴採⽤的的同軸電纜(現在主要⽤於有線電視 )、光纖,現在的wifi⽆線⺴使⽤電磁波等都屬於物理層的概念。物理層的能⼒決定了最⼤傳輸速率、傳輸距離、抗干擾性等 .集線器(Hub)⼯作在物理層。
數據鏈路層:負責設備之間的數據幀的傳送和識別 .例如網卡設備的驅動、幀同步 (就是說從網線上檢測到什麼信號算作新幀的開始 )、衝突檢測(如果檢測到衝突就⾃動重發 )、數據差錯校驗等⼯作 。有以太網、令牌環⺴網,⽆線LAN等標準.交換機(Switch)⼯作在數據鏈路層。
網絡層:負責地址管理和路由選擇 ,例如在IP協議中,通過IP地址來標識⼀臺主機 ,並通過路由表的⽅式規劃出兩臺主機之間的數據傳輸的線路 (路由).路由器(Router)⼯作在網路層。
傳輸層:負責兩臺主機之間的數據傳輸 。如傳輸控制協議 (TCP),能夠確保數據可靠的從源主機發送到目標主機。
應⽤層:負責應⽤程序間溝通,如簡單電⼦郵件傳輸( SMTP)、⽂件傳輸協議( FTP)、網絡遠程訪問協議(Telnet)等.我們的網絡編程主要就是針對應⽤層。
物理層我們考慮的⽐較少 ,因此很多時候也可以稱爲 TCP/IP四層模型。
一般來說:
對於⼀臺主機, 它的操作系統內核實現了從傳輸層到物理層的內容;
對於⼀臺路由器, 它實現了從⺴⽹網絡層到物理層;
對於⼀臺交換機, 它實現了從數據鏈路層到物理層;
但是並不絕對. 很多交換機也實現了⺴⽹網絡層的轉發; 很多路由器也實現了部分傳輸層的內容(⽐比如端⼝口轉發)。

網絡傳輸基本流程

網絡傳輸流程圖
同一個網段內的兩臺主機進行文件傳輸。
這裏寫圖片描述
兩臺計算機通過TCP/IP協議通訊的過程如下圖:
這裏寫圖片描述
跨網段的主機的文件傳輸;數據從一臺計算機到另一臺計算機傳輸過程中要經過一個或多個路由器。
這裏寫圖片描述
數據包封裝和分用
  不同的協議層對數據包有不同的稱謂,在傳輸層叫做段(segment),在網絡層叫做數據報 (datagram), 在鏈路層叫做幀(frame);
  應用層數據通過協議棧發到網絡上時,每層協議都要加上一個數據首部(header),稱爲封裝 (Encapsulation);
  首部信息中包含了一些類似於首部有多長, 載荷(payload)有多長, 上層協議是什麼等信息;
  數據封裝成幀後發到傳輸介質上,到達目的主機後每層協議再剝掉相應的⾸首部, 根據⾸首部中的 「上層協議字段」 將數據交給對應的上層協議處理。
  
數據封裝過程:
這裏寫圖片描述
數據分用過程:
這裏寫圖片描述