摘要:PPP包括串行鏈路上封裝數據報的方法;建立、配置和測試數據鏈路鏈接的LCP協議(Linkcontr01Protocol);建立和配置網絡層協議的IPCP協議(IPControlProtocol);鑒權協議PAP/CHAP。為了在點到點鏈路上建立通信,PPP鏈路的一端必須在建立階段首先發LCP包配置數據鏈路。在鏈路建立后,進入網絡層協議之前,PPP提供一個可選擇的鑒權階段。
PPP包括串行鏈路上封裝數據報的方法;建立、配置和測試數據鏈路鏈接的LCP協議(Link contr01 Protocol);建立和配置網絡層協議的IPCP協議(IP ControlProtocol);鑒權協議PAP/CHAP。為了在點到點鏈路上建立通信,PPP鏈路的一端必須在建立階段首先發LCP包配置數據鏈路。在鏈路建立后,進入網絡層協議之前,PPP提供一個可選擇的鑒權階段。默認情況下,鑒權不是強制的。如果希望進行鏈路的鑒權,則實現者必須在建立階段指明鑒權協議配置選項。
1.2 應用層實現
傳統的網絡編程都調用Socket API函數連接低層傳輸協議。常用的網絡編程接口包括BSD(Berkeley Software Distributlon)Sockets和Winsock TM。為了支持網絡應用,CDMA系統自身提供了完整的Socket API函數。建立一個TCP連接過程如圖1所示。

應用程序調用dss_open_netlib()函數打開網絡庫,使數據業務狀態機進入Socket模式,同時定義網絡回調函數和Socket回調函數,返回應用ID號。應用程序通過網絡回調函數得知低層網絡是否可用,Socket回調函數描述Socket事件。
應用程序調用dss_pppopen()函數建立網絡子系統,包括傳輸信道的建立和連接。網絡子系統建立后,網絡回調函數通知應用程序當前網絡可用。
圖1中省略了一個步驟,即低層協議建鏈后,調用dss_socket()函數創建一個新的套接字用來進行網絡通信。返回一個描述符代表這個套接字;同時進行SCB(SocketControl Block)及相關數據結構的初始化,指定協議使用的地址族(AF_INET)、Socket類型(sock stream-TCPsockets)和協議類型(IPPROTO_TCP)。
此時調用dss_connect()與遠程服務器建立一個活動連接。函數立即返回DS_EWOULDBLOCK,表示操作需要暫停。應用程序通過dss_async_select()函數,設定SCB的相應位,指定當前待處理事件(如DS_WRITE_EVENT),以支持Socket庫的無阻塞函數調用,并及時得到異步事件通知。應用程序得知異步事件發生,立即調用dss_getnextevent()函數檢查何種事件發生,并清除SCB隊列中的相應位。
應用Huntel Technologies推出的CDMA 800 MHz標準無線模塊HT6025-A,在CDMA操作系統自身提供的Socket API函數基礎上進行網絡應用層程序開發,實現了CDMA無線模塊的TCP/IP協議的AT命令支持。用戶只需通過模塊串口輸入/輸出相應的AT命令即可實現TCP/IP協議的調用,以達到連接Internet的目的。系統采用CDMA系統支持的分組數據業務(Packet DataSetvice)進行數據傳輸。分組數據業務充分共享無線信道,采用IP Over PPP實現數據終端的高速、遠程接入,以數據流量計費,傳輸速率可達14.4 kbps,是收發隨機突發數據的最佳選擇。圖2為CDMA模塊內部任務調用及軟件結構功能圖。
通信工程師備考資料免費領取
去領取
專注在線職業教育25年