osi七層

引子

須知一個完整的計算機系統是由硬件、操做系統、應用軟件三者組成,具有了這三個條件,一臺計算機系統就能夠本身跟本身玩了(打個單機遊戲,玩個掃雷啥的)html

若是你要跟別人一塊兒玩,那你就須要上網了,什麼是互聯網?數據庫

互聯網的核心就是由一堆協議組成,協議就是標準,好比全世界人通訊的標準是英語編程

若是把計算機比做人,互聯網協議就是計算機界的英語。全部的計算機都學會了互聯網協議,那全部的計算機都就能夠按照統一的標準去收發信息從而完成通訊了。瀏覽器

人們按照分工不一樣把互聯網協議從邏輯上劃分了層級,緩存

下面是常見的幾種模型:安全

能夠看到基本都是由OSI七層模型進行提煉的。下面時網上找到的一個比較關於OSI模型說明比較全的圖服務器

 經常使用內容:網絡

  • 每一層中經常使用的設備及協議
    • 物理層
      • 設備:網卡,網線,集線器,中繼器,調制解調器
    • 數據鏈路層
      • 設備:網橋,交換機
    • 網絡層
      • 設備:路由器
    • 網關工做在第四層傳輸層及其以上
  • 集線器是物理層設備,採用廣播的形式來傳輸信息。
  • 交換機就是用來進行報文交換的機器。多爲鏈路層設備(二層交換機),可以進行地址學習,採用存儲轉發的形式來交換報文。app

  •  路由器的一個做用是連通不一樣的網絡,另外一個做用是選擇信息傳送的線路。選擇通暢快捷的近路,能大大提升通訊速度,減輕網絡系統通訊負荷,節約網絡系統資源,提升網絡系統暢通率。 框架

OSI各層對應的設備—–集線器、交換機、路由器、中繼器及網關、網橋之間的區別 :

1、集線器

集線器也稱HUB,工做在OSI七層結構的第一層物理層,屬於共享型設備,接收數據廣播發出,在局域網內通常都是星型鏈接拓撲結構,每臺工做站都鏈接到集線器上。因爲集線器的帶寬共享特性致使網絡利用效率極低,通常在大中型的網絡中不會使用到集線器。如今的集線器基本都是全雙工模式,市面上常見的集線器傳輸速率廣泛都爲100Mbps。

2、交換機

交換機顧名思義以交換爲主要功能,工做在OSI第二層(數據鏈路層),根據MAC地址進行數據轉發。交換機的每個端口都屬於一個衝突域,而集線器全部端口屬於一個衝突域。交換機經過分析Ethernet包的包頭信息(其中包含了源MAC地址、目標MAC地址、信息長度等),取得目標MAC地址後,查找交換機中存儲的地址對照表(MAC地址對應的端口),確認具備此MAC地址的網卡鏈接在哪一個端口上,而後將信包送到對應端口,有效的抑制IP廣播風暴。而且信息包處於並行狀態,效率較高。

交換機的轉發延遲很是小,主要的得益於其硬件設計機理很是高效,爲了支持各端口的最大數據傳輸速率,交換機內部轉發信包的背板帶寬都必須遠大於端口帶寬,具備強大的總體吞吐率,才能爲每臺工做站提供更高的帶寬和更高的網絡利用率,能夠知足大型網絡環境大量數據並行處理 的要求。

3、路由器

路由器跟集線器和交換機不一樣,是工做在OSI的第三層(網絡層),根據IP進行尋址轉發數據包。路由器是一種能夠鏈接多個網絡或網段的網絡設備,能將不一樣網絡或網段之間(好比局域網——大網)的數據信息進行轉換,併爲信包傳輸分配最合適的路徑,使它們之間可以進行數據傳輸,從而構成一個更大的網絡。

路由器具備最主要的兩個功能,即數據通道功能和控制功能。數據通道功能包括轉發決定、背板轉發以及輸出鏈路調度等,通常由特定的硬件來完成;控制功能通常用軟件來實現,包括與相鄰路由器之間的信息交換、系統配置、系統管理等。

4、中繼器

中繼器(Repeater)工做於OSI的第一層(物理層),中繼器是最簡單的網絡互聯設備,鏈接同一個網絡的兩個或多個網段,主要完成物理層的功能,負責在兩個網絡節點的物理層上按位傳遞信息,完成信號的複製、調整和放大功能,以此從而增長信號傳輸的距離,延長網絡的長度和覆蓋區域,支持遠距離的通訊。

通常來講,中繼器兩端的網絡部分是網段,而不是子網。中繼器只將任何電纜段上的數據發送到另外一段電纜上,並無論數據中是否有錯誤數據或不適於網段的數據。你們最常接觸的是網絡中繼器,在通信上還有微波中繼器、激光中繼器、紅外中繼器等等,機理相似,舉一反三。

5、網關

網關(Gateway)又叫協議轉換器,網關的概念實際上跟上面的設備型不是一類問題,可是爲了方便參考仍是放到這裏一併介紹。

網關是一種複雜的網絡鏈接設備,能夠支持不一樣協議之間的轉換,實現不一樣協議網絡之間的互連。網關具備對不兼容的高層協議進行轉換的能力,爲了實現異構設備之間的通訊,網關須要對不一樣的鏈路層、專用會話層、表示層和應用層協議進行翻譯和轉換。因此網關兼有路由器、網橋、中繼器的特性。

若要使兩個徹底不一樣的網絡(異構網)鏈接在一塊兒,通常使用網關,在Internet中兩個網絡也要經過一臺稱爲網關的計算機實現互聯。這臺計算機能根據用戶通訊目標計算機的IP地址,決定是否將用戶發出的信息送出本地網絡,同時,它還將外界發送給屬於本地網絡計算機的信息接收過來,它是一個網絡與另外一個網絡相聯的通道。爲了使TCP/IP協議可以尋址,該通道被賦予一個IP地址,這個IP地址稱爲網關地址。

因此,網關的做用就是將兩個使用不一樣協議的網絡段鏈接在一塊兒的設備,對兩 個網絡段中的使用不一樣傳輸協議的數據進行互相的翻譯轉換。在互連設備中,因爲協議轉換的複雜性,通常只能進行一對一的轉換,或是少數幾種特定應用協議的轉換。

6、網橋

網橋和交換機同樣都是工做在OSI模型的第二層(數據鏈路層),能夠當作是一個二層路由器(真正的路由器是工做在網絡層,根據IP地址進行信包轉發)。網橋可有效的將兩個局域網(LAN)連起來,根據MAC地址(物理地址)來轉發幀,使本地通訊限制在本網段內,並轉發相應的信號至另外一網段,網橋一般用於聯接數量很少的、同一類型的網段。
View Code

 詳細的設備工做原理內容會在每一層中進行說明

注:網絡中的傳輸中是按比特計算的,好比:網絡交換機帶寬分爲:10 Mb/s、100 Mb/s、1000 Mb/s、10000 Mb/s(1Gb/s)。Mb/s換算MB/s:1 Mb/s = 0.125 MB/s。

物理層

傳輸數據單元:比特(Bit)

典型的設備網線,集線器,中繼器,調制解調器

介紹

利用傳輸介質爲數據鏈路層提供物理鏈接,實現比特流的透明傳輸。物理層的做用是實現相鄰計算機節點之間比特流的透明傳送,儘量屏蔽掉具體傳輸介質和物理設備的差別。使其上面的數據鏈路層沒必要考慮網絡的具體傳輸介質是什麼。「透明傳送比特流」表示經實際電路傳送後的比特流沒有發生變化,對傳送的比特流來講,這個電路好像是看不見的。物理層關係的是信號,接口和傳輸介質。

典型設備介紹

網卡

 網絡接口控制器(英語:network interface controller,NIC),又稱網絡接口控制器,網絡適配器(network adapter),網卡(network interface card),或局域網接收器(LAN adapter),是一塊被設計用來容許計算機在計算機網絡上進行通信的計算機硬件。因爲其擁有MAC地址,所以屬於OSI模型的第1層。它使得用戶能夠經過電纜或無線相互鏈接。每個網卡都有一個被稱爲MAC地址的獨一無二的48位串行號,它被寫在卡上的一塊ROM中。在網絡上的每個計算機都必須擁有一個獨一無二的MAC地址。沒有任何兩塊被生產出來的網卡擁有一樣的地址。這是由於電氣電子工程師協會(IEEE)負責爲網絡接口控制器銷售商分配惟一的MAC地址。

ethernet規定接入internet的設備都必須具有網卡,發送端和接收端的地址即是指網卡的地址,即mac地址

mac地址:每塊網卡出廠時都被燒製上一個世界惟一的mac地址,長度爲48位2進制,一般由12位16進制數表示(前六位是廠商編號,後六位是流水線號)

中繼器(repeater)

中繼器是位於第1層(OSI參考模型的物理層)的網絡設備。當數據離開源在網絡上傳送時,它是轉換爲可以沿着網絡介質傳輸的電脈衝或光脈衝的——這些脈衝稱爲信號(signal)。當信號離開發送工做站時,信號是規劃的,並且很容易辨認出來。可是,當信號沿着網絡介質進行傳送時, 隨着通過的線纜愈來愈長,信號就會變得愈來愈弱,愈來愈差。中繼器的目的是在比特級別對網絡信號進行再生【放大信號】和重定時,從而使得它們可以在網絡上傳輸更長的距離。

集線器(hub)

集線器的目的是對網絡信號進行再生和重定時。它的特性與中繼器很類似(被稱爲多端口中繼器multiport repeater)。HUB是網絡中各個設備的通用鏈接點,它一般用於鏈接LAN的分段。HUB含有多個端口。每個分組到達某個端口時,都會被複制到其餘全部端口,以便全部的LAN分段都能看見全部的分組。集線器並不認識信號、地址或數據中任何信息模式。
中繼器與集線器的區別在於鏈接設備的線纜的數量。一箇中繼器一般只有兩個端口,而一個集線器一般有4至20個或更多的端口。

集線器可以建立於總線方式相同的爭用環境,當一臺設備進行傳輸時,集線器上其餘的設備都會監聽它,而且爭取下一次的傳輸權利。所以,鏈接在集線器上的設備將平分該集線器所擁有的帶寬。而且在同一集線器上的設備屬於同一個衝突域。

調制解調器(Modem)

調制解調器是Modulator(調製器)與Demodulator(解調器)的簡稱,中文稱爲調制解調器(港臺稱之爲數據機),根據Modem的諧音,親暱地稱之爲「貓」。它是在發送端經過調製將數字信號轉換爲模擬信號,而在接收端經過解調再將模擬信號轉換爲數字信號的一種裝置。
所謂調製,就是把數字信號轉換成電話線上傳輸的模擬信號;解調,即把模擬信號轉換成數字信號。合稱調制解調器。調制解調器是一種計算機硬件,它能把計算機的數字信號翻譯成可沿普通電話線傳送的模擬信號,而這些模擬信號又可被線路另外一端的另外一個調制解調器接收,並譯成計算機可懂的語言。這一簡單過程完成了兩臺計算機間的通訊。

簡單說

物理層的做用就是組網,把一個個電腦用光纜、電纜、雙絞線、無線電波等方式鏈接起來。它主要規定了網絡的一些電氣特性,做用是負責傳送0和1的電信號。

 

大牛博客推薦:https://blog.csdn.net/jeffleo/article/details/53929338

數據鏈路層

傳輸數據單元:幀 (Frame)

典型的設備:網橋,交換機

介紹

數據鏈路層是OSI參考模型中的第二層,介乎於物理層和網絡層之間。數據鏈路層在物理層提供的服務的基礎上向網絡層提供服務,其最基本的服務是將源自網絡層來的數據可靠地傳輸到相鄰節點的目標機網絡層。爲達到這一目的,數據鏈路必須具有一系列相應的功能,主要有:如何將數據組合成數據塊,在數據鏈路層中稱這種數據塊爲幀(frame),幀是數據鏈路層的傳送單位;如何控制幀在物理信道上的傳輸,包括如何處理傳輸差錯,如何調節發送速率以使與接收方相匹配;以及在兩個網絡實體之間提供數據鏈路通路的創建、維持和釋放的管理。

物理鏈路(物理線路):是由傳輸介質與設備組成的。原始的物理傳輸線路是指沒有采用高層差錯控制的基本的物理傳輸介質與設備。
數據鏈路(邏輯線路):在一條物理線路之上,經過一些規程或協議來控制這些數據的傳輸,以保證被傳輸數據的正確性。實現這些規程或協議的硬件和軟件加到物理線路,這樣就構成了數據鏈路。從數據發送點到數據接收點(點到點 point to point)所通過的傳輸途徑。
當採用複用技術時,一條物理鏈路上能夠有多條數據鏈路。

典型設備介紹

網橋

網橋(Bridge)也稱爲橋接器,是鏈接兩個局域網的存儲轉發設備,在功能上與集線器等其餘用於鏈接網段的設備相似,不事後者工做在物理層(OSI模型第1層)。

網橋可以識別數據鏈路層中的數據幀,並將這些數據幀臨時存儲於內存,再從新生成信號做爲一個全新的數據幀轉發給相連的另外一個網段(network segment)。因爲可以對數據幀拆包、暫存、從新打包(稱爲存儲轉發機制 store-and-forward),網橋可以鏈接不一樣技術參數傳輸速率的數據鏈路,如鏈接10BASE-T與100BASE-TX。
數據幀中有一個位叫作FCS,用來經過CRC方式校驗數據幀中的位。網橋能夠檢查FCS,將那些損壞的數據幀丟棄。
網橋在向其餘網段轉發數據幀時會作衝突檢測控制。
網橋還能經過地址自學機制和過濾功能控制網絡流量,具備OSI第2層網絡交換機功能。這稱爲transparent bridge,由DEC在1980年代發明。[1]其機制是網橋內部有一個數據庫,最初沒有數據。當網橋從一個網段收到一個數據幀,就會在數據庫中登記(或者更新)數據幀的源地址屬於這個網段,並檢查數據包的目的地址。若是目的地址在數據庫中屬於另一個網段,則網橋向該網段轉發該數據幀;若是目的地址在數據庫中沒有記錄,則網橋向除了源地址所在以外的其餘全部網段轉發(flood)該數據幀。
橋接器僅僅在不一樣網絡之間有數據傳輸的時候纔將數據轉發到其餘網絡,不是像集線器那樣對全部數據都進行廣播。對於以太網,「橋接」這一術語正式的含義是指匹配IEEE 802.1D標準的設備,即「網絡切換」。橋接器能夠分區網段,不似集線器還是在爲同一碰撞域,因此對帶寬耗損較大。因橋接器透過其內之MAC表格,讓發送幀不會經過,因此其稱之爲數據連接層操做之網絡組件,可隔離碰撞。
如有通訊頻繁的機器,則應置於同區以內,不然性能將下降。

交換機

咱們一般說的交換機是二層交換機,目前還有三層交換機,四層交換機和七層交換機具體見維基百科說明。

二層交換機工做於OSI參考模型的第二層,即數據鏈路層。交換機內部的CPU會在每一個端口成功鏈接時,經過將MAC地址和端口對應,造成一張MAC表。在從此的通信中,發往該MAC地址的數據包將僅送往其對應的端口,而不是全部的端口。所以交換機可用於劃分數據鏈路層廣播,即衝突域;但它不能劃分網絡層廣播,即廣播域。

具體可分爲:

  • 直通轉發(cut-through):數據包的前6個字節(MAC地址)一到達交換機,即肯定目的地址,向相應端口轉發該數據包。這時可能該數據包在接收端口尚未傳輸完。適用於網絡質量好,誤碼率低的情形。
  • 存儲轉發(store-and-forward):交換機把收到的完整數據包暫存,而後檢查其校驗和或其餘;經過檢驗的數據包再讀取其目的地址,向相應端口轉發。
  • 無幀(fragment-free):基本相似於直通轉發。但對數據包的前64個字節作存儲-校驗-轉發。由於大部分誤碼、碰撞(collision)發生在數據包頭64字節。

一般,交換機採起直通轉發,若是誤碼率上升到某個閾值,再改用存儲轉發。

當一臺交換機安裝配置好以後,其工做過程以下:

  • 收到某網段(設爲A)MAC地址爲X的計算機發給MAC地址爲Y的計算機的數據包。交換機從而記下了MAC地址X在網段A。這稱爲學習(learning)。
  • 交換機還不知道MAC地址Y在哪一個網段上,因而向除了A之外的全部網段轉發該數據包。這稱爲泛洪(flooding)。
  • MAC地址Y的計算機收到該數據包,向MAC地址X發出確認包。交換機收到該包後,從而記錄下MAC地址Y所在的網段。
  • 交換機向MAC地址X轉發確認包。這稱爲轉發(forwarding)。
  • 交換機收到一個數據包,查表後發現該數據包的來源地址與目的地址屬於同一網段。交換機將不處理該數據包。這稱爲過濾(filtering)。
  • 交換機內部的MAC地址-網段查詢表的每條記錄採用時間戳記錄最後一次訪問的時間。早於某個閾值(用戶可配置)的記錄被清除。這稱爲老化(aging)。

對於全交換(full-switch)局域網,交換機每一個端口只鏈接一臺設備,所以不會發生碰撞。交換機也不須要作過濾

交換機的分類

  • 傳統交換機(二層交換機)
    • 交換機被普遍應用於二層網絡交換。中檔的網管型交換機還具備VLAN劃分、端口自動協商、MAC訪問控制列表等功能,並提供命令行界面或圖形界面控制檯,供網絡管理員調整參數
  • 三層交換機
    • 三層交換機則能夠處理第三層網絡層協議,用於鏈接不一樣網段,經過對缺省網關的查詢學習來建立兩個網段之間的直接鏈接。
    • 三層交換機具備必定的「路由」功能,但只能用於同一類型的局域網子網之間的互連。這樣,三層交換機能夠像二層交換機那樣經過MAC地址標識數據包,也能夠像傳統路由器那樣在兩個局域網子網之間進行功能較弱的路由轉發,它的路由轉發不是經過軟件來維護的路由表,而是經過專用的ASIC芯片處理這些轉發;
  • 四層交換機  
    • 四層交換機能夠處理第四層傳輸層協議,能夠將會話與一個具體的IP地址綁定,以實現虛擬IP [1] ;
  • 七層交換器
    • 更加智能的交換器,能夠充分利用頻寬資源來過濾,識別和處理應用層數據轉換的交換設備。

交換機與其餘設備的區別

  • 二層交換機與集線器的區別
    • 交換機與集線器不一樣之處是,集線器會將網絡內某一用戶發送的數據包傳至全部已鏈接到集線器的電腦。而交換機則只會將數據包發送到指定目的地的電腦(透過MAC表),相對上能減小數據碰撞及數據被竊聽的機會。交換機更能將同時傳到的數據包分別處理,而集線器則不能。

      最大的不一樣之處在於:集線器的每個接口都處於相同的衝突域,而交換機的每一個接口處於一個衝突域。在性能方面尤其突出:例如在100Mb/s的以太網絡中有100個用戶,使用集線器,每一個用戶只有1Mb/s(100Mb/s/100),由於Hub是共享式的網絡;而使用交換機,每一個接口有100Mb/s,若是有100個接口,總帶寬爲100*100Mb/s(最終的帶寬大小取決於輸入接口的帶寬;即若是輸入端口只有10000M,則達到上限前,每一個用戶都能使用100M帶寬,但一旦全部用戶的總需求超過10000M,用戶將在相同優先級的原則下進行帶寬分配),由於交換機是獨立式的網絡。

  • 二層交換機與路由器的區別
    • 從時間線上看,路由器誕生於交換機以後,爲了彌補交換機不能定向轉發數據包的缺陷。

      「交換」一詞最先出現於電話系統,指兩個不一樣電話交換機之間語音信號的交換。故從本意上講,交換是完成信號由交換設備入口至出口的轉發的技術的統稱。路由器名稱中的「路由」(router)來自於路由器的轉發策略--路由選擇(routing)。交換機和路由器的區別有但不侷限於如下幾點(這裏的交換機和路由器都是常規型號的):

      1.二者工做在OSI模型的不一樣層次上
      交換機工做在OSI模型第二層數據鏈路層,路由器工做在OSI模型第三層網絡層。網絡層提供更多的協議信息,方便路由器作出更加智能的轉發選擇。
      2.二者轉發時所依據的對象不一樣
      交換機是基於MAC地址識別,實現封裝數據包轉發。路由器基於網絡ID號(IP地址)。MAC通常被固化在網卡中,不可更改。而IP地址能夠被系統或網絡管理員進行設置和分配。
      3.二者轉發廣播數據包的域不一樣
      被交換機鏈接起來的網絡屬於同一廣播域,廣播數據包會在網絡內全部網段上進行傳播。鏈接在路由器上的網段則被分區爲不一樣廣播域,廣播數據包只在各自廣播域內傳播而沒法穿透路由器。路由器的這種子網隔離功能能夠在必定程度上防止廣播風暴。

  • 三層交換機與路由器的區別
    • 雖然三層交換機與路由器都具備路由轉發功能,兩者都運行在OSI模型的第三層,即網絡層,可是兩者並不等同,適用範圍也不一樣,不會相互替代。

      1.主打功能不一樣
      三層交換機的主打的功能點是二層交換技術,並附加一點路由轉發功能。路由器的主打功能是路由轉發,並可能附加一些備用功能,好比硬件防火牆、二層交換技術等其它功能。
      2.適用環境不一樣
      三層交換機的路由轉發功能通常都比較粗略,因爲它通常用在簡單的接入網的鏈接。它在以太網中的主要做用仍是提供快速的二層數據交換,功能特色仍是針對頻繁的以太網數據交換。
      路由器的設計初衷就是爲了跨網段鏈接。儘管它也能在局域網內用於鏈接網絡,可是它的路由轉發功能主要用於不一樣類型網絡之間,例如鏈接局域網與廣域網,鏈接以太網和令牌環網。它的主打功能就是路由轉發,專業處理複雜路由路徑和複雜的網絡鏈接。所以,路由器的路由轉發功能,比三層交換機強大得多。路由器的優點是可以選擇最佳路由、負荷分擔、鏈路備份以及與其餘網絡進行路由信息的交換等功能。爲了可以適應各類類型的網絡,路由器的接口類型很是豐富,例如以太網接口、令牌環網接口、WLAN網卡、光纖接口等等。三層交換機通常只有以太網接口。
      3.性能不一樣
      三層交換機的路由轉發是由硬件實現的,使用專用ASIC芯片來處理路由轉發。路由器的路由轉發是由軟件實現的,在CPU中運行一段程序來處理路由轉發。
      因此三層交換機的轉發效率會高過路由器,可是路由轉發的功能都比較弱,因爲路由轉發功能是固化在硬件中的,不具備軟件可擴展性,也就不會具備路由器的附加功能(例如防火牆功能)。

經常使用協議介紹

  • ARQ(Automatic Repeat-reQuest )自動重傳請求協議,錯誤糾正協議之一,包括中止等待ARQ 協議和連續ARQ 協議,錯誤偵測、正面確認、逾時重傳與負面確認繼以重傳等機制。
  • CSMA/CD(Carrrier Sense Multiple Access with Collision Detection)載波監聽多點接入/碰撞檢測協議。總線型網絡,協議的實質是載波監聽和碰撞檢測。載波監聽即發數據前先檢測總線上是否有其餘計算機在發送數據,如暫時不發數據,避免碰撞。碰撞檢測爲計算機邊發送數據邊檢測信道上的信號電壓大小。
  • PPP(Point-to-Ponit Protocol)點對點協議面向字節,由三部分組成:一個將IP 數據報封裝到串行鏈路的方法;一個用於創建、配置和測試數據鏈路鏈接的鏈路控制協議
  • LCP(Link Control Protocol) :一套網絡控制協議NCP 。
  • HDLC (High-Level Data Link Control )高級數據鏈路控制同步網上傳輸數據、面向比特的數據鏈路層協議。
  • ATM (Asynchronous Transfer Mode )異步傳遞方式,創建在電路交換和分組交換的基礎上的一種面向鏈接的快速分組交換技術。 「異步」是指將ATM 信元「異步插入」到同步的 SDH 比特流中。如同步插入則用戶在每幀中所佔的時隙相對位置固定不變。「同步」是指網絡中各鏈路上的比特流都是受同一很是精確的主時鐘的控制。Wi-Fi 、WiMAX 、DTM 、令牌環、以太網、FDDI 、幀中繼、 GPRS 、 EVDO 、HSPA 、L2TP 、ISDN

簡單說

在物理層中咱們實現了電腦直接的互聯,而傳遞的是「0」和「1」這樣的數據,這樣的數據是沒有任何意義的,因此須要有對應的解讀方法。

在這裏須要拓展一下以太網協議。

早期的時候各個公司都有本身的分組方式,後來造成了統一的標準,即以太網協議ethernet

ethernet規定

  • 一組電信號構成一個數據包,叫作‘幀’
  • 每一數據幀分紅:報頭head和數據data兩部分
       head                        data                             

 

head包含:(固定18個字節)

  • 發送者/源地址,6個字節
  • 接收者/目標地址,6個字節
  • 數據類型,6個字節

data包含:(最短46字節,最長1500字節)

  • 數據包的具體內容

head長度+data長度=最短64字節,最長1518字節,超過最大限制就分片發送

其實到了如今這個時候電腦直接已經能夠實現通訊了。在物理層中咱們有網卡,而網卡是惟一的(塊網卡怎麼會知道另外一塊網卡的MAC地址,回答是有一種ARP協議,能夠解決這個問題。這個留到後面介紹,這裏只須要知道,以太網數據包必須知道接收方的MAC地址,而後才能發送),和咱們的手機號同樣。而數據傳輸的格式也有了。ethernet採用最原始的方式,廣播的方式進行通訊,即計算機通訊基本靠吼

雖然可以通訊,可是有個問題,咱們如今知道了低層的數據傳輸基本靠吼,也就是要廣播到同網內的全部人。幾十人,幾百人能夠,像目前全球這樣的用戶使用量來講就有麻煩了,會產生廣播風暴

 

【轉】OSI第二層數據鏈路層介紹1
【轉】OSI第二層數據鏈路層介紹2

網絡層

傳輸數據單元:數據包(Packet )

典型的設備:路由器,防火牆、三層交換機

介紹

網絡層是OSI模型中的第三層(TCP/IP模型中的網際層)。網絡層提供路由和尋址的功能,使兩終端系統可以互連且決定最佳路徑,並具備必定的擁塞控制和流量控制的能力。因爲TCP/IP協議體系中的網絡層功能由IP協議規定和實現,故又稱IP層。

它主要有兩個功能,一個是尋址,一個是路由。

尋址:對網絡層而言使用IP地址來惟一標識互聯網上的設備,網絡層依靠IP地址進行相互通訊(相似於數據鏈路層的MAC地址)

路由:在同一個網絡中的內部通訊並不須要網絡層設備,僅僅靠數據鏈路層就能夠完成相互通訊,對於不一樣的網絡之間相互通訊則必須藉助路由器等三層設備。

典型設備介紹

路由器

路由器(英語:Router,又稱路徑器)是一種電訊網絡設備,提供路由與轉送兩種重要機制,能夠決定數據包歷來源端到目的端所通過的路由路徑(host到host之間的傳輸路徑),這個過程稱爲路由;將路由器輸入端的數據包移送至適當的路由器輸出端(在路由器內部進行),這稱爲轉送。路由工做在OSI模型的第三層——即網絡層,例如網際協議(IP)。

路由器就是鏈接兩個以上個別網絡的設備。

因爲位於兩個或更多個網絡的交匯處,從而可在它們之間傳遞分組(一種數據的組織形式)。路由器與交換機在概念上有必定重疊但也有不一樣:交換機泛指工做於任何網絡層次的數據中繼設備(儘管多指網橋),而路由器則更專一於網絡層。

路由器與交換機的差異,路由器是屬於OSI第三層的產品,交換機是OSI第二層的產品。第二層的產品功能在於,將網絡上各個電腦的MAC地址記在MAC地址表中,當局域網中的電腦要通過交換機去交換傳遞數據時,就查詢交換機上的MAC地址表中的信息,將數據包發送給指定的電腦,而不會像第一層的產品(如集線器)每臺在網絡中的電腦都發送。而路由器除了有交換機的功能外,更擁有路由表做爲發送數據包時的依據,在有多種選擇的路徑中選擇最佳的路徑。此外,並能夠鏈接兩個以上不一樣網段的網絡,而交換機只能鏈接兩個。並具備IP分享的功能,如:區分哪些數據包是要發送至WAN。路由表存儲了(向前往)某一網絡的最佳路徑,該路徑的「路由度量值」以及下一個(跳路由器)。參考條目路由得到這個過程的詳細描述。

儘管也有其它一些不多用到的被路由協議,但路由一般指的就是IP路由。

經常使用協議介紹

  • IP (IPv4 · IPv6) (Internet Protocol) 網絡之間互連的協議
  • ARP (Address Resolution Protocol) 即地址解析協議,實現經過IP 地址得 知其物理地址。
  • RARP (Reverse Address Resolution Protocol)反向地址轉換協議容許局域 網的物理機器從網關服務器的 ARP 表或者緩存上請求其 IP地址。
  • ICMP (Internet Control Message Protocol )Internet 控制報文協議。它是TCP/IP 協議族的一個子協議,用於在IP 主機、路由器之間傳遞控制消息。
  • ICMPv6 :
  • IGMP (Internet Group Management Protocol) Internet 組管理協議,是因特 網協議家族中的一個組播協議,用於 IP 主機向任一個直接相鄰的路由器報 告他們的組成員狀況。
  • RIP (Router information protocol) 路由信息協議是一種在網關與主機之間交換路由選擇信息的標準。
  • OSPF (Open Shortest Path Firs)開放式最短路徑優先,分佈式鏈路狀態協議。
  • BGP(Border Gateway Protocol )邊界網關協議,用來鏈接Internet 上獨立系統的路由選擇協議.採用路徑向量路由選擇協議。
  • IS-IS (Intermediate System to Intermediate System Routing Protocol )中間系統到中間系統的路由選擇協議.
  • IPsec (IP Secure) 「Internet 協議安全性」是一種開放標準的框架結構,經過使用加密的安全服務以確保在 Internet 協議 (IP) 網絡上進行保密而安全的通信。

簡單說

在數據鏈路層的時候說過了若是全部的使用互聯網的用戶在同一個網段中,會產生廣播風暴,因此要將用戶進行劃分,讓他們在不一樣的網段中,本身在本身的小網段中吼。而互聯網就是這無數的子網絡構成的一個巨型網絡。

在網絡層中引入了一套新的地址,讓咱們可以區分不一樣的網段。這套地址就叫作「網絡地址」,簡稱「網址」。

因而,」網絡層」出現之後,每臺計算機有了兩種地址,一種是MAC地址,另外一種是網絡地址。兩種地址之間沒有任何聯繫,MAC地址是綁定在網卡上的,網絡地址則是管理員分配的,它們只是隨機組合在一塊兒。

網絡地址幫助咱們肯定計算機所在的子網絡,MAC地址則將數據包送到該子網絡中的目標網卡。所以,從邏輯上能夠推斷,一定是先處理網絡地址,而後再處理MAC地址。

在這一層中有一個規定網絡地址的協議,叫作IP協議,它所定義的地址,就被稱爲IP地址。目前,普遍採用的是IP協議第四版,簡稱IPv4。這個版本規定,網絡地址由32個二進制位組成。由於IPv4的地址已經不夠用了,因此如今推廣IPv6,聽說能給撒哈拉的每一粒沙子都有一個本身的ip地址。雖然聽起來很厲害,可是因爲IPv4普及時間好久,因此IPv6進行普及還有很長的一段路要走。

ip地址的相關內容,想了解的能夠到下面的第一個連接中查看,這裏就不重複說明了。

而在數據鏈路層挖的ARP的坑下面給填一下。

ARP協議

arp協議由來:計算機通訊基本靠吼,即廣播的方式,全部上層的包到最後都要封裝上以太網頭,而後經過以太網協議發送,在談及以太網協議時候,我門瞭解到

通訊是基於mac的廣播方式實現,計算機在發包時,獲取自身的mac是容易的,如何獲取目標主機的mac,就須要經過arp協議

arp協議功能:廣播的方式發送數據包,獲取目標主機的mac地址

協議工做方式:每臺主機ip都是已知的

例如:主機172.16.10.10/24訪問172.16.10.11/24

一:首先經過ip地址和子網掩碼區分出本身所處的子網

場景 數據包地址
同一子網 目標主機mac,目標主機ip
不一樣子網 網關mac,目標主機ip

 

 

 

二:分析172.16.10.10/24與172.16.10.11/24處於同一網絡(若是不是同一網絡,那麼下表中目標ip爲172.16.10.1,經過arp獲取的是網關的mac)

  源mac 目標mac 源ip 目標ip 數據部分
發送端主機 發送端mac FF:FF:FF:FF:FF:FF 172.16.10.10/24 172.16.10.11/24 數據

 

 

 

 

三:這個包會以廣播的方式在發送端所處的自網內傳輸,全部主機接收後拆開包,發現目標ip爲本身的,就響應,返回本身的mac

 

【轉】ip地址詳解

【轉】OSI第三層網絡層介紹1
【轉】OSI第三層網絡層介紹-ip介紹
【轉】OSI第三層網絡層介紹-路由協議

傳輸層

傳輸數據單元:數據段 (Segment)

典型的設備:進程和端口

介紹

傳輸層的做用是什麼?傳輸層實現端到端的鏈接,端到端是什麼概念呢?打個比方說,一我的用QQ與朋友聊天,網絡層識別IP地址,可以將信息送到正確的主機,而主機應該使用什麼應用協議接收這個信息呢? 這個功能就須要傳輸層來完成,傳輸層實現進程到進程的鏈接。

傳輸層服務經過傳輸層協議的編程接口傳遞給應用進程。該服務能夠包括如下功能:

  • 鏈接導向式通訊:一般對於一個應用進程來講,把鏈接解讀爲數據流而非處理底層的無鏈接模型(如用戶數據報協議(UDP)與網際協議(IP)的數據報文模型)更加容易。
  • 相同次序交付:網絡層一般不保證數據包到達順序與發送順序相同,但這每每是一個可取的特色。這一般是經過給報文段編號來完成的,接收者按次序將它們傳給應用進程。這可能會形成隊頭阻塞。
  • 可靠性:因爲網絡擁塞和錯誤,數據包可能在傳輸過程當中丟失。經過檢錯碼(如校驗和),傳輸協議能夠檢查數據是否損壞,並經過向發送者傳ACK或NACK消息確認正確接收。自動重發請求方案可用於從新傳輸丟失或損壞的數據。
  • 流量控制:有時必須控制兩個節點之間的數據傳輸速率以阻止快速的發送者傳輸超出接收緩衝器所能承受的數據,形成緩衝區溢出。這也能夠經過減小緩衝區不足來提升效率。
  • 擁塞避免:擁塞控制能夠控制進入到電信網絡的流量。
  • 多路複用:端口能夠在單個節點上提供多個端點。例如,郵政地址的名稱是一種多路複用,並區分同一位置的不一樣收件人。每一個計算機應用進程會監聽它們本身的端口,這使得在同一時間可使用多個網絡服務。它是在TCP/IP模型中是傳輸層的一部分,但在OSI模型中屬於會話層。

經常使用協議介紹

  • TCP (Transmission Control Protocol )傳輸控制協議提供可靠的面向鏈接的服務,傳輸數據前須先創建鏈接,結束後釋放。可靠的全雙工信道。可靠、有序、無丟失、不重複。
  • UDP (User Datagram Protocol )用戶數據報協議發送數據前無需創建鏈接,不使用擁塞控制,不保證可靠交付,最大努力交付。
  • DCCP (Datagram Congestion Control Protocol )數據報擁塞控制協議
  • SCTP (STREAM CONTROL TRANSMISSION PROTOCOL )流控制傳 輸協議
  • RTP(Real-time Transport Protocol )實時傳送協議
  • RSVP (Resource ReSer Vation Protocol )資源預留協議
  • PPTP ( Point to Point Tunneling Protocol )點對點隧道協議 

簡單說

網絡層的ip幫咱們區分子網,以太網層的mac幫咱們找到主機,而後你們使用的都是應用程序,你的電腦上可能同時開啓qq,暴風影音,等多個應用程序,

那麼咱們經過ip和mac找到了一臺特定的主機,如何標識這臺主機上的應用程序,答案就是端口,端口即應用程序與網卡關聯的編號。傳輸層的做用就是幫咱們創建端到端的通訊。

補充:端口範圍0-65535,0-1023爲系統佔用端口

tcp協議

可靠傳輸,TCP數據包沒有長度限制,理論上能夠無限長,可是爲了保證網絡的效率,一般TCP數據包的長度不會超過IP數據包的長度,以確保單個TCP數據包沒必要再分割。

以太網頭 ip 頭               tcp頭               數據                                                    

 

 

tcp報文

tcp三次握手和四次揮手

 

udp協議

不可靠傳輸,」報頭」部分一共只有8個字節,總長度不超過65,535字節,正好放進一個IP數據包。

以太網頭 ip頭                      udp頭                            數據        

 

 

 

TCP/UDP傳輸過程1
TCP/UDP傳輸過程2

會話層

會話層,位於OSI模型的第5層,主要爲兩個會話層實體進行會話(Session),而進行的對話鏈接的管理服務。

會話層爲客戶端的應用程序提供了打開、關閉和管理會話的機制,亦即半永久的對話。會話的實體包含了對其餘程序做會話連接的要求及迴應其餘程序提出的會話連接要求。在應用程序的運行環境中,會話層是這些程序用來提出遠程過程調用(remote procedure calls,RPC)的地方。

會話層標準爲了使會話鏈接建立階段能進行功能協商,也爲了便於其它國際標準參考和引用,定義了12種功能單元。各個系統可根據自身狀況和須要,以核心功能服務單元爲基礎,選配其餘功能單元組成合理的會話服務子集。

會話層服務

  • 認證
  • 權限
  • 會話恢復:包括檢查點和恢復

會話層在OSI的模型負責會話檢查點和恢復。它容許不一樣來源的信息流做適當的合併或同步化。

一個例子是在網絡會議的應用,其中音頻和視頻的流串必須同步,以免嘴脣與聲音不一樣步的問題。樓層控制確保在屏幕上顯示的是當前的發言者。

另外一個應用是在電視直播節目中,在那裏音頻和視頻的流串從一個到另外一個合併或轉換時要無縫,以避免出現無聲通話時間或過分重疊。

會話層的主要功能

  1. 爲會話實體間建立鏈接:爲給兩個對等會話服務用戶建立一個會話鏈接,應該作以下幾項工做。
    1. 將會話地址映射爲運輸地址。
    2. 選擇須要的運輸服務質量參數(QoS)。
    3. 對會話參數進行協商。
    4. 識別各個會話鏈接。
    5. 傳送有限的透明用戶數據。
  2. 數據傳輸階段:這個階段是在兩個會話用戶之間實現有組織的,同步的數據傳輸。用戶數據單元爲SSDU,而協議數據單元爲SPDU.會話用戶之間的數據傳送過程是將SSDU轉變成SPDU進行的。
  3. 鏈接釋放:鏈接釋放是經過"有序釋放","廢棄","有限量透明用戶數據傳送"等功能單元來釋放會話鏈接的


  會話層(Session Layer)是OSI模型的第5層,是用戶應用程序和網絡之間的接口,主要任務是:向兩個實體的表示層提供創建和使用鏈接的方法。將不一樣實體之間的表示層 的鏈接稱爲會話。所以會話層的任務就是組織和協調兩個會話進程之間的通訊,並對數據交換進行管理。 用戶能夠按照半雙工、單工和全雙工的方式創建會話。當創建會話時,用戶必須提供他們想要鏈接的遠程地址。而這些地址與MAC(介質訪問控制子層)地址或網絡層的邏輯地址不一樣,它們是爲用戶專門設計的,更便於用戶記憶。

表示層

表示層(Presentation)爲不一樣終端的上層用戶提供數據和信息正確的語法表示變換方法。如文本文件的ASCII格式和EBCDIC,用於表示數字的1S或2S補碼錶示形式。

表示層的主要功能

  • 數據語法轉換
  • 語法表示
  • 鏈接管理
  • 數據處理
    • 數據加密和解密
    • 數據壓縮和解壓
    • 數據編碼和解碼

常見的表示層協議

  • HTTP/HTML
  • FTP
  • Telnet
  • ASN.1

應用層


  應用層(Application Layer)是OSI參考模型的最高層,它是計算機用戶,以及各類應用程序和網絡之間的接口,其功能是直接向用戶提供服務,完成用戶但願在網絡上完成的各類工做。它在其餘6層工做的基礎上,負責完成網絡中應用程序與網絡操做系統之間的聯繫,創建與結束使用者之間的聯繫,並完成網絡用戶提出的各類網絡服務及 應用所需的監督、管理和服務等各類協議。此外,該層還負責協調各個應用程序間的工做。

常見的表示層協議

  • AFP
  • APPC
  • BitTorrent
  • CFDP
  • DHCP
  • DNS
  • FTAM
  • FTP
  • Gopher
  • HTTP
  • IMAP
  • iTMS
  • IRC
  • LDAP
  • Modbus
  • NFS
  • NNTP
  • NTP
  • POP3
  • SIP
  • SMB
  • SMTP
  • SNMP
  • SNTP
  • SSH
  • Telnet
  • TFTP
  • TSP
  • Whois
  • X.400
  • X.500

 

網絡通訊

上面大概分析了一下OSI七層,想了想,仍是作一個分塊大概說說網絡是若是進行通訊的。

想實現網絡通訊,每臺主機需具有四要素

  • 本機的IP地址
  • 子網掩碼
  • 網關的IP地址
  • DNS的IP地址

獲取這四要素分兩種方式

1.靜態獲取

即手動配置

2.動態獲取

經過dhcp獲取

以太網頭 ip頭 udp頭 dhcp數據包

 

 

(1)最前面的」以太網標頭」,設置發出方(本機)的MAC地址和接收方(DHCP服務器)的MAC地址。前者就是本機網卡的MAC地址,後者這時不知道,就填入一個廣播地址:FF-FF-FF-FF-FF-FF。

(2)後面的」IP標頭」,設置發出方的IP地址和接收方的IP地址。這時,對於這二者,本機都不知道。因而,發出方的IP地址就設爲0.0.0.0,接收方的IP地址設爲255.255.255.255。

(3)最後的」UDP標頭」,設置發出方的端口和接收方的端口。這一部分是DHCP協議規定好的,發出方是68端口,接收方是67端口。

這個數據包構造完成後,就能夠發出了。以太網是廣播發送,同一個子網絡的每臺計算機都收到了這個包。由於接收方的MAC地址是FF-FF-FF-FF-FF-FF,看不出是發給誰的,因此每臺收到這個包的計算機,還必須分析這個包的IP地址,才能肯定是否是發給本身的。當看到發出方IP地址是0.0.0.0,接收方是255.255.255.255,因而DHCP服務器知道」這個包是發給個人」,而其餘計算機就能夠丟棄這個包。

接下來,DHCP服務器讀出這個包的數據內容,分配好IP地址,發送回去一個」DHCP響應」數據包。這個響應包的結構也是相似的,以太網標頭的MAC地址是雙方的網卡地址,IP標頭的IP地址是DHCP服務器的IP地址(發出方)和255.255.255.255(接收方),UDP標頭的端口是67(發出方)和68(接收方),分配給請求端的IP地址和本網絡的具體參數則包含在Data部分。

 新加入的計算機收到這個響應包,因而就知道了本身的IP地址、子網掩碼、網關地址、DNS服務器等等參數

網絡通訊流程

1.本機獲取

  • 本機的IP地址:192.168.1.100
  • 子網掩碼:255.255.255.0
  • 網關的IP地址:192.168.1.1
  • DNS的IP地址:8.8.8.8

2.打開瀏覽器,想要訪問Google,在地址欄輸入了網址:www.google.com。

3.dns協議(基於udp協議)

知識補充:

A.root-servers.net198.41.0.4美國
B.root-servers.net192.228.79.201美國(另支持IPv6)
C.root-servers.net192.33.4.12法國
D.root-servers.net128.8.10.90美國
E.root-servers.net192.203.230.10美國
F.root-servers.net192.5.5.241美國(另支持IPv6)
G.root-servers.net192.112.36.4美國
H.root-servers.net128.63.2.53美國(另支持IPv6)
I.root-servers.net192.36.148.17瑞典
J.root-servers.net192.58.128.30美國
K.root-servers.net193.0.14.129英國(另支持IPv6)
L.root-servers.net198.32.64.12美國
M.root-servers.net202.12.27.33日本(另支持IPv6)
13臺根dns
域名定義:http://jingyan.baidu.com/article/1974b289a649daf4b1f774cb.html

頂級域名:以.com,.net,.org,.cn等等屬於國際頂級域名,根據目前的國際互聯網域名體系,國際頂級域名分爲兩類:類別頂級域名(gTLD)和地理頂級域名(ccTLD)兩種。類別頂級域名是                    以"COM"、"NET"、"ORG"、"BIZ"、"INFO"等結尾的域名,均由國外公司負責管理。地理頂級域名是以國家或地區代碼爲結尾的域名,如"CN"表明中國,"UK"表明英國。地理頂級域名通常由各個國家或地區負責管理。

二級域名:二級域名是以頂級域名爲基礎的地理域名,比喻中國的二級域有,.com.cn,.net.cn,.org.cn,.gd.cn等.子域名是其父域名的子域名,比喻父域名是abc.com,子域名就是www.abc.com或者*.abc.com.
通常來講,二級域名是域名的一條記錄,好比alidiedie.com是一個域名,www.alidiedie.com是其中比較經常使用的記錄,通常默認是用這個,可是相似*.alidiedie.com的域名所有稱做是alidiedie.com的二級
域名的定義

 

4.HTTP部分的內容,相似於下面這樣:

GET / HTTP/1.1
Host: www.google.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1) ……
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
Cookie: … …

咱們假定這個部分的長度爲4960字節,它會被嵌在TCP數據包之中。

 

5.TCP協議

TCP數據包須要設置端口,接收方(Google)的HTTP端口默認是80,發送方(本機)的端口是一個隨機生成的1024-65535之間的整數,假定爲51775。

TCP數據包的標頭長度爲20字節,加上嵌入HTTP的數據包,總長度變爲4980字節。

 

6 .IP協議

而後,TCP數據包再嵌入IP數據包。IP數據包須要設置雙方的IP地址,這是已知的,發送方是192.168.1.100(本機),接收方是172.194.72.105(Google)。

IP數據包的標頭長度爲20字節,加上嵌入的TCP數據包,總長度變爲5000字節。

 

7 .以太網協議

最後,IP數據包嵌入以太網數據包。以太網數據包須要設置雙方的MAC地址,發送方爲本機的網卡MAC地址,接收方爲網關192.168.1.1的MAC地址(經過ARP協議獲得)。

以太網數據包的數據部分,最大長度爲1500字節,而如今的IP數據包長度爲5000字節。所以,IP數據包必須分割成四個包。由於每一個包都有本身的IP標頭(20字節),因此四個包的IP數據包的長度分別爲1500、1500、1500、560。

 

 

8. 服務器端響應

通過多個網關的轉發,Google的服務器172.194.72.105,收到了這四個以太網數據包。

根據IP標頭的序號,Google將四個包拼起來,取出完整的TCP數據包,而後讀出裏面的」HTTP請求」,接着作出」HTTP響應」,再用TCP協議發回來。

本機收到HTTP響應之後,就能夠將網頁顯示出來,完成一次網絡通訊。

相關文章
相關標籤/搜索