Ⅰ 計算機網路的一個習題求解,解答看不懂,題目和解答如下!關於首部檢驗和的計算。
首部檢驗的方法是,吧首部分成一些16字的序列,將首部檢驗置0,然後對這些序列進行反碼算數運算。求出來的這個和的反碼放入首部檢驗位(16位)。收到數據報時進行檢驗:就是把首部再反碼求和一遍,然後再取反碼,這時應該得到0。
所以說前五行就是首部的前五行。
然後接下來的五行就是,換算成2進制的序列。
將這些序列16位的取反碼合(包括和檢驗欄位)得出來首部檢驗和發送前的值。
0111010001001110
然後再取反碼放入首部檢驗位
1000101110110001
沒有算,不過算出來應該就是這樣。
反碼求和時最高位相加產生進位的話結果要+1.
Ⅱ 計算機網路
位元組 也叫Byte,是 計算機 數據的基本 存儲單位 。
8bit(位)=1Byte(位元組)
1024Byte(位元組)=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
其中:K是千 M是兆 G是吉咖 T是太拉。
在電腦里一個中文字是占兩個位元組的。
網際網路發展三個階段
1、是從單個網路ARPANET向互聯網發展的過程
2、建成了三級結構的網際網路
3、逐漸形成多層次ISP結構的網際網路
計算機網路類別:廣域網、城域網、區域網lan、個人區域網
不同使用者網路
公用網、專用網。
接入網用來把用戶接入網際網路的網路 又稱本地接入網、居民接入網。
計算機網路性能指標
速率 比特bit網路技術中的速率指的是連接在計算機網路上的主機在數字信道上傳送數據的速率也成為數據率或比特率、
帶寬 指某個信號具有的 頻帶寬度 單位khz 、表示網路的通信線路所能傳送數據的能力因此網路帶寬表示在單位時間內從網路中的某一點到另一點所能通過的「最高數據率「」 這種意義的帶寬單位是比特每秒 b/s
、 吞吐量 表示在單位時間內通過某個網路(或信道、介面)的數據量 吞吐量受網路的帶寬或網路的額定速率限制
例如,對於一個 100 Mbls 的乙太網,其額定速率是 100 Mbls ,那麼這個數值也是該乙太網的吞吐量的絕對上限值。因此,對 100 Mb/s 的乙太網,其典型的吞吐量可能也只有 70 Mb/s 。請注意,有時吞吐量還可用每秒傳送的位元組數或幀數來表示。、
時延 是指數據從網路的一端傳遞到另外一端所需的時間也成為延遲 或遲延。
網路時延由以下幾部分組成
1、 發送時延 是主機或路由器發送數據傳送數據幀所需要的時間也就是從發送數據幀的第一個比特算起,到該幀的最後一個比特發送完畢所需的時間。
2、 傳播時延 是電磁波在信號中傳播一定的距離需要花費的時間.
3、處理時延
主機或路由器在收到分組時要花費一定的時間進行處理
4、排隊時延
對於高速網路鏈路,我們提高的僅僅是數據的發送速率而不是比特在鏈路上的傳播速率。
提高發送速率只是減小了數據的發送時延。
5、時延帶寬積
又稱為以比特為單位的的鏈路長度
6、往返時間RTT
往返時間 RTT 從發送方發送數據開始, 到發送方收到來自接收方的確認,總共經歷的時間。
7、利用率
信道利用率、網路利用率兩種
信道或網路利用率過高會產生非常大的時延
網路當前時延 = 空閑時的時延 /(1 - 利用率)
一般說來,小時延的網路要優於大時延的網路 在某些情況下,一個低速率、小時延
的網路很可能要優於一個高速率但大時延的網路。
必須指出,在總時延中,究竟是哪一種時延佔主導地位,必須具體分析
計算機網路的非性能特徵
1、費用
2、質量
3、標准化
4、可靠性
5、可擴展性可升級性
6、易於管理和維護
計算機網路體系結構
把計算機網路的各層及其協議的集合 稱為網路的體系結構。
協議與劃分層次
為進行網路中的數據交換而建立的規則、標准或約定 稱為網路協議。 結構應該是層次式的
1、語法 2、語義 3、同步
分層好處
1、各層之間是獨立的
2、靈活性好
3、 結構上可分割開
4、易於實現和維護
5、促進標准化工作
各層要完成的功能
實體、 協議、服務、服務訪問點
實體表示任何可發送或接收信息的 硬體或軟體進程。許多情況下,實體是 一個特定的軟體模塊。
協議是控制兩個對等實體 (或多個實體)進行通信的規則的集合
在同一系統中相鄰兩層的實體 進行交互的地方 稱為服務訪問點 SAP 實際是一個邏輯介面
首先要強調指出,物理層考慮的是怎樣才能在連接各種計算機的傳輸媒體上傳輸數據
比特流,而不是指具體的傳輸媒體。
特性
1、機械特性
2、電氣特性
3、功能特性
4、過程特性
數據通信系統可劃分為三大部分 源系統 : 源點、發送器
目的系統 接收器、終點
通信的目的是傳送消息
數據是運送消息的實體
信號是數據的電氣或電磁的表現
根據信號中代表消息的參數的取值方式不同,信號可分為兩大類
1、模擬信號或連續信號 代表取值連續的
2、數字信號或離散信號 代表取值離散的
信道基本概念
1、單向通信
2、雙向交替通信
3、雙向同時通信
來自信源的信號常稱為基帶信號
系帶信號包含有較多的低頻成分,而許多信道並不能傳輸這種低頻分量或直流分量。解決這個問題 必須對基帶信號進行調制。
信道的極限容量
數字通信優點 在接收端只要我們能從失真的波形識別出原來的信號
限制碼元在信道上的傳輸速率的因素
1、信道能夠通過的頻率范圍
2、信噪比
物理層下的傳輸媒體 也稱為傳輸介質或傳輸媒介 它就是數據傳輸系統中在發送器和接收器之間的物理通路.
傳輸媒體分為 1、導向傳輸媒體
1、雙絞線
2、同軸電纜
3、光纜
2、非導向傳輸媒體。
1、點對點信道
2、廣播信道
鏈路是 從一個結點到相鄰結點的一段物理線路,而中間沒有任何其他的交換結點。
數據鏈路 網路適配器
數據鏈路層協議數據單元-幀
數據鏈路層 把網路層交下來的數據構成幀發送到鏈路上,以及把接收到的幀中數據取出並上交給網路層。在網際網路中,網路層協議數據單元就是 IP 數據報
三個基本問題
每一種鏈路層協議都規定了幀的數據部分的長度上限--最大傳送單元MTU
2、透明傳輸
3、錯檢測
比特差錯 :比特傳輸過程中可能產生差錯 誤碼率:錯誤比特在所有中的比率。
網路傳輸數據時採用差錯檢測措施 目前數據鏈路層廣泛使用循環冗餘檢驗CRC檢錯技術。
PPP協議特點
1、簡單
2、封裝成幀
3、透明性
4、多種網路層協議
5、多種類型鏈路
6、差錯檢測
7、檢測連接狀態
8、最大傳送單元
9、網路層地址協商
10、數據壓縮協商
PPP協議不需要的功能
1、糾錯 只進行檢錯 PPP協議是不可靠的傳輸協議。
2、流量控制
3、序號
4、多點線路
5、半雙工或單工鏈路 PPP只支持全雙工鏈路
PPP協議組成
1、一個將IP數據封裝到串列鏈路的方法
2、一個用來建立、配置和測試數據鏈路連接的鏈路控制協議LCP
3、一套網路控制協議NCP
PPP協議的幀格式
1、欄位的意義
首4個尾2個 信息欄位長度可變不超過1500位元組
尾部中的第一個欄位是使用CRC的幀檢驗序列FCS
2、位元組填充
3、零比特填充
PPP協議工作狀態
PPP鏈路的起始和終止狀態永遠是「鏈路靜止「狀態 這時在PC機和ISP的路由器之間並不存在物理層連接。
鏈路的另一端可以發送以下幾種響應的一種
1、配置確認幀
2、配置否認幀 所有選項都理解不能接受
3、配置拒絕幀 選項有的無法理解或者識別 需要協商
使用廣播信道的數據鏈路層
區域網的數據鏈路層
區域網主要特點 :網路為一個單位所擁有,且地理范圍和站點數目均有限。
優點:
1、具有廣播功能,從一個站點可很方便地訪問全網。
2、便於系統的擴展和逐漸地演變、各設備的位置可靈活調整改變
3、提高了系統的可靠性、可用性、生存性
Ⅲ 關於計算機網路的crc計算
我們知道,一台主機向另外一台主機發送報文的時候,需要一層層經過自己的協議棧進行數據封裝,到達最後一層(四層協議的網路介面層)時需要在幀尾部添加FCS校驗碼(通過CRC演算法得出)。當對端主機收到時,在接收端同樣通過CRC演算法進行驗證,確認傳輸過程中是否出現錯誤。它只能確認一個幀是否存在比特差錯,但沒有提供解決措施。
循環冗餘校驗的原理
在發送端,先把數據劃分為組(即:一幀)。假定每組 k 個比特。
在每組後面,添加供差錯檢測用的 n 位冗餘碼一起發送。即:實際發送長度為:k+n 比特。
發送前雙方協商n+1位的除數P,方便接收方收到後校驗。
給K比特的數據添加除數減一個0(P-1)作為被除數,與第三步確定的除數做「模2除法」。得出的余數即FCS校驗序列,它的位數也必須是(P-1)。
將FCS校驗序列添加至K個比特位的後面發送出去。
接收方對接收到的每一幀進行校驗,若得出的余數 R = 0,則判定這個幀沒有差錯,就接受(accept)。若余數 R ≠ 0,則判定這個幀有差錯,就丟棄。
對「模2除法」進行說明:
「模2除法」與「算術除法」類似,但它既不向上位借位,也不比較除數和被除數的相同位數值的大小,只要以相同位數進行相除即可。模2加法運算為:1+1=0,0+1=1,0+0=0,無進位,也無借位;模2減法運算為:1-1=0,0-1=1,1-0=1,0-0=0,也無進位,無借位。相當於二進制中的邏輯異或運算。
計算示例
那麼接收方拿到的就是:101001001。再以它為被除數,1101為除數進行「模2除法」。
Ⅳ 計算機網路(3)| 數據鏈路層
數據鏈路層屬於計算機網路的低層。數據鏈路層使用的信道主要是兩種類型:
(1)點對點信道 。即信道使用的是一對一點對點通信方式。
(2)廣播信道 。這種信道使用的是一對多的光播通信方式,相對復雜。在廣播信道上連接的主機很多,因此必須使用專用的共享信道協議來協調這些主機的數據發送。
首先我們應該了解一些有關點對點信道的一點基本概念。
(1)數據鏈路 。值得是當我們需要在一條線路上傳送數據時,除了有一條物理線路外(鏈路),還必須有一些必要的通信協議來控制這些數據的傳輸,若把實現這些協議的硬體和軟體加到鏈路上就構成了數據鏈路。
(2)幀 。幀指的是點對點信道的數據鏈路層的協議數據單元,即數據鏈路層把網路層交下來的數據構成幀發送到鏈路上以及把接收到的幀中的數據取出並上交給網路層。
點對點信道的數據鏈路層在進行通信時的主要步驟如下:
(1)結點A的數據鏈路層把網路層交下來的IP數據報添加首部和尾部封裝成幀。
(2)結點A把封裝好的幀發送給結點B的數據鏈路層。
(3)若B接收的幀無差錯,則從接收的幀中提取出IP數據報上交給上面的網路層;否則丟棄這個幀。
接下來是來介紹數據鏈路層的三個基本問題,而這三個問題對於各種數據鏈路層的協議都是通用的。
(1)封裝成幀 。指的是在一段數據的前後分別添加首部和尾部,這樣就構成了一個幀,從而能夠作為數據鏈路層的基本單位進行數據傳輸。在發送幀時,是從幀的首部開始發送的。各種數據鏈路層協議都對幀首部和幀尾部的格式有著明確的規定,且都規定了所能傳送的 幀的數據部分 長度上限—— 最大傳送單元MTU 。首部和尾部的作用是進行幀定界,幀定界可以使用特殊的 幀定界符 ,當數據在傳輸中出現差錯時,通過幀的幀定界符就可以知道收到的數據是一個不完整的幀(即只有首部開始符而沒有結束符)。
(2)透明傳輸 。從上面的介紹中知道幀的開始和結束標記使用了專門的控制字元,因此所傳輸的數據中任何與幀定界符相同的比特編碼是不允許出現的,否則就會出現幀定界錯誤。當傳送的幀是用文本文件組成的幀時,它的數據部分一定不會出現和幀定界符相同的字元,這樣的傳輸就叫做 透明傳輸 。為了解決其他類型文件傳輸時產生的透明傳輸問題,就將幀定界符的前面插入一個 轉義字元ESC ,這種方法稱為 位元組填充 。如果轉義字元也出現在數據中,就在轉義字元前面加上一個轉義字元,當接收端收到兩個轉義字元時,就刪除前面的那一個。
(3)差錯檢測 。在現實中,通信鏈路都不會是完美的,在傳輸比特的過程當中都是會產生差錯的,1變成0或者0變成1都是可能發生的,我們把這樣的錯誤叫做差錯檢測。在數據鏈路層中,為了保證數據傳輸的可靠性,減少差錯出現的數量,就會採用各種差錯檢測措施,目前最常使用的檢錯技術是 循環冗餘校驗 。它的原理簡單來說就是在被傳輸的數據M後面添加供錯檢測用的n為冗餘碼,構成一個幀數據發送出去。關於n位冗餘碼的得出方式與檢驗方式,可以 點擊這里進一步了解 。
對於點對點鏈路,點對點協議PPP是目前使用得最廣泛的數據鏈路層協議。由於網際網路的用戶通常都要連接到某個ISP才能接入到網際網路,PPP協議就是用戶計算機和ISP進行通信所使用的數據鏈路層協議。
在設計PPP協議時必須要考慮以下多方面的需求:
(1)簡單 。簡單的設計可使協議在實現時不容易出錯,這樣使得不同廠商對協議的不同實現的互操作性提高了。
(2)封裝成幀 。PPP協議必須規定特殊的字元作為幀定界符(即標志一個幀的開始和結束的字元),以便使接收端從收到的比特流中能准確的找出幀的開始和結束的位置。
(3)透明性 。PPP協議必須保證數據傳輸的透明性。如果說是數據中碰巧出現和幀定界符一樣的比特組合時,就要採用必要的措施來解決。
(4)多種網路層協議 。PPP協議必須能夠在同一條物理鏈路上同時支持多種網路層協議(IP和IPX等)的運行。
(5)多種類型鏈路 。除了要支持多種網路層的協議外,PPP還必須能夠在多種鏈路上運行(串列與並行鏈路)。
(6)差錯檢測 。PPP協議必須能夠對接收端收到的幀進行檢測,並舍棄有差錯的幀。
(7)檢測連接狀態 。必須具有一種機制能夠及時(不超過幾分鍾)自動檢測出鏈路是否處於正常工作狀態。
(8)最大傳送單元 。協議對每一種類型的點對點鏈路設置最大傳送單元MTU。
(9)網路層地址協商 。協議必須提供一種機制使通信的兩個網路層(如兩個IP層)的實體能夠通過協商知道或能夠配置彼此的網路層地址。
(10)數據壓縮協商 。協議必須能夠提供方法來協商使用數據壓縮演算法。但PPP協議不要求將數據壓縮演算法進行標准化。
PPP協議主要是由三個方面組成的:
(1) 一個將IP數據報封裝到串列鏈路的方法。
(2) 一個用來建立、配置和測試數據鏈路連接的鏈路控制協議LCP(Link Control Protocol)。
(3) 一套網路控制協議NCP(Network Control Protocol),其中的每一個協議支持不同的網路層協議,如IP、OSI的網路層、DECnet,以及AppleTalk等。
最後來介紹PPP協議幀的格式:
首先是各個欄位的意義。首部中的地址欄位A規定為0xFF,控制欄位C規定為0x03,這兩個欄位並沒有攜帶PPP幀的信息。首部的第一個欄位和尾部的第二個欄位都是標識欄位F(Flag)。首部的第四個欄位是2位元組的協議欄位。當協議欄位為0x0021時,PPP幀的信息部分欄位就是IP數據報。若為0xC021,則信息欄位是PPP鏈路控制協議LCP的數據,而 0x8021表示這是網路層的控制數據。尾部中的第一個欄位(2位元組)是使用CRC的幀檢驗序列FCS。
接著是關於PPP協議的差錯檢測的方法,主要分為位元組填充和零比特填充。當是PPP非同步傳輸時,採用的是位元組填充的方法。位元組填充是指當信息欄位中出現和標志欄位一樣的比特(0x7E)組合時,就必須採取一些措施使這種形式上和標志欄位一樣的比特組合不出現在信息欄位中。而當PPP協議使用的是同步傳輸時,就會採用零比特填充方法來實現透明傳輸,即只要發現有5個連續1,則立即填入一個0的方法。
廣播信道可以進行一對多的通信。由於區域網採用的就是廣播通信,因此下面有關廣播通信的討論就是基於區域網來進行的。
首先我們要知道區域網的主要 特點 ,即網路為一個單位所擁有,且地理范圍和站點數目均有限。在區域網才出現時,區域網比廣域網有著較高的數據率、較低的時延和較小的誤碼率。
區域網的 優點 主要有一下幾個方面:
(1) 具有廣播功能,從一個站點可方便地訪問全網。
(2) 便於系統的擴展和逐漸地演變,各設備的位置可靈活地調整和改變。
(3) 提高了系統的可靠性(reliability)、可用性(availibility)、生存性(survivability)。
關於區域網的分類,我們一般是對區域網按照網路拓撲進行分類:
1.星狀網: 由於集線器的出現和雙絞線大量用於區域網中,星形乙太網和多級星形結構的乙太網獲得了非常廣泛的應用。
2.環形網: 顧名思義,就是將各個主機像環一樣串起來的拓撲結構,最典型的就是令牌環形網。
3.匯流排網: 各站直接連在匯流排上。匯流排兩端的匹配電阻吸收在匯流排上傳播的電磁波信號的能量,避免在匯流排上產生有害的電磁波反射。
乙太網主要有兩個標准,即DIX Ethernet V2和IEEE 802.3標准,這兩種標準的差別很小,可以不是很嚴格的區分它們。
但是由於有關廠商的商業上的激烈競爭,導致IEEE 802委員會未能形成一個最佳的區域網標准而制定了幾個不同的區域網標准,所以為了數據鏈路層能夠更好的適應各種不同的標准,委員會就把區域網的數據鏈路層拆成兩個子層: 邏輯鏈路控制LLC子層 和 媒體接入控制MAC子層 。
計算機與外界區域網的連接是通過通信適配器(adapter)來進行的。適配器本來是在電腦主機箱內插入的一塊網路介面板(或者是在筆記本電腦中插入一塊PCMCIA卡),這種介面板又稱為網路介面卡NIC(Network Interface Card)或簡稱為網卡。適配器和區域網之間的通信是通過電纜或雙絞線以串列傳輸方式進行的,而適配器和計算機之間的通信則是通過計算機主板上的I/O匯流排以並行傳輸方式進行的,因此適配器的一個重要功能就是要進行數據串列傳輸和並行傳輸的轉換。由於網路上的數據率和計算機匯流排上的數據率並不相同,所以在適配器中必須裝有對數據進行緩存的存儲晶元。若在主板上插入適配器時,還必須把管理該適配器的設備驅動程序安裝在計算機的操作系統中。這個驅動程序以後就會告訴適配器,應當從存儲器的什麼位置上把多長的數據塊發送到區域網,或應當在存儲器的什麼位置上把區域網傳送過來的數據塊存儲下來。適配器還要能夠實現乙太網協議。
要注意的是,適配器在接收和發送各種幀時是不使用計算機的CPU的,所以這時計算機中的CPU可以處理其他的任務。當適配器收到有差錯的幀時,就把這個幀丟棄而不必通知計算機,而當適配器收到正確的幀時,它就使用中斷來通知該計算機並交付給協議棧中的網路層。當計算機要發送IP數據報時,就由協議棧把IP數據報向下交給適配器,組裝成幀後發送到區域網。特別注意: 計算機的硬體地址—MAC地址,就在適配器的ROM中。計算機的軟體地址—IP地址,就在計算機的存儲器中。
CSMA/CD協議主要有以下3個要點:
1.多點接入 :指的是這是匯流排型網路,許多計算機以多點接入的方式連接在一根匯流排上。
2.載波監聽 :就是用電子技術檢測匯流排上有沒有其他的計算機也在發送。載波監聽也稱為檢測信道,也就是說,為了獲得發送權,不管在發送前,還是在發送中,每一個站都必須不停的檢測信道。如果檢測出已經有其他站在發送,則自己就暫時不發送數據,等到信道空閑時才發送數據。而在發送中檢測信道是為了及時發現有沒有其他站的發送和本站發送的碰撞。
3.碰撞檢測 :也就是邊發送邊監聽。適配器一邊發送數據一邊檢測信道上的信號電壓的變化情況,以便判斷自己在發送數據時其他站是否也在發送數據。所謂碰撞就是信號之間產生了沖突,這時匯流排上傳輸的信號嚴重失真,無法從中恢復出有用的信息來。
集線器的一些特點如下:
(1)使用集線器的乙太網在邏輯上仍然是一個匯流排網,各個站點共享邏輯上的匯流排,使用的還是CSMA/CD協議。
(2)一個集線器是有多個介面。一個集線器就像一個多介面的轉發器。
(3)集線器工作在物理層,所以它的每一個介面僅僅是簡單的轉發比特。它不會進行碰撞檢測,所以當兩個介面同時有信號的輸入,那麼所有的介面都將收不到正確的幀。
(4)集線器自身採用了專門的晶元來進行自適應串音回波抵消。這樣可使介面轉發出去的較強的信號不致對該介面收到的較弱信號產生干擾。
(5)集線器一般都有少量的容錯能力和網路管理能力,也就是說如果在乙太網中有一個適配器出現了故障,不停地發送乙太網幀,這是集線器可以檢測到這個問題從而斷開與故障適配器的連線。
在區域網中,硬體地址又稱為物理地址或者MAC地址,這種地址是用在MAC幀中的。由於6位元組的地址欄位可以使全世界所有的區域網適配器具有不同的地址,所以現在的區域網適配器都是使用6位元組MAC地址。
主要負責分配地址欄位的6個位元組中的前3個位元組。世界上凡事要生產局域適配器的廠家都必須向IEEE購買這3個位元組構成的地址號,這個地址號我們通常叫做 公司標識符 ,而地址欄位的後3個位元組則由廠家自行指派,稱為 擴展標識符 。
IEEE規定地址欄位的第一位元組的最低位為I/G位。當I/G位為0時,地址欄位表示一個單個站地址,而當I/G位為1時表示組地址,用來進行多播。所以IEEE只分配地址欄位前三個位元組中的23位,當I/G位分別為0和1時,一個地址塊可分別生 2^24 個單個站地址和2^24個組地址。IEEE還把地址欄位第1個位元組的最低第二位規定為G/L位。當G/L位為0時是全球管理,來保證在全球沒有相同的地址,廠商向IEEE購買的都屬於全球管理。當地址段G/L位為1時是本地管理,這時用戶可以任意分配網路上的地址,但是乙太網幾乎不會理會這個G/L位的。
適配器對MAC幀是具有的過濾功能的,當適配器從網路上每收到一個MAC幀就先用硬體檢查MAC幀中的目的地址。如果是發往本站的幀則收下,然後再進行其他的處理,否則就將此幀丟棄。這樣做就可以不浪費主機的處理機和內存資源這里發往本站的幀包括以下三種幀:
(1)單播幀:即收到的幀的MAC地址與本站的硬體地址相同。
(2)廣播幀:即發送給本區域網上所有站點的幀。
(3)多播幀:即發送給本區域網上一部分站點的幀。
常用的乙太網MAC幀格式是乙太網V2的MAC幀格式。如下圖:
可以看到乙太網V2的MAC幀比較的簡單,有五個欄位組成。前兩個欄位分別為6位元組長的目的地址和源地址欄位。第三個欄位是2位元組的類型欄位,用來標志上一層使用的是什麼協議,以便把收到的MAC幀的數據上交給上一層的這個協議。下一個欄位是數據欄位,其長度在46到1500位元組之間。最後一個欄位是4位元組的幀檢驗序列FCS(使用CRC檢驗)。
從圖中可以看出,採用乙太網V2的MAC幀並沒有一個結構來存儲一個數據的幀長度。這是由於在曼徹斯特編碼中每一個碼元的正中間一定有一次電壓的轉換,如果當發送方在發送完一個MAC幀後就不再發送了,則發送方適配器的電壓一定是不會在變化的。這樣接收方就可以知道乙太網幀結束的位置,在這個位置減去FCS序列的4個位元組,就可以知道幀的長度了。
當數據欄位的長度小於42位元組時,MAC子層就會在MAC幀後面加入一個整數位元組來填充欄位,來保證乙太網的MAC幀的長度不小於64位元組。當MAC幀傳送給上層協議後,上層協議必須具有能夠識別填充欄位的功能。當上層使用的是IP協議時,其首部就有一個總長度欄位,因此總長度加上填充欄位的長度,就是MAC幀的數據欄位的長度。
從圖中還可以看出,在傳輸MAC幀時傳輸媒體上實際是多發送了8個位元組,這是因為當MAC幀開始接收時,由於適配器的時鍾尚未與比特流達成同步,因此MAC幀的最開始的部分是無法接收的,結果就是會使整個MAC成為無用幀。所以為了接收端能夠迅速的與比特流形成同步,就需要在前面插入這8個位元組。這8個位元組是由兩個部分組成的,第一個部分是由前7個位元組構成的前同步碼,它的主要作用就是就是實現同步。第二個部分是幀開始界定符,它的作用就是告訴接收方MAC幀馬上就要來了。需要注意的是,幀與幀之間的傳輸是需要一定的間隔的,否則接收端在收到了幀開始界定符後就會認為後面的都是MAC幀而會造成錯誤。
乙太網上的主機之間的距離不能太遠,否則主機發送的信號經過銅線的傳輸就會衰減到使CSMA/CD協議無法正常工作,所以在過去常常使用工作在物理層的轉發器來拓展乙太網的地理覆蓋范圍。但是現在隨著雙絞線乙太網成為乙太網的主流類型,拓展乙太網的覆蓋范圍已經很少使用轉發器,而是使用光纖和一對光纖數據機來拓展主機和集線器之間的距離。
光纖解調器的作用是進行電信號與光信號的轉換。由於光纖帶來的時延很小,並且帶寬很寬,所以才用這種方法可以很容易地使主機和幾公里外的集線器相連接。
如果是使用多個集線器,就可以連接成覆蓋更大范圍的多級星形結構的乙太網:
使用多級星形結構的乙太網不僅能夠讓連接在不同的乙太網的計算機能夠進行通信,還可以擴大乙太網的地理覆蓋范圍。但是這樣的多級結構也帶來了一些缺點,首先這樣的結構會增大它們的碰撞域,這樣做會導致圖中的某個系的兩個站在通信時所傳送的數據會通過所有的集線器進行轉發,使得其他系的內部在這時都不能進行通信。其次如果不同的乙太網採用的是不同的技術,那麼就不可能用集線器將它們互相連接起來。
拓展乙太網的更常用的方法是在數據鏈路層中進行的,在開始時人們使用的是網橋。但是現在人們更常用的是 乙太網交換機 。
乙太網交換機實質上是一個多介面的網橋,通常是有十幾個或者更多的介面,而每一個介面都是直接與一個單台主機或者另一個乙太網交換機相連。同時乙太網交換機還具有並行性,即能同時連通多對介面,使多對主機能同時通信,對於相互通信的主機來說都是獨占傳輸媒體且無碰撞的傳輸數據。
乙太網交換機的介面還有存儲器,能夠在輸出埠繁忙時把到來的幀進行緩存,等到介面不再繁忙時再將緩存的幀發送出去。
乙太網交換機還是一種即插即用的設備,它的內部的地址表是通過自學習演算法自動的建立起來的。乙太網交換機由於使用了專用的交換結構晶元,用硬體轉發,它的轉發速率是要比使用軟體轉發的網橋快很多。
如下圖中帶有4個介面的乙太網交換機,它的4個介面各連接一台計算機,其MAC地址分別為A、B、C、D。在開始時,乙太網交換機裡面的交換表是空的。
首先,A先向B發送一幀,從介面1進入到交換機。交換機收到幀後,先查找交換表,但是沒有查到應從哪個介面轉發這個幀,接著交換機把這個幀的源地址A和介面1寫入交換表中,並向除介面1以外的所有介面廣播這個幀。C和D因為目的地址不對會將這個幀丟棄,只有B才收下這個目的地址正確的幀。從新寫入的交換表(A,1)可以得出,以後不管從哪一個介面收到幀,只要其目的地址是A,就應當把收到的幀從介面1轉發出去。以此類推,只要主機A、B、C也向其他主機發送幀,乙太網交換機中的交換表就會把轉發到A或B或C應當經過的借口號寫入到交換表中,這樣交換表中的項目就齊全了,以後要轉發給任何一台主機的幀,就都能夠很快的在交換表中找到相應的轉發介面。
考慮到有時可能要在交換機的介面更換主機或者主機要更換其網路適配器,這就需要更改交換表中的項目,所以交換表中每個項目都設有一定的有效時間。
但是這樣的自學習有時也會在某個環路中無限制的兜圈子,如下圖:
假設一開始主機A通過介面交換機#1向主機B發送一幀。交換機#1收到這個幀後就向所有其他介面進行廣播發送。其中一個幀的走向:離開#1的3->交換機#2的介面1->介面2->交換機#1的介面4->介面3->交換機#2的介面1......一直循環下去,白白消耗網路資源。所以為了解決這樣的問題,IEEE制定了一個生成樹協議STP,其要點就是不改變網路的實際拓撲,但在邏輯上切斷某些鏈路,從而防止出現環路。
虛擬區域網VLAN是由一些區域網網段構成的與物理位置無關的邏輯組,而這些網段具有某些共同的需求。每一個VLAN的幀都有一個明確的標識符,指明發送這個幀的計算機屬於VLAN。要注意虛擬區域網其實只是區域網給用戶提供的一種服務,而不是一種新型區域網。
現在已經有標準定義了乙太網的幀格式的擴展,以便支持虛擬區域網。虛擬區域網協議允許在乙太網的幀格式中插入一個4位元組的標識符,稱為VLAN標記,它是用來指明發送該幀的計算機屬於哪一個虛擬區域網。VLAN標記欄位的長度是4位元組,插入在乙太網MAC幀的源地址欄位和類型欄位之間。VLAN標記的前兩個位元組總是設置為0x8100,稱為IEEE802.1Q標記類型。當數據鏈路層檢測到MAC幀的源地址欄位後面的兩個位元組的值是0x8100時,就知道現在插入了4位元組的VLAN標記。於是就接著檢查後面兩個位元組的內容,在後面的兩個位元組中,前3位是用戶優先順序欄位,接著的一位是規范格式指示符CFI,最後的12位是該虛擬區域網VLAN標識符VID,它唯一的標志了這個以台網屬於哪一個VLAN。
高速乙太網主要是分為三種,即100BASE-T乙太網、吉比特乙太網和10吉比特乙太網:
Ⅳ 在計算機網路中什麼是crc校驗和,怎麼計算
計算機網路原理的計算題(crc校驗和數據傳輸問題)第1題:設要發送的二進制數據為10110011,若採用crc校驗方法,生成多項式為x^4+x^3+1,度求出實際發送的二進制數字序列。(要求寫出計算
計算機網路原理的計算題(crc校驗和數據傳輸問題)
第1題:設要發送的二進制數據為10110011,若採用crc校驗方法,生成多項式為x^4+x^3+1,度求出實際發送的二進制數字序列。(要求寫出計算過程)
這是自考08年四月份的試題,我總是跟答案算的不一樣。
答案是:待發送的序列m=10110011,除數p=11001,m*2^5與除數p進行模2除法運算,得余數r=1000,所以要發送的二進制序列為:101100111000
我不明白為什麼m要乘以2的5次方,我是用101100110000除以11001得到的余數是100。
第2題:一條長度為100km的點對點鏈路,對於一個100位元組的分組,帶寬為多大時傳播延遲等於發送延遲?(信道傳輸速度為2*10^8m/s)
答案是:
傳播延遲為:100km/(2*10^8m/s)=50ms
發送延遲等於傳播延遲時:100/c=50ms
則信道傳輸速率:c=200kbps
Ⅵ 計算機網路CRC檢驗中為什麼選擇16或32位效驗碼,效率最高
循環冗餘校驗(CRC)是一種根據網路數據封包或電腦檔案等數據產生少數固定位數的一種散列函數,主要用來檢測或校驗數據傳輸或者保存後可能出現的錯誤。生成的數字在傳輸或者儲存之前計算出來並且附加到數據後面,然後接收方進行檢驗確定數據是否發生變化。一般來說,循環冗餘校驗的值都是32位的整數。由於本函數易於用二進制的電腦硬體使用、容易進行數學分析並且尤其善於檢測傳輸通道干擾引起的錯誤,因此獲得廣泛應用。它是由W.WesleyPeterson在他1961年發表的論文中披露[1]。{{noteTA|T=zh-hans:循環冗餘校驗;zh-hant:循環冗餘校驗;|1=zh-hans:循環冗餘校驗;zh-hant:循環冗餘校驗;}}'''循環冗餘校驗'''(CRC)是一種根據網路數據封包或[[電腦檔案]]等數據產生少數固定位數的一種[[散列函數]],主要用來檢測或校驗數據傳輸或者保存後可能出現的錯誤。生成的數字在傳輸或者儲存之前計算出來並且附加到數據後面,然後接收方進行檢驗確定數據是否發生變化。一般來說,循環冗餘校驗的值都是32位的整數。由於本函數易於用二進制的[[電腦硬體]]使用、容易進行數學分析並且尤其善於檢測傳輸通道干擾引起的錯誤,因此獲得廣泛應用。它是由[[W.WesleyPeterson]]在他1961年發表的論文中披露{{citejournal|author=Peterson,W.W.andBrown,D.T.|year=1961|month=January|title=CyclicCodesforErrorDetection|journal=ProceedingsoftheIRE|doi=10.1109/JRPROC.1961.287814|issn=0096-8390|volume=49|pages=228}}。==簡介==CRC「校驗和」是兩個位元數據流採用二進制除法(沒有進位,使用XOR異或來代替減法)相除所得到的余數。其中被除數是需要計算校驗和的信息數據流的二進製表示;除數是一個長度為n+1的預定義(短)的二進制數,通常用多項式的系數來表示。在做除法之前,要在信息數據之後先加上n個0.CRCa是基於[[有限域]]GF(2)([[同餘|關於2同餘]])的[[多項式環]]。簡單的來說,就是所有系數都為0或1(又叫做二進制)的多項式系數的集合,並且集合對於所有的代數操作都是封閉的。例如::(x^3+x)+(x+1)=x^3+2x+1\equivx^3+12會變成0,因為對系數的加法都會模2.乘法也是類似的::(x^2+x)(x+1)=x^3+2x^2+x\equivx^3+x我們同樣可以對多項式作除法並且得到商和余數。例如,如果我們用''x''3+''x''2+''x''除以''x''+1。我們會得到::\frac{(x^3+x^2+x)}{(x+1)}=(x^2+1)-\frac{1}{(x+1)}也就是說,:(x^3+x^2+x)=(x^2+1)(x+1)-1這里除法得到了商''x''2+1和余數-1,因為是奇數所以最後一位是1。字元串中的每一位其實就對應了這樣類型的多項式的系數。為了得到CRC,我們首先將其乘以x^{n},這里n是一個固定多項式的[[多項式的階|階]]數,然後再將其除以這個固定的多項式,余數的系數就是CRC。在上面的等式中,x^2+x+1表示了本來的信息位是111,x+1是所謂的'''鑰匙''',而余數1(也就是x^0)就是CRC.key的最高次為1,所以我們將原來的信息乘上x^1來得到x^3+x^2+x,也可視為原來的信息位補1個零成為1110。一般來說,其形式為::M(x)\cdotx^{n}=Q(x)\cdotK(x)+R(x)這里M(x)是原始的信息多項式。K(x)是n階的「鑰匙」多項式。M(x)\cdotx^{n}表示了將原始信息後面加上n個0。R(x)是余數多項式,既是CRC「校驗和」。在通訊中,發送者在原始的信息數據M後加上n位的R(替換本來附加的0)再發送。接收者收到M和R後,檢查M(x)\cdotx^{n}-R(x)是否能被K(x)整除。如果是,那麼接收者認為該信息是正確的。值得注意的是M(x)\cdotx^{n}-R(x)就是發送者所想要發送的數據。這個串又叫做''codeword''.CRCs經常被叫做「[[校驗和]]」,但是這樣的說法嚴格來說並不是准確的,因為技術上來說,校驗「和」是通過加法來計算的,而不是CRC這里的除法。「[[錯誤糾正編碼]]」常常和CRCs緊密相關,其語序糾正在傳輸過程中所產生的錯誤。這些編碼方式常常和數學原理緊密相關。==實現====變體==CRC有幾種不同的變體*shiftRegister可以逆向使用,這樣就需要檢測最低位的值,每次向右移動一位。這就要求polynomial生成逆向的數據位結果。''實際上這是最常用的一個變體。''*可以先將數據最高位讀到移位寄存器,也可以先讀最低位。在通訊協議中,為了保留CRC的[[突發錯誤]]檢測特性,通常按照[[物理層]]發送數據位的方式計算CRC。*為了檢查CRC,需要在全部的碼字上進行CRC計算,而不是僅僅計算消息的CRC並把它與CRC比較。如果結果是0,那麼就通過這項檢查。這是因為碼字M(x)\cdotx^{n}-R(x)=Q(x)\cdotK(x)可以被K(x)整除。*移位寄存器可以初始化成1而不是0。同樣,在用演算法處理之前,消息的最初n個數據位要取反。這是因為未經修改的CRC無法區分只有起始0的個數不同的兩條消息。而經過這樣的取反過程,CRC就可以正確地分辨這些消息了。*CRC在附加到消息數據流的時候可以進行取反。這樣,CRC的檢查可以用直接的方法計算消息的CRC、取反、然後與消息數據流中的CRC比較這個過程來完成,也可以通過計算全部的消息來完成。在後一種方法中,正確消息的結果不再是0,而是\sum_{i=n}^{2n-1}x^{i}除以K(x)得到的結果。這個結果叫作核驗多項式C(x),它的十六進製表示也叫作[[幻數]]。按照慣例,使用CRC-32多項式以及CRC-16-CCITT多項式時通常都要取反。CRC-32的核驗多項式是C(x)=x^{31}+x^{30}+x^{26}+x^{25}+x^{24}+x^{18}+x^{15}+x^{14}+x^{12}+x^{11}+x^{10}+x^8+x^6+x^5+x^4+x^3+x+1。==錯誤檢測能力==CRC的錯誤檢測能力依賴於關鍵多項式的階次以及所使用的特定關鍵多項式。''誤碼多項式''E(x)是接收到的消息碼字與正確消息碼字的''異或''結果。當且僅當誤碼多項式能夠被CRC多項式整除的時候CRC演算法無法檢查到錯誤。*由於CRC的計算基於除法,任何多項式都無法檢測出一組全為零的數據出現的錯誤或者前面丟失的零。但是,可以根據CRC的[[#變體|變體]]來解決這個問題。*所有隻有一個數據位的錯誤都可以被至少有兩個非零系數的任意多項式檢測到。誤碼多項式是x^k,並且x^k只能被i\lek的多項式x^i整除。*CRC可以檢測出所有間隔距離小於[[多項式階次]]的雙位錯誤,在這種情況下的誤碼多項式是E(x)=x^i+x^k=x^k\cdot(x^{i-k}+1),\;i>k。如上所述,x^k不能被CRC多項式整除,它得到一個x^{i-k}+1項。根據定義,滿足多項式整除x^{i-k}+1的{i-k}最小值就是多項是的階次。最高階次的多項式是[[本原多項式]],帶有二進制系數的n階多項式==CRC多項式規范==下面的表格略去了「初始值」、「反射值」以及「最終異或值」。*對於一些復雜的校驗和來說這些十六進制數值是很重要的,如CRC-32以及CRC-64。通常小於CRC-16的CRC不需要使用這些值。*通常可以通過改變這些值來得到各自不同的校驗和,但是校驗和演算法機制並沒有變化。CRC標准化問題*由於CRC-12有三種常用的形式,所以CRC-12的定義會有歧義*在應用的CRC-8的兩種形式都有數學上的缺陷。*據稱CRC-16與CRC-32至少有10種形式,但沒有一種在數學上是最優的。*同樣大小的CCITTCRC與ITUCRC不同,這個機構在不同時期定義了不同的校驗和。==常用CRC(按照ITU-IEEE規范)=={|class="wikitable"!名稱||多項式||表示法:正常或者翻轉|-|CRC-1||x+1(用途:硬體,也稱為[[奇偶校驗位]])||0x1or0x1(0x1)|-|CRC-5-CCITT||x^{5}+x^{3}+x+1([[ITU]]G.704標准)||0x15(0x??)|-|CRC-5-USB||x^{5}+x^{2}+1(用途:[[USB]]信令包)||0x05or0x14(0x9)|-|CRC-7||x^{7}+x^{3}+1(用途:通信系統)||0x09or0x48(0x11)|-|CRC-8-ATM||x^8+x^2+x+1(用途:ATMHEC)||0x07or0xE0(0xC1)|-|CRC-8-[[CCITT]]||x^8+x^7+x^3+x^2+1(用途:[[1-Wire]][[匯流排]])|||-|CRC-8-[[Dallas_Semiconctor|Dallas]]/[[Maxim_IC|Maxim]]||x^8+x^5+x^4+1(用途:[[1-Wire]][[bus]])||0x31or0x8C|-|CRC-8||x^8+x^7+x^6+x^4+x^2+1||0xEA(0x??)|-|CRC-10||x10+x9+x5+x4+x+1||0x233(0x????)|-|CRC-12||x^{12}+x^{11}+x^3+x^2+x+1(用途:通信系統)||0x80For0xF01(0xE03)|-|CRC-16-Fletcher||參見[[Fletcher'schecksum]]||用於[[Adler-32]]A&BCRC|-|CRC-16-CCITT||''x''16+''x''12+''x''5+1([[X25]],[[V.41]],[[Bluetooth]],[[PPP]],[[IrDA]])||0x1021or0x8408(0x0811)|-|CRC-16-[[IBM]]||''x''16+''x''15+''x''2+1||0x8005or0xA001(0x4003)|-|CRC-16-[[BBS]]||x16+x15+x10+x3(用途:[[XMODEM]]協議)||0x8408(0x????)|-|CRC-32-Adler||See[[Adler-32]]||參見[[Adler-32]]|-|CRC-32-MPEG2||See[[IEEE802.3]]||參見[[IEEE802.3]]|-|CRC-32-[[IEEE802.3]]||x^{32}+x^{26}+x^{23}+x^{22}+x^{16}+x^{12}+x^{11}+x^{10}+x^8+x^7+x^5+x^4+x^2+x+1||0x04C11DB7or0xEDB88320(0xDB710641)|-|CRC-32C(Castagnoli)||x^{32}+x^{28}+x^{27}+x^{26}+x^{25}+x^{23}+x^{22}+x^{20}+x^{19}+x^{18}+x^{14}+x^{13}+x^{11}+x^{10}+x^9+x^8+x^6+1||0x1EDC6F41or0x82F63B78(0x05EC76F1)|-|CRC-64-ISO||x^{64}+x^4+x^3+x+1(use:ISO3309)||(0xB000000000000001)|-|CRC-64-[[EcmaInternational|ECMA]]-182||x^{64}+x^{62}+x^{57}+x^{55}+x^{54}+x^{53}+x^{52}+x^{47}+x^{46}+x^{45}+x^{40}+x^{39}+x^{38}+x^{37}+x^{35}+x^{33}+x^{32}+x^{31}+x^{29}+x^{27}+x^{24}+x^{23}+x^{22}+x^{21}+x^{19}+x^{17}+x^{13}+x^{12}+x^{10}+x^9+x^7+x^4+x+1(asdescribedin[CRC16toCRC64collisionresearch]*[index.htm#SAR-PR-2006-05ReversingCRC–TheoryandPractice.]{{math-stub}}[[Category:校驗和演算法]][[bg:CRC]][[ca:Controlderendànciacíclica]][[cs:Cyklickýrendantnísoučet]][[de:ZyklischeRendanzprüfung]][[en:Cyclicrendancycheck]][[es:Controlderendanciacíclica]][[eu:CRC]][[fi:CRC]][[fr:Contrôlederedondancecyclique]][[he:בדיקתיתירותמחזורית]][[id:CRC]][[it:Cyclicrendancycheck]][[ja:巡迴冗長検査]][[ko:순환중복검사]][[nl:CyclicRendancyCheck]][[pl:CRC]][[pt:CRC]][[ru:Циклическийизбыточныйкод]][[simple:Cyclicrendancycheck]][[sk:Kontrolacyklickýmkódom]][[sv:CyclicRendancyCheck]][[vi:CRC]]
Ⅶ crc是什麼意思
CRC是循環冗餘校驗(CyclicRendancyCheck)是一種根據網路數據包或計算機文件等數據產生簡短固定位數校驗碼的一種信道編碼技術,主要用來檢測或校驗數據傳輸或者保存後可能出現的錯誤。它是利用除法及余數的原理來作錯誤偵測的。
簡介
在數據傳輸過程中,無論傳輸系統的設計再怎麼完美,差錯總會存在,這種差錯可能會導致在鏈路上傳輸的一個或者多個幀被破壞(出現比特差錯,0變為1,或者1變為0),從而接受方接收到錯誤的數據。為盡量提高接受方收到數據的正確率,在接收方接收數據之前需要對數據進行差錯檢測,當且僅當檢測的結果為正確時接收方才真正收下數據。檢測的方式有多種,常見的有奇偶校驗、網際網路校驗和循環冗餘校驗等。循環冗餘校驗是一種用於校驗通信鏈路上數字傳輸准確性的計算方法(通過某種數學運算來建立數據位和校驗位的約定關系的)。發送方計算機使用某公式計算出被傳送數據所含信息的一個值,並將此值附在被傳送數據後,接收方計算機則對同一數據進行相同的計算,應該得到相同的結果。如果這兩個CRC結果不一致,則說明發送中出現了差錯,接收方計算機可要求發送方計算機重新發送該數據。
工作原理
循環冗餘校驗同其他差錯檢測方式一樣,通過在要傳輸的k比特數據D後添加(n-k)比特冗餘位(又稱幀檢驗序列,FrameCheckSequence,FCS)F形成n比特的傳輸幀T,再將其發送出去。
Ⅷ 如何查看電腦中網卡的序列號
運行-菜單-搜索所有程序和文件-輸入運行-輸入cmd。