當前位置:編程學習大全網 - 源碼破解 - PPP和PDP激活是什麽區別!

PPP和PDP激活是什麽區別!

ppp相當於鏈路層協議 socket套接字,對tcp/ip協議的封裝、應用 gprs上網首先要設置pdp,接著建立ppp連接,ppp連接建立後,就可以進行tcp/ip傳輸了, 要進行tcp/ip數據傳輸,很多時候都采用socket PDP:是GPRS連接的軟硬件環境,指定GPRS連接的接入點APN,連接類型IP或PPP,還有其他壹些可選項; PPP:終端和MODEM之間點對點的協議,包括終端於MODEM之間的鏈路層協商(LCP),服務器對終端的認證(PAP或CHAP,這壹步非強制),以及終端與服務器的網絡層協商(基本都是IPCP); SOCKET:進程之間的通信方式,手機上的應用程序(客戶進程)要和服務器的某個服務進程通信,就用socket通過邦定的TCP或UDP端口基於IP進行數據傳輸 再補充壹下: PPP協商過程中的IPCP配置中,終端通過MODEM請求激活PDP上下文獲得IP地址完成網絡連接,PDP中設置的APN就是終端所在的這個網絡的網關,終端訪問internet時就得通過這個網關; 而終端的客戶進程與服務器的服務進程進行socket通信時,就基於這個IP地址。 以GPRS模塊做個例子,為什麽使用PPP連接,就可以同連接多個服務器呢?而SOCKET連接每次只能連接壹個服務器呢? 據我所知道的:從網絡側來看,PPP連接最重要的壹步是獲取IP地址,這個IP由GGSN分配,GGSN是GPRS網到internet的網關,GSM和WCDMA協議規定壹個MODEM可以和多個GGSN建立PDP上下文,不知道妳所說的服務器是否指GGSN。而socket連接的服務器和GGSN完全是兩碼事,socket連接的是internet網絡中的服務器,socket是用於進程間通信的,它將進程與TCP/UDP端口進行綁頂,壹個client端的socket只能連接壹個server socket。也就決定了它只能連接壹臺服務器。 如果妳要寫應用程序,妳只需要關心socket的函數族就可以了。不需要去考慮GPRS如何如何。它對妳是透明的。當然,寫應用的時候必須註意兩件事:1、GPRS是否可用。如果當前GPRS根本就無法連接,妳開socket是毫無意義的;2、擁塞控制。GPRS速度其實並不高,用慣了寬帶網的小朋友很喜歡在上面壹秒壹千個循環每個循環1000字節的發送內容,網絡堵死了都不知道怎麽死的。從理論上來說,如果妳的平臺上的TCP/IP足夠完整,妳根本不需要考慮GPRS的內容,只需要根據TCP/IP協議棧上的接口就完全可以控制應用程序的調度和流控了。通常的平臺上,TCP/IP協議棧都是“賽揚”版的,所以應用程序經常還需要去讀取GPRS狀態。 如果妳寫的是GPRS協議棧,關心到PDP就可以為止了。上面壹段描述的時候有意“忽略”了壹個“很重要的問題”——手機漫遊的時候IP地址會不會變化?如果手機的GPRS沒有長時間掉線,就不會變化。PDP就是處理這件事的。PDP的作用相當於維持壹根看不見的網線,不管妳走到哪兒都保證妳IP地址不變。或者妳可以認為PDP的上下文標誌就是手機這張“網卡”的“MAC地址”。至於PDP怎麽實現,應該是妳去看GPRS資料的事情了。 PPP是發生在PDP和TCP/IP之間的。這裏引入PPP基於兩個歷史淵源:1、GPRS提供PDP之後,在其上到底如何移植TCP/IP?TCP/IP當然可以覆蓋在PDP之上,但這幾乎就是重寫TCP/IP了。而更早的時候已經有以PPP為底層的TCP/IP了。PPP的移植又比TCP/IP的移植要簡單得多。於是就有人先把PPP移植到PDP上,然後再在上面蓋壹層TCP/IP。PPP其實就是壹個DL(數據鏈路層)的變異體;2、(實際上這個才是真正的最主要的淵源),最開始的處理器能力都不夠,跑GPRS之後,根本不可能再跑TCP/IP協議棧和應用,GPRS充當modem,TCP/IP和應用程序在PC壹端。GPRS的數據怎麽弄進PC呢?這就是PPP的用武之地了。PC和GPRS modem用串口進行物理鏈接,串口之上覆蓋PPP協議,PPP的壹端是GPRS modem的PDP,另壹端就是TCP/IP的數據鏈路層接口。

  • 上一篇:圖片裏面的這種不規則圓點是用ps做的嗎?怎麽做
  • 下一篇:漫畫西洋古董果子店結局是什麽?
  • copyright 2024編程學習大全網