第二卷 數據通信基礎(1 / 3)

第二卷 數據通信基礎

第一章我們多次提到,計算機網絡由通信子網和資源子網所組成,通信子網又由通信控製機(中轉節點)和通信線路組成,那麼這些中轉節點和通信線路是如何完成信息的傳送任務呢?我們以圖2-1加以說明。

假定主機A(HA)要與主機B(HB)進行通信,而HA與HB之間並沒有直接相連的線路,HA和HB如何建立起聯係呢?典型的過程是:HA將數據發送給通信節點1,節點1將收到的信息存儲起來,由它來決定傳送給哪一個節點才能高效到達HB,比如選定節點2。節點2同樣以存儲轉發的方式將信息傳送給節點3,節點3傳送給節點5最終到達HB。也就是說,HA發送的信息通過1→2→3→5的路徑最終到達HB。

為了完成這個通信過程,需要解決以下幾個主要技術問題:

第一,數據在傳輸過程中的表示方式。

我們知道,數據在計算機中是以二進製數字表示的,即計算機數據都是數字數據。但在數據通信過程中,數據是以數字信號方式表示,還是以模擬信號方式表示,主要取決於所選用信道允許傳輸的信號類型。

通信信道允許傳送的信號類型分為兩類:數字信號和模擬信號,相應地數據傳輸方式分為基帶傳輸和頻帶傳輸兩類。

第二,數據通信方式。

數據通信方式包括串行通信或並行通信,單工通信或是雙工通信,異步方式通信或是同步方式通信。

第三,數據在通信子網中的傳輸方式。

數據在通信子網中的傳輸方式分為線路交換和存儲轉發兩大類。存儲轉發方式是計算機網絡中普遍采用的傳輸方式,又可分為報文交換和分組交換。

第四,差錯控製方法。

實際的通信信道總是會出差錯的,為保證網中傳輸數據的正確性,通信子網必須提供一定的檢錯、糾錯措施。

數據通信的差錯控製方法分為兩類:一種方法是通過接收者檢查出錯誤,再通知發送者要求重發;第二種方法是接收者檢查出錯誤後,自己能夠恢複到正確。前一種方法稱為反饋重發,采用的編碼叫檢錯嗎,後一種方法稱為前向糾錯,采用的編碼叫做糾錯碼。反饋重發方式得到了更為廣泛的應用。

第五,采用什麼樣的傳輸介質。

傳輸介質指用於連接兩個或多個網絡節點的物理傳輸線路,常見的有雙級線、光纖等。本章的目的就是向大家回答這些問題。

第一章 通信係統常用術語

不論通信係統采用哪一種通信方式,對一個通信係統來說,它都必須具備三個基本要素:信息源,信息目的和信息傳輸介質,如圖2-2所示。

一、模擬通信係統/數字通信係統

如果通信介質上傳輸的是模擬數據,則這種通信係統統稱為模擬通信係統;如果通信介質上傳輸的是數字化的數據,則這種通信係統稱為數字通信係統。對於計算機通信來講,計算機發出的數據是離散化的數字數據,因此,計算機之間的通信係統有如圖2-3所示的兩種形式。

二、信道/傳輸介質

上麵還提到一個術語:信道。所謂信道即信號傳輸的通道,它與傳輸介質是有區別的;傳輸介質指用於連接兩個或多個網絡節點的物理傳輸線路,如電話線、同軸電纜等。通信信道是建立在傳輸介質之上的,一條信道傳輸一路信號。由

於信號在傳輸時可以采用多路複用技術,因此,一條物理傳輸介質上可以建立多條信道。

三、調製解調器

數字數據通過模擬信道傳輸時,在信號源與傳輸介質之間需要一種信號轉換設備,將信號源發出的數字信號轉換成信道可以接收的模擬信號,這個轉換過程稱為調製,完成調製功能的設備稱為調製器。在傳輸介質與目的地之間也需要信號轉換設備,將模擬信號轉換成接收者能夠識別的數字信號,從模擬→數字的轉換過程稱為解調,完成解調功能的設備稱為解調器。一般調製器和解調器是共存於一個設備中的,稱為調製解調器(Modem)。調製解調器是數據通信係統中最常用的通信設備之一,我們將在第三章介紹廣域網時作較為詳盡的介紹。

四、數據傳輸速率

在數據通信係統中常用的速度單位有兩個;比特率和波特率。比特率是該通信係統每秒能夠傳輸多少位二進製數,單位是比特數/秒(bits/s),簡稱為bps。波特率指傳輸信道上每秒經過多少個波形,常稱為波形速率或調製速率,單位是波特(baud)。波特率不一定和比特率相等,因為一個波形信號可能包含多個二進製位,因而每傳送一個信號可能要傳輸多個二進製位,最典型的例子就是後麵要講到的數字數據的多相調製,比如四相調製,用四個相位分別代表二進製組合00,01,10和11,這時每傳輸一個波形就能傳輸兩位二進製數。比特率就是波特率的二倍。

五、誤碼率

誤碼率是衡量通信線路質量的一個重要參數。誤碼率的定義為:數字信號在傳輸係統中被傳錯的概率。它近似等於被傳錯的二進製位數與所傳二進製位總數的比值。計算機通信要求誤碼率低於10-9,而對於一些特殊的應用,比如銀行電算化,誤碼率則要低於10-11,甚至更低。

六、信號帶寬/信道帶寬

信號通常都是以電磁波的形式傳送的,電磁波都有一定的頻譜範圍,該頻譜範圍就稱為該信號的帶寬。理論上任何一種連續的信號頻譜總是無限寬的,但在實際應用中,信號帶寬指信號能量比較集中的那個頻率範圍。

信道帶寬指信道上能夠傳送的信號的最大頻率範圍,如普通電話信道的帶寬是300~3400Hz。

第二章 數據通信方式

一、串行通信/並行通信

串行通信方式是指數據流在信道上傳輸時任一時刻信道上隻有一位在傳輸。而並行通信是指數據以成組的方式在多個並行信道上同時進行傳輸,常用的方式是將組成一個字符的幾位二進製分別通過幾個並行的信道同時傳輸(如圖2-4所示)。

並行傳輸的效率高,但要求收發之間同時存在若幹個信道,對於遠程通信來講,此代價顯得過於高了一些。因此,計算機與計算機之間的通信極少采用並行方式,隻有計算機各部件之間的通信(如CPU與存儲器之間,CPU與輸入輸出口之間等)才采用並行方式。串行方式雖然相對效率較低,但串行通信的收發兩方隻需要有一條傳輸信道,易於實現,因此是通信係統目前主要采用的一種方式。

串行通信帶來的一個問題是:由於在計算機中不論是字符還是數據都用若幹位二進製比特(bit,位)的組合表示,比如字符'A'的ASCII碼表示為'01000001',字符B的ASCII碼表示為'01000010'。假定節點1與節點2之間要傳送字符'A'和字符'B',節點1順序發出0,1,0,0,0,0,0,1,1,0,1,0,0,0,0,1,0,那麼節點2怎麼樣才能做到將收到的這16位看作是'01000001'和'01000010'兩個組合而不會看作別的組合呢?也就是說收方如何在一大串二進製

圖2-4串行/並行通信方式

位流中提取出一個個字符呢?這實際上涉及了串行通信中的另一個問題:字符的同步。

二、單工/雙工通信

數據傳輸的雙工性,是指一條傳輸線路上數據流的方向及其時間關係。它有三種方式:

(1)單工方式。在單工方式數據傳輸中,線路上的數據總是朝一個方向流動,不可反方向流動,如圖 2-5(a)所示。比如,計算機與打印機,計算機與鍵盤之間的傳輸就是以單工方式進行的。在有些情況下,雖然不能反向傳輸數據,卻有一條低速的輔助信道用於傳輸對方的差錯或控製方麵的反饋信息。但因為隻有單方向的數據通道,所以仍屬單工傳輸。

(2)半雙工方式。在半雙工方式數據傳輸中,傳輸線路上的數據允許雙方向流動,但不能同時雙向流動,如圖2-5(b)所示,這要求通信雙方都要具有不同時工作的發送和接收機構。這種方式在通信係統中得到了廣泛應用,因為它具有控製簡單、可靠、通信成本低等一係列優點。

(3)全雙工方式。在全雙工方式數據傳輸中,數據被允許在通信的雙方同時雙方向流動,如圖2-5(c)所示。這種傳輸方式要求通信雙方具有能夠同時工作的發送和接收機構,而且還要求具有兩條性能對稱的傳輸信道。這種方式的傳輸效率是半雙工方式的兩倍,在高速網絡中得到了廣泛應用。

三、同步/異步傳輸

我們說串行通信首先應該解決的就是字符的同步問題。同步是數據通信的基本要求之一,發送方沿傳輸介質逐位向

接收方發送信息,接收方必須知道一組二進製位的開始和結束。接收方還要知道每一位的持續時間,以便決定以什麼樣的時間間隔(頻率)進行采樣。通常接收方在每一位的中間取樣,如果收發兩邊的時鍾不同步,也就是說有誤差,就算誤差不大,比如說接收方的時鍾比發送方的時鍾慢一位持續時間的5%。采樣第一位時比中間位置偏5%,這一位當然不會出錯。但繼續這樣采樣下去,偏移越來越多,到某一位時,將會采樣到前一位上。由於發送方和接收方的時鍾信號不可能絕對一致,如果沒有一定的同步手段,總會因二者不同步而出現混亂。

計算機通信係統中提供兩種同步手段,這就是異步傳輸和同步傳輸。

(一)異步傳輸

這是通信係統中最早采用的同步措施,也是最簡單的一種同步措施。具體實現是:每次傳輸一個字符時,前麵用起始位作為開始的標誌,後麵用停止位標誌該字符的結束。起始位為'0',持續時間為一位時間;停止位為'1',持續時間可以是一位,一位半或兩位,具體選多少取決於所選用的通信標準。典型的異步傳輸數據格式如圖2-6所示。

在本例中,傳輸兩個字符,第一個字符的編碼是'10010111',第二個字符的編碼是'11000100',每個字符為8位,起始位為1位,停止位為2位。接收器根據從1→0的跳變識別一個新字符的開始,起始位隨後的8位是有效數據位,兩位停止位標誌著該字符的結束。在這種方式中,接收器的時鍾仍然要與發送時的時鍾同步(即采樣間隔,或者叫采樣頻率要保持一致),但由於每個字符都用起始位和停止位作為一個小單位隔離出來,對時鍾的精度要求就降低了。一個字符一般由5~8位組成,加上起始位和停止位,收發雙方隻要能做到在十幾位同步就可以了。統計表明,除非收發雙方的時鍾偏差超過50%(這樣的時鍾當然屬於淘汰之列),就算是每次采樣有一定的偏差,但在十幾位的時間裏,不會產生采樣到別的位上的錯誤。

異步傳輸的同步以一個字符為單位,因此也稱為字符同步方式。這種方式簡單易行,但傳輸效率比較低。因為每5~8個有效位就要加上2~3位控製位,有效率隻有8/10,(如果有效位隻有5位,效率將會更低)。因此異步方式廣泛用於低速線路中,比如計算機與終端的連接,計算機與調製解調器的連接等。

如果大家留心察看一下,就會發現所有的計算機都提供異步通信口,即使微機也提供一到兩個以上的異步通信端口。

(二)同步傳輸

同步傳輸是通信係統中另一種同步方式的傳輸,稱為位同步。同步傳輸以位塊為單位進行傳輸,一個位塊一般包括1000多個字符,每個字符不需要起始位和停止位。為了防止發送方與接收方發生不一致,接收時鍾和發送時鍾必須同步。同步方法可以分為外同步和自同步兩種。在外同步法中,接收者的時鍾頻率由發送方的設備進行控製。自同步法中,所傳輸的數據自身就包含著時鍾特征,也就是說對同步傳輸的字符必須采用特定的編碼,具體采用什麼樣的編碼將在下麵給予介紹。既然傳輸數據中包含著發送時鍾,接收方就可以從中提取出與發送時鍾一致的時鍾信號作為接收時鍾信號,這樣接收和發送時鍾就自動同步了。

為了使接收過程與發送過程同步,除了要求雙方時鍾同步外,接收方還必須能夠準確判斷發送數據的開始和結束。通常的做法是在數據塊的前麵加一個一定長度的特殊位組合作為位塊開始的信號,即所謂"前文"。在數據結束時也加上一個特殊位組合作為位塊結束的信號,即所謂"後文"。數據塊加上"前文"、"後文"及必要的控製信號,就構成了"幀"。

"幀"是同步傳輸的基本傳輸單位,實際上也是數據鏈路層的數據處理單位,幀的發送與接收及幀的形成是數據鏈路層重點解決的問題。

第三章 數據編碼技術

在計算機中數據是以二進製0、1比特序列方式表示的,而計算機數據在傳輸過程中采用什麼樣的編碼取決於它所采用的通信信道所支持的數據類型。計算機網絡中常用的通信信道分為兩類:模擬信道和數字信道。所謂模擬信道指其上隻能傳送模擬信號,也就是電流或隨時間連續變化的信號。而數字信道指傳輸數字信號的信道,數字信號指電流或電壓隨時間不連續變化的信號,或者叫離散信號。計算機發出的二進製數據信號就是典型的數字信號。

既然通信信道分為模擬信道和數字信道,相應的用於數據通信的數據編碼方式也分為兩類:模擬數據編碼和數字數據編碼。計算機網絡中常用的數據編碼方式歸納為:

一、數字數據編碼

我們知道,計算機發出的數字信號0和1是用兩個不同的電平表示的,形成矩形脈衝信號,這種沒有經過調製的原始數字信號稱為"基帶信號",在通信信道中直接傳輸基帶信號稱為"基帶傳輸"。基帶信號雖然不需要調製,但卻要經過一定的編碼才能傳輸。最常用的數字信號編碼技術有以下幾種:

(1)非歸零碼NRI;

(2)曼徹斯特編碼;

(3)差分曼徹斯特編碼。

<一>非歸零碼

非歸零碼NR2(Non-Return to Iero)的波形如圖2-7(a)所示。NR2碼用直流電平"1"和"0"表示二進製的"1"和"0"。在本例中,正電平(比如+5V)表示"1",用負電平(比如-5V)表示"0"。在一個二進製位的寬度內電平保持不變。NR2碼是最容易實現的,實際上是直接將計算機發出的信號加到通信線路上,未作任何處理,代價也最低。但NR2碼的缺點是接收方無法判斷一位的開始和結束,即不具備同步特性;另一個缺點是含有直流分量(請大家考慮連續多個"1"或連續多個"0"的情形),而數據傳輸中最不希望存在的就是直流分量。因此NR2碼在實際中應用不多。