資料鏈路層(CRC校驗)
- 資料鏈路層的作用是是網路層接受的資料包可以可靠的在物理層的位元通道上傳輸,主要校驗處理傳輸錯誤。
- 資料鏈路層資料鏈路除了物理鏈路以外還包括實現資料傳輸的協議,這些協議由硬體和軟體來完成。介面卡(網絡卡) 就可以實現協議的硬體和軟體。
- 資料鏈路中傳輸的單位是幀,幀有首部(SOH)和尾部(ETO)標誌著幀定界。該層要解決的3個基本問題是:封裝成幀、透明傳輸、差錯檢驗。
- 幀的透明傳輸問題:當幀的資料部分如果出現了尾部(ETO)相同值時,接收端就會在遇到該ETO時認為幀結束了並把後邊的的幀內容當作是無用幀丟掉。
解決方法:在特殊字元前加上轉義字元(0x1B),特殊字元包括:SOH、ETO、轉義字元。
- 資料鏈路層中會對每一幀資料進行CRC校驗,判斷每一幀資料傳輸是否正確。傳送方會在一幀的尾部新增一組根據CRC算出來的結果,接收方會將一幀尾部前的部分進行同樣的CRC演算法,並與幀的尾部(傳送方算出結果)進行比較,如果相等則認為傳輸正確。
CRC演算法原理簡介:方法是將傳輸的二進位制資料除以某生成式(除法描述見下文),並將餘數放到幀的尾部待接收方驗證,餘數位數是多項式位寬數。CRC分為CRC8、CRC16、CRC32等方式資料傳輸校驗準確度依次提高,其生成式的位寬對應於8 、16、32(實際上多項式位數比位寬多一,且首位永遠是1),CRC8、CRC16 、CRC32的生成式是固定的幾個值是別人通過數學的方式研究出來的。
位寬為4的除法描述:
- PPP協議是使用最多的協議是點對點傳輸的協議,特點是:簡單,提供不可靠資料傳輸,只檢驗不糾錯,同時支援多種網路層協議。PPPOE是為寬頻上網的主機使用的鏈路層協議。ppp協議和pppoe協議聯絡密切但不是簡
單的包含與被包含關係。
- ppp協議幀要求: 7E表示幀開始和結尾,FF固定值,03控制欄位
- ppp協議透明傳輸的2種解決方法:非同步傳輸新增轉義字元;同步傳輸5個1後立即新增0。
- 共享通訊媒體資源(文字照片視訊)的兩方法:一是:靜態劃分通道(各種複用技術);二是:動態媒體接入控制。
- 區域網的資料鏈層是很重要的,比如CAN通訊就是區域網也就是說車身上ECU間通訊都是使用的區域網,當然最終的資料可能會通過T-box連上乙太網。
- 計算機與外界區域網相連是通過介面卡也就是網絡卡,電腦硬體地址就儲存在網絡卡的ROM中,MAC幀的目的地址就是尋找符合硬體地址要求的主機。
- 乙太網是區域網一種的 ,是資料鏈路層的。乙太網採用無連線工作方式時對傳送幀不進行編號,不要求回覆確認,差錯幀就丟棄。
- 乙太網的硬體地址也就是MAC地址,實際上就是介面卡地址(介面卡識別符號),與主機所在地無關,源地址和目的地址都是48位長。
- 介面卡有過濾功能它只就收單幀、廣播幀、多播幀。
- 網橋可以在資料鏈路層擴充套件乙太網,其不改變幀的源地址。
- 資料鏈路具有檢測、確認和重傳的作用使得不太可靠的物理鏈路變成了可靠的資料鏈路。
- 最早乙太網就是許多計算機連線在一總線上,所有計算機都可以收到總線上的資訊,資料幀首是地址只有符合地址的計算機可以被接收。
- 乙太網是區域網的一種,現在乙太網幾乎壟斷了區域網成為區域網的代名詞,乙太網現在主要是DIX Ethernet V2標準。
- 為通訊簡便,乙太網採用CSMA/CD協議協調乙太網通訊,防止乙太網資訊衝突,CSMA/CD協議:載波監聽多點接入/碰撞檢測,並且傳送資料採用曼切斯特編碼。下面簡介曼切斯特編碼編碼和CSMA/CD協議 :
曼切斯特編碼 :在二進位制通訊中出現連1或連0時的位提取依舊是比較麻煩的,曼切斯特就將一個碼元分為了兩個相等時間間隔,相當於一個碼元有兩個Bit,然後再約定好10代表1,01代表0,這樣就保證了每個碼元的中間時間都會有一次電平跳變。
CSMA/CD(載波監聽多點接入/碰撞檢測):這個理解了其實就很簡單,解釋這個名字:多點接入表示多站點連線同一總線上;載波監聽指站點可以檢測到通道上的訊號,是站點可檢測的東西之一;當多個站點同時傳送資料時電壓會疊加導致訊號丟失,當電壓變化幅度疊加超過某閘限就認為訊號碰撞 ,通過碰撞檢測發現它,是站點可檢測的東西之一;傳送訊號的前提條件不是檢測通道空閒時才會傳送嗎,怎麼還會有訊號碰撞?那是因為傳輸距離導致的,A發給B訊號,在整個訊號幀都發完了在A和B之間的傳輸線上,但還沒到B,這時B沒有監聽到載波(因為A還沒到)也沒檢測到碰撞,萬一剛好B發出了訊號給A,就碰撞了。那怎麼解決這個問題?如果A發的訊號剛好到B時碰撞了,產生的碰撞訊號再傳回給A的時間,是在這條傳輸線上檢測到最長的碰撞的時間,如果這段時間不碰撞,就說明之後不會碰撞了(仔細想想),這段時間稱為爭用期。還有個要點指的一提:我們要是把傳送一幀的時間設定為爭用期那麼長,就可以讓碰撞在一幀傳送完之前被檢測到,這就是我們所想要的,我們可以及時終止這一幀的傳送和確定下次重傳這一幀,所以每條線路都有最短幀,乙太網規定最短幀為64Btye =512bit。檢測到衝突後的處理方式是什麼呢?見筆記-can通訊
- 10BASE-T:10表示10Mb/s; BASE表示基帶訊號; T表示雙絞線星型結構。
- MAC幀的格式:
- MAC幀和PPP幀的區別是什麼:PPP幀是點對點的資訊幀傳輸,所以沒有目的地址,電腦和路由器之間的通訊就是用的PPP幀(配置路由器)。而MAC幀是廣播的,發給所有主機只有符合目的地址的可以接受到,這個資訊在物理層傳輸時會多8位元組用於同步,具體的接收方式檢視can筆記-can通訊。
- 網橋是連線多個乙太網的裝置,每個乙太網可以稱為一個網段,網橋的一個介面連線一個網段,網橋通過轉發表傳遞不同網段的幀。
- 乙太網網橋轉發表自學習方式:主機A發出一幀後網橋若查詢轉發表沒有發現該目的地址,將幀中的源地址和進入介面放到轉發表中的“位址列“中,然後轉發給其它網橋。這樣相當於如果目的地址是在所有網橋中沒有記錄的,那麼會遍歷一遍所有的網橋,這樣就使得所有網橋中的轉發表中添入了源地址,遍歷的過程中目的地址的主機其實早就收到了該幀。
- 網橋中的轉發表是每隔一段時間按就會清空一次以保證網路拓撲是最新狀態。