分析一下PPPOE用戶上網的過程

分析一下PPPOE用戶上網的過程,首先用戶會在主機上運行PPPOE撥號程序(如ETHERNET600或XP自帶的撥號程序),撥號的主要目的就是拿到IP地址,請求到達BAS後,在BAS上會配置的PPPOE Server負責迴應請求,進行認證檢查(最基本的就是看用戶名密碼是否正確),決定是否給發送請求的主機分配IP地址。認證通過後BAS就從IP POOL(IP地址池)中挑選一個地址發給主機,這個地址就是你看到的掩碼32位的地址。 說了好多廢話,見晾^-^。馬上回答你的第一個問題,掩碼爲什麼是32位,網關爲什麼是自己? 前面提到了主機地址是從IP POOL中得到的,IP POOL一般都配成一段地址,如一個或半個C類地址等等。所有的PPPOE撥號主機的地址都從IP POOL中分配,對於主機來講32位掩碼地址已經足夠,並不影響正常通訊,打個比方,router的Loopback0地址是32位掩碼的,我們經常用這個地址作爲telnet,Ftp的通訊地址,主機用32位掩碼地址的道理與Loopback0地址類似,它並不影響服務。還有就是爲了節約地址資源,大家知道如果掩碼是30位的話,4個地址中要浪費兩個地址作爲網絡地址和廣播地址,主機地址只能用另外兩個。32位掩碼節約了大量的地址資源。至於網關和地址爲什麼一樣,我想它沒法不一樣,呵呵。累了吧,break一下,我們繼續。 主機得到地址後,網關是自己,那它如何通訊呢?這就是BAS的基本功能了,主機撥號得到地址後,就相當於與BAS直連的一個虛端口,BAS上面增加一條針對主機地址的直連路由。然後我們分析上網的過程,主機開始發送數據包,數據包到達BAS,BAS此時就象一個router,它檢查從主機過來的數據包中的目的地址,如果路由表中有針對此目的地址的條目,那麼BAS將數據包發送到下一跳,如果沒有,BAS按照缺省路由指定的下一跳轉發。通常主機發送的數據包都是按照缺省路由轉發的,除非是連到同一個BAS的兩個PPPOE主機之間的通訊。 現在我們知道主機發出的數據包如何被轉發了,那麼回到主機的數據包怎麼辦呢? 很簡單,通常來講,BAS上面就是router,在router上面做一條針對IP POOL的靜態路由,指到BAS,然後將它發佈到internet。這樣,目的地址是某PPPOE主機的數據包首先會到達BAS,然後BAS會按照32位掩碼地址將其轉發給指定的主機。 路由器的POS接口地址掩碼是30位是因爲它需要和對端互通,30位掩碼是最合適的,夠用而且不浪費。ARP表中不顯示應該是因爲POS接口是點對點通訊,不象 ethernet是點到多點的通訊,需要知道每個MAC地址與IP地址的捆綁關係。有的設備POS接口是有MAC地址的,但是在ARP表中只會顯示本地 POS接口和IP地址的捆綁關係,不象ethernet接口,即有本地接口的MAC地址與IP地址的捆綁關係,又有通過ARP學習到的對端地址的MAC地址與IP地址的捆綁關係。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章