Ⅰ [計算機網路]Ch.3 數據鏈路層
數據鏈路層使用物理層提供的服務在通信信道上發送和接收比特。
(1) 向網路層提供一個定義良好的介面
(2) 處理傳輸錯誤
(3) 調節數據流,確保慢速的接收方不會被快速的發送方淹沒
提供的服務
(1) 無確認的無連接服務 (區域網)
(2) 有確認的無連接服務 (無線通信)
(3) 有確認的有連接服務 (電話)
無線通信,信道使用率很低但數據傳輸的誤碼率相對較高,確認是必要的
成幀:將原始的位流分散到離散的幀中。
成幀的方法有:
(1)字亂鏈符計數法
(2)帶位元組/字元填充的標志位元組法
(3)比特填充的比特標志法
(4)物理層編碼違例法
位元組計數法:利用幀頭部的一個欄位來標識該幀中的字元數
缺點:簡單,無法恢復,已經很少使用
該方法考慮了錯誤之後重新開始同步的問題,用一些特殊位元組(FLAG)作為幀開始和結束標志,用轉義字元(ESC)來區分二進制數據中存在的特殊位元組。
採用冗餘編碼技術,如曼切斯渣陪段特編碼,即兩個脈沖寬來表示一個二進制位
數據0:低-高電平對
數如譽據1:高-低電平對
高-高電平對和低-低電平對沒有使用,可用作幀邊界
差錯的種類:
差錯的處理:
計算機網路中主要採用:
海明距離的意義 :如果海明距離為d,則一個碼字需要發生d個1位錯誤才能變成另外一個碼字
海明距離與檢錯和糾錯的關系:
糾正單比特錯的冗餘位下界, m為數據位數 , r為校驗位數
將某一位數據位的編號展開成2的乘冪的和,那末每一項所對應的位即為該數據位的校驗位(收方使用)。
如: 11 = 1 + 2 + 8
29 = 1 + 4 + 8 + 16
校驗位1的檢驗集合為所有奇數位。
校驗位2的檢驗集合:2、3、6、7、10、11、…
校驗位4的檢驗集合:4、5、6、7、……
校驗位8的檢驗集合:8、9、10、11、……
海明碼糾錯過程(只糾錯1位)
首先將差錯計數器置「0」。
當海明碼數據到達接收端後,接收端逐個檢查各個校驗位的奇偶性。
如發現某一校驗位和它所檢測的集合的奇偶性不正確,就將該檢驗位的編號加到差錯計數器中。
待所有校驗位核對完畢:
若差錯計數器仍為「0」值,則說明該碼字接收無誤。
非「0」值,差錯計數器的值為出錯位的編號,將該位求反就可得到正確結果。
例子:
經計算需要的檢驗字個數的最小值 r應滿足 ( 所以r最小值為4,再根據校驗位的對應規則可得下表:
Data: 1011010
Even: 1011010 0 (偶校驗)
Odd: 1011010 1 (奇校驗)
使用CRC編碼時發送方和接收方必須預先商定一個生成多項式G(x),假設有一個m為的幀M(x),使用G(x)生成的幀的步驟如下:
假設G(x)的階為r, 那麼M(x)在末尾添加r個0,得到 m+r位的位模式 。
利用模2出發,用G(x)去除 ,得到對應的余數(總是小於等於r位)。
利用 減去(模2減法)第2步中得到的余數,得到的位模式就是即將被傳輸的帶校驗和的幀
Sender
在數據幀的低端加上r個零,對應多項式為XrM(x)
採用模2除法,用G(x)去除XrM(x),得余數
採用模2減法,用XrM(x)減去余數,得到帶CRC校驗和的幀
Receiver
用收到的幀去除以G(x)
為零:無錯誤產生。非零:發生了錯誤,重傳
在一定條件下運作:
缺點 :
缺點 :
對協議2的改進:
確認幀
只在接收無差錯時才發確認幀,出錯時不發確認幀。
重發
網路中採用檢錯碼,無法糾正錯誤,由重發原來幀的方式來恢復正確的幀。
計時器
控制何時重發,防止無限期等待(死鎖)。
幀序號
防止重發時接收端收到重復的幀,序號還用於接收時排序。
保證送給網路層的都是按序無重復的分組
幀格式:
****
與前三個協議不同,這是一個雙向傳遞的協議。 之後的三個協議都屬於滑動窗口協議。
滑動窗口協議
如果發送端可以連續發送一批數據幀,必須考慮接收端是否來得及接納與處理這么多的幀,這里就提出了網路流量控制問題
N回退協議 和 選擇重傳協議:
由於傳輸過程中存在延遲,即數據在傳播過程中需要時間,那麼如果使用上面所提及的協議,傳輸過程中有大量的時間存在阻塞狀態,所以為了充分利用帶寬,我們讓發送方一次發送w個幀。所以就存在如何處理在傳輸過程中出現的幀錯誤的問題
協議四的基本工作原理:
窗口設置
窗口滑動機制
特點
出錯情況 :
連續發送W個數據幀,其中有一幀出錯,但其後續幀被成功發送
接收方的接收策略: 丟棄錯幀,其後續幀因不是期望接收幀也被丟棄(接收窗口為1)。
發送方的重傳策略: 緩存在發送窗口中的出錯幀以及其後續幀全部重發
W<=2BD+1(個幀)
BD:帶寬-延遲乘積,bit乘積出來之後換算成幀的個數
該圖的發送方和接收方的窗口大小都是7,那麼也就是說發送方一次最多隻能發送7個幀,剛開始發送方只能發送序號為0~6的數據幀,圖中發送方收到序列號為第0和第1號幀的確認幀,那麼整個窗口向前滑動,發送方可以發送序列號為7和8 的數據幀,但是不幸的是2號數據幀並沒有收到確認幀,所以整個窗口並不會向前滑動,此時只能等待2號數據幀的計時器超時,那麼超時後發送方將會從2號數據幀開始發送,重復這個過程。
實現
出錯情況
原因:如果錯誤很少發生,那麼協議5可以很好的工作。一旦線路質量很差,那麼重傳幀需要浪費大量帶寬。而選擇重傳節約了帶寬,允許接收方緩存丟失幀之後的所有幀
接收方的接收策略: 丟棄錯幀,緩存後續正確接收幀
發送方的重傳策略: 只重發出錯幀。
基本概念:
選擇重傳策略:
接收方丟掉壞幀,但接受並緩存壞幀後面的所有好幀。
否定重傳策略 :
當接收方收到錯誤,他就發送一個否定確認(NAK)信息,而不需要等到相應的計數器超時,提高協議性能。
滑動窗口長度w的選擇
協議5(回退n幀) W = MAX_SEQ
協議6(選擇重傳) W= (MAX_SEQ + 1) / 2
發送方和接收方的窗口大小 W=((MAX_SEQ+1))/2,原因是 防止窗口重疊,在確認幀丟失的情況下而導致的數據錯誤
接收方在某個幀出錯後繼續接受和緩存後續發送的數據包,直到整個窗口的填滿後,把幀進行排序後才傳遞給網路層。
面向字元的數據鏈路協議
PPP 是一種在鏈路上傳輸分組的常用方法
3個主要特性:
PPP兩種認證協議: PAP and CHAP
PPP的幀格式
PPP成幀是面向位元組填充的:
具體細節可以參考上面的位元組填充法, 因為PPP重用了HDLC的技術,所以PPP使用標志字(0x7E 01111110)來標記幀的起始,使用0x7D來作為轉義字元, 具體操作如下:
接收方接收到幀後進行下面處理:
在幀中遇到0x7D 就把0x7D刪除,在把緊跟在0x7D 後的位元組和0x20進行異或運算,就得到對應的數據
LCP ( Link Control Protocol)提供了建立、配置、維護和終止點對點鏈接的方法
PPP的工作過程
Ⅱ 數據鏈路層的鏈路控制規程
數據鏈路控制協議也稱鏈路通信規程,也就是OSI參考模型中的數據鏈路層協議。鏈路控制協議可分為非同步協議和同步協議兩大類。
數據鏈路層的主要協議有:
(1)點對點協議(Point-to-Point Protocol);
(2)乙太網(Ethernet);
(3)高級數據鏈路協議(High-Level Data Link Protocol);
(4) 幀中繼(Frame Relay);
(5) 非同步傳輸模式(Asynchronous Transfer Mode); 面向字元的同步協議是最早提出的同步協議,其典型代表是IBM公司的二進制同步通信(Binary Synchronous Communication、BISYNC或BSC)協議,通常,也稱該協議為基本型協議。隨後,ANSI和ISO都提出類似的相應標准。ISO的標准稱為數據通信系統的基本型控制過程(Basic mode control proceres for data communication Systems),即ISO 1745標准。任何鏈路層協議均可由鏈路建立、數據傳輸和鏈路拆除三部分組成。為實現建鏈、拆鏈等鏈路管理以及同步等各種功能,除了正常傳輸的數據塊和報文外,還需要一些控制字元。 BSC協議用ASC2或EBCDIC字元集定義的傳輸控制(TC)字元來實現相應功能。這些傳輸控制字元的標記、名稱及ASC2碼值和EBCDIC碼值見表3.1。 各傳輸控制字元的功能如下:
SOH(Start of Head): 序始或標題開始,用於表示報文(塊)的標題信息或報頭的開始。
STX(Start of TEXT):文始,標志標題信息的結束和報文(塊)文本的開始。
ETX(End of Text): 文終,標志報文(塊)文本的結束。
EOT(End of Transmission): 送畢,用以表示一個或多個文本塊的結束,並拆除鏈路。
ENQ(Enquire):詢問,用以請求遠程站給出響應,響應可能包括站的身份或狀態。
ACK(Acknowledge): 確認,由接收方發出一肯定確認,作為對正確接收來自發送方的報文(塊)的響應。
DLE(Data Link Escape): 轉義,用以修改緊跟其後的有限個字元的意義。用於在BSC中實現透明方式的數據傳輸,或者當10個傳輸控制字元不夠用時提供新的轉義傳輸控制字元。
NAK(Negative Acknowledge): 否認,由接收方發出的否定確認,作為對未正確接收來自發送方的響應。
SYN(Synchronous): 同字元,在同步協議中,用以實現節點之間的字元同步,或用於在列數據傳輸時保持該同步。
ETB(End of Transmission Block): 塊終或組終,用以表示當報文分成多個數據塊時, 一個數據塊的結束。
BSC 協議將在鏈路上傳輸的信息分為數據報文和監控報文又分為正向監控和反向監控兩種。每一種報文中至少包含一個傳輸控制字元,用以確定報文中信息的性質或實現某種控製作用。
數據報文和文本組成。文本是要傳送的有用數據信息,而報文是與文本傳送及處
理有關的輔助信息,報頭有時也可不用,對於不超過長度限制的報文可只用一個數據塊作為一個傳輸單位。接收方對於每一個收到的數據塊都要給予確認,發送方收到返回的確認後,才能發送下一個數據塊。BSC協議為數據塊格式可以有5種,如圖3.5所示。
BSC協議中所有發送的數據均跟在至少兩個SYT字元之後,以使接收方能實現字元同步。報頭欄位用以說明數據文欄位的包識別符(序號)及地址。所有數據塊在塊終限定符(ETX或ETB)之後不有塊驗字元BCC(Block Check Charracter),BCC可以是垂直奇偶校驗或16位CRC,校驗范圍自STX始,至ETX或ETB止。
當發送的報文是二進制數據而不是字元串時,二進制數據中形同傳輸控制字元的比特串將會引傳輸混亂。為使二進制數據中允許與傳輸控制字元相同的數據(即數據的透明性),可在各幀中真正的傳輸控制字元(SYN除外)前加上DLE轉義字元,在發送時,若文本中也出現與DLE字元相同的二進制比特串,則可插入一個外加的DLE字元加以標記。 在接收端則進行同樣的檢測,若發現單個的DLE字元,則知其後的DLE為數據,在進一步處理前將其中一個刪去。
正、反向監控報文有四種格式。
(1)肯定確認和選擇響應:
SYN | SYN | ACK
(2)否定確認和選擇響應:
SYN | SYN | NAK
(3)輪詢/選擇請求:
SYN | SYN | P/S前綴 | 站地址 | ENQ
(4)拆鏈:
SYN | SYN | EOT
監控報文一般由單個傳輸控制字元或由若干個其它字元引導的單個傳輸控制字元組成。引導字元統稱為前綴,它包含識別符(序號)、地址信息、狀態信息以及其它所需的信息。ACK和NAK監控報文的作用,首先作為對先前所發數據塊是否正確接收的響應,因而包含識符(序號);其次,用作對選擇監控信息的響應,以ACK表示所選站能接收數據塊,而NAK表示不能接收。ENQ用作輪詢和選擇監控報文,在多結構中,輪詢或選擇的站地址在ENQ字元前。EOT監控報文有用以標志報文的結束,並在兩站點間除邏輯鏈路。
面向字元的同步協議的最大缺點,是它和特定的字元編碼集關系過於密切,不利於兼容性。為了實現數據的透明性而採用的字元填充法,實現起來比較麻煩,且也依賴於採用的字元編碼集。另外,由於BSC是一個半雙工協議,它的鏈路傳輸效率很低,即使物理連路支持全雙工傳輸,BSC也不能加以運用。不過,由於BSC協議需要的緩沖存儲容量最小,因而在面向終端的網路系統中仍然廣泛使用。 七十年代初,IBM公司率先提出了面向比特的同步數據鏈路控制規程SDLC。隨後,ANSI和ISO均採納並發展了SDLC,並分別提出了自己的標准:ANSI的高級通信控制過程ADCCP(Advanced Data Control Procere),ISO的高級數據鏈路控制規程HDLC。鏈路控制協議著重於對分段成物理塊或包的數據的邏輯傳輸,塊或包由起始標志引導並由終止標志結束,也稱為幀。幀是每個控制、每個響應以及用協議傳輸的所有信息的媒體的工具。所有面向比特的數據鏈路控制協議均採用統一的幀格式,不論是數據還是單獨的控制信息均以幀為單位傳送。
每個幀前、後均有一標志碼01111110、用作幀的起始、終止指示及幀的同步。標志碼不允許在幀的內部出現,以免引起畸意。為保證標志碼的唯一性但又兼顧幀內數據的透明性,可以採用「0比特插入法」來解決。該法在發送端監視除標志碼以外的所有欄位,當發現有連續5個「1」出現
時,便在其後添插一個「0」,然後繼續發後繼的比特流。在接收端,同樣監除起始標志碼以外的所有欄位。當連續發現5個「1」出現後,若其後一個比特「0」則自動刪除它,以恢復原來的比特流;若發現連續6個「1」,則可能是插入的「0」發生差錯變成的「1」,也可能是收到了幀的終止標志碼。後兩種情況,可以進一步通過幀中的幀檢驗序列來加以區分。「0比特插入法」原理簡單,很適合於硬體實現。 在面向比特的協議的幀格式中,有一個8比特的控制欄位,可以用它以編碼方式定義豐富的控制命令和應答,相當於起到了BSC協議中眾多傳輸控制字元和轉義序列的功能。作為面向比特的數據鏈路控制協議的典型,HDLC具有如下特點:協議不依賴於任何一種字元編碼集;數據報文可透明傳輸,用於實現透明傳輸的「0比特插入法」易於硬體實現;全雙工通信,不必等待確認便可連續發送數據,有較高的數據鏈路傳輸效率;所有幀均採用CRC校驗,對信息幀進行編號,可紡止漏收或重份,傳輸可靠性高;傳輸控制功能與處理功能分離,具有較大靈活性和較完善的控制功能。由於以上特點,網路設計普遍使用HDLC作為數據鏈路管制協議。
HDLC的操作方式
HDLC是通用的數據鏈路控制協議,當開始建立數據鏈路時,允許選用特定的操作方式。所謂鏈路操作方式,通俗地講就是某站點以主站方式操作,還是以從站方式操作,或者是二者兼備。在鏈路上用於控制目的站稱為主站,其它的受主站控制的站稱為從站。主站負責對數據流進行組織,半且對鏈路上的差錯實施恢復。由主站發往從站的幀稱為命令幀,而由由站返回主站的幀稱響應幀。連有多個站點的鏈路通常使用輪詢技術,輪詢其它站的站稱為主站,而在點到點燃鏈路中每個站均可為主站。主站需要比從站有更多的邏輯功能,所以當終端與主機相連時,主機一般總是主站。在一個站連接多條鏈中的情況下,該站對於一些鏈路而言可能是主站,而對另外一些鏈路而言又可能是從站。有些可兼備主站和從站的功能,這站稱為組合站,用於組合站之間信息傳輸的協議是對稱的,即在鏈路上主、從站具有同樣的傳輸控制功能,這又稱作平衡操作,在計算機網路中這是一個非常重要的概念。相對的,那種操作時有主站、從站之分的,且各自功能不同的操作,稱非平衡操作。
HDLC中常用的操作方式有以下三種:(1)正常響應方式NRM是一種非平衡數據鏈路操作方式,有時也稱非平衡正常響應方式。該操作方式適用於面向終端的點到點或一點與多點的鏈路。在這種操作方式,傳輸過程由主站啟動,從站只有收到主站某個命令幀後,才能作為響應向主站傳輸信息。響應信息可以由一個或多個幀組成,若信息 由多個幀組成,則應指出哪一個是最後一幀。主站負責管理整個鏈路,且具有輪詢、選擇從站及向從站發送命令的權利,同時也負責對超時、重發及各類恢復操作的控制。NRM操作方式見圖3.7(a)。(2)非同步響應方式ARM,非同步響應方式ARM也是一種非平衡數據鏈路操作方式,與NRM不同的是,ARM的傳輸過程由從站啟動。從站主動發送給主站的一個或一組幀中可包含有信息,也可以是僅以控制為目的而發的幀。在這種操作方式下,由從站來控制超時和重發。該方式對採用輪詢方式的多站蓮路來說是必不可少的。ARM操作方式見圖3.7(b)。(3)非同步平衡方式ABM,非同步平衡方式ABM是一種允許任何節點來啟動傳輸的操作方式。為了提高鏈路傳輸效率,節點之間在兩個方向上都需要的較高的信息傳輸量。在這種操作方式下任何時候任何站都能啟動傳輸操作,每個站既可作為主站又可作為從站,每個站都是組合站。各站都有相同的一組協議,任何站都可以發送或接收命令,也可以給出應答,並且各站對差錯恢復過程都負有相同的責任。
HDLC的幀格式
在HDLC中,數據和控制報文均以幀的標准格式傳送。HDLC中的幀類似於BSC的字元塊,但BSC協議中的數據報文和控制報文是獨立傳輸的,而HDLC中的命令應以統一的格式按幀傳輸。HDLC的完整的幀由標志欄位(F)、地址欄位(A)、控制欄位(C)、信息欄位(I)、幀校驗序列欄位(FCS)等組成,其格式見圖3.8。
(1)標志欄位(F):標志欄位為01111110的比特模式,用以標志幀的起始和前一幀的終止。標志欄位也可以作為幀與幀之間的填充字元。通常,在不進行幀傳送的時刻,信道仍處於激活狀態,在這種狀態下,發方不斷地發送標志欄位,便可認為一個新的幀傳送已經開始。採用「0比特插入法」可以實現0數據的透明傳輸。
(2)地址欄位(A):地址欄位的內容取決於所採用的操作方式。在操作方式中,有主站、從站、組合站之分。每一個從站和組合站都被分配一個唯一的地址。命令幀中的地址欄位攜帶的是對方站的地址,而響應幀中的地址欄位所攜帶的地址是本站的地址。某一地址也可分配給不止一個站,這種地址稱為組地址,利用一個組地址傳輸的幀能被組內所有擁有該組一焉的站接收。但當一個站或組合站發送響應時,它仍應當用它唯一的地址。還可用全「1」地址來表示包含所有站的地址,稱為廣播地址,含有廣播地址的幀傳送給鏈路上所有的站。另外,還規定全「0」地址為無站地址,這種地址不分配給任何站,僅作作測試。
(3)控制欄位(C):控制欄位用於構成各種命令和響應,以便對鏈路進行監視和控制。發送方主站或組合站利用控制欄位來通知被定址的從站或組合站執行約定的操作;相反,從站用該欄位作對命令的響應,報告已完成的操作或狀態的變化。該欄位是HDLC的關鍵。控制欄位中的第一位或第一、第二位表示傳送幀的類型,HDLC中有信息幀(I幀)、監控幀(S幀)和無編號幀(U幀)三種不同類型的幀。控制欄位的第五位是P/F位,即輪詢/終止(Poll/Final)位。
(4)信息欄位(I):信息欄位可以是任意的二進制比特串。比特串長度未作限定,其上限由FCS欄位或通信站的緩沖器容量來決定,國際上用得較多的是1000~2000比特;而下限可以為0,即無信息欄位。但是,監控幀(S幀)中規定不可有信息欄位。(5)幀校驗序列欄位(FCS):幀校驗序列欄位可以使用16位CRC,對兩個標志欄位之間的整個幀的內容進行校驗。FCS的生成多項式CCITT V4.1建議規定的X^16+X^12+X^5+1。
HDLC的幀類型
HDLC有信息幀(I幀)、監控幀(S幀)和無編號幀(U幀)三種不同類型的幀。每一種幀中的控制欄位的格式及比特定義見圖3.9。
(1)信息幀(I幀):信息幀用於傳送有效信息或數據,通常簡稱I幀。I幀以控制字第一位為「0」來標志。信息幀的控制欄位中的N(S)用於存放發送幀序號,以使發送方不必等待確認而連續發送多幀。N(R)用於存放接收方下一個預期要接收的幀的序號,N(R)=5,即表示接收方下一幀要接收5號幀,換言之,5號幀前的各幀接收到。N(S)和N(R)均為3位二進制編碼,可取值0~7。
(2)監控幀(S幀):監控幀用於差錯控制和流量控制,通常簡稱S幀。S幀以控制欄位第一、二位為「10」來標志。S幀帶信息欄位,只有6個位元組即48個比特。S幀的控制欄位的第三、四位為S幀類型編碼,共有四種不同編碼,分別表示:
00——接收就緒(RR),由主站或從站發送。主站可以使用RR型S幀來輪詢從站,即希望從站傳輸編號為N(R)的I幀,若存在這樣的幀,便進行傳輸;從站也可用RR型S幀來作響應,表示從站希望從主站那裡接收的下一個I幀的編號是N(R)。
01——拒絕(REJ),由主站或從站發送,用以要求發送方對從編號為N(R)開始的幀及其以後所有的幀進行重發,這也暗示N(R)以前的I幀已被正確接收。
10——接收未就緒(RNR),表示編號小於N(R)的I幀已被收到,但正處於忙狀態,尚未准備好接收編號為N(R)的I幀,這可用來對鏈路流量進行控制。11——選擇拒絕(SREJ),它要求發送方發送編號為N(R)單個I幀,並暗示它編號的I幀已全部確認。
可以看出,接收就緒RR型S幀和接收未就緒RNR型S幀有兩個主要功能:首先,這兩種類型的S幀用來表示從站已准備好或未准備好接收信息;其次,確認編號小於N(R)的所有接收到的I幀。拒絕REJ和選擇拒絕SREJ型S幀,用於向對方站指出發生了差錯。REJ幀用於GO-back-N策略,用以請求重發N(R)以前的幀已被確認,當收到一個N(S)等於REJ型S幀的N(R)的I幀後,REJ狀態即可清除。SREJ幀用於選擇重發策略,當收到一個N(S)等SREJ幀的N(R)的I幀時,SREJ狀態即應消除。
(3)無編號幀(U幀):無編號幀因其控制欄位中不包含編號N(S)和N(R)而得名,簡稱U幀。U幀用於提供對鏈路的建立、拆除以及多種控制功能,這些控制功能5個M位(M1、M2、M3、M4、M5,也稱修正位)來定義。5個M位可以定義32種附加的命令功能或32種應答功能,但許多是空缺的。
Ⅲ 求自考《計算機網路及應用教程》的名稱解釋 越多越好
第一章
計算機網路四個發展階段:面向終端的計算機網路、計算機-計算機網路、開放式標准化網路、網際網路廣泛應用和高速網路技術發展。
我國三大網路:電信網路、廣播電視網路、計算機網路。
未來發展趨勢:寬頻、全光、多媒體、移動、下一代網路。
計算機網路由資源子網和通信子網構成。
計算機網路的定義:利用通訊設備和線路將地理位置不同的、功能獨立的多個計算機系統互連起來,以功能完善的網路軟體實現網路中資源共享和信息傳遞的系統。
計算機網路的功能:軟/硬體資源共享、用戶間信息交換。
計算機網路的應用:辦公自動化、遠程教育、電子銀行、證券及期貨交易、企業網路、智能大廈和結構化綜合布線系統。
計算機網路的分類:
按拓撲結構:星形、匯流排形、環形、樹形、混合形、網形。
按交換方式:電路交換網、報文交換網、分組交換網。
按覆蓋范圍:廣域網、城域網、區域網。
按傳輸技術:廣播方式網路、點對點方式網路。
ISO(國際標准化組織),ITU(國際電信聯盟),IETF(網際網路工程特別任務組)
第二章
網路協議:為計算機網路中進行數據交換而建立的規則、標准或約定的集合。
網路協議由三個要素組成:語義、語法、時序關系。
分層:將一個復雜的劃分為若干個簡單的
網路的體系結構:計算機網路各層次結構模型及其協議的集合
面向連接服務:開始時建立連接,傳輸時不用攜帶目的節點的地址。
無連接服務:開始時不需建立連接,每個分組都要攜帶完整的目的節點地址,不同分組可能選擇不同路徑達到目的節點,節點接收到的分組可能出現亂序、重復、丟失的現象。協議相對簡單,效率較高。
OSI/RM:物理層、數據鏈路層、網路層、傳輸層、會話層、表示層、應用層。
TCP/IP:主機-網路層、互聯層、傳輸層、應用層。
ORI/RM與TCP/IP的比較:
共同:1,兩者都以協議棧的概念為基礎,協議棧中的協議彼此相互獨立,2,都採用了層次結構的概念,各層功能大體相似。
不同:1,OSI有7層,TCP/IP有4層。TCP/IP網路層提供無連接通信,傳輸層支持2種。OSI網路層支持2種,傳輸層支持面向連接的通信。
第三章
物理層定義:在物理信道實體之間合理地通過中間系統,為比特傳輸所需的物理連接的激活、保持和去除提供機械的、電氣的、功能性和規程性的手段
DTE::數據終端設備,對屬於用戶所有的聯網設備或工作站的統稱,如計算機、終端等。
DCE:數據通信設備,為用戶提供入網連接點的網路設備的統稱,如數據機。
物理信道的特性:機械特性、電氣特性、功能特性、規程特性。
電氣特性分三種:1,非平衡方式(非平衡發送器+接收器+1導線+1地線),2,採用差動接收器的非平衡方式(非平衡發送器+差動接收器+1導線+2地線),3,平衡方式(平衡發送器+差動接收器+2導線+2地線)。
功能特性分四類:數據信號線、控制信號線、定時信號線、接地線。
EIA(美國電子工業協會) RS-232C,:提供了利用公用電話網路作為傳輸介質,通過數據機將遠程設備連接起來的技術規定。
RS-422(平衡方式),RS-423(採用差動接收器的非平衡方式)
X.21機械特性採用15芯標准
有線介質:雙絞線、同軸電纜、光纖。無線介質:無線電波、微波、紅外線、激光、衛星通信。
同軸電纜分基帶同軸電纜(阻抗50歐,支持百台設備)和寬頻同軸電纜(阻抗75歐,支持千台設備)。
光纖:多模是發光二極體LED,注入型激光二極體ILD是單模。
數據傳輸速率:是指每秒能傳輸的二進制信息位數,單位為位/秒(bps)。R=1/T*log2N (bps)
信號傳輸速率(調制速率):表示單位時間內通過信道傳輸的碼元個數。R=1/T (Baud)
信道容量:表徵一個信道傳輸數據的能力,單位為位/秒(bps)。
信道容量表示信道的最大數據傳輸速率,是信道傳輸數據能力的極限,數據傳輸速率表示實際的數據傳輸速率。
奈奎斯特公示:C=2*H*log2N (bps),香農公式:C=H*log2(1+S/N)(bps)(H:信道帶寬,S/N:信噪比)
誤碼率=出錯數/總數
數據機:數字轉模擬,CODEC:模擬轉數字
放大器:增強信號中的能量,同時使噪音分量增強。中繼器:重新生成信號。
數據通信:是一種通過計算機或其他數據裝置與通信線路,完成數據編碼信號的傳輸、轉接、存儲和處理的通信技術。
多路復用技術:頻分多路復用FDM,時分多路復用TDM,波分是頻分的變形。
FDM:物理信道分為若乾子信道,同時傳送若干信號。
TDM:物理信道按時間片輪流分給多個信號使用。
采樣,量化,編碼。字長=log2N
傳輸線路三個主要問題:衰減、延遲畸變、雜訊。
分組交換網分為虛電路和數據報兩種
第四章
數據鏈路層的功能:幀同步、差錯控制、流量控制、鏈路管理。
差錯控制:反饋重發、超時計時器、幀編號。
流量控制:數據鏈路層控制相鄰兩節點之間數據鏈路上的流量,傳輸層控制從源到最終目的之間端對端的流量。
雜訊有兩大類:隨即熱雜訊和沖擊雜訊。
停-等: 發送窗口=1,接收窗口=1;
Go-back-N: 發送窗口>1,接收窗口=1;
選擇重傳: 發送窗口>1,接收窗口>1;
非同步協議:字元內同步,字元間非同步;同步協議:許多字元和比特組成的幀同步。
BSC:面向字元,分為數據報文和監控報文兩類。
數據報文:
SYN SYN STX 報文 ETX BCC
SYN SYN SOH 報頭 STX 報文 ETX BCC
SYN SYN SOH 報頭 STX 報文 ETB BCC
SYN SYN STX 報文 ETB BCC
監控報文:
SYN SYN ACK
SYN SYN NAK
SYN SYN P/S前綴 站地址 ENQ
SYN SYN EOT
HDLC:面向比特,有信息幀(I幀),監控幀(S幀)和無編號幀(U幀)。
幀格式:標志 地址 控制 信息 幀校驗序列 標志
F A C I FCS F
01111110 8位 8位 N位 16位 01111110
PPP協議提供三類功能:成幀、鏈路控制、網路控制。
PPP的幀格式和HDLC的幀格式非常相似,但PPP面向字元。
第五章
網路層的功能:路由選擇、擁塞控制和網際互聯等。
分組交換方式中,通信子網向端系統提供虛電路和數據報兩種網路服務。
最優化原則:如果路由器J在從路由器I到K的最佳路由上,那麼從J到K的最佳路線就會在同一路由之中。
擴散法(泛射路由選擇法):一個網路節點從某條線路收到一個分組後,再向除該條線路外的所有線路發送收到的分組。
擁塞發生的原因:1,內存不夠,沒有足夠的內存存放同時到達的分組,2,路由器處理器的處理速度慢,難以完成排隊,更新路由表等工作
擁塞控制的任務是確保子網能夠承載所有到達的流量,這是一個全局的問題。流量控制只與特定的發送方和特定的接收方之間的點到點流量有關。
擁塞控制的解決方案可分成兩類:開環(不考慮網路的當前狀態)的和閉環的。
虛電路子網中的擁塞控制:1,准入控制,2,路由選擇,3,資源預留。
數據報子網中的擁塞控制:1,警告位,2,抑制分組,3,逐跳抑制分組。
QoS四個特徵:可靠性、延遲、抖動、帶寬。
集成服務:每個連接有專用資源。區分服務:每一類連接有專用資源。
標簽交換:類似虛電路,查表得到整條線路。
MPLS(多協議標簽交換協議)。
網路互連的目的是使一個網路上的用戶能訪問其它網路上的資源,使不同網路上的用戶互相通信和交換信息。
路由信息協議(RIP)分被動狀態和主動狀態兩種操作方式。
開放最短路徑優先協議(OSPF)是一種鏈路狀態路由協議。
網橋用來連接類型相似的區域網,區域網本身沒有網路層。
網橋工作在數據鏈路層,路由器工作在網路層。
路由器的主要服務功能:1,建立並維護路由表,2,提供網路間的分組轉發功能。
網管也稱協議轉換器,用於高層協議的轉換,對傳輸層到應用層均能支持。
IP(互聯網協議),ICMP(互聯網控制報文協議),ARP(地址轉換協議),RARP(反向地址轉換協議)。
IP協議提供不可靠的、無連接的數據包傳輸機制。
ARP:IP地址(32位)到物理網路地址(乙太網地址,DA,48位)的轉換。
RARP:物理網路地址到IP地址的轉換。
IGMP(網際網路組管理協議):只有兩種報文,詢問和響應。
IPv6把IP地址長度增加到128比特。
Ⅳ 計算機網路問題
物理層的介質特性有計算機網路的吞吐量和帶寬、 成本、尺寸和可擴展性、連接器、抗噪性五個的特性。
是一個數據的協議,DHLC協議的數據幀
DHCP起始和終止標志為6個連續的1,即111111.為了避免在數據中出現這樣的比特組合時誤當成DHCP的邊界,採用一種叫零比特填充法的技術.具體做法是:
在發送端,用硬體掃描要發送的幀,只要發現有5個連續1,則填入一個0.這樣就不會出現6個1連續的情況了.在接收端,先把數據部分從標志段中分離出來,再用硬體掃描,每當發現5個連續1時就把這5個1後的一個0刪掉(因為在發送時加了),這樣就還原成原來的比特流了.通過這種方法,就可以傳輸任意組合的比特流了
CDMA 工作原理
1 撥號:當您撥了一個電話號碼,這個號碼將與您的電話ID號一起以無線電廣播的形式發射出去
2 分組傳遞:電話對您的語音進行數字化,並把它劃分為數據位包,然後使用擴頻技術廣播這些數據包。CDMA指定440億個代碼中一個代碼代表這次對話,並將數據包分散在多個無線電頻譜段上,這個代碼使您的通話與在同一無線電頻段上同時發射的其它通話區分開來。
3 接收與連接:距離最近的CDMA無線捕捉到您的電話的無線電廣播,並將它傳遞到中央交換計算機,這個計算機識別您的電話ID。這樣,蜂窩服務電話提供商可以跟蹤您的通話並根據空中佔用時間進行計費。中央交換計算機將您連到安裝在電話公司總局的公用電話交換網上,或連到本系統中的其它蜂窩用戶。
4 識別:語音信號以數據包的形式到達您的話機。您的電話機首先通過一個通話傳來,然後識別標識著您的對話的特殊代碼並將相應的數據包還原成語音信號。
手機輻射小知識
Ⅳ 計算機網路名詞解釋知識點簡答題整理
基帶傳輸:比特流直接向電纜發送,無需調制到不同頻段;
基帶信號:信源發出的沒有經過調制的原始電信號;
URL :統一資源定位符,標識萬維網上的各種文檔,全網范圍唯一;
傳輸時延:將分組的所有比特推向鏈路所需要的時間;
協議:協議是通信設備通信前約定好的必須遵守的規則與約定,包括語法、語義、定時等。
網路協議:對等層中對等實體間制定的規則和約定的集合;
MODEM :數據機;
起始(原始)伺服器:對象最初存放並始終保持其拷貝的伺服器;
計算機網路:是用通信設備和線路將分散在不同地點的有獨立功能的多個計算機系統互相連接起來,並通過網路協議進行數據通信,實現資源共享的計算機集合;
解調:將模擬信號轉換成數字信號;
多路復用:在一條傳輸鏈路上同時建立多條連接,分別傳輸數據;
默認路由器:與主機直接相連的一台路由器;
LAN :區域網,是一個地理范圍小的計算機網路;
DNS :域名系統,完成主機名與 IP 地址的轉換;
ATM :非同步傳輸模式,是建立在電路交換和分組交換基礎上的一種面向連接的快速分組交換技術;
Torrent :洪流,參與一個特定文件分發的所有對等方的集合;
Cookie :為了辨別用戶、用於 session 跟蹤等而儲存在用戶本地終端的數據;
SAP :服務訪問點;
n PDU : PDU 為協議數據單元,指對等層之間的數據傳輸單位;第 n 層的協議數據單元;
PPP :點對點傳輸協議;
Web caching :網頁緩存技術;
Web 緩存:代替起始伺服器來滿足 HTTP 請求的網路實體。
Proxy server :代理伺服器;
Go-back-n :回退 n 流水線協議;允許發送方連續發送分組,無需等待確認,若出錯,從出錯的分組開始重發;接收方接收數據分組,若正確,發 ACK ,若出錯,丟棄出錯分組及其後面的分組,不發任何應答;
Packet switching :分組交換技術;
CDMA :碼分多路復用技術;各站點使用不同的編碼,然後可以混合發送,接收方可正確提取所需信息;
TDM :時分多路復用,將鏈路的傳輸時間劃分為若干時隙,每個連接輪流使用不同時隙進行傳輸;
FDM :頻分多路復用,將鏈路傳輸頻段分成多個小的頻段,分別用於不同連接信息的傳送;
OSI :開放系統互連模型,是計算機廣域網體系結構的國際標准,把網路分為 7 層;
CRC :循環冗餘檢測法,事先雙方約定好生成多項式,發送節點在發送數據後附上冗餘碼,使得整個數據可以整除生成多項式,接收節點收到後,若能整除,則認為數據正確,否則,認為數據錯誤;
RIP :路由信息協議;
Socket (套接字):同一台主機內應用層和運輸層的介面;
轉發表:交換設備內,從入埠到出埠建立起來的對應表,主要用來轉發數據幀或 IP 分組;
路由表:路由設備內,從源地址到目的地址建立起來的最佳路徑表,主要用來轉發 IP 分組;
存儲轉發:分組先接收存儲後,再轉發出去;
虛電路網路:能支持實現虛電路通信的網路;
數據報網路:能支持實現數據報通信的網路;
虛電路:源和目的主機之間建立的一條邏輯連接,創建這條邏輯連接時,將指派一個虛電路標識符 VC.ID ,相關設備為它運行中的連接維護狀態信息;
毒性逆轉技術: DV 演算法中,解決計數到無窮的技術,即告知從相鄰路由器獲得最短路徑信息的相鄰路由器到目的網路的距離為無窮大;
加權公平排隊 WFQ :排隊策略為根據權值大小不同,將超出隊列的數據包丟棄;
服務原語:服務的實現形式,在相鄰層通過服務原語建立交互關系,完服務與被服務的過程;
透明傳輸:在無需用戶干涉的情況下,可以傳輸任何數據的技術;
自治系統 AS :由一組通常在相同管理者控制下的路由器組成,在相同的 AS 中,路由器可全部選用同樣的選路演算法,且擁有相互之間的信息;
分組丟失:分組在傳輸過程中因為種種原因未能到達接收方的現象;
隧道技術:在鏈路層或網路層通過對等協議建立起來的邏輯通信信道;
移動接入:也稱無線接入,是指那些常常是移動的端系統與網路的連接;
面向連接服務:客戶機程序和伺服器程序發送實際數據的分組前,要彼此發送控制分組建立連接;
無連接服務:客戶機程序和伺服器程序發送實際數據的分組前,無需彼此發送控制分組建立連接;
MAC 地址:網卡或網路設備埠的物理地址;
擁塞控制:當網路發生擁塞時,用響應的演算法使網路恢復到正常工作的狀態;
流量控制:控制發送方發送數據的速率,使收發雙方協調一致;
Ad Hoc 網路:自主網路,無基站;
往返時延:發送方發送數據分組到收到接收方應答所需要的時間;
電路交換:通信節點之間採用面向連接方式,使用專用電路進行傳輸;
ADSL :非同步數字用戶專線,採用不對稱的上行與下行傳輸速率,常用於用戶寬頻接入。
多播:組播,一對多通信;
路由器的組成包括:輸入埠、輸出埠、交換結構、選路處理器;
網路應用程序體系結構:客戶機 / 伺服器結構、對等共享、混合;
集線器是物理層設備,交換機是數據鏈路層設備,網卡是數據鏈路層設備,路由器是網路層設備;
雙絞線連接設備的兩種方法:直連線和交叉線,同種設備相連和計算機與路由器相連都使用交叉線;不同設備相連用直連線;
MAC 地址 6 位元組, IPv4 地址 4 位元組, IPv6 地址 16 位元組;
有多種方法對載波波形進行調制,調頻,調幅,調相;
IEEE802.3 乙太網採用的多路訪問協議是 CSMA/CD ;
自治系統 AS 內部的選路協議是 RIP 、 OSPF ;自治系統間的選路協議是 BGP ;
多路訪問協議:分三大類:信道劃分協議、隨機訪問協議、輪流協議;
信道劃分協議包括:頻分 FDM 、時分 TDM 、碼分 CDMA ;
隨機訪問協議包括: ALOHA 、 CSMA 、 CSMA/CD(802.3) 、 CSMA/CA(802.11) ;
輪流協議包括:輪詢協議、令牌傳遞協議
ISO 和 OSI 分別是什麼單詞的縮寫,中文意思是什麼?用自己的理解寫出 OSI 分成哪七層?每層要解決的問題和主要功能是什麼?
答:ISO:international standard organization 國際標准化組織;OSI:open system interconnection reference model 開放系統互連模型;
OSI分為 應用層、表示層、會話層、傳輸層、網路層、數據鏈路層、物理層;
層名稱解決的問題主要功能
應用層實現特定應用選擇特定協議;針對特定應用規定協議、時序、表示等,進行封裝。在端系統中用軟體來實現,如HTTP;
表示層壓縮、加密等表示問題;規定數據的格式化表示,數據格式的轉換等;
會話層會話關系建立,會話時序控制等問題;規定通信的時序;數據交換的定界、同步、建立檢查點等;
傳輸層源埠到目的埠的傳輸問題;所有傳輸遺留問題:復用、流量、可靠;
網路層路由、擁塞控制等網路問題;IP定址,擁塞控制;
數據鏈路層相鄰節點無差錯傳輸問題;實現檢錯與糾錯,多路訪問,定址;
物理層物理上可達;定義機械特性,電氣特性,功能特性等;
網際網路協議棧分層模型及每層的功能。
分層的優點:使復雜系統簡化,易於維護和更新;
分層的缺點:有些功能可能在不同層重復出現;
假設一個用戶 ( 郵箱為: [email protected]) 使用 outlook 軟體發送郵件到另一個用戶 ( 郵箱為: [email protected]) ,且接收用戶使用 IMAP 協議收取郵件,請給出此郵件的三個傳輸階段,並給出每個階段可能使用的應用層協議。
用戶 [email protected] 使用outlook軟體發送郵件到 163 郵件伺服器
163郵件伺服器將郵件發送給用戶 [email protected] 的yahoo郵件伺服器
用戶 [email protected] 使用IMAP協議從yahoo郵件伺服器上拉取郵件
第1、2階段可以使用SMTP協議或者擴展的SMTP協議:MIME協議,第3階段可以使用IMAP、POP3、HTTP協議
三次握手的目的是什麼?為什麼要三次(二次為什麼不行)?
為了實現可靠數據傳輸,TCP協議的通信雙方,都必須維護一個序列號,以標識發送出去的數據包中,哪些是已經被對方收到的。三次握手的過程即是通信雙方相互告知序列號起始值,並確認對方已經收到了序列號起始值的必經步驟。
如果只是兩次握手,至多隻有連接發起方的起始序列號能被確認,另一方選擇的序列號則得不到確認。
選擇性重傳 (SR) 協議中發送方窗口和接收方窗口何時移動?分別如何移動?
發送方:當收到ACK確認分組後,若該分組的序號等於發送基序號時窗口發生移動;向前移動到未確認的最小序號的分組處;
接收方:當收到分組的序號等於接收基序號時窗口移動;窗口按交付的分組數量向前移動;
簡述可靠傳輸協議 rdt1.0, rdt2.0, rdt2.1, rdt2.2 和 rdt3.0 在功能上的區別。
rdt1.0:經可靠信道上的可靠數據傳輸,數據傳送不出錯不丟失,不需要反饋。
rdt2.0(停等協議):比特差錯信道上的可靠數據傳輸,認為信道傳輸的數據可能有比特差錯,但不會丟包。接收方能進行差錯檢驗,若數據出錯,發送方接收到NAK之後進行重傳。
rdt2.1:在rdt2.0的基礎上增加了處理重復分組的功能,收到重復分組後,再次發送ACK;
rdt2.2:實現無NAK的可靠數據傳輸,接收方回發帶確認號的ACK0/1,
收到出錯分組時,不發NAK,發送接收到的上一個分組的ACK;
rdt3.0:實現了超時重發功能,由發送方檢測丟包和恢復;
電路交換和虛電路交換的區別?哪些網路使用電路交換、報文交換、虛電路交換和數據報交換?請各舉一個例子。
電路交換時整個物理線路由通訊雙方獨占;
虛電路交換是在電路交換的基礎上增加了分組機制,在一條物理線路上虛擬出多條通訊線路。
電路交換:電話通信網
報文交換:公用電報網
虛電路交換:ATM
數據報交換:Internet
電路交換:面向連接,線路由通信雙方獨占;
虛電路交換:面向連接,分組交換,各分組走統一路徑,非獨占鏈路;
數據報交換:無連接,分組交換,各分組走不同路徑;
交換機逆向擴散式路徑學習法的基本原理:
交換表初始為空;
當收到一個幀的目的地址不在交換表中時,將該幀發送到所有其他介面(除接收介面),並在表中記錄下發送節點的信息,包括源MAC地址、發送到的介面,當前時間;
如果每個節點都發送了一幀,每個節點的地址都會記錄在表中;
收到一個目的地址在表中的幀,將該幀發送到對應的介面;
表自動更新:一段時間後,沒有收到以表中某個地址為源地址的幀,從表中刪除該地址;
非持久 HTTP 連接和持久 HTTP 連接的不同:
非持久HTTP連接:每個TCP連接只傳輸一個web對象,只傳送一個請求/響應對,HTTP1.0使用;
持久HTTP連接:每個TCP連接可以傳送多個web對象,傳送多個請求/響應對,HTTP1.1使用;
Web 緩存的作用是什麼?簡述其工作過程:
作用:代理原始伺服器滿足HTTP請求的網路實體;
工作過程:
瀏覽器:與web緩存建立一個TCP連接,向緩存發送一個該對象的HTTP請求;
Web緩存:檢查本地是否有該對象的拷貝;
若有,就用HTTP響應報文向瀏覽器轉發該對象;
若沒有,緩存與原始伺服器建立TCP連接,向原始伺服器發送一個該對象的HTTP請求,原始伺服器收到請求後,用HTTP響應報文向web緩存發送該對象,web緩存收到響應,在本地存儲一份,並通過HTTP響應報文向瀏覽器發送該對象;
簡要說明無線網路為什麼要用 CSMA/CA 而不用 CSMA/CD ?
無線網路用無線信號實施傳輸,現在的技術還無法檢測沖突,因此無法使用帶沖突檢測的載波偵聽多路訪問協議CSMA/CD,而使用沖突避免的載波偵聽多路訪問協議CSMA/CA;
簡述各種交換結構優缺點,並解釋線頭 HOL 阻塞現象。
內存交換結構:以內存為交換中心;
優點:實現簡單,成本低;
缺點:不能並行,速度慢;
匯流排交換結構:以共享匯流排為交換中心;
優點:實現相對簡單,成本低;
缺點:不能並行,速度慢,不過比memory快;
縱橫制:以交叉陣列為交換中心;
優點:能並行,速度快,比memory和匯流排都快;
缺點:實現復雜,成本高;
線頭HOL阻塞:輸入隊列中後面的分組被位於線頭的一個分組阻塞(即使輸出埠是空閑的),等待交換結構發送;
CSMA/CD 協議的中文全稱,簡述其工作原理。
帶沖突檢測的載波偵聽多路訪問協議;
在共享信道網路中,發送節點發送數據之前,先偵聽鏈路是否空閑,若空閑,立即發送,否則隨機推遲一段時間再偵聽,在傳輸過程中,邊傳輸邊偵聽,若發生沖突,以最快速度結束發送,並隨機推遲一段時間再偵聽;
奇偶校驗、二維奇偶校驗、 CRC 校驗三者比較:
奇偶校驗能檢測出奇數個差錯;
二維奇偶校驗能夠檢測出兩個比特的錯誤,能夠糾正一個比特的差錯;
CRC校驗能檢測小於等於r位的差錯和任何奇數個差錯;
GBN 方法和 SR 方法的差異:
GBN:一個定時器,超時,重發所有已發送未確認接收的分組,發送窗口不超過2的k次方-1,接收窗口大小為1,採用累計確認,接收方返回最後一個正確接受的分組的ACK;
SR:多個定時器,超時,只重發超時定時器對應的分組,發送窗口和接收窗口大小都不超過2的k-1次方,非累計確認,接收方收到當前窗口或前一窗口內正確分組時返回對應的ACK;
Ⅵ 計算機網路之RDMA技術(七)Queue Pair
姓名:周肇星;學號:22011110028;學院:通信工程學院
部分素材取自 https://zhuanlan.hu.com/p/195757767
【嵌牛導讀】RDMA技術全稱遠程直接數據存取,就是為了解決網路傳輸中伺服器端數據處理的延遲而產生的。RDMA通過網路把資料直接傳入計算機的存儲區,將數據從一個系統快速移動到遠程系統存儲器中,而不對操作系統造成任何影響,這樣就不需要用到多少計算機的處理功能。它消除了外部存儲器復制和上下文切換的開銷,因而能解放內存帶寬和CPU周期用於改進應用系統性能。本專題將針對RDMA技術進行介紹!
【嵌牛鼻子】計算機網路,高性能網路,RDMA
【嵌牛提問】讀完本文,對RDMA技術的QP概念有所認識了嗎?
【嵌牛正文】
InfiniBand specification R1.3, Chapter3, 3.2.1, Page 98【QP與相關元素的概念】
InfiniBand specification R1.3, Chapter3, 3.5.1, Page 108【QP與相關元素的概念】
InfiniBand specification R1.3, Chapter3, 3.5.10, Page 117【QPN、QP0、QP1的概述】
InfiniBand specification R1.3, Chapter3, 3.7.5.1, Page 137【SMI使用QP0】
InfiniBand specification R1.3, Chapter3, 3.7.5.2, Page 138【GSI使用QP1】
InfiniBand specification R1.3, Chapter3, 3.8, Page 139【QP包含SQ與RQ】
InfiniBand specification R1.3, Chapter3, 3.8, Page 139【通道適配器對WQE的處理與數據的收發】
InfiniBand specification R1.3, Chapter3, 3.9, Page 143【GSI模型具體描述】
InfiniBand specification R1.3, Chapter3, 3.9.4, Page 145【QP0限定為無連接的數據報服務類型】
InfiniBand specification R1.3, Chapter3, 3.9.5, Page 147【QP1限定為無連接的數據報服務類型】
InfiniBand specification R1.3, Chapter3, 3.9.5.1, Page 147【允許QP1重定向的原因與機制】
根據IB協議中的描述,QP是硬體和軟體之間的一個虛擬介面。QP由一個發送隊列SQ與接收隊列RQ組成,SQ與RQ均是隊列結構,按順序存儲著軟體給硬體下發的任務(WQE),WQE中包含從哪裡取出多長的數據,並且發送給哪個目的地等等信息
通道適配器硬體接收到WQE後,讀取WQE、並解析其中的命令,驗證WQE的虛擬地址,將其轉換為物理地址,並訪問對應的數據。數據可通過一個或切分成多個數據包被傳輸出去,通道適配器為每個數據包添加一個傳輸頭,如果目標位於其它子網上,則再添加上網路頭部,隨後添加本地路由頭、並計算效驗和
當數據到達目的節點時,驗證校驗和後,傳輸頭指出了目標QP,通道適配器通過該QP的QP Context檢查數據包是否來自正確的源端。對於SEND操作,QP從其接收隊列中取出WQE,從中檢索接收緩存區的虛擬地址、並轉換成接收物理地址,將數據寫入相應的位置,如果這不是消息的最後一個包,QP則在其QP Context中保存當前寫的位置,並等待下一個包,然後繼續寫入緩存區,直至接收到最後一個包,然後該接收WQE退役,並向源端發送ACK確認
當發起者收到確認時,它會在CQ上創建一個CQE,並將WQE從發送隊列中退出。一個QP可以在任何時候有多個未完成的消息,但接收端總是按照發送的順序進行確認,因此WQE會按發送的順序退役
對於可靠的服務類型,如果QP檢測到一個或多個丟失的數據包,它會向發送者發送一條NAK消息指示其下一個預期的序列號。然後發起者可以從預期的數據包開始重新發送
每個QP間都是獨立的,彼此通過PD隔離,因此一個QP可以被視為某個用戶獨占的一種資源,一個用戶也可以同時使用多個QP
QP有很多種服務類型,包括RC、UD、RD和UC等,所有的源QP和目的QP必須為同一種類型才能進行數據交互
雖然IB協議將QP稱為「虛擬介面」,但是它是有實體的:
QP Number簡稱為QPN,就是每個QP的編號。IB協議中規定用24個bit來表示QPN,即每個節點最大可以同時使用2^24個QP,每個節點都各自維護著QPN的集合,由通道適配器分配,相互之間是獨立的,即QPN編號在各節點內唯一、不同的節點上可以存在編號相同的QP
編號為0的QP用於子網管理介面SMI(Subnet Management Interface),用於管理子網中的全部節點
子網管理器使用通過QP0發送、接收被稱為子網管理報文SMP(Subnet Management Packet)的特殊類型的MAD(Management Datagram)報文(並僅發送接收SMP,其餘數據無效)
並且QP0被永久配置為不可靠的數據報的服務類型
編號為1的QP用於通用服務介面GSI(General Service Interface)
GSI使用QP1進行初始通信,但允許對特定類的流量重定向到特權QP上,這是因為所有管理類數據包都進入同一隊列,將導致瓶頸問題、線頭阻塞現象,因此設計了重定向到其它QP的機制。當通道適配器接收到QP1上的GMP報文時,它可能會響應為一個指示新埠和QP的重定向響應,然後發起者將請求重新發送到新地址,並將該地址用於同一管理類的所有後續請求
並且QP1被永久配置為不可靠的數據報的服務類型,QP1上僅能收發MAD數據包
通用服務代理GSA(General Service Agents)是由許多管理服務代理組合而成,通用服務GA(General Service)使用稱為通用管理報文GMP(General Service Packet)的報文,該報文是一種特殊的MAD報文
GSA中最出名的就是CM(Communication Management),是一種在通信雙方節點正式建立連接之前用來交換必須信息的一種方式
QPC全稱是Queue Pair Context,用於存儲QP相關屬性
QP在硬體上的實體只是一段存儲空間而已,硬體除了知道這段空間的起始地址和大小之外一無所知,甚至連這個QP服務類型都不知道。還有很多其他的重要信息,比如某個QP中包含了若干個WQE,硬體怎麼知道有多少個,當前應該處理第幾個呢?
所以就需要軟體通過操作系統提前申請好一大片連續的空間,即QPC來承載這些信息給硬體看。網卡及其配套的驅動程序提前約定好了QPC中都有哪些內容,這些內容分別占據多少空間,按照什麼順序存放。這樣驅動和硬體就可以通過通過QPC這段空間來讀寫QP的狀態等等信息
如上圖所示,硬體其實只需要知道QPC的地址0x12350000就可以了,因為它可以解析QPC的內容,從而得知QP的位置,QP序號,QP大小等等信息。進而就能找到QP,知道應該取第幾個WQE去處理。不同的廠商可能實現有些差異,但是大致的原理就是這樣
四種操作都有配套的Verbs介面,類似於ibv_create_qp()這種形式,編寫APP時直接調用就可以了
創建一個QP的軟硬體資源,包含QP本身以及QPC。用戶創建時會寫傳入一系列的初始化屬性,包含該QP的服務類型,可以儲存的WQE數量等信息
釋放一個QP的全部軟硬體資源,包含QP本身及QPC。銷毀QP後,用戶將無法通過QPN索引到這個QP
修改一個QP的某些屬性,比如QP的狀態,路徑的MTU等等。這個修改過程既包括軟體數據結構的修改,也包括對QPC的修改
查詢一個QP當前的狀態和一些屬性,查詢到的數據來源於驅動以及QPC的內容
在行為上都是軟體向QP中填寫一個WQE(對應用層來說叫WR),請求硬體執行一個動作。所以這兩種行為都叫做「Post XXX Request」的形式,即下發XXX請求
Post Send本身不是指這個WQE的操作類型是Send,而是表示這個WQE屬於通信發起方。這個流程中填寫到QP中的WQE/WR可以是Send操作,RDMA Write操作以及RDMA Read操作等
用戶需要提前准備好數據緩沖區、目的地址等信息,然後調用介面將WR傳給驅動,驅動再把WQE填寫到QP中
Post Recv的使用場景就相對比較少了,一般只在Send-Recv操作的接收端執行,接收端需要提前准備好接收數據的緩沖區,並將緩沖區地址等信息以WQE的形式告知硬體
Ⅶ 計算機網路可靠數據傳輸原理rdt2.1,處理受損ACK和NAK的情況。如果接收方發送的NAK受損變
好幾年了呀,NAK受損變成ACK會令程序死鎖。接收方收到ack後會繼續發下一個編號的分組,而接收方在等待前一個分組的接受。收到下一個編號的分組後就又會返回nak,接收方以為下一個編號的分組沒收到就又會發,然後循環往復,死鎖