网络规划设计师 视频笔记
網絡規劃設計師介紹
考試要求
????(1)系統掌握數據通信基本原理;
????(2)系統掌握計算機網絡的原理;
????(3)系統掌握計算機系統的原理;
????(4)系統掌握局域網、廣域網、Internet的技術;
????(5)系統掌握TCP/IP體系結構及協議;
????(6)掌握網絡計算機環境與網絡應用;
????(7)熟練掌握各類網絡產品及其應用規范;
????(8)掌握網絡安全和信息安全技術、安全產品及其應用規范;
????(9)熟練應用項目管理的方法和工具實施網絡工程項目;
????(10)具備大中型網絡設計、部署和管理的實踐經驗和能力;
????(11)具有大中型網絡測試及評估的實踐經驗和能力;
????(12)熟悉有關的法律法規與標準;
????(13)具有應用數學、經濟與管理科學的相關基礎知識;
????(14)熟練閱讀和正確理解相關領域的英文文獻;
網絡規劃設計師介紹
????能力標準
????????通過本考試的合格人員應熟悉所涉及的應用領域的業務;在需求分析階段,能分析用戶的需求和約束條件,寫出網絡系統需求規格說明書;在規劃設計階段,能根據系統需求規格說明書,完成邏輯結構設計、物理結構設計,選用適宜的網絡設備,按照標準規范編寫系統設計文檔及項目開發計劃;在部署實施階段,能按照系統設計文檔和項目開發計劃組織項目施工,對項目實施過程進行質量控制、進度控制、成本管理,能具體指導項目實施;在評測運維階段,能根據相關標準和規范對網絡進行評估測試,能制定運行維護、故障分析與處理機制,確保網絡提供正常服務;能指導制定用戶的數據和網絡戰略規劃,能指導網絡工程師進行系統建設實施;具有高級網絡工程師的實際工作能力和業務水平。
????綜合知識
????1、計算機網絡原理
????????1.1計算機網絡基礎知識
????????1.2數據通信基礎知識
????????1.3網絡分層與功能
????????1.4網絡設備與網絡軟件
????????1.4.1網卡
????????1.5局域網
????????1.6廣域網與接入
????????1.7網絡互連
????????1.8Internet協議
????????1.9網絡管理
????????1.10服務質量控制技術
????2、計算機網絡規劃與設計知識
????????2.2需求分析
????????2.3邏輯設計
????????2.4物理設計
????????2.5網絡測試、優化和管理
????????2.6網絡故障分析與處理
????????2.7網絡系統性能評估技術和方法
????
????3、網絡資源設備
????????3.1網絡服務器
????????3.2網絡存儲系統
????????3.3其他資源
????4、網絡安全
????????4.1網絡不安全因素與網絡安全體系
????????4.2惡意軟件的防治
????????4.3******及預防方法
????????4.4防火墻應用
????????4.5ISA Server應用配置
????????4.6IDS與IPS
????????4.7訪問控制技術
????????4.8***技術
????????4.9網絡安全隔離
????????4.10安全認證方法與技術
????????4.11加密和數字簽名
????????4.12網絡安全應用協議
????????4.13安全審計
????????4.14安全管理
???
????5、項目管理
????????5.1項目計劃管理
????????5.2項目范圍管理
????????5.3項目進度控制
????????5.4項目成本管理
????????5.5項目風險管理
????????5.6項目質量管理
????????5.7項目文檔管理
?
????6、標準化與法律法規
????????6.1標準的分類
????????6.2標準化機構
????????6.3知識產權
????????6.4互聯網有關的法律法規
????7、財務管理實務
????????7.1會計常識
????????7.2財務管理實務
????8、應用數學
????????8.1概率統計應用
????????8.2圖論應用
????????8.3組合分析
????????8.4運籌方法
????9、專業英語
????????9.1具有高級工程師所要求的英文閱讀水平
????????9.2熟悉網絡規劃設計師崗位相關領域的專業英語術語
案例分析
????1、網絡規劃與設計
????2、網絡工程管理
????3、網絡優化
????4、網絡配置
????5、網絡性能分析與測試
????6、網絡故障分析
網絡論文
????根據試卷上給出的與網絡規劃與設計有關的若干論文題目,選擇其中一個題目,按照規定的要求撰寫論文。論文涉及的內容如下:
????1、網絡技術應用與對比分析
????????·交換技術類
????????·路由技術類
????????·網絡安全技術類
????????·服務器技術類
????????·存儲技術類
??? 2、網絡技術對應用系統建設的影響
????????·網絡計算模式
????????·應用系統集成技術
????????·P2P技術
????????·容災備份與災難恢復
????????·網絡安全技術
????????·基于網絡的應用系統開發技術
????3、專用網絡需求分析、設計、實施和項目管理
????????·工業網絡
????????·電子政務網絡
????????·電子商務網絡
????????·保密網絡
????????·無線數字城市網絡
????????應急指揮網絡
????????·視頻監控網絡
????????·機房工程
????4、下一代網絡技術分析
????????·IPv6
????????·全光網絡
????????·3G、B3G、4G、WiMAX、WMN等無線網絡
????????·多網融合
RIP協議
基本概念
????RIP協議采用距離向量算法,再實際應用中已經較少使用。再默認情況下,RIP使用一種非常簡單的度量制度;距離就是通往目的站點所需經過的鏈路數,取值為1-15,數值16表示無窮大。RIP進程使用UDP的520端口來發送和接收RIP分組。RIP分組分隔30s以廣播的形式發送一次,為了防止出現“廣播風暴”,其后續的分組將做隨機延時后發送。再RIP,如果一個路由在180s內未被刷,則相應的距離就被設定成無窮大,并從路由表中刪除該表項。RIP分組分為兩種:請求分組和響應分組。
????RIP通過廣播UDP報文來交換路由信息,每30秒發送一次路由信息更新。RIP提供跳躍計數(hopcount)作為尺度來衡量路由距離,跳躍計數是一個包達到目標所必須經過的路由器的數目。如果到相同目標有二個不等速或不同帶寬的路由器,但跳躍計數相同,則RIP認為兩個路由是等距離的。RIP最多支持的跳數為15,即在源和目的網間所要經過的最多路由器的數目為15,跳數16表示不可達。
局限性
????協議中規定,一條有效的路由信息的度量(metric)不能超過15,這就使得該協議不能應用于很大型的網絡,應該說正是由于設計者考慮到該協議只適合于小型網絡所以才進行了這一限制。對于metric16的目標網絡來說,即認為其不可到達。
????2)該路由協議應用到實際中時,很容易出現“計數到無窮大”的現象,這使得路由收斂很慢,再網絡拓撲結構變化以后需要很長時間路由信息才能穩定下來。
????3)該協議以跳數,即報文經過的路由器個數為衡量標準,并以此來選擇路由,這一措施欠合理性,因為沒有考慮網絡延時、可靠性、線路負荷等因素對傳輸質量和速度的影響。
????4)計數到無窮大(Counting to Infinity)
????前面的RIP的局限性一部分提到了可能出現的計數到無窮大的現象,下面就來分析一下該現象的產生原因與過程。考察下面的簡單網絡:
????c(目的網絡)——routerA——routerB
????在正常情況下,對于目標網絡,A路由器的metric值為1,B路由器的metric值為2。當目標網絡與A路由器之間的鏈路發生故障而斷掉以后:
????c(目的網絡)——||——routerA————routerB
????A路由器會將針對目標網絡C的路由表項的metric值置為16,即標記為目標網絡不可達,并準備在每30秒進行一次的路由表更新中發送出去,如果在這條信息還未發出的時候,A路由器收到了來自B的路由更新報文,而B中包含著關于C的metric為2的路由信息,根據前面提到的路由更新方法,路由器A會錯誤的認為有一條通過B路由器的路徑可以到達目標網絡C,從而更新其路由表,將對于目標網絡C的路由表項的metirc值由16改為3,而對于的du端口變為與B路由器相連接的端口。很明顯,A會將該條信息發給B,B將無條件。更新其路由表,將metric改為4;該信息又從B發向A,A將metric改為5……最后雙發的路由表關于目標網絡C的metric值都變為16,此時,才真正得到了正確的路由信息。這種現象稱為“計數到無窮大”現象,雖然最終完成了收斂,但是收斂速度很慢,而且浪費了網絡資源來發送這些循環的分組。
????另外,從這里我們也可以看出,metirc值的最大值的選擇實際上存在著矛盾,如果選得太小,那么適用的網絡規模太小,如果選得過大,那么在出現計數到無窮大現象的時候收斂時間會變得很長。
路由環路
????在維護路由信息表信息的時候,如果在拓撲發生改變后,網絡收斂緩慢產生了不協調或者矛盾的路由選擇條目,就會發生路由環路的問題,這種條件下,路由器對無法到達的網絡路由不予理睬,導致用戶的數據包不停在網絡上循環發送,最終造成網絡資源的嚴重浪費。
路由環路產生的場景
????當A路由器一側的X網絡發生故障,則A路由器收到故障信息,并把X網絡設置為不可達,等待更新周期來通知相鄰的B路由器。但是,如果相鄰的B路由器的更新周期先來了,則A路由器講從B路由器那學到了達到X網絡的路由,就是錯誤路由,因此此時的X網絡已經損壞,而A路由器卻在自己的路由表內增加了一條經過B路由器達到X網絡的路由。然后A路由器還會繼續把該錯誤路由通告B路由器,B路由器更新路由表,認為達到X網絡須經過B路由器,而B則認為到達X網絡進行A路由器。
RIP協議中對路由環路解決方案
????1、最大跳數:當一個路由條目作為副本發送出去的時候就會自加1跳,那么最大加到16跳,到16跳就已經視為最大條數不可達了。
????2、水平分割:其規則就是不向原始路由更新來的方向再次發送路由更新信息(個人理解為單向更新,單向反饋)。比如有三臺路由器ABC,B向C學習到訪問網絡10.4.0.0的路徑以后,不再向C聲明自己可以通過C訪問10.4.0.0網絡的路徑信息,A向B學習到訪問10.4.0.0網絡路徑信息后,也不再向B聲明,而一旦網絡10.4.0.0發生故障無法訪問,C會向A和B發送該網絡不可達到的路由更新信息,但不會再學習A和B發送的能夠達到10.4.0.0的錯誤信息。
????3、路由中毒(路由毒化):定義最大值在一定程度上解決了路由環路問題,但并不徹底,可以看到,在達到最大值之前,路由環路還是存在的。為此,路由中毒就可以徹底解決這個問題。其原理是這樣的:假設有三臺路由器ABC,當網絡10.4.0.0出現故障無法訪問的時候,路由器C便向鄰居路由發送相關路由更新信息,并將其度量值標為無窮大,告訴它們網絡10.4.0.0不可達到,路由器B收到毒化消息后將該鏈路路由表項標記為無窮大,表示該路徑已經失效,并向鄰居A路由器通告,依次毒化各個路由器,告訴鄰居10.4.0.0這個網絡已經失效,不再接收更新信息,從而避免了路由環路。
????4、毒性逆轉(也稱為反向中毒):結合上面的例子,當路由器B看到到達網絡10.4.0.0的度量值為無窮大的時候,就發送一個叫做毒化逆轉的更新信息給C路由器,說明10.4.0.0這個網絡不可達到,這是超越水平分割的一個特例,這樣保證所有的路由器都接受了毒化的路由信息。
????5、控制更新時間:當路由表中的某個條目所指網絡消失時,路由器并不會立刻的刪除該條目并學習新條目,而是嚴格按照我們前面所介紹的計時器時間現將條目設置為無效接著是掛起,在240秒時才刪除該條目,這么做其實是為了盡可能的給予一個時間等待發生改變的網絡恢復。比如收到從鄰居發送來的更新信息,包含一個比原來路徑具有更好度量值的路由,就標記為可以訪問,并取消抑制計時器。
????6、觸發更新:因網絡拓撲發生變化導致路由表發生改變時,路由器立刻產生更新通告直連鄰居,不在需要等待30秒的更新周期,這樣做是為了盡可能的將網絡拓撲的改變通告給其他人。
定時器
????RIP中一共使用了4個定時器:
????updatetimer,timeourtimer,garbagetimer,holddowntimer。
????Updatetimer用于每30秒發送路由更新報文。
????Timeouttimer用于路由信息失效前的180秒的計時,每次收到同一條路由信息的更新信息就將該計數器復位。
????Garbagetimer和holddowntimer同時用于將失效的路由信息刪除前的計時;在holddowntimer的時間內,失效的路由信息不能被接收到的新信息更新;在garbagetimer計時器超時后,失效的路由信息被刪除。
????另外,在觸發更新中,更新信息會需要1到5秒的隨機延遲以后才被發出,這里也需要一個計時器。
RIPv2概述
????RIP-v2不是一個新的協議,它只是在RIPv1協議的基礎上增加了一些擴展特性,以適用于現代網絡的路由選擇環境。這些擴展特性有:
????>每個路由條目都攜帶自己的子網掩碼
????>路由選擇更新更具有認證功能
????>每個路由條目都攜帶下一跳地址
????>外部路由標志
????>組播路由更新
????最重要的一項是路由更新條目增加了子網掩碼的字段,因而RIP協議可以使用可變長的子網掩碼,從而使RIP-V2協議變成了一個無類別的路由協議。
RIPv1、v2區別
????1.RIPv1是有類路由協議,RIPv2是無類路由協議
????2.RIPv1不能支持VLSM,RIPv2可以支持VLSM
????3.RIPv1沒有認證的功能,RIPv2可以支持認證,并且有明文和MD5兩種認證。
????4.RIPv1沒有手工匯總的功能,RIPv2可以在關閉自動匯總的前提下,進行手工匯總。
????5.RIPv1是廣播更新,RIPv2是組播更新。
????6.RIPv1對路由沒有標記的功能,RIPv2可以對路由打標記(tag),用于過濾和做策略。
????7.RIPv1發送的updata最多可以攜帶25條路由條目,RIPv2在有認證的情況下最多只能攜帶24條路由。
????8.RIPv1發送的updata包里面沒有next-hop屬性,RIPv2有next-hop屬性,可以用于路由更新的重定。
RIP路由實例配置
????四個位于不同地理位置的子網通過遠程電纜連接在一起,現在要求使用RIP協議完成整個路由選擇的配置
根據拓撲結構圖的要求,正確配置各路由器的各接口地址。
RIP路由配置
路由器R1的RIP配置:
R1#config terminal
R1(config)#router rip
R1(config-router)#network 192.168.1.0
R1(config-router)#network 192.168.10.0
R1(config-router)#network 192.168.12.0
R1(config-router)#end
路由器R2的RIP配置:
R2#config terminal
R2(config)#router rip
R2(config-router)#network 192.168.2.0
R2(config-router)#network 192.168.10.0
R2(config-router)#network 192.168.13.0
R2(config-router)#end
路由器R3的RIP配置:
R3#config terminal
R3(config)#router rip
R3(config-router)#network 192.168.3.0
R3(config-router)#network 192.168.11.0
R3(config-router)#network 192.168.12.0
R3(config-router)#end
路由器R4的RIP配置:
R4#config terminal
R4(config)#router rip
R4(config-router)#network 192.168.13.0
R4(config-router)#network 192.168.4.0
R4(config-router)#network 192.168.11.0
R3(config-router)#end
查看路由表
在特權模式下,使用show ip route命令查看路由表。
最前面的C或R代表路由項的類別,C是直連,R代表是RIP協議生成的。
第二部分是目的網段。
[120/1]:表示RIP路由協議的管理距離為120,1則是路由器的度量值,即跳數。
第四部分表示下一跳的IP地址。
第五部分說明了路由產生的時間。
第六部分表示該路由所使用的接口。
測試網絡連通性。
各路由器使用ping命令測試網絡連通性
OSPF協議
1????OSPF術語
????OSPF(Open Shortest Path First開放式最短路徑優先)是一個內部網關協議(interior Gateway Protocol,簡稱IGP),用于在單一自治系統(autonomous system,AS)內決策路由。是對鏈路狀態路由協議的一種實現,故運作于自治系統內部。著名的迪克斯加算法被用來計算最短路徑樹。與RIP相比,OSPF是鏈路狀態協議,而RIP是距離矢量協議。不同廠商管理距離不同,思科OSPF的協議管理距離(AD)是110,華為OSPF的協議管理距離是150。
????鏈路是路由器接口的另一種說法,因此OSPF也稱為接口狀態路由協議。OSPF通過路由器之間通告網絡接口的狀態來建立鏈路狀態數據庫,生成最短路徑樹,每個OSPF路由器使用這些最短路徑構造路由表。
1.1????Router-ID
????如果路由器之間分不清誰是誰,沒有辦法確定各自的身份,那么通告的鏈路狀態就是毫無意義的,所以必須給每一個OSPF路由器定義一個身份,就相當于人的名字,這就是Router-ID,并且Router-ID在網絡中絕對不可以有重名,否則路由器收到的鏈路狀態,就無法確定發起者的身份,也就無法通過鏈路狀態信息確定網絡位置,OSPF路由器發出的鏈路狀態都會寫上自己的Router-ID,可以理解為該鏈路的簽名,不同路由器產生的鏈路狀態,簽名決不會相同。
????每一臺OSPF路由器只有一個Router-ID,Router-ID使用IP地址的形式來表示,確定Router-ID的方法為:
手工指定Router-ID
????下例是某路由器的一段配置,可以看出該路由器的router-id為手工指定。
????#
????ospf 1 router-id 10.10.190.255
????import-route static
????area 0.0.0.0
????network 10.10.168.12 0.0.0.3
????#
????2.路由器上活動loopback接口中IP地址最大的,也就是數字最大的,如C類地址優先于B類地址,一個非活動的接口的IP地址是不能被選為Router-ID的。
????3.如果沒有活動的loopback接口,則選擇活動物理接口IP地址最大的。
????Router-ID只在OSPF啟動時計算,或者重置OSPF進程后計算。
????1.2????COST
????cost指接口上運行ospf協議所需的開銷。ospf路由條目存在cost值,當數據包到達路由器后,如果存在多條到達同意目的段的ospf路由條目,路由表中出現的將是cost值最小的路由條目。如果這些條目的cost值一樣,則多條路徑可實現數據包的負載均衡。
????OSPF使用接口的帶寬來計算cost。例如一個10 Mbit/s的接口,計算Cost的方法為:100M/10M=0(其中100M為參考帶寬,這個可以修改,但一般不推薦,因為參考帶寬是一個全局性指標),所以一個10 Mbits/s的接口,OSPF認為該接口的Metric值為10,需要注意的是,計算中,帶寬的單位取bit/s,而不是Kbits/s。如果路由器要經過兩個接口才能到達目標網絡,那么很顯然,兩個接口的Cost值要累加起來,才算是到達目標網絡的Cost值,所以Cost值累加起來,在累加時,同時EIGRP一樣,只計算出接口,不計算進接口。
????OSPF會自動計算接口上的Cost值,但也可以通過手工指定該接口的Cost值,手工指定的優先于自動計算的值。OSPF計算的Cost,同樣是和接口帶寬成反比,帶寬越高,Cost值越小。到達目標相同的Cost值的路徑,可以執行負載均衡,最多6條鏈路同時執行負載均衡。
????#
????interface Vlanif2
????ip address 192.168.1.1 255.255.255.0
????ospf cost 2 //手工指定接口的cost值
????1.3 鏈路(Link)
????就是路由器上的接口,在這里,應該指運行在OSPF進程下的接口。
????
????1.4 鏈路狀態(Link-State)
????鏈路狀態(LSA)就是OSPF接口上的描述信息,例如接口上的IP地址,子網掩碼,網絡類型,Cost值等等。
????OSPF路由器之間交換的并不是路由表,而是鏈路狀態(LSA),OSPF通過獲得網絡中所有的鏈路狀態信息,從而計算出到達每個目標精確的網絡路徑。OSPF路由器會將自己所有的鏈路狀態毫不保留地全部發給鄰居,鄰居將收到的鏈路狀態全部放入鏈路狀態數據庫(Link-State Database),鄰居再發給自己的所有鄰居,并且在傳遞過程中,絕對不會有任何更改。通過這樣的過程,最終,網絡中所有的OSPF路由器都擁有網絡中所有的鏈路狀態,并且所有路由器的鏈路狀態應該能描繪出相同的網絡拓撲。
????比如,如今要計算一條鐵路圖,如上海地鐵二號某段的圖,如果不直接將該圖給別人看,圖好比是路由表,如今只是報給別人各個站的信息,該信息好比是鏈路狀態,通過告訴別人各個站左邊一站是什么,右邊一站是什么,別人也能通過該信息(鏈路狀態),畫出完整的線路圖(路由表),如得到如下各站信息(鏈路狀態):
????從以上計算過程可以知道,因為得到各站的信息,就能畫出整條線路圖,而OSPF也同樣根據路由各接口的信息(鏈路狀態),計算出網絡拓撲圖,OSPF之間交換鏈路狀態,就像上面交換換各站信息,而不像RIP和EIGRP直接交換路由表,交換路由表,就等于直接給人家看線路圖,可見OSPF的智能算法,比距離矢量協議對網絡有更精確的認知。
????1.5????OSPF區域
????因為OSPF路由器之間會將所有的鏈路狀態(LSA)相互交換,毫不保留,當網絡規模達到一定程度時,LSA將形成一個龐大的數據庫,勢必會給OSPF計算帶來巨大的壓力;為了能夠降低OSPF計算的復雜程度,緩存計算壓力,OSPF采用分區域計算,將網絡中所有OSPF路由器劃分成不同的區域,每個區域負責各自區域精確的LSA傳遞與路由計算,然后再將一個區域的LSA簡化和匯總之后轉發到另外一個區域,這樣一來,在區域內部,擁有網絡精確的LSA,而在不同區域,則傳遞簡化LSA。
????OSPF協議區域
????·OSPF使用Area實現了分層——兩層模式
????·區域號是一個32bit的整數
????????-定義為IP address格式
????????-也可以用一個十進制整數表示
????????-(ie.Area 0.0.0.0,or Area 0)
????·區域0.0.0.0保留為骨干區
????·非骨干區一定要連接到骨干區
????區域的劃分為了能夠盡量設計成無環網絡,所以采用了Hub-Spoke的拓撲架構,也就是采用核心與分支的拓撲,如下圖:
????區域的命名可以采用整數數字,如1、2、3、4,也可以采用IP地址的形式,0.0.0.1、0.0.0.2,因為采用了Hub-Spoke的架構,所以必須定義出一個核心,然后其它部分都與核心相連,OSPF的區域0就是所有區域的核心,稱為BackBone區域(骨干區域),而其它區域稱為Normal 區域(常規區域),在理論上,所有的常規區域應該直接和骨干區域相連,常規區域只能和骨干區域交換LSA,常規區域與常規區域之間即使直連也無法互換LSA,如上圖Area 1、Area 2、Area 3、Area 4只能和Area 0互換LSA,然后再由Area 0互換LSA,然后再由Area 0轉發,Area 0就像是一個中轉站,兩個常規區域需要交換LSA,只能先交給Area 0,再由Area 0轉發,而常規區域之間無法互相轉發。
????OSPF區域是基于路由器的接口劃分的,而不是基于整臺路由器劃分的,一臺路由器可以屬于單個區域,也可以屬于多個區域,如下圖
????如果一臺OSPF路由器屬于單個區域,即該路由器所有接口都屬于同一個區域,那么這臺路由器稱為Internal Router(IR),如上圖中的R2,R3和R4;
????如果一臺OSPF路由器屬于多個區域,即該路由器的接口不都屬于一個區域,那么這臺路由器稱為Area Border Router(ABR),如上圖中的R1,ABR可以將一個區域的LSA匯總后轉發至另一個區域;
????如果一臺OSPF路由器將外部路由協議重分布進OSPF,那么這臺路由器稱為Autoomous System Boundary Router(ASBR),如上圖中,R5將EIGRP重分進OSPF,那么R5就是ASBR,但是如果只是將OSPF重分布進其它路由協議,則不能稱為ASBR。
????下例是某臺路由器的一段配置,可以看出該路由器充當ASBR的角色,因為它引入了靜態路由。
????#
????ospf 1 router-id 10.10.190.255
????import-route static
????area 0.0.0.0
????network 10.10.168.12 0.0.0.3
????#
????從它的鄰居路由器上也可以看出它是一臺ASBR路由器:
????可以配置任何OSPF路由器成為ABR或ASBR。
????由于OSPF有著多種區域,所有OSPF的路由在路由表中也以多種形式存在,共分為以下幾種:
????·如果是同區域的路由,叫做Intra-Area Route,在路由表中使用O來表示;
????·如果是不同區域的路由,叫做Inter-Area Route或Summary Route,在路由表中使用OIA來表示;
????·如果并非OSPF的路由,或者是不同OSPF進程的路由,只是被重分布到OSPF的,叫做External Route,在路由表中使用O E2或OE 1來表示。
????·當存在多種路由可以到達同意目的地時,OSPF將根據先后順序來選擇要使用的路由,所有路由的先后順序為:
????Intra-Area — Inter-Area — External E1 — External E2,即 O —— O IA — O E1 — O E2。
????1.6 鄰居(Neighbor)
????路由器會將鏈路狀態數據庫中所有的內容毫不保留地發給所有鄰居,要想在OSPF路由器之間交換LSA,必須先形成OSPF鄰居,OSPF鄰居靠發送Hello包來建立和維護,Hello包會在啟動了OSPF的接口上周期性發送,在不同的網絡中,發送Hello包的間隔也會不同,當超過4倍的Hello時間,也就是Dead時間過后還沒有收到鄰居的Hello包,鄰居關系將會斷開。
????下圖是hello和dead時間:
????
????兩臺OSPF路由器必須滿足4個條件,才能形成OSPF鄰居,4個必備條件如下:
????·Area-id(區域號碼)即路由器之間必須配置在相同的OSPF區域,否則無法形成鄰居;
????·Hello and Dead Interval(Hello時間與Dead時間)即路由器之間的Hello時間和Dead時間必須一致,否則無法形成鄰居。
????·Authentication(認證)路由器之間必須配置相同的認證密碼,如果密碼不同,則無法形成鄰居。
????·Stub Area Flag(末節標簽)路由器之間的末節標簽必須一致,即處在相同的末節區域內,否則無法形成鄰居。
????1.7????鄰接(Adjacency)
????兩臺OSPF路由器能夠形成鄰居,但并不一定能相互交換LSA,只要能交換LSA,關系則為鄰接(Adjacency)。鄰居之間只交換Hello包,而鄰接(Adjacency)之間不僅交換Hello包,還要交換LSA。
???
????1.8????DR/BDR
????當多臺OSPF路由器連到同一個多路訪問網段時,如果每臺路由器之間都相互交換LSA,那么該網段將充滿著眾多LSA條目,為了能夠盡量減少LSA的傳播數量,通過在多路訪問網段中選擇出一個核心路由器,稱為DR(Designated Router),網段中所有的OSPF路由器都和DR互換LSA,這樣一來,DR就會擁有所有的LSA,并且將所有的LSA轉發給每一臺路由器;DR就像是該網段的LSA中轉站,所有的路由器都與該中轉站互換LSA,如果DR失效后,那么就會造成LSA的丟失與不完整,所以在多路訪問網絡中除了選舉出DR之外,還會選舉出一臺路由器作為DR的備份,稱為BDR(Backup Designated Router),BDR在DR不可用時,代替DR的工作,而既不是DR,也不是BDR的路由器稱為Drother,事實上,Dother除了和DR互換LSA之外,同時還會和BDR互換LSA。
????其實,DR與BDR并沒有任何本質與功能的區別,只有在多路訪問的網絡環境,才需要DR和BDR,DR與BDR的選舉是在一個二層網段內選舉的,即在多個路由器互連的接口范圍內,與OSPF區域沒有任何關系,一個區域可能有多個多路訪問網段,那么就會存在多個DR和BDR,但一個多路訪問網段,只能有一個DR和BDR。
????選舉DR和BDR的規則為:
????*比較接口優先級
????選舉優先級最高的為DR,優先級數字越大,表示優先級越高,被選為DR的幾率就越大,次優先級的為BDR,優先級范圍是0-255,默認為1,優先級為0表示沒有資格選舉DR和BDR。
????*Route-Id大小
????如果在優先級都相同的情況下,Route-Id最大的成為DR,其次是BDR,數字越大,被選為DR的幾率就越大。
????因為所有路由器都能與DR和BDR互換LSA,所以所有路由器都與DR和BDR都是鄰接(Adjacency)關系,而Drother與Drother之間無法互換LSA,所以Drother與Drother之間只是鄰居關系。
????在一個多路訪問網絡中,選舉DR和BDR是有時間限制的,該時間為Wait時間,默認為4倍的Hello時間,即與Dead時間相同,如果OSPF路由器在超過Wait時間后也沒有其他路由器與自己競爭DR與BDR沒有失效的情況下,不會進行重新選舉,也就是在選舉出DR與BDR之后,即使有更高優先級的路由器加入網絡,也不會影響DR與BDR的角色,在越出選舉時間(Wait時間)后,只有DR與BDR失效后,才會重新選舉。DR失效后,會同時重新選舉DR與BDR,而在BDR失效后,只會重新選舉BDR。
????DR和BDR才能接收和傳遞目標地址為224.0.0.6的數據包。
????由此可見,Drother路由器將數據包發向目標地址224.0.0.6,只能被DR和BDR接收,其他Drother不能接收;而DR和BDR將數據包發向目標地址224.0.0.5,可以被所有路由器接收。
ACL訪問控制列表
????訪問控制列表(Access Control List,ACL)是路由器和交換機接口的指令列表,用來控制端口進出的數據包。ACL適用于所有的被路由協議,如IP、IPX、AppleTalk等。
????信息點間通信和內外網絡的通信都是企業網絡中必不可少的業務需求,為了保證內網的安全性,需要通過安全策略來保障非授權用戶只能訪問特定的網絡資源,從而達到對訪問進行控制的目的。簡而言之,ACL可以過濾網絡中的流量,是控制訪問的一種網絡技術手段。
????配置ACL后,可以限制網絡流量,允許特定設備訪問,指定轉發特定端口數據包等。如可以配置ACL,禁止局域網內的設備訪問外部公共網絡,或者只能使用FTP服務。ACL既可以在路由器上配置,也可以在具有ACL功能的業務軟件上進行配置。
????ACL是物聯網中保障系統安全性的重要技術,在設備硬件層安全基礎上,通過對在軟件層面對設備間通信進行訪問控制,使用可編程方法指定訪問規則,防止非法設備破壞系統安全,非法獲取系統數據。
作用
????ACL可以限制網絡流量、提高網絡性能。例如,ACL可以根據數據包的協議,指定數據包的優先級。
????ACL提供對通信流量的控制手段。例如,ACL可以限定或簡化路由更新信息的長度,從而限制通過路由器某一網段的通信流量。
????ACL是提供網絡安全訪問的基本手段。ACL允許主機A訪問人力資源網絡,而拒絕主機B訪問。
????ACL可以在路由器端口處決定哪些類型的通信流量被轉發或被阻塞。例如,用戶可以允許E-mail通信流量被路由,拒絕所有的Telnet通信流量。
????例如,某部門要求只能使用WWW這個功能,就可以通過ACL實現;又例如,為了某部門的保密性,不允許其訪問外網,也不允許外網訪問它,就可以通過ACL實現。
3P原則
????記住3P原則,您便記住了在路由器上應用ACL的一般規則。您可以為每種協議(per protocol)、每個方向(per direction)、每個接口(per interface)配置一個ACL;
????每種協議一個ACL:要控制接口上的流量,必須為接口上啟用的每種協議定義相應的ACL。
????每個方向一個ACL:一個ACL只能控制接口上一個方向的流量。要控制入站流量和出站流量,必須分別定義兩個ACL。
????每個接口一個ACL:一個ACL只能控制一個接口(例如快速以太網0/0)上的流量。
??? ACL的編寫可能相當復雜而且極具挑戰性。每個接口上都可以針對多種協議和各個方向進行定義。示例中的路由器有兩個接口配置了IP、Appletalk和IPX。該路由器可能需要12個不同的ACL—協議數(3)乘以方向數(2),再乘以端口數(2)。
執行過程
????一個端口執行哪條ACL,這需要按照列表中的條件語句執行順序來判斷。如果一個數據包的報頭跟表中某個條件判斷語句相匹配時,它才被交給ACL中的下一條判斷語句進行比較。如果匹配(假設為允許發送),則不管是第一條還是最后一條語句,數據都會立即發送到目的接口。如果所有的ACL判斷語句都檢測完畢,仍沒有匹配的語句出口,則該數據包將視為被拒絕而被丟棄。這里要注意,ACL不能對本路由器產生的數據包進行控制。
????如果設備使用了TCAM,比如aute U3052交換機,那么所有的ACL是并行執行的。舉例來說,如果一個端口設定了多條ACL規則,并不是逐條匹配,而是一次執行所有ACL語句。
ACL分類
????目前有三種主要的ACL:標準ACL、擴展ACL及命名ACL。其他的還有標準MAC ACL、時間控制ACL、以太協議ACL、IPv6 ACL等。
????標準的ACL使用1-99以及1300-1999之間的數字作為表號,擴展的ACL使用100-199以及2000-2999之間的數字作為表號。
????標準ACL可以阻止來自某一網絡的所有通信流量,或者允許來自某一特定網絡的所有通信流量,或者拒絕某一協議簇(比如IP)的所有通信流量。
????擴展ACL比標準ACL提供了更廣泛的控制范圍。例如,網路管理員如果希望做到“允許外來的Web通信流量通過,拒絕外來的FTP和Telnet等通信流量”,那么,他可以使用擴展ACL來到達目的,標準ACL不能控制這么精確。
????在標準與擴展訪問控制列表中均要使用表號,而在命名訪問控制列表中使用一個字母或數字組合的字符串來代替前面所使用的數字。使用命名訪問控制列表可以用來刪除某一條特定的控制條目,這樣可以讓我們在使用過程中方便地修改。在使用命名訪問控制列表時,要求路由器的IOS在11.2以上的版本,并且不能以同一名字命名多個ACL,不同類型的ACL也不能使用相同的名字。
????隨著網絡的發展和用戶要求的變化,從IOS 12.0開始,思科(Cisco)路由器就增加了一種基于時間的訪問列表。通過它,可以根據一天中的不同時間,或者根據一星期中的不同日期,或二者相結合來控制網絡數據包的轉發。這種基于時間的訪問列表,就是在原來的標準訪問列表和擴展訪問列表中,加入有效的時間范圍來更合理有效地控制網絡。首先定義一個時間范圍,然后在原來的各種訪問列表的基礎上應用它。
????基于時間訪問列表的設計中,用time-range命令來指定時間范圍的名稱,然后用absolute命令,或者一個或多個periodic命令來具體定義時間范圍。
基于時間
·概述
????一個很通常的需求,就是在某個公司里,有時希望限制員工在某個時間范圍內才可以訪問網頁,即HTTP服務,或其他服務,在時間范圍之外,就不能訪問,那么這樣的需求,就可以通過配置基于時間的ACL來實現。
????要通過ACL來限制用戶在規定的時間范圍內訪問特定的服務,首先設備上必須配置好正確的時間。在相應的時間要允許相應的服務,這樣的命令,在配置ACL時,是正常配置的,但是,如果就將命令正常配置之后,默認是在所有時間內允許的,要做到在相應的時間內允許,還必須為該命令加上一個時間限制,這樣就使得這條ACL命令只在此時間范圍內才能生效。而要配置這樣的時間范圍,是通過配置time-range來實現的,在time-range中定義好時間,再將此time-range跟在某ACL的條目之后,那么此條目就在該時間范圍內其作用,其它時間是不起作用的。
????在定義time-range時,常用的時間簡單分為兩種,第一種叫做絕對時間(absolute),即這個時間只生效一次,比如2010年1月1日15:00;另一種時間叫做周期時間(periodic),即這個時間是會多次重復的,比如每周一,或者每周一到周五。
????1.應用ACL
????r1(config)#int f0/1
????r1(config-if)#ip access-group 150 out
????1.測試時間范圍內的流量情況
????(1)查看當前R1的時間
????r1#sh clock
????14:34:33.002 GMT Thu Oct 2009
????r1#
????說明:當前時間為周四14:34,即在所配置的時間范圍內。
????(2)測試R2向R4發起telnet會話
????r2#telnet 14.1.1.4
????Trying 14.1.1.4
????%Destination unreachable;gateway or host down
????r2#
????說明:可以看到,在規定的時間范圍內,R2向R4發起telnet會話是被拒絕的。
????(3)測試除telnet外的其它流量
????r2#ping 14.1.1.4
????Type escape sequence to abort.
????Sending 5,100-byte ICMP Echos to 14.1.1.4,timeout is 2 seconds:
????!!!!!
????Success rate is 100 percent(5/5),round-trip min/avg/max=1/2/4 ms
????r2#
????說明:可以看到,在規定的時間范圍內,除了telnet之外,其它流量不受限制。
????(4)測試除R2之外的設備telnet情況
????r3#telnet 14.1.1.4
????Trying 14.1.1.4…Open
????r4>
????說明:可以看到,除R2之外,其它設備telnet并不受限制。
????1.測試時間范圍外的流量情況
????(1)查看當前R1的時間
????r1#sh clock
????15:01:15.206 GMT Thu Oct 1 2009
????r1#
????說明:當前時間為周四15:01,即在所配置的時間范圍之外。
????(2)測試R2向R4發起telnet會話
????r2#telnet 14.1.1.4
????Typing 14.1.1.4…Open
????r4>
????說明:在時間范圍之外,所限制的流量被放開。
正確放置
????ACL通過過濾數據包并且丟棄不希望抵達目的地的數據包來控制通信流量。然而,網絡能否有效地減少不必要的通信流量,這還要取決于網絡管理員把ACL放置在哪個地方。
????假設在的一個運行TCP/IP協議的網絡環境中,網絡只想拒絕從RouterA的T0接口連接的網絡到RouterID的E1接口連接的網絡的訪問,即禁止從網絡1到網絡2的訪問。
????根據減少不必要通信流量的來源處,即RouterA。如果網管員使用標準ACL來進行網絡流量限制,因為標準ACL只能檢查源IP地址,所以實際執行情況為:凡事檢查到源IP地址和網絡1匹配的數據包將會被丟掉,即網絡1到網絡2、網絡3和網絡4的訪問都將被禁止。由此可見,這個ACL控制方法不能達到網管員的目的。同理,將ACL放在RouterB和RouterC上也存在同樣的問題。只有將ACL放在連接目標網絡的RouterID上(E0接口),網絡才能準確實現網管員的目標。由此可以得出一個結論:標準ACL要盡量靠近目的端。
????網絡管理員如果使用擴展ACL來進行上述控制,則完全可以把ACL放在RouterA上,因為擴展ACL能控制源地址(網絡1),也能控制目的地址(網絡2),這樣從網絡1到網絡2訪問的數據包在RouterA上就被丟棄,不會傳到RouterB、RouterC和RouterD上,從而減少不必要的網絡流量。因此,我們可以得出另一個結論:擴展ACL要盡量靠近源端。ACL的主要命令描述access-list 定義訪問控制列表參數ip access-group 指派一個訪問列表到一個接口ip access-list extended定義一個擴展訪問控制列表Remark注釋一個訪問控制列表show ip access-list顯示已配置的訪問控制列表。
定義規范
????(1)ACL的列表號指出了是那種協議的ACL。各種協議有自己的ACL,而每個協議的ACL又分為標準ACL和擴展ACL。這些ACL是通過ACL列表號區別的。如果在使用一種訪問ACL時用錯了列表號,那么就會出錯誤。
????(2)一個ACL的配置是每協議、每接口、每方向的。路由器的一個接口上每一種協議可以配置進方向和出方向兩個ACL。也就是說,如果路由器上啟用了IP和IPX兩種協議棧,那么路由器的一個接口上可以配置IP、IPX兩種協議,每種協議進出兩個方向,共四個ACL。
????(3)ACL的語句順序決定了對數據包的控制順序。在ACL中各描述語句的放置順序是很重要的。當路由器決定某一數據包是被轉發還是被阻塞時,會按照各項描述語句在ACL中的順序,根據各描述語句的判斷條件,對數據報進行檢查,一旦找到了某一匹配條件就結束比較過程,不再檢查以后的其他條件判斷語句。
????(4)最有限制性的語句應該放在ACL語句的首行。把最有限制性的語句放在ACL語句的首行或者語句中靠近前面的位置上,把“全部允許”或者“全部拒絕”這樣的語句放在末行或接近末行,可以防止出現諸如本該拒絕(放過)的數據包被放過(拒絕)的情況。
????(5)新的表項只能被添加到ACL的末尾,這意味著不可能改變已有訪問控制列表的功能。如果必須改變,只有先刪除已存在的ACL,然后創建一個新ACL,將新ACL應用到相應的接口上。
????(6)在將ACL應用到接口之前,一定要先建立ACL。首先在全局模式下建立ACL,然后把它應用在接口的出方向上。在接口上應用一個不存在的ACL是不可能的。
????(7)ACL語句不能被逐條的刪除,只能一次性刪除整個ACL。
????(8)在ACL的最后,有一條隱含的“全部拒絕”的命令,所以在ACL里一定至少有一條“允許”的語句。
????(9)ACL只能過濾穿過路由器的數據流量,不能過濾由路由器上發出的數據包。
????(10)在路由器選擇進行以前,應用在接口進入方向的ACL起作用。
????(11)在路由器選擇決定以后,應用在接口離開方向的ACL起作用。
常見問題
????1.“ACL的最后一條語句都是隱式拒絕語句”是什么意思?
????每個ACL的末尾都會自動插入一條隱含的deny語句,雖然ACL中看不到這條語句,它仍起作用。隱含的deny語句會阻止所有流量,以防不受歡迎的流量意外進入網絡。
????1.配置ACL后為什么沒有生效?
????在創建訪問控制列表之后,必須將其應用到某個接口才可開始生效。ACL控制的對象是進出接口的流量。
命令格式
????access-list命令
????(1)標準訪問列表
????access-list access-list-number {permit | deny}{source [source-wildcard] | any}
????命令解釋如下。
????access-list:訪問列表命令。
????access-list-number:訪問列表號碼,值為1-99
????permit:允許
????deny:拒絕
????source:源IP地址。
????source-wildcard:源IP地址的通配符。
????(2)擴展訪問列表
????access-list access-list-number { permit | deny } {protocol \ protocol-keyword }:可使用的協議,包括IP、ICMP、IGRP、EIGRP、OSPF等。
????destination destination-wild:目的IP地址,格式與源IP地址相同。
????protocol-specific options:協議制定的選項。
????log:記錄有關數據報進入訪問列表的信息。
NAT技術
????NAT(Network Address Translation,網絡地址轉換)是1994年提出的。當在專用內部的一些主機本來已經分配到了本地IP地址(即僅在本專用網內使用的專用地址),但現在又想和因特網的主機通信(并不需要加密)時,可使用NAT方法。
????這種方法需要在專用網連接到因特網的路由器上安裝NAT軟件。裝有NAT軟件的路由器叫做NAT路由器,它至少有一個有效的外部全球IP地址。這樣,所有使用本地地址的主機在和外界通信時,都要在NAT路由器上將其本地地址轉換成全球IP地址,才能和因特網連接。
????另外,這種通過使用少量的公有IP地址代表較多的私有IP地址的方式,將有助于減緩可用的IP地址空間的枯竭。在RFC1632中有對NAT的說明。
NAT功能
????NAT不僅能解決了IP地址不足的問題,而且還能夠有效地避免來自網絡外部的×××,隱藏并保護網絡內部的計算機
????1、寬帶分享:這是NAT主機的最大功能;
????2、安全防護:NAT之內的PC聯機到Internet上面時,他所顯示的IP是NAT主機的公共IP,所以Client端的PC當然就具有一定程度的安全了,外界在進行portscan(端口掃描)的時候,就偵測不到源Client端的PC。
NAT的實現方式
????NAT的實現有三種,即靜態轉換Static Nat、動態轉換Dynamic Nat和端口多路復用Overload。
????靜態轉換是指將內部網絡的私有IP地址轉換為公有IP地址,IP地址對是一對一的,是一成不變的,某個私有IP地址只轉換為某個公有IP地址。借助于靜態轉換,可以實現外部網絡對內部網絡中某些特定設備(如服務器)的訪問。
????動態轉換是指將內部網絡的私有IP地址轉換為公用IP地址時,IP地址是不確定的,是隨機的,所有被授權訪問上Internet的私有IP地址可隨機轉換為任何指定的合法IP地址。也就是說,只要指定哪些內部地址可以轉換,以及用哪些合法地址作為外部地址時,就可以進行動態轉換。動態轉換可以使用多個合法外部地址集。當ISP提供的合法IP地址略少于網絡內部的計算機數量時。可以采用動態轉換的方式。
????端口多路復用(Port address Translation,PAT)是指改變外出數據包的源端口并進行端口轉換,即端口地址轉換(PAT,Port Address Translation)采用端口多路復用方式。內部網絡的所有主機均可共享一個合法外部IP地址實現對Internet的訪問,從而可以最大限度地節約IP資源。同時,又可隱藏網絡內部的所有主機,有效避免來自internet的×××。因此,目前網絡中應用最多的就是端口多路復用方式。
????ALG(Application Level Gateway),即應用程序級網關技術:傳統的NAT技術只對IP層和傳輸層頭部進行轉換處理,但是一些應用層協議,在協議數據報文中包含了地址信息。為了使得這些應用也能透明地完成NAT轉換,NAT使用一種稱作ALG的技術,它能對這些應用程序在通信時所包含的地址信息也進行相應的NAT轉換。例如:對于FTP協議的PORT/PASV命令、DNS協議的“A”和“PTR” queries命令和部分ICMP消息類型等都需要相應的ALG來支持。
????如果協議數據報文中不包含地址信息,則很容易利用傳統的NAT技術來完成透明的地址轉換功能,通常我們使用的如下應用就可以直接利用傳統的NAT技術:HTTP、TELNET、FINGER、NTP、NFS、ARCHIE、RLOGIN、RSH、RCP等。
·NAT的技術背景
????要真正了解NAT就必須先了解現在IP地址的適用情況,私有IP地址是指內部網絡或主機的IP地址,公有IP地址是指在因特網上全球唯一的IP地址。RFC 1918為私有網絡預留出了三個IP地址塊,如下:
????A類:10.0.0.0-10.255.255.255
????B類:172.16.0.0-172.31.255.255
????C類:192.168.0.0-192.168.255.255
????上述三個范圍內的地址不會出現在因特網上被分配,因此可以不必向ISP或注冊中心申請而在公司或企業內部自由使用。
????隨著接入Internet的計算機數量的不斷猛增,IP地址資源也就愈加顯得捉襟見肘。事實上,除了中國教育和科研計算機網(CERNET)外,一般用戶幾乎申請不到整段的C類IP地址。在其他ISP那里,即使是擁有幾百臺計算機的大型局域網用戶,當他們申請IP地址時,所分配的地址也不過只有幾個或幾十個IP地址。顯然,這樣少的IP地址根本無法滿足網絡用戶的需求,于是也就產生了NAT技術。
????雖然NAT可以借助于某些代理服務器來實現,但考慮到運算成本和網絡性能,很多時候都是在路由器上來實現。
·NAPT
????NAPT(Network Address Port Translation),即網絡端口地址轉換,可將多個內部地址映射為一個合法公網地址,但以不同的協議端口號與不同的內部地址相對應,也就是<內部地址+內部端口>與<外部地址+外部端口>之間的轉換。NAPT普遍用于接入設備中,它可以將中小型的網絡隱藏在一個合法的IP地址后面。NAPT也被稱為“多對一”的NAT,或者叫PAT(Port Address Translations,端口地址轉換)、地址超載(address overloading)。
????NAPT與動態地址NAT不同,它將內部連接映射到外部網絡中的一個單獨的IP地址上,同時在該地址上加上一個由NAT設備選定的TCP端口號。NAPT算得上是一種較流行的NAT變體,通過轉換TCP或UDP協議端口號以及地址來提供并發性。除了一對源和目的IP地址之外,這個表還包括一對源和目的協議端口號,以及NAT盒使用的一個協議端口號。
????NAPT的主要優勢在于,能夠使用一個全球有效IP地址獲得通用性。主要缺點在于其通信僅限于TCP或UDP。當所有通信都采用TCP或UDP,NAPT允許一臺內部計算機訪問多臺外部計算機,并允許多臺內部主機訪問同一臺外部計算機,相互之間不會發生沖突。
NAT工作原理
????借助于NAT,私有(保留)地址的“內部”網絡通過路由器發送數據包時,私有地址被轉換成合法的IP地址,一個局域網只需使用少量IP地址(甚至是1個)即可實現私有地址網絡內所有計算機與Internet的通信需求。
????NAT將自動修改IP報文的源IP地址和目的IP地址,IP地址校驗則在NAT處理過程中自動完成。有些應用程序將源IP地址嵌入到IP報文的數據部分中,所以還需要同時對報文的數據部分進行修改,以匹配IP頭中已經修改過的源IP地址。否則,在報文數據部分嵌入IP地址的應用程序就不能正常工作。
????1、如圖這個client(終端)的gateway(網關)設定為NAT主機,所以當要連上Internet的時候,該封包就會被送到NAT主機,這個時候的封包Header之source IP(源IP)為192.168.1.100;
????2、而透過這個NAT主機,它會將client的對外聯機封包的source IP(192.168.1.100)偽裝成ppp0(假設為撥接情況)這個接口所具有的公共IP,因為是公共IP了,所以這個封包就可以連上Internet了,同時NAT主機并會記憶這個聯機的封包是由哪一個(192.168.1.100)client端傳送來的;
????????3、由Internet傳送回來的封包,當然由NAT主機來接收了,這個時候,NAT主機會去查詢原本記錄的路由信息,并將目標IP由ppp0上面的公共改回原來的192.168.1.100;
????????4、最后則由NAT主機將封包傳送給原先發送封包的Clinet。
配置NAT
????在配置NAT(網絡地址轉換之前),首先需要了解內部本地地址和內部全局地址的分配情況。根據不同的需求,執行以下不同的配置任務。
????·內部源地址NAT配置
????·內部源地址NAPT配置
????·重疊地址NAT配置
????·TCP負載均衡
·配置內部源地址靜態NAT
????當內部網絡需要與外部網絡通訊時,需要配置NAT,將內部私有IP地址轉換成全局唯一IP地址。您可以配置靜態或動態的NAT來實現互聯互通的目的,或者需要同時配置靜態和動態的NAT。
????靜態NAT,是建立內部本地地址和內部全局地址的一對一永久映射。當外部網絡需要通過固定的全局可路由地址訪問內部主機,靜態NAT就顯得十分重要。要配置靜態NAT,在全局配置模式中執行以下命令:
| 命令 | 作用 |
R(config)#ip nat inside source static local-address global-address [permit-inside] [vrf vrf_name] | 定義內部源地址靜態轉換關系 |
R(config)#interface interface-type interface-number | 進入接口配置模式 |
| R(config-if)#ip nat inside | 定義該接口連接內部網絡 |
R(config)#interface interface-type interface-number | 進入接口配置模式 |
| R(config-if)ip nat outside | 定義該接口連接外部網絡 |
????以上配置較為簡單,可以配置多個Inside和outside接口。
????·配置內部源地址動態NAT
????動態NAT,是建立內部本地地址和內部全局地址池的臨時映射關系,過一段時間沒有用就會刪除映射關系。要配置動態NAT,在全局配置模式中執行以下命令:
| 命令 | 作用 |
R(config)#ip nat pool address-pool start-address end-address {netmask mask | prefix-length prefix-length} | 定義全局IP地址池 |
R(config)#access-list access-list-number permit ip-address wildcard | 定義訪問列表,只有匹配該列表的地址才轉換 |
| R(config)#ip nat inside source list access-list-number pool address-pool [vrf vrf_name] | 定義內部源地址動態轉換關系 |
| R(config)#interface interface-type interface-number | 進入接口配置模式 |
| R(config-if)#ip nat inside | 定義接口連接內部網絡 |
| R(config)#interface interface-type interface-number | 進入接口配置模式 |
| R(config-if)#ip nat outside | 定義接口連接外部網絡 |
????需要注意的是:訪問列表的定義,使得只在列表中許可的源地址才可以被轉換,必須注意訪問列表最后一個規則是否定全部。訪問列表不能定義太寬,要盡量準確,否則將出現不可預知的結果。
·配置內部源地址NAPT
????傳統的NAT一般是指一對一的地址映射,不能同時滿足所有的內部網絡主機與外部網絡通訊的需要。使用NAPT(網絡地址端口轉換),可以將多個內部本地地址映射到一個內部全局地址。
????NAPT分為靜態NAPT和動態NAPT。靜態NAPT一般應用在將內部網指定主機的指定端口映射到全局地址的指定端口上。而前一小節提及的靜態NAT,是將內部主機映射成全局地址。
????要配置靜態NAPT,在全局配置模式中執行以下命令:
| 命令 | 作用 |
R(config)#ip nat inside source static {UDP|TCP} local-address port global-address port [permit-inside] [vrf vrf_name] | 定義內部源地址靜態轉換關系 |
| R(config)#interface interface-type interface-number | 進入接口配置模式 |
| R(config-if)# ip nat inside | 定義該接口連接內部網絡 |
| R(config)#interface interface-type interface-number | 進入接口配置模式 |
| R(config-if)#ip nat outside | 定義接口連接外部網絡 |
????NAPT可以使用地址池中的IP地址,也可以直接使用接口的IP地址。一般來說一個地址就可以滿足一個網絡的地址轉換需要,一個地址最多可以提供64512個NAT地址轉換。如果地址不夠,地址池可以多定義幾個地址。
NAT配置實例
????在配置網絡地址轉換的過程之前,首先必須搞清楚內部接口和外部接口,以及在哪個外部接口上啟用NAT。通常情況下,連接到用戶內部網絡的接口是NAT內部接口,而連接到外部網絡(如Internet)的接口是NAT外部接口。
·靜態地址轉換的實現
????假設內部局域網使用的IP地址段為192.168.0.1-192.168.0.254,路由器局域網端(即默認網關)的IP地址為192.168.0.1,子網掩碼為255.255.255.0。網絡分配的合法IP地址范圍為61.159.62.128-61.159.62.135,路由器在廣域網中的IP地址為61.159.62.129,子網掩碼為255.255.255.248可用于轉換的IP地址范圍為61.159.62.130-61.159.62.134。要求將內部網址192.168.0.2-192.168.0.6分別轉換為合法IP地址61.159.62.130-61.159.62.134。
????第一步,設置外部端口。
????interface serial 0
????ip address 61.159.62.129 255.255.255.248
????ip nat outside
????第二步,設置內部端口
????interface ethernet 0
????ip address 192.168.0.1 255.255.255.0
????ip nat inside
????第三步,在內部本地與外部合法地址之間建立靜態地址轉換。
????ip nat inside source static 內部本地地址 外部合法地址。
????示例:
????ip nat inside source static 192.168.0.2 61.159.62.130????//將內部網絡地址 192.168.0.2轉換為合法IP地址61.159.62.130
????ip nat inside source static 192.168.0.3 61.159.62.131????//將內部網絡地址 192.168.0.3轉換為合法IP地址61.159.62.131
????ip nat inside source static 192.168.0.4 61.159.62.132????//將內部網絡地址 192.168.0.4轉換為合法IP地址61.159.62.132
????ip nat inside source static 192.168.0.5 61.159.62.133????//將內部網絡地址 192.168.0.5轉換為合法IP地址61.159.62.133
????ip nat inside source static 192.168.0.6 61.159.62.134????//將內部網絡地址 192.168.0.6轉換為合法IP地址61.159.62.134
????至此,靜態地址轉換配置完畢。
·動態地址轉換的實現
????假設內部網絡使用的IP地址段為172.16.100.1-172.16.100.254,路由器局域網端口(即默認網關)的IP地址為172.16.100.1,子網掩碼為255.255.255.0。網絡分配的合法IP地址范圍為61.159.62.128-61.159.62.191,路由器在廣域網中的IP地址為61.159.62.129,子網掩碼為255.255.255.192,可用于轉換的IP地址范圍為61.159.62.130-61.159.62.190。要求將內部網址172.16.100.2-172.16.100.254動態轉換為合法IP地址61.159.62.130-61.159.62.190。
????第一步,設置外部端口.
????設置外部端口命令的語法如下:
????ip nat outside
????示例:
????interface serial 0 //進入串行端口 serial 0
????ip address 61.159.62.129 255.255.255.192 //將其IP地址指定為61.159.62.129,子網掩碼為255.255.255.192
????ip nat outside //將串行口serial 0設置為外網端口
????注意,可以定義多個外部端口。
????
????第二步,設置內部端口
????設置內部接口命名的語法如下:
????ip nat inside
????示例:
????interface ethernet 0 //進入以太網端口 Ethernet 0
????ip address 172.16.100.1 255.255.255.0 //將其IP地址指定為172.16.100.1,子網掩碼為255.255.255.0
????ip nat inside //將Ethernet 0 設置為內網端口。
????注意,可以定義多個內部端口。
????
????第三步,定義合法IP地址池。
????定義合法IP地址池命令的語法如下:
????ip nat pool 地址池名稱起始IP地址 終止IP地址子網掩碼
????其中,地址池名字可以任意設定。
????示例:
????ip nat pool chinanet,IP范圍為61.159.62.130 61.159.62.190 netmask 255.255.255.192 //指明地址緩沖池的名稱為chinanet,IP地址范圍是61.159.62.130-61.159.62.190,子網掩碼為255.255.255.192。需要注意的是,即使掩碼為255.255.255.0,也會由起始IP地址和終止IP地址對IP地址池進行限制。
????或ip nat pool test 61.159.62.130 61.159.62.190 prefix-length 26
????注意,如果有多個合法IP地址范圍,可以分別添加。例如,如果還有一段合法IP地址范圍為“211.82.216.1-211.82.216.254”,那么,可以再通過下述命令將其添加至緩沖池中。
????ip nat pool cernet 211.82.216.1 211.82.216.254 netmask 255.255.255.0
????或
????ip nat pool test 211.82.216.1 211.82.216.254 prefix-length 24
????
????第四步,定義內部網絡中允許訪問Internet的訪問列表。
????定義內部訪問列表命令的語法如下:
????access-list 標號 permit 源地址通配符(其中,標號為1-99之間的整數)
????access-list 1 permit 172.16.100.0 0.0.0.255 //允許訪問Internet的網段為172.16.100.0-172.16.100.255,反掩碼為0.0.0.255。需要注意的是,在這里采用的是反掩碼,而非子網掩碼。反掩碼。反掩碼與子網掩碼的關系為:反掩碼+子網掩碼=255.255.255.255。例如,子網掩碼為255.255.0.0,則反掩碼為0.0.255.255;子網掩碼為255.0.0.0,則反掩碼為0.255.255.255;子網掩碼為255.252.0.0,則反掩碼為0.3.255.255;子網掩碼為255.255.255.192,則反掩碼為0.0.0.63。
????另外,如果想將多個IP地址段轉換為合法IP地址,可以添加多個訪問列表。例如,當欲將172.16.98.0-172.16.98.255和172.16.99.0-172.16.99.255轉換為合法IP地址時,應當添加下述命令:
????access-list2 permit 172.16.98.0 0.0.0.255
????access-list3 permit 172.99.0.0 0.0.0.255
????示例:ip nat pool chinanet 61.159.62.130 61.159.62.190 netmask 255.255.255.192????//指明地址緩沖池的名稱為chinanet,IP地址范圍為61.159.62..130-61.159.62.190,子網掩碼為255.255.255.192。需要注意的是,即使掩碼為255.255.255.0,也會由起始IP地址和終止IP地址對IP地址池進行限制。
????或ip nat pool test 61.159.62.130 61.159.62.190 prefix-length 26
????注意,如果有多個合法IP地址范圍,可以分別添加。例如,如果還有一段合法IP地址范圍為“211.82.216.1-211.82.216.254”,那么,可以再通過下述命令將其添加至緩沖池中。
????ip nat pool cernet 211.82.216.1 211.82.216.254????netmask 255.255.255.0
????或
????ip nat pool test 211.82.216.1 211.82.216.254 prefix-length 24
????第五步,實現網絡地址轉換
????在全局設置模式下,將第四步由access-list指定的內部本地地址列表與第三步指定的合法IP地址池進行地址轉換。命令語法如下:
????ip nat inside source list 訪問列表標號 pool 內部合法地址池名字
????示例:
????ip nat inside source list 1 pool chinanet
????如果有多個內部訪問列表,可以一一添加,以實現網絡地址轉換,如
????ip nat inside source list 2 pool chinanet
????ip nat inside source list 3 pool chinanet
????如果有多個地址池,也可以一一添加,以增加合法地址范圍,如
????ip nat inside source list 1 pool cernet
????ip nat inside source list 2 pool cernet
????ip nat inside source list 3 pool cernet
????至此,動態地址轉換設置完畢
·端口復用動態地址轉換(PAT)
????內部網絡使用的IP地址段為10.100.100.1-10.100.100.254,路由器局域網端口(即默認網關)的IP地址為10.100.100.1,子網掩碼為255.255.255.0。網絡分配的合法IP地址范圍為202.99.160.0-202.99.160.3,路由器廣域網中的IP地址為202.99.160.1,子網掩碼為255.255.255.252,可用于轉換的IP地址為202.99.160.2。要求將內部網址10.100.100.1-10.100.100.254轉換為合法IP地址202.99.160.2。
????第一步,設置外部端口。
????interface serial 0
????ip address 202.99.160.1 255.255.255.252
????ip nat outside
????第二步,設置內部端口
????interface ethernet 0
????ip address 10.100.100.1 255.255.255.0
????ip nat inside
????第三步,定義合法IP地址池
????ip nat pool onlyone 202.99.160.2 202.99.160.2 netmask 255.255.255.252????//指明地址緩沖池的名稱為onlyone,IP地址范圍為202.99.160.2,子網掩碼為255.255.255.252。由于本例只有一個IP地址可用,所以,起始IP地址與終止IP地址均為202.99.160.2。如果有多個IP地址,則應當分別鍵入起止的IP地址。
????第四步,定義內部訪問列表
????access-list 1 permit 10.100.100.0 0.0.0.255
????允許訪問internet的網段為10.100.100.0-10.100.100.255,子網掩碼為255.255.255.0。需要注意的是,在這里子網掩碼的順序跟平常所寫的順序相反,即0.0.255.255。
????第五步,設置復用動態地址轉換
????在全局模式下,設置在內部的本地地址與內部合法IP地址間建立復用動態地址轉換。命令語法如下:
????ip nat inside source list 訪問列表號 pool 內部合法地址池名字 overload
????示例:
????ip nat inside source list 1pool onlyone overload //以端口復用方式,將訪問列表1中的私有IP地址轉換為onlyone IP地址池中定義的合法IP地址。
????注意:overload是復用動態地址轉換的關鍵詞。
????至此,端口復用動態地址轉換完成。
????還可以這樣寫:
????ip nat inside source list 1 interface serial 0 overload
CIDR技術
概念
????超網(supernetting)是與子網類似的概念--IP地址根據子網掩碼被分為獨立的網絡地址和主機地址。但是,與子網把大網絡分成若干個小網絡相反,它是把一些小網絡組合成一個大網絡--超網。
????超網創建用來解決路由列表超出現有軟件和管理人力的問題以及提供B類網絡地址空間耗盡的解決辦法。超網允許一個路由列表入口表示一個網絡集合,就如一個區域代碼表示一個區域的電話號碼的集合一樣。
????目前盛行的外部網關協議邊界網關協議(BGP)以及開放式最短路徑優先(OSPF)路由協議都支持超網技術。
????子網劃分將一個單一的IP地址劃分成多個子網,以延緩大型網絡地址(主要是B類)的分配速度。子網劃分從20世紀80年代提出以后的確起到了這個作用。但是到了20世紀90年代,子網劃分也就無法阻止B類網絡地址最好耗盡的趨勢。原因很簡單,B類地址只有一萬六千多個。而人們為中等大小的網絡申請地址時,更傾向于使用B類地址,并在其上進行子網劃分,以避免由于多個C類地址給網絡配置和管理帶來的不便。因此,B類地址分配的速度很快,而C類地址的分配速度則慢很多。為了解決B類地址空間緊張的問題,并充分利用C類地址空間(C類網絡的數量有2百多萬個),人們有提出了超網技術。
????超網的功能是將多個連續的c類的網絡地址聚合起來映射到一個物理網絡上。這樣,這個物理網絡就可以使用這個聚合起來的c類地址的共同地址前綴作為其網絡號。
????超網創建用來解決路由列表超出現有軟件和管理人力的問題以及提供B類網絡地址空間耗盡的解決辦法。超網允許一個路由列表入口表示一個網絡集合,就如一個區域代碼表示一個區域的電話號碼的集合一樣。
????目前盛行的外部網關協議邊界網關協議(BGP)以及開放式最短路徑優先(OSPF)路由協議都支持超網技術。
優點和不足
????超網的優點是可以充分利用C類網絡空間資源。在多數情況下,使用超網地址分配樂意使分配的網絡空間與實際所需的節點數量相匹配,因而提高了地址空間的利用率。例如,一個4000個節點的物理網絡,分配一個B類地址顯然是浪費,但C類地址又太小,那么我們可以為該物理網絡分配一個4000個節點的物理網絡,分配一個B類地址顯然是浪費,但C類地址又太小,那么我們可以為該物理網絡分配一個由16個連續C類網絡構成的地址空間塊。
????超網方式也帶來了新的問題:路由表規模的增長。路由表規模與網絡數量成正比。一個物理網絡對應多個C類網絡地址,使得該網絡在路由表對應于多個C類的前綴表項,使路由表過于龐大。路由協議為交換路由信息而帶來的開銷也急劇增加。這個問題可采用無類型域間路由就(CIDR,Class Inter-Domain-Routing)技術來解決。盡管一個物理網絡在路由表中對應多個表項,但所有表項必然指向同一個下一跳地址,因此有可能對表項進行聚合。CIDR技術可以把路由表中連續的C類網絡地址聚合的C類網絡地址必須是連續的,且地址塊的數量為2的冪。聚合以后的CIDR地址塊的網絡前綴的長度。顯然,子網掩碼的長度將小于24(C類網絡掩碼長度)。與子網選路中采用的表示形式一樣,CIDR定義得地址塊也統一表示成“網絡前綴/子網掩碼位數”的形式。
CIDR的特點
????(1)CIDR消除了傳統的A類、B類和C類地址以及劃分子網的概念,可以更加有效的分配IP地址空間。CIDR使用各種長度的“網絡前綴”來代替分類地址中的網絡號和子網號,而不是像分類地址中只能使用1字節、2字節、3字節的網絡號。CIDR不再使用“子網”的概念而使用網絡前綴,使用IP地址從三級編址又回到了兩級編址,即無分類的兩級編址。
????IP地址::={<網絡前綴>,<主機號>}
????CIDR也使用“斜線記法”,即在IP地址后寫上網絡前綴所占的位數(對應子網掩碼中1的個數)。
????(2)CIDR把網絡前綴都相同的連續的IP地址組成“CIDR地址塊”,一個CIDR地址塊由地址塊的起始地址(即地址塊中地址數值最小的一個)和地址塊中的地址數來定義的。CIDR地址塊也可用斜線記法來表示。
????由于一個CIDR地址塊可以表示很多地址,所以在路由表中就利用CIDR地址塊來查找目的網絡。這種地址的聚合通常稱為路由聚合,它使得路由表中的一個項目可以表示原來傳統分類地址的很多個路由。路由聚合也稱為構成超網。路由聚合有利于減少路由器之間的路由選擇信息的交換,從而提高了整個因特網的性能。
應用舉例
????一個4000個節點的物理網絡通過路由器R連接到Internet,并且被分配了有連續的16個C類網絡地址構成的地址空間。為了將該網絡作為一個統一的網絡進行選路,在路由器R上,可利用CIDR將這16個C類地址的路由表項聚合成一個表項來進行選路。網絡中的各路由器路由表中都只需記錄一條網絡地址的路由表項,而不需要為其中的每一個C類網絡地址分別記錄單獨的表項了。
????這種用符合“網絡前綴/子網掩碼”表示的連續C類地址塊被稱為CIDR塊。作為降低IP地址分配速度以及減少Internet路由器中表項數的一種方法,CIDR技術已經被廣泛認同,在地址分配中也被廣泛使用。申請Internet地址,從地址分配機構獲得的Internet地址往往都是一個CIDR塊,而不是傳統的分類地址。
????實際上,CIDR中并未限制網絡地址必須為C類。因此,CIDR提供的的確是一種“無類型”的地址分配方式。在路由表表示及選路操作上,CIDR與子網都是相似的。
????IETF將整個IP地址空間中的一部分CIDR塊保留用于專用網絡,稱為專用地址(Private Address)。這些地址不會被Internet地址管理機構分配給Internet中的網絡和結點。專用地址不會被Internet地址管理機構分配給Internet中的網絡和結點。專用地址不是Internet中的合法地址,因此專用網的地址空間與Internet地址空間是隔離的。這種隔離提供了一種安全手段防止內部網絡遭受來自網布的***。當然,隔離也使專用網的內結點不能直接訪問Internet,需要在網絡入口使用代理或者NAT(網絡地址翻譯)等機制。
????在做ACL時,為了節省開支(即用盡量少的ACL條目)會用到超網技術。因此涉及到超網的計算和劃分。下面列舉幾例說明計算超網的方法:
????1.由2048個C類網絡組成,從192.24.0.0到192.31.255.0,哪個掩碼可表示此地址范圍?
????????192.24.0.0劃成2進制為
????????11000000.00011 000.00000000.00000000
????????192.31.0.0劃成2進制為
????????11000000.00011 111.00000000.00000000
????相同位
????從左到右相同的位數為子網掩碼位數,即:13位,掩碼為255.248.0.0
????2.在配置ACL時碰到這樣一個地址范圍:59.39.80.0-59.39.127.0如何劃分超網才使ACL條目最少呢?
????59.39.80.0轉化為2進制為
????00111011.00100111.01010000.00000000
????取全0之前位數為網絡地址位,即59.39.80.0/20(59.39.80.0-59.39.95.255)得到一個超網
????然后余下的地址以59.39.96.0開始
????59.39.96.0轉化為2進制為:
????00111011.00100111.01100000.00000000
????取全0之前位數為網絡地址位,即59.39.96.0/19[59.39.96.0-59.39.127.255],全部覆蓋此地址池
????一共得到兩條ACL,分別為:59.39.80.0/20、59.39.96.0/19
????VLSM技術
????VLSM(可變長子網掩碼)是為了有效的使用無類別域間路由(CIDR)和路由匯聚(route summary)來控制路由表的大小,網絡管理員使用先進的IP尋址技術,VLSM就是其中的常用方式,可以對子網進行層次化編址,以便最有效的利用現有的地址空間。
????VLSM(Varable Length Subnet Mask,可變長子網掩碼)規定了如何在一個進行了子網劃分的網絡中的不同部分使用不同的子網掩碼。這對于網絡內部不同網段需要不同大小子網的情形來說很有效。
????簡介
????VLSM其實就是相對于類的IP地址來說的。A類的第一段是網絡號(前八位),B類地址的前兩段是網絡號(前十六位),C類的前三段是網絡號(前二十四位)。而VLSM的作用就是在類的IP地址的基礎上,從它們的主機號部分借出相應的位數來做網絡號,也就是增加網絡號的位數。各類網絡可以用來劃分子網的位數為:A類有二十四位可以借,B類有十六位可以借,C類有八位可以借(可以再劃分的位數就是主機號的位數。實際上不可以都借出來,因為IP地址中必須要有主機號的部分,而且主機號部分剩下一位是沒有意義的,所以在實際中可以借的位數是在上面那些數字中再減去2,借的位作為子網部分)。
????這是一種產生不同大小子網的網絡分配機制,指一個網絡可以配置不同的掩碼。開發可變長度子網掩碼的想法就是在每個子網上保留足夠的主機數的同時,把一個子網進一步分成多個小子網時有更大的靈活性。如果沒有VLSM,一個子網掩碼只能提供給一個網絡。這樣就限制了要求的子網數上的主機數。另外,VLSM是基于比特位的,而類網絡是基于8位組的。
????在實際工程實踐中,能夠進一步將網絡劃分成三級或更多級子網。同時,能夠考慮使用全0或全1子網以節省網絡地址空間。某局域網上使用了27位的掩碼,則每個子網可以支持30臺主機(2^5-2=30);而對于WAN連接而言,每個連接只需要2個地址,理想的方案是使用30位掩碼(2^5=30),然而同主類別網絡相同掩碼的約束,WAN之間也必須使用27位掩碼,這樣就浪費28個地址。
????基本算法
????VLSM是將大范圍的IP網絡劃分成多個小范圍的IP網絡,為某一個單位或企業的不同部分對內可顯示不同的網絡,對外可顯示同一個IP網絡。提到VLSM,不得不提出的是掩碼。掩碼同IP一樣,具有32位的二進制,用于與某一個IP進行運算,算出該IP的網絡號。即將32位的IP與32位的掩碼進行“與運算”,這樣就可以得出網絡號。
????如:IP為:21.31.233.69與掩碼255.255.255.192的網絡號:
????????21.31.233.69=00010101 00011111 11101001 01000101
????255.255.255.192=11111111 11111111 11111111 11000000=00010101 00110001 11101001 01000000=21.31.233.64
????故:
????????21.31.233.69&255.255.255.192=21.31.233.64
????所以該子網網絡號為21.31.233.64。
????實例分析
????例如:某公司有兩個主要部分:市場部和技術部。技術部又分為硬件部和軟件部兩個部分。該公司申請到了一個完整的C類IP地址段:210.31.233.0,子網掩碼255.255.255.0。為了便于分級管理,該公司采用VSLM技術,將原主網絡劃分稱為兩級子網(未考慮全0和全1子網)。
????市場部分得了一級子網中的第1個子網,即210.31.233.0,子網掩碼255.255.255.192,該一級子網共有62個IP地址可供分配,用于主機使用。
????技術部將所分得的一級子網中的第2個子網210.31.233.128,子網掩碼255.255.255.192。又進一步劃分成了兩個二級子網。其中第1個二級子網210.31.233.128,子網掩碼255.255.255.224劃分給技術部的下屬分部-硬件部,該二級子網共有30個IP地址可供分配。技術部的下屬分部-軟件部分得了第2個二級子網210.31.233.160,子網掩碼255.255.255.224,該二級子網共有30個IP地址可供分配。
????VLSM技術對高效分配IP地址(較少浪費)以及減少路由表大小都起到非常重要的作用。這在超網和網絡聚合中非常有用。但是需要注意的是使用VLSM時,所采用的路由協議必須能夠支持它,這些路由協議包括RIP2,OSPF,EIGRP,IS-IS和BGP。
????無類路由選擇網絡可以使用vlsm,而有類路由選擇網絡中不能使用vlsm。
????劃分子網的幾個捷徑
????1.你所選擇的子網掩碼將會產生多少個子網?:2的x次方(x代表掩碼位,即2進制為1的部分)
????2.每個子網能有多少個主機?:2的y次方-2(y代表主機位,即2進制為0的部分)
????3.有效子網是?:有效子網號=256-10進制的子網掩碼(結果叫做block size或base number)
????4.每個子網的廣播地址是?:廣播地址=下個子網號-1
????5.每個子網的有效主機分別是?:忽略子網全為0和全為1的地址剩下的就是有效主機地址。最后有效1個主機地址=下個子網號-2(即廣播地址-1)
????C類地址例子:網絡地址 192.168.10.0;子網掩碼 255.255.255.192/26
????1.子網數=2*2=4
????2.主機數=2的6次方-2=62
????3.有效子網?:block size=256-192=64;所以第一個子網為192.168.10.0,第二個為192.168.10.64,第三個為192.168.10.128,第四個為192.168.10.192
????4.廣播地址:下個子網-1,所以4個子網的廣播地址分別是192.168.10.63、192.168.10.127和192.168.10.191、192.168.10.255
????5.有效主機范圍是:第一個子網的主機地址是192.168.10.1-192.168.10.62;第二個是192.168.10.65-192.168.10.126;第三個192.168.10.129-192.168.10.190;第四個是192.168.10.193-192.168.10.254
????B類地址例子1:網絡地址:172.16.0.0;子網掩碼255.255.192.0/18
????1.子網數=2*2=4
????2.主機數=2的14次方-2=16382
????3.有效子網?:block size=256-192=64;所以第一個子網為172.16.0.0,第二個為172.16.64.0,第三個為172.16.128.0,第四個為172.16.192.0
????4.廣播地址:下個子網-1.所以4個子網的廣播地址分別是172.16.63.255、172.16.127.255,172.16.191.255,172.16.255.255
????5.有效主機范圍是:第一個子網的主機地址是172.16.0.1到172.16.63.254;第二個是172.16.64.1到172.16.127.254;第三個是172.16.128.1到172.16.191.254;第四個是172.16.128.1到172.16.255.254
VLAN技術
????什么是VLAN?VLAN(Virtual LAN),翻譯成中文是“虛擬局域網”。LAN可以是由少數幾臺家用計算機構成的網絡,也可以是數以百計的計算機構成的企業網絡。
????VLAN所指的LAN特指使用路由器分割的網絡——也就是廣播域。
????在此讓我們先復習一下廣播域的概念。廣播域,指的是廣播幀(目標MAC地址全部為1)所能傳遞到的范圍,亦即能夠直接通信的范圍。嚴格來說,并不僅僅是廣播幀,多播幀(Multicast Frame)和目標不明的單播幀(Unknown Unicast Frame)也能在同一個廣播域中暢行無阻。本來,二層交換機只能構建單一的廣播域,不過使用VLAN功能后,它能夠將網絡分割成多個廣播域。
????未分割廣播域時,,,,
????那么為什么需要分割廣播域呢?那是因為,如果僅有一個廣播域,有可能會影響到網絡整體的傳輸性能。具體原因,請參看附圖加深理解。
????圖中,是一個由5臺二層交換機(交換機1-5)連接了大量客戶機構成的網絡。假設這時,計算機A需要與計算機B通信。在基于以太網的通信中,必須在數據幀中指定目標MAC地址才能正常通信,因此計算機A必須先廣播“ARP請求(ARP Request)信息”,來嘗試獲取計算機B的MAC地址。交換機1收到廣播幀(ARP請求)后,會將它轉發給除接收端口外的其他所有端口,也就是Flooding了。接著,交換機2收到廣播幀后也會Foolding。交換機3、4、5也還會Flooding。最終ARP請求會被轉發到同一網絡中的所有客戶機上。
????請大家注意一下,這個ARP請求原本是為了獲得計算機B的MAC地址而發出的。也就是說:只要計算機B能收到就萬事大吉了。可是事實上,數據幀卻傳遍了整個網絡,導致所有的計算機都收到了它。如此一來,一方面廣播信息消耗了網絡整體的帶寬,另一方面,收到廣播信息的計算機還要消耗一部分CPU時間來對它進行處理。造成了網絡帶寬和CPU運算能力的大量無謂消耗。
????廣播信息是那么經常發出的嗎?讀到這里,您也許會問:廣播信息真是那么頻繁出現的嗎?答案是:是的!實際上廣播幀會非常頻繁地出現。利用TCP/IP協議棧通信時,除了前面出現的ARP外,還有可能需要發出DHCP、RIP等很多其他類型的廣播信息。ARP廣播,是在需要與其他主機通信時發出的。當客戶機請求DHCP服務器分配IP地址時,就必須發出DHCP的廣播。而使用RIP作為路由協議時,每隔30秒路由器都會對鄰近的其他路由器廣播一次路由信息。RIP以外的其他路由協議使用多播傳輸Apple Talk等協議也經常需要用到廣播。例如在Windows下雙擊打開“網絡計算機”時就會發出廣播(多播)信息。(Windows XP除外,,,,)總之,廣播就在我們身邊。
????下面是一些常見的廣播通信:ARP請求:建立IP地址和MAC地址的映射關系。RIP:一種路由協議。DHCP:用于自動設定IP地址的協議。NETBEUI:Windows下使用的網絡協議。IPX:Novell Netware使用的網絡協議。Apple Talk:蘋果公司的Macintoshi計算機使用的網絡協議。
????廣播域的分割與VLAN的必要性分割廣播時,一般都必須使用到路由器。使用路由器后,可以以路由器上的網絡接口(LAN interface)為單位分割廣播域。但是,通常情況下路由器上不會有太多的網絡接口,其數目多在1-4個左右。隨著寬帶連接的普及,寬帶路由器(或者叫IP共享器)變得較為常見,但是需要注意的是,它們上面雖然帶著多個(一般為4個左右)連接LAN一側的網絡接口,但那實際上是路由器內置的交換機,并不能分割廣播域。況且使用路由器分割廣播域的話,所能分割的個數完全取決于路由器的網絡接口個數,使得用戶無法自由地根據實際需要分割廣播域。與路由器相比,二層交換機一般帶有多個網絡接口。因此如果能使用它分割廣播域,那么無疑運用上的靈活性會大大提高。用于在二層交換機上分割廣播域的技術,就是VLAN。通過利用VLAN,我們可以自由設計廣播域的構成,提高網絡設計的自由度。
????實現VLAN的機制
????在理解了“為什么需要VLAN”之后,接下來讓我們來了解一下交換機是如何使用VLAN分割廣播域的。首先,在一臺未設置任何VLAN的二層交換機上,任何廣播域都會被轉發給除接收端口外的所有其他端口(Flooding)。例如,計算機A發送廣播信息后,會被轉發給端口2、3、4。
????這時,如果在交換機上生成紅、藍兩個VLAN;同時設置端口1、2屬于紅色VLAN、端口3、4屬于藍色VLAN。再從A發出廣播幀的話,交換機就只會把它轉發給同屬于一個VLAN的其他端口——也就是同屬于紅色VLAN的端口2,不會再轉發給屬于藍色VLAN的端口。同樣,C發送廣播信息時,只會被轉發給其他屬于藍色VLAN的端口,不會被轉發給屬于紅色VLAN的端口。
????直觀地描述VLAN如果要更為直觀地描述VLAN的話,我們可以把它理解為將一臺交換機在邏輯上分割成了數臺交換機。在一臺交換機上生成紅、藍兩個VLAN,也可以看作是將一臺交換機換做一紅一藍兩臺虛擬的交換機。
????在紅、藍兩個VLAN之外生成新的VLAN時,可以想象成又添加了新的交換機。但是,VLAN生成的邏輯上的交換機是互不想通的。因此,在交換機上設置VLAN后,如果未做其他處理,VLAN間是無法通信的。明明接在同一個交換機上,但卻偏偏無法通信——這個事實也許讓人難以接受。但它既是VLAN方便易用特征,又是使VLAN令人難以理解的原因。
????需要VLAN間通信時怎么辦?
????那么,當我們需要在不同的VLAN間通信時又該如何是好呢?請大家再次回憶一下:VLAN是廣播域。而通常兩個廣播域之間由路由器提供中繼服務。
VLAN的訪問鏈接
????交換機的端口
????交換機的端口,可以分為以下兩種:
????·訪問鏈接(Access Link)
????·匯聚鏈接(Trunk Link)
????接下來就讓我們來依次學習這兩種不同端口的特征。這一講,首先學習“訪問鏈接”
????訪問鏈接
????訪問鏈接,指的是“只屬于一個VLAN,且僅向該VLAN轉發數據幀”的端口。在大多數情況下,訪問鏈接所連的客戶機。
????通常設置VLAN的順序是:
????·生成VLAN
????·設定訪問鏈接(決定各端口屬于哪一個VLAN)
????設定訪問鏈接的手法,可以是事先固定的、也可以是根據所連的計算機而動態改變設定。前者被稱為“靜態VLAN”、后者自然就是“動態VLAN”了。
????靜態VLAN
????靜態VLAN又被稱為基于端口的VLAN(Port Based VLAN)。顧名思義,就是明確指定各端口屬于哪個VLAN的設定方法。
????由于需要一個個端口地指定,因此當網絡中的計算機數目超過一定數字(比如數百臺)后,設定操作就會變得繁雜務必。并且,客戶機每次變更所連端口,都必須同時更改該端口所屬VLAN的設定——這顯然不適合那些需要頻繁改變拓撲結構的網絡。
????動態VLAN
????另一方面,動態VLAN則是根據每個端口所連的計算機,隨時改變端口所屬的VLAN。這就可以避免上述的更改設定之類的操作。動態VLAN可以大致分為3類:
????·基于MAC地址的VLAN(MAC Based VLAN)
????·基于子網的VLAN(Subnet Based VLAN)
????·基于用戶的VLAN(User Based VLAN)
????其間的差異,主要在于根據OSI參考模型哪一層的信息決定端口所屬的VLAN。
????基于MAC地址的VLAN,就是通過查詢并記錄端口所連計算機上網卡的MAC地址來決定的。
????由于是基于MAC地址決定所屬VLAN的,因此可以理解為這是一種在OSI的第二層設定訪問鏈接的辦法。
????但是,基于MAC地址的VLAN,在設定時必須調查所連接的所有計算機的MAC地址并加以登錄。而且如果計算機交換了網卡,還是需要更改設定。
????基于子網的VLAN,則是通過所連計算機的IP地址,來決定端口所屬VLAN的。不像基于MAC地址的VLAN,即使計算機因為交換了網卡或是其他原因導致MAC地址改變,只要它的IP地址不變,就仍可以加入原先設定的VLAN。
????因此,與基于MAC地址的VLAN相比,能夠更為簡便地改變網絡結構。IP地址是OSI參照模型中第三層的信息,所以我們可以理解為基于子網的VLAN是一種在OSI的第三層訪問鏈接的放方法。
????基于用戶的VLAN,則是根據交換機各端口所連的計算機上當前登錄的用戶,來決定該端口屬于哪個VLAN。這里的用戶識別信息,一般是計算機操作系統登錄的用戶,比如可以是Windows域中使用的用戶名。這些用戶名信息,屬于OSI第四層以上的信息。
????總的來說,決定端口VLAN時利用的信息在OSI中的層面越高,就越適用構建靈活多變的網絡。
????訪問鏈接的總結
????綜上所述,設定訪問鏈接的手法有靜態VLAN和動態VLAN兩種,其中動態VLAN又可以繼續細分為幾個小類。
????其中基于子網的VLAN和基于用戶的VLAN有可能是網絡設備廠商使用獨有的協議實現的,不同廠商的設備之間互聯有可能出現兼容性問題;因此在選擇交換機時,一定要注意事先確認。
????下表總結了靜態VLAN和動態VLAN的相關信息。
| 種類 | 解說 | |
| 靜態VLAN(基于端口的VLAN) | 將交換機的各端口固定指派給VLAN | |
動態VLAN | 基于MAC地址的VLAN | 根據各端口所連計算機的MAC地址設定 |
| 基于子網的VLAN | 根據各端口所連計算機的IP地址設定 | |
| 基于用戶的VLAN | 根據端口所連計算機上登錄用戶設定 | |
????何為匯聚鏈接?
????匯聚鏈接(Trunk Link)指的是能夠轉發多個不同VLAN的通信的端口。
????匯聚鏈路上流通的數據幀,都被附加了用于識別分屬于哪個VLAN的特殊信息。
????現在再讓我們回過頭考慮一下剛才那個網絡如果采用匯聚鏈路又會如何呢?用戶只需要簡單地將交換機間互聯的端口設定為匯聚鏈接就可以了。這時使用的網線還是普通的UTP線,而不是什么其他的特殊布線。圖例中是交換機間互聯,因此需要用交叉線來連接。
????接下來,讓我們具體看看匯聚鏈接是如何實現跨越交換機間的VLAN的。
????A發送的數據幀從交換機1經過匯聚鏈路到達交換機2時,在數據幀上附加了表示屬于紅色VLAN的標記。
????交換機2收到數據幀后,經過檢查VLAN標識發現這個數據幀是屬于紅色VLAN的,因此去除標記后根據需要將復原的數據幀只轉發給其他屬于紅色VLAN的,因此去除標記后根據需要將原復原的數據幀只轉發給其他屬于紅色VLAN的端口。這時的轉送,是指經過確認目標MAC地址并與MAC地址列表比對后只轉發給目標MAC地址所連的端口。只有當數據幀是一個廣播幀、多播幀或者目標不明的幀時,它才會被轉發到所有屬于紅色VLAN的端口。
????藍色VLAN發送數據幀時的情形也與此相同。
????通過匯聚鏈路時附加的VLAN識別信息,有可能支持標準的“IEEE 802.1Q”協議,也可能是Cisco產品獨有的“ISL(Inter Switch Link)”。如果交換機支持這些規格,那么用戶就能夠高效率地構筑橫跨多臺交換機的VLAN。
????另外,匯聚鏈路上流通著多個VLAN的數據,自然負載較重。因此,在設定匯聚鏈接時,有一個前提就是必須支持100Mbps以上的傳輸速度。
????另外,默認條件下,匯聚鏈接會轉發交換機上存在的所有VLAN的數據。換一個角度看,可以認為匯聚鏈接(端口)同時屬于交換機上所有的VLAN。由于實際應用中很可能并不需要轉發所有VLAN的數據,因此為了減輕交換機的負載、也為了減少對帶寬的浪費,我們關于IEEE 802.1Q和ISL的具體內容,將在下一講中提到。
IEEE802.1Q與ISL
????匯聚方式
????在交換機的匯聚鏈接上,可以通過對數據幀附加VLAN信息,構建跨越多臺交換機的VLAN。附加VLAN信息的方法,最具代表性的有:
????·IEEE802.1Q
????·ISL
????
????現在就讓我們看看這種協議分別如何對數據幀附加VLAN信息。
????IEEE802.1Q
????IEEE802.1Q,俗稱“Dot One Q”,是經過IEEE認證的對數據幀附加VLAN識別信息的協議。在此,請大家回憶一下以太網數據幀的標準格式。
????IEEE802.1Q所附加的VLAN識別信息,位于數據幀中“發送源MAC地址”與“類別域(Type Field)”之間。具體內容為2字節的TPID和2字節的TCI,共計4字節。
????在數據幀中添加了4字節的內容,那么CRC值自然也會有所變化。這時數據幀上的CRC是插入TPID、TCI后,對包括它們在內的整個數據幀重新計算后所得的值。
????而當數據幀離開匯聚鏈路時,TPID和TCI會被去除,這時還會進行一次CRC的重新計算。TPID的值,固定為0x8100。交換機通過TPID,來確定數據幀內附加了基于IEEE802.1Q的VLAN信息。而實質上的VLAN ID,是TCI中的12位元。由于總共有12位,因此最多可供識別4096個VLAN。
????基于IEEE 802.1Q附加的VLAN信息,就像在傳遞物品時附加的標簽。因此,它也被稱作“標簽型VLAN(Tagging VLAN)”
????ISL(Intel Switch Link)
????ISL,是Cisco產品支持的一種與IEEE802.1Q類似的、用于在匯聚鏈路上附加VLAN信息的協議。
????使用ISL后,每個數據幀頭部都會被附加26自己的“ISL包頭(ISL Header)”,并且在幀尾帶上通過對包括ISL包頭在內的整個數據幀進行計算后得到的4自己CRC值。換而言之,就是總共增加了30字節的信息。
????在使用ISL的環境下,當數據幀離開匯聚鏈路時,只要簡單地去除ISL包頭和新CRC就可以了。由于原先的數據幀及其CRC都被完整保留,因此無需重新計算CRC。
????ISL有如用ISL包頭和新CRC將原數據幀整個包裹起來,因此也被稱為“封裝型 VLAN(Encapsulated VLAN)”。
????需要注意的是,不論是IEEE 802.1Q的“Tagging VLAN”,還是ISL的“Encapsulated VLAN”,都不是很嚴密的稱謂。不同的書籍和參考資料中,上述詞語有可能被混合使用,因此需要大家在學習時格外注意。
????并且由于ISL是Cisco獨有的協議,因此只能用于Cisco網絡設備之間的互聯。
VLAN間路由1
VLAN間路由的必要性
????根據目前為止學習的知識,我們已經知道兩臺計算機即使連接在同一臺交換機上,只要所屬的VLAN不同就無法直接通信。接下來我們將要學習的就是如何在不同的VLAN間進行路由,使分屬不同VLAN的主機能夠互相通信。
????首先,先來復習一下為什么不同VLAN間不通過路由就無法通信。在LAN內的通信,必須在數據幀頭中指定通信目標的MAC地址。而為了獲取MAC地址,TCP/IP協議下使用的是ARP。ARP解析MAC地址的方法,則是通過廣播。也就是說,如果廣播報文無法到達,那么就無從解析MAC地址,亦即無法直接通信。
????計算機分屬不同的VLAN,也就意味著分屬不同的廣播域,自然收不到彼此的廣播報文。因此,屬于不同VLAN的計算機之間無法直接互相通信。為了能夠在VLAN間通信,需要利用OSI參照模型中更高一層——網絡層的信息(IP地址)來進行路由。關于路由的具體內容,以后有機會再詳細解釋說吧。
????路由功能,一般主要由路由器提供。但在今天的局域網里,我們也經常利用帶有路由功能的交換機——三層交換機(Layer 3 Switch)來實現。接下來就讓我們分別看看使用路由器和三層交換機進行VLAN間路由時的情況。
使用路由器進行VLAN間路由
????在使用路由器進行VLAN間路由時,與構建橫跨多臺交換機的VLAN時的情況類似,我們還是會遇到“該如何連接路由器與交換機”這個問題。路由器和交換機的接線方式,大致有以下兩種:
????·將路由器與交換機上的每個VLAN分別連接
????·不論VLAN有多少個,路由器與交換機都只用一條網線連接
????最容易想到的,當然還是“把路由器和交換機以VLAN為單位分別用網線連接”了。將交換機上用于和路由器互聯的每個端口設為訪問鏈接,然后分別用網線與路由器上的獨立端口互聯。如下圖所示,交換機上有2個VLAN,那么就需要在交換機上預留2個端口用于與路由器互聯;路由器上同樣需要有2個端口;兩者之間用2條網線分別連接。
????如果采用這個辦法,大家不難想象它的擴展性很成問題。每增加一個新的VLAN,都需要消耗路由器的端口和交換機上的訪問鏈接,而且還需要重新布設一條網線。而路由器,通常不會帶有太多LAN接口的。新建VLAN時,為了對應的VLAN所需的端口,就必須將路由器升級成帶有多個LAN接口的高端產品,這部分成本、還有重新布線所帶來的開銷,都使得這種接線法成為一種不受歡迎的辦法。
????那么,第二種方法“不論VLAN數目多少,都只用一條網線連接路由器與交換機”呢?當使用一條網線連接路由器與交換機、進行VLAN間路由時,需要用到匯聚鏈接。
????具體實現過程為:首先將用于連接路由器的交換機端口設為匯聚鏈接,而路由器上的端口也必須支持匯聚鏈路。雙方用于匯聚鏈路的協議自然也必須相同。接著在路由器上定義各個VLAN的“子接口(Sub Interface)”。盡管實際與交換機連接的物理端口只有一個,但在理論上我們可以把它分割為多個虛擬端口。
????VLAN將交換機從邏輯上分割成了多臺,因而用于VLAN間路由的路由器,也必須擁有分別對應各個VLANd 虛擬接口。
轉載于:https://blog.51cto.com/rainy0426/2060729
總結
以上是生活随笔為你收集整理的网络规划设计师 视频笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转载】游戏场景设计、构图的一些基本思考
- 下一篇: 尚医通(二十四)微信退款(取消预约功能)