多路復(fù)用技術(shù)原理解析
多路復(fù)用技術(shù)
多路復(fù)用技術(shù)是把多個(gè)低速信道組合成一個(gè)高速信道的技術(shù),它可以有效的提高數(shù)據(jù)鏈路的利用率,從而使得一條高速的主干鏈路同時(shí)為多條低速的接入鏈路提供服務(wù),也就是使得網(wǎng)絡(luò)干線可以同時(shí)運(yùn)載大量的語(yǔ)音和數(shù)據(jù)傳輸。多路復(fù)用技術(shù)是為了充分利用傳輸媒體,人們研究了在一條物理線路上建立多個(gè)通信信道的技術(shù)。
多路復(fù)用技術(shù)的實(shí)質(zhì)是,將一個(gè)區(qū)域的多個(gè)用戶(hù)數(shù)據(jù)通過(guò)發(fā)送多路復(fù)用器進(jìn)行匯集,然后將匯集后的數(shù)據(jù)通過(guò)一個(gè)物理線路進(jìn)行傳送,接收多路復(fù)用器再對(duì)數(shù)據(jù)進(jìn)行分離,分發(fā)到多個(gè)用戶(hù)。多路復(fù)用通常分為頻分多路復(fù)用、時(shí)分多路復(fù)用、波分多路復(fù)用、碼分多址和空分多址。
頻分多路復(fù)用
頻分多路復(fù)用技術(shù)FDM(Frequency Division Multiplexing)。
頻分多路復(fù)用利用通信線路的可用帶寬超過(guò)了給定的帶寬這一優(yōu)點(diǎn)。頻分多路復(fù)用的基本原理是:如果每路信號(hào)以不同的載波頻率進(jìn)行調(diào)制,而且各個(gè)載波頻率是完全獨(dú)立的,即各個(gè)信道所占用的頻帶不相互重疊,相鄰信道之間用“警戒頻帶”隔離,那么每個(gè)信道就能獨(dú)立地傳輸一路信號(hào)。
頻分多路復(fù)用的主要特點(diǎn)是,信號(hào)被劃分成若干通道(頻道,波段),每個(gè)通道互不重疊,獨(dú)立進(jìn)行數(shù)據(jù)傳遞。每個(gè)載波信號(hào)形成一個(gè)不重疊、相互隔離(不連續(xù))的頻帶。接收端通過(guò)帶通濾波器來(lái)分離信號(hào)。頻分多路復(fù)用在無(wú)線電廣播和電視領(lǐng)域中的應(yīng)用較多。ADSL也是一個(gè)典型的頻分多路復(fù)用。ADSL用頻分多路復(fù)用的方法,在PSTN使用雙絞線上劃分出三個(gè)頻段:0~4kHz用來(lái)傳送傳統(tǒng)的語(yǔ)音信號(hào);20~50kHz用來(lái)傳送計(jì)算機(jī)上載的數(shù)據(jù)信息;150~500kHz或140~1100kHz用來(lái)傳送從服務(wù)器上下載的數(shù)據(jù)信息。
時(shí)分多路復(fù)用
時(shí)分多路復(fù)用技術(shù)TDM(Time Division Multiplexing)
時(shí)分多路復(fù)用是以信道傳輸時(shí)間作為分割對(duì)象,通過(guò)為多個(gè)信道分配互不重疊的時(shí)間片段的方法來(lái)實(shí)現(xiàn)多路復(fù)用。時(shí)分多路復(fù)用將用于傳輸?shù)臅r(shí)間劃分為若干個(gè)時(shí)間片段,每個(gè)用戶(hù)分得一個(gè)時(shí)間片。時(shí)分多路復(fù)用通信,是各路信號(hào)在同一信道上占有不同時(shí)間片進(jìn)行通信。由抽樣理論可知,抽樣的一個(gè)重要作用,是將時(shí)間上連續(xù)的信號(hào)變成時(shí)間上的離散信號(hào),其在信道上占用時(shí)間的有限性,為多路信號(hào)沿同一信道傳輸提供條件。具體說(shuō)就是把時(shí)間分成一些均勻的時(shí)間片,通過(guò)同步(固定分配)或統(tǒng)計(jì)(動(dòng)態(tài)分配)的方式,將各路信號(hào)的傳輸時(shí)間配分在不同的時(shí)間片,以達(dá)到互相分開(kāi),互不干擾的目的。
至2011年9月,應(yīng)用最廣泛的時(shí)分多路復(fù)用是貝爾系統(tǒng)的T1載波。T1載波是將24路音頻信道復(fù)用在一條通信線路上,每路音頻信號(hào)在送到多路復(fù)用器之前,要通過(guò)一個(gè)脈沖編碼調(diào)制編碼器,編碼器每秒抽樣8000次。24路信號(hào)的每一路,輪流將一個(gè)字節(jié)插入到幀中,每個(gè)字節(jié)的長(zhǎng)度為8位,其中7位是數(shù)據(jù)位,1位用于信道控制。每幀由24×8=192位組成,附加1bit作為幀的開(kāi)始標(biāo)志位,所以每幀共有193bit。由于發(fā)送一幀需要125ms,一秒鐘可以發(fā)送8000幀。因此T1載波數(shù)據(jù)傳輸速率為:
193bit×8000=1544000bps=1544Kbps=1.544Mbps
波分多路復(fù)用
波分多路復(fù)用技術(shù)WDM(Wavelength Division Multiplexing)
波分復(fù)用用同一根光纖內(nèi)傳輸多路不用波長(zhǎng)的光信號(hào),以提高單根光纖的傳輸能力。因?yàn)楣馔ㄐ诺墓庠丛诠馔ㄐ诺摹按翱凇鄙现徽加昧撕苷囊徊糠?,還有很大的范圍沒(méi)有利用。
也可以這樣認(rèn)為WDM是FDM應(yīng)用于光纖信道的一個(gè)變例。如果讓不用波長(zhǎng)的光信號(hào)在同一根光纖上傳輸而互不干擾,利用多個(gè)波長(zhǎng)適當(dāng)錯(cuò)開(kāi)的光源同時(shí)在一根光纖上傳送各自攜帶的信息,就可以增加所傳輸?shù)男畔⑷萘?。由于是用不同的波長(zhǎng)傳送各自的信息,因此即使在同一根光纖上也不會(huì)相互干擾。在接收端轉(zhuǎn)換成電信號(hào)時(shí),可以獨(dú)立地保持每個(gè)不同波長(zhǎng)的光源所傳送的信息。這種方式就叫做“波分復(fù)用”。
如果將一系列載有信息的不同波長(zhǎng)的光載波,在光領(lǐng)域內(nèi)以1至幾百納米的波長(zhǎng)間隔合在一起沿單根光纖傳輸,在接收器再一一定的方法,將各個(gè)不同波長(zhǎng)的光載波分開(kāi)。在光纖上的工作窗口上安排100個(gè)波長(zhǎng)不同的光源,同時(shí)在一根光纖上傳送各自攜帶的信息,就能使光纖通信系統(tǒng)的容量提高100倍。
碼分多址
碼分多址技術(shù)CDMA(Code Division Multiple Access)
碼分多址是采用地址碼和時(shí)間、頻率共同區(qū)分信道的方式。CDMA的特征是個(gè)每個(gè)用戶(hù)有特定的地址碼,而地址碼之間相互具有正交性,因此各用戶(hù)信息的發(fā)射信號(hào)在頻率、時(shí)間和空間上都可能重疊,從而使用有限的頻率資源得到利用。
CDMA是在擴(kuò)頻技術(shù)上發(fā)展起來(lái)的無(wú)線通信技術(shù),即將需要傳送的具有一定信號(hào)帶寬的信息數(shù)據(jù),從一個(gè)帶寬遠(yuǎn)大于信號(hào)帶寬的高速偽隨機(jī)碼進(jìn)行調(diào)制,使原數(shù)據(jù)信號(hào)的帶寬被擴(kuò)展,再經(jīng)載波調(diào)制并發(fā)送出去。接收端也使用完全相同的偽隨機(jī)碼,對(duì)接受的帶寬信號(hào)作相關(guān)處理,把寬帶信號(hào)換成原信息數(shù)據(jù)的窄帶信號(hào)即解擴(kuò),以實(shí)現(xiàn)信息通信。
不同的移動(dòng)臺(tái)(或手機(jī))可以使用同一個(gè)頻率,但是每個(gè)移動(dòng)臺(tái)(或手機(jī))都被分配帶有一個(gè)獨(dú)特的“碼序列”,該序列碼與所有別的“序列碼”都不相同,因?yàn)槭强坎煌摹按a序列”來(lái)區(qū)分不同的移動(dòng)臺(tái)(或手機(jī)),所以各個(gè)用戶(hù)相互之間也沒(méi)有干擾從而達(dá)到了多路復(fù)用的目的。
空分多址
空分多址技術(shù)SDMA(Space Division Multiple Access)
這種技術(shù)是將空間分割構(gòu)成不同的信道,從而實(shí)現(xiàn)頻率的重復(fù)使用,達(dá)到信道增容的目的。舉例來(lái)說(shuō),在一個(gè)衛(wèi)星上使用多個(gè)天線,各個(gè)天線的波束射向地球表面的不同區(qū)域地面上不同區(qū)域的地球站,他們?cè)谕粫r(shí)間,即使用相同的頻率進(jìn)行工作,它們之間也不會(huì)形成干擾。SDMA系統(tǒng)的處理程序如下:
1、系統(tǒng)將首先對(duì)來(lái)自所有天線中的信號(hào)進(jìn)行快照或取樣,然后將其轉(zhuǎn)換成數(shù)字形式,并存儲(chǔ)在內(nèi)存中。
2、計(jì)算機(jī)中的SDMA處理器將立即分析樣本,對(duì)無(wú)線環(huán)境進(jìn)行評(píng)估,確認(rèn)用戶(hù)、干擾源及所在的位置。
3、處理器對(duì)天線信號(hào)的組合方式進(jìn)行計(jì)算,力爭(zhēng)最佳地恢復(fù)用戶(hù)的信號(hào)。借助這種策略,每位用戶(hù)的信號(hào)接收質(zhì)量將提高,而其他用戶(hù)的信號(hào)或干擾信號(hào)則會(huì)遭到屏蔽。
4、系統(tǒng)進(jìn)行模擬計(jì)算,使天線陣列可以有選擇地向空間發(fā)送信號(hào)。再次在此基礎(chǔ)上,每位用戶(hù)的信號(hào)都可以通過(guò)單獨(dú)的通信信道空間-空間信道實(shí)現(xiàn)高效的傳輸。
5、在上述處理的基礎(chǔ)上,系統(tǒng)就能夠在每條空間信道上發(fā)送和接受信號(hào),從而使這些信號(hào)稱(chēng)為雙向信道。
利用上述流程,SDMA系統(tǒng)就能夠在一條普通信道上創(chuàng)建大量的頻分、時(shí)分或碼分雙向空間信道,沒(méi)一條信道扣可以完全活的整個(gè)陣列的增益和抗干擾功能。從理論上而言,帶m個(gè)單元的陣列能夠在每條普通行道上支持m條空間信道。但在實(shí)際應(yīng)用中支持的信道數(shù)量將略低于這個(gè)數(shù)目,具體情況則取決于環(huán)境。由此可見(jiàn),SDMA系統(tǒng)可使系統(tǒng)容量成倍增加,使得系統(tǒng)在有限的頻譜內(nèi)可以支持更多的用戶(hù),從而成倍的提高頻譜使用效率。
自2011年9月,近幾十年來(lái),無(wú)線通信經(jīng)歷了從模擬到數(shù)字,從固定到移動(dòng)的重大變革。而就移動(dòng)通信而言,為了更有效地利用有限的無(wú)線頻率資源,時(shí)分多址技術(shù)(TDMA)、頻分多址技術(shù)(FDMA)、碼分多址技術(shù)(CDMA)得到了廣泛的應(yīng)用,并在此基礎(chǔ)上建立了GSM和CDMA(是區(qū)別于3G的窄帶CDMA)兩大主要的移動(dòng)通信網(wǎng)絡(luò)。就技術(shù)而言,現(xiàn)有的這三種多址技術(shù)已經(jīng)得到了充分的應(yīng)用,頻譜的使用效率已經(jīng)發(fā)揮到了極限??辗侄嘀芳夹g(shù)(SDMA)則突破了傳統(tǒng)的三維思維模式,在傳統(tǒng)的三維技術(shù)的基礎(chǔ)上,在第四維空間上極大地拓寬了頻譜的使用方式,使用移動(dòng)用戶(hù)僅僅由于空間位置的不同而復(fù)用同一個(gè)傳統(tǒng)的物理信道稱(chēng)為可能,并將移動(dòng)通信技術(shù)引入了一個(gè)更為嶄新的領(lǐng)域。
多路復(fù)用是什么意思?
在I/O編程過(guò)程中,當(dāng)需要同時(shí)處理多個(gè)客戶(hù)端接入請(qǐng)求時(shí),可以利用多線程或者I/O多路復(fù)用技術(shù)進(jìn)行處理。I/O多路復(fù)用技術(shù)通過(guò)把多個(gè)I/O的阻塞復(fù)用到同一個(gè)select的阻塞上,從而使得系統(tǒng)在單線程的情況下可以同時(shí)處理多個(gè)客戶(hù)端請(qǐng)求。與傳統(tǒng)的多線程/多進(jìn)程模型比,I/O多路復(fù)用的最大優(yōu)勢(shì)是系統(tǒng)開(kāi)銷(xiāo)小,系統(tǒng)不需要?jiǎng)?chuàng)建新的額外進(jìn)程或者線程,也不需要維護(hù)這些進(jìn)程和線程的運(yùn)行,降底了系統(tǒng)的維護(hù)工作量,節(jié)省了系統(tǒng)資源,I/O多路復(fù)用的主要應(yīng)用場(chǎng)景如下:
服務(wù)器需要同時(shí)處理多個(gè)處于監(jiān)聽(tīng)狀態(tài)或者多個(gè)連接狀態(tài)的套接字。
服務(wù)器需要同時(shí)處理多種網(wǎng)絡(luò)協(xié)議的套接字。
目前支持I/O多路復(fù)用的系統(tǒng)調(diào)用有 select,pselect,poll,epoll,在Linux網(wǎng)絡(luò)編程過(guò)程中,很長(zhǎng)一段時(shí)間都使用select做輪詢(xún)和網(wǎng)絡(luò)事件通知,然而select的一些固有缺陷導(dǎo)致了它的應(yīng)用受到了很大的限制,最終Linux不得不在新的內(nèi)核版本中尋找select的替代方案,最終選擇了epoll。epoll與select的原理比較類(lèi)似,為了克服select的缺點(diǎn),epoll作了很多重大改進(jìn),現(xiàn)總結(jié)如下:
1. 支持一個(gè)進(jìn)程打開(kāi)的socket描述符(FD)不受限制(僅受限于操作系統(tǒng)的最大文件句柄數(shù))。
select最大的缺陷就是單個(gè)進(jìn)程所打開(kāi)的FD是有一定限制的,它由FD_SETSIZE設(shè)置,默認(rèn)值是1024。對(duì)于那些需要支持上萬(wàn)個(gè)TCP連接的大型服務(wù)器來(lái)說(shuō)顯然太少了。可以選擇修改這個(gè)宏,然后重新編譯內(nèi)核,不過(guò)這會(huì)帶來(lái)網(wǎng)絡(luò)效率的下降。我們也可以通過(guò)選擇多進(jìn)程的方案(傳統(tǒng)的Apache方案)解決這個(gè)問(wèn)題,不過(guò)雖然在Linux上創(chuàng)建進(jìn)程的代價(jià)比較小,但仍舊是不可忽視的,另外,進(jìn)程間的數(shù)據(jù)交換非常麻煩,對(duì)于Java由于沒(méi)有共享內(nèi)存,需要通過(guò)Socket通信或者其他方式進(jìn)行數(shù)據(jù)同步,這帶來(lái)了額外的性能損耗,增加了程序復(fù)雜度,所以也不是一種完美的解決方案。值得慶幸的是,epoll并沒(méi)有這個(gè)限制,它所支持的FD上限是操作系統(tǒng)的最大文件句柄數(shù),這個(gè)數(shù)字遠(yuǎn)遠(yuǎn)大于1024。例如,在1GB內(nèi)存的機(jī)器上大約是10萬(wàn)個(gè)句柄左右,具體的值可以通過(guò)cat/proc/sys/fs/filemax察看,通常情況下這個(gè)值跟系統(tǒng)的內(nèi)存關(guān)系比較大。
2. I/O效率不會(huì)隨著FD數(shù)目的增加而線性下降。
傳統(tǒng)的select/poll另一個(gè)致命弱點(diǎn)就是當(dāng)你擁有一個(gè)很大的socket集合,由于網(wǎng)絡(luò)延時(shí)或者鏈路空閑,任一時(shí)刻只有少部分的socket是“活躍”的,但是select/poll每次調(diào)用都會(huì)線性掃描全部集合,導(dǎo)致效率呈現(xiàn)線性下降。epoll不存在這個(gè)問(wèn)題,它只會(huì)對(duì)“活躍”的socket進(jìn)行操作-這是因?yàn)樵趦?nèi)核實(shí)現(xiàn)中epoll是根據(jù)每個(gè)fd上面的callback函數(shù)實(shí)現(xiàn)的,那么,只有“活躍”的socket才會(huì)主動(dòng)的去調(diào)用callback函數(shù),其他idle狀態(tài)socket則不會(huì)。在這點(diǎn)上,epoll實(shí)現(xiàn)了一個(gè)偽AIO。針對(duì)epoll和select性能對(duì)比的benchmark測(cè)試表明:如果所有的socket都處于活躍態(tài)。例如一個(gè)高速LAN環(huán)境,epoll并不比select/poll效率高太多;相反,如果過(guò)多使用epoll_ctl,效率相比還有稍微的下降。但是一旦使用idle connections模擬WAN環(huán)境,epoll的效率就遠(yuǎn)在select/poll之上了。
3. 使用mmap加速內(nèi)核與用戶(hù)空間的消息傳遞
無(wú)論是select,poll還是epoll都需要內(nèi)核把FD消息通知給用戶(hù)空間,如何避免不必要的內(nèi)存復(fù)制就顯得非常重要,epoll是通過(guò)內(nèi)核和用戶(hù)空間mmap使用同一塊內(nèi)存實(shí)現(xiàn)。
4. epoll的API更加簡(jiǎn)單
用來(lái)克服select/poll缺點(diǎn)的方法不只有epoll,epoll只是一種Linux的實(shí)現(xiàn)方案。在freeBSD下有kqueue,而dev/poll是最古老的Solaris的方案,使用難度依次遞增。但epoll更加簡(jiǎn)單。
非常好我支持^.^
(5) 100%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [電子說(shuō)] 服務(wù)器硬盤(pán)通用基礎(chǔ)知識(shí) 2023-10-24
- [電子說(shuō)] 暢行全球,美格智能SLM750模組鍛造出海核心優(yōu)勢(shì) 2023-10-23
- [電子說(shuō)] 蜂窩物聯(lián)4G DTU數(shù)據(jù)采集傳輸終端 2023-10-23
- [電子說(shuō)] 通用開(kāi)關(guān)與矩陣開(kāi)關(guān)卡及多路復(fù)用開(kāi)關(guān)的對(duì)比 2023-10-23
- [接口/總線/驅(qū)動(dòng)] 一文詳解USB通信協(xié)議技術(shù) 2023-10-23
- [電子說(shuō)] 英特爾? DSA 助力云軸科技網(wǎng)絡(luò)性能提升,海量數(shù)據(jù)傳輸游刃有余 2023-10-21
- [電子說(shuō)] 簡(jiǎn)單闡述一下光纖的一些區(qū)別 2023-10-20
- [電子說(shuō)] 無(wú)人機(jī)遙控中應(yīng)用的2.4GHz無(wú)線芯片 2023-10-19
( 發(fā)表人:龔婷 )