{
\"code\": 200,
\"title\": \"\",
\"content\": \"網絡層是OSI參考模型中的第三層,介於運輸層和數據鏈路層之間,它在數據鏈路層提供的兩個相鄰端點之間的數據幀的傳送功能上,進一步管理網絡中的數據通訊,將數據設法從源端經過若直乾箇中間節點傳送到目的端,從而向運輸層提供最基本的端到端的數據傳送服務。主要內容有:虛電路分組交換和數據報分組交換、路由選擇演算法、阻塞控製方法、X.25協議、綜合業務數據網(ISDN)、異步傳輸模式(ATM)及網際互連原理與實現。\\n\\n網絡層的目的是實現兩個端係統之間的數據透明傳送,具體功能包括尋址和路由選擇、連接的建立、保持和終止等。它提供的服務使運輸層不需要瞭解網絡中的數據傳輸和交換技術。為了說明網絡層\\n\\n網絡層的功能,如圖4.1所示的交換網絡拓撲結構,它是由若乾個網絡節點按照\\n\\n任意的拓撲結構相互連接而成的。網絡層關係到通訊子網的運行控製,體現了網絡應用環境中資源子網訪問通訊子網的方式。網絡層從物理上來講一般分佈地域寬廣,從邏輯上來講功能複雜,因此是OSI模型中麵向數據通訊的下三層(也即通訊子網)中最為複雜也最關鍵的一層。\\n\\n路由選擇及其演算法\\n\\n網絡層\\n\\n通訊子網絡源節點和目的節點提供了多條傳輸路徑的可能性。網絡節點在收到一個分組\\n\\n網絡層後,要確定向下一節\\n\\n點傳送的路徑,這就是路由選擇。在數據報方式中網絡節點要為每個分組路由做出選擇;而在虛電路方式中,隻需在連接建立時確定路由。確定路由選擇的策略稱路由演算法。設計路由演算法時要考慮諸多技術要素。首先是路由演算法所基於的效能指標,一種是選擇最短路由,一種是選擇最優路由;其次要考慮通訊子網是采用虛電路還是數據報方式;其三,是采用分散式路由演算法,即每節點均為到達的分組選擇下一步的路由,還是采用集中式路由演算法,即由中央點或始發節點來決定整個路由;其四,要考慮關於網絡拓撲,流量和延遲等網絡資訊的來源;最後,確定是采用動態路由選擇策略,還是選擇靜態路由選擇策略。\\n\\n1、靜態路由選擇策略\\n\\n靜態路由選擇策略不用測量也無須利用網絡資訊,這種策略按某種固定規則進行路由選擇。其中還可分為泛\\n\\n網絡層\\n\\n射路由選擇、固定路由選擇和隨機路由選擇三種演算法。\\n\\n網絡層(1)泛射路由選擇\\n\\n法:這是一種最簡單的路由演算法。一個網絡節點從某條線路收到一個分組後,再向除該條線路外的所有線路重複發送收到的分組。結果,最先到達目的節點的一個或若乾個分組肯定經過了最短的路線,而且所有可能的路徑都被同時嘗試過。這種方法可用於諸如軍事網絡等強壯性要求很高的場合,即使有的網絡節點遭到破壞,隻要源、目間有一條通道存在則泛射路由選擇仍能保證數據的可靠傳送。另外,這種方法也可用於將一條分組從數據源傳送到所有其它節點的廣播式數據交換中,它還可用來進行網絡的最短傳輸延遲的測試。(2)固定路由選擇:這是一種使用較多的簡單演算法。每個網絡節點存儲一張表格,表格中每一項記錄對應著某個目的節點或鏈路。當一個分組到達某節點時,該節點隻要根據分組的地址資訊便人固定的路由表中查出對應的目的節點及所應選擇的下一節點。固定路由選擇法的優點是簡便易行,在負載穩定,拓撲結構變化不大的網絡中運行效果很好。它的缺點是靈活性差,無法應付網絡中發生的阻塞和故障。\\n\\n(3)隨機路由選擇:在這種方法中,收到分組的節點,在所有與之相鄰的節點中為分組隨機選擇一個出路節點。方法雖然簡單,也較可靠,但實際路由不是最佳路由,增加了不必要的負擔,而且分組傳輸延遲也不可預測,故此法應用不廣。\\n\\n2、動態路由選擇策略\\n\\n節點路由選擇要依靠網絡當前的狀態資訊來決定的策略稱動態路由選擇策略,這種策略能較好地適應網絡流量、拓撲結構的變化,有利於改善網絡的效能。但由於演算法複雜,會增加網絡的負擔,有時會因反應太快引起振\\n\\n網絡層\\n\\n蕩或反應太慢不起作用。獨立路由選擇、集中路由選擇和分佈路由選擇是三種動態路由選擇策略的具體演算法。\\n\\n網絡層\\n\\n(1)獨立路由選擇:在這類路由演算法中,節點僅根據自己搜到的有關資訊作出路由選擇的決定,與其它節點不交換路由選擇資訊,雖然不能正確確定距離本節點較遠的路由選擇,但還是能較好地適應網絡流量和拓撲結構的變化。一種簡單的獨立路由選擇演算法是Baran在1964年提出的熱土豆(HotPotato)演算法。當一個分組到來時,節點必須儘快脫手,將其放入輸出列最短的方向上排隊,而不管該方向通向何方。(2)集中路由選擇:集中路由選擇也象固定路由選擇一樣,在每個節點上存儲一張路由表。不同的是,固定路由選擇演算法中的節點路由表由手工製作,而在集中路由選擇演算法中的節點路由表由路由控製中心RCC(RoutingControlCenter)定時根據網絡狀態計算、生成並分送各相應節點。由於RCC利用了整個網絡的資訊,所以得到的路由選擇是完美的,同時也減輕了各節點計算路由選擇的負擔。(3)分佈路由選擇:采用分佈路由選擇演算法的網絡,所有節點定其地與其每個相鄰節點交換路由選擇資訊。每個節點均存儲一張以網絡中其它每個節點為索引的路由選擇表,網絡中每個節點占用表中一項,每一項又分為兩個部分,即所希望使用的到目的節點的輸出線路和估計到目的節點所需要的延遲或距離。度量標準可以是毫秒或鏈路段數、等待的分組數、剩餘的線路和容量等。對於延遲,節點可以直接發送一個特殊的稱作“回聲”(echo)的分組,接收該分組的節點將其加上時間標記後儘快送回,這樣便可測出延遲。有了以上資訊,節點可由此確定路由選擇。\\n\\n阻塞控製\\n\\n阻塞現象是指到達通訊子網中某一部分的分組數量過多,使得該部分網絡來不及處理,以致引起這部分乃至整個網絡效能下降的現象,嚴重時甚至會導致網絡通訊業務陷入停頓,即出現死鎖現象。這種現象跟公路網中通常所見的交通擁擠一樣,當節假日公路網中車輛大量增加時,各種走向的車流網絡層相互乾擾,使每輛車到達目的地的時間都相對增加(即延遲增加),甚至有時在某段公路上車輛因堵塞而無法開動(區域性死鎖)。通訊子網吞吐量和通訊子網負荷之間一般有如圖4.3所示的關係。當通訊子網負荷(即通訊子網正在傳輸的分組數)比較小時,網絡的吞吐量(單位為分組數\\/秒)隨網絡負荷(可用每個節點中分組的平均數表示)的增加而線性增加。當網絡負荷增加到某一值後,若網絡吞吐量反而下降,則表征網絡中出現了阻塞現象。在一個出現阻塞現象的網絡中,到達一個節點的分組將會遇到無緩衝區可用的情況,從而使帝些分組不得不由前一節點重傳,或者需要由源節點或源端係統重傳。當阻塞比較嚴重時,通訊子網中相當多的傳輸能力和節點緩衝器都用於這種無謂的重傳,從而使通訊子網的有效吞吐量下降,由此導致惡性循環,使通訊子網的區域性甚至全部處於死鎖狀態,網絡有效吞吐量接近為零。在理想的情況下,整個網絡的利用率為100%,但為了使網絡在高負荷上能穩定運行,應控製網絡節點的隊列長度,以避免由於隊列無限增長而產生通訊量的崩潰。有控製的網絡可以以接近於理想吞吐的狀態穩定運行。\\n\\n阻塞控製方法\\n\\n(1)緩衝區預分配法:這種方法用於采用虛電路的分組交換網。在建立虛電路時,讓呼叫請求分組途經的節點為虛電路預先分配一個或多個數據緩衝區。若某個節點緩衝器已被占滿,則呼叫請求分組另擇路由,或者返回一個“忙”信號給呼叫者。這樣,通過途經的各節點為每條虛電路開設的永久性緩衝區(直到虛電路拆除),就總能有空間來接納並轉送經過的分組。當節點收到一個分組並將它轉發出去之後,該節點向發送節點返回一個確認資訊,該確認一方麵意味著接收節點已正確收到分組,另一方麵告訴發送節點,該節點已空出緩衝區以備接收下一分組。上麵是“停-等”協議下的情況,若節點之間的協議允許多個未處理的分組存在,則為了完全消除阻塞的可能性,每個節點要為每條虛電路保留等價於視窗大小數量的緩衝區。這種方法不管有冇有通訊量,都有可觀的資源(線路容量或存儲空間)被某個連接永久地占有。由於為每條連接分配了專用資源因此不可能有效地利用網絡資源。此時的分組交換跟電路交換很相似。(2)分組丟棄法:這種方法不用預先保留緩衝區,而在緩衝區占滿時,將到來的分組丟棄。若通訊子網提供的是數據報服務,則用分組丟棄法來防止阻塞發生不會引起大的影響。但若通訊子網提供的是虛電路服務,則必須在某處儲存被丟棄分組的拷貝,以便阻塞解決後能重新傳送。有兩種解決被丟棄分組重發的方法,一種是讓發送被丟棄的節點超時,並重新發送分組直至分組被收到;另一種是讓發送被丟棄分組的節點在嘗試一定次數後放棄發送,並迫使數據源節點超時而重新開始發送。但是不加分辯地隨意丟棄分組也不妥,因為一個包含確認資訊的分組可以釋放節點的緩衝區,若因節點無空餘緩衝區來接收含確認資訊的分組,這便使節點緩衝區失去了一次釋放的機會。解決這個問題的方法可以為每條輸入鏈路永久地保留一塊緩衝區,心用於接納並檢測所有進入的分組,對於捎帶確認資訊的分組,在利用了所捎帶的確認釋放了一個緩衝區後,再將該分組丟棄或將該捎帶好訊息的分組儲存在剛空出的緩衝區中。\\n\\n(3)定額控製法:這種方法直接對通訊子網中分組的數量進行嚴格、精確的限製,以防止阻塞的發生。從圖4.3網絡吞吐量與負荷的關係曲線中可看出,為避免阻塞,可將通訊子網中正在傳輸的分組數保持在某一負荷值Lc以下。因此,可以設計在通訊子網中存在Lc個稱“許可證”的特殊資訊,這些許可證中的一部分在通訊子網開始工作之前預先以某種策略分配給各個源節點,另一部分則在子網開始工作後在網中四處環遊。當源節點要發送一個剛從源端係統送來的分組時,它必須首先擁有這種許可證,並且每發送一個分組要登出一張許可證。而在目的節點方,則每收到一個分組並將其遞交給目的端係統後,便生成一張許可證。這樣,便保證了子網中分組數量不會超過許可證的數量。\\n\\n死鎖及其防止阻塞的極端後果是死鎖。死鎖是網絡中容易發生的故障之一,即使在網絡負荷不很重時也會發生。死鎖發生時,一組節點由於冇有空閒緩衝區而無法接收和轉發分組,節點之間相互等待,即不能接收分組也不能轉發分組,並永久保持這一狀態,嚴重的甚至導致整個網絡的癱瘓。此時,隻能靠人工乾預,重新啟動網絡解除死鎖。但重新啟動後並未消除引起死鎖的隱患,所以可能再次發生死鎖。死鎖是由於控製技術方麵的某些缺陷所引起的,起因通常難以難捉摸難以發現,即使發現,常常不能立即修複。因此,在各層協議中都必須考慮如何避免死鎖的問題。網絡層圖4-4\\n\\n存儲轉發死鎖及其防止:最常見的死鎖是發生在兩個節點之間的直接存儲轉發死鎖。此時,A節點的所有緩衝區全部用於輸出到B節點的隊列上,而B節點的所有緩衝區也全部用於輸出到A節點的隊列上,A節點不能從B節點接收分組,B節點也不能從A節點接收分組,如圖4.4(a)所示。這種情況也可能發生在一組節點之間,每個節點都企圖向相鄰節點發送分組,但每個節點都無空閒緩衝區用於接收分組,這種情形稱作間接存儲轉發死鎖,如圖4.4(b)所示。當一個節點處於死鎖狀態時,與之相連的所有鏈路都將被完全阻塞。\\n\\n有一種防止存儲轉發死鎖的方法。設一通訊子網直徑為M,即從任一源點到一目的節點的最大中間鏈路段數為M,每個節點需要M+1個緩衝區,以0到M編號。對於一個源節點,規定僅當其0號緩衝區空時才能接收源端係統來的分組,而此分組僅能轉發給1號緩衝區空閒的相鄰節點,再由該節點將分組轉發給它的2號緩衝區空閒的相鄰節點......。最後,該分組或者順利到達目的節點,並被遞交給目的端係統;或者到了某個節點編號為M的緩衝區中,再也轉發不下去,此時,一定發生了循環,應該將該分組丟棄。由於每個分組都按照一定的順序規則分配緩衝區,即分組所占用的緩衝區編號一直在遞增,從而會使節點之間相互等待空閒緩衝區而發生死鎖情況。\\n\\n重裝死鎖及其防止:死鎖中一種比較嚴重的情況是生裝死鎖。假設發給一個端係統的報文很長,被源節點拆成若乾個分組發送,目的節點要將所有具有相同報文編號的分組重新裝配成報文遞交給目的端係統。由於目的節點用於重裝報文的緩衝區空間有限,而且它無法知道在接收的報文究竟被拆成多少個分組,此時,就可能發生嚴重的問題:為了接收更多的分組,該目的節點用完了它的緩衝空間,但它又不能將尚未接收並拚裝完整的報文遞送給目的端係統。而鄰節點仍在不斷地向它傳送分組,但它卻無法接收。\\n\\n這樣,經過多次嘗試後,鄰節點就會繞道從其它途徑再向該目的節點傳送分組,但該目的節點已被牢牢鎖死,其周圍區域也由此發生了阻塞現象。下麵幾種方法可以用於免重裝死鎖的發生:允許目的節點將不完整的報文遞交給目的端係統。一個不能完整重裝的報文能被檢測出來,並要求發送該報文的源端係統重新傳送。為每個節點配備一個後備緩衝空間,當重裝死鎖發生時,將不完整的報文暫移至後備緩衝區中。兩種方法不能很滿意地解決重裝死鎖,因為它們使端係統中的協議複雜化了。一般的設計中,網絡層應該對端係統透明,也即端係統不該考慮諸如報文拆、裝之類的事情。第三種方法雖然不涉及端係統,但每個點增加了開銷,降低了可靠性。\\n\\nX.25協議\\n\\nCCTT於1974年提出了對於分組交換網(Packet-SwitchedNetwork,PSN)的標準訪問協議---X.25,並於1976、1980、1984和1988年相繼作了修訂,X.25描述了主機(DTE)與分組交換網(PSN)\\n\\n網絡層之間的介麵標準,使主機不必關心網絡內部的操作,從而能方便地實現\\n\\n對各種不同網絡的訪問。\\n\\n1、X.25協議層次\\n\\nX.25實際上是DTE與PSN之間介麵的一組協議,X.25協議組包括三個層次,即物理層、數據鏈路層和分組層,分彆定義了三個級彆上的接(見圖4.5)。從圖4.5(a)可看出,X.25的三個協議級僅具有本地意義,這與端到端操作的運輸層協議不同(mqbltu4.5(b))。X.25的分組纊的主要功能相當於OSI參考模型中的第三層,即網功能是向主機提供多通道的道的虛電路服務。\\n\\n2、X.25分組級的功能\\n\\nX.25分組級的主要功能是將數據鏈路層所提供的連接DTE\\/DCE的一條或多條物理鏈路複用成數條邏輯通道,並且對每一邏輯通道所建立的虛電路執行與鏈路層單鏈路協議類似的鏈路建立、數據傳輸、流量控製、順序和差錯檢測、鏈路的拆除等操作。所發送的數據均按分組格式,各種類型的分組長度及互動時的邏輯順序在標準中均有嚴格的規定。利用X.25分組級協議,可向網絡層的用戶提供多個虛電路連接,使用戶可以同時與公用數據網中若乾個其它X.25數據終端用戶(DTE)通訊。在X.25中,DCE向DTE提供本地DTE之間的虛電路業務,這裡包括兩種虛電路:一種是虛呼叫業務,即虛電路請求DTE向DCE發出呼叫請求分組,接收方DCE向被呼DTE發出呼叫分組;然後被DTE發出呼叫接受分組,主呼DTE收到呼叩連通分組,由另一方確認後,虛電路便被拆除。另一種是永久虛電路,即它們是在DTE接入X.25網中時由協商指定的DTE之間的不需要呼叫建立與拆除過除過程的虛電路。在正常情況下,永久虛電路兩端的DTE可隨時發送與接收數據。正如4.1節中介紹過的一樣,每條虛電路都被賦一個虛電路號。在X.25中,一個虛電路號由邏輯通道組號(