三、分組交換
上麵的交換方式稱為報文交換,即每次存儲/轉發以一份報文為傳輸單位。所謂報文(Message),就是收發雙方要交換的一份信息,比如一份文件、一個通知或者一個程序等等。因此報文可以很長,比如一篇文章,也可以很短,比如一個關機的通知。這就帶來一個很大的問題:各個節點的存儲空間應該設多大呢?太大了,傳輸短報文時是一種浪費;太小了,傳輸長報文時又不夠用。因此,實際應用中采用的是所謂分組交換。分組交換與報文交換依據完全相同的機理,唯一的區別在於參與交換(即存儲/轉發)的數據單元的長度不同。分組交換的數據單元不再是一份完整的報文,而稱為分組(packet)或包。一個交換網的分組其長度是固定的,一般為1000~2000個字節。通信雙方要交換一份報文時,往往將報文分割成若幹個分組,每個分組都附上地址及其他控製信息,然後這些分組按序發送到交換網。交換網采用兩種不同的傳輸方式處理這些來自同一份報文的分組。
<一>數據報方式
交換網對進網的任一個分組都當作獨立的"小報文"進行處理,而不管它是屬於哪一個報文。仍以圖2-13為例進行說明。假定主機A將待傳的報文劃分成3個分組(P1,P2和P3),按照P1,P2,P3的順序發送給節點1。節點1每收到一個分組先存儲起來,然後分別對它們進行單獨的路徑選擇。比如可能將P1送往節點7,將P2送往節點3,將P3也送往節點7。具體送往哪個節點,完全取決於當時各線路段的情況。下一個節點對每一個收到的分組也依此處理。在本例中,P1 可能經過①→⑦→⑥到達B,P2經過①→③→⑤→⑥到達,而P3則經過①→⑦→③→⑤→⑥到達。由於每個分組都帶有終點地址,所以雖然它們不一定通過相同的路徑,但最終都能到達目的節點6。這些分組達到目的節點的順序也可能被打亂,這就要求目的節點(節點6或主機B)負責分組的排序和重新裝配成報文。
<二>虛電路方式
分組交換的虛電路方式是:發送站在發送報文之前,先發送一個"請求發送"報文,這個報文很短,一般隻有幾十位,一個分組就可以包容。請求發送報文攜帶有目的地址,進入交換網後,會走過某一條路徑到達目的站。請求報文經過的路徑應作為待發送報文通往目的站的路徑,該報文的所有分組都要沿著這條路徑進行存儲/轉發式傳輸,不允許節點對分組作單獨的處理和另選路徑。仍然以圖2-13為例。假設A站的報文分為P1、P2、P3三個報文要送往B站去。A站首先發一個"呼叫請求"分組給節點1,要求連接到B站。節點1根據路經選擇的原則將這一請求分組轉發到節點2,節點2又將該分組轉發給節點5,節點5轉發給節點6,由節點6通知B站,這樣就初步建立起一條A→1→2→5→6→B的邏輯通路。如果B站準備好接收報文,就發送一個"呼叫接收"分組給節點6,沿著6→5→2→1的路徑到達A,從而A確認這條通路已經建立,並給這條通路分配一個邏輯通路號。此後,P1,P2,P3,都附上這一邏輯通路號,順序沿著這條通路到達目的站B。全部分組到達B站後,任一站都可發送一個"清除請求"分組取消這條通路。
虛電路交換的主要特點是:要求一個報文的所有分組都必須沿著預先建立的虛擬通路進行傳輸。但請大家注意,這條通路是一條虛擬的,它不像線路交換方法那樣,通信雙方獨占整個通路,而是任何時刻分組隻占用一個線路段,所有的分組都要經過同樣的路徑進行存儲/轉發。
第五章 差錯控製方法
一、差錯產生的原因
傳輸差錯是指數據通過信道的傳輸後,接收方收到的數據與發送方不一致的現象,簡稱為差錯。通信係統差錯的產生是不可避免的,圖2-14給出差錯產生的過程。
當數據信號從發送端出發,經過通信信道時,由於通信信道中總會有一些幹擾信號存在,在到達接收端時,接收信號是發送信號和幹擾信號的疊加。接收端對接收到的信號按照發送信號的時鍾進行取樣,如果幹擾信號對信號疊加的影響過大,取樣時就會取到與原始信號不一致的電平,這樣就產生了差錯。
通信信道上的幹擾信號分為兩類。一類是由傳輸介質的電子熱運動產生的。這類幹擾信號的特點是:時刻存在,但幅度較小,對傳輸信號的影響較弱,提高傳輸介質質量是消除這類幹擾的有效辦法。還有一類幹擾信號是由外界電磁幹擾引起的,這類幹擾信號的出現無任何規律可言,而且幅度較大,是引起傳輸差錯的主要原因。
二、檢錯碼與糾錯碼
既然傳輸差錯是不可避免的,那就隻能承認這個事實。想提高通信信道的傳輸質量,隻有在接收端對收到的數據進行檢測,並進行糾正。這種方法在通信係統中稱為差錯控製。
差錯控製的主要目的是減少通信道造成的傳輸錯誤,目前主要采取兩種策略:第一種策略是讓每個傳輸分組帶上足夠的檢測信息,以便在接收端能發現錯誤並根據這些附加的檢測信息還原出原始信息,即所謂檢錯方案,這些檢測信息就稱為檢錯碼。第二種策略是讓分組中附加一定的檢測信息,使接收端能夠發現接收的信號中有錯誤,但不能確定哪一位是錯誤的,隻能通知發送方要求重發,這種方案稱為糾錯方案,這些附加的檢測信息稱為檢錯碼。糾錯碼方案雖然有其優越之處,但實現方法複雜,造價高,一般很少采用。在通信係統中廣泛得到應用的是檢錯碼。
三、常用檢錯碼
目前常用的檢錯碼有兩類:奇偶檢驗碼和循環冗餘碼(C與Cyclic Redundancy Code,CRC)。
<一>奇偶校驗碼
奇偶校驗碼的實現原理非常簡單。分為水平奇偶校驗,垂直奇偶校驗和水平垂直偶校驗。
1.水平奇偶校驗
水平奇偶校驗以一個字節為一個校驗單位。在每個字節的尾部加上一個校驗位,構成帶有校驗位的碼組,使得碼組中'1'的個數為偶數個(偶校驗)或奇數個(奇檢驗)。進行數據傳送時,把整個檢驗碼發送出去。比如有兩個字節分別是10110110和11101110,它們的奇校驗碼分別對應為101101100和111011101,使這兩個碼組中'1'的個數為奇數個。
接收端在收到信號後,對每個碼組檢查其'1'的個數,如果'1'的個數為奇數(奇校驗)或偶數(偶校驗)就認為收到的數據正確,否則認為該碼組有錯,要求發送方重傳。
顯然,奇偶校驗隻能檢測出碼組中有奇數個位出錯的情況,如果正好有偶數位(2位、4位、6位等),奇偶校驗是無能為力的。
2.垂直奇偶校驗
垂直奇偶校驗是在整個數據段所有字節的某一位上進行奇偶校驗,如表2-1所示,該數據段由8個字節組成,垂直奇偶校驗分別對所有字節的第0位、1位......7位進行。該表中是進行奇校驗。
3.水平垂直奇偶檢驗
它是水平奇偶校驗和垂直奇偶校驗的綜合,即對每個字節進行校驗,又在垂直方向對所有字節的某一位進行校驗,因此又稱為矩陣碼。表2-2是水平垂直奇偶檢驗(奇校驗)的示意。矩陣碼既可以檢測出奇數個錯,也能檢測出偶數個錯。
<二>循環冗餘碼CRC
奇偶校驗雖然實現簡單,但檢錯能力差,一般隻用於低速傳送環境。在通信係統中廣泛采用的是另一種校驗碼。--CRC循環冗餘碼。
CRC碼是把待發送的二進製數據序列當作一個多項式f(x)的係數,發送之前用收發雙方預定的一個生成多項式G(x)去除,求得一個餘數,將餘數加到待發送的數據序列之後就得到CRC檢驗碼。發送方將校驗碼發往接收方,接收方用同樣的生成多項式G(x)去除收到的二進製數據序列,如果餘數為0則說明傳輸正確,否則說明收到的數據有錯。接收方通知發送方重發。
CRC的生成多項式是經過長期研究和實踐而確定的,因此CRC碼的檢錯能力很強,實現也不複雜,是目前應用最廣的檢錯碼。
常用的CRC生成多項式有以下幾種:
CRC-12 G(x)=x12+x11+x3+x2+x+1
(1100000001111)
CRC-16G(x)=x16+x15+x2+1
(11000000000000101)
CRC-32 G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1
(100000100110000010001110110110111)
生成多項式的位數越多,檢錯能力越強。
我們用下麵的實例說明CRC校驗碼的生成過程:
例假定待發送數據序列為11011011(8位)
生成多項式 G(x)=x4+x2+1即為10101(5位,最高次數為4)
①將待發送序列左移4位,得110110110000
②將左移後得到的二進製序列用生成多項式比特序列(10101)按模2算法去除得餘數0110
③將餘數0110加到移位後的比特序列110110110000中得 ,這就是CRC校驗碼。
傳輸介質
信息的傳輸從一個節點傳到另一個節點,不論信息在傳輸過程中是以模擬信號表示還是以數字信號表示,以單工方式傳輸還是以雙工方式傳輸,采用線路交換方式還是存儲轉發方式,首先要求收發雙方之間存在實際的傳輸介質,否則一切都是空談。因此,我們說傳輸介質是通信中實際傳送信息的載體。
網絡中常用的傳輸介質分為兩大類:有線通信介質和無線通信介質。
一、有線傳輸介質
計算機網絡中常用的有線傳輸介質有:雙絞線、同軸電纜以及光導纖維。
<一>雙絞線
雙絞線是由相互按一定的扭和距離絞合在一起的類似於電話線的傳輸介質,一根線外麵加絕緣層,如圖2-15所示。這種按一定距離絞合一次的雙絞線可以使電磁輻射和外部電磁幹擾減到最小。雙絞線既可用於傳輸模擬信號又可傳輸數字信號,國際標準化組織將雙絞線按照它的電氣特性分為幾類。一般第1類用於傳輸模擬語音信號,即平時我們所看到的電話線。第2類常用於傳輸數字化的語音信號。第3、4、5類普遍用於局域網,用於傳輸高速率的(目前可達100Mbps)數字信號。
雙絞線技術成熟、性能穩定、成本低,因此在通信領域中得到廣泛應用。
<二>同軸電纜
同軸電纜是網絡中常用的另一種低價位的傳輸介質,其結構如圖2-16所示。它由內導體、外導體、絕緣層和保護層組成。
圖2-16 同軸電纜結構示意圖
同軸電纜既可用於傳輸數字信號,也可用於傳輸模擬信號。基帶同軸電纜一般用於傳輸數字數據信號,常用於局域網中。寬帶同軸電纜可采用多路複用的方法,同時傳輸多路模擬信號(或數字信號)。大家最熟悉的同軸電纜莫過於公用天線--電視CATV電纜。
同軸電纜的抗幹擾性比雙絞線更勝一籌,但造價也稍高一些。
<三>光導纖維
光導纖維電纜(俗稱光纜)是網絡傳輸介質中性能最好,應用前途最為廣泛的一種。
光纜由纖芯、緊靠纖芯的包層以及塑料保護層組成,其結構如圖2-17所示。為了使用光纖傳輸電信號(不論是計算機發出的數字信號還是諸如聲音、圖象這些模擬信號),傳輸過程中均轉換成以電平表示的電信號。雙絞線、同軸電纜隻能傳輸電信號。光纖兩端必須配有光發射機和接收機。光發射機完成從電信號到光信號的轉換;光接收機完成從光信號到電信號的轉換。
光信號在光纖中通過內部的全反射進行傳輸。由於可見光的頻率非常高,約為10的8次方兆Hz的量級,因此光纖通信係統的傳輸帶寬遠遠大於其它各種傳輸介質的帶寬。光纖由於傳輸的不是電氣信號,不受外界電磁幹擾的影響,所以光纖的抗幹擾能力極強。另外光纖還具有傳輸距離長,保密性好(因為不易被竊聽或截取)等一係列優點。因此,隨著光纖技術的進一步成熟和價格的逐年下降,光纖在通信係統中將會起到越來越重要的作用。
光纖分為單模光纖和多模光纖兩類。單模光纖內傳輸的光信號是與光纖軸成單個可辨角度的一條光線。多模光纖傳輸的光信號是與光纖軸成多個可分辨角度的多條光線。單模光纖的性能優於多模光纖。單模光纖的發光源需要使用激光源,多模光纖的發光源使用發光二極管就可以了。因此單模光纖比多模光纖的管理更複雜,造價也比較高。
二、無線通信介質
計算機網各係統中的無線通信主要指微波通信。微波通信又可分為地麵微波通信和衛星微波通信兩種。
由於微波是沿直線傳播的,而地球是一個曲麵,因此限製了地麵微波傳播的範圍。一般微波直接傳輸信號的距離為40~60km,超過這個範圍就需要通過地麵中繼站進行中轉。設置中繼站的目的除了對信號進行中轉外,還要對信號進行放大及失真恢複。因為信號經過長距離傳輸後,波信號強度就會減弱;而且在傳輸過程中,受自然界各種噪聲的幹擾,信號有可能受到損壞而出現差錯。中繼站就要進行去噪聲,進行信號的失真恢複等工作。
地麵微波通信利用地麵中繼站進行遠距離傳輸,這樣地麵微波通信的成本將隨著通信距離的增加而加大。而且設置中繼站還需要耗費大量的人力,特別是在條件艱苦的地方設置中繼站,往往帶來許多問題。
為了克服地麵微波通信的不足,近年來開始大量利用人造衛星做中繼站轉發微波信號。衛星通信是通過地球同步衛生作為中繼係統轉發微波信號。一個地球同步衛星可以覆蓋1/3的地球表麵,三個同步衛星就可以覆蓋全球。正是有了衛星通信,全球通才成為可能。
衛星通信的缺點是傳輸延遲比較長,因為同步衛星距地球的平均距離為3.6萬千米,信號經如此長的傳輸距離到達接收站的延遲達到了0.2~0.3s。這就是我們通過衛星天線收看現場直播的電視節目時有一定滯後性的道理。
微波通信的特點是通信容量大,但數據的保密性差。地麵微波通信與衛星通信的結構示意如圖2-18所示。