IPOE到底是什麼?

在澳大利亞報裝寬頻時路由器強制使用IPOE來聯網,無法使用PPPoE,讓我很煩惱,因為中國並沒有IPOE的登錄方式。


中國很多地方是IPoE,例如你在家裡用的IPTV,再例如你在大學裡面連WIFI的時候,彈出頁面讓你登錄。

1. 什麼是IPoE

IPoE是DHCP+認證的技術。

DHCP可以配合其他技術實現認證,例如Web+Radius,還例如,DHCP+OPTION擴展欄位進行認證,所有這些擴展方式都統稱為DHCP+認證,又可稱為IPoE認證方式。

2. IPoE用在哪裡

使用IPoE的,最早是用在運營商。現在已經部署在了高校,火車站,機場,這種有大規模用戶接入的地方。

3. IPoE的原理

先看看DHCP包類型

DHCP包格式

看看DHCP建立過程:

a. Client首先發出廣播DHCP DISCOVER報文,廣播的目的是讓DHCP
Server收到這個請求報文。在這個報文中,Client可以在「option」欄位中加入「request paramter list」選項,表明自己想要獲得的各種參數,而且四個IP地址欄位都必須為0;

b. 由於DHCP DISCOVER報文是廣播,那麼該網段中所有的DHCP
Server夠收到,所有的DHCP Server都會響應一個DHCP OFFER報文,其中「yiaddr」欄位就是DHCP Server能夠提供給Client使用的IP地址,而且DHCP
SERVER會把自己的IP地址放在「選項」欄位中以便Client區分不同的DHCP Server,發出此報文後,在DHCP SERVER上就會存在一個已分配IP地址的記錄;

c.Client能夠收到所有的DHCP OFFER報文,但Client只能處理其中的一個,一般的原則是Client接收、處理最先收到的那個DHCP OFFER報文。Client會再發出一個廣播的DHCP REQUEST報文,在「選項」欄位中會加入選中的DHCP
Server的IP地址和用戶想要的IP地址,之所以廣播是因為要通知所有的DHCP SERVER進行相應的處理。

d. DHCP Server收到DHCP REQUEST報文,判斷「option」欄位中的DHCP
SERVER的IP地址是否與自己的地址相同,不相同,則不做任何處理,如果自己發出過DHCP OFFER報文,則清除相應IP地址記錄;當「option」欄位中的DHCP
SERVER的IP地址是與自己的IP地址相同時,DHCP SERVER就會響應一個DHCP ACK報文,其內容同DHCP OFFER類似,並在「option」欄位中增加了IP地址使用租期選項。

e.Client收到DHCP ACK報文後(經過上面的處理後,有且只有一個DHCP ACK報文),會檢查DHCP Server分配給自己的IP地址是否能夠使用,如在乙太網類型的網路中,Client會發出免費的ARP請求來確定DHCP Server分配的IP地址是否已經被別人使用,如果可以使用,則CLIENT成功獲得IP地址,並根據IP地址使用租期自動啟動續延過程。

f.如果Client發現DHCP Server分配的IP地址已經被別人使用,則Client會發出DHCP DECLINE報文通知DHCP Server禁用這個IP地址以免引起IP地址衝突。然後Client又開始新的DHCP過程,從第1步開始。

g.當Client成功獲取IP地址後,會根據IP地址使用租期自動啟動續延過程,在使用租期過去50%時刻處,向DHCP Server發送單播DHCP REQUEST報文續延租期,如果成功即收到DHCP Server的DHCP ACK報文,則租期相應向前延長,如果沒有收到DHCP ACK報文,則Client繼續使用這個IP地址。在使用租期過去87.5%時刻處,向DHCP Server發送廣播DHCP REQUEST報文續延租期,如果成功即收到DHCP Server的DHCP ACK報文,則租期相應向前延長;如果失敗即沒有收到DHCP ACK報文,則Client繼續使用這個IP地址。在使用租期到期時,CLIENT應自動放棄使用這個IP地址,並開始新的DHCP過程,從第1步開始。

h.Client在成功獲取IP地址後,隨時可以通過發送DHCP RELEASE報文釋放自己的IP地址,DHCP SERVER收到DHCP RELEASE報文後,會回收相應的IP地址重新分配。

--------------------------

以上,是標準DHCP過程。

如果你是運營商,面對下面如此大規模的DHCP用戶接入,那麼你要做的事情就是知道這個人從哪裡上來的,什麼時候上來的,是否合法,用了多少流量,最好我還能控制這個客戶能訪問哪些地方。

所以,這裡面有三個元素,客戶端,Bras設備和Radius。

Bras有兩個方向的作用,連接下游DHCP用戶接入和連接Radius做用戶認證,跟傳統DHCP不同,運營商的Bras設備要把DHCP這種無連接的協議變成面向連接的,那麼就要在Bras上為每一個DHCP用戶建立虛擬介面,通過這個虛擬介面來與的Client通信。

而認證的方式各家BRAS的實現不盡相同,例如在做Radius+WEB認證時,Juniper是先認證再分配IP,而HW的是先分配IP再認證,所以沒有標準的做法。

DHCP的OPTION 60中帶有Vendor和Service Option信息,是由用戶終端發送DHCP Discover時攜帶的信息。所以Option 60的目的是用來識別用戶終端是什麼類型。

而OPTION 82信息是由Bras插入在終端發出的DHCP報文中,主要用來標識用戶終端的接入位置,例如(進入Bras的Vlan,Bras的埠),Option 82的目的是來標識每一個終端用戶的地理位置,DHCP OPTION82信息可以由DHCP SNOOPING或DHCP RELAY設備進行插入。

這裡舉個例子,在IPTV的應用中,機頂盒通過IPoE認證,它發送的Discover中包含Option 60,標識這是一台機頂盒。當Bras收到這個Discover後會為這個用戶建立一個虛擬介面,然後在Discover後加入Option 82,一起發送給DHCP Server,DHCP Server收到這個請求後會剝離Option 60和Option 82,並把信息發送給Radius,Radius認證發現這是一台機頂盒,並且知道了它上線的時間和位置,認證成功後返回accept,DHCP Server隨後完成offer。最終機頂盒拿到IP地址。

另外因為乙太網是一個大的廣播域,為了做用戶隔離,在實施中常常使用QinQ技術,為每個用戶分配一個VLAN。


IP over Ethernet 的縮寫,先來描述下上網過程:

1) 主機802.1x 幀到達局端接入伺服器,通過後台radius 認證伺服器完成認證,open port

這個過程類似 PPP EAP

2) 主機DHCP報文到達接入伺服器,完成四次交互,給主機分配IP地址,預設網關,DNS server

這個過程類似PPP IPCP

無論PPPoE + PPP 還是IPoE 都是先認證用戶,再分配IP地址,其實是殊途同歸。

802.1x 交互過程

host(Authentication client ) ---------POP switch (Authenticator) --------Radius(Authentication server)

802.1x 流量模型

host ------&>switch (source 10.1.1.2,destination 20.1.1.1)-----&>(10.1.1.1)BRAS(20.1.1.2)----&>(20.1.1.1) Radius

完成以上認證,Radius一般會動態下發介面的vlan ID,然後switch 完成配置,打開介面,用戶主機和BRAS 完成DHCP交互,分配IP地址,因為DHCP 所有報文都是途徑交換機得,所以交換機可以看到DHCP discovery , offer, request ,ack ,一旦看到伺服器段發出的ACK,就標誌著用戶成功上網,要通知後台的Radius啟動計時收費機制,即accounting.


IPoE

Internet Protocol over Ethernet (IPoE) is a method of delivering an IP payload over an Ethernet-based access network or an access network using bridged Ethernet over Asynchronous Transfer Mode (ATM) without using PPPoE. It directly encapsulates the IP datagrams in Ethernet frames, using the standard RFC 894 encapsulation.

The use of IPoE addresses the disadvantage that PPP is unsuited for multicast delivery to multiple users. Typically, IPoE uses Dynamic Host Configuration Protocol and Extensible Authentication Protocol to provide the same functionality as PPPoE, but in a less robust manner.

===背景介紹===

傳輸層: TCP/UDP

網路層: IP/ICMP

鏈接層: PPP(經典), Ethernet

Point-to-point protocol over Ethernet

乙太網上的點對點協議,是將點對點協議(PPP)封裝在乙太網(Ethernet)框架中的一種網路隧道協議。由於協議中集成PPP協議,所以實現出傳統乙太網不能提供的身份驗證、加密以及壓縮等功能,也可用於纜線數據機(cable modem)和數字用戶線路(DSL)等以乙太網協議向用戶提供接入服務的協議體系。

https://zh.wikipedia.org/zh-cn/PPPoE

===缺陷===

PPPoE是對底層數據的封裝

的由於帶有包頭,所以有效負載會略微減小(PPP 2 byte, PPPoE 6 byte)。在極端情況下,一個原始的大包會被分拆成一個比原始數據包小那麼一點點的包和一個拖油瓶小包(剩餘內容)。

通常情況下,乙太網的MTU為1500,你的電腦遵照這個協議,向外發送了一個1500的數據幀。這個幀經過你的ADSL路由貓(通過PPPoE上網),此時路由對外發送的數據經過PPPoE封裝,大小1508。接下來這個1508大小的數據幀再次通過廣域電信網路的乙太網傳播。直到PPPoE隧道的另一端(局端),數據會被還原成標準的乙太網幀。這個過程其實和VPN有點像。

那麼問題來了,由於1508的幀還是在電信網路的乙太網上傳播,如果中間有網路設備無法handle住這種「非標準」大小的幀,則有可能發生分片行為,產生fragement。

分片行為會佔用撥號網關的CPU,也會讓中間所有的路由多傳送額外的包,在高速網路上是比較影響性能的。

(所以現在有的路由器的LAN默認MTU設置成1480,就是為了避免這樣的現象)

PPPoE不支持多播?

這條是我根據自己理解研究的,有錯誤請指出,謝謝

畢竟每用戶都是裝在自己的PPP隧道里的,多播行為可以發生在局端,但是分發到各個用戶手裡還是要重複發送PPP,傳播PPP的流量壓力和普通的方式沒有什麼區別,多播省流量的優勢完全沒有得到體現。IPoE則相當於一種帶了額外認證欄位的IP數據包,可以在盡量靠近用戶的地方才開始複製分發。

多播對於像IPTV之類的業務很有用。現在很多基於PPPoE的IPTV則是使用VPI/VCI這種方式去區分日常網路交互流量和電視廣播流量,不方便,實現複雜,硬體壓力大。

Cisco 的擴展閱讀

http://www.swinog.ch/meetings/swinog15/The_Evolution_from_PPPoE_to_IPoE_sessions.pdf


IPoE 是相對於pppoE來說的。較多見於描述iptv接入場景。寬頻接入大多使用乙太網。而乙太網的通常是不需要認證就可以直接使用的。不認證對於企業內部使用沒問題,但對於像電信這樣的運營商因為計費等原因不能不認證。因此電信寬頻一般會在乙太網上模擬點對點撥號的ppp。叫pppoe。這種是在IP封包與以太mac層中間加入一個ppp層實現認證及分配ip。但這樣做法要求客戶端比如家裡的機頂盒或電腦安裝pppoe的撥號軟體。對一般電腦沒問題,但對於機頂盒來說會比較麻煩。因此機頂盒接入會希望不載入pppoe撥號軟體。直接採用IP包跑在乙太網上接入。這種叫ipoe。

那麼用ipoe時如何認證接入設備會用戶呢?。因為在ipoe下分配地址要麼用靜態。要麼用dhcp。

或者用802.1x。機頂盒使用dhcp方式較多。一般會通過在dhcp的option中攜帶機頂盒編號,位置等各種能唯一表示設備身份的東西作為認證方式。


IPTV、OTV業務大多都採用IPOE方式接入:

1、直播業務如果通過單播進行承載,業務流量需要的總帶寬等於在線用戶數*視頻碼率。直播業務如果通過組播進行承載,那麼業務流量需要的總帶寬等於所有頻道的碼率之和。

2、傳統PPPOE方式組播複製點只能在BRAS,對於流量較大的視頻業務承載,存在局限性,採用IPOE方式,將組播複製點下沉到OLT節點可有效節省城域網帶寬。

非SESSION級IPOE用戶接入處理流程如下:

(1) 用戶終端發起DHCP請求,攜帶相應的Option60信息;

(2) 中間途經的網路設備根據相關規範標記Option82信息;

(3) BRAS/SR收到用戶請求報文,標記相應的Option82信息,同時直接將請求報文中繼轉發給相應的DHCP Server;

(4) DHCP Server收到用戶請求報文,提取請求報文中的相關信息,構造認證所需的Username和Nas-Port-ID。送到Radius認證。此外,DHCP Server與AAA之間可以採用私有協議實現用戶接入認證;

(5) Radius對用戶進行認證,如認證不通過,則返回拒絕報文,DHCP Server回復DHCP NACK報文;如認證通過,則向DHCP Server發出認證通過信息,DHCP Server將分配給用戶的IP地址封裝進DHCP offer包中,再發送給用戶終端。DHCP Server需要在DHCP offer包中插入認證信息(option125)以便客戶端能夠對此信息進行鑒權,以辨別該offer包是否來自可信賴的DHCP Server。

(6) DHCP Server根據用戶不同的業務信息分配相應的地址,用戶可以正常使用業務。


推薦閱讀:

新浪微博做得比推特好?
資金有上限但足夠情況下,現有如下方案:1、 iphone 5s 2、 ipad air + MX3 (有張減200的券) 該如何選擇?
如何把無線路由器接在有線路由器上上網?
現在Android開發和web前端開發哪個前景更好?
在加拿大做程序員是一種怎樣的體驗?

TAG:信息技術IT | 計算機網路 | 撥號上網 | IPOE網路 |