2.【以太網】筆記

3.1以太網卡

網絡接口卡(Network Interface Card,NIC):通常稱爲網卡,是計算機、交換機、路由器等網絡設備與外部網絡世界相連的關鍵部件。

網卡分爲很多種:例如 令牌環接口卡、FDDI接口卡、以太網接口卡等等。

以太網接口卡,簡稱:以太網卡、以太卡

網卡的主要工作原理是整理計算機上發往網線上的數據,並將數據分解爲適當大小的數據包之後向網絡上發送出去。

邏輯上,網卡包含7個功能模塊:CU(control Unit,控制單元)、OB(output buffer,輸出緩存)、IB(input buffer,輸入緩存)、LC(line coder,線性編碼器),LD(line decoder,線性解碼器)、TX(transmitter,發射器)、RX(receiver,接收器)

計算機通過網卡發送信息流程:

應用軟件產生原始數據----原始數據經過TCP/IP協議中的應、傳、網層處理後,得到一個一個的數據包(Package)------網絡層將這些數據包傳給網卡CU------CU將每個數據包封裝成幀(Frame,以太網中就是以太幀,Ethernet Frame,見3.2)-----之後CU將這些幀傳給OB------OB將幀排成隊列,將幀傳給LC------LC會對接受到的幀進行編碼,邏輯上,一個幀就是長度有限的“0”和“1”,LC編碼就是講這些幀對應的物理狀態實現轉換,並將這些信號傳給TX------TX接受到物理信號,對物理型號的功率進行調整,然後再發送出去,例如雙絞線。

計算機通過網卡接受信息流程:

RX從傳輸介質(例如雙絞線)接受到信號,物理信號,對信號功率進行調整以後傳給LD------LD對接受到的信號進行解碼,就是將物理信號轉換成“0”和“1”的組合,以幀爲單位傳給IB------IB對接受到的幀進行排列,之後傳給CU-------CU對幀進行分析處理,一個幀的處理結果有且只有兩種結果:①直接將幀丟棄  ②將幀的幀頭和幀尾去掉,得到數據包,然後將數據包上傳給TCP/IP模型的網絡層------經過網絡層、傳輸層、應用層的處理,被應用軟件使用。

3.1.2 交換機上的網卡

一臺交換機上有多個用來轉發數據的網絡接口(網口),每個網口總有一個網卡跟他對應。

需要說明的是:如果一臺計算機上有多個端口(網口),一般這些網口都是以獨立器件的形式出現。而在交換機上,網卡一般都是以集成芯片的形式出現的。



3.2以太網幀

IEEE802項目 :美國電氣電子工程師協會(IEEE),在1980年2月(802)指定的標準化項目。

IEEE802旨在指定一系列局域網LAN標準:以太網標準(802.3)、令牌環網絡標準(802.5)、令牌總線網絡標準(802.4)

凡是符合IEEE802標準的網卡,都必須有一個MAC地址(Mdeium Access Control)。不遵從IEEE802標準的網卡不需要有MAC地址。

MAC地址長度爲48bit(6個字節),具有全球唯一性。

MAC地址的組成:

製造商跟IEEE申請,獲得一個長度爲24bit的廠商代碼,也稱爲:OUI。之後廠商生產好網卡後,會將每一個網卡中燒錄一個48bit的BIA地址,BIA地址的前三位就是該製造商的OUI,後三個字節由廠商自己決定。無法更改,只能讀取。

OUI:organizationally-Unique Identifier

BIA:Burned-In Address,固化地址

BIA只是MAC地址的一種,更準確說,MAC地址是一種單播MAC地址。MAC地址一共分三類:單播MAC地址、組播MAC地址、廣播MAC地址。

1.單播MAC地址是指第一個字節的最低位是0的MAC地址。代表了一塊特定的網卡。

2.組播MAC地址是指第一個字節的最低位是1的MAC地址。代表了一組網卡。

3.廣播MAC地址是指每一個比特都是1的MAC地址。廣播MAC地址是組播MAC地址的一個特例。代表了所有網卡。

MAC地址是有48bit。爲了方便,通常採用十六進制數的方式標識一個MAC地址。每兩個十六進制數1組(即一個字節)。一共六組,中間使用“-”或者“:”來連接。也可以使用每四位十六進制一組。

3.2.1 以太幀的格式

以太網技術所用的幀,稱爲以太網幀,或者以太幀(Ethernet Frame)

以太幀有兩個標準:一個是由IEEE802.3定義,稱爲IEEE802.3格式;一個是由DEC、Intel、Xerox三家公司聯合定義,稱爲Ethernet II格式,也稱爲:DIX格式。

兩種格式存在一定的差別,但是都可以用在以太網。DIX格式用的更廣泛一些。承載了某些特殊協議信息的以太幀採用IEEE802.3格式。

幀格式

  •  Ethernet II

是DIX以太網聯盟推出的,它由6個字節的目的MAC地址,6個字節的源MAC地址,2個字節的類型域(用於表示裝在這個Frame、裏面數據的類型),以上爲Frame Header,接下來是46--1500 字節的數據,和4字節的幀校驗CRC)

  • IEEE 802.3/802.2

   802.3的Frame Header和Ethernet II的幀頭有所不同,它把EthernetII類型域變成了長度域(與Novell Ethernet相同)。其中又引入802.2協議(LLC)在802.3幀頭後面添加了一個LLC首部,由DSAP(Destination Service Access Point) 1 byte,SSAP(Source SAP) 1 byte,一個控制域 1 byte! SAP用於表示幀的上層協議。

根據目的MAC地址的種類不同,以太幀可以分爲三類:單播以太幀、組播以太幀、廣播以太幀



3.3 以太網交換機

3.3.1 三種轉發操作

交換機(Switch)會對通過傳輸介質進入其端口的每一個幀都進行轉發操作,交換機的基本作用就是用來轉發幀的。

轉發操作有三種:泛洪(Flooding)、轉發(Forwarding)、丟棄(Discarding)。

泛洪(Flooding):一對多的轉發行爲,從某一端口進來的幀,通過其他端口轉發出去。

轉發(Forwarding):一對一的轉發行爲,從某一端口進來的幀,通過另外一個端口轉發出去。

丟棄(Discarding):交換機直接吧某一端口進來的幀直接丟棄,不進行轉發。

3.3.2 交換機的工作原理(轉發原理)

後面有詳細的講解整個工作流程,可以參考《HCNA網絡技術學習指南》P66-P70

其他重要的知識點:

⒈如果計算機的網卡接受到一個單播幀,會將該單播幀的目的MAC和自己的MAC地址做一個比較,如果相同,會將該單播幀中的載荷數據送至網絡層進行處理;否則直接丟棄。

2.當計算機的網卡接受到一個廣播幀,會直接根據該廣播幀的類型字段直接上送到響應的模塊進行處理。

3.交換機的網卡接受到單播幀時,不會將該單播幀的目的MAC和自己的MAC地址做一個比較,而是直接去查MAC表,然後做出處理動作。

4.交換機的網卡接受到一個廣播幀,直接對該廣播幀進行一個泛洪操作。

3.3.3 多交換機的數據轉發實例:

後面有詳細的講解整個工作流程,可以參考《HCNA網絡技術學習指南》P70-P75

《HCNA網絡技術學習指南》 具體下載地址: http://h5ip.cn/rcee



3.4 MAC地址表

MAC地址表也被稱爲MAC地址映射表,每一個條目被稱爲一個地址表項。

MAC地址表要設計老化機制的原因:

1.現實中,交換機或計算機在網絡中的位置可能會發生變化。當發生變化以後,原本MAC交換機中的地址表項可能就會錯誤地反應當前MAC地址和端口的映射關係。

2.MAC地址表項中的項目太多,交換機查一次所需要的時間就會太長(交換機爲了決定對單播幀實施某種操作,需要時間去查找),交換機的轉發速度會受到一定的影響。

MAC地址表的老化機制:

設置一個倒數機制。當表中不存在這樣一個地址表時,新建這個地址表,並將開始倒數計時,默認值爲300s;

當表中已經存在這樣一個地址表,則將其內容進行更新,同時將倒計時重置爲300s

當倒計時中的時間降爲0時,刪除該表項(老化掉了)

由此可見,倒計時的初始值越小,該MAC地址表的動態性越強,但是太小或者太大都是不理想的。

現實中,一臺低檔的交換機的MAC地址表通常最多可以存放數千條地址表項。中檔:數萬條。高檔:幾十萬條。

計算機中的MAC地址表沒有老化機制。



3.5 ARP

ARP:Address Resolution Protocol 地址解析協議,屬於網絡層協議

其基本作用是:根據已知的IP地址獲得其對應的MAC地址 

每一臺主機在本地的ARP 報文緩衝區裏都會維護一張ARP 列表,裏面存放的是IP 地址與MAC 地址的映射關係。

工作過程:

1.當源主機目標主機發送數據包時,在數據鏈路層傳輸時需要知道目標主機的MAC 地址。因此,源主機 會首先在本地的ARP 列表中查詢該目標主機IP 地址所對應的MAC 地址。

如果存在,則說明查詢成功,於是源主機便向這個MAC 地址發送數據包即可。

如果不存在,源主機會在本地網段內發起一個ARP 請求的廣播包,用來查詢目標主機IP 地址對應的MAC 地址。

2.於是,在本地網段內的所有主機都會收到這個ARP 請求包。當主機收到這個ARP 請求包後,會首先提取出ARP 請求包裏面的目標主機IP地址,查看這個IP 是否與自己的IP 一致,如果不一致,則丟棄這個請求包,ARP緩存中保存下源主機的MAC地址和IP地址對。如果一致,則該主機便會將這個請求包裏的源主機IP 地址和源主機MAC 地址一添加到本地的ARP 列表中(如果已經存在了,便會覆蓋它)。然後,這臺主機便會返回一個單播幀包含了本機MAC 地址的ARP 響應數據包給源主機,告訴它自己的MAC 地址。

3.源主機收到這個ARP 響應數據包後,將目標主機的IP 地址和MAC 地址一添加到自己的ARP 列表中。然後,便根據此信息進行數據的傳輸。如果源主機一直得不到ARP 響應數據包,則說明ARP 查詢失敗。

同時,ARP緩存表也具有動態機制,生存期默認時間是180s,可以修改。

3.5.1 ARP的報文類型

硬件類型:表示硬件地址的類型,值爲1表示以太網地址

協議類型:表示要映射的協議地址類型。它的值爲0x0800表示IP地址類型

硬件地址長度和協議地址長度以字節爲單位,對於以太網上的IP地址的ARP請求或應答來說,他們的值分別爲6和4;

操作類型(op):1表示ARP請求,2表示ARP應答

發送端MAC地址:發送方設備的硬件地址;

發送端IP地址:發送方設備的IP地址;

目標MAC地址:接收方設備的硬件地址。

目標IP地址:接收方設備的IP地址。

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