1、數(shù)據(jù)通信與計(jì)算機(jī)網(wǎng)絡(luò)(第二版)電子教案笫二十講運(yùn)輸服務(wù)和運(yùn)輸協(xié)議1本講內(nèi)容第八章 運(yùn)輸層8.1 運(yùn)輸服務(wù)和服務(wù)質(zhì)量8.1.1 運(yùn)輸服務(wù)8.1.2 服務(wù)質(zhì)量8.2 運(yùn)輸協(xié)議機(jī)制8.2.1 尋址8.2.2 A型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議8.2.3 B型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議8.2.4 C型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議2運(yùn)輸層運(yùn)輸層是OSI模型的第四層,它承上啟下,是整個(gè)網(wǎng)絡(luò)協(xié)議體系的核心。運(yùn)輸層的主要職能是在源計(jì)算機(jī)到目的計(jì)算機(jī)之間提供可靠的、經(jīng)濟(jì)的數(shù)據(jù)傳送服務(wù)。服務(wù)是由運(yùn)輸實(shí)體(運(yùn)輸服務(wù)提供者)來完成的,它使用網(wǎng)絡(luò)層提供的服務(wù),獨(dú)立于所使用的物理網(wǎng)絡(luò)。使用運(yùn)輸服務(wù)的實(shí)體可以是會(huì)話實(shí)體,也可以直接是應(yīng)用實(shí)體(運(yùn)輸
2、服務(wù)用戶、TS用戶)。 3運(yùn)輸層運(yùn)輸實(shí)體48.1.1 運(yùn)輸服務(wù)和網(wǎng)絡(luò)層相似,運(yùn)輸層也提供兩種類型的服務(wù)。面向連接的運(yùn)輸服務(wù)是一種可靠的服務(wù),整個(gè)連接生存期包括連接建立、數(shù)據(jù)傳輸和連接釋放三個(gè)階段。無連接的運(yùn)輸服務(wù)是一種不可靠的、高效的服務(wù),整個(gè)服務(wù)期間不需要建立連接。為什么還需要運(yùn)輸服務(wù)? 58.1.1 運(yùn)輸服務(wù)運(yùn)輸層通過運(yùn)輸服務(wù)原語向運(yùn)輸用戶提供服務(wù)。如Unix的Socket、Windows的Winsock。階段服務(wù)原語參數(shù)連接建立建立連接T-Connect.Req被呼地址,主呼地址,選項(xiàng),服務(wù)質(zhì)量,TS用戶數(shù)據(jù)T-Connect.Ind被呼地址,主呼地址,選項(xiàng),服務(wù)質(zhì)量,TS用戶數(shù)據(jù)T-C
3、onnect.Rsp響應(yīng)地址,選項(xiàng),服務(wù)質(zhì)量,TS用戶數(shù)據(jù)T-Connect.Cnf響應(yīng)地址,選項(xiàng),服務(wù)質(zhì)量,TS用戶數(shù)據(jù)數(shù)據(jù)傳輸常規(guī)數(shù)據(jù)T-Data.ReqTS用戶數(shù)據(jù)T-Data.IndTS用戶數(shù)據(jù)加速數(shù)據(jù)T-Expedited-Data.ReqTS用戶數(shù)據(jù)T-Expedited-Data.IndTS用戶數(shù)據(jù)連接釋放釋放連接T-Disconnect.ReqTS用戶數(shù)據(jù)T-Disconnect.Ind連接釋放原因,TS用戶數(shù)據(jù)68.1.2 服務(wù)質(zhì)量服務(wù)質(zhì)量(Quality of Service,QoS)QoS衡量運(yùn)輸層的總體性能。為滿足運(yùn)輸層QoS,運(yùn)輸層需要彌補(bǔ)網(wǎng)絡(luò)層服務(wù)質(zhì)量的缺陷。如果網(wǎng)
4、絡(luò)層服務(wù)質(zhì)量比較高,那么運(yùn)輸層實(shí)現(xiàn)比較簡單;如果網(wǎng)絡(luò)層服務(wù)質(zhì)量比較低,那么運(yùn)輸層實(shí)現(xiàn)比較復(fù)雜。 78.1.2 服務(wù)質(zhì)量服務(wù)質(zhì)量參數(shù)連接建立延遲連接建立失敗概率吞吐量殘留差錯(cuò)率傳輸延遲保護(hù)性優(yōu)先權(quán)回彈率88.1.2 服務(wù)質(zhì)量QoS協(xié)商(選項(xiàng)協(xié)商)98.2 運(yùn)輸協(xié)議機(jī)制運(yùn)輸協(xié)議數(shù)據(jù)單元(Transport Protocol Data Unit,TPDU)TPDU含 義CR運(yùn)輸連接請求,要求與對等運(yùn)輸實(shí)體建立運(yùn)輸連接CC確認(rèn),對CR TPDU的確認(rèn)DR釋放請求,要求釋放與對等運(yùn)輸實(shí)體之間的運(yùn)輸連接DC確認(rèn),對DR TPDU的確認(rèn)DT,DATA數(shù)據(jù),一個(gè)運(yùn)輸實(shí)體向?qū)Φ冗\(yùn)輸實(shí)體發(fā)送用戶數(shù)據(jù)AK,ACK確
5、認(rèn),對數(shù)據(jù)TPDU的認(rèn)可REJ,REJECT拒絕,對數(shù)據(jù)TPDU拒絕接受108.2 運(yùn)輸協(xié)議機(jī)制根據(jù)與用戶要求的差錯(cuò)行為有關(guān)的質(zhì)量對網(wǎng)絡(luò)服務(wù)分類:A型網(wǎng)絡(luò)服務(wù)具有可接受的殘留差錯(cuò)率和可接受的被告知的差錯(cuò)率的網(wǎng)絡(luò)連接,也就是完美的網(wǎng)絡(luò)服務(wù)。B型網(wǎng)絡(luò)服務(wù)具有可接受的殘留差錯(cuò)率和不可接受的、被告知的差錯(cuò)率的網(wǎng)絡(luò)連接,即完美的分組遞交,但若有故障發(fā)生時(shí),網(wǎng)絡(luò)層則通過相應(yīng)的網(wǎng)絡(luò)服務(wù)報(bào)告該故障的發(fā)生。C型網(wǎng)絡(luò)服務(wù)具有不可接受的殘留差錯(cuò)率的網(wǎng)絡(luò)連接,即網(wǎng)絡(luò)連接不可靠,可能丟失(或有重復(fù))分組。118.2.1 尋址運(yùn)輸層尋址:運(yùn)輸服務(wù)訪問點(diǎn)(Transport Service Access Point,TSA
6、P)。128.2.1 尋址相對于TSAP,網(wǎng)絡(luò)層尋址為網(wǎng)絡(luò)服務(wù)訪問點(diǎn)(Network Service Access Point,NSAP)。TCP/IP協(xié)議中TSAP即TCP為端口號(port number)NSAP即IP地址NSAP(IP地址)和TSAP(TCP端口號)的結(jié)合唯一地標(biāo)識了一個(gè)主機(jī)上的一個(gè)應(yīng)用進(jìn)程。尋址例:一個(gè)時(shí)間服務(wù)進(jìn)程138.2.2 A型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議A型網(wǎng)絡(luò)提供可靠的網(wǎng)絡(luò)服務(wù),其上的運(yùn)輸協(xié)議比較簡單。A型網(wǎng)絡(luò)服務(wù)可分為三種情況:可靠、順序、信息長度任意的網(wǎng)絡(luò)服務(wù)可靠、無序、信息長度任意的網(wǎng)絡(luò)服務(wù)可靠、無序、信息長度不能超過最大長度的網(wǎng)絡(luò)服務(wù)14可靠的順序網(wǎng)絡(luò)服務(wù)可接
7、受任意長的信息百分之百地可靠按順序傳遞數(shù)據(jù)到目的地討論3個(gè)問題復(fù)用流量控制連接建立和終止8.2.2 A型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議15復(fù)用運(yùn)輸協(xié)議實(shí)現(xiàn)對運(yùn)輸服務(wù)用戶的復(fù)用:多個(gè)用戶使用同一個(gè)運(yùn)輸協(xié)議,它們通過TSAP加以區(qū)分。對于網(wǎng)絡(luò)服務(wù)而言,運(yùn)輸實(shí)體也實(shí)現(xiàn)復(fù)用:多條運(yùn)輸連接復(fù)用一條網(wǎng)絡(luò)連接;一條運(yùn)輸連接可以使用多條網(wǎng)絡(luò)連接。 對應(yīng)有2種復(fù)用向上復(fù)用:復(fù)用/解復(fù)用向下復(fù)用:分流/合流8.2.2 A型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議168.2.2 A型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議2種類型的流量控制層內(nèi)流控(對等流控):指同一層內(nèi)的實(shí)體之間的流量控制。178.2.2 A型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議層間流控:指不同層實(shí)體之間的流控
8、。一層實(shí)體向另一層實(shí)體發(fā)出信息時(shí)必須得到該實(shí)體的同意,從而實(shí)現(xiàn)這兩個(gè)層次之間的流量控制。 18對等流控的目的是為了限制數(shù)據(jù)(TPDU)的發(fā)送速度,因?yàn)椋航邮辗接脩艨赡芨簧蠑?shù)據(jù)流。接收方運(yùn)輸實(shí)體可能跟不上TPDU流。運(yùn)輸實(shí)體通過緩沖區(qū)實(shí)現(xiàn)對等流控的幾種措施:1. 接收運(yùn)輸實(shí)體什么都不做。 2. 用網(wǎng)絡(luò)服務(wù)來完成。 3. 滑動(dòng)窗口機(jī)制4. 信用量方案8.2.2 A型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議19信用量方案方案的基本組成部分有:發(fā)送窗口與接收窗口,每個(gè)窗口又有上緣和下緣。對發(fā)送窗口,建立連接后,下緣置為0,上緣是對等運(yùn)輸實(shí)體給出的信用量,發(fā)送一個(gè)TPDU后,下緣加1,上緣通過AK TPDU調(diào)整,上緣和下
9、緣之間的差即是可發(fā)送的TPDU數(shù),當(dāng)上緣和下緣重合時(shí)不能發(fā)送TPDU;對接收窗口,初始時(shí)下緣置為0,確認(rèn)后作調(diào)整,上緣是對等實(shí)體的信用量,上緣和下緣之差表示可接收的TPDU數(shù),發(fā)信用量后調(diào)整。8.2.2 A型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議208.2.2 A型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議信用量方案例TPDU的確認(rèn)和流量控制是分開的。21連接建立8.2.2 A型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議22連接釋放8.2.2 A型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議23可靠無序網(wǎng)絡(luò)服務(wù)網(wǎng)絡(luò)服務(wù)百分之百可靠數(shù)據(jù)長度為任意但可能有失序情況發(fā)生討論1個(gè)問題:對于這種網(wǎng)絡(luò)服務(wù),為什么必須使用序號來標(biāo)明各TPDU之間的關(guān)系?流控中的問題連接建立中的問題8.2.2
10、 A型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議24無序網(wǎng)絡(luò)服務(wù)流控中的問題8.2.2 A型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議258.2.2 A型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議無序網(wǎng)絡(luò)服務(wù)連接建立中的問題26可靠有限長網(wǎng)絡(luò)服務(wù)網(wǎng)絡(luò)服務(wù)不能接受任意長數(shù)據(jù),即TPDU長度不能超過某一最大值。如果用戶要求發(fā)送的數(shù)據(jù)塊超過最大值,那么必須把數(shù)據(jù)分割成較小的段,然后一段一段發(fā)送,接收方再把這些段拼接成塊,然后再交給用戶。需要有一個(gè)塊結(jié)束標(biāo)志EOT,運(yùn)輸實(shí)體收到帶有EOT的DT TPDU后,把前面收到的沒有EOT的DT TPDU順序拼接在一起交給用戶。8.2.2 A型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議278.2.3 B型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議B型網(wǎng)絡(luò)服務(wù):數(shù)據(jù)傳輸可
11、靠(但可能不按順序),但可能有網(wǎng)絡(luò)故障。 在任何情況下,運(yùn)輸實(shí)體必須能從數(shù)據(jù)丟失或網(wǎng)絡(luò)連接斷開中得到恢復(fù)。序號是一種有效的手段。序號也是一種處理網(wǎng)絡(luò)故障的有效手段。網(wǎng)絡(luò)連接復(fù)位網(wǎng)絡(luò)連接斷開288.2.4 C型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議C型網(wǎng)絡(luò)網(wǎng)絡(luò)服務(wù)不可靠,不僅有數(shù)據(jù)丟失、失序,而且有網(wǎng)絡(luò)復(fù)位、連接斷開等。相應(yīng)的運(yùn)輸實(shí)體是最復(fù)雜和最困難的。討論6個(gè)問題重傳策略重復(fù)檢測流量控制連接建立連接釋放崩潰恢復(fù)29重傳策略需要重傳的兩種情況TPDU信息被破壞,但能到達(dá)目的運(yùn)輸實(shí)體;TPDU沒有到達(dá)目的地。 使用確認(rèn)-超時(shí)方法檢測是否出現(xiàn)需要重傳的情況。接收運(yùn)輸實(shí)體確認(rèn)每個(gè)成功的TPDU 。使用重傳計(jì)時(shí)器判斷超時(shí)
12、。8.2.4 C型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議30如何設(shè)置合適的重傳計(jì)時(shí)器值?計(jì)時(shí)器值固定基于觀察值運(yùn)輸層部分重要計(jì)時(shí)器計(jì)時(shí)器說明重傳計(jì)時(shí)器T1重發(fā)一個(gè)未確認(rèn)的TPDU重建連接計(jì)時(shí)器在同一對用戶之間從釋放連接到建立另一條連接間的最小時(shí)間窗口計(jì)時(shí)器AK TPDU間的最大時(shí)間重發(fā)CR計(jì)時(shí)器重發(fā)CR TPDU的時(shí)間保持計(jì)時(shí)器TR收不到確認(rèn)而終止連接的時(shí)間不活動(dòng)計(jì)時(shí)器I收不到TPDU而終止連接的時(shí)間8.2.4 C型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議31重復(fù)檢測三種可能產(chǎn)生重復(fù)的情況可以用序號來識別重復(fù),但處理起來并不很容易。分兩種情況對待:在連接釋放前收到重復(fù)TPDU。在連接釋放后收到重復(fù)TPDU。 8.2.4 C型網(wǎng)絡(luò)服
13、務(wù)上的運(yùn)輸協(xié)議32對于連接釋放前收到重復(fù)TPDU,需注意兩種情況:可能多個(gè)AK TPDU確認(rèn)同一個(gè)DT TPDU;在TPDU生存期內(nèi)發(fā)生序號循環(huán)。8.2.4 C型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議33對于連接釋放后的重復(fù)問題就比較難處理,特別是連接釋放后在同一對運(yùn)輸實(shí)體之間又建立一條新的連接時(shí)更易產(chǎn)生問題。 解決辦法:序號跨越連接下一條連接的序號從上一條連接的最后一個(gè)序號(加1)開始,運(yùn)輸實(shí)體在建立連接時(shí),把這個(gè)序號傳送到對等運(yùn)輸實(shí)體。使用連接標(biāo)識符每個(gè)TPDU都有這個(gè)標(biāo)識符,每建立一條連接就產(chǎn)生一個(gè)以前沒有用過的連接標(biāo)識符,當(dāng)收到TPDU時(shí),可以檢查這個(gè)TPDU是否為當(dāng)前運(yùn)輸連接的。8.2.4 C型網(wǎng)絡(luò)服
14、務(wù)上的運(yùn)輸協(xié)議34如何解決當(dāng)系統(tǒng)崩潰時(shí)無法知道序號或連接標(biāo)識符的問題?引入生存期的概念:每個(gè)TPDU在通信子網(wǎng)中停留時(shí)間不能超過生存期??捎玫募夹g(shù)受限制的子網(wǎng)設(shè)計(jì)。每個(gè)TPDU設(shè)置一個(gè)站計(jì)數(shù)器。每個(gè)TPDU加上時(shí)間信息。8.2.4 C型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議35流量控制使用修改過的信用量流控方案以(AK N,CREDIT M)表示一個(gè)AK TPDU確認(rèn)了N(及以前的)DT TPDU,并且給出新的信用量值M,允許發(fā)送運(yùn)輸實(shí)體發(fā)送N+1到N+M的DT TPDU。這種機(jī)制是很有力的,能滿足各種確認(rèn)和信用量指示的要求。解決其中潛在的死鎖引入一個(gè)窗口計(jì)時(shí)器對AK TPDU作出確認(rèn)8.2.4 C型網(wǎng)絡(luò)服務(wù)上
15、的運(yùn)輸協(xié)議36連接建立 C型網(wǎng)絡(luò)中TPDU可能丟失或被延遲,導(dǎo)致兩次握手連接建立失敗。8.2.4 C型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議37因此使用三次握手(Three-Way Handshake)方法建立連接。a) 正常b) CR延遲8.2.4 C型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議運(yùn)輸實(shí)體A運(yùn)輸實(shí)體BCR XCC Y,XDT X,YA發(fā)起連接建立B 接受A 確認(rèn)并發(fā)數(shù)據(jù)舊的 CR XCC Y,XREJ Y舊的CR X 到達(dá)BB接受A拒絕B的連接38c) CC延遲d) CR,DT 延遲8.2.4 C型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議CR X 舊的CC Z,WREJ ZCC Y,XDT X,YA發(fā)起連接建立舊的CC到達(dá)AA拒絕該CC
16、B接受A接受正常的CC并發(fā)數(shù)據(jù)舊的CR X舊的DT X,WCC Y,XREJ Y 舊的CR到達(dá)BB接受舊的DT到達(dá)BA拒絕39連接釋放使用三次握手及計(jì)時(shí)器超時(shí)方法釋放連接。8.2.4 C型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議a) 正常情況DRDR啟動(dòng)時(shí)鐘DC停止鐘 DC啟動(dòng)時(shí)鐘ACK 刪除連接ACK 停止鐘,刪除連接DRDR啟動(dòng)時(shí)鐘DC停止鐘 DC啟動(dòng)時(shí)鐘ACK 刪除連接超時(shí),刪除連接丟失b) ACK丟失408.2.4 C型網(wǎng)絡(luò)服務(wù)上的運(yùn)輸協(xié)議c) DC丟失d) DC丟失及以后的每個(gè)DR均丟失DR啟動(dòng)時(shí)鐘DC刪除連接DRDR啟動(dòng)時(shí)鐘DC啟動(dòng)時(shí)鐘DR丟失DR超時(shí),DRACK停時(shí)鐘,刪除連接停止鐘啟動(dòng)時(shí)鐘DC啟動(dòng)時(shí)鐘DCACK丟失超時(shí),DR 丟失超時(shí),刪除連接幾次超時(shí)后,刪除連接41崩潰恢復(fù)當(dāng)一個(gè)系統(tǒng)發(fā)生崩潰而又重新啟動(dòng)后,會(huì)形成半開通狀態(tài)。清除半開通連接的一種方法引
評論
0/150
提交評論