功能目的 為了說明網路層的功能,如圖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交換的速度非常快,可以和
光纖 的傳輸速度相匹配。
網路層協定 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周期性地查詢區域網路內的組播組成員是否處於活動狀態,實現所連網段組成員關係的收集與維護。
IGMP共有三個版本,即IGMP v1、v2 和 v3。