TCP中使用PPP在數據鏈路層建立連接的意義是什麼?
TCP層建立連接時為了可靠傳輸。可是PPP在數據鏈路層建立連接意義是什麼呢?物理連接已經建立好了,直接傳送包裝好的數據幀就可以了呀~~~
如果說這一層是為了驗證用戶的合法性來撥號上網,那麼問題來了,究竟是PPP因撥號上網而生還是撥號上網因PPP而生呢?我覺得肯定是先有了PPP,然後再有撥號上網的,所以我不是很清楚PPP要建立數據鏈路的意義是什麼?
謝邀。
拿個例子來描述網路里複雜而抽象的問題比較好理解,講一個故事:
有一位地下黨要護送一位重要領導從白區到蘇區,於是就單線聯繫(PPP)他的上線(PPP server),上線情報員用暗號認證(CHAP)了他,給他一張蘇區通行證(IP,Gateway),有了這個通行證可以自由地到達蘇區(Internet),至於和哪位領導接洽,完全看領導的意圖,假如見到了蘇區大領導(TCP server), 握手致意(三次同步握手),交換了意見(TCP 數據傳輸),揮手告別(四次TCP 揮手,關閉連接),一個會話就這麼結束了。(TCP session disconnected)
沒有地下黨的護送,就相當於PPP沒有建立連接,一切都是浮雲,重要領導無法到達蘇區,只有地下黨完成所有的聯絡任務之後,才有接下來地一切活動。(TCP session)
-----以下是技術細節------
如果我們來描述一下撥號的過程(phase 1),數據傳輸的過程(phase 2)就很清晰了。
Phase 1: 撥號建立PPP連接
Step 1: client send [PPP header + LCP ] to server
Step 2: server response with [PPP header + LCP]
After the two steps, they agreed how to authenticate the client , supposed they select PAP as authentication method
Step 3: client send [PPP header + PAP ] to server
Step 4: server response with [PPP header + PAP]
After these two steps,server authenticate client successfully
Step 5: client send [PPP header + IPCP ] to server
Step 6: server response with [PPP header + IPCP]
After these two steps,client get its IP address ,gateway ,DNS server.
PPP server insert one reverse host route x.x.x.x/32 into its routing table.
Phase 2: 數據傳輸過程
[ PPP header + IP +TCP + TCP Payload]
從以上過程可以看出,第一階段是一種控制連接,不光要完成用戶的認證,同時要給用戶分配IP地址等參數,同時PPP server 還要插入指向用戶端的主機路由,只有這些過程全部完成,才開始啟動後台計費系統。
這個階段如果用一句話概述:打開了通往互聯網的大門!
第二階段才是數據傳輸,就是正常的IP包的傳輸,數據鏈路層是PPP封裝,告訴另一端的PPP server 裡面的payload 是IP。
這個階段用一句話概述:即然來到了互聯網世界,總要跑點流量玩玩!PPP只是點對點傳輸協議,裡面可以放個隧道,隧道里可以放任何東西,比如加密過的數據、需要認證才能有的連接等
ppp不是pppoe,不要混為一談了
推薦閱讀:
※我是個layman,對網路技術當中的IP理解不好,麻煩大家科普一下,謝謝?
※如何在一條丟包率 30% 的鏈路上建立低延遲連接?
※何時IPV6 才能普及?
※如何形象生動的解釋ip地址、子網掩碼、網關等概念?
※Python 爬蟲學到什麼樣就可以找工作了?