网络传输的两种方式——同步传输和异步传输的区别[通俗易懂](计算机网络的基本概念)
在網絡通信過程中,通信雙方要交換數據,需要高度的協同工作。為了正確的解釋信號,接收方必須確切地知道信號應當何時接收和處理,因此定時是至關重要的。
在計算機網絡中,定時的因素稱為位同步。同步是要接收方按照發送方發送的每個位的起止時刻和速率來接收數據,否則會產生誤差。
通常可以采用同步或異步的傳輸方式對位進行同步處理。
1. 異步傳輸(Asynchronous Transmission):異步傳輸模式(Asynchronous Transfer Mode,縮略語為ATM)
異步傳輸一般以字符為單位,
起始位:先發出一個邏輯”0”信號,表示傳輸字符的開始。
空閑位:處于邏輯“1”狀態,表示當前線路上沒有資料傳送。
異步傳輸將比特分成小組進行傳送,小組可以是8位的1個字符或更長。發送方可以在任何時刻發送這些比特組,
而接收方從不知道它們會在什么時候到達。一個常見的例子是計算機鍵盤與主機的通信。按下一個字母鍵、數字鍵或特殊字符鍵,就發送一個8比特位的ASCII代碼。
鍵盤可以在任何時刻發送代碼,這取決于用戶的輸入速度,內部的硬件必須能夠在任何時刻接收一個鍵入的字符。
異步傳輸存在一個潛在的問題,即接收方并不知道數據會在什么時候到達。在它檢測到數據并做出響應之前,第一個比特已經過去了。
這就像有人出乎意料地從后面走上來跟你說話,而你沒來得及反應過來,漏掉了最前面的幾個詞。因此,每次異步傳輸的信息都以一個起始位開頭,
它通知接收方數據已經到達了,這就給了接收方響應、接收和緩存數據比特的時間;在傳輸結束時,一個停止位表示該次傳輸信息的終止。
按照慣例,空閑(沒有傳送數據)的線路實際攜帶著一個代表二進制1的信號,異步傳輸的開始位使信號變成0,其他的比特位使信號隨傳輸的數據信息而變化。
最后,停止位使信號重新變回1,該信號一直保持到下一個開始位到達。例如在鍵盤上數字“1”,按照8比特位的擴展ASCII編碼,將發送“00110001”,
同時需要在8比特位的前面加一個起始位,后面一個停止位。
異步傳輸的實現比較容易,由于每個信息都加上了“同步”信息,因此計時的漂移不會產生大的積累,但卻產生了較多的開銷。
在上面的例子,每8個比特要多傳送兩個比特,總的傳輸負載就增加25%。對于數據傳輸量很小的低速設備來說問題不大,
但對于那些數據傳輸量很大的高速設備來說,25%的負載增值就相當嚴重了。因此,異步傳輸常用于低速設備。
2. 同步傳輸(Synchronous Transmission):同步傳輸的比特分組要大得多。它不是獨立地發送每個字符,每個字符都有自己的開始位和停止位,
而是把它們組合起來一起發送。我們將這些組合稱為數據幀,或簡稱為幀。
數據幀的第一部分包含一組同步字符,它是一個獨特的比特組合,類似于前面提到的起始位,用于通知接收方一個幀已經到達,
但它同時還能確保接收方的采樣速度和比特的到達速度保持一致,使收發雙方進入同步。
幀的最后一部分是一個幀結束標記。與同步字符一樣,它也是一個獨特的比特串,類似于前面提到的停止位,用于表示在下一幀開始之前沒有別的即將到達的數據了。
同步傳輸通常要比異步傳輸快速得多。接收方不必對每個字符進行開始和停止的操作。一旦檢測到幀同步字符,它就在接下來的數據到達時接收它們。
另外,同步傳輸的開銷也比較少。例如,一個典型的幀可能有500字節(即4000比特)的數據,其中可能只包含100比特的開銷。
這時,增加的比特位使傳輸的比特總數增加2.5%,這與異步傳輸中25 %的增值要小得多。
隨著數據幀中實際數據比特位的增加,開銷比特所占的百分比將相應地減少。但是,數據比特位越長,緩存數據所需要的緩沖區也越大,這就限制了一個幀的大小。
另外,幀越大,它占據傳輸媒體的連續時間也越長。在極端的情況下,這將導致其他用戶等得太久。
同步傳輸方式中發送方和接收方的時鐘是統一的、字符與字符間的傳輸是同步無間隔的。
異步傳輸方式并不要求發送方和接收方的時鐘完全一樣,字符與字符間的傳輸是異步的。
同步與異步傳輸的區別
1,異步傳輸是面向字符的傳輸,而同步傳輸是面向比特的傳輸。
2,異步傳輸的單位是字符而同步傳輸的單位是楨。
3,異步傳輸通過字符起止的開始和停止碼抓住再同步的機會,而同步傳輸則是以數據中抽取同步信息。
4,異步傳輸對時序的要求較低,同步傳輸往往通過特定的時鐘線路協調時序。
5,異步傳輸相對于同步傳輸效率較低。
簡單說
同步傳輸就是,數據沒有被對方確認收到則調用傳輸的函數就不返回。
接收時,如果對方沒有發送數據,則你的線程就一直等待,直到有數據了才返回,可以繼續執行其他指令
異步傳輸就是,你調用一個函數發送數據,馬上返回,你可以繼續處理其他事, 接收時,對方的有數據來,你會接收到一個消息,或者你的相關接收函數會被調用。
形象點說
異步傳輸: 你傳輸吧,我去做我的事了,傳輸完了告訴我一聲
同步傳輸: 你現在傳輸,我要親眼看你傳輸完成,才去做別的事 用于異步通信的連接在OSI(開放系統互連)參考模型的物理層中被定義。
“異步通信”是一種很常用的通信方式。
異步通信在發送字符時,所發送的字符之間的時間間隔可以是任意的。當然,接收端必須時刻做好接收的準備(如果接收端主機的電源都沒有加上,那么發送端發送字符就沒有意義,因為接收端根本無法接收)。發送端可以在任意時刻開始發送字符,因此必須在每一個字符的開始和結束的地方加上標志,即加上開始位和停止位,以便使接收端能夠正確地將每一個字符接收下來。
異步通信的好處是通信設備簡單、便宜,但傳輸效率較低(因為開始位和停止位的開銷所占比例較大)。
異步通信也可以是以幀作為發送的單位。接收端必須隨時做好接收幀的準備。這時,幀的首部必須設有一些特殊的比特組合,使得接收端能夠找出一幀的開始。這也稱為幀定界。幀定界還包含確定幀的結束位置。這有兩種方法。一種是在幀的尾部設有某種特殊的比特組合來標志幀的結束。或者在幀首部中設有幀長度的字段。需要注意的是,在異步發送幀時,并不是說發送端對幀中的每一個字符都必須加上開始位和停止位后再發送出去,而是說,發送端可以在任意時間發送一個幀,而幀與幀之間的時間間隔也可以是任意的。在一幀中的所有比特是連續發送的。發送端不需要在發送一幀之前和接收端進行協調(不需要先進行比特同步)。
位同步:
要求接收端根據發送端發送數據的起止時間和時鐘頻率,來校正自己的時間基準和時鐘頻率,這個過程叫位同步。可見,位同步的目的是使接收端接收的每一位信息都與發送端保持同步。
———————
作者:THISISPAN
來源:CSDN
原文:https://blog.csdn.net/THISISPAN/article/details/7481127
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
同步是指:發送方發出數據后,等接收方發回響應以后才發下一個數據包的通訊方式。
異步是指:發送方發出數據后,不等接收方發回響應,接著發送下個數據包的通訊方式。
更加形象一點的解釋:
同步:比如我叫你去上課,如果你沒有聽到,我就在這一只叫你,知道你聽到為止
異步:我叫你去上課,然后我就直接去上課了,你或者沒聽到或者過一會再去上課或者立刻去上課
至于官方的解釋就不在多說了,到處都能找到,上邊是自己的一點理解,希望會對大家有幫助!
---------------------
作者:u014180504
來源:CSDN
原文:https://blog.csdn.net/u014180504/article/details/47102643
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
PS1: 兩者之間區別重要是異步不需要等待回應,傳遞完數據即完成。(2年前#3樓)
PS2: 阻塞是指客戶端向服務器端發起請求,每次只能有一個連接被占用,其余連接在當前線程沒有處理完之前都要等待。反之亦然。 非阻塞也容易理解,一個線程可以負載多個連接,新來的客戶端可以不用等待。 同步傳輸屬于前者,同步傳輸的過程簡單說就是發出一個請求,然后就是無限等待反饋,沒有得到反饋就一直等待下去,這樣就可能會遇到這種情況,“假死”現象,其實大部分時候并沒有真正死機,而是線程一直在等待,我們可以將同步傳輸想成一個比較固執的人,非要等到一個結果才肯罷休! 而異步傳輸就不同了,他是一個隨遇而安的人,沒有結果就算了!異步傳輸就不會出現假死現象,因為異步傳輸是發送完請求之后就直接發送另一個請求了去了,不會等待,所以是非阻塞的 個人理解,希望會對你有幫助(3年前#2樓)
解析:
1、不管是同步還是異步,字符的發送時間和接受時間要一樣。如一個字符發送為1秒,接受也需要為1秒(小于一秒的話,利用軟件延時)
2、同步異步最大的不同是:異步傳輸時,間隙可以不同步。比如,幀1傳輸完后 隔5秒傳輸幀2.間隙為5秒。再接受方,接受完幀1后,可以隔10秒再開始接受幀2. 而同步傳輸,間隙也必須一致。
———————
作者:云上笛暮
來源:CSDN
原文:https://blog.csdn.net/pengpengjy/article/details/74726349
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
總結
以上是生活随笔為你收集整理的网络传输的两种方式——同步传输和异步传输的区别[通俗易懂](计算机网络的基本概念)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Chrome浏览器里的-webkit-f
- 下一篇: 一个好用的时间管理Chrome扩展 -