當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]摘要:給出了基于AMCC的NP7250、NPX5700和NPX5800交換套片的全I(xiàn)P交換平臺的構(gòu)建方案,重點介紹了在基于Vxworks的全I(xiàn)P交換平臺上的進(jìn)程通信模塊的設(shè)計和實現(xiàn)方案。模塊主要實現(xiàn)相同處理器內(nèi)和不同處理器之間進(jìn)程間通信

摘要:給出了基于AMCC的NP7250、NPX5700和NPX5800交換套片的全I(xiàn)P交換平臺的構(gòu)建方案,重點介紹了在基于Vxworks的全I(xiàn)P交換平臺上的進(jìn)程通信模塊的設(shè)計和實現(xiàn)方案。模塊主要實現(xiàn)相同處理器內(nèi)和不同處理器之間進(jìn)程間通信功能,進(jìn)程間的通信主要依靠調(diào)度任務(wù)從郵箱中接收消息,并把消息派發(fā)到各個進(jìn)程的消息隊列來實現(xiàn),底層協(xié)議類型包括可靠通信協(xié)議(TCP)和不可靠通信協(xié)議(UDP)。
關(guān)鍵詞:嵌入式操作系統(tǒng);網(wǎng)絡(luò)處理器單元;消息隊列;Vxworks

引言
    隨著IP技術(shù)的迅速發(fā)展,“Everything over IP”的觀念已深入人心。眾多移動通信設(shè)備制造商都致力于基于全I(xiàn)P交換平臺之上的3G、4G產(chǎn)品開發(fā),基于全I(xiàn)P構(gòu)建開放通信體系架構(gòu),真正作到核心網(wǎng)和無線網(wǎng)絡(luò)各個產(chǎn)品的模塊化、積木化。將核心網(wǎng)、無線接入網(wǎng)統(tǒng)一考慮,做到技術(shù)上的重用、接口上的統(tǒng)一,避免獨立開發(fā)各模塊特別是底層開發(fā)可能存在的重復(fù)勞動,實現(xiàn)全業(yè)務(wù)融合,打造一體化的可增值、可擴展的多業(yè)務(wù)集成通信平臺,已成為業(yè)界共識。在整個系統(tǒng)設(shè)計的過程中,主要的目標(biāo)在于軟件支撐的統(tǒng)一性,這要求相關(guān)的硬件系統(tǒng)也需要統(tǒng)一考慮成一個硬件平臺的概念。這樣將來就可以在統(tǒng)一的軟件支撐上開發(fā)各種不同的應(yīng)用業(yè)務(wù)。

1 全I(xiàn)P開發(fā)平臺架構(gòu)
   
全I(xiàn)P交換平臺基于Crossbar的三層交換,可根據(jù)系統(tǒng)容量需求和實際應(yīng)用要求配置。當(dāng)容量較大時,采用CrossBar+線卡方式實現(xiàn)三層交換方式,具體線卡配置的數(shù)目根據(jù)實際數(shù)據(jù)流量以及資源在各個應(yīng)用實體的利用情況確定。當(dāng)容量較小時,采用線卡互連提供三層交換。位于全I(xiàn)P交換平臺之上的移動通信設(shè)備單板需要實現(xiàn)的移動通信功能靠Host(主)CPU完成。本文中的全I(xiàn)P開發(fā)平臺選用AMCC的NP7250、PX5700和NPX5800交換套片作為硬件基礎(chǔ),主CPU是MPC8260,主CPU上的操作系統(tǒng)是VxWorks。其中,NP7250主要實現(xiàn)級連線卡的作用,完成基本信元/包的轉(zhuǎn)發(fā)功能;NPX5700是流量控制芯片,實現(xiàn)對數(shù)據(jù)流的輸入接納和輸出調(diào)度功能,是IP開發(fā)平臺QoS保證的核心,兩套NPX5700構(gòu)成雙向10Gbps的處理能力;NPX5800是一種交換網(wǎng)芯片,用于連接NPX5700,實現(xiàn)交換功能。
    全I(xiàn)P交換平臺系統(tǒng)架構(gòu)如圖1所示,在嵌入式操作系統(tǒng)VxWorks之上還有一個操作系統(tǒng)子系統(tǒng),該層是VxWorks封裝層。嵌入式操作系統(tǒng)封裝層的目的之一是對上層應(yīng)用屏蔽底層硬件、OS、網(wǎng)絡(luò)的差別,給上層應(yīng)用軟件提供統(tǒng)一規(guī)范的調(diào)用接口,大大降低了應(yīng)用軟件開發(fā)人員的開發(fā)難度,也使開發(fā)出的應(yīng)用軟件有較好的跨平臺性、可移植性、可維護(hù)性和代碼繼承性。封裝層一般會對進(jìn)程管理、內(nèi)存管理、進(jìn)程通信等核心功能進(jìn)行重新定義和優(yōu)化,以適應(yīng)特定應(yīng)用領(lǐng)域的開發(fā)需求。


    下面以通信類嵌入式設(shè)備應(yīng)用領(lǐng)域為背景來討論操作系統(tǒng)子系統(tǒng)中的進(jìn)程通信管理模塊設(shè)計和實現(xiàn)方案。

2 進(jìn)程通信模塊設(shè)計
   
通信模塊為進(jìn)程之間的通信提供統(tǒng)一的接口。各個處理器都處于一個以太網(wǎng)上,前臺單板之間互相可以直達(dá),沒有中間路由,前后臺之間通過OMP轉(zhuǎn)發(fā)。根據(jù)通信區(qū)域的不同可分為:①相同處理器內(nèi)同一任務(wù)下的進(jìn)程間通信;②相同處理器內(nèi)不同任務(wù)下的進(jìn)程間通信;③相同處理器內(nèi)的任務(wù)之間的通信;④相同處理器內(nèi)的進(jìn)程到任務(wù)的通信;⑤相同處理器內(nèi)的任務(wù)到進(jìn)程的通信;⑥不同處理器間的進(jìn)程間通信。
    底層協(xié)議類型包括可靠通信協(xié)議(TCP)和不可靠通信協(xié)議(UDP)。對話方式主要采用以下5種:①處理器內(nèi)廣播(內(nèi)部消息機制);②分布式系統(tǒng)內(nèi)組播(UDP);③分布式系統(tǒng)內(nèi)廣播(UDP);④多對多通信(UDP),也就是無連接的點對點通信;⑤點對點通信(TCP和內(nèi)部消息機制)。
2.1 通信處理流程
   
同一處理器內(nèi)任務(wù)之間通信流程:每個調(diào)度任務(wù)建立一個郵箱,其他任務(wù)也建立自己的郵箱,進(jìn)程發(fā)送到另一個任務(wù)的進(jìn)程的消息首先發(fā)送到目的進(jìn)程所在任務(wù)的郵箱中進(jìn)行緩存,然后由調(diào)度任務(wù)派發(fā)到目的進(jìn)程的消息隊列中;進(jìn)程到其他類型任務(wù)的消息發(fā)送到相應(yīng)任務(wù)的郵箱,其他類型的任務(wù)之間消息發(fā)送到對方郵箱。根據(jù)為應(yīng)用提供的消息類型將任務(wù)間消息發(fā)送分類。發(fā)送異步緊迫消息,將消息發(fā)送到任務(wù)消息隊列的頭部;發(fā)送異步普通消息,將消息發(fā)送到任務(wù)消息隊列的尾部。
    同一任務(wù)內(nèi)的進(jìn)程通信流程如圖2所示,每一個進(jìn)程擁有一個消息隊列,進(jìn)程向同一任務(wù)內(nèi)進(jìn)程發(fā)送,通過內(nèi)部接口直接將消息掛到另一個進(jìn)程的消息隊列中。進(jìn)程向同一任務(wù)內(nèi)進(jìn)程發(fā)送同步應(yīng)答消息,不通過任務(wù)郵箱,目的進(jìn)程的狀態(tài)直接改變即可。任務(wù)內(nèi)的進(jìn)程間通信不能通過任務(wù)的郵箱進(jìn)行轉(zhuǎn)發(fā),這是為了避免在郵箱滿的時候任務(wù)向自己的郵箱發(fā)送消息,導(dǎo)致任務(wù)死鎖。


    不同處理器間的進(jìn)程通信流程如圖3所示,下面根據(jù)不同的對話方式分別描述通信處理流程。


    ①點對點通信。每個需要通信的處理器之間維護(hù)一條TCP連接,所有連接組成連接表。進(jìn)程通過接口發(fā)送的消息首先掛在相應(yīng)的連接的發(fā)送隊列中。通信任務(wù)在連接表中的所有連接上監(jiān)測鏈路狀態(tài),在連接寫就緒時依序發(fā)送連接發(fā)送隊列中的消息,在連接讀就緒時接收連接上的消息并向上層轉(zhuǎn)發(fā),在連接異常時告警并恢復(fù)鏈路狀態(tài),在檢查報到達(dá)的時候?qū)㈡溌穪G失的檢查報清零。
    ②多對多通信。使用一個公用的UDP套接口,發(fā)送時指定協(xié)議類型為不可靠傳輸協(xié)議的時候,根據(jù)邏輯地址查找到對應(yīng)的IP地址,直接從UDP套接口上發(fā)送出去。組播任務(wù)同樣守護(hù)在UDP套接口上,當(dāng)套接口讀就緒的時候接收消息并向上層轉(zhuǎn)發(fā)。
    ③組播。采用靜態(tài)分組的方法,每一個組播組對應(yīng)一個到組播地址,所有這種對應(yīng)關(guān)系組成分組表。每一處理器可以加入特定組播組,也可以隨時脫離組播組。組播任務(wù)守護(hù)在組播組表的組播套接口上,在套接口讀就緒時接收消息并向上層轉(zhuǎn)發(fā)。進(jìn)程直接在組播套接字上發(fā)送消息。
    ④廣播。分組表中有一個特殊項用作廣播,該組成員為系統(tǒng)內(nèi)所有處理器,組播任務(wù)在該項上守護(hù),進(jìn)行和上面相同的處理。
    ⑤處理器內(nèi)廣播。向同一個進(jìn)程類型的實例分別發(fā)送一條消息的拷貝。
    消息的派發(fā)過程如圖4所示。調(diào)度任務(wù)從自己的郵箱接收消息,并負(fù)責(zé)向各個進(jìn)程的消息隊列中派發(fā),在派發(fā)的過程中區(qū)別消息的類型。根據(jù)消息類型描述處理流程,派發(fā)同步應(yīng)答消息時,將目標(biāo)進(jìn)程轉(zhuǎn)入就緒狀態(tài),設(shè)置解除阻塞原因為應(yīng)答到;派發(fā)同步超時消息時,將目標(biāo)進(jìn)程轉(zhuǎn)入就緒狀態(tài),設(shè)置解除阻塞原因為同步超時;派發(fā)延時結(jié)束消息時,將目標(biāo)進(jìn)程轉(zhuǎn)入就緒狀態(tài),設(shè)置解除阻塞原因為延時結(jié)束;派發(fā)其他類型的消息時,將消息掛到目標(biāo)進(jìn)程消息隊列尾部,如果目標(biāo)進(jìn)程因為沒有消息而阻塞,將目標(biāo)進(jìn)程轉(zhuǎn)入就緒狀態(tài)。


2.2 TCP連接狀態(tài)機設(shè)計
   
TCP連接的狀態(tài)記錄在TCP連接控制塊的狀態(tài)域里面,本端上層應(yīng)用發(fā)起TCP連接建立請求時,TCP連接的狀態(tài)遷移如圖5所示。①沒有激活狀態(tài):接收到來自上層應(yīng)用的連接發(fā)起請求后,向?qū)Χ税l(fā)起連接,進(jìn)入等待寫就緒狀態(tài)。②等待寫就緒狀態(tài):如果接收到本端套接字的寫就緒事件,向?qū)Χ税l(fā)送檢查報,進(jìn)入等待對端檢查報狀態(tài);如果接收到對端連接請求(連接請求1)并且對端IP地址比自己的IP地址小,拒絕請求,繼續(xù)等待;如果接收到對端連接請求(連接請求2)并且對端IP地址比自己的IP地址大,接收請求,終止本端發(fā)起的連接過程,啟動連接接收的狀態(tài)機。③等待檢查報狀態(tài):收到檢查報后,連接成功,進(jìn)入工作狀態(tài);如果接收到對端連接請求(連接請求1)并且對端IP地址比自己的IP地址小,拒絕請求,繼續(xù)等待;如果接收到對端連接請求(連接請求2)并且對端IP地址比自己的IP地址大,接收請求,終止本端發(fā)起的連接過程,啟動連接接收的狀態(tài)機。④工作狀態(tài):如果收到數(shù)據(jù)收發(fā)請求,則進(jìn)行數(shù)據(jù)收發(fā),并保持狀態(tài);如果收到連接的關(guān)閉請求,則關(guān)閉本連接,轉(zhuǎn)到連接沒有激活狀態(tài);如果收到對端的連接建立請求,則啟動連接的接收狀態(tài)機,并保持現(xiàn)在的連接在工作狀態(tài)。


    在上述各種狀態(tài)下收到連接異常的信息都異常關(guān)閉連接,轉(zhuǎn)到連接沒有激活狀態(tài)。


    本端收到對端發(fā)起TCP連接建立請求時,TCP連接的狀態(tài)遷移如圖6所示。①沒有激活狀態(tài):接收到對端的連接請求后,進(jìn)入等待檢查報狀態(tài);②等待檢查報狀態(tài):如果接收到對端的檢查報,進(jìn)入等待寫就緒狀態(tài);如果接收到對端連接請求,接收請求,終止上次的連接過程,進(jìn)入等待檢查報狀態(tài);③等待寫就緒狀態(tài):如果收到寫就緒事件,向?qū)Χ税l(fā)送檢查報,連接成功,如果以前存在工作的鏈路,關(guān)閉該鏈路,本鏈路投入工作狀態(tài);如果接收到對端連接請求,接收請求,終止本次連接過程,切換到等待檢查報狀態(tài);④工作狀態(tài):如果收到數(shù)據(jù)收發(fā)請求,則進(jìn)行數(shù)據(jù)收發(fā),并保持狀態(tài);如果收到連接的關(guān)閉請求,則關(guān)閉本連接,轉(zhuǎn)到連接沒有激活狀態(tài);如果收到對端的連接建立請求,則啟動備份連接的建立狀態(tài)機,并保持狀態(tài)。
    在上述各種狀態(tài)下收到連接異常的信息都異常關(guān)閉連接。

3 主要數(shù)據(jù)結(jié)構(gòu)




結(jié)語
   
通過全I(xiàn)P的開放融合通信體系架構(gòu),可以在單一融合的IP網(wǎng)絡(luò)上運行語音、消息、會議、數(shù)據(jù)等多種通信應(yīng)用,基本的多業(yè)務(wù)接入、多設(shè)備集成,逐步發(fā)展到支持各種標(biāo)準(zhǔn)化接口,打造一個全新的一體化集成通信平臺,滿足應(yīng)用交互通信的需求。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉