路由追蹤/詳解路由與交換

出自 Tw.18dao.net
前往: 導覽搜尋


  路由和交換是網路世界中兩個重要的概念。傳統的交換發生在網路的第二層,即資料連結層,而路由則發生在第三層,網路層。在新的網路中,路由的智慧和交換的性能被有機的結合起來,三層交換機和多層交換機在園區網路中大量使用。

  

  網路層次結構

  

  網路參考模型的定義給出了清晰的功能層次劃分。最常被提及的是ISO OSI參考模型和TCP/IP協定簇。

  

  國際標準化組織定義的OSI參考模型將電腦網路按功能劃分為七個層次,這就是我們常說的七層模型或七層結構。網路功能分層的直接好處是這些層次可以各司其職,由不同廠家開發的不同層次的軟硬體設備可以配合使用。一個層次的設備更新或軟體重寫也不會影響到其他層次。TCP/IP協定體系中的各個層次和ISO的參考模型有大致的對應關係。

  

  OSI中間一層,即第四層執行傳輸功能,它負責提供從一台電腦到另外一台電腦之間的可靠資料傳輸。傳輸層(Transport Layer)是承上啟下的一層,在它的下面有三層,都是與資料傳輸相關的功能;上面也有三層,提供與網路應用相關的功能。

  

  OSI下三層中。物理層(Physical Layer)負責實際的傳送資料信號,資料連結層(Data Link Layer)負責網路內部的幀傳輸,而網路層(Network Layer)負責網路間的電腦定址和資料傳輸。

  

  OSI上三層中。應用層(Application Layer)是最高的層次,它負責提供用戶操作的介面,網際網路中常用的電子郵件服務,檔傳輸服務等都是這一層提供的。表示層(Presentation Layer)負責資料的表示,比如發送資料之前的加密,接收資料時的解密,中英文的翻譯等等都是這一層提供的功能。會話層(Session Layer)負責建立和終止網路的資料傳輸,電腦名字轉換成位址的工作也在這層完成。

  

  傳統意義上的交換是第二層的概念。資料連結層的功能是在網路內部傳輸幀。所謂"網路內部"是指這一層的傳輸不涉及網間的設備和網間定址。通俗的理解,一個乙太網內的傳輸,一條廣域網專線上的傳輸都由資料連結層負責。所謂"幀"是指所傳輸的資料的結構,通常幀有幀頭和幀尾,頭中有源目二層位址,而幀尾中通常包含校驗資訊,頭尾之間的內容即是用戶的資料。

  

  資料連結層涵蓋的功能很多,所以又將它劃分為兩個子層, MAC(Media Access Control,介質訪問控制)層和LLC(Logical Link Control,邏輯鏈路控制)層。常見的局域網和城域網的二層標準是IEEE的802協定。而在廣域網中,HDLC(High-level Data Link Control,高級鏈路控制)、PPP(Point-to-Point Protocol,點對點協議)和Frame Relay(幀中繼)等協定都有廣泛的使用。

  

  路由是第三層的概念。網路層在Internet中是最重要的,它的功能是端到端的傳輸,這裏端到端的含義是無論兩台電腦相距多遠,中間相隔多少個網路,這一層保障它們可以互相通信。例如我們常用的PING命令就是一個網路層的命令,PING通了,就是指網路層的功能正常了。通常,網路層不保障通訊的可靠性,也就是說,雖然正常情況下資料可以到達目的地,但即便出現異常,網路層也不作任何更正和恢復的工作。

  

  網路層常用的協定有IP、IPX、APPLETALK等等,其中IP協議更是Internet的基石。在TCP/IP協議體系中,第三層的其他輔助協議還包括ARP(位址解析)、RARP(反向位址解析)、ICMP(網際報文控制)和IGMP(組管理協議)等等。由於網路互連設備都具有路徑選擇功能,所以我們經常將 RIP、OSPF等路選協議也放在這一層討論。

  

  交換

  

  談到交換的問題,從廣義上講,任何資料的轉發都可以稱作交換。當然,現在我們指的是狹義上的交換,僅包括資料連結層的轉發。做網路的人理解交換大多是從交換機開始的,電路交換機在通信網中已經使用了幾十年了,做幀交換的設備,尤其是乙太網交換機的大規模使用則是近幾年的事情。

  

  理解乙太網交換機的作用還要從網橋的原理講起。傳統乙太網是共用型的,如果網段上有四台電腦A、B 、C和D,那麼A與B通信的同時,C和D只能是被動的收聽。假如將纜段分開(即微化),A、B在一段上,C、D在另一段上,那麼A和B通信的同時,C和D也可以通信,這樣原有10M的帶寬從理論上講就變成20M了。同時,為了確保這兩個網段可以互相通信,需要用橋將它們連接起來,橋是有兩塊網卡的電腦。

  

  在整個網路剛剛啟動時,橋對網路的拓樸一無所知。這時,假設A發送資料給B,因為網路是廣播式的,所以橋也收到了,但橋不知到B在自己的左邊還是右邊,它就進行缺省的轉發,即在另外一塊網卡上發送這個資訊。雖然做了一次無用的轉發,但通過這個過程,橋學習到資料的發送者A在自己的左邊。當網路上的每一台電腦都發送過資料之後,橋就是智慧的了,它瞭解每一台電腦在哪一個網段上。當A再發送資料給B時,橋就不進行資料轉發了,與此同時,C可以發送資料給D。

  

  從上面的例子可以看出,橋可以減少網路衝突發生的幾率,這就是我們使用橋的主要目的,稱作減小衝突域。但橋並不能阻止廣播,廣播資訊的隔絕要靠三層的連接設備,路由器。

  

  按照纜段微化的思想,纜段越多,可用帶寬就越高。極限情況是每一台電腦處在一個獨立的纜段上,如果網路上有十台電腦,就需要一個十埠的橋將它們連接起來。但實現這樣一個橋不太現實,軟體轉發的速度也跟不上,於是有了交換機,交換機就是將上述多埠的橋硬體或固件化,以達到更低的成本和更高的性能。

  

  交換機的一個重要的功能是避免交換迴圈,這就涉及到了STP(Spanning Tree Protocol,分支樹協定)。分支樹協定的功能是避免資料幀在交換機構成的網路中迴圈傳送。如下圖所示,如果網路中有冗余鏈路的話,STP協議現選出根交換機(Route Bridge),然後確定每一台非根交換機到根交換機之間的路徑,最後,將此路徑上的所有鏈路置成轉發(Forward)狀態,其餘的交換機之間的連接就是冗余鏈路,置為阻塞(Block)狀態。

  

  交換機的另外一個重要功能是VLAN(Virtual LAN,虛擬局域網)。VLAN的好處主要有三個:

  

  埠的分隔。即便在同一個交換機上,處於不同VLAN的埠也是不能通信的。這樣一個物理的交換機可以當作多個邏輯的交換機使用。

  

  網路的安全。不同VLAN不能直接通信,杜絕了廣播資訊的不安全性。

  

  靈活的管理。更改用戶所屬的網路不必換埠和聯線,只該軟體配置就可以了。

  

  VLAN可以按埠或MAC位址來劃分。

  

  有時,我們需要在交換機所構成的網路上保持VLAN的配置的一致性。這就需要交換機之間按照VTP(VLAN Trunk Protocol,VLAN骨幹協定)交流VLAN資訊。VTP協議只在骨幹埠(Trunk Port),即交換機之間的埠,上運行。

  

  路由器是網路間的連接設備,它重要工作之一是路徑選擇。這個功能是路由器智慧的核心,它是由管理員的配置和一系列的路由演算法實現的。

  

  路由演算法有動靜之分,靜態路由是一種特殊的路由,它是由管理員手工設定的。手工配置所有的路由雖然可以使網路正常運轉,但是也會帶來一些局限性。網路拓撲發生變化之後,靜態路由不會自動改變,必須有網路管理員的介入。缺省路由是靜態路由的一種,也是由管理員設置的。在沒有找到目標網路的路由表項時,路由器將資訊發送到缺省路由器(gateway of last resort)。而動態的演算法,顧名思義,是由路由器自動計算出的路由,常說的RIP、OSPF等等都是動態演算法的典型代表。

  

  另外還可以將路由演算法分為DV和LS兩種。DV(Distance,距離向量)演算法將當前路由器的路由資訊傳送給相鄰路由器,相鄰路由器將這些資訊加入自身的路由表。而LS(Link State,鏈路狀態)演算法將鏈路狀態資訊傳給域內所有的路由器,接收路由器利用這些資訊構建網路拓撲圖,並利用圖論中的最短路徑優先演算法決定路由。相比之下,距離向量演算法比較簡單,而鏈路狀態演算法較為複雜,佔用的CPU和記憶體也要多一些。但是由於鏈路狀態演算法採用的是自身的計算結果,所以比較不容易產生路由迴圈。RIP是DV類演算法的典型代表,而OSPF是LS的代表協議。

  

  四種最常見路由協議是RIP、IGRP、OSPF和EIGRP。

  

  RIP(Routing Information Protocols,路由資訊協定)是使用最廣泛的距離向量協定,它是由施樂(Xerox)在70年代開發的。當時,RIP是XNS(Xerox Network Service,施樂網路服務)協定簇的一部分。TCP/IP版本的RIP是施樂協議的改進版。RIP最大的特點是,無論實現原理還是配置方法,都非常簡單。RIP基於跳數計算路由,並且定期向鄰居路由器發送更新消息。

  

  IGRP是CISCO專有的協議,只在CISCO路由器中實現。它也屬於距離向量類協議,所以在很多地方與RIP有共同點,比如廣播更新等等。它和RIP最大的區別表現在度量方法、負載均衡等幾方面。IGRP支援多路徑上的加權負載均衡,這樣網路的帶寬可以得到更加合理的利用。另外,與RIP僅使用跳數作為度量依據不同,IGRP使用了多種參數,構成複合的度量值,這其中可以包含的因素有:帶寬、延遲、負載、可靠性和MTU(最大傳輸單元)等等。

  

  OSPF協議是80年代後期開發的,90年代初成為工業標準,是一種典型的鏈路狀態協定。OSPF的主要特性包括:支持VLSM(變長的子網掩嗎)、收斂迅速、帶寬佔用率低等等。OSPF協定在鄰居之間交換鏈路狀態資訊,以便路由器建立鏈路狀態資料庫(LSD),之後,路由器根據資料庫中的資訊利用SPF(Shortest Path First,最短路徑優先)演算法計算路由表,選擇路徑的主要依據是帶寬。

  

  EIGRP是IGRP的增強版,它也是CISCO專有的路由協議。EIGRP採用了擴散更新(DUAL)演算法,在某種程度上,它和距離向量演算法相似,但具有更短的收斂時間和更好的可操作性。作為對IGRP的擴展,EIGRP支持多種可路由的協定,如IP、IPX和AppleTalk等等。運行在IP環境時,EIGRP還可以與IGRP進行平滑的連接,因為它們的度量方法是一致的。

  

  以上四種路由協議都是域內路由協議,他們通常使用在自治系統的內部。當進行自治系統間的連接時,往往採用諸如BGP(Border Gateway Protocols,邊界路由協議)和EGP(External Gateway Protocols,外部路由協議)這樣的域間路由協議。目前在Internet上使用的域間路由協定是BGP第四版。

  

  收斂是路由演算法選擇時所遇到的一個重要問題。收斂時間是指從網路的拓撲結構發生變化到網路上所有的相關路由器都得知這一變化,並且相應地做出改變所需要的時間。這一時間越短,網路變化對全網的擾動就越小。收斂時間過長會導致路由迴圈的出現。

  

  在上述幾種域內路由演算法中,RIP和IGRP的收斂時間相對較長,都是分鐘數量級的;OSPF要短一些,數十秒內可以收斂;EIGRP最短,網路拓撲發生變化之後,幾秒鐘即可達到收斂狀態。

  

  全交換園區網路

  

  傳統的園區網路是路由器加交換機的結構。交換機負責網路內部的傳輸,劃分VLAN以保證二層的安全性和靈活性,路由器則完成網間的定址和資料轉發工作。

  

  通常,路由器的性能比交換機要差一些,因為路由器是基於軟體的查表轉發,而交換機可以實現硬體的直通式轉發。但在傳統的園區網路中,路由器並不會成為網路的瓶頸。因為80%的資料量是在網路內部的通訊,只有20%的資料是做遠端存取,也就是說,大多數經過交換機的資訊並不經過路由器。這就是傳統網路的80/20流量模型。

  

  近年來由於Internet/Intranet計算模式的興起,應用被集中管理,而不是象從前那樣分散在各個部門的網路中,園區網路的流量模型發生了很大的變化。大量的網路訪問是遠端的,也就是要經過路由器的。這被稱為新的20/80流量模型。因此,路由器逐漸成為網路的瓶頸。

  

  為了從技術上解決這個問題,網路廠商開發了三層交換機,也叫做路由交換機。它是傳統交換機的性能和路由器的智慧的結合。路由選擇仍由路由器完成,但路選的結果被交換機保留在自身的路由緩存中。這樣,一個資料流程中的第一個資料包經過路由器,後繼的所有資料包直接由交換機查表轉發。得益於硬體轉發,三層交換機可以做到線速路由,如下圖所示。

  

  許多廠家生產的三層交換機本身即是交換機和路由器的結合體,如Cisco的5000,5500,6500系列的交換機可以選配路由模組,實現三層功能。

  

  如此一來,園區網的內部就是交換機和三層交換機的天下了,全交換的園區網路適應新的流量模型,徹底克服了傳統網路的路由器瓶頸,極大地提高了網路的效率。同時,路由器並沒有失業,仍然被用在遠端連接、撥號訪問等場合。

  

關于“路由追蹤/詳解路由與交換”的用戶留言:

目前暫無留言

新增相關留言✍