摘要:PPP包括串行鏈路上封裝數(shù)據(jù)報(bào)的方法;建立、配置和測試數(shù)據(jù)鏈路鏈接的LCP協(xié)議(Linkcontr01Protocol);建立和配置網(wǎng)絡(luò)層協(xié)議的IPCP協(xié)議(IPControlProtocol);鑒權(quán)協(xié)議PAP/CHAP。為了在點(diǎn)到點(diǎn)鏈路上建立通信,PPP鏈路的一端必須在建立階段首先發(fā)LCP包配置數(shù)據(jù)鏈路。在鏈路建立后,進(jìn)入網(wǎng)絡(luò)層協(xié)議之前,PPP提供一個(gè)可選擇的鑒權(quán)階段。
PPP包括串行鏈路上封裝數(shù)據(jù)報(bào)的方法;建立、配置和測試數(shù)據(jù)鏈路鏈接的LCP協(xié)議(Link contr01 Protocol);建立和配置網(wǎng)絡(luò)層協(xié)議的IPCP協(xié)議(IP ControlProtocol);鑒權(quán)協(xié)議PAP/CHAP。為了在點(diǎn)到點(diǎn)鏈路上建立通信,PPP鏈路的一端必須在建立階段首先發(fā)LCP包配置數(shù)據(jù)鏈路。在鏈路建立后,進(jìn)入網(wǎng)絡(luò)層協(xié)議之前,PPP提供一個(gè)可選擇的鑒權(quán)階段。默認(rèn)情況下,鑒權(quán)不是強(qiáng)制的。如果希望進(jìn)行鏈路的鑒權(quán),則實(shí)現(xiàn)者必須在建立階段指明鑒權(quán)協(xié)議配置選項(xiàng)。
1.2 應(yīng)用層實(shí)現(xiàn)
傳統(tǒng)的網(wǎng)絡(luò)編程都調(diào)用Socket API函數(shù)連接低層傳輸協(xié)議。常用的網(wǎng)絡(luò)編程接口包括BSD(Berkeley Software Distributlon)Sockets和Winsock TM。為了支持網(wǎng)絡(luò)應(yīng)用,CDMA系統(tǒng)自身提供了完整的Socket API函數(shù)。建立一個(gè)TCP連接過程如圖1所示。
應(yīng)用程序調(diào)用dss_open_netlib()函數(shù)打開網(wǎng)絡(luò)庫,使數(shù)據(jù)業(yè)務(wù)狀態(tài)機(jī)進(jìn)入Socket模式,同時(shí)定義網(wǎng)絡(luò)回調(diào)函數(shù)和Socket回調(diào)函數(shù),返回應(yīng)用ID號。應(yīng)用程序通過網(wǎng)絡(luò)回調(diào)函數(shù)得知低層網(wǎng)絡(luò)是否可用,Socket回調(diào)函數(shù)描述Socket事件。
應(yīng)用程序調(diào)用dss_pppopen()函數(shù)建立網(wǎng)絡(luò)子系統(tǒng),包括傳輸信道的建立和連接。網(wǎng)絡(luò)子系統(tǒng)建立后,網(wǎng)絡(luò)回調(diào)函數(shù)通知應(yīng)用程序當(dāng)前網(wǎng)絡(luò)可用。
圖1中省略了一個(gè)步驟,即低層協(xié)議建鏈后,調(diào)用dss_socket()函數(shù)創(chuàng)建一個(gè)新的套接字用來進(jìn)行網(wǎng)絡(luò)通信。返回一個(gè)描述符代表這個(gè)套接字;同時(shí)進(jìn)行SCB(SocketControl Block)及相關(guān)數(shù)據(jù)結(jié)構(gòu)的初始化,指定協(xié)議使用的地址族(AF_INET)、Socket類型(sock stream-TCPsockets)和協(xié)議類型(IPPROTO_TCP)。
此時(shí)調(diào)用dss_connect()與遠(yuǎn)程服務(wù)器建立一個(gè)活動連接。函數(shù)立即返回DS_EWOULDBLOCK,表示操作需要暫停。應(yīng)用程序通過dss_async_select()函數(shù),設(shè)定SCB的相應(yīng)位,指定當(dāng)前待處理事件(如DS_WRITE_EVENT),以支持Socket庫的無阻塞函數(shù)調(diào)用,并及時(shí)得到異步事件通知。應(yīng)用程序得知異步事件發(fā)生,立即調(diào)用dss_getnextevent()函數(shù)檢查何種事件發(fā)生,并清除SCB隊(duì)列中的相應(yīng)位。
應(yīng)用Huntel Technologies推出的CDMA 800 MHz標(biāo)準(zhǔn)無線模塊HT6025-A,在CDMA操作系統(tǒng)自身提供的Socket API函數(shù)基礎(chǔ)上進(jìn)行網(wǎng)絡(luò)應(yīng)用層程序開發(fā),實(shí)現(xiàn)了CDMA無線模塊的TCP/IP協(xié)議的AT命令支持。用戶只需通過模塊串口輸入/輸出相應(yīng)的AT命令即可實(shí)現(xiàn)TCP/IP協(xié)議的調(diào)用,以達(dá)到連接Internet的目的。系統(tǒng)采用CDMA系統(tǒng)支持的分組數(shù)據(jù)業(yè)務(wù)(Packet DataSetvice)進(jìn)行數(shù)據(jù)傳輸。分組數(shù)據(jù)業(yè)務(wù)充分共享無線信道,采用IP Over PPP實(shí)現(xiàn)數(shù)據(jù)終端的高速、遠(yuǎn)程接入,以數(shù)據(jù)流量計(jì)費(fèi),傳輸速率可達(dá)14.4 kbps,是收發(fā)隨機(jī)突發(fā)數(shù)據(jù)的最佳選擇。圖2為CDMA模塊內(nèi)部任務(wù)調(diào)用及軟件結(jié)構(gòu)功能圖。
通信工程師備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬道題
已有25.02萬小伙伴參與做題