OSI網絡架構

網絡中傳輸數據時需要定義並遵循一些標準,以太網是根據IEEE 802.3標準來管理和控制數據幀的。瞭解IEEE802.3標準時充分理解以太網中鏈路層通信的基礎。 
學習目標:

1.理解分層模型的作用
2.掌握以太網中數據幀的結構
3.掌握MAC地址的作用
4.掌握以太網中數據幀轉發的過程
20世紀60年代以來,計算機網絡得到了飛速發展。各大廠商和標準組織爲了在數據通信網絡領域佔據主導地位,紛紛推出了各自的網絡架構體系和標準,如IBM公司的SNA協議,Novell公司的IPX/SPX協議,以及廣泛流行的OSI參考模型和TCP/IP協議。同時,各大廠商根據這些協議生產出了不同的硬件和軟件。標準組織和廠商的共同努力促進了網絡技術的快速發展和網絡設備種類的迅速增長。 
網絡通信中,“協議”和“標準”這兩個詞彙常常可以混用。同時,協議或標準本身又常常具有層次的特點。一般地,關注於邏輯數據關係的協議通常被稱爲上層協議,而關注於物理數據流的協議通常被稱爲低層協議。IEEE 802就是一套用來管理物理數據流在局域網中傳輸的標準, 包括在局域網中傳輸物理數據的802.3以太網標準。還有一些用來管理物理數據流在使用串行介質的廣域網中傳輸的標準,如幀中繼FR( Frame Relay),高級數據鏈路控制HDLC(High-Level Data Link Control),異步傳輸模式ATM(Asynchronous Transfer Mode)。 
è¿éåå¾çæè¿°

國際標準化組織ISO於1984年提出了OSI RM(Open System Interconnection Reference Model,開放系統互連參考模型)。OSI 參考模型很快成爲了計算機網絡通信的基礎模型。 
OSI參考模型具有以下優點:簡化了相關的網絡操作;提供了不同廠商之間的兼容性;促進了標準化工作;結構上進行了分層;易於學習和操作。 
OSI參考模型各個層次的基本功能如下: 
物理層: 在設備之間傳輸比特流,規定了電平、速度和電纜針腳。 
數據鏈路層:將比特組合成字節,再將字節組合成幀,使用鏈路層地址 (以太網使用MAC地址)來訪問介質,並進行差錯檢測。 
網絡層:提供邏輯地址,供路由器確定路徑。 
傳輸層:提供面向連接或非面向連接的數據傳遞以及進行重傳前的差錯檢測。 
會話層:負責建立、管理和終止表示層實體之間的通信會話。該層的通信由不同設備中的應用程序之間的服務請求和響應組成。 
表示層:提供各種用於應用層數據的編碼和轉換功能,確保一個系統的應用層發送的數據能被另一個系統的應用層識別。 
應用層:OSI參考模型中最靠近用戶的一層,爲應用程序提供網絡服務 。

舉個例子就是使用QQ的過程中,QQ的界面顯示就是應用層所關注的,接下來在,表示層就是把你的聊天內容表示成計算機能夠讀懂的數據,在會話層所對應的就是你會同時和好幾個人聊天,就會有好幾個聊天窗,他們分別對應着不同的會話。這三層總體來講是個軟件層面的層次。

傳輸層提供了一個端到端的連接,以端口號來區分連接。 
網絡層提供了IP地址,提供IP尋址和路由。 
數據鏈路層提供了網絡和物理層進行通訊。


è¿éåå¾çæè¿°

 把OSI的上三層合併成一個應用層,把最後的兩層也合併爲網絡接口層。 
TCP/IP模型同樣採用了分層結構,層不層相對獨立但是相互之間也具備非常密切的協作關係。 
TCP/IP模型將網絡分爲四層。TCP/IP模型不關注底層物理介質,主要關注終端之間的邏輯數據流轉發。TCP/IP模型的核心是網絡層和傳輸層 :網絡層解決網絡之間的邏輯轉發問題,傳輸層保證源端到目的端之間的可靠傳輸。最上層的應用層通過各種協議向終端用戶提供業務應用。
è¿éåå¾çæè¿°

應用數據需要經過TCP/IP每一層處理之後才能通過網絡傳輸到目的端, 每一層上都使用該層的協議數據單元PDU(Protocol Data Unit)彼此交換信息。不同層的PDU中包含有丌同的信息,因此PDU在不同層被賦予了不同的名稱。如上層數據在傳輸層添加TCP報頭後得到的PDU被稱爲 Segment(數據段 );數據段被傳遞給網絡層,網絡層添加IP報頭得到的PDU被稱爲Packet(數據包);數據包被傳遞到數據鏈路層,封裝數據鏈路層報頭得到的PDU被稱爲Frame(數據幀);最後,幀被轉換爲比特,通過網絡介質傳輸。這種協議棧逐層向下傳遞數據,並添加報頭和報尾的過程稱爲封裝。

è¿éåå¾çæè¿°

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

è¿éåå¾çæè¿°

 

 

以太網上使用兩種標準幀格式。第一種是Ethernet II,第二種是IEEE 802.3 格式。這兩種格式的主要區別在於,Ethernet II格式中包含一個Type字 段,標識以太幀處理完成之後將被髮送到哪個上層協議進行處理。IEEE 802.3格式中,同樣的位置是長度字段。 
不同的Type字段值可以用來區別這兩種幀的類型,當Type字段值小於等於1500(或者十六進制的0x05DC)時,幀使用的是IEEE 802.3格式 。當Type字段值大於等於1536 (或者十六進制的0x0600)時,幀使用 的是Ethernet II格式。以太網中大多數的數據幀使用的是Ethernet II格式 。 
以太幀中還包括源和目的MAC地址,分別代表發送者的MAC和接收者 的MAC,此外還有幀校驗序列字段,用於檢驗傳輸過程中幀的完整性。

è¿éåå¾çæè¿°

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

è¿éåå¾çæè¿°

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

è¿éåå¾çæè¿°

如同每一個人都有一個名字一樣,每一臺網絡設備都用物理地址來標識自己,這個地址就是MAC地址。網絡設備的MAC地址是全球唯一的。 MAC地址長度爲48比特,通常用十六迚製表示。MAC地址包含兩部分 :前24比特是組織唯一標識符(OUI,Organizationally Unique Identifier),由IEEE統一分配給設備製造商。例如,華爲的網絡產品的MAC地址前24比特是0x00e0fc。後24位序列號是廠商分配給每個產品 的唯一數值,由各個廠商自行分配(這裏所說的產品可以是網卡或者其他需要MAC地址的設備)。
è¿éåå¾çæè¿°

第二種發送方式是廣播,表示幀從單一的源發送到共享以太網上的所有主機。廣播幀的目的MAC地址爲十六進制的FF:FF:FF:FF:FF:FF,所有收到該廣播幀的主機都要接收並處理這個幀。 
廣播方式會產生大量流量,導致帶寬利用率降低,迚而影響整個網絡的性能。 
當需要網絡中的所有主機都能接收到相同的信息並進行處理的情況下, 通常會使用廣播方式。
è¿éåå¾çæè¿°

第三種發送方式爲組播,組播比廣播更加高效。組播轉發可以理解爲選擇性的廣播,主機偵聽特定組播地址,接收並處理目的MAC地址爲該組播MAC地址的幀。 
組播MAC地址和單播MAC地址是通過第一字節中的第8個比特區分的。 組播MAC地址的第8個比特爲1,而單播MAC地址的第8個比特爲0。 
當需要網絡上的一組主機(而不是全部主機)接收相同信息,並且其他主機不受影響的情況下通常會使用組播方式。
è¿éåå¾çæè¿°

幀從主機的物理接口發送出來後,通過傳輸介質傳輸到目的端。共享網絡中,這個幀可能到達多個主機。主機檢查幀頭中的目的MAC地址,如果目的MAC地址不是本機MAC地址,也不是本機偵聽的組播或廣播MAC地址,則主機會丟棄收到的幀。 
如果目的MAC地址是本機MAC地址,則接收該幀,檢查幀校驗序列( FCS)字段,並與本機計算的值對比來確定幀在傳輸過程中是否保持了完整性。如果幀的FCS值與本機計算的值不同,主機會認爲幀已被破壞 ,並會丟棄該幀。如果該幀通過了FCS校驗,則主機會根據幀頭部中的Type字段來確定將幀發送給上層哪個協議處理。本例中,Type字段的值爲0x0800,表明該幀需要發送到IP協議上處理。在發送給IP協議之前 ,幀的頭部和尾部會被剝掉。

總結:

1.網絡設備如何確定以太網數據幀的上層協議? 
答:以太網幀中包含一個type字段,表示幀中數據應該發送到上層哪個協議處理。比如,IP協議對應的Type值爲0x0800,ARP協議對應的Type值爲0x0806。
2.終端設備接收到數據幀時,會如何處理? 
答:主機檢查幀頭中的目的MAC地址,如果目的MAC地址不是本機MAC 地址,也不是本機偵聽的組播或廣播MAC地址,則主機會丟棄收到的幀。如果目的MAC地址是本機MAC地址,則接收該幀,檢查幀校驗序列(FCS)字段,並與本機計算的值對比來確定幀在傳輸過程中是否保持了完整性。如果檢查通過,就會剝離幀頭和幀尾,然後根據幀頭中的Type字段來決定把數據發送到哪個上層協議進行後續處理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章