HrbSeo.com
 
網站首頁 網站策劃 優化推廣 作品展示 費用標準   SEO知識 技術文獻 聯系方式 FAQ

 
SEO知識
技術文獻
相關文章

首頁 > 技術文獻

Cisco基礎原理

TIME:2009-4-14 10:01:33  HITS:

關鍵字:服務器  摘自:目標科技

 Cisco路由技術基礎知識詳解(1)
Cisco路由技術基礎知識詳解路由器

  最簡單的網絡可以想象成單線的總線,各個計算機可以通過向總線發送分組以互相通信。但隨著網絡中的計算機數目增長,這就很不可行了,會產 生許多問題:

    1、帶寬資源耗盡。
    2、每臺計算機都浪費許多時間處理無關的廣播數據。
    3、網絡變得無法管理,任何錯誤都可能導致整個網絡癱瘓。
    4、每臺計算機都可以監聽到其他計算機的通信。

  把網絡分段可以解決這些問題,但同時你必須提供一種機制使不同網段的計算機可以互相通信,這通常涉及到在一些ISO網絡協議層選擇性地在網段間傳送數據,我們來看一下網絡協議層和路由器的位置。

  我們可以看到,路由器位于網絡層。本文假定網絡層協議為IPv4,因為這是最流行的協議,其中涉及的概念與其他網絡層協議是類似的。

    一、路由與橋接

  路由相對于2層的橋接/交換是高層的概念,不涉及網絡的物理細節。在可路由的網絡中,每臺主機都有同樣的網絡層地址格式(如IP地址),而無論它是運行在以太網、令牌環、FDDI還是廣域網。網絡層地址通常由兩部分構成:網絡地址和主機地址。

  網橋只能連接數據鏈路層相同(或類似)的網絡,路由器則不同,它可以連接任意兩種網絡,只要主機使用的是相同的網絡層協議。

    路由器

    二、連接網絡層與數據鏈路層


  網絡層下面是數據鏈路層,為了它們可以互通,需要“粘合”協議。ARP(地址解析協議)用于把網絡層(3層)地址映射到數據鏈路層(2層)地址,RARP(反向地址解析協議)則反之。

  雖然ARP的定義與網絡層協議無關,但它通常用于解析IP地址;最常見的數據鏈路層是以太網。因此下面的ARP和RARP的例子基于IP和以太網,但要注意這些概念對其他協議也是一樣的。

    1、地址解析協議

  網絡層地址是由網絡管理員定義的抽象映射,它不去關心下層是哪種數據鏈路層協議。然而,網絡接口只能根據2層地址來互相通信,2層地址通過ARP從3層地址得到。

  并不是發送每個數據包都需要進行ARP請求,回應被緩存在本地的ARP表中,這樣就減少了網絡中的ARP包。ARP的維護比較容易,是一個比較簡單的協議。

    2、簡介

  如果接口A想給接口B發送數據,并且A只知道B的IP地址,它必須首先查找B的物理地址,它發送一個含有B的IP地址的ARP廣播請求B的物理地址,接口B收到該廣播后,向A回應其物理地址。

  注意,雖然所有接口都收到了信息,但只有B回應該請求,這保證了回應的正確且避免了過期的信息。要注意的是,當A和B不在同一網段時,A只向下一跳的路由器發送ARP請求,而不是直接向B發送。 接收到ARP分組后處理,注意發送者的對被存到接收ARP請求的主機的本地ARP表中,一般A想與B通信時,B可能也需要與A通信。 

    3、IP地址沖突

  ARP產生的問題中最常見的是IP地址的沖突,這是由于兩個不同的主機IP地址相同產生的,在任何互聯的網絡中,IP地址必須是唯一的。這時會收到兩個ARP回應,分別指出了不同的硬件地址,這是嚴重的錯誤,沒有簡單的解決辦法。

  為了避免出現這類錯誤,當接口A初試化時,它發送一個含有其IP地址的ARP請求,如果沒有收到回應,A就假定該IP地址沒有被使用。我們假定接口B已經使用了該IP地址,那么B就發送一個ARP回應,A就可以知道該IP地址已被使用,它就不能再使用該IP地址,而是返回錯誤信息。這樣又產生一個問題,假設主機C含有該IP地址的映射,是映射到B的硬件地址的,它收到接口A的ARP廣播后,更新其ARP表使之指向A的硬件地址。為了解決這個錯誤,B再次發送一個ARP請求廣播,這樣主機C又更新其ARP表再次指向B的硬件地址。這時網絡的狀態又回到先前的狀態,有可能C已經向A發送了應該發送給B的IP分組,這很不幸,但是因為IP提供的是無保證的傳輸,所以不會產生大的問題。 (接下一頁)

 

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

 


 Cisco路由技術基礎知識詳解(2)
4、管理ARP緩存表

  ARP緩存表是對的列表,根據IP地址索引。該表可以用命令arp來管理,其語法包括:

    向表中添加靜態表項 -- arp -s

    從表中刪除表項 -- arp -d

    顯示表項 -- arp -a

  ARP表中的動態表項(沒有手動加入的表項)通常過一段時間自動刪除,這段時間的長度由特定的TCP/IP實現決定。

    5、靜態ARP地址的使用

  靜態ARP地址的典型使用是設置獨立的打印服務器,這些設備通常通過telnet來配置,但首先它們需要一個IP地址。沒有明顯的方法來把此信息告訴該設備,好象只能使用其串口來設置。但是,這需要找一個合適的終端和串行電纜,設置波特率、奇偶校驗等,很不方便。

  假設我們想給一個打印服務器設置IP地址P-IP,并且我們知道其硬件地址P-hard,在工作站A上創建一個靜態ARP表項把P-IP映射到P-hard,這樣,雖然打印服務器不知道自己的IP地址,但是所有指向P-IP的數據就將被送到P-hard。我們現在就可以telnet到P-IP并配置其IP地址了,然后再刪除該靜態ARP表項。

  有時會在一個子網里配置打印服務器,而在另一個子網里使用它,方法與上面類似。假設其IP地址為P-IP,我們分配一個本網的臨時IP地址T-IP給它,在工作站A上創建臨時ARP表項把T-IP映射到P-hard,然后telnet到T-IP,給打印服務器配以IP地址P-IP。接下來就可以把它放到另一個子網里使用了,別忘了刪除靜態ARP表項。

    6、代理ARP

  可以通過使用代理ARP來避免在每臺主機上配置路由表,在使用子網時這特別有用,但注意,不是所有的主機都能理解子網的。基本的思想是即使對于不在本子網的主機也發送ARP請求,ARP代理服務器(通常是網關)回應以網關的硬件地址。

  代理ARP簡化了主機的管理,但是增加了網絡的通信量(不是很明顯),并且可能需要較大的ARP緩存,每個不在本網的IP地址都被創建一個表項,都映射到網關的硬件地址。在使用代理ARP的主機看來,世界就象一個大的沒有路由器物理網絡。

    路由器

    三、IP地址

  在可路由的網絡層協議中,協議地址必須含有兩部分信息:網絡地址和主機地址。存貯這種信息最明顯的方法是用兩個分離的域,這樣我們必須考慮到兩個域的最大長度,有些協議(如IPX)就是這樣的,它在小型和中型的網絡里可以工作的很好。

  另一種方案是減少主機地址域的長度,如24位網絡地址、8位主機地址,這樣就有了較多的網段,但每個網段內的主機數目很少。這樣一來,對于多于256個主機的網絡,就必須分配多個網段,其問題是很多的網絡給路由器造成了難以忍受的負擔。

  IP把網絡地址和主機地址一起包裝在一個32位的域里,有時主機地址部分很短,有時很長,這樣可以有效利用地址空間,減少IP地址的長度,并且網絡數目不算多。有兩種將主機地址分離出來的方法:基于類的地址和無類別的地址。

    1、主機和網關

  主機和網關的區別常產生混淆,這是由于主機意義的轉變。在RFC中(1122/3和1009)中定義為:

    主機是連接到一個或多個網絡的設備,它可以向任何一個網絡發送和從其接收數據,但它從不把數據從一個網絡傳向另一個。

    網關是連接到多于一個網絡的設備,它選擇性的把數據從一個網絡轉發到其它網絡。

  換句話說,過去主機和網關的概念被人工地區分開來,那時計算機沒有足夠的能力同時用作主機和網關。主機是用戶工作的計算機,或是文件服務器等。現代的計算機的能力足以同時擔當這兩種角色,因此,現代的主機定義應該如此:

    主機是連接到一個或多個網絡的設備,它可以向任何一個網絡發送和從其接收數據。它也可以作為網關,但這不是其唯一的目的。

  路由器是專用的網關,其硬件經過特殊的設計使其能以極小的延遲轉發大量的數據。然而,網關也可以是有多個網卡的標準的計算機,其操作系統的網絡層有能力轉發數據。由于專用的路由硬件較便宜,計算機用作網關已經很少見了,在只有一個撥號連接的小站點里,還可能使用計算機作為非專用的網關。 (接下一頁)

 

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

 


 Cisco路由技術基礎知識詳解(3)
2、基于類的地址

  最初設計IP時,地址根據第一個字節被分成幾類:

    0: 保留
    1-126: A類(網絡地址:1字節,主機地址:3字節)
    127: 保留
    128-191: B類(網絡地址:2字節,主機地址:2字節)
    192-223: C類(網絡地址:3字節,主機地址:1字節)
    224-255: 保留

    3、子網劃分

  雖然基于類的地址系統對因特網服務提供商來說工作得很好,但它不能在一個網絡內部做任何路由,其目的是使用第二層(橋接/交換)來導引網絡中的數據。在大型的A類網絡中,這就成了個特殊的問題,因為在大型網絡中僅使用橋接/交換使其非常難以管理。在邏輯上其解決辦法是把大網絡分割成若干小的網絡,但在基于類的地址系統中這是不可能的。為了解決這個問題,出現了一個新的域:子網掩碼。子網掩碼指出地址中哪些部分是網絡地址,哪些是主機地址。在子網掩碼中,二進制1表示網絡地址位,二進制0表示主機地址位。傳統的各類地址的子網掩碼為:

    A類:255.0.0.0

    B類:255.255.0.0

    C類:255.255.255.0

  如果想把一個B類網絡的地址用作C類大小的地址,可以使用掩碼255.255.255.0。

  用較長的子網掩碼把一個網絡分成多個網絡就叫做劃分子網。要注意的是,一些舊軟件不支持子網,因為它們不理解子網掩碼。例如UNIX的routed路由守護進程通常使用的路由協議是版本1的RIP,它是在子網掩碼出現前設計的。

  上面只介紹了三種子網掩碼:255.0.0.0、255.255.0.0和255.255.255.0,它們是字節對齊的子網掩碼。但是也可以在字節中間對其進行劃分,這里不進行詳細講解,請參照相關的TCP/IP書籍。

  子網使我們可以擁有新的規模的網絡,包括很小的用于點到點連接的網絡(如掩碼255.255.255.252,30位的網絡地址,2位的主機地址:兩個主機的子網),或中型網絡(如掩碼255.255.240.0,20位網絡地址,12位主機地址:4094個主機的子網)。

  注意DNS被設計為只允許字節對齊的IP網絡(在in-addr.arpa.域中)。

    4、超網(supernetting)

  超網是與子網類似的概念--IP地址根據子網掩碼被分為獨立的網絡地址和主機地址。但是,與子網把大網絡分成若干小網絡相反,它是把一些小網絡組合成一個大網絡--超網。

  假設現在有16個C類網絡,從201.66.32.0到201.66.47.0,它們可以用子網掩碼255.255.240.0統一表示為網絡201.66.32.0。但是,并不是任意的地址組都可以這樣做,例如16個C類網絡201.66.71.0到201.66.86.0就不能形成一個統一的網絡。不過這其實沒關系,只要策略得當,總能找到合適的一組地址的。

    5、可變長子網掩碼(VLSM)

  如果你想把你的網絡分成多個不同大小的子網,可以使用可變長子網掩碼,每個子網可以使用不同長度的子網掩碼。例如:如果你按部門劃分網絡,一些網絡的掩碼可以為255.255.255.0(多數部門),其它的可為255.255.252.0(較大的部門)。

    6、無類別地址(CIDR)

  因特網上的主機數量增長超出了原先的設想,雖然還遠沒達到232,但地址已經出現匱乏。1993年發表的RFC1519--無類別域間路由CIDR(Classless Inter-Domain Routing)--是一個嘗試解決此問題的方法。CIDR試圖延長IPv4的壽命,與128位地址的IPv6不同,它并不能最終解決地址空間的耗盡,但IPv6的實現是個龐大的任務,因特網目前還沒有做好準備。CIDR給了我們緩沖的準備時間。

  基于類的地址系統工作的不錯,它在有效的地址使用和少量的網絡數目間做出了較好的折衷。但是隨著因特網意想不到的成長出現了兩個主要的問題:

    已分配的網絡數目的增長使路由表大得難以管理,相當程度上降低了路由器的處理速度。

    僵化的地址分配方案使很多地址被浪費,尤其是B類地址十分匱乏。

  為了解決第二個問題,可以分配多個較小的網絡,例如,用多個C類網絡而不是一個B類網絡。雖然這樣能夠很有效地分配地址,但是更加劇了路由表的膨脹(第一個問題)。

  在CIDR中,地址根據網絡拓撲來分配。連續的一組網絡地址可以被分配給一個服務提供商,使整組地址作為一個網絡地址(很可能使用超網技術)。例如:一個服務提供商被分配以256個C類地址,從213.79.0.0到213.79.255.0,服務提供商給每個用戶分配一個C類地址,但服務提供商外部的路由表只通過一個表項--掩碼為255.255.0.0的網絡213.79.0.0--來分辨這些路由。

  這種方法明顯減少了路由表的增長,CIDR RFC的作者估計,如果90%的服務提供商使用了CIDR,路由表將以每3年54%的速度增長,而如果沒有使用CIDR,則增長速度為776%。如果可以重新組織現有的地址,則因特網骨干上的路由器廣播的路由數量將大大減少。但這實際是不可行的,因為將帶來巨大的管理負擔。(接下一頁)

 

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

 

 Cisco路由技術基礎知識詳解(4)
四、路由

    1、路由表

  如果一個主機有多個網絡接口,當向一個特定的IP地址發送分組時,它怎樣決定使用哪個接口呢?答案就在路由表中。來看下面的例子:

目的 子網掩碼 網關 標志 接口
201.66.37.0 255.255.255.0 201.66.37.74 U eth0
201.66.39.0 255.255.255.0 201.66.39.21 U eth1

  主機將所有目的地為網絡201.66.37.0內主機(201.66.37.1-201.66.37.254)的數據通過接口eth0(IP地址為201.66.37.74)發送,所有目的地為網絡201.66.39.0內主機的數據通過接口eth1(IP地址為201.66.39.21)發送。標志U表示該路由狀態為“up”(即激活狀態)。對于直接連接的網絡,一些軟件并不象上例中一樣給出接口的IP地址,而只列出接口。

  此例只涉及了直接連接的主機,那么目的主機在遠程網絡中如何呢?如果你通過IP地址為201.66.37.254的網關連接到網絡73.0.0.0,那么你可以在路由表中增加這樣一項:  

目的
掩碼
網關
標志
接口

73.0.0.0
255.0.0.0
201.66.37.254
UG
eth0

  此項告訴主機所有目的地為網絡73.0.0.0內主機的分組通過201.66.37.254路由過去。標志G(gateway)表示此項把分組導向外部網關。類似的,也可以定義通過網關到達特定主機的路由,增加標志H(host): 

目的 掩碼 網關 標志 接口
91.32.74.21 255.255.255.255 201.66.37.254 UGH eth0

  下面是路由表的基礎,除了特殊表項之外:

目的 掩碼 網關 標志 接口
127.0.0.1 255.255.255.255 127.0.0.1 UH lo0
default 0.0.0.0 201.66.37.254 UG eth1

 第一項是loopback接口,用于主機給自己發送數據,通常用于測試和運行于IP之上但需要本地通信的應用。這是到特定地址127.0.0.1的主機路由(接口lo0是IP協議棧內部的“假”網卡)。第二項十分有意思,為了防止在主機上定義到因特網上每一個可能到達網絡的路由,可以定義一個缺省路由,如果在路由表中沒有與目的地址相匹配的項,該分組就被送到缺省網關。多數主機簡單地通過一個網卡連接到網絡,因此只有通過一個路由器到其它網絡,這樣在路由表中只有三項:loopback項、本地子網項和缺省項(指向路由器)。

    2、重疊路由


  假設在路由表中有下列重疊項: 

目的 掩碼 網關 標志 接口
1.2.3.4 255.255.255.255 201.66.37.253 UGH eth0
1.2.3.0 255.255.255.0 201.66.37.254 UG eth0
1.2.0.0 255.255.0.0 201.66.37.253 UG eth1
default 0.0.0.0 201.66.39.254 UG eth1

   之所以說這些路由重疊是因為這四個路由都含有地址1.2.3.4,如果向1.2.3.4發送數據,會選擇哪條路由呢?在這種情況下,會選擇第一條路由,通過網關201.66.37.253。原則是選擇具有最長(最精確)的子網掩碼。類似的,發往1.2.3.5的數據選擇第二條路由。

  注意:這條原則只適用于間接路由(通過網關)。把兩個接口定義在同一子網在很多軟件實現上是非法的。例如下面的設置通常是非法的(不過有些軟件將嘗試在兩個接口進行負載平衡):

接口 IP地址 子網掩碼
eth0 201.66.37.1 255.255.255.0
eth1 201.66.37.2 255.255.255.0

  對于重疊路由的策略是十分有用的,它允許缺省路由作為目的為0.0.0.0、子網掩碼為0.0.0.0的路由進行工作,而不需要作為路由軟件的一個特殊情況來實現。

  回頭來看看CIDR,仍使用上面的例子:一個服務提供商被賦予256個C類網絡,從213.79.0.0到213.79.255.0。該服務提供商外部的路由表只以一個表項就了解了所有這些路由:213.79.0.0,子網掩碼為255.255.0.0。假設一個用戶移到了另一個服務提供商,他擁有網絡地址213.79.61.0,現在他是否必須從新的服務提供商處取得新的網絡地址呢?如果是,意味著他必須重新配置每臺主機的IP地址,改變DNS設置,等等。幸運的是,解決辦法很簡單,原來的服務提供商保持路由213.79.0.0(子網掩碼為255.255.0.0),新的服務提供商則廣播路由213.79.61.0(子網掩碼為255.255.255.0),因為新路由的子網掩碼較長,它將覆蓋原來的路由。

    3、靜態路由

    回頭看看我們已建立的路由表,已有了六個表項:

目的 掩碼 網關 標志 接口
127.0.0.1 255.255.255.255 127.0.0.1 UH lo0
201.66.37.0 255.255.255.0 201.66.37.74 U eth0
201.66.39.0 255.255.255.0 201.66.39.21 U eth1
default 0.0.0.0 201.66.39.254 UG eth1
73.0.0.0 255.0.0.0 201.66.37.254 UG eth0
91.32.74.21 255.255.255.255 201.66.37.254 UGH eth0

  這些表項分別是怎么得到的呢?第一個是當路由表初始化時由路由軟件加入的,第二、三個是當網卡綁定IP地址時自動創建的,其余三個必須手動加入,在UNIX系統中,這是通過命令route來做的,可以由用戶手工執行,也可以通過rc腳本在啟動時執行。上述方法涉及的是靜態路由,通常在啟動時創建,并且沒有手工干預的話將不再改變。

    路由器

    四、路由

    4、路由協議

  主機和網關都可以使用稱作動態路由的技術,這使路由表可以動態改變。動態路由需要路由協議來增加和刪除路由表項,路由表還是和靜態路由一樣地工作,只是其增添和刪除是自動的。

  有兩種路由協議:內部的和外部的。內部協議在自制系統(AS)內部路由,而外部協議則在自制系統間路由。自制系統通常在統一的控制管理之下,例如大的公司或大學。小的站點常常是其因特網服務提供商自制系統的一部分。

  這里只討論內部協議,很少有人涉及到甚至聽說外部協議。最常見的外部協議是外部網關協議EGP(External Gateway Protocol)和邊緣網關協議BGP(Border Gateway Protocol),BGP是較新的協議,在逐漸地取代EGP。

    5、ICMP重定向

  ICMP通常不被看作路由協議,但是ICMP重定向卻與路由協議的工作方式很類似,所以將在這里討論一下。假設現在有上面所給的六個表項的路由表,分組被送往201.66.43.33,看看路由表,除了缺省路由外,這并不能匹配任何路由。靜態路由將其通過路由器201.66.39.254發送(trip 1),但是,該路由器知道所有發向子網201.66.43.0的分組應該通過201.66.39.253,因此,它把分組轉發到適當的路由器(trip 2)。但是如果主機直接把分組發到201.66.39.253就會提高效率(trip 3)。

    因為路由器把分組從同一接口發回了分組,所以它知道有更好的路由,路由器可以通過ICMP重定向指示主機使用新的路由。雖然路由器知道所有發向201.66.43.0子網的分組應該通過201.66.39.253,它通常只發送特定的主機的ICMP重定向(此例中是201.66.43.33)。主機將在路由表中創建一個新的表項: 
目的 掩碼 網關 標志 接口
201.66.43.33 255.255.255.255 201.66.39.253 UGHD eth1

  注意標志D,對所有由ICMP重定向創建的路由設置此標志。將來此類分組將通過新路由發送(trip 3)。

    6、RIP

  RIP是一種簡單的內部路由協議,已經存在很久,被廣泛地實現(UNIX的routed就使用RIP)。它使用距離向量算法,所以其路由選擇只是基于兩點間的“跳(hop)”數,穿過一個路由器認為是一跳。主機和網關都可以運行RIP,但是主機只是接收信息,而并不發送。路由信息可以從指定網關請求,但通常是每隔30秒廣播一次以保持正確性。RIP使用UDP通過端口520在主機和網關間通信。網關間傳送的信息用于建立路由表,由RIP選定的路由總是具有距離目的跳數最少的。RIP版本1在簡單、較小的網絡中工作得不錯,但是在較大的網絡中,就出現一些問題,有些問題在RIP版本2中已糾正,但有些是由于其設計產生的限制。在下面的討論中,適用于兩種版本時簡單稱為RIP,RIP v1和RIP v2則指特定的版本。

  RIP并沒有任何鏈接質量的概念,所有的鏈路都被認為是相同的,低速的串行鏈路被認為與高速的光纖鏈路是同樣的。RIP以最小的跳數來選擇路由,因此當在下面兩個路由中選擇時:

    100Mbps的光纖鏈路,路由器,然后是10Mbps的以太網

    9600bps的串行鏈路

  RIP將選擇后者。RIP也沒有鏈路流量等級的概念。例如對于兩條以太網鏈路,其中一個很繁忙,另一個根本沒有數據流,RIP可能會選擇繁忙的那條鏈路。

  RIP中的最大hop數是15,大于15則認為不可到達。因此在很大的自制系統中,hop數很可能超過15,使用RIP是很不現實的。RIP v1不支持子網,交換的信息中不含子網掩碼,對給定路由確定子網掩碼的方法各不相同,RIP v2則彌補了此缺點。RIP每隔30秒才進行信息更新,因此在大網中斷鏈信息可能要花些時間才能傳播開來,路由信息的穩定時間可能更長,并且在這段時間內可能產生路由環路。對此有一些解決辦法,但這里不進行討論。

  可以看出,RIP是一個簡單的路由協議,有一些限制,尤其在版本1中。不過,它常常是某些操作系統的唯一選擇。(完)


哈爾濱目標科技開發有限公司 • 版權所有 CopyRight 2009-2012

QQ:36268333

哈爾濱網站建設熱線:13945093721 0451-88002799

mgcc电子游艺城