串列線路

串列線路

串列線路是連線外部設備的一個串口匯流排標準,在計算機上使用廣泛,但也可以用在機頂盒和遊戲機上,補充標準使其能夠用於在便攜設備之間直接交換數據。

串列線路是連線外部設備的一個串口匯流排標準,在計算機上使用廣泛,但也可以用在機頂盒遊戲機上,補充標

串列線路串列線路
準(On-The-Go)使其能夠用於在便攜設備之間直接交換數據。

簡單介紹

串列線路串列線路
Intel公司開發的通用串列匯流排架構(USB)的目的主要基於以下三方面考慮:
(一)計算機與電話之間的連線:顯然用計算機來進行計算機通信將是下一代計算機基本的套用。機器和人們的數據互動流動需要一個廣泛而又便宜的連通網路。然而,由於目前產業間的相互獨立發展,尚未建立統一標準,而USB則可以廣泛的連線計算機和電話。
(二)易用性:眾所周知,PC機的改裝是極不靈活的。對用戶友好的圖形化接口和一些軟硬體機制的結合,加上新一代匯流排結構使得計算機的衝突大量減少,且易於改裝。但以終端用戶的眼光來看,PC機的輸入/輸出,如串列/並行連線埠、鍵盤、滑鼠、操縱桿接口等,均還沒有達到即插即用的特性,USB正是在這種情況下問世的。
(三)連線埠擴充:外圍設備的添加總是被相當有限的連線埠數目限制著。缺少一個雙向、價廉、與外設連線的中低速的匯流排,限制了外圍設備(諸如電話/電傳/數據機的適配器、掃瞄器、鍵盤、PDA)的開發。現有的連線只可對極少設備進行最佳化,對於PC機的新的功能部件的添加需定義一個新的接口來滿足上述需要,USB就應運而生。它是快速、雙向、同步、動態連線且價格低廉的串列接口,可以滿足PC機發展的現在和未來的需要。

概念和起因

USB最初是由英特爾微軟公司倡導發起,其最大的特點是支持熱插拔(Hotplug)和即插即用(Plug&Play)。當設

串列線路串列線路
備插入時,主機枚舉(enumerate)此設備並載入所需的驅動程式,因此使用遠比PCI和ISA匯流排方便。
USB速度比平行埠並聯匯流排(ParellelBus,例如EPP、LPT)與串聯埠匯流排(serialport,例如RS-232)等傳統電腦用標準匯流排快上許多。原標準中USB1.1的最大傳輸頻寬為12Mbps,USB2.0的最大傳輸頻寬為480Mbps。
USB的設計為非對稱式的,它由一個主機(host)控制器和若干通過hub設備以樹形連線的設備組成。一個控制器下最多可以有5級hub,包括Hub在內,最多可以連線127個設備,而一台計算機可以同時有多個控制器。和SPI-SCSI等標準不同,USBHUB不需要終結器。
USB可以連線的外設有滑鼠、鍵盤、gamepad、遊戲桿、掃瞄器、數位相機、印表機、硬碟和網路部件。對數位相機這樣的多媒體外設USB已經是預設接口;由於大大簡化了與計算機的連線,USB也逐步取代並口成為印表機的主流連線方式。2004年已經有超過1億台USB設備;到2005年顯示器和高清晰度數字視頻外設是僅有的USB未能染指的外設類別,因為他們需要更高的傳輸速率。

USBImplementersForum(USBIF)負責USB標準制訂,其成員包括蘋果電腦、惠普、NEC、Microsoft和Intel。USBIF於2001年底公布了2.0規範,之前還有0.9、1.0、和1.1,他們都是完全向後兼容的。On-The-GoSupplementtotheUSB2.0Specification的當前版本是1.0a。
現標準中將UBS統一為USB2.0,分為:
High-speed,傳輸速率25Mbps~400Mbps(最大480Mbps)
Full-speed,傳輸速率500Kbps~10Mbps(最大12Mbps)
Low-speed,傳輸速率10Kbps~100Kbps(最大1.5Mbps)

IP協定

串列線路串列線路
幾乎是個過時的IP協定封包,用於串列連線埠和數據機之間的連線。它在RFC1055中定義。在計算機中,SLIP已經廣泛的被點到點協定(PPP)所取代,因為PPP有許多更好的特點,並且不需要在連線建立前進行IP位址的配置。但在微控制器中,由於SLIP有非常小的包裝頭,所以它仍是首選的封裝IP包的方式。
SLIP在數據包中增加了一個SLIP尾字元,這就數據包被分割後也能區分。SLIP要求一個8位的連線埠配置,無奇偶校驗和EIA或硬體流控制。SLIP不提供錯誤檢查,這可由高層上的協定來實現。因此,對於一個特定的撥號連線錯誤,SLIP也不定令人滿意。

帶有報頭壓縮的SLIP版本叫做CSLIPSP(壓縮串列線IP協定)

並行線IP協定(PLIP)與串列線IP協定(SLIP)非常類似,但是它通過並行連線埠可工作在更高的速度上。

SLIP和PLIP都已經在公共網路和家庭網路套用中被其他的點到點協定所取代。如USB,通過它可以在網路不可用的情況下也能傳輸檔案到另一台計算機上。

吞吐量計算

如果線路速率是9600b/s,而一個位元組有8bit,加上一個起始比特和一個停止比特,那么線路的速率就是960B/s

串列線路串列線路
(位元組/秒)。以這個速率傳輸一個1024位元組的分組需要1066ms。如果用SLIP連結運行一個互動式應用程式,同時還運行另一個應用程式如FTP傳送或接收1024位元組的數據,那么一般來說就必須等待一半的時間(533ms)才能把互動式應用程式的分組數據傳送出去。
假定互動分組數據可以在其他“大塊”分組數據傳送之前被傳送出去。大多數的SLIP實現確實提供這類服務排隊方法,把互動數據放在大塊的數據前面。互動通信一般有Telnet、Rlogin以及FTP的控制部分(用戶的命令,而不是數據)。
這種服務排隊方法是不完善的。它不能影響已經進入下游(如串列驅動程式)佇列的非互動數據。同時,新型的數據機具有很大的緩衝區,因此非互動數據可能已經進入該緩衝區了。
對於互動套用來說,等待533ms是不能接受的。關於人的有關研究表明,互動回響時間超過100~200ms就被認為是不好的[Jacobson1990a]。這是傳送一份互動報文出去後,直到接收到回響信息(通常是出現一個回顯字元)為止的往返時間。
把SLIP的MTU縮短到256就意味著鏈路傳輸一幀最長需要266ms,它的一半是133ms(這是一般需要等待的時間)。這樣情況會好一些,但仍然不完美。我們選擇它的原因(與64或128相比)是因為大塊數據提供良好的線路利用率(如大檔案傳輸)。假設CSLIP的報文首部是5個位元組,數據幀總長為261個位元組,256個位元組的數據使線路的利用率為98.1%,幀頭占了1.9%,這樣的利用率是很不錯的。如果把MTU降到256以下,那么將降低傳輸大塊數據的最大吞吐量。
在圖2-5列出的MTU值中,點對點鏈路的MTU是296個位元組。假設數據為256位元組,TCP和IP首部占40個位元組。由於MTU是IP向鏈路層查詢的結果,因此該值必須包括通常的TCP和IP首部。這樣就會導致IP如何進行分片的決策。IP對於CSLIP的壓縮情況一無所知。
我們對平均等待時間的計算(傳輸最大數據幀所需時間的一半)只適用於SLIP鏈路(或PPP鏈路)在互動通信和大塊數據傳輸這兩種情況下。當只有互動通信時,如果線路速率是9600b/s,那么任何方向上的1位元組數據(假設有5個位元組的壓縮幀頭)往返一次都大約需要12.5ms。它比前面提到的100~200ms要小得多。需要注意的是,由於幀頭從40個位元組壓縮到5個位元組,使得1位元組數據往返時間從85ms減到12.5ms。
不幸的是,當使用新型的糾錯和壓縮數據機時,這樣的計算就更難了。這些數據機所採用的壓縮方法使
串列線路串列線路
得線上路上傳輸的位元組數大大減少,但糾錯機制又會增加傳輸的時間。不過,這些計算是我們進行合理決策的入口點。
在後面的章節中,我們將用這些串列線路吞吐量的計算來驗證數據從串列線路上通過的時間
本章討論了Internet協定族中的最底層協定,鏈路層協定。我們比較了乙太網和IEEE802.2/802.3的封裝格式,以及SLIP和PPP的封裝格式。由於SLIP和PPP經常用於低速的鏈路,二者都提供了壓縮不常變化的公共欄位的方法。這使互動性能得到提高。
大多數的實現都提供環回接口。訪問這個接口可以通過特殊的環回地址,一般為127.0.0.1。也可以通過傳送IP數據報給主機所擁有的任一IP位址。當環回數據回到上層的協定棧中時,它已經過傳輸層和IP層完整的處理過程。
我們描述了很多鏈路都具有的一個重要特性,MTU,相關的一個概念是路徑MTU。根據典型的串列線路MTU,對SLIP和CSLIP鏈路的傳輸時延進行了計算。

熱門詞條

聯絡我們