計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)及協(xié)議之通信子網(wǎng)的操作方式和網(wǎng)絡(luò)層提供的服務(wù)

字號(hào):

3.4.1通信子網(wǎng)的操作方式和網(wǎng)絡(luò)層提供的服務(wù)
    端點(diǎn)之間的通信是依靠通信子網(wǎng)中的節(jié)點(diǎn)間的通信來實(shí)現(xiàn)的,在OSI模型中,網(wǎng)絡(luò)層是網(wǎng)絡(luò)節(jié)點(diǎn)中的層,所以網(wǎng)絡(luò)層將體現(xiàn)通信子網(wǎng)向端系統(tǒng)所提供的網(wǎng)絡(luò)服務(wù)。在分組交換方式中,通信子網(wǎng)向端系統(tǒng)提供虛電路和數(shù)據(jù)報(bào)兩種網(wǎng)絡(luò)服務(wù),而通信子網(wǎng)內(nèi)部的操作也有虛電路和數(shù)據(jù)報(bào)兩種方式。
    1.虛電路操作方式
    在虛電路操作方式中,為了進(jìn)行數(shù)據(jù)傳輸,網(wǎng)絡(luò)的源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間先要建立一條邏輯通路,因?yàn)檫@條邏輯通路不是專用的,所以稱之為"虛"電路。每個(gè)節(jié)點(diǎn)到其它任一節(jié)點(diǎn)之間可能有若干條虛電路支持特定的兩個(gè)端系統(tǒng)之間的數(shù)據(jù)傳輸,兩個(gè)端系統(tǒng)之間也可以有多條虛電路為不同的進(jìn)程服務(wù),這些虛電路的實(shí)際路徑可能相同也可能不同。 節(jié)點(diǎn)間的物理信道在邏輯上均可看做由多條邏輯信道組成,這些邏輯信道實(shí)際上由節(jié)點(diǎn)內(nèi)部的分組緩沖器來實(shí)現(xiàn)。所謂占用某條邏輯信道,實(shí)質(zhì)上是指占用了該段物理信道上節(jié)點(diǎn)分配的分組緩沖器。不同的邏輯信道在節(jié)點(diǎn)內(nèi)部通過邏輯信道號(hào)加以區(qū)分,各條邏輯信道異步分時(shí)復(fù)用同一條物理信道。
    一條虛電路可能要經(jīng)過多個(gè)中間節(jié)點(diǎn),在節(jié)點(diǎn)間的各段物理信道上都要占用一條邏輯信道用以傳送分組。由于各節(jié)點(diǎn)均獨(dú)立地為通過的虛電路分配邏輯信道,也即同一條虛電路通過各段信道所獲取的邏輯信道號(hào)可能是不相同的,所以各節(jié)點(diǎn)內(nèi)部必須建立一張?zhí)撾娐繁?用以記錄經(jīng)過該點(diǎn)的各條虛電路所占用的各個(gè)邏輯信道號(hào)。
     為使節(jié)點(diǎn)能區(qū)分一個(gè)分組屬于哪條虛電路,每個(gè)分組必須攜帶一個(gè)邏輯信道號(hào):同樣,同一條虛電路的分組在各段邏輯信道上的邏輯信道號(hào)可能也不相同。傳輸中,當(dāng)一個(gè)分組到達(dá)節(jié)點(diǎn)時(shí),節(jié)點(diǎn)根據(jù)其攜帶的邏輯信道號(hào)查找虛電路表,以確定該分組應(yīng)發(fā)往的下一個(gè)節(jié)點(diǎn)及其下一段信道上所占用的邏輯信道號(hào),用該邏輯信道號(hào)替換分組中原先的邏輯信道號(hào)后,再將該分組發(fā)往下一個(gè)節(jié)點(diǎn)。
     各節(jié)點(diǎn)的虛電路表是在虛電路建立過程中建立的。比如,與A節(jié)點(diǎn)相連的源端系統(tǒng)要經(jīng)中間節(jié)點(diǎn)B、C跟與D節(jié)點(diǎn)相連的目的端系統(tǒng)建立一條虛電路,源端系統(tǒng)可發(fā)出一個(gè)呼叫請(qǐng)求分組,該分組除了包含目的地址外,還包含源端系統(tǒng)所選取的不用的最小邏輯信道號(hào)N。A節(jié)點(diǎn)收到請(qǐng)求分組后在A節(jié)點(diǎn)與下一節(jié)點(diǎn)B間所有已使用的邏輯信道號(hào)之外選取一個(gè)最小編號(hào)NA,并將請(qǐng)求分組中的邏輯信道號(hào)N替換成該邏輯信道號(hào)NA,再將分組發(fā)送給節(jié)點(diǎn)B。此后的各節(jié)點(diǎn)依次逐個(gè)根據(jù)自身實(shí)際情況選取新的邏輯信道號(hào)(如NB、NC、ND等)來替換收到的分組中的邏輯信道號(hào)。最后,目的節(jié)點(diǎn)D將請(qǐng)求分組傳送給連接它的端系統(tǒng)。在此過程中,每個(gè)節(jié)點(diǎn)的虛電路表中要記錄兩個(gè)邏輯信道號(hào):前一個(gè)節(jié)點(diǎn)所選取的邏輯信道號(hào)和本節(jié)點(diǎn)所選取的邏輯信道號(hào)。這樣便使得虛電路所跨越的每一段連接上的邏輯信道號(hào)都是惟一的o
    圖3.16給出了一個(gè)虛電路表建立的示例,這里假設(shè)建立了6條虛電路。由于虛電路上的數(shù)據(jù)是雙向傳輸?shù)?為保證兩節(jié)點(diǎn)之間正、反兩個(gè)方向的虛電路不相混淆,在一個(gè)節(jié)點(diǎn)選取邏輯信道號(hào)來替換其前一節(jié)點(diǎn)使用的邏輯信道號(hào)時(shí),不僅要考慮與下一節(jié)點(diǎn)之間的邏輯信道號(hào)不相同,還要考慮與下一節(jié)點(diǎn)作為另一條反向虛電路的上一節(jié)點(diǎn)時(shí)所選取的邏輯信道號(hào)相區(qū)別。例如,在建立虛電路1-BAE時(shí)(這里1-BAE表示源節(jié)點(diǎn)為B,建立虛電路時(shí)選取1為邏輯信道號(hào),并經(jīng)A傳送到E),在節(jié)點(diǎn)B中,盡管A節(jié)點(diǎn)是第一次作為B節(jié)點(diǎn)的下一節(jié)點(diǎn),但由于虛電路0-ABCD中A到B間已使用了邏輯信道號(hào)0,因此在出路一欄應(yīng)選B到A間的邏輯信道號(hào)為1。這樣,當(dāng)從節(jié)點(diǎn)A發(fā)來一個(gè)分組時(shí),若它所攜帶的邏輯信道號(hào)為0,則說明是虛電路礎(chǔ)CD上的正向分組;若為1,則說明是虛電路BAE上的反向分組。對(duì)于虛電路2-BFE的建立也是同樣情況。
     各節(jié)點(diǎn)的虛電路表空間和邏輯信道號(hào)都是網(wǎng)絡(luò)資源,當(dāng)虛電路拆除時(shí)必須回收。這可通過某端系統(tǒng)發(fā)出一個(gè)拆鏈請(qǐng)求分組,告知虛電路中各節(jié)點(diǎn)刪除虛電路表中有關(guān)表項(xiàng)來實(shí)現(xiàn)。