計算機網絡體系結構簡稱網絡體系結構是分層結構。
網絡的層次化不以設備做為標准,以協議作為分層的標准。
為什么使用分層結構
對網絡分層以后,可以將問題細化,使得問題更加容易分析。把一個大的系統分拆成小的體系后,便於在各個層次上制定標准,從而實現層與層之間的標准接口,從而實現各類網絡硬件和軟件的通信。分層以后,某一層的改動不會影響到其他的層,便於開發。使得層次清晰,可擴展性能,增強穩定性等。
分層的基本原則
- 相互獨立 : 各分層之間 , 相互獨立 , 每層只有一個獨立功能 ;
- 界限清晰 : 每層之間界限清晰 , 層級之間的交流盡量減少 ;
- 實現技術 : 每層都采用合適的技術實現 , 每層的結構要分開 ;
- 獨立特定 : 下層對上層是獨立的 , 上層需要使用下層的服務 ;
- 標准工作 : 分層的結構可以促進標准化工作 ;
分層結構介紹
![]() |
|
|
分層結構——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的幀中各字段說明如下:
|
||
| EEE802.3幀格式 |
![]() |
|
| EEE802.3幀格式類似於Ethernet_II幀,只是Ethernet_II幀的Type域被802.3幀的Length域取代,並且占用了Data字段的8個字節作為LLC和SNAP字段。
IEEE802.3幀根據DSAP和SSAP字段的取值又可分為以下幾類:
|
||
數據幀傳輸
數據鏈路層基於MAC地址進行幀的傳輸。
以太網在二層鏈路上通過MAC地址來唯一標識網絡設備,並且實現局域網上網絡設備之間的通信。MAC地址也叫物理地址,大多數網卡廠商把MAC地址燒入了網卡的ROM中。發送端使用接收端的MAC地址作為目的地址。以太幀封裝完成后會通過物理層轉換成比特流在物理介質上傳輸。
數據幀的接收與發送
![]() |
| 幀從主機的物理接口發送出來后,通過傳輸介質傳輸到目的端。共享網絡中,這個幀可能到達多個主機。 主機檢查幀頭中的目的MAC地址,
接收該幀,檢查幀校驗序列(FCS)字段,
本例中,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。 當需要網絡上的一組主機(而不是全部主機)接收相同信息,並且其他主機不受影響的情況下通常會使用組播方式。 |









