計算機網絡(三)——網絡分層結構


計算機網絡體系結構簡稱網絡體系結構是分層結構。

網絡的層次化不以設備做為標准,協議作為分層的標准

為什么使用分層結構

對網絡分層以后,可以將問題細化,使得問題更加容易分析。把一個大的系統分拆成小的體系后,便於在各個層次上制定標准,從而實現層與層之間的標准接口,從而實現各類網絡硬件和軟件的通信。分層以后,某一層的改動不會影響到其他的層,便於開發。使得層次清晰,可擴展性能,增強穩定性

分層的基本原則

  1. 相互獨立 : 各分層之間 , 相互獨立 , 每層只有一個獨立功能 ;
  2. 界限清晰 : 每層之間界限清晰 , 層級之間的交流盡量減少 ;
  3. 實現技術 : 每層都采用合適的技術實現 , 每層的結構要分開 ;
  4. 獨立特定 : 下層對上層是獨立的 , 上層需要使用下層的服務 ;
  5. 標准工作 : 分層的結構可以促進標准化工作 ;

分層結構介紹

  • 每層遵循某個或某些網絡協議完成本層的功能
  • 網絡體系結構是計算機網絡各層以及其相關協議的集合;
  • 第N層在向N+1層提供服務時,此服務不僅包含第N層本身的功能,還包含由下層服務提供的功能;
  • 僅僅在相鄰層之間有接口,並且所提供服務的具體實現細節對上一層完全屏蔽;

分層結構——OSI參考模型

OSI(Open System Interconnect),即開放式系統互聯。 一般都叫OSI參考模型,是ISO(國際標准化組織)組織在1985年研究的網絡互連模型。

OSI參考模型因為一些原因只是法律上的國際標准,實際使用上還是TCP/IP模型。

OSI參考模型解釋通信過程

1.將傳輸的數據,從A端發送,在經過不同的層級時,分別增加上符合對應協議的附加信息,需要發送的數據也越來越大

2.數據進入傳輸介質,在經過網絡中繼轉換設備時,對發送的數據有一個部分還原過程,主要目的是想知道數據的要往哪里發送;

3.部分還原之后需要繼續傳輸,在比特流上繼續添加附加信息,進入傳輸介質繼續傳輸;

4.傳輸到目的主機時,將之前的附加信息在經過層級的時候一步一步的還原比特流,到達應用層是就等到原來要發送的數據;

參考模型中,

上四層(應用層、表示層、會話層、傳輸層)在數據傳輸過程中,只是只經過一次封裝/解封交互過程是終端對終端的,所以這四層也稱為端對端層。

下三層(網絡層、數據鏈路層、物理層)在傳輸過程中,會經過多個網絡中繼設備,經過多次封裝/解封比特流,每次傳輸只負責傳輸到下一步,不會管傳輸最后的終點,所以這三層也稱為點對點層。

ISO各個分層解析

名稱 

作用

應用層 

直接為用戶的應用進程(例如電子郵件、文件傳輸和終端仿真)提供服務。如HTTP、SMTP、FTP、DNS等

表示層

數據轉換為能與接收者的系統格式兼容並適合傳輸的格式,即讓兩個系統可以交換信息。

功能:數據格式轉換;數據加密解密;數據壓縮恢復

會話層 

負責在數據傳輸中設置和維護計算機網絡中兩台計算機之間的通信連接,保證會話

功能:建立、管理、中止會話;使用校驗點可以在通信失效時,通過校驗點恢復通信,保證數據同步。

傳輸層

負責端到端通訊,傳輸單位為報文段和用戶數據報

功能:可靠傳輸,不可靠傳輸 ,差錯控制,流量控制,復用分用。

網絡層

負責選擇路由最佳路徑,規划IP地址(ipv4和ipv6變化只會影響網絡層),擁塞控制。

主要作用是將分組數據報(也稱為“包”)從源端傳輸到目的端。

擁塞:所有的結點都來不及接受分組,從而丟失大量分組的狀態。

數據鏈路層 

主要作用是將從網絡層傳輸下來的數據報組裝成幀。幀的開始和結束,還有透明傳輸,差錯校驗(糾錯由傳輸層解決)

物理層

利用傳輸介質為數據鏈路層提供屋里連接,實現比特流的透明傳輸。

透明傳輸:不管傳的是什么,所采用的設備只是起一個通道作用,把要傳輸的內容完好的傳到對方。

分層結構——TCP/IP模型

TCP/IP模型同樣采用了分層結構,層與層相對獨立但是相互之間也具備非常密切的協作關系。

TCP/IP模型將網絡分為四層。TCP/IP模型不關注底層物理介質,主要關注終端之間的邏輯數據流轉發。TCP/IP模型的核心是網絡層和傳輸層:網絡層解決網絡之間的邏輯轉發問題,傳輸層保證源端到目的端之間的可靠傳輸。最上層的應用層通過各種協議向終端用戶提供業務應用。

數據封裝:

應用數據需要經過TCP/IP每一層處理之后才能通過網絡傳輸到目的端(數據封裝),每一層上都使用該層的協議數據單元PDU(ProtocolDataUnit)彼此交換信息。

數據封裝 傳輸過程:

1.數據在傳輸層添加TCP報頭后得到的PDU被稱為Segment(數據段)

2.數據段被傳遞給網絡層;

3.網絡層添加IP報頭得到的PDU被稱為Packet(數據包)

4.數據包被傳遞到數據鏈路層,

5.封裝數據鏈路層報頭(MAC報頭、報尾)得到的PDU被稱為Frame(數據幀)

6.最后,幀被轉換為比特流,通過網絡介質傳輸。

TCP/IP各個分層解析

名稱 

作用

應用層

TCP/IP參考模型的應用層包含了所有高層協議。該層與OSI的會話層、表示層和應用層相對應。

傳輸層 

TCP/IP參考模型的傳輸層與OSI的傳輸層相對應。該層允許源主機與目標主機上的對等體之間進行對話。該層定義了兩個端到端的傳輸協議:TCP協議和UDP協議。

網際層

TCP/IP參考模型的網絡層對應OSI的網絡層。該層負責為經過邏輯互聯網絡路徑的數據進行路由選擇

網絡接口層 

TCP/IP參考模型的網絡接口層包括了ISO的數據鏈路層和物理層,因為可以看到源MAC和目標MAC。它是TCP/IP協議的最底層,負責接收從網際層傳來的IP數據報,並且將IP數據報通過底層物理網絡發出去,或者從底層的物理網絡上接收物理幀,解封裝出IP數據報,交給網際層處理。

終端通信

數據包在以太網物理介質上傳播之前必須封裝頭部和尾部信息封裝后的數據包稱為稱為數據幀,數據幀中封裝的信息決定了數據如何傳輸。以太網上傳輸的數據幀有兩種格式,選擇哪種格式由TCP/IP協議簇中的網絡層決定。

MAC地址

網絡設備的MAC地址是全球唯一的。MAC地址長度為48比特,通常用十六進制表示。

MAC地址包含兩部分:前24比特是組織唯一標識符(OUI,OrganizationallyUniqueIdentifier),由IEEE統一分配給設備制造商。

以太網幀

以太網鏈路傳輸的數據包稱做以太幀,或者以太網數據幀。在以太網中,網絡訪問層的軟件必須把數據轉換成能夠通過網絡適配器硬件進行傳輸的格式。

數據鏈路層控制數據幀在物理鏈路上傳輸。

以太網幀格式

以太網上使用兩種標准幀格式。

  • 第一種是上世紀80年代初提出的DIXv2格式,即EthernetII幀格式。EthernetII后來被IEEE802標准接納,並寫進了IEEE802.3x-1997的3.2.6節。
  • 第二種是1983年提出的IEEE802.3格式

這兩種格式的主要區別在於,

  • EthernetII格式中包含一個Type字段,標識以太幀處理完成之后將被發送到哪個上層協議進行處理。
  • IEEE802.3格式中,同樣的位置是Length長度字段

不同的Type字段值可以用來區別這兩種幀的類型,

  • 當Type字段值小於等於1500(或者十六進制的0x05DC)時,幀使用的是IEEE802.3格式。
  • 當Type字段值大於等於1536(或者十六進制的0x0600)時,幀使用的是EthernetII格式。

以太網中大多數的數據幀使用的是EthernetII格式

以太幀中還包括源和目的MAC地址,分別代表發送者的MAC和接收者的MAC,此外還有幀校驗序列字段,用於檢驗傳輸過程中幀的完整性。

兩種幀格式的分類解析

Ethernet_II幀格式


 

Ethernet_II的幀中各字段說明如下:

  1. DMAC(DestinationMAC)是目的MAC地址。DMAC字段長度為6個字節,標識幀的接收者。
  2. SMAC(SourceMAC)是源MAC地址。SMAC字段長度為6個字節,標識幀的發送者。
  3. 類型字段(Type)用於標識數據字段中包含的高層協議,該字段長度為2個字節。類型字段取值為0x0800的幀代表IP協議幀;類型字段取值為0806的幀代表ARP協議幀
  4. 數據字段(Data)是網絡層數據,最小長度必須為46字節以保證幀長至少為64字節,數據字段的最大長度為1500字節。
  5. 循環冗余校驗字段(FCS)提供了一種錯誤檢測機制。該字段長度為4個字節。

EEE802.3幀格式

EEE802.3幀格式類似於Ethernet_II幀,只是Ethernet_II幀的Type域被802.3幀的Length域取代,並且占用了Data字段的8個字節作為LLC和SNAP字段。

  1. Length字段定義了Data字段包含的字節數。
  2. 邏輯鏈路控制LLC(LogicalLinkControl)目的服務訪問點DSAP(DestinationServiceAccessPoint)、源服務訪問點SSAP(SourceServiceAccessPoint)和Control字段組成。
  3. SNAP(Sub-networkAccessProtocol)機構代碼(OrgCode)和類型(Type)字段組成。Orgcode三個字節都為0。Type字段的含義Ethernet_II幀中的Type字段相同。

IEEE802.3幀根據DSAP和SSAP字段的取值又可分為以下幾類:

  • 當DSAP和SSAP都取特定值0xff時,802.3幀就變成了Netware-ETHERNET幀,用來承載NetWare類型的數據
  • 當DSAP和SSAP都取特定值0xaa時,802.3幀就變成了ETHERNET_SNAP幀。ETHERNET_SNAP幀可以用於傳輸多種協議
  • DSAP和SSAP其他的取值均為純IEEE802.3幀

數據幀傳輸

數據鏈路層基於MAC地址進行幀的傳輸。

以太網在二層鏈路上通過MAC地址來唯一標識網絡設備,並且實現局域網上網絡設備之間的通信。MAC地址也叫物理地址,大多數網卡廠商把MAC地址燒入了網卡的ROM中。發送端使用接收端的MAC地址作為目的地址。以太幀封裝完成后會通過物理層轉換成比特流在物理介質上傳輸。

數據幀的接收與發送

幀從主機的物理接口發送出來后,通過傳輸介質傳輸到目的端。共享網絡中,這個幀可能到達多個主機。

主機檢查幀頭中的目的MAC地址

  • 如果目的MAC地址不是本機MAC地址,也不是本機偵聽的組播或廣播MAC地址,則主機會丟棄收到的幀。
  • 如果目的MAC地址是本機MAC地址,則接收該幀,檢查幀校驗序列(FCS)字段,並與本機計算的值對比來確定幀在傳輸過程中是否保持了完整性。

接收該幀,檢查幀校驗序列(FCS)字段,

  • 如果幀的FCS值與本機計算的值不同,主機會認為幀已被破壞,並會丟棄該幀。
  • 如果該幀通過了FCS校驗,則主機會根據幀頭部中的Type字段來確定將幀發送給上層哪個協議處理

本例中,Type字段的值為0x0800,表明該幀需要發送到IP協議上處理。在發送給IP協議之前,幀的頭部和尾部會被剝掉。

局域網上可以發送幀的三種方式

單播

單播,指從單一的源端發送到單一的目的端。每個主機接口由一個MAC地址唯一標識,MAC地址的OUI中,第一字節第8個比特表示地址類型。對於主機MAC地址,這個比特固定為0,表示目的MAC地址為此MAC地址的幀都是發送到某個唯一的目的端。

在沖突域中,所有主機都能收到源主機發送的單播幀,但是其他主機發現目的地址與本地MAC地址不一致后會丟棄收到的幀,只有真正的目的主機才會接收並處理收到的幀。

廣播

廣播,表示幀從單一的源發送到共享以太網上的所有主機。廣播幀的目的MAC地址為十六進制的FF:FF:FF:FF:FF:FF,所有收到該廣播幀的主機都要接收並處理這個幀。

廣播方式會產生大量流量,導致帶寬利用率降低,進而影響整個網絡的性能。所以只有當需要網絡中的所有主機都能接收到相同的信息並進行處理的情況下,通常會使用廣播方式。

組播

組播轉發可以理解為選擇性的廣播,比廣播更加高效。主機偵聽特定組播地址,接收並處理目的MAC地址為該組播MAC地址的幀。

組播MAC地址和單播MAC地址是通過第一字節中的第8個比特區分的。組播MAC地址的第8個比特為1,而單播MAC地址的第8個比特為0。

當需要網絡上的一組主機(而不是全部主機)接收相同信息,並且其他主機不受影響的情況下通常會使用組播方式。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM