網路層[網際網路中的網路層]

網路層[網際網路中的網路層]
網路層[網際網路中的網路層]
更多義項 ▼ 收起列表 ▲

網路層是OSI參考模型中的第三層,介於傳輸層和數據鏈路層之間,它在數據鏈路層提供的兩個相鄰端點之間的數據幀的傳送功能上,進一步管理網路中的數據通信,將數據設法從源端經過若干箇中間節點傳送到目的端,從而向運輸層提供最基本的端到端的數據傳送服務。主要內容有:虛電路分組交換和數據報分組交換、路由選擇算法、阻塞控制方法、X.25協定、綜合業務數據網(ISDN)、異步傳輸模式(ATM)及網際互連原理與實現。

基本信息

功能目的

網路層的目的是實現兩個端系統之間的數據透明傳送,具體功能包括定址和路由選擇、連線的建立、保持和終止等。它提供的服務使傳輸層不需要了解網路中的數據傳輸和交換技術。如果您想用儘量少的詞來記住網路層,那就是“路徑選擇、路由及邏輯定址”。

網路層 網路層

為了說明網路層的功能,如圖4.1所示的交換網路拓撲結構,它是由若干個網路節點按照任意的拓撲結構相互連線而成的。網路層關係到通信子網的運行控制,體現了網路套用環境中資源子網訪問通信子網的方式。網路層從物理上來講一般分布地域寬廣,從邏輯上來講功能複雜,因此是OSI模型中面向數據通信的下三層(也即通信子網)中最為複雜也最關鍵的一層。

七層協定

套用層

與其它計算機進行通訊的一個套用,它是對應應用程式的通信服務的。例如,一個沒有通信功能的字處理程式就不能執行通信的代碼,從事字處理工作的程式設計師也不關心OSI的第7層。但是,如果添加了一個傳輸檔案的選項,那么字處理器的程式設計師就需要實現OSI的第7層。示例:telnet,HTTP,FTP,NFS,SMTP等。

表示層

這一層的主要功能是定義數據格式及加密。例如,FTP允許你選擇以二進制或ASCII格式傳輸。如果選擇二進制,那么傳送方和接收方不改變檔案的內容。如果選擇ASCII格式,傳送方將把文本從傳送方的字元集轉換成標準的ASCII後傳送數據。在接收方將標準的ASCII轉換成接收方計算機的字元集。示例:加密,ASCII等。

會話層

它定義了如何開始、控制和結束一個會話,包括對多個雙向訊息的控制和管理,以便在只完成連續訊息的一部分時可以通知套用,從而使表示層看到的數據是連續的,在某些情況下,如果表示層收到了所有的數據,則用數據代表表示層。示例:RPC,SQL等。

傳輸層

這層的功能包括是否選擇差錯恢復協定還是無差錯恢復協定,及在同一主機上對不同套用的數據流的輸入進行復用,還包括對收到的順序不對的數據包的重新排序功能。示例:TCP,UDP,SPX。

網路層

這層對端到端的包傳輸進行定義,它定義了能夠標識所有結點的邏輯地址,還定義了路由實現的方式和學習的方式。為了適應最大傳輸單元長度小於包長度的傳輸介質,網路層還定義了如何將一個包分解成更小的包的分段方法。示例:IP,IPX等。

數據鏈路層

它定義了在單個鏈路上如何傳輸數據。這些協定與被討論的各種介質有關。示例:ATM,FDDI等。

物理層

OSI的物理層規範是有關傳輸介質的特性標準,這些規範通常也參考了其他組織制定的標準。連線頭、幀、幀的使用、電流、編碼及光調製等都屬於各種物理層規範中的內容。物理層常用多個規範完成對所有細節的定義。示例:Rj45,802.3等。

路由選擇

網路層 網路層

通信子網路源節點和目的節點提供了多條傳輸路徑的可能性。網路節點在收到一個分組 後,要確定向下一節點傳送的路徑,這就是路由選擇。在數據報方式中網路節點要為每個分組路由做出選擇;而在虛電路方式中,只需在連線建立時確定路由。確定路由選擇的策略稱路由算法。設計路由算法時要考慮諸多技術要素。首先是路由算法所基於的性能指標,一種是選擇最短路由,一種是選擇最優路由;其次要考慮通信子網是採用虛電路還是數據報方式;其三,是採用分散式路由算法,即每節點均為到達的分組選擇下一步的路由,還是採用集中式路由算法,即由中央點或始發節點來決定整個路由;其四,要考慮關於網路拓撲,流量和延遲等網路信息的來源;最後,確定是採用動態路由選擇策略,還是選擇靜態路由選擇策略。

靜態路由

網路層 網路層

靜態路由選擇策略不用測量也無須利用網路信息,這種策略按某種固定規則進行路由選擇。其中還可分為泛射路由選擇、固定路由選擇和隨機路由選擇三種算法。 (1)泛射路由選擇法: 這是一種最簡單的路由算法。一個網路節點從某條線路收到一個分組後,再向除該條線路外的所有線路重複傳送收到的分組。結果,最先到達目的節點的一個或若干個分組肯定經過了最短的路線,而且所有可能的路徑都被同時嘗試過。這種方法可用於諸如軍事網路等強壯性要求很高的場合,即使有的網路節點遭到破壞,只要源、目間有一條信道存在則泛射路由選擇仍能保證數據的可靠傳送。另外,這種方法也可用於將一條分組從數據源傳送到所有其它節點的廣播式數據交換中,它還可用來進行網路的最短傳輸延遲的測試。 (2)固定路由選擇:這是一種使用較多的簡單算法。每個網路節點存儲一張表格,表格中每一項記錄對應著某個目的節點或鏈路。當一個分組到達某節點時,該節點只要根據分組的地址信息便可從固定的路由表中查出對應的目的節點及所應選擇的下一節點。固定路由選擇法的優點是簡便易行,在負載穩定,拓撲結構變化不大的網路中運行效果很好。它的缺點是靈活性差,無法應付網路中發生的阻塞和故障。

(3)隨機路由選擇:在這種方法中,收到分組的節點,在所有與之相鄰的節點中為分組隨機選擇一個出路節點。方法雖然簡單,也較可靠,但實際路由不是最佳路由,增加了不必要的負擔,而且分組傳輸延遲也不可預測,故此法套用不廣。

動態路由

網路層 網路層

節點路由選擇要依靠網路當前的狀態信息來決定的策略稱動態路由選擇策略,這種策略能較好地適應網路流量、拓撲結構的變化,有利於改善網路的性能。但由於算法複雜,會增加網路的負擔,有時會因反應太快引起振盪或反應太慢不起作用。獨立路由選擇、集中路由選擇和分布路由選擇是三種動態路由選擇策略的具體算法。 (1)獨立路由選擇:在這類路由算法中,節點僅根據自己搜到的有關信息作出路由選擇的決定,與其它節點不交換路由選擇信息,雖然不能正確確定距離本節點較遠的路由選擇,但還是能較好地適應網路流量和拓撲結構的變化。一種簡單的獨立路由選擇算法是Baran在1964年提出的熱土豆(Hot Potato)算法。當一個分組到來時,節點必須儘快脫手,將其放入輸出列最短的方向上排隊,而不管該方向通向何方。(2)集中路由選擇:集中路由選擇也象固定路由選擇一樣,在每個節點上存儲一張路由表。不同的是,固定路由選擇算法中的節點路由表由手工製作,而在集中路由選擇算法中的節點路由表由路由控制中心RCC(Routing Control Center)定時根據網路狀態計算、生成並分送各相應節點。由於RCC利用了整個網路的信息,所以得到的路由選擇是完美的,同時也減輕了各節點計算路由選擇的負擔。 (3)分布路由選擇:採用分布路由選擇算法的網路,所有節點定期地與其每個相鄰節點交換路由選擇信息。每個節點均存儲一張以網路中其它每個節點為索引的路由選擇表,網路中每個節點占用表中一項,每一項又分為兩個部分,即所希望使用的到目的節點的輸出線路和估計到目的節點所需要的延遲或距離。度量標準可以是毫秒或鏈路段數、等待的分組數、剩餘的線路和容量等。對於延遲,節點可以直接傳送一個特殊的稱作“回聲”(echo)的分組,接收該分組的節點將其加上時間標記後儘快送回,這樣便可測出延遲。有了以上信息,節點可由此確定路由選擇。

阻塞控制

阻塞現象是指到達通信子網中某一部分的分組數量過多,使得該部分網路來不及處理,以致引起這部分乃至整個網路性能下降的現象,嚴重時甚至會導致網路通信業務陷入停頓,即出現死鎖現象。這種現象跟公路網中通常所見的交通擁擠一樣,當節假日公路網中車輛大量增加時,各種走向的車流

網路層 網路層

相互干擾,使每輛車到達目的地的時間都相對增加(即延遲增加),甚至有時在某段公路上車輛因堵塞而無法開動(局部死鎖)。通信子網吞吐量和通信子網負荷之間一般有如圖4.3 所示的關係。當通信子網負荷(即通信子網正在傳輸的分組數)比較小時,網路的吞吐量(單位為分組數/秒)隨網路負荷(可用每個節點中分組的平均數表示)的增加而線性增加。當網路負荷增加到某一值後,若網路吞吐量反而下降,則表征網路中出現了阻塞現象。在一個出現阻塞現象的網路中,到達一個節點的分組將會遇到無緩衝區可用的情況,從而使這些分組不得不由前一節點重傳,或者需要由源節點或源端系統重傳。當阻塞比較嚴重時,通信子網中相當多的傳輸能力和節點緩衝器都用於這種無謂的重傳,從而使通信子網的有效吞吐量下降,由此導致惡性循環,使通信子網的局部甚至全部處於死鎖狀態,網路有效吞吐量接近為零。在理想的情況下,整個網路的利用率為100%,但為了使網路在高負荷上能穩定運行,應控制網路節點的佇列長度,以避免由於佇列無限增長而產生通信量的崩潰。有控制的網路可以以接近於理想吞吐的狀態穩定運行。

控制方法

(1)緩衝區預分配法:這種方法用於採用虛電路的分組交換網。在建立虛電路時,讓呼叫請求分組途經的節點為虛電路預先分配一個或多個數據緩衝區。若某個節點緩衝器已被占滿,則呼叫請求分組另擇路由,或者返回一個“忙”信號給呼叫者。這樣,通過途經的各節點為每條虛電路開設的永久性緩衝區(直到虛電路拆除),就總能有空間來接納並轉送經過的分組。當節點收到一個分組並將它轉發出去之後,該節點向傳送節點返回一個確認信息,該確認一方面意味著接收節點已正確收到分組,另一方面告訴傳送節點,該節點已空出緩衝區以備接收下一分組。上面是“停-等”協定下的情況,若節點之間的協定允許多個未處理的分組存在,則為了完全消除阻塞的可能性,每個節點要為每條虛電路保留等價於視窗大小數量的緩衝區。這種方法不管有沒有通信量,都有可觀的資源(線路容量或存儲空間)被某個連線永久地占有。由於為每條連線分配了專用資源因此不可能有效地利用網路資源。此時的分組交換跟電路交換很相似。 (2)分組丟棄法:這種方法不用預先保留緩衝區,而在緩衝區占滿時,將到來的分組丟棄。若通信子網提供的是數據報服務,則用分組丟棄法來防止阻塞發生不會引起大的影響。但若通信子網提供的是虛電路服務,則必須在某處保存被丟棄分組的拷貝,以便阻塞解決後能重新傳送。有兩種解決被丟棄分組重發的方法,一種是讓傳送被丟棄的節點逾時,並重新傳送分組直至分組被收到;另一種是讓傳送被丟棄分組的節點在嘗試一定次數後放棄傳送,並迫使數據源節點逾時而重新開始傳送。但是不加分辯地隨意丟棄分組也不妥,因為一個包含確認信息的分組可以釋放節點的緩衝區,若因節點無空餘緩衝區來接收含確認信息的分組,這便使節點緩衝區失去了一次釋放的機會。解決這個問題的方法可以為每條輸入鏈路永久地保留一塊緩衝區,心用於接納並檢測所有進入的分組,對於捎帶確認信息的分組,在利用了所捎帶的確認釋放了一個緩衝區後,再將該分組丟棄或將該捎帶好訊息的分組保存在剛空出的緩衝區中。

(3)定額控制法:這種方法直接對通信子網中分組的數量進行嚴格、精確的限制,以防止阻塞的發生。從圖4.3網路吞吐量與負荷的關係曲線中可看出,為避免阻塞,可將通信子網中正在傳輸的分組數保持在某一負荷值Lc以下。因此,可以設計在通信子網中存在Lc個稱“許可證”的特殊信息,這些許可證中的一部分在通信子網開始工作之前預先以某種策略分配給各個源節點,另一部分則在子網開始工作後在網中四處環遊。當源節點要傳送一個剛從源端系統送來的分組時,它必須首先擁有這種許可證,並且每傳送一個分組要註銷一張許可證。而在目的節點方,則每收到一個分組並將其遞交給目的端系統後,便生成一張許可證。這樣,便保證了子網中分組數量不會超過許可證的數量。

網路層 網路層

死鎖

阻塞的極端後果是死鎖。死鎖是網路中容易發生的故障之一,即使在網路負荷不很重時也會發生。死鎖發生時,一組節點由於沒有空閒緩衝區而無法接收和轉發分組,節點之間相互等待,即不能接收分組也不能轉發分組,並永久保持這一狀態,嚴重的甚至導致整個網路的癱瘓。此時,只能靠人工干預,重新啟動網路解除死鎖。但重新啟動後並未消除引起死鎖的隱患,所以可能再次發生死鎖。死鎖是由於控制技術方面的某些缺陷所引起的,起因通常難以難捉摸難以發現,即使發現,常常不能立即修復。因此,在各層協定中都必須考慮如何避免死鎖的問題。 網路層圖4-4

存儲轉發死鎖及其防止: 最常見的死鎖是發生在兩個節點之間的直接存儲轉發死鎖。此時,A節點的所有緩衝區全部用於輸出到B節點的佇列上,而B節點的所有緩衝區也全部用於輸出到A節點的佇列上,A節點不能從B節點接收分組,B節點也不能從A節點接收分組,如圖4.4(a)所示。這種情況也可能發生在一組節點之間,每個節點都企圖向相鄰節點傳送分組,但每個節點都無空閒緩衝區用於接收分組,這種情形稱作間接存儲轉發死鎖,如圖4.4(b)所示。當一個節點處於死鎖狀態時,與之相連的所有鏈路都將被完全阻塞。

有一種防止存儲轉發死鎖的方法。設一通信子網直徑為M,即從任一源點到一目的節點的最大中間鏈路段數為M,每個節點需要M+1個緩衝區,以0到M編號。對於一個源節點,規定僅當其0號緩衝區空時才能接收源端系統來的分組,而此分組僅能轉發給1號緩衝區空閒的相鄰節點,再由該節點將分組轉發給它的2號緩衝區空閒的相鄰節點......。最後,該分組或者順利到達目的節點,並被遞交給目的端系統;或者到了某個節點編號為M的緩衝區中,再也轉發不下去,此時,一定發生了循環,應該將該分組丟棄。由於每個分組都按照一定的順序規則分配緩衝區,即分組所占用的緩衝區編號一直在遞增,從而會使節點之間相互等待空閒緩衝區而發生死鎖情況。

重裝死鎖及其防止:死鎖中一種比較嚴重的情況是生裝死鎖。假設發給一個端系統的報文很長,被源節點拆成若干個分組傳送,目的節點要將所有具有相同報文編號的分組重新裝配成報文遞交給目的端系統。由於目的節點用於重裝報文的緩衝區空間有限,而且它無法知道在接收的報文究竟被拆成多少個分組,此時,就可能發生嚴重的問題:為了接收更多的分組,該目的節點用完了它的緩衝空間,但它又不能將尚未接收並拼裝完整的報文遞送給目的端系統。而鄰節點仍在不斷地向它傳送分組,但它卻無法接收。

這樣,經過多次嘗試後,鄰節點就會繞道從其它途徑再向該目的節點傳送分組,但該目的節點已被牢牢鎖死,其周圍區域也由此發生了阻塞現象。下面幾種方法可以用於免重裝死鎖的發生: 允許目的節點將不完整的報文遞交給目的端系統。 一個不能完整重裝的報文能被檢測出來,並要求傳送該報文的源端系統重新傳送。 為每個節點配備一個後備緩衝空間,當重裝死鎖發生時,將不完整的報文暫移至後備緩衝區中。兩種方法不能很滿意地解決重裝死鎖,因為它們使端系統中的協定複雜化了。一般的設計中,網路層應該對端系統透明,也即端系統不該考慮諸如報文拆、裝之類的事情。第三種方法雖然不涉及端系統,但每個點增加了開銷,降低了可靠性。

X.25

CCITT於1974年提出了對於分組交換網(Packet-Switched Network,PSN)的標準訪問協定---X.25,並於1976、1980、1984和1988年相繼作了修訂,X.25描述了主機(DTE)與分組交換網(PSN)

網路層 網路層

之間的接口標準,使主機不必關心網路內部的操作,從而能方便地實現對各種不同網路的訪問。

X.25協定層次

X.25實際上是DTE與PSN之間接口的一組協定,X.25協定組包括三個層次,即物理層、數據鏈路層和分組層,分別定義了三個級別上的接(見圖4.5)。從圖4.5(a)可看出,X.25的三個協定級僅具有本地意義,這與端到端操作的運輸層協定不同(mqb ltu 4.5(b))。X.25的分組纊的主要功能相當於OSI參考模型中的第三層,即網功能是向主機提供多信道的道的虛電路服務。

分組級

X.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中,一個虛電路號由邏輯信道組號(<15)和邏輯信道號(<225)組成,而且在虛電路兩端的虛電路號是互相無關的,由DCE將虛電路號映射到虛電路上去。用於虛呼叫的虛電路號範圍和永久虛電路的虛電路號應在簽訂業務時與管理部門協商確定與分配。

公用數據網有兩種操作方式,一種是虛電路方式,另一種是數據報方式。儘管其它一些網路體系結構(如Ethernet)仍在有效地使用數據報技術,但數據報服務已在1980年的修訂中被從X.25標準中刪去,取而代之的是一個稱作快速選擇(FastSelect)的可選擴選擴充業務。X.25所規定的虛電路服

網路層 網路層

務屬於面向連線的OSI服務方式,這正好符合OSI參考模型中的網路系層服務標準定義,為公用數據網與OSI結合提供了可能性。OSI網路層的功能是提供獨立於運輸層的中繼器和路由選擇以及其它與之相關的功能。在面向連線的網路層服務中,要進行通信的網路層實體必須首先建立連線,這在X.25中即不相應的建立虛電路的呼叫建立規程。網路層向運輸層提供與路由選擇和中繼器無關的網路層服務。

X.25

在分組級上,所有的信息都是以分組作為基本單位進行傳輸和處理的,無論是DTE之間所要傳輸的數據,還是交換網所用的控制信息,都要以分組形式來表示,並按照鏈路協定穿越DTE\DCE界面進行傳輸。因此數據鏈路層上傳輸時,分組應嵌入到信息幀(I幀)的信息欄位中,即表示成如下的格式:標記欄位F/地址欄位A/控制欄位C/[分組]/幀校驗序列FCS/標記欄位F。每個分組都是由分組頭和數據信息兩部分組成,其一般格式如圖4.6所示。 分組格式的數據部分(可以為空)通常被遞交給高層協定或用戶程式去處理,所以分組協定中不對它作進一步規定。分組頭用於網路控制,主要包括DTE/DCE的局部控制信息,其長度隨分組類型不同,但至少要包含前三個位元組,化們分別給通用格式標積、邏輯信道標識和分組類型標識,它們的含義如下:

(1)通用格式標識(GFI):由分組中第一個位元組的前4位組成,用於指出分組頭中其餘部分的格式。第一位(b8)稱作q位或限定位,只用於數據分組中。這是為了對分組中的數據進行特殊處理而設定的,可用於區分數據是正常數據,還是控制信息。對於其它類型的分組,該設定為“0”。第二位(b7)稱d位或傳送確認位,設定該位的目的是用來指出DTE是否希望用分組接收序號P(R)來對它所接數據作端一端確認。在呼叫建立時,DTE之間可通過D位來商定虛電路呼叫期間是否間是將使用D位規程。第三、四位(b6、b5)用以指示數據分組的序號是用3位即模8(b6置“1”)還是7位即模128(b5置“1”),這兩位或者取“10”,一旦選定,相應的分組格式也有所變化。

網路層 網路層

(2)邏輯信道標識:由第一個位元組中的剩餘四位(b4、b3、b2、b1)所作的邏輯信道組號(LCGN)和第二個位元組所作的邏輯信道號(LCN)中分組成,用以標識邏輯信道。(3)分組類型標識:由第三個位元組組成,用於區分分組的類型和功能。若該位元組的最後一位(b1)是“0”,則表示分組為數據分組;若該位是“1”,則表示分組為控制其中可包括呼叫請求或指示分組及釋放請求或指示分組。若該字末三位(b3、b2、b1)為全“1”,則表示該分組是某個確認或接受分組。

第四個位元組及其後諸位元組將依據分組類型的不同而有不同的定義。X.25分組級協定規定了多種類型的他組。由於DTE與DCE的不對稱性,所以珍有相同類型編碼的同類型分組,因其傳輸方高的不同有不同的含義和解釋,具體實現時也有所不同。為此,分組協定從本地DTE的分組表示地DTE經DCE向遠地DTE傳送的命令請求或應答回響;反之,從DCE到DTE的分組表示DCE代表遠地DTE向本地DTE送的命令或應答回響。

數據類型編碼部分,除了用M位代替I幀中的P/F位外,其它內容與數據鏈路級的幀格式控制欄位C非常類似,最末位的“0”是數據類型分組的特徵位。M(More data)位置“1”,表示還有後續的數據,即當前數據分組中的數據將以同一邏輯信道上的下一數據分給中的數據作為邏輯繼續。P(S)、P(R)分別稱為分組傳送順序號和接收順序號,它們作用大與幀格式中的N(S)和N(R)相當。但是,它們的主要作用是控制每條邏輯入道上向分組交換網傳送或從交換網收的數據流,而不只為站點之間提供確認手段,目的是為了調節每個邏輯信道上的流量,以防止對分組交換網的壓力過重。實際上,P(s)或P(R)的值用以確定一個給定的邏輯信道上的“視窗”,表示信道上允許傳送多少個未被回響的分組。能傳輸未回響分組的最大值稱為視窗大小W,每條虛電路的視窗大小是在呼叫建立時分配的,但最大不能超過7(序號採用3位時)或127(序號採用7位時)個分組。

與數據鏈路級幀格式一樣,分組級也包括RR、RNR和REJ三種分組,它們被為流量控制分組,這些分組中的類型欄位只包括接順序號P(R),而無傳送順序號P(S)。RR用於告知對方本方正準備從給定邏輯信道上接收數據分組。RNR可以通過同一方向上傳送的RR分組加以清除。與數據鏈路級幀格式一樣,分組級也包括一些無編號的分組,如中斷請求分組,化不需要等待事先已傳送的其它分組,而能立即向外傳送,甚至在對方不能接收數據時也能傳送。中斷請求分組只能攜帶一個位元組的用戶數據,放在原因欄位中用以向對方中斷信息或原因。

X.25中還定義了很多其它類型的分組,包括釋放請求/指示、復位請求/指示、重啟動請求/指示。其中除復位請求/指示分組多一個診斷代碼外,其它均與中斷請求分組格式相同。這些分組都包括一個“原因”欄位,用以存入引起相應動作的原因。需要說明一下復位與重啟動之間的差別,復位請求是為了在數據傳輸狀態中對虛呼叫或永久虛電路進行重新初始準備而設定的;而重啟動則用於同時釋放DTE/DCE界面上所有虛呼叫及復位所有永久電路而設定的。最後一類分組僅含三個位元組,屬於該類格式的分組包括各種確認分組。它們分別是用以對呼叫、釋放、中斷、復位及重啟動的請示或指示的確認。

ISDN

定義

網路層 網路層

ISDN從字面上解釋是Intergrated Services Digital Network的縮寫,譯作綜合業務數字網。但也可把“IS”理解為Standard Interface for all Services(一切業務的標準接口);把“DN”理解為Digital End to End to End connectivity(數字端到端連線)。現代社會需要一種全社會的、經濟的、快速存取信息的手段,ISDN正是在這種社會需要的背景下,以及計算機技術、通信技術、VLSI技術飛速發展的前提下產生的。ISDN目標提供經濟的、有效的、端到端的數字連線以支持廣泛的服務,包括聲音的和非聲音的服務。用戶只需通過有限的網路連線及接口標準,就可在很大的區域範圍,甚至全球範圍記憶體取網路的信息。

系統結構

ISDN系統結構主要討論用戶設備和ISDN交換系統之間的接口。一個重要的概念稱為數字位管道,即在用戶設備和傳輸設備之間通過比特流的管道。不管這些數字位來自於數字電話、數字終端、數字傳真機,或任何其它設備,這些比特流都能雙向通過管道。數字位管道用比特流的 時分復用支持多個獨立的通道。在數字位管道的接口規範中定義了比特流的確切格式以及比特流的復用。已經定義了兩個位管道的標準,一個是用於家庭的低頻帶標準,另一個是用於企事業的高頻帶標準,後者可支持多個通道,如果需要的話,也可配置多個位管道。

圖4.11(a)是用於家庭或小企事業單位的配置,在用戶設備和ISDN交換系統之間設定一個網路終端設備NT1、NT1設定在靠近用戶設備這一邊,利用電話線和幾公里以外的交換系統相連。NT1裝有一個連線器,無源匯流排電纜可插入連線器,最多有八個ISDN電話、終端或其它設備可接到匯流排電纜,如同接到區域網路的方法一樣連線。從用戶的角度看,和網路的界面是NT1上的連線器。NT1不僅起接插板的作用,它還包括網路管理、測試、維護和性能監視等。在無源匯流排上的每個設備必須有一個唯一的地址。NT1還包括解決爭用的邏輯,當幾個設備同時訪問匯流排時,由NT1來決定哪個設備獲得匯流排訪問權。從OSI參考模型來看,NT1是一個物理層設備。

對於大的企事業單位需要用圖4.11(b)的配置,因為往往有很多電話在同時進行,匯流排無法處理。在這種配置中有一個NT2設備,實際上,NT2和NT1就是前面討論過的CBX。NT2和NT1連線並對各種電話、終端以及其它設備提供真正的接口。事實上NT2和ISDN交換系統沒有本質上的差別,只是規模比較小。在單位內部通電話或數字通信,只需撥四個數字的分機號碼,和ISDN交換系統無關。撥一個“9”字,就和外線相連,CBX專門分配一個通道和數字通道相連。CCITT定義了四個參考點,稱R、S、T和U,如圖4.11所示。U參考點連線ISDN交換系統和NT1,採用兩線的銅雙絞線,今後可能被光纖代替。T參考點是NT1上提供給用戶的連線器。S參考點是ISDN的CBX和ISDN終端的接口。R參考點用以連線終端適配器和非ISDN終端,R參考點是使用很多不同的接口。

信息傳送

網路層 網路層

當今人們對通信的要求越來越高,除原有的語聲、數據、傳真業務外,還要求綜合傳輸高清晰度電視、廣播電視、高速數據傳真等寬頻業務。隨著光纖傳輸、微電子技術、寬頻通信技術和計算機技術的發展,為滿足這些迅猛增長的要求提供了基礎。早在1985年1月,CCITT第18研究組就成立了專門 小組著手研究寬頻ISDN,其研究結果見1988年通過的修訂的I-系列建議。 由窄帶ISDN向寬頻ISDN的發展,可分為三個階段。第一階段是進一步實現話音、數據和圖像等業務的綜合。它是由三個獨立的網構成初步綜合的B-ISDN(如圖4.12所示)。由ATM構成的寬頻交換網實現話音、高速數據和活動圖象的綜合傳輸。第二階段的主要特徵是B-ISDN和用戶/網路接口已經標準化,光纖已進入家庭,光交換技術已廣泛套用,因此它能提供包括具有多頻道的高清晰度電視 HDTV(HighDefinition Telecison)在內的寬頻業務。第三階段的主要特徵是在寬頻ISDN中引入了智慧型管理網。由智慧型網控制中心來管理三個基本網。智慧型網也可稱作智慧型專家系統。

B-ISDN採用的傳送方式主要有高速分組交換、高速電路交換、異步傳送方式ATM和光交換方式四種。高速分組交換是利用分組交換的基本技術,簡化了X.25協定,採用面向連線的服務,在鏈路上無流量控制、無差錯控制,集中分組交換和同步時分交換的優點,已有多個試驗網已投入試運行。高速電路交換主要是多速時分交換方式(TDSM),這種方式允許信道按時間分配,其頻寬可為基本速率的整數倍,由於這是快速電路交換,其信道的管理和控制十分複雜,尚有許多問題需要繼續研究,還沒進入實用階段。光交換技術的主要設備是光交換機,它將光技術引入傳輸迴路和控制迴路,實現數位訊號的高速傳輸和交換。由於光積體電路技術尚末成熟,故光交換技術預計要到21世紀才能進到實用階段。

工作原理

ATM的特點是進一步簡化了網路功能。ATM網路不參與任何數據鏈路層功能。將差錯控制與流量控制工作都交給終端去做。圖4.15是分組交換、幀中繼和ATM交換三種方式的功能比較。可以看出,分組交換網的交換節點參與了OSI第一到第三層的全部功能;幀中繼節點只參與第二層功能的核心部分,也即數據鏈路層中的幀定界、0比特填充和CRC檢驗功能第二層的其它功能,即差錯控制和流量控制,以及第三層功能則義給終端去處理;ATM網路則更為簡單,除了第一層的功能之外,交換節點不參與任何工作。從功能分布的情況來看,ATM網和電路交換網特點相似。因此有人說ATM網是綜合了分組交換和電路交換的優點而形成的一種網路,這是很有道理的。

ATM克服了其它傳送方式的缺點,能夠適應任何類型的業務,不論其速度高低,突發性大小,實時性要求和質量要求如何,都能提供滿意的服務。CCITT在I.113建議中給ATM下了這樣的定義:ATM是一種轉換模式(即前面所說的傳送方式),在這一模式中信息被組織成信元,而包含一段信息的信元並不需要周期性地出現,從這個意義上來說,這種轉換模式是異步的。信元(cell)實際上就是分組,只是為了區別於X.25的分組,才將ATM的信息單元叫作信元。ATM的信元具有固定的長度,即總是53個位元組。其中5個位元組是信頭(header),48個位元組是信息段,或稱有效負荷(payload)。信頭包含各種控制信息,主要是表示信元去向的邏輯地址,另外還有一些維持信息,優先度及信頭的糾錯碼。信息段中包含來自各種不同業務的用戶信息,這些信息透明地穿過網路。信元的格式與業務無關,任何業務的信息都同樣被切割封裝成統一格式的信元。

ATM採用異步時分復用的方式,見圖4.16。來自不同信息的信元匯集到一起,在一個緩衝器內排隊,佇列中的信元逐個輸到傳輸線路,在傳輸線路上形成首尾相接的信元流。信元的信頭中寫有信息的標誌(如A和B),說明該信元去往的地址,網路根據信頭中的標誌來轉移信元。由於信息源產生信息是隨機的,因此,信元到達佇列也是隨機的。高速的業務信元來得十分頻繁、集中;低速的業務信元來得很稀疏。這些信元都按先來後到在佇列中排隊。佇列中的信元按輸出次序用在傳輸線上,具有同樣標誌的信元在傳輸線上並不對應某個固定的時間間隙,也不是按周期出現的,也就是說信息和它在時域中的位置之間沒有任何關係,信息只是按信頭中的標誌來區分的。這種復用方式叫作異步時分復用(Asynchronous Time Division Multiplex),又叫統計復用(Statistic Multiplex),在同步時分復用方式(如PCM復用方式)中,信息以它在一幀中的時間位置(時隙)來區分,一個時隙對應著一條信道,不需要另外的信息頭來標誌信息的身份。

網路層 網路層

異步時分復用方式使ATM具有很大的靈活性,任何業務都可按實際需要來占用資源,對特定業務,傳送的速率隨信息到達的速率而變化,因此網路資源得到最大限度的利用。此外,ATM網路可以適用於任何業務,不論其特性如何(速率高低、突發性大小、質量和實時性要求等),網路都按同樣的模式來處理,真正做到了完全的業務綜合。如果在某個時刻佇列排空了所有的信元,此時線路上就出現末分配信元(信頭中含有標誌@);反之,如果在某個時刻傳輸線路上找不到可以傳送信元的機會(信元都已排滿),而佇列已經充滿緩衝區,此時,為了儘量減少對業務質量的影響,在信元的信頭寫有優先度標誌,首先丟棄的總是那些優先度低,不太重要的信元。當然緩衝區的容量必須根據信息流量來計算,使信元丟失率在10-9以下。

為了提高處理速度,降低延遲,ATM以面向連線器方式工作。網路的處理工作十分簡單:通信開始時建立虛電路,以後用戶將虛電路標誌寫入信頭(即地址信息),網路根據虛電路標誌將信元送往目的地。經過ATM復用後,信元流速率取決於傳輸線路的速率,如果採用單模光纖,這個速率可高達幾處Gbps。每條虛電路的速率和屬於該虛電路的信元出現的頻率有關。ATM網路包括一些節點,這些節點提供信元的交換。實際上,節點完成的只是虛電路的交換,因為同一虛電路上的所有信元都選擇同樣的路由,經過同樣的通路到達目的地。在接收端,這些信元到達的次序總是和傳送次序相同。ATM交換節點的工作比X.25分組交換網中的節點要簡單得多。ATM節點只做信頭的CRC檢驗,對於信息段的傳輸差錯根本不過問。ATM節點不做差錯控制(信頭中根本沒有信元的編號),也不參與流量控制,這些工作都留給終端去做。ATM節點的主要工作就是讀信頭,並根據信頭的內容快速地將信元送往要去的地方,這件工作在很大程度上依靠硬體來完成,因此,ATM交換的速度非常快,可以和光纖的傳輸速度相匹配。

網路層協定

TCP/IP網路層的核心是IP協定,它是TCP/IP協定族中最主要的協定之一。IP協定非常簡單,僅僅提供不可靠、無連線的傳送服務。IP協定的主要功能有:無連線數據報傳輸、數據報路由選擇和差錯控制。與IP協定配套使用實現其功能的還有地址解析協定ARP、逆地址解析協定RARP、網際網路報文協定ICMP、網際網路組管理協定IGMP。

IP位址

TCP/IP網路使用32位長度的地址以標識一台計算機和同它相連的網路,它的格式為:IP位址=網

網路層 網路層

絡地址+主機地址。IP位址是通過它的格式分類的,它有四種格式:A類、B類、C類、D類。如下所示

格式位數主機地址:A類0網路(7位)主機地址(24位)、

B類10網路(14位)主機地址(16位)、C類110網路(21位)主機地址(8位)、D類1110多路通信地址(28位)、未來的格式11110將來使用。這樣,A類地址空間為0-127,最大網路數為126,最大主機數為16,777,124;B類地址空間為128-191,最大網路數為16384,最大主機數為65,534;C類地址空間為192-223,最大網路數為2,097,152,最大主機數為254;D類地址空間為224-254。 C類地址空間分配概況。分配區域地址空間:多區域192.0.0.0~193.255.255.255、歐洲:194.0.0.0~195.255.255.255、其他:196.0.0.0~197.255.255.255、北美:197.0.0.0~199.255.255.255、中南美:200.0.0.0~201.255.255.255、太平洋地區:202.0.0.0~203.255.255.255、其他:204.0.0.0~205.255.255.255、其他:206.0.0.0~207.255.255.255。註:其中“多區域”表示執行該計畫前已經分配的地址空間;“其他”表示已指定名稱的地區之外的地理區劃。

特殊格式的IP位址:廣播地址:當網路或主機標誌符欄位的每位均設定為1時,這個地址編碼標識著該數據報是一個廣播式的通信,該數據報可以被傳送到網路中所有的子網和主機。例如,地址128.2.255.255意味著網路128.2上所有的主機。本網路地址:IP位址的主機標識符欄位也可全部設定為0,表示該地址作為“本主機”地址。網路標識符欄位也可全部設定為0,表示“本網路”。如,128.2.0.0表示網路地址為128.2的網路。使用網路標識符欄位全部設定為0的IP位址在一台主機不知道網路的IP位址時時是很有用的。私有的IP位址:在有些情況下,一個機構並不需要連線到Internet或另一個專有的網路上,因此,無須遵守對IP位址進行申請和登記的規定。該機構可以使用任何的地址。在RFC1597中,有些IP位址是用作私用地址的:A類地址:10.0.0.0到10.255.255.255。B類地址:172.16.0.0到172.31.255.255.255。C類地址:192.168.0.0到192.168.255.255。

地址解析

ARP協定是“AddressResolutionProtocol”(地址解析協定)的縮寫。在區域網路中,網路中實際傳輸的是“幀”,幀裡面是有目標主機的MAC地址的。在乙太網中,一個主機要和另一個主機進行直接通信,必須要知道目標主機的MAC地址。但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協定獲得的。所謂“地址解析”就是主機在傳送幀前將目標IP位址轉換成目標MAC地址的過程。ARP協定的基本功能就是通過目標設備的IP位址,查詢目標設備的MAC地址,以保證通信的順利進行。協定屬於鏈路層的協定在乙太網中的數據幀從一個主機到達網內的另一台主機是根據48位的乙太網地址(硬體地址)來確定接口的,而不是根據32位的IP位址。核心(如驅動)必須知道目的端的硬體地址才能傳送數據。當然,點對點的連線是不需要ARP協定的。 ARP協定的數據結構:

以下是引用片段:

typedefstructarphdr

{

網路層 網路層

unsignedshortarp_hrd;/*硬體類型*/

unsignedshortarp_pro;/*協定類型*/

unsignedchararp_hln;/*硬體地址長度*/

unsignedchararp_pln;/*協定地址長度*/

unsignedshortarp_op;/*ARP操作類型*/

unsignedchararp_sha[6];/*傳送者的硬體地址*/

unsignedlongarp_spa;/*傳送者的協定地址*/

unsignedchararp_tha[6];/*目標的硬體地址*/

unsignedlongarp_tpa;/*目標的協定地址*/

}ARPHDR,*PARPHDR; 為了解釋ARP協定的作用,就必須理解數據在網路上的傳輸過程。這裡舉一個簡單的PING例子。

假設我們的計算機IP位址是192.168.1.1,要執行這個命令:ping192.168.1.2.該命令會通過ICMP協定傳送ICMP數據包。該過程需要經過下面的步驟:1、應用程式構造數據包,該示例是產生ICMP包,被提交給核心(網路驅動程式);2、核心檢查是否能夠轉化該IP位址為MAC地址,也就是在本地的ARP快取中查看IP-MAC對應表;3、如果存在該IP-MAC對應關係,那么跳到步驟9;如果不存在該IP-MAC對應關係,那么接續下面的步驟;4、核心進行ARP廣播,目的地的MAC地址是FF-FF-FF-FF-FF-FF,ARP命令類型為REQUEST(1),其中包含有自己的MAC地址;5、當192.168.1.2主機接收到該ARP請求後,就傳送一個ARP的REPLY(2)命令,其中包含自己的MAC地址;6、本地獲得192.168.1.2主機的IP-MAC地址對應關係,並保存到ARP快取中;7、核心將把IP轉化為MAC地址,然後封裝在乙太網頭結構中,再把數據傳送出去;使用arp-a命令就可以查看本地的ARP快取內容,所以,執行一個本地的PING命令後,ARP快取就會存在一個目的IP的記錄了。當然,如果你的數據包是傳送到不同網段的目的地,那么就一定存在一條網關的IP-MAC地址對應的記錄。知道了ARP協定的作用,就能夠很清楚地知道,數據包的向外傳輸很依靠ARP協定,當然,也就是依賴ARP快取。要知道,ARP協定的所有操作都是核心自動完成的,同其他的應用程式沒有任何關係。同時需要注意的是,ARP協定只使用於本網路。

逆地址

具有本地磁碟的系統引導時,一般是從磁碟上的配置檔案中讀取IP位址。但是無盤機,如X終端或無盤工作站,則需要採用其他方法來獲得IP位址。網路上的每個系統都具有唯一的硬體地址,它是由網路接口生產廠家配置的。無盤系統的RARP實現過程是從接口卡上讀取唯一的硬體地址,然後傳送一份RARP請求(一幀在網路上廣播的數據),請求某個主機回響該無盤系統的IP位址(在RARP應答中)。在概念上這個過程是很簡單的,但是實現起來常常比ARP要困難。RARP的正式規範是RFC903[Finlaysonetal.1984]。 RARP的分組格:RARP分組的格式與ARP分組基本一致。它們之間主要的差別是RARP請求或應答的幀類型代碼為0x8035,而且RARP請求的操作代碼為3,應答操作代碼為4。對應於ARP,RARP請求以廣播方式傳送,而RARP應答一般是單播(unicast)傳送的。RARP伺服器的設計:雖然RARP在概念上很簡單,但是一個RARP伺服器的設計與系統相關而且比較複雜。相反,提供一個ARP伺服器很簡單,通常是TCP/IP在核心中實現的一部分。由於核心知道IP位址和硬體地址,因此當它收到一個詢問IP位址的ARP請求時,只需用相應的硬體地址來提供應答就可以了。

作為用戶進程的RARP伺服器:RARP伺服器的複雜性在於,伺服器一般要為多個主機(網路上所有的無盤系統)提供硬體地址到IP位址的映射。該映射包含在一個磁碟檔案中。由於核心一般不讀取和分析磁碟檔案,因此RARP伺服器的功能就由用戶進程來提供,而不是作為核心的實現的一部分。更為複雜的是,RARP請求是作為一個特殊類型的乙太網數據幀來傳送的。這說明RARP伺服器必須能夠傳送和接收這種類型的乙太網數據幀。在附錄A中,我們描述了SBD分組過濾器、SUN的網路接口栓以及SVR4數據鏈路提供者接口都可用來接收這些數據幀。由於傳送和接收這些數據幀與系統有關,因此RARP伺服器的實現是與系統捆綁在一起的。

網路層 網路層

每個網路有多個RARP伺服器:RARP伺服器實現的一個複雜因素是RARP請求是在硬體層上進行廣播的,這意味著它們不經過路由器進行轉發。為了讓無盤系統在RARP伺服器關機的狀態下也能引導,通常在一個網路上(例如一根電纜)要提供多個RARP伺服器。當伺服器的數目增加時(以提供冗餘備份),網路流量也隨之增加,因為每個伺服器對每個RARP請求都要傳送RARP應答。傳送RARP請求的無盤系統一般採用最先收到的RARP應答(對於ARP,我們從來沒有遇到這種情況,因為只有一台主機傳送ARP應答)。另外,還有一種可能發生的情況是每個RARP伺服器同時應答,這樣會增加乙太網發生衝突的機率。

網際網路報文

ICMP的作用:由於IP協定的兩個缺陷:沒有差錯控制和查詢機制,因此產生了ICMP。ICMP主要是為了提高IP數據報成功交付的機會,在IP數據報傳輸的過程中進行差錯報告和查詢,比如目的主機或網路不可到達,報文被丟棄,路由阻塞,查詢目的網路是否可以到達等等。

ICMP有兩種報文類型:差錯報告報文和詢問報文。差錯報告報文:終點不可到達(由於路由表,硬體故障,協定不可到達,連線埠不可達到等原因導致,這時路由器或目的主機向源站傳送終點不可到達報文);源站抑制(發生擁塞,平衡IP協定沒有流量控制的缺陷);逾時(環路或生存時間為0);參數問題(IP數據報首部參數有二義性);改變路由(路由錯誤或不是最佳)。詢問報文:回送請求或回答(用來測試連通性,如:PING命令);時間戳請求或回答(用來計算往返時間或同步兩者時間);地址掩碼請求或回答(得到掩碼信息);路由詢問或通告(得知網路上的路由器信息)。ICMP是網際(IP)層的協定,它作為IP層數據報的數據,加上數據報的首部,組成數據報傳送出去。

PING

套用層的PING(PacketInterNetGroper)命令用來測試兩個主機之間的連通性,PING使用了ICMP回送請求與回送回答報文,屬於ICMP詢問報文,它是套用層直接使用網路層ICMP的一個特例,它沒有通過運輸層的TCP或UDP。IP數據報首部的協定欄位:IP報文首部的協定欄位指出了此數據報是使用的何種協定,以便使目的主機的網路層能夠知道如何管理協定

網際網路組管理協定(IGMP)被IP主機用於向所有的直接相鄰的多播路由器報告它們的多播組成員關係。本文檔只描述在主機和路由器之間的確定組成員關係的IGMP套用。作為多播組成員的路由器應當還能表現為一台主機,甚至能對自己的查詢作出回響。IGMP還可以套用在路由器之間,但這種套用不在這裡描述。就像ICMP一樣,IGMP作為整合在IP裡面的一部分。所有希望接收IP組播的主機都應當實現IGMP。IGMP訊息被封裝在IP數據報中,IP協定號為2。本文檔所描述的所有IGMP訊息在傳送時TTL都為1,並在它們的IP首部中含有一個路由器警告選項。主機所關心的所有IGMP訊息都具有以下格式:8位類型+8位最大回響時間+16位校驗和+32位組地址。

IGMP協定

組播協定包括組成員管理協定和組播路由協定。組成員管理協定用於管理組播組成員的加入和離開,組播路由協定負責在路由器之間互動信息來建立組播樹。IGMP屬於前者,是組播路由器用來維護組播組成員信息的協定,運行於主機和和組播路由器之間。IGMP 信息封裝在IP報文中,其IP的協定號為2。

若一個主機想要接收傳送到一個特定組的組播數據包,它需要監聽發往那個特定組的所有數據包。為解決Internet上組播數據包的路徑選擇,主機需通過通知其子網上的組播路由器來加入或離開一個組,組播中採用IGMP來完成這一任務。這樣,組播路由器就可以知道網路上組播組的成員,並由此決定是否向它們的網路轉發組播數據包。當一個組播路由器收到一個組播分組時,它檢查數據包的組播目的地址,僅當接口上有那個組的成員時才向其轉發。

IGMP提供了在轉發組播數據包到目的地的最後階段所需的信息,實現如下雙向的功能:

主機通過IGMP通知路由器希望接收或離開某個特定組播組的信息。

路由器通過IGMP周期性地查詢區域網路內的組播組成員是否處於活動狀態,實現所連網段組成員關係的收集與維護。

1.

主機通過IGMP通知路由器希望接收或離開某個特定組播組的信息。

2.

路由器通過IGMP周期性地查詢區域網路內的組播組成員是否處於活動狀態,實現所連網段組成員關係的收集與維護。

IGMP共有三個版本,即IGMP v1、v2 和 v3。

計算機通信網

了解計算機通信網和計算機通信網的發展史。

相關詞條

相關搜尋

熱門詞條

聯絡我們