計算機網絡理論與實踐 課件 第3-5章 數(shù)據(jù)鏈路層、網絡層、運輸層_第1頁
計算機網絡理論與實踐 課件 第3-5章 數(shù)據(jù)鏈路層、網絡層、運輸層_第2頁
計算機網絡理論與實踐 課件 第3-5章 數(shù)據(jù)鏈路層、網絡層、運輸層_第3頁
計算機網絡理論與實踐 課件 第3-5章 數(shù)據(jù)鏈路層、網絡層、運輸層_第4頁
計算機網絡理論與實踐 課件 第3-5章 數(shù)據(jù)鏈路層、網絡層、運輸層_第5頁
已閱讀5頁,還剩277頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第3章數(shù)據(jù)鏈路層3.1數(shù)據(jù)鏈路層的基本功能3.2介質訪問控制3.3傳統(tǒng)以太網3.4對等協(xié)議(PPP)3.5網橋技術與以太網交換機3.6實驗在TCP/IP網絡體系結構中,數(shù)據(jù)鏈路層的基本功能就是把網絡層交下來的IP數(shù)據(jù)報封裝成幀,發(fā)送到物理鏈路上,也就是將源計算機網絡層來的數(shù)據(jù)可靠地傳輸?shù)较噜徆?jié)點的目標計算機的網絡層,如圖3-1所示。3.1數(shù)據(jù)鏈路層的基本功能圖3-1數(shù)據(jù)鏈路層的基本功能國際標準化組織(ISO)定義的數(shù)據(jù)鏈路層協(xié)議基本功能1.幀的封裝與定界數(shù)據(jù)鏈路層是將數(shù)據(jù)組合成數(shù)據(jù)塊來實現(xiàn)數(shù)據(jù)通信的,在數(shù)據(jù)鏈路層中將這種數(shù)據(jù)塊稱為幀,幀是數(shù)據(jù)鏈路層的傳送單位。幀的封裝與定界的主要任務是定義幀的首部和尾部標識,正確識別幀的起始和結束。有時也稱為“幀同步”或“成幀”。2.透明傳輸透明傳輸是指不管鏈路上傳輸?shù)氖呛畏N形式的比特組合,都能夠被正確識別,不會影響數(shù)據(jù)傳輸?shù)恼_M行。當所傳數(shù)據(jù)中的比特組合恰巧與幀首部和尾部標識等控制信息一樣時,可采用字節(jié)填充法,插入一個轉義字符來解決。

3.鏈路管理數(shù)據(jù)鏈路層的“鏈路管理”功能包括數(shù)據(jù)鏈路的建立、鏈路的維持和鏈路的釋放三個主要方面。當網絡中的兩個結點要進行通信時,數(shù)據(jù)的發(fā)送方必須確知接收方是否已處在準備接受的狀態(tài)。為此通信雙方必須先要交換一些必要的信息,以建立一條基本的數(shù)據(jù)鏈路。在數(shù)據(jù)通信時要維持數(shù)據(jù)鏈路,而在通信完畢時要釋放數(shù)據(jù)鏈路。4.尋址數(shù)據(jù)鏈路層的每個幀均攜帶源和目的站的物理地址。這里所說的“尋址”與下一章將要介紹的“IP地址尋址”是完全不一樣的,因為此處所尋找地址是計算機網卡的MAC地址,也稱“物理地址”或“硬件地址”,而不是IP地址。在以太網中,采用媒體訪問控制(MediaAccessControl,MAC)地址進行尋址,MAC地址被燒入每個以太網網卡中。5.差錯檢測在數(shù)據(jù)通信過程中可能會因物理鏈路性能和網絡通信環(huán)境等因素,難免會出現(xiàn)一些傳送錯誤,但為了確保數(shù)據(jù)通信的準確,又必須使得這些錯誤發(fā)生的機率盡可能低。這一功能也是在數(shù)據(jù)鏈路層實現(xiàn)的,就是它的“差錯檢測”功能6.可靠交付和流量控制在雙方的數(shù)據(jù)通信中,如何控制數(shù)據(jù)通信的流量非常重要。它既可以確保數(shù)據(jù)通信的有序進行,還可避免通信過程中出現(xiàn)因為接收方來不及接收而造成的數(shù)據(jù)丟失。這就是數(shù)據(jù)鏈路層的“流量控制”功能。確認與重傳技術用來實現(xiàn)可靠交付,流量控制則采用滑動窗口技術。目前典型的并且最常用的數(shù)據(jù)鏈路層協(xié)議是本章下面要介紹的點到點數(shù)據(jù)鏈路層協(xié)議(Point-to-PointProtocol,PPP)和以太網DIXEthernetV2規(guī)約。數(shù)據(jù)鏈路層協(xié)議應用在PPP協(xié)議和以太網時,舍棄了差錯糾正、可靠交付和流量控制等功能,因為這些功能在運輸層協(xié)議中也有定義。簡化的協(xié)議也減少了很多額外的系統(tǒng)開銷,降低了設備成本,不僅沒有影響網絡性能,反而促進了這些技術的普及應用。3.2介質訪問控制介質訪問控制是數(shù)據(jù)鏈路層的子層,通過采取一定的措施,使共享信道的節(jié)點之間通信不會發(fā)生相互干擾。常用的介質訪問控制方法有:靜態(tài)劃分信道、隨機訪問和輪詢訪問方式。3.2.1靜態(tài)劃分信道靜態(tài)劃分信道就是頻分多路復用(FrequencyDivisionMultiplexing,F(xiàn)DM)、時分多路復用(TimeDivisionMultiplexing,TDM)、波分多路復用(WavelengthDivisionMultiplexing,WDM)和碼分多路復用(CodeDivisionMultiplexing,CDM)。3.2.2隨機訪問允許所有用戶均可隨機發(fā)送信息,但如果兩個或多個用戶在同一時刻發(fā)送信息,就會在共享信道上發(fā)生沖突(或碰撞),從而導致發(fā)送信息的操作失敗。這就要采用解決沖突的網絡協(xié)議。3.2.3輪詢訪問在輪詢方式中,用戶不能隨機發(fā)送信息,而要通過一個集中控制的監(jiān)控站,以循環(huán)方式輪詢每個節(jié)點來決定信道的分配。典型的輪詢訪問介質控制協(xié)議是令牌傳遞協(xié)議,主要用于令牌環(huán)局域網。這種方式既不能實現(xiàn)時間共享也不能實現(xiàn)空間共享,目前在局域網數(shù)據(jù)鏈路層很少再被采用。3.3傳統(tǒng)以太網DIXEthernetV2是世界上第一個局域網產品(以太網)的規(guī)約。此外還有IEEE的802.3標準也是一種以太網標準,但DIXEthernetV2標準與IEEE的802.3標準只有很小的差別,因此可以將802.3局域網簡稱為“以太網”。3.3.1

CSMA/CD協(xié)議

以太網采用具有沖突檢測的載波監(jiān)聽多路訪問(CarrierSenseMultipleAccesswithCollisionDetect,CSMA/CD)??梢愿爬橄嚷牶蟀l(fā)、邊聽邊發(fā)、沖突停止、延時重發(fā)。(1)“多路訪問”表示許多計算機以多點接入的方式連接在一根總線上。(2)“載波監(jiān)聽”是指每一個站在發(fā)送數(shù)據(jù)之前先要檢測一下總線上是否有其他計算機在發(fā)送數(shù)據(jù),如果有,則暫時不要發(fā)送數(shù)據(jù),以免發(fā)生碰撞?!拜d波監(jiān)聽”就是用電子技術檢測總線上有沒有其他計算機發(fā)送的數(shù)據(jù)信號。(3)“沖突檢測”就是計算機邊發(fā)送數(shù)據(jù)邊檢測信道上的信號電壓大小。(4)當幾個站同時在總線上發(fā)送數(shù)據(jù)時,總線上的信號電壓擺動值將會增大(互相疊加)。(5)當一個站檢測到的信號電壓擺動值超過一定的門限值時,就認為總線上至少有兩個站同時在發(fā)送數(shù)據(jù),表明產生了碰撞。3.3.2采用集線器的傳統(tǒng)以太網早期傳統(tǒng)的以太網屬于共享介質方式,采用CSMA/CD機制、總線式的拓撲結構,利用電纜(粗纜、細纜)作為傳輸媒介。雙絞線問世后,最先使用集線器作為互聯(lián)設備。集線器是使用電子器件來模擬實際電纜線的工作,因此整個系統(tǒng)仍然像一個傳統(tǒng)的以太網那樣運行。使用集線器的以太網在邏輯上仍是一個總線網,各工作站使用的還是CSMA/CD協(xié)議,并共享邏輯上的總線。隨著計算機網絡規(guī)模的擴大,使用集線器的以太網沖突域也增大,信道的利用率進一步降低,網絡性能將顯著下降。3.3.3以太網MAC地址以太網MAC地址是分配給每個網絡接口卡的唯一標識,在網卡出廠時已經被寫入其只讀存儲器中,也被稱為硬件地址或物理地址,不隨所連接網段的變化而變化,編址空間由IEEE管理,采用IEEE的EUI(ExtendedUniqueIdentifier)-48格式,是一個48位二進制的6字節(jié)數(shù)。(1)IEEE注冊管理委員會為每個網卡生產商分配Ethernet物理地址的前三字節(jié),即公司標識,也稱為機構唯一標識符;后面三字節(jié)由網卡的廠商自行分配。(2)在網卡生產過程中,將該地址寫入網卡的只讀存儲器(EPROM)。(3)如果網卡的物理地址是00-60-08-00-A6-38,那么不管它連接在哪個具體的局域網中,其物理地址都是不變的。(4)世界上沒有任何兩塊網卡的Ethernet物理地址是相同的。如圖3-2所示,可以在DOS窗口下用ipconfig/all命令查看當前計算機網卡的IP地址和MAC地址,也就是物理地址(PhysicalAddress),示例中網卡Intel(R)82579LMGigabit的MAC地址是F0-DE-F1-67-D6-01。圖3-2查看計算機MAC地址3.3.4以太網MAC幀格式常用的以太網MAC幀格式有兩種標準:(1)DIXEthernetV2標準。(2)IEEE的802.3標準。最常用的MAC幀是以太網V2的格式,如圖3-3所示。圖3-3以太網V2的MAC幀格式附加的前8字節(jié)是:(1)前同步碼(Preamble,Pre),7字節(jié)的1和0交替碼序列,比特同步,當物理層采用同步信道時(如SDH/SONET),不再需要前同步碼。(2)幀定界(Start-of-FrameDelimiter,SFD)。以太網的幀定界符只用于標識幀的開始,不必標識結束。(3)目的地址:即目的MAC地址DA,6字節(jié)。(4)源地址:即源MAC地址SA,6字節(jié)。(5)長度類型(Type):類型字段,上層協(xié)議類型,最常見的如0x0800指IP協(xié)議,把幀的數(shù)據(jù)部分交給IP協(xié)議棧處理。(6)數(shù)據(jù)部分:長度在46字節(jié)到1500字節(jié)之間可變的任意值序列。(7)幀校驗序列:即FCS,4字節(jié),采用CRC編碼,用于差錯校驗。FCS校驗的計算不包括同步碼、幀定界和FCS字段本身。3.4對等協(xié)議(PPP)對等協(xié)議(Point-to-PointProtocol,PPP)是因特網的正式標準[RFC1661]。它提供了將IP數(shù)據(jù)報封裝到串行鏈路的方法。3.4.1

PPP協(xié)議特點PPP協(xié)議的基本功能如下。(1)成幀。(2)錯誤檢驗。(3)鏈路管理。(4)支持多種網絡層協(xié)議。(5)因特網接入時協(xié)商IP地址。(6)身份認證。(7)既支持異步鏈路,也支持同步鏈路。PPP協(xié)議不需要的功能如下。(1)不用于多點之間通信。(2)不支持確認和重傳。(3)不提供流量控制。(4)不糾錯。3.4.2

PPP協(xié)議幀格式(1)PPP協(xié)議的幀格式如圖3-4所示。(2)PPP協(xié)議是面向字節(jié)的,所有的PPP幀的長度都是整數(shù)字節(jié)。(3)標志字段F=0x7E(符號“0x”表示后面的字符是用十六進制形式表示的。十六進制7E的二進制的形式是01111110)。(4)地址字段A只置為0xFF。地址字段實際上并不起作用。(5)控制字段C通常置為0x03。(6)協(xié)議是一個2字節(jié)的協(xié)議字段。當協(xié)議字段為0x0021時,PPP協(xié)議幀的信息字段就是IP數(shù)據(jù)報。當為0xC021,信息字段是PPP鏈路控制數(shù)據(jù)。當為0x8021,表示信息字段是網絡控制數(shù)據(jù)。圖3-4

PPP協(xié)議的幀格式3.4.3

PPP協(xié)議工作流程PPP協(xié)議的工作流程如圖3-5所示。圖3-5

PPP協(xié)議的運行機制(1)要創(chuàng)建PPP鏈路,首先就要建立物理連接,過去用戶用調制解調器通過撥號與ISP之間建立物理連接,現(xiàn)在則多用ADSL或FTTx+LAN方式。(2)鏈路管理:LCP(LinkControlProtocol),創(chuàng)建、維護和終止鏈路連接。(3)NCP(NetworkControlProtocol),與網絡層協(xié)調,如IP地址分配。常用IPCP(IPControlProtocol)。(4)認證采用以下方式:PAP(PasswordAuthenticationProtocol)。CHAP(ChallengeHandshakeAuthenticationProtocol)。PPP協(xié)議的實例應用PPP協(xié)議具有廣泛的適用性。目前PPP協(xié)議仍然普遍地應用在Internet中,主要包括以下幾種應用。(1)個人用戶到ISP的虛擬撥號連接。(2)路由器之間的專線連接。(3)基于PPTP建立VPN隧道,實現(xiàn)遠程安全訪問,PPTP是用以承載PPP協(xié)議的安全隧道協(xié)議。

以下以中國電信提供的FTTx+LAN的Internet接入服務為例認識PPP協(xié)議的應用。FTTx+LAN是光纖加超五類雙絞線方式,是采用以太網技術提供寬帶接入服務的一種方案,具有可擴展性、可升級、投資規(guī)模小、性能穩(wěn)定和安裝便捷等優(yōu)點。在以太網上傳輸PPP協(xié)議,即PPPoE。PPP協(xié)議可以利用PPP協(xié)議所具備的身份認證的功能,實現(xiàn)用戶上網的計費和管理。圖3-6是用協(xié)議分析軟件捕獲的PPPoE數(shù)據(jù)包,可以幫助我們理解PPP協(xié)議的工作過程,包括前面講到的LCP鏈路控制、PAP身份認證和IPCP(即NCP)網絡地址協(xié)商。圖3-6

PPPoE數(shù)據(jù)包分析3.5網橋技術與以太網交換機網橋技術徹底解決了傳統(tǒng)共享式以太網存在碰撞問題的缺陷。網橋是一種設備,它將兩個網絡連接起來,對網絡數(shù)據(jù)的流通進行管理,不但能擴展網絡的距離或范圍,而且可提高網絡的性能、可靠性和安全性,如圖3-7所示。圖3-7網橋的工作原理示意圖(1)網橋工作在數(shù)據(jù)鏈路層,它根據(jù)MAC幀的目的地址對收到的幀進行轉發(fā)。(2)網橋具有過濾幀的功能。當網橋收到一個幀時,并不是向所有的端口轉發(fā)此幀,而是先檢查此幀的目的MAC地址,然后再確定將該幀轉發(fā)到哪一個端口。以太網交換機實質上就是一個多端口的網橋,交換機早期也只是工作在數(shù)據(jù)鏈路層,即數(shù)據(jù)轉發(fā)的依據(jù)只是以太網的MAC地址信息,隨著需求的出現(xiàn)和技術的發(fā)展才出現(xiàn)了三層交換機,關于三層交換機的有關技術及配置方法,將在下一節(jié)介紹。3.5.1以太網交換機工作原理以太網交換機的工作原理可以這樣概括:(1)以太網交換機的每個端口都直接與主機相連,并且一般都工作在全雙工方式下。(2)交換機能同時連通許多對的端口,使每一對相互通信的主機都能像獨占通信媒體那樣,進行無碰撞的數(shù)據(jù)傳輸。(3)以太網交換機由于使用了專用的交換結構芯片,因此其交換速率會較高。(4)對于傳統(tǒng)的10Mb/s共享式以太網,若共有N個用戶,則每個用戶占有的平均帶寬只有總帶寬(10Mb/s)的N分之一。使用以太網交換機時,雖然在每個端口到主機的帶寬還是10Mb/s,但由于一個用戶在通信時是獨占的而不是和其他網絡用戶共享傳輸媒體的帶寬,因此對于擁有N對端口的交換機的總容量為N

10Mb/s,而在全雙工模式下總容量就是N

10Mb/s。這正是交換機的最大優(yōu)點。圖3-8是交換機的工作原理示意圖。圖3-8交換機工作原理示意圖3.5.2交換機自學習算法交換機可以即插即用,不需要人工配置交換表,交換表的建立是通過交換機自學習得到的,如圖3-9所示。交換機收到一幀后先進行自學習,查找交換表中與收到幀的源地址有無相匹配的項目。如沒有,就在交換表中增加一個項目(源地址、進入的接口和有效時間)。如有,則把原有的項目進行更新(進入的接口或有效時間)。當交換機轉發(fā)某一幀時,先查找交換表中與收到幀的目的地址有無相匹配的項目。如沒有,則向所有其他接口(進入的接口除外)轉發(fā)。如有,則按交換表中給出的接口進行轉發(fā)。若交換表中給出的接口就是該幀進入交換機的接口,則應丟棄這個幀。圖3-9交換機自學習交換表以下用實例介紹以太網交換機自學習和轉發(fā)幀的過程。假設一臺交換機連接了MAC地址分別是A、B、C和D的四臺主機。A先向B發(fā)送一幀,從接口1進入到交換機。交換機收到幀后,先查找交換表,沒有查到應從哪個接口轉發(fā)這個幀。交換機把這個幀的源地址A和接口1寫入交換表中,并向除接口1以外的所有的接口廣播這個幀。因為目的地址未指向本機C和D,所以C和D丟棄這個幀,而B接收此幀。交換表添加了表項(A,1)后不管從哪一個接口收到幀,只要其目的地址是A,就把收到的幀從接口1轉發(fā)出去。接下來B通過接口3向A發(fā)送一幀。交換機查找交換表,發(fā)現(xiàn)交換表中的MAC地址有A。表明要發(fā)送給A的幀應從接口1轉發(fā),無須再廣播收到的幀。交換表這時新增加項目(B,3),表明今后如有發(fā)送給B的幀,就應當從接口3轉發(fā)。3.5網橋技術與以太網交換機網橋技術徹底解決了傳統(tǒng)共享式以太網存在碰撞問題的缺陷。網橋是一種設備,它將兩個網絡連接起來,對網絡數(shù)據(jù)的流通進行管理,不但能擴展網絡的距離或范圍,而且可提高網絡的性能、可靠性和安全性,如圖3-7所示。圖3-7網橋的工作原理示意圖3.5.3生成樹協(xié)議生成樹協(xié)議主要為了解決以下幾個問題:(1)消除橋接網絡中可能存在的路徑回環(huán)。(2)對當前活動路徑出現(xiàn)阻塞、斷鏈等問題時提供冗余備份路徑。生成樹算法的基本思想是:在網橋之間傳遞特殊的消息,使之能夠據(jù)此來計算生成樹。這種特殊的消息稱為“ConfigurationBridgeProtocolDataUnits(BPDUs)”或者“配置BPDUs”。通過BPDUs信息的傳送,首先在網絡中選出根交換機(也稱根橋),然后計算各路徑的優(yōu)劣,打開(處于forwarding狀態(tài))或者阻塞(處于discarding狀態(tài))相應的鏈路。STP是一種二層管理協(xié)議,它通過有選擇地阻塞網絡冗余鏈路來達到消除網絡二層環(huán)路的目的,同時具備鏈路備份的功能。STP掌管著端口的轉發(fā)大權—“小樹枝抖一抖,上層協(xié)議就得另謀生路”。如圖3-11所示,BPDUs在各交換機之間傳播。根據(jù)計算結果,交換機A被選為網絡的根橋,交換機B和C之間、交換機B和D之間的鏈路被阻塞。最終,網絡形成了以交換機A為根的一棵拓撲樹,沒有環(huán)路。假設交換機A和C之間鏈路斷開,則原來處于阻塞狀態(tài)B和C之間鏈路將變成forwarding狀態(tài),使得交換機C可以通過B到達根橋。圖3-11

STP阻塞網絡環(huán)路3.5.4以太網交換機端口聚合聚合為交換機提供了端口捆綁的技術,允許兩個交換機之間通過兩個或多個端口并行連接,同時傳輸數(shù)據(jù)以提供更高的帶寬。聚合是目前許多交換機支持的一個高級特性。3.5.5以太網交換機級聯(lián)與堆疊級聯(lián)(Uplink)是通過交換機的某個端口與其他交換機相連的,如使用一個交換機Uplink端口到另一個普通端口;堆疊是指將一臺以上的交換機組合起來共同工作,以便在有限的空間內提供盡可能多的端口。多臺交換機經過堆疊形成一個堆疊單元。堆疊(Stack)是通過交換機的背板連接起來的,它是一種建立在芯片級上的連接,如2個24口交換機堆疊起來的效果就像是一個48口的交換機,優(yōu)點是不會產生瓶頸的問題。3.5.6虛擬局域網(VLAN)1.虛擬局域網的基本概念虛擬局域網(VirtualLocalAreaNetwork,VLAN)是由一些局域網網段構成的與物理位置無關的邏輯組。這些網段具有某些共同的需求。每一個VLAN的幀都有一個明確的標識符,指明發(fā)送這個幀的工作站是屬于哪一個VLAN的。虛擬局域網其實只是局域網給用戶提供的一種服務,而并不是一種新型局域網。圖3-13是一個虛擬局域網的組成示意圖。當N1-1向VLAN1工作組內成員發(fā)送數(shù)據(jù)時,工作站N2-1和N3-1將會收到廣播的信息。而N1-1發(fā)送數(shù)據(jù)時,工作站N1-2、N1-3和N1-4都不會收到N1-1發(fā)出的廣播信息。虛擬局域網限制了接收廣播信息的工作站數(shù),使得網絡不會因傳播過多的廣播信息(即“廣播風暴”)而引起性能惡化。圖3-13虛擬局域網示意圖2.虛擬局域網標準以太網虛擬局域網協(xié)議是IEEE802.1Q。IEEE802.1Q的幀格式如圖3-14所示。圖3-14虛擬局域網協(xié)議IEEE802.1Q幀格式說明如下:(1)擴展MAC幀首部進行標識VLAN。(2)IEEE802.1Q(VirtualBridgedLocalAreaNetworks)協(xié)議。(3)首部增加4個字節(jié)。(4)TPID(TagProtocolIDentifier),固定取值為0x8100。(5)TCI(TagControlInformation)包括下面3項:用戶優(yōu)先級(PRI),3位。規(guī)范格式指示符(CanonicalFormatIndicator,CFI),1位。VLAN標識符(VLANID),12位。IEEE802.1Q的運行方式如下:(1)802.1Q數(shù)據(jù)幀傳輸對于用戶是完全透明的。(2)Trunk上默認會轉發(fā)交換機上存在的所有VLAN的數(shù)據(jù)。(3)交換機在從Trunk口轉發(fā)數(shù)據(jù)前會對數(shù)據(jù)打個Tag標簽,在到達另一交換機后,再剝去此標簽。虛擬局域網的優(yōu)點如下。1.限制了網絡中的廣播2.虛擬工作組3.安全性4.減少移動和改變的代價3.5.7以太網三層交換機1.三層交換的提出三層交換技術和交換機的提出主要基于以下原因:(1)二層交換技術極大地提升了以太網的性能,但仍然不能完全滿足局域網的需要。(2)為了將廣播和本地流量限制在一定的范圍內,交換式以太網采取劃分邏輯子網的方式。(3)VLAN間的互通傳統(tǒng)上需要由路由器來完成,但路由器配置復雜,造價昂貴,而且轉發(fā)速度限制容易成為網絡的瓶頸。(4)新20/80規(guī)則的興起,80%的流量需要跨越VLAN,路由器不堪重負。2.三層交換機基本特征應該說,三層交換機與傳統(tǒng)路由器具有相同的功能:(1)根據(jù)IP地址進行選路。(2)進行三層的校驗和。(3)使用生存時間(TTL)。(4)對路由表進行更新和維護。二層交換機和三層交換機二者最大的區(qū)別在于三層交換機采用ASIC硬件進行包轉發(fā),而傳統(tǒng)路由器采用CPU進行包轉發(fā)。所以,相比于傳統(tǒng)路由器而言,三層交換機具有以下優(yōu)點:(1)基于硬件的包轉發(fā),轉發(fā)效率高。(2)低時延。(3)低花費。3.5.8以太網的發(fā)展1.100Mb/s快速以太網1)100Base-TX2)100Base-FX3)100Base-T42.千兆以太網3.10Gb/s以太網3.6實驗實驗1:用集線器組建局域網實驗2:以太網二層交換機原理實驗實驗3:交換機中交換表的自學習功能實驗4:交換機VLAN實驗實驗5:交換機VLAN中繼實驗實驗6:生成樹配置實驗7:以太通道配置第四章

網絡層

4.1網絡層提供的兩種服務4.2網絡層的功能4.3網絡層協(xié)議4.4IP分組的轉發(fā)4.5

網際控制報文協(xié)議(ICMP)4.6

互聯(lián)網的路由選擇協(xié)議4.7

IPv6*4.8網絡地址轉換(NAT)4.9虛擬專用網(VPN)4.10

IP多播*4.11SDN*4.12實驗

在計算機網絡領域,網絡層應該向運輸層提供怎么樣的服務(“面向連接”還是“無連接”)曾引起了長期的爭論。爭論焦點的實質就是:在計算機通信中,可靠交付應當由誰來負責?是網絡還是端系統(tǒng)?

從OSI/RM的通信角度來看,網絡層所提供的服務主要有兩大類,即面向連接服務和面向無連接服務。這兩種網絡服務的具體實現(xiàn)就是所謂的虛電路服務和數(shù)據(jù)報服務。4.1網絡層提供的兩種服務4.1.1虛電路服務

虛電路服務是網絡層向運輸層提供的一種使所有分組按順序到達目的端系統(tǒng)的可靠的數(shù)據(jù)傳送方式。進行數(shù)據(jù)交換的兩個端系統(tǒng)之間存在著一條為它們服務的虛電路。

我們先通過電信網來了解虛擬電路,電信網進行的是面向連接的通信方式,使用昂貴的程控交換機(為了保證傳輸?shù)目煽啃裕?,從而向用戶提供可靠傳輸?shù)姆?。電信網把用戶電話機產生的語音信號可靠地傳輸?shù)綄Ψ降碾娫挋C。一條虛擬電路的組成有這些部分構成:(1)源主機和目的主機之間的路徑(一些列鏈路和路由器)(2)路徑中每一段鏈路都有一個VC號(3)路徑中的每個路由器都有一個轉發(fā)表

每一次IP數(shù)據(jù)報跨越一臺路由器創(chuàng)建一個新的連接,就在這個路由器的轉發(fā)表中增加一個新的連接項。同樣,每次施放一個鏈接,就從表中刪除這一項。使用虛擬電路服務就一般是通過以下三個步驟:(1)虛擬電路的建立(2)數(shù)據(jù)傳送(3)虛擬電路的拆除

H1發(fā)送給H2的所有分組都沿著同一條虛電路傳送,如果這條線路斷開了,那么H1和H2就是不通的了。如圖4-1所示。H1H2圖4-1虛電路傳送4.1.2數(shù)據(jù)報服務

數(shù)據(jù)報服務是由數(shù)據(jù)報交換網來提供。端系統(tǒng)的網絡層同網絡節(jié)點中的網絡層之間,一致地按照數(shù)據(jù)報操作方式交換數(shù)據(jù)。當端系統(tǒng)要發(fā)送數(shù)據(jù)時,網絡層給該數(shù)據(jù)附加上地址、序號等信息,然后作為數(shù)據(jù)報發(fā)送給網絡節(jié)點;目的端系統(tǒng)收到數(shù)據(jù)報可能是不按照順序到達,也有可能出現(xiàn)數(shù)據(jù)報丟失。數(shù)據(jù)報服務與OSI的無連接網絡服務類似。數(shù)據(jù)報服務是由數(shù)據(jù)報交換網來提供。端系統(tǒng)的網絡層同網絡節(jié)點中的網絡層之間,一致地按照數(shù)據(jù)報操作方式交換數(shù)據(jù)。當端系統(tǒng)要發(fā)送數(shù)據(jù)時,網絡層給該數(shù)據(jù)附加上地址、序號等信息,然后作為數(shù)據(jù)報發(fā)送給網絡節(jié)點;目的端系統(tǒng)收到數(shù)據(jù)報可能是不按照順序到達,也有可能出現(xiàn)數(shù)據(jù)報丟失。數(shù)據(jù)報服務與OSI的無連接網絡服務類似。由于傳輸網絡不提供端到端的可靠傳輸服務,這就使網絡中的路由器可以做得比較簡單,且價格低廉(與電信網的交換機相比較)。如果主機(即端系統(tǒng))中的進程之間的通信需要是可靠的,那么就由網絡的主機中的運輸層負責(包括差錯處理、流量控制等)。采用這種設計思路的好處是:網絡的造價大大降低,運行方式靈活,能夠適應多種應用?;ヂ?lián)網能夠發(fā)展到今日的規(guī)模,充分證明了當初采用這種設計思路的正確性。H1發(fā)送給H2的分組可能沿著不同的路徑傳送,就算里面有一條路線是斷開了,那么數(shù)據(jù)報就會走其他的路線進行傳送,兩臺主機不會無法連接。如圖4-2所示。H1H2丟失IP數(shù)據(jù)報圖4-2數(shù)據(jù)報傳送虛電路服務與數(shù)據(jù)報服務的不同點:對比的方面虛電路服務數(shù)據(jù)報服務思路可靠通信應當由網絡來保證可靠通信應當由用戶主機來保證連接的建立必須有不需要終點地址僅在連接建立階段使用,每個分組使用短的虛電路號每個分組都有終點的完整地址分組的轉發(fā)屬于同一條虛電路的分組均按照同一路進行轉發(fā)每個分組獨立選擇路由進行轉發(fā)當節(jié)點出故障時所有通過故障的節(jié)點的虛電路均不能工作出故障的節(jié)點可能會丟失分組,一些路由可能會發(fā)生變化分組時的順序總是按發(fā)送順序達到終點到達終點的時間,不一定按發(fā)送順序端到端的差錯處理和流量控制可以由網絡負責,也可以由用戶主機負責有用戶主機負責4.2.1異構網絡互聯(lián)

所謂異構是指兩個或以上的無線通信系統(tǒng)采用了不同的接入技術,或者是采用相同的無線接入技術但屬于不同的無線運營商。利用現(xiàn)有的多種無線通信系統(tǒng),通過系統(tǒng)間融合的方式,使多系統(tǒng)之間取長補短是滿足未來移動通信業(yè)務需求一種有效手段,能夠綜合發(fā)揮各自的優(yōu)勢。由于現(xiàn)有的各種無線接入系統(tǒng)在很多區(qū)域內都是重疊覆蓋的,所以可以將這些相互重疊的不同類型的無線接入系統(tǒng)智能地結合在一起,利用多模終端智能化的接入手段,使多種不同類型的網絡共同為用戶提供隨時隨地的無線接入,從而構成了如圖4-3所示的異構無線網絡。4.2網絡層的功能圖4-3異構無線網絡

我們在連接不同網絡的時候需要一些中間設備。中間設備又稱中間系統(tǒng)或中繼系統(tǒng),根據(jù)其所在的層次,可以有一下四種:物理層使用的中間設備叫做轉發(fā)器(集線器)。數(shù)據(jù)鏈路層使用的中間設備叫做網橋(包括交換機)或橋接器。網絡層使用的中間設備叫做路由器。在網絡層以上使用的中間設備叫做網關。用網關來連接兩個不兼容的系統(tǒng)需要在高層進行協(xié)議的轉換。

使用轉發(fā)器或網橋不稱為網絡互連,通過轉發(fā)器和網橋進行連接的網絡,僅僅是把一個局域網擴大了,從網絡層的角度看,仍然還是一個網絡。一般把用路由器進行互連的網絡稱為網絡互連。如圖所示。圖4-4互聯(lián)網絡

TCP/IP體系在網絡互連上采用的做法是在網絡層(即IP層)采用了標準化協(xié)議,但相互連接的網絡可以是異構的。這樣,參加互連的計算機網絡都使用相同的網際協(xié)議IP,因此可以把互連以后的計算機網絡看成如下圖所示的一個虛擬互連網絡。如圖4-5所示。

當互聯(lián)網上的主機進行通信時,就好像在一個網絡上通信一樣,看不見互連的各具體的網絡異構細節(jié)。如果在這種覆蓋全球的IP網的上層使用TCP協(xié)議,那么就是現(xiàn)在的互聯(lián)網(Internet)?;ヂ?lián)網可以由多種異構網絡互連組成。圖4-5虛擬互聯(lián)網絡4.2.2路由與轉發(fā)

路由器主要完成兩個功能是路由選擇和分組轉發(fā)。路由選擇:確定數(shù)據(jù)報走那一條路徑,即路由器根據(jù)不同的算法生成動態(tài)的路由表。分組轉發(fā):路由器根據(jù)轉發(fā)表將用戶的IP數(shù)據(jù)從合適的端口報轉發(fā)出去。

路由表是根據(jù)路由選擇算法得出的,需要對網絡拓撲變化的計算最優(yōu)化。而轉發(fā)表是從路由表得出的,轉發(fā)表的結構應當使查找過程最優(yōu)化。在討論路由選擇的原理時,往往不去區(qū)分轉發(fā)表和路由表,而是籠統(tǒng)地使用路由表一詞。

轉發(fā)是一個節(jié)點在本地執(zhí)行的一個相對簡單的過程,即報文從某臺設備的一個端口進入而從另一個端口出去。路由選擇依賴于網絡發(fā)展過程中的不斷演進的、復雜的分布式算法。最簡單的路由選擇可以決定報文發(fā)送的下一跳主機的地址,復雜的路由協(xié)議可以選擇一條從主機1和主機2之間經過若干主機的路徑。如圖4-6所示。圖4-6路由轉發(fā)轉發(fā)表和路由表的區(qū)別:(1)轉發(fā)表中的一行包括從網絡號到發(fā)出接口的映射和一些MAC信息,而路由表作為建立轉發(fā)表的前奏,是由路由選擇算法建立的一個表,它通常包含從網絡號到下一跳的映射。對于單個主機來說,轉發(fā)表比路由表更詳細;(2)二者建立的目的也不同:構造轉發(fā)表-目的是為了優(yōu)化轉發(fā)分組時查找網絡號的過程;優(yōu)化路由表是為了計算拓撲結構的改變;(3)實現(xiàn)方式不同:轉發(fā)表可以由特殊的硬件來實現(xiàn),而路由表很少這樣。簡單說路由是根據(jù)路由表查找到達目標網絡的最佳路由表項,轉發(fā)是根據(jù)最佳路由中的出口及下一跳IP轉發(fā)數(shù)據(jù)包的過程。因此,路由選擇是轉發(fā)的基礎,數(shù)據(jù)轉發(fā)是路由的結果。4.3.1網絡層協(xié)議簡介

網絡層協(xié)議,OSI參考模型的第三層。它控制通信子網進行工作,提供建立、保持和釋放連接的手段,保證傳輸層實體之間進行透明的數(shù)據(jù)傳輸。

TCP/IP協(xié)議棧的網絡層位于網絡接口層和傳輸層之間,主要協(xié)議包括IP、ARP、ICMP、IGMP等。其中IP協(xié)議是TCP/IP網絡層的核心協(xié)議,它規(guī)定了數(shù)據(jù)的封裝方式和網絡節(jié)點的標識方法,于網絡上數(shù)據(jù)的端到端的傳遞。4.3網絡層協(xié)議TCP/IP的網絡層主要定義了以下協(xié)議:(1)IP:負責網絡層尋址、路由選擇、分段及包重組;(2)ARP:負責把IP地址解析成物理地址。在實際進行通信時,物理網絡所使用的是物理地址,IP地址是不能被物理網絡識別的。對于以太網而言,當IP數(shù)據(jù)包通過以太網發(fā)送時,以太網設備是以MAC地址傳輸數(shù)據(jù)的,ARP協(xié)議就是用來將IP地址解析成MAC地址的;(3)ICMP:定義了網絡層控制和傳遞消息的功能,可以報告IP數(shù)據(jù)包傳送過程中發(fā)生的錯誤、失敗等信息,提供網絡診斷功能。ping和tracert兩個使用極其斯泛的測試工具就是ICMP消息的應用;(4)IGMP:負責管理IP組播組。于支持在主機和路由器之間進行組播傳輸數(shù)據(jù),它讓一個物理網絡上的所有路由器知道當前網絡中有哪些主機需要組播。組播路由器需要這些信息以便知道組播數(shù)據(jù)包應該像哪些接口轉發(fā)。4.3.2IP地址的含義及表示方法

人們?yōu)榱送ㄐ诺睦憬o每一臺計算機都事先分配一個類似我們的電話號碼一樣的標識地址,該標識地址就是IP地址。根據(jù)TCP/IP協(xié)議劃定,IP地址是由32位二進制數(shù)組成。

互聯(lián)網上的每臺主機(或路由器)的每個接口分配一個在全世界唯一的IP地址。由互聯(lián)網名字和數(shù)字分配機構ICANN(InternetCorporationforAssignedNamesandNumbers)進行分配。

如:某IP地址為10000000000010110000001100011111為了方便記憶,人們把32位的IP地址分成四段,每段8位,中間用小數(shù)點“.”隔開,然后再將每8位二進制換成十進制,即1。如圖4-7和4-8所示。圖4-7點分十進制圖4-8點分十進制記法舉例

網絡標識:同一物理網絡上的所有主機都用同一個網絡標識,網絡上每一個主機都有一個主機標識與其對應。

主機標識:網絡中特定的計算機號碼。例:一個主機服務器的IP地址為192.168.10.2,其中網絡標識為192.168.10.0主機標識為2。

同一個局域網上的主機或路由器的IP地址中的網絡號必須一樣。路由器的每一個接口都有一個不同網絡號的IP地址。兩個路由器直接相連的接口處,可指明也可不指明IP地址。如指明IP地址,則這一段連線就構成了一種只包含一段線路的特殊“網絡”。這種網絡僅需兩個IP地址,可以使用/31地址塊,主機號可以是0或1,如圖4-9所示。圖4-9網絡拓撲圖4.3.3地址解析協(xié)議(ARP)

網絡層以上的協(xié)議用IP地址來標識網絡接口,但以太數(shù)據(jù)幀傳輸時,以物理地址來標識網絡接口。因此我們需要進行IP地址與物理地址之間的轉化。對于IPv4來說,我們使用ARP地址解析協(xié)議來完成IP地址與物理地址的轉化(IPv6使用鄰居發(fā)現(xiàn)協(xié)議進行IP地址與物理地址的轉化,它包含在ICMPv6中)。ARP協(xié)議提供了網絡層地址(IP地址)到物理地址(MAC地址)之間的動態(tài)映射。ARP協(xié)議是地址解析的通用協(xié)議。如果4-10所示。圖4-10

IP地址與物理地址的轉化

Mac地址由設備制造商定義、分配,每一個硬件設備都有一個鏈路層主地址(MAC地址),保存在設備的永久內存中。設備的mac地址不會改變(現(xiàn)在可以進行mac地址偽裝)。

IP地址由用戶配置給網絡接口,網絡接口的IP地址是可以發(fā)生變化的(通過DHCP獲取IP,變化速度比較快)。在一個以太網中獲取目的端的MAC地址步驟如圖4-11所示。圖4-11獲取目的端的MAC地址(1)發(fā)送ARP請求的以太網數(shù)據(jù)幀給以太網上的每個主機,即廣播(以太網源地址填全1)。ARP請求幀中包含了目的主機的IP地址。(2)目的主機收到了該ARP請求之后,會發(fā)送一個ARP應答,里面包含了目的主機的MAC地址。ARP協(xié)議工作原理如圖12所示:圖4-12主機A向本局域網上的某個主機B發(fā)送IP數(shù)據(jù)報(1)每個主機都會在自己的ARP緩沖區(qū)中建立一個ARP列表,以表示IP地址和MAC地址之間的對應關系。(2)主機(網絡接口)新加入網絡時(也可能只是mac地址發(fā)生變化,接口重啟等),會發(fā)送免費ARP報文把自己IP地址與Mac地址的映射關系廣播給其他主機。(3)網絡上的主機接收到免費ARP報文時,會更新自己的ARP緩沖區(qū)。將新的映射關系更新到自己的ARP表中。(4)某個主機需要發(fā)送報文時,首先檢查ARP列表中是否有對應IP地址的目的主機的MAC地址,如果有,則直接發(fā)送數(shù)據(jù),如果沒有,就向本網段的所有主機發(fā)送ARP數(shù)據(jù)包,該數(shù)據(jù)包包括的內容有:源主機IP地址,源主機MAC地址,目的主機的IP地址等。(5)當本網絡的所有主機收到該ARP數(shù)據(jù)包時:①首先檢查數(shù)據(jù)包中的IP地址是否是自己的IP地址,如果不是,則忽略該數(shù)據(jù)包。②如果是,則首先從數(shù)據(jù)包中取出源主機的IP和MAC地址寫入到ARP列表中,如果已經存在,則覆蓋。③然后將自己的MAC地址寫入ARP響應包中,告訴源主機自己是它想要找的MAC地址。(6)源主機收到ARP響應包后。將目的主機的I和MAC地址寫入ARP列表,并利用此信息發(fā)送數(shù)據(jù)。如果源主機一直沒有收到ARP響應數(shù)據(jù)包,表示ARP查詢失敗。

ARP高速緩存(即ARP表)是ARP地址解析協(xié)議能夠高效運行的關鍵,(如果有多次ARP響應時,以最后一次響應為準)

ARP給IP地址和MAC地址中間做了動態(tài)映射,也就是說緩存了一個ARP表,將得到的IP地址和MAC地址對應起來,如果在表中沒有查到IP地址對應的MAC地址,就會發(fā)廣播去找。隨著用戶的使用,ARP表如果不做任何措施,就會變得越來越臃腫緩慢,就降低了網絡傳輸數(shù)據(jù)的效率,所以ARP緩存中每一項被設置了生存時間,一般是20分鐘,從被創(chuàng)建時開始計算,到時則清除,如果在計時期間又被使用了,計時會重置。超過生存時間的項目都從高速緩存中刪除,以適應網絡適配器變化。如表4-2所示.<IP地址;MAC地址;生存時間(age);類型等>IP地址MAC地址生存時間類型0030.7131.abfc00:08:55Dynamic0000.0c07.ac2400:02:55Dynamic90007.ebea.44d000:06:12Dynamic表4-2映射表

ARP高速緩存的作用:(1)存放最近獲得的IP地址到MAC地址的綁定。(2)減少ARP廣播的通信量。(3)為進一步減少ARP通信量,主機A在發(fā)送其ARP請求分組時,就將自己的IP地址到MAC地址的映射寫入ARP請求分組。(4)當主機B收到A的ARP請求分組時,就將主機A的IP地址及其對應的MAC地址映射寫入主機B自己的ARP高速緩存中。不必在發(fā)送ARP請求。

ARP用于解決同一個局域網上的主機或路由器的IP地址和MAC地址的映射問題。

通信的路徑:A→經過R1轉發(fā)→B。因此主機A必須知道路由器R1的IP地址,解析出其MAC地址。然后把IP數(shù)據(jù)報傳送到路由器R1。如圖4-13所示。圖4-13通信途徑使用ARP的四種典型情況:(1)發(fā)送方是主機,要把IP數(shù)據(jù)報發(fā)送到本網絡上的另一個主機。這時用ARP找到目的主機的硬件地址。(2)發(fā)送方是主機,要把IP數(shù)據(jù)報發(fā)送到另一個網絡上的一個主機。這時用ARP找到本網絡上的一個路由器的硬件地址。剩下的工作由這個路由器來完成。(3)發(fā)送方是路由器,要把IP數(shù)據(jù)報轉發(fā)到本網絡上的一個主機。這時用ARP找到目的主機的硬件地址。(4)發(fā)送方是路由器,要把IP數(shù)據(jù)報轉發(fā)到另一個網絡上的一個主機。這時用ARP找到本網絡上另一個路由器的硬件地址。剩下的工作由這個路由器來完成。4.3.4分類IP地址

IP地址根據(jù)網絡ID的不同分為5種類型,A類地址、B類地址、C類地址、D類地址和E類地址,如圖4-14所示。圖4-14

IP地址分類A類IP地址:一個A類IP地址由1字節(jié)的網絡地址和3字節(jié)主機地址組成,網絡地址的最高位必須是“0”,地址范圍從1.0.0.0到126.0.0.0??捎玫腁類網絡有126個,每個網絡能容納1億多個主機。B類IP地址:一個B類IP地址由2個字節(jié)的網絡地址和2個字節(jié)的主機地址組成,網絡地址的最高位必須是“10”,地址范圍從128.0.0.0到191.255.255.255。可用的B類網絡有16382個,每個網絡能容納6萬多個主機。C類IP地址:一個C類IP地址由3字節(jié)的網絡地址和1字節(jié)的主機地址組成,網絡地址的最高位必須是“110”。范圍從192.0.0.0到223.255.255.255。C類網絡可達209萬余個,每個網絡能容納254個主機。D類IP地址:用于多點廣播(Multicast),D類IP地址第一個字節(jié)以“1110”開始,它是一個專門保留的地址。它并不指向特定的網絡,目前這一類地址被用在多點廣播中。多點廣播地址用來一次尋址一組計算機,它標識共享同一協(xié)議的一組計算機。E類IP地址:以“1111”開始,研究和試驗用,為將來使用保留。

各類IP地址的指派范圍:A類地址最大可指派的網絡數(shù)為126(27-2),第一個可指派的網絡號為1,最后一個可指派的網絡號為126,每個網絡中最大主機數(shù)為16777214;B類地址最大可指派的網絡數(shù)為16383(214-1),第一個可指派的網絡號為128.1,最后一個可指派的網絡號為191.255,每個網絡中最大主機數(shù)為65534;C類地址最大可指派的網絡數(shù)為2097151(221-1),第一個可指派的網絡號為192.0.1,最后一個可指派的網絡號為223.255.255,每個網絡中最大主機數(shù)為254。注意指派時要扣除全0和全1的主機號。一般不使用的特殊的IP地址如表4-3所示。表4-3一般不使用的特殊的IP地址分類的IP地址的優(yōu)點有:管理簡單;使用方便;轉發(fā)分組迅速;劃分子網,靈活地使用。缺點有:設計上不合理:大地址塊,浪費地址資源;即使采用劃分子網的方法,也無法解決IP地址枯竭的問題。4.3.5無類別域間路由(CIDR)

無類別域間路由(ClasslessInter-DomainRouting、CIDR)是一個用于給用戶分配IP地址以及在互聯(lián)網上有效地路由IP數(shù)據(jù)包的對IP地址進行歸類的方法。消除了傳統(tǒng)的A類、B類和C類地址以及劃分子網的概念,可以取IP地址的任意前綴作為網絡號,更加有效地分配IPv4的地址空間,但無法解決IP地址枯竭的問題。CIDR可以利用層次網絡和路由匯總減小路由器中路由表的規(guī)模,提高轉發(fā)速度。

CIDR地址的網絡地址由網絡前綴和主機號決定。前綴的位數(shù)n不固定,可以在0~32之間選取任意值。如圖4-15所示。圖4-15

CIDR地址CIDR還采用斜線記法,在IP地址后面加斜線之后寫上網絡前綴所占的位數(shù)。a.b.c.d/n:二進制IP地址的前n位是網絡前綴。例如:/24

我們從這個IP地址可以看出由于主機號是8位,故此時最多有2^8-2=254個主機可以使用。但當這個IP地址表示為/23時我們可以看到此時從網絡號中借了一位出來作為主機號。所以此時網絡中的主機個數(shù)最多為2^9-2。

通過斜線記法,我們可以知道網絡前綴的個數(shù),由此可以知道子網掩碼(把網絡前綴的位置都標上1即為子網掩碼)。之后讓子網掩碼與該IP地址做與運算可以計算得出網絡地址。由此也可以推出最大的地址和最小的地址。

注意:當主機號全為0和全為1的時候,不使用這兩個地址,使用這兩個地址之間的地址。這里強調的是主機號不能全為0和全為1,但是網絡號是可以全為0的。CIDR把網絡前綴都相同的所有連續(xù)的IP地址組成一個CIDR地址塊一個CIDR地址塊包含的IP地址數(shù)目,取決于網絡前綴的位數(shù)。4.3.6子網掩碼

子網掩碼(subnetmask)又叫網絡掩碼、地址掩碼,它用來指明一個IP地址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合IP地址一起使用。

子網掩碼是一個32位地址,用于屏蔽IP地址的一部分以區(qū)別網絡標識和主機標識,并說明該IP地址是在局域網上,還是在廣域網上。

子網掩碼是由由一連串1和接著的一連串0組成,而1的個數(shù)就是網絡前綴的長度。例如:/20地址塊的地址掩碼:11111111111111111111000000000000點分十進制記法:,CIDR記法:/20。

子網掩碼不能單獨存在,它必須結合IP地址一起使用。對于A類地址來說,默認的子網掩碼是;對于B類地址來說默認的子網掩碼是;對于C類地址來說默認的子網掩碼是。如圖4-16所示。圖4-16子網掩碼

將子網掩碼二進制和IP地址二進制進行邏輯“與”(AND)運算,得到的就是主機地址。如:1AND,結果為,其表達的含義為:該IP地址屬于這個網絡,其主機號為11,即這個網絡中編號為11的主機。

子網掩碼一定是配合IP地址來使用的。對于常用網絡A、B、C類IP地址其默認子網掩碼的二進制與十進制對應關系如上圖所示。子網掩碼工作過程是:將32位的子網掩碼與IP地址進行二進制形式的按位邏輯“與”運算得到的便是網絡地址。如圖4-17所示。

網絡地址=(二進制的IP地址)AND(地址掩碼)圖4-17網絡地址計算4.3.7子網劃分與路由聚合

為了減少網絡上的通信量,節(jié)省IP地址,又增加了一個“子網號字段”,使兩級IP地址變?yōu)槿塈P地址,這種做法叫做劃分子網。如圖4-18所示。圖4-18劃分子網

使用子網掩碼劃分子網后,子網內可以通信,跨子網不能通信,子網間通信應該使用路由器,并正確配置靜態(tài)路由信息。劃分子網,就應遵循子網劃分結構的規(guī)則。就是用連續(xù)的1在IP地址中增加表示網絡地址,同時減少表示主機地址的位數(shù)。

劃分子網的基本思路:(1)一個擁有許多物理網絡的單位,可將所屬的物理網絡劃分為若干個子網,劃分子網純屬一個單位內部的事情,本單位以外的網絡看不見這個網絡是由多少個子網組成。(2)從網絡的主機號中借用若干位作為子網號,當然主機號也就相應的減少了同樣的位數(shù)。于是兩級IP地址在本單位內部就變?yōu)槿塈P地址。IP地址::={<網絡號>,<子網號>,<主機號>}(3)凡是從其他網絡發(fā)送給本單位某臺主機的IP數(shù)據(jù)報,仍然是根據(jù)IP數(shù)據(jù)報的目的網絡號找到連接在本單位網絡上的路由器。但此路由器在收到IP數(shù)據(jù)報后,再按目的網絡號和子網號找到目的子網,把IP數(shù)據(jù)報交付目的主機。

例如,IP地址為00,網絡地址為、子網地址為、子網掩碼為,網絡地址部分和子網標識部分為“1”所對應,主機標識部分為“0”所對應。使用CIDR表示為:00/24即IP地址/掩碼長度。其中第三個字節(jié)上的255所對應的8位二進制數(shù)值就是將主機地址位數(shù)借給了網絡地址部分,充當了劃分子網的位數(shù)。

在今天如此大規(guī)模的網絡互聯(lián)環(huán)境下,尤其是負責核心網建設的運營商,處在核心網的路由器要處理海量的數(shù)據(jù),必然它就要存儲特別長的路由表(可能會包含幾萬條路由項),路由表過長就會引起匹配條目的時間過長,也就導致了數(shù)據(jù)轉發(fā)延遲過長,造成網絡質量差的效果,為了解決這個問題,提出了路由聚合的技術,也稱為超網。如圖4-19所示。圖4-19超網

聚合前:16個C類地址,地址掩碼=,路由表中需要16個路由項目。

聚合后:聚合為1個地址,地址掩碼=,路由表中只需1個路由項目。

超網的功能是將多個連續(xù)的C類的網絡地址聚合起來映射到一個物理網絡上。這樣,這個物理網絡就可以使用這個聚合起來的C類地址的共同地址前綴作為其網絡號。

超網創(chuàng)建用來解決路由列表超出現(xiàn)有軟件和管理人力的問題以及提供B類網絡地址空間耗盡的解決辦法。超網允許一個路由列表入口表示一個網絡集合,就如一個區(qū)域代碼表示一個區(qū)域的電話號碼的集合一樣。

超網(路由聚合)技術是為了解決路由表的內容冗余問題,使用路由聚合能夠縮小路由表的規(guī)模,減少路由表的內存。

某大學的ISP共有64個C類網絡。如果不采用CIDR技術,則在與該ISP的路由器交換路由信息的每一個路由器的轉發(fā)表中,需要有64行。采用地址聚合后,轉發(fā)表中只需要用1行來指出到/18地址塊的下一跳。在ISP內的路由器的轉發(fā)表中,也僅需用/22這1個項目,就能把外部發(fā)送到這個大學各系的所有分組,都轉發(fā)到大學的路由器。如圖4-20所示。

可見:網絡前綴越短,地址塊所包含的地址數(shù)越多。圖4-20

CIDR地址塊劃分舉例4.3.8IP數(shù)據(jù)報的格式

TCP/IP協(xié)議定義了一個在互聯(lián)網上傳輸?shù)陌?,稱為IP數(shù)據(jù)報(IPDatagram)。這是一個與硬件無關的虛擬包,由首部和數(shù)據(jù)兩部分組成。首部的前一部分是固定長度,共20字節(jié),是所有IP數(shù)據(jù)報必須具有的.在首部的固定部分的后面是一些可選字段,其長度是可變的,如圖4-21所示。圖4-21

IP數(shù)據(jù)報首部的前一部分是固定長度,共20字節(jié),是所有IP數(shù)據(jù)報必須具有的??蛇x字段,其長度是可變的。版本——占4位,指IP協(xié)議的版本,目前的IP協(xié)議版本號為4(即IPv4)。首部長度——占4位,可表示的最大數(shù)值是15個單位(一個單位為4字節(jié)),因此IP的首部長度的最大值是60字節(jié)。區(qū)分服務——占8位,用來獲得更好的服務,只有在使用區(qū)分服務(DiffServ)時,這個字段才起作用,在一般的情況下都不使用這個字段??傞L度——占16位,指首部和數(shù)據(jù)之和的長度,單位為字節(jié),因此數(shù)據(jù)報的最大長度為65535字節(jié),總長度必須不超過最大傳送單元MTU。標識(identification)——占16位,它是一個計數(shù)器,用來產生IP數(shù)據(jù)報的標識。標志(flag)——占3位,目前只有前兩位有意義。標志字段的最低位是MF(MoreFragment),MF=1表示后面還有分片,MF=0表示最后一個分片。標志字段中間的一位是DF(Don'tFragment),只有當DF=0時才允許分片。片偏移——占13位,指出:較長的分組在分片后某片在原分組中的相對位置,片偏移以8個字節(jié)為偏移單位。生存時間——占8位,生存時間字段常用的英文縮寫是TTL(TimeToLive),其表明數(shù)據(jù)報在網絡中的壽命,由發(fā)出數(shù)據(jù)報的源點設置這個字段,其目的是防止無法交付的數(shù)據(jù)報無限制地在互聯(lián)網中兜圈子,因而白白消耗網絡資源。最初的設計是以秒作為TTL的單位,每經過一個路由器時,就把TTL減去數(shù)據(jù)報在路由器消耗掉的一段時間。若數(shù)據(jù)報在路由器消耗的時間小于1秒,就把TTL值減1。當TTL值為0時,就丟棄這個數(shù)據(jù)報。協(xié)議——占8位,協(xié)議字段指出此數(shù)據(jù)報攜帶的數(shù)據(jù)是使用何種協(xié)議,以便使目的主機的IP層知道應將數(shù)據(jù)部分上交給哪個處理過程。首部檢驗和——占16位,這個字段只檢驗數(shù)據(jù)報的首部,但不包括數(shù)據(jù)部分。這是因為數(shù)據(jù)報每經過一個路由器,都要重新計算一下首都檢驗和(一些字段,如生存時間、標志、片偏移等都可能發(fā)生變化),不檢驗數(shù)據(jù)部分可減少計算的工作量。源地址——占32位,表示發(fā)送端IP地址。目的地址——占32位,表示目的端IP地址。IP首部的可變部分就是一個可選字段。選項字段用來支持排錯,測量以及安全等措施,內容很豐富。此字段的長度可變,從1個字節(jié)到40個字節(jié)不等,取決于所選擇的項目。某些選項項目只需要1個字節(jié),它只包括1個字節(jié)的選項代碼。但還有些選項需要多個字節(jié),這些選項一個個拼接起來,中間不需要有分隔符,最后用全0的填充字段補齊成為4字節(jié)的整數(shù)倍。增加首部的可變部分是為了增加IP數(shù)據(jù)報的功能,但這同時也使得IP數(shù)據(jù)報的首部長度成為可變的。這就增加了每一個路由器處理數(shù)據(jù)報的開銷,實際上這些選項很少被使用。新的IP版本IPv6就將IP數(shù)據(jù)報的首部長度做成固定的。4.4.1基于終點的轉發(fā)

基于終點的轉發(fā)是一種傳統(tǒng)的方式,目前的主流方式。這種轉發(fā)方式要求主機或者路由器具有一張路由表。當主機有分組要轉發(fā)時,或者路由器收到分組要進行轉發(fā)時,就要搜索路由表找到最后終點的路由。分組在互聯(lián)網中是逐跳轉發(fā)的。如圖4-22所示。4.4

IP分組的轉發(fā)圖4-22分組轉發(fā)基于終點的轉發(fā):基于分組首部中的目的地址傳送和轉發(fā)。為了壓縮轉發(fā)表的大小,轉發(fā)表中最主要的路由是(目的網絡地址,下一跳地址)而不是(目的地址,下一跳地址)。查找轉發(fā)表的過程就是逐行尋找前綴匹配。如圖4-23所示。圖4-23查找轉發(fā)表主機H1發(fā)送出的、目的地址是32的分組轉發(fā)過程如圖4-24所示。圖4-24分組轉發(fā)路由器R1收到分組后檢查轉發(fā)表。先檢查第1行:92AND32!=28/26,不匹配。接著檢查第2行:28AND32=28/25,匹配。進行分組的直接交付(通過路由器R1的接口1)。如圖4-25所示。圖4-25轉發(fā)過程4.4.2IP分組的匹配

最長前綴匹配機制(LongestPrefixMatchAlgorithm)是目前行業(yè)內幾乎所有的路由器都缺省采用的一種路由查詢機制。在使用CIDR時,路由表的每個項目的組成,<網絡前綴,下一跳地址>。在查找路由的時候可能會得到不止一個匹配的結果。此時應當從匹配結果中選擇具有最長網絡前綴的路由。因為網絡前綴越長,其地址塊就越小,路由就越具體。

主機路由(hostroute)又叫做特定主機路由。是對特定目的主機的IP地址專門指明的一個路由。網絡前綴就是a.b.c.d/32放在轉發(fā)表的最前面。

默認路由(defaultroute)不管分組的最終目的網絡在哪里,都由指定的路由器R來處理,用特殊前綴/0表示。

只要目的網絡不是N1和N2,就一律選擇默認路由,把IP數(shù)據(jù)報先間接交付默認路由器R1,讓R1再轉發(fā)給下一個路由器。如圖4-26所示。圖4-26路由器R1充當?shù)竭_互聯(lián)網的默認路由器路由器的分組轉發(fā)算法如圖4-27所示。圖4-27路由器分組轉發(fā)算法(1)從數(shù)據(jù)報的首部提取目的主機的IP地址D,得出目的網絡地址為N。(2)若網絡N與此路由器直接相連,則把數(shù)據(jù)報直接交付目的主機D;否則是間接交付,執(zhí)行(3)。(3)若路由表中有目的地址為D的特定主機路由,則把數(shù)據(jù)報傳送給路由表中所指明的下一跳路由器;否則,執(zhí)行(4)。(4)若路由表中有到達網絡N的路由,則把數(shù)據(jù)報傳送給路由表指明的下一跳路由器;否則,執(zhí)行(5)。(5)若路由表中有一個默認路由,則把數(shù)據(jù)報傳送給路由表中所指明的默認路由器;否則,執(zhí)行(6)。(6)報告轉發(fā)分組出錯。4.4.3查找轉發(fā)表

二叉線索:一種特殊結構的樹,可以快速在轉發(fā)表中找到匹配的葉節(jié)點。從二叉線索的根節(jié)點自頂向下的深度最多有32層,每一層對應于IP地址中的一位。為簡化二叉線索的結構,可以用唯一前綴來構造二叉線索。唯一前綴是指,在表中所有的IP地址中,該前綴是唯一的。為了提高二叉線索的查找速度,廣泛使用了各種壓縮技術。

查找規(guī)則為先檢查IP地址左邊的第一位,如為0,則第一層的節(jié)點就在根節(jié)點的左下方;如為1,則在右下方。然后再檢查地址的第二位,構造出第二層的節(jié)點。依此類推,直到唯一前綴的最后一位。每個葉節(jié)點代表一個唯一前綴。如圖4-28所示。

為檢查網絡前綴是否匹配,必須使二叉線索中的每一個葉節(jié)點包含所對應的網絡前綴和子網掩碼。圖4-28二叉線索4.5.1ICMP報文解析

ICMP允許主機或路由報告差錯情況和提供有關異常情況。ICMP是互聯(lián)網的標準協(xié)議,但ICMP不是高層協(xié)議,而是IP層的協(xié)議。如圖4-29所示。4.5網際控制報文協(xié)議(ICMP)圖4-29各層協(xié)議通常ICMP報文被IP層或更高層協(xié)議(TCP或UDP)使用。一些ICMP報文把差錯報文返回給用戶進程。ICMP報文作為IP層數(shù)據(jù)報的數(shù)據(jù),加上數(shù)據(jù)報的首部,組成數(shù)據(jù)報發(fā)送出去。ICMP報文的種類有兩種,即ICMP差錯報告報文和ICMP詢問報文。ICMP所有報文的前4個字節(jié)都是一樣的,但是剩下的其他字節(jié)則互不相同。其他字段都因ICMP報文類型不同而不同。ICMP報文共有三個字段:即類型,代碼和檢驗和。8位類型和8位代碼字段一起決定了ICMP報文的類型。如圖4-30所示。圖4-30

ICMP報文類型8,代碼0:表示回顯請求(ping請求)。類型0,代碼0:表示回顯應答(ping應答)。類型11,代碼0:超時。16位的檢驗和字段:包括數(shù)據(jù)在內的整個ICMP數(shù)據(jù)包的檢驗和;其計算方法和IP頭部檢驗和的計算方法一樣的。ICMP報文具體分為查詢報文和差錯報文(對ICMP差錯報文有時需要做特殊處理,因此要對其進行區(qū)分。如:對ICMP差錯報文進行響應時,永遠不會生成另一份ICMP差錯報文,否則會出現(xiàn)死循環(huán))。ICMP差錯報告報文共有5種:(1)終點不可達:終點不可達分為:網絡不可達,主機不可達,協(xié)議不可達,端口不可達,需要分片但DF比特已置為1,以及源路由失敗等六種情況,其代碼字段分別置為0至5。當出現(xiàn)以上六種情況時就向源站發(fā)送終點不可達報文。(2)源站抑制:當路由器或主機由于擁塞而丟棄數(shù)據(jù)報時,就向源站發(fā)送源站抑制報文,使源站知道應當將數(shù)據(jù)報的發(fā)送速率放慢。(3)時間超過:當路由器收到生存時間為零的數(shù)據(jù)報時,除丟棄該數(shù)據(jù)報外,還要向源站發(fā)送時間超過報文。當目的站在預先規(guī)定的時間內不能收到一個數(shù)據(jù)報的全部數(shù)據(jù)報片時,就將已收到的數(shù)據(jù)報片都丟棄,并向源站發(fā)送時間超過報文。(4)參數(shù)問題:當路由器或目的主機收到的數(shù)據(jù)報的首部中的字段的值不正確時,就丟棄該數(shù)據(jù)報,并向源站發(fā)送參數(shù)問題報文。(5)改變路由(重定向)路由器將改變路由報文發(fā)送給主機,讓主機知道下次應將數(shù)據(jù)報發(fā)送給另外的路由器。所有的ICMP差錯報告報文中的數(shù)據(jù)字段都具有同樣的格式。將收到的需要進行差錯報告IP數(shù)據(jù)報的首部和數(shù)據(jù)字段的前8個字節(jié)提取出來,作為ICMP報文的數(shù)據(jù)字段。再加上響應的ICMP差錯報告報文的前8個字節(jié),就構成了ICMP差錯報告報文。提取收到的數(shù)據(jù)報的數(shù)據(jù)字段的前8個字節(jié)是為了得到運輸層的端口號(對于TCP和UDP)以及運輸層報文的發(fā)送序號(對于TCP)。如圖4-31所示。圖4.31

ICMP差錯報文以下幾種情況都不會導致產生ICMP差錯報文(1)ICMP差錯報文(但是,ICMP查詢報文可能會產生ICMP差錯報文)(2)目的地址是廣播地址或多播地址的IP數(shù)據(jù)報(3)作為鏈路層廣播的數(shù)據(jù)報(4)不是IP分片的第一片(5)源地址不是單個主機的數(shù)據(jù)報。即源地址不能為零地址、環(huán)回地址、廣播地址或多播地址。這些規(guī)則是為了防止過去允許ICMP差錯報文對廣播分組響應所帶來的廣播風暴。4.5.2ICMP應用舉例

PING(PacketInterNetGroper)用來測試兩個主機之間的連通性。使用了ICMP回送請求與回送回答報文。是應用層直接使用網絡層ICMP的例子,沒有通過運輸層的TCP或UDP。該程序發(fā)送一份ICMP回顯請求報文給主機,并等待返回ICMP回顯應答。Ping程序還能測出到這臺主機的往返時間,以表明該主機離我們有多遠。我們將發(fā)送回顯請求的ping程序為客戶,而稱被ping的主機為服務器。如圖4.32所示。圖4.32

PING命令

Traceroute命令用來獲得從本地計算機到目的主機的路徑信息。在MSWindows中該命令為Tracert,而UNIX系統(tǒng)中為Traceroute。Tracert先發(fā)送TTL為1的回顯請求報文,并在隨后的每次發(fā)送過程將TTL遞增1,直到目標響應或TTL達到最大值,從而確定路由。如圖4.33所示。圖4.33

Traceroute命令4.6.1概述

互聯(lián)網采用的是分層次的、分布式的動態(tài)路由協(xié)議。其中又劃分為許多較小的自治系統(tǒng),如圖4.36所示。每一個小的自治系統(tǒng)中采用的是內部網關協(xié)議(IGPInteriorGatewayProtocol),也稱為域內路由選擇,多個小的自治系統(tǒng)間采用的是外部網關協(xié)議(EGPExternalGatewayProtocol),也稱為域間路由選擇。其中,常用的內部網關協(xié)議有RIP(RoutinginformationProtocol)和OSPF(OpenShortestPathFitst)等,常用的外部網關協(xié)議有BGP(BGPBorderGatewayProtocol)等,如圖4-34所示。4.6互聯(lián)網的路由選擇協(xié)議圖4-34內部網關協(xié)議與外部網關協(xié)議4.6.2內部網關協(xié)議——RIP協(xié)議

1.RIP協(xié)議路由信息協(xié)議(RoutingInformationProtocal)RIP是一種分布式的、基于距離向量的路由選擇協(xié)議,協(xié)議要求網絡中的每個路由器都要維護從它自己到其他每一個目的網絡的距離記錄,以便傳給相鄰的路由器,并且僅與相鄰的路由器交換信息,交換的信息就是當前本路由器的路由表。相鄰的路由器之間會按照固定的時間進行信息交換,當網絡發(fā)生變化時,路由器也會及時向相鄰路由器發(fā)送變化后的路由信息。在RIP協(xié)議中,路由器到直接連接的網絡的距離=1。路由器到非直接連接的網絡的距離=所經過的路由器數(shù)+1。RIP協(xié)議中的“距離”也稱為“跳數(shù)”。因為網絡規(guī)模有限,一條路徑最多只能包含15個路由器。跳數(shù)的最大值為16時即相當于不可達。RIP協(xié)議的局限在于只把路徑長度作為唯一的度量標準,如果遇到速度很快但是長度較長的路徑就不作考慮。RIP協(xié)議還有一個主要缺點:壞消息傳的慢,即當網絡出現(xiàn)故障時,要經過較長的時間才能將此信息傳到所有的路由器。2.路由表的建立路由器在剛剛開始工作的時候,路由表是空的,因為一開始還沒有和其他路由器建立連接,也無法得知下一跳的具體地址,之后才能得到直連網絡的距離。在RIP協(xié)議中,每個路由器都只和自己相鄰的路由器進行數(shù)據(jù)交換路由表。在經過若干次更新后,所有的路由器都會知道到達本自治系統(tǒng)中任何一個網絡的最短距離和下一跳的路由地址。路由表的主要信息包括:目的網絡、最短距離、下一跳地址。路由表的更新則取決于距離向量算法找出到達每個目的網絡的最短距離。3.距離向量算法對每個相鄰路由器(假設其地址為X)發(fā)送過來的RIP報文,路由器:(1)修改報文中的所有路由地址:把“下一跳”字段中的地址都改為X,因為多經過一個路由器,所以把所有的“距離”字段的值加1。(2)對修改后的報文中的每一個項目,重復以下步驟:若路由表中沒有目的網絡N,則把該項目添加到路由表中。若路由器的路由表中,存在到N的路由,再進行如下步驟若路由表中的下一跳地址就是X,那么將修改過的表項替換原來的路由(壞消息傳的慢)。若路由表中的下一跳地址不是X,則將自己的路由的距離與修改過的表項中的距離相比,若修改過的表項中的距離比自己的小,那么替換路由,否則什么也不做。若三分鐘還沒有收到相鄰路由器發(fā)過來的報文,則將此相鄰路由標記為不可到達,即把距離設置為16。4.6.3內部網關協(xié)議——OSPF協(xié)議

開放式最短路徑優(yōu)先OSPF(OpenShortestPathFirst)是為克服RIP的缺點在1989年開發(fā)出來的,使用的是Dijkstra提出的SPF算法,可以快速響應網絡變化。OSPF路由協(xié)議是一種典型的鏈路狀態(tài)(Link-state)的路由協(xié)議,一般用于同一個路由域內,對網絡沒有跳數(shù)限制。其中鏈路指的是路由器接口,鏈路狀態(tài)(LSA)就是OSPF接口上的描述信息,例如接口上的IP地址,子網掩碼,網絡類型,Cost值等等。OSPF路由器之間交換的并不是路由表,而是鏈路狀態(tài)(LSA),OSPF通過獲得網絡中所有的鏈路狀態(tài)信息,從而計算出到達每個目標精確的網絡路徑。OSPF將一個自治系統(tǒng)再

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論