設計撥號網路是Internet服務提供商(ISP)的一項具有挑戰性的任務。 每個ISP使用唯一的方法設計撥號網路。但是,當所有ISP設計撥號網路時,它們都存在相同的關注領域,如下所示:
如何將池路由傳播到ISP核心?
必須使用什麼路由協定將這些路由傳送至核心?
在傳送到核心層之前,是否應該總結這些撥號路由?
分配池時必須考慮哪些因素?
如果池是靜態的,會發生什麼情況?
本文回答了上述大部分問題,並探討在ISP撥號環境中使用內部閘道通訊協定(IGP)開放最短路徑優先(OSPF)的設計實踐。OSPF通常用於ISP的核心網路。在本文檔中,我們避免引入用於承載撥號池路由的單獨協定 — 我們使用OSPF將撥號池路由傳播到核心。
此處顯示的拓撲是典型的ISP撥號網路拓撲。提供撥號服務的ISP通常有一系列網路接入伺服器(NAS),通常為AS5300或AS5800。這些伺服器負責將IP地址提供給所有撥入ISP並希望使用Internet服務的使用者。然後,NAS伺服器會連線到聚合裝置,通常是思科6500路由器。6500路由器將撥號路由傳播到核心,從而允許核心路由器為終端使用者提供網際網路服務。圖1顯示了典型的存在點(POP)情景。
圖1 — 典型POP場景
ISP通常處理兩種型別的池IP地址:
靜態
中央
對於靜態池,ISP有一組專用於每個NAS伺服器的IP地址。遇到NAS的使用者會從池接收其中一個專用IP地址。例如,如果NAS1靜態池地址範圍是192.168.0.0/22,則大約有1023個IP地址。遇到NAS1的使用者會收到範圍從192.168.0.0到192.168.3.254中的一個地址。
使用中央池時,ISP在一個POP中分佈於所有NAS中的範圍更廣的IP地址。遇到NAS的使用者會從中央池接收IP地址,該地址的範圍非常大。例如,如果中央池地址範圍是192.168.0.0/18 ,並且它們分佈在14個NAS伺服器之間,則大約有14000個IP地址。
從路由角度看,靜態池更易於管理。在NAS上定義靜態池時,需要將池傳播到核心層以用於路由目的。
使用以下方法從NAS傳播撥號路由:
建立指向池IP地址範圍的靜態路由(指向空值0),並將池地址重新分發到NAS。
使用OSPF點對點網路型別(包括OSPF區域中的環回)在NAS上分配環回池IP地址。
在區域邊界路由器(ABR)上為指向NAS自治系統邊界路由器(ASBR)的池IP地址配置靜態路由 — 這是首選方法,因為可以在ABR執行彙總。
如果使用此方法,必須為每個NAS建立靜態路由。該靜態路由必須包含指向空值0的精確靜態池範圍地址。例如,如果靜態池地址為192.168.0.0/22,則NAS上的靜態路由配置為:
NAS1(config)# ip route 192.168.0.0 255.255.252.0 null0 NAS1(config)# router ospf 1 NAS1(config-router)# redistribute static subnets NAS1(config-router)# end
池地址將重分佈到OSPF中,OSPF以5類外部鏈路狀態通告(LSA)形式將此資訊傳播到核心。
如果使用此方法,則無需靜態路由。池地址被指定為環回介面上的子網。環回介面上的預設網路型別是LOOPBACK,根據RFC 2328 ,必須在OSPF中通告為/32,這就是您必須將環回上的網路型別更改為點對點的原因。點對點網路型別強制OSPF通告環回的子網地址,在本例中為192.168.0.0/22。以下是配置:
NAS1(config)# interface loopback 1 NAS1(config-if)# ip addreess 192.168.0.1 255.255.252.0 NAS1(config-if)# ip ospf network-type point-to-point NAS1(config-if)# router ospf 1 NAS1(config-router)# network 192.168.0.0 0.0.3.255 area 1 NAS1(config-router)# end
此配置在路由器LSA中建立路由器末節鏈路,並將其作為內部OSPF路由而不是外部OSPF路由傳播。
如果使用此方法,則無需在NAS上執行任何配置。所有配置都發生在ABR或聚合裝置上。地址池是靜態的。因此,靜態路由很容易生成,並且路由器可以將下一跳指向各自的NAS(自治系統邊界路由器,ASBR)。 這些靜態路由需要通過OSPF下的重分發靜態子網重分發到OSPF。例如:
ABR(config)# ip route 192.168.0.0 255.255.252.0ABR(config)# ip route 192.168.4.0 255.255.252.0 ! --- and so on for the remaining 12 NAS boxes. ABR(config)# router ospf 1 ABR(config-router)# redistribute static subnets ABR(config-router)# end
這是首選方法,因為可以在ABR上執行彙總。前兩種方法中也可能出現彙總,但是與僅在此路由器中需要彙總配置的此方法相比,每個NAS上都需要彙總配置。
如果靜態池位於連續塊中,則可在ABR上執行彙總,因為所有靜態路由都位於ABR上。例如:
ABR(config)# router ospf 1 ABR(config-router)# summary-address 192.168.0.0 255.255.192.0 ABR(config-router)# end
對於此撥號設計,假設在遠端身份驗證撥入使用者服務(RADIUS)伺服器上配置了中央IP地址池。每個POP都有一個撥出號碼資訊服務(DNIS)號碼,而RADIUS伺服器為每個DNIS都分別有單獨的IP地址池。此外,終止對DNIS的呼叫的所有NAS都位於同一區域,並與同一聚合路由器通訊。
中央IP地址池給路由協定設計帶來一些複雜性。當您撥打POP的DNIS號碼時,無法保證您連線的NAS以及將從該DNIS的中央IP地址池分配給您的IP地址。因此,對於從DNIS池中分配的地址,每個NAS上的彙總是不可能的。每個NAS都需要重新分發連線的子網,以便它可以將所有資訊傳播到ABR或聚合裝置。此設計有一個問題 — 因為外部LSA只能在ASBR上彙總,在此設計中,ASBR是NAS伺服器,ABR如何對來自NAS的外部路由執行彙總?
為了解決此設計問題,Cisco建議在Not so stubby area(NSSA)中配置NAS伺服器所屬的區域(請參見圖2):
圖2 — 非純末節區域中的配置
有關OSPF NSSA的詳細資訊,請參閱OSPF非純末梢區域(NSSA)。
如果您將某個區域定義為NSSA,則具有以下優點:
所有NAS路由都可以在ABR上彙總,因為ABR會將LSA型別7重新生成/轉換為LSA型別5。
每個POP將不傳送屬於其他POP的路由,因為NSSA不允許外部LSA。
在所有NAS中配置重新分發的已連線子網是必需的,因為所有NAS上的IP地址池都不是靜態的 — 任何NAS都可以承載該中心IP地址範圍內的任何IP地址。
NAS1(config)# router ospf 1 NAS1(config-router)# redistribute connected subnets NAS1(config-router)# end
如果在所有NAS上執行此配置,則在ABR上執行彙總配置,因為所有LSA型別7都在ABR上重新生成,並轉換為LSA型別5。因為ABR生成一個完全新的LSA型別5 ,而通告路由器ID是ABR路由器的ID ,所以ABR充當ASBR並允許彙總以前屬於LSA型別7的路由(由NAS發起)。
ABR(config)# router ospf 1 ABR(config-router)# summary-address 192.168.0.0 255.255.192.0 ABR(config-router)# end
請注意,ABR和NAS之間的區域是NSSA,其配置如下:
ABR(config)# router ospf 1 ABR(config-router)# network 10.10.10.0 0.0.0.255 area 1 nssa ABR(config-router)# end
如果您在一個區域中有許多NAS伺服器,並且每個NAS都將1000個或更多路由重新分配給該區域,將出現一個問題 — 每個區域必須包含多少個NAS伺服器?如果所有NAS伺服器都位於同一區域中,則該區域可能會變得不穩定,因為該區域需要從所有NAS伺服器承載1000個或更多路由。在這個有14個NAS伺服器的示例中,它可能會重新14000布路由,這是一個巨大的數字。為了給該區域帶來更多的可擴充性,思科建議您將該區域劃分為多個子區域,以確保在一個區域中發生某些不穩定時,每個區域不會影響其他區域(請參閱圖3):
圖3 — 劃分割槽域
為了確定一個區域中要保留的NAS伺服器的數量,您必須確定每個NAS注入的路由數量。如果每個NAS注入3000個或更多路由,則一個區域中的三個NAS伺服器就足夠了。不要在每個區域中放置太少的NAS伺服器,因為如果您有太多的區域,ABR可能會由於在每個區域中建立摘要而超載。但是,如果使所有區域完全末節NSSA(它不允許將任何彙總路由重分發到該區域),則可以解決此問題。此操作減少了除自身的1000個或更多路由外每個NAS承載的資訊量,並減少了ABR通過將彙總LSA重新分配到每個區域而承載的負載量。在ABR上新增no-summary關鍵字以執行配置,如下所示:
ABR#(config)# router ospf 1 ABR#(config-router)# network 10.10.10.0 0.0.0.255 area 1 nssa no-summary ABR#(config-router)# end
ABR和NAS伺服器之間的鏈路不需要在每個區域中斷開,因此ABR不需要為這些連線的路由建立每個區域的摘要。NSSA的主要優點是,由於NSSA不攜帶外部LSA,因此一個區域中的所有3000個或更多路由都不會洩漏到其他區域。當ABR將所有NSSA LSA型別7轉換為區域0時,由於NSSA的特性,它不會將任何LSA型別5傳送到其他區域。
設計ISP撥號網路是一項具有挑戰性的任務,但出於一些考慮,可以對其進行改進,並提供可擴充性更高的解決方案。在可擴充性管理中,NSSA的加入非常有效,因為它與未使用NSSA的情況相比,大大減少了每個NAS必須攜帶的路由數量。由於NAS伺服器上需要redistribute connected配置命令,因此總結還有助於減小路由表的大小,特別是在中心IP地址池的情況下。在彙總過程中,每個NAS中的連續IP地址塊分配也很有幫助,因為每個POP可以彙總到一個大塊中,核心層不必承載過多路由。