tcp-ip-7(TCP-與UDP協(xié)議與應(yīng)用)_第1頁
tcp-ip-7(TCP-與UDP協(xié)議與應(yīng)用)_第2頁
tcp-ip-7(TCP-與UDP協(xié)議與應(yīng)用)_第3頁
tcp-ip-7(TCP-與UDP協(xié)議與應(yīng)用)_第4頁
tcp-ip-7(TCP-與UDP協(xié)議與應(yīng)用)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第7講傳輸層(TCP/UDP)協(xié)議應(yīng)用傳輸層基本原理服務(wù)(Service)與服務(wù)質(zhì)量(QoS)服務(wù):網(wǎng)絡(luò)中某層向其相鄰高層提供的一組操作或接口服務(wù)具有單向性(低層為服務(wù)的提供者,高層為服務(wù)的用戶)服務(wù)的表現(xiàn)形式:原語(primitive),如系統(tǒng)調(diào)用各層次提供的服務(wù)具有不同的服務(wù)質(zhì)量:是否面向連接、連接建立和釋放的時(shí)間、連接建立失敗的概率傳輸時(shí)延及其抖動(dòng)、吞吐率、誤碼率……高層提供服務(wù)的QoS

總是比低層服務(wù)的QoS

更完善TCP/IP體系結(jié)構(gòu)中傳輸層的基本功能為信源結(jié)點(diǎn)和目的結(jié)點(diǎn)間的通信提供端到端的數(shù)據(jù)傳輸而通信子網(wǎng)只能提供相鄰結(jié)點(diǎn)之間的點(diǎn)到點(diǎn)傳輸通信子網(wǎng)服務(wù)與傳輸服務(wù)傳輸層服務(wù)屏蔽通信子網(wǎng)細(xì)節(jié),增強(qiáng)通信子網(wǎng)服務(wù)的QoS傳輸服務(wù)提供者:網(wǎng)絡(luò)分層模型中傳輸層以下的部分傳輸服務(wù)用戶:傳輸層以上的應(yīng)用傳輸層應(yīng)用HostRouterRouterHost通信子網(wǎng)點(diǎn)到點(diǎn)協(xié)議端到端協(xié)議應(yīng)用協(xié)議傳輸層應(yīng)用傳輸服務(wù)提供者傳輸服務(wù)用戶傳輸層服務(wù)傳輸服務(wù)需要解決的問題提供的QoS提供面向連接的傳輸服務(wù),還是無連接的傳輸服務(wù)?傳輸層服務(wù)訪問點(diǎn)(TSAP)的地址標(biāo)識(shí)連接的管理差錯(cuò)控制與流量控制……TCP/IP體系中的傳輸層UDP–UserDatagramProtocolTCP–TransportControlProtocolDataLinkIPTCPUDPApplicationsTCP/IP體系中的傳輸層端口

UDP/TCP

中采用端口(port)來標(biāo)識(shí)TSAP傳輸端口代表TCP/UDP

的傳輸服務(wù)訪問點(diǎn)TSAP在進(jìn)程通信中標(biāo)識(shí)相互通信的進(jìn)程通信的對(duì)端進(jìn)程地址可表示為:(IPaddress,port)

傳輸端口的綁定(binding)進(jìn)程在某個(gè)傳輸端口進(jìn)行數(shù)據(jù)傳輸前,必須首先通過系統(tǒng)調(diào)用與該端口建立綁定關(guān)系

UDP/TCP

的傳輸端口號(hào)(portnumber)端口號(hào)用于標(biāo)識(shí)UDP/TCP

的傳輸端口

UDP/TCP

協(xié)議各分別可以提供最多

64K

個(gè)傳輸端口傳輸端口的分配進(jìn)程通信時(shí),必須了解對(duì)端進(jìn)程的地址(IP+port)主要問題:如何了解對(duì)端進(jìn)程所使用的端口號(hào)?端口分配方式全局統(tǒng)一分配端口號(hào)動(dòng)態(tài)綁定方式(本地分配)

TCP/IP

系統(tǒng)種端口分配方法應(yīng)用進(jìn)程通信采用“客戶-服務(wù)器”(client-server)模式將傳輸端口劃分為兩類:保留端口和自由端口保留端口(well-knownport):為服務(wù)進(jìn)程全局分配的端口自由端口是在進(jìn)程需要進(jìn)行通信時(shí),由本地進(jìn)行動(dòng)態(tài)分配的客戶進(jìn)程首先動(dòng)態(tài)申請(qǐng)一個(gè)本地自由端口號(hào),再通過服務(wù)進(jìn)程所公布的保留端口與服務(wù)器進(jìn)程建立聯(lián)系,并進(jìn)行相應(yīng)協(xié)商;上述過程成功后中,就可開始進(jìn)程間的通信。常用的保留端口號(hào)7 ECHO 回送37 TIME 時(shí)間42 NAMESERVER 主機(jī)名字服務(wù)器53 DOMAIN 域名服務(wù)器67 BOOTPS 啟動(dòng)協(xié)議服務(wù)69 TFTP 簡單文件傳輸161 SNMP SNMP網(wǎng)絡(luò)監(jiān)控……20 FTP-DATA 文件傳輸協(xié)議(數(shù)據(jù)連接)21 FTP 文件傳輸協(xié)議(控制連接)23 TELNET 遠(yuǎn)程登錄終端37 TIME 時(shí)間43 NICNAME whois

程序79 FINGER finger程序80 HTTP WEB服務(wù)……UDP保留端口號(hào)TCP保留端口號(hào)思考題怎樣進(jìn)行端口的掃描??TCP傳輸控制協(xié)議TCP–TransportControlProtocolTCP的可靠傳輸服務(wù)特性TCP向應(yīng)用程序提供可靠的傳輸服務(wù)著重解決傳輸?shù)目煽啃詥栴}(分組丟失、失序……)適用于計(jì)算機(jī)之間的大量數(shù)據(jù)傳輸協(xié)議復(fù)雜、效率較低(與UDP相比)TCP可靠傳輸服務(wù)接口的特征:面向數(shù)據(jù)流 虛電路連接有緩存的傳送 無結(jié)構(gòu)的數(shù)據(jù)流全雙工連接TCP的可靠性機(jī)制數(shù)據(jù)確認(rèn)和重傳滑動(dòng)窗口進(jìn)行流量控制、防止緩沖溢出TCP傳輸端口與連接

TCP

采用傳輸端口來標(biāo)識(shí)TCP

連接

TCP

協(xié)議提供面向連接的虛電路服務(wù),TCP

傳輸端口標(biāo)識(shí)了

TCP

的傳輸服務(wù)訪問點(diǎn)(TSAP)系統(tǒng)支持多進(jìn)程間采用多連接進(jìn)行通信;進(jìn)程通信中,端口號(hào)被用于標(biāo)識(shí)同一個(gè)系統(tǒng)中的多個(gè)通信對(duì)端進(jìn)程;在一個(gè)系統(tǒng)中,TCP

可提供基于傳輸端口的數(shù)據(jù)復(fù)用由于進(jìn)程通信是通過TCP連接實(shí)現(xiàn)的,連接的兩個(gè)端點(diǎn)(也就進(jìn)程)可用整數(shù)對(duì)(hostIP,port)

來標(biāo)識(shí)給定連接的兩個(gè)端點(diǎn),就可以唯一地標(biāo)識(shí)一個(gè)TCP

連接在TCP中,用戶收發(fā)數(shù)據(jù)是通過連接來進(jìn)行的與UDP

不同(其報(bào)文收發(fā)僅通過協(xié)議端口)由于TCP

使用兩個(gè)端點(diǎn)來標(biāo)識(shí)連接,故一個(gè)主機(jī)上的某個(gè)TCP端口號(hào)可被多個(gè)連接所共享TCP數(shù)據(jù)流和報(bào)文段TCP提供的傳輸服務(wù)是面向數(shù)據(jù)流的數(shù)據(jù)流無結(jié)構(gòu)源端進(jìn)程發(fā)送的數(shù)據(jù)以字節(jié)流的形式傳輸?shù)侥康倪M(jìn)程報(bào)文段(segment)的劃分為了便于傳輸,TCP

把一個(gè)字節(jié)流序列劃分成若干個(gè)段報(bào)文段是不定長的一般,每個(gè)段被封裝在一個(gè)IP分組中傳輸被封裝的報(bào)文段存在以下幾種情況:用于傳輸數(shù)據(jù)的報(bào)文段僅攜帶了確認(rèn)信息的報(bào)文段攜帶連接建立請(qǐng)求或連接釋放請(qǐng)求的報(bào)文段TCP報(bào)文段的格式TCP報(bào)文段的結(jié)構(gòu)報(bào)文段分為頭部和數(shù)據(jù)區(qū),并封裝在一個(gè)IP分組中傳輸TCP頭:攜帶必須的標(biāo)識(shí)和控制信息,包括:連接標(biāo)識(shí):源端口和目的端口:標(biāo)識(shí)連接的兩個(gè)端點(diǎn)差錯(cuò)和流量控制:序號(hào):指出本報(bào)文段在發(fā)送方的數(shù)據(jù)字節(jié)流中的位置確認(rèn)序號(hào):指出本機(jī)希望接收的下一個(gè)字節(jié)的序號(hào)……數(shù)據(jù)區(qū)數(shù)據(jù)區(qū)TCP頭TCP報(bào)文段IP頭IP分組TCP報(bào)文段的格式IP分組頭源端口號(hào)目的端口號(hào)序號(hào)確認(rèn)序號(hào)頭長度保留碼元比特窗口校驗(yàn)和緊急指針任選項(xiàng)(若有)填充數(shù)據(jù):034910 1516 31TCP的可靠性機(jī)制——確認(rèn)和重傳TCP傳輸服務(wù)的可靠性采用確認(rèn)和重傳機(jī)制來保證:帶重傳的肯定確認(rèn)技術(shù)作為TCP提供可靠性的基礎(chǔ)TCP要求連接的接收端在正確收到數(shù)據(jù)以后,向源端發(fā)送肯定確認(rèn)信息(ACK)收到確認(rèn)信息表明接收端已經(jīng)正確接收到了數(shù)據(jù)發(fā)送方在發(fā)送下一個(gè)報(bào)文段之前需要等待前一個(gè)報(bào)文段的確認(rèn)信息發(fā)送方為每一個(gè)發(fā)出的報(bào)文段都保存一個(gè)備份,發(fā)送端發(fā)送一個(gè)報(bào)文段后立刻啟動(dòng)一個(gè)定時(shí)器;若在定時(shí)器超時(shí)的時(shí)候,遠(yuǎn)端仍未接收到目的端的數(shù)據(jù)應(yīng)答,則認(rèn)為前一個(gè)報(bào)文段傳送失敗,需要進(jìn)行數(shù)據(jù)重傳典型的確認(rèn)/重傳機(jī)制發(fā)送報(bào)文1#接收?qǐng)?bào)文1#接收ACK1#發(fā)送ACK1#發(fā)送報(bào)文2#接收?qǐng)?bào)文2#接收ACK2#發(fā)送ACK2#發(fā)送端接收端時(shí)間TCP的確認(rèn)與重傳機(jī)制TCP流是無結(jié)構(gòu)的字節(jié)流,并被劃分為報(bào)文段TCP中確認(rèn)機(jī)制采用的是“累積確認(rèn)”TCP確認(rèn)是針對(duì)數(shù)據(jù)流中的字節(jié)的,而不是針對(duì)報(bào)文段;其中使用的序號(hào)是特定字節(jié)在數(shù)據(jù)流中的序號(hào)(位置)接收端確認(rèn)的內(nèi)容是:已經(jīng)正確收到的、連續(xù)數(shù)據(jù)流中的最后一個(gè)字節(jié)(prefixofstream)確認(rèn)的方法是:接收端在確認(rèn)中給出一個(gè)序號(hào),其值為其最后收到的連續(xù)正確字節(jié)的序號(hào)加1;實(shí)際上,確認(rèn)信息中指出了接收端所希望接收到的下一個(gè)字節(jié)的序號(hào)這種確認(rèn)方法叫做累積確認(rèn),即報(bào)告接收端已經(jīng)累積了收到了數(shù)據(jù)流中的多少字節(jié)確認(rèn)信息利用TCP報(bào)文段頭中的“確認(rèn)序號(hào)”字段攜帶累積確認(rèn)2143658710911TCP字節(jié)數(shù)據(jù)流ACK=779ACK=8ACK=108已正確收到的字節(jié)超時(shí)與重傳TCP采用超時(shí)重傳技術(shù)來檢測和處理報(bào)文段的丟失源端每發(fā)送一個(gè)報(bào)文段并開始等待確認(rèn)信息時(shí),TCP就啟動(dòng)一個(gè)定時(shí)器如果在報(bào)文段數(shù)據(jù)的確認(rèn)信息到達(dá)之前,定時(shí)器超時(shí),則TCP認(rèn)為該報(bào)文段已經(jīng)丟失或被破壞,然后重傳這一報(bào)文段TCP使用自適應(yīng)重傳算法以適應(yīng)互連網(wǎng)絡(luò)時(shí)延的變化:TCP監(jiān)視每條連接的性能(網(wǎng)絡(luò)時(shí)延),并由此推算出每個(gè)連接合適的定時(shí)器時(shí)間值確認(rèn)重傳與超時(shí)重傳發(fā)送分組1#接收分組1#接收ACK1#發(fā)送ACK1#發(fā)送分組2#接收ACK2#發(fā)送ACK2#發(fā)送端接收端時(shí)間正確傳送重發(fā)分組2#接收分組2#超時(shí)超時(shí)重傳滑動(dòng)窗口的引入簡單停等協(xié)議的缺陷:資源利用率不高在接到確認(rèn)信息前,必須推遲下一個(gè)報(bào)文段的發(fā)送網(wǎng)絡(luò)具有雙向通信能力,但停等協(xié)議只允許數(shù)據(jù)單向傳輸在等待響應(yīng)的過程中網(wǎng)絡(luò)完全空閑(特別在大時(shí)延網(wǎng)絡(luò))如果在一個(gè)時(shí)延很大的網(wǎng)絡(luò)上,這個(gè)問題就更突出發(fā)送端接收端發(fā)送發(fā)送時(shí)間接收應(yīng)答接收應(yīng)答空閑發(fā)送鏈路接收鏈路傳輸效率與滑動(dòng)窗口滑動(dòng)窗口協(xié)議——提高傳輸效率進(jìn)行流量控制允許發(fā)送方在確認(rèn)信息到達(dá)前,發(fā)送多個(gè)報(bào)文段發(fā)送端接收端發(fā)送1#發(fā)送2#發(fā)送3#應(yīng)答1#應(yīng)答2#應(yīng)答3#應(yīng)答接收應(yīng)答接收應(yīng)答接收滑動(dòng)窗口在未確認(rèn)之前,允許發(fā)送的數(shù)據(jù)量由滑動(dòng)窗口的大小確定收到窗口下界的確認(rèn)時(shí),窗口就向前滑動(dòng),使新進(jìn)入窗口的數(shù)據(jù)能夠發(fā)送滑動(dòng)窗口只重傳未被確認(rèn)的數(shù)據(jù)。01234567891011...發(fā)送幀序號(hào)01234567...接收幀序號(hào)891234發(fā)送窗口2345發(fā)送窗口3456發(fā)送窗口0123發(fā)送窗口0#確認(rèn)TCP流量控制TCP通過可變的窗口大小來進(jìn)行流量控制TCP允許隨時(shí)改變窗口大小在確認(rèn)報(bào)文中除確認(rèn)序號(hào)(收到的字節(jié))外,還包含窗口通告,說明接收方還可接收數(shù)據(jù)的能力窗口通告值可被認(rèn)為是當(dāng)前接收緩沖區(qū)的大小窗口通告值增加時(shí),發(fā)送方可擴(kuò)大其發(fā)送窗口的大小;窗口通告值減少時(shí),發(fā)送方則應(yīng)降低其發(fā)送窗口的大小可變窗口的優(yōu)點(diǎn)不僅提供可靠傳輸,而且還提供流量控制當(dāng)接收方緩沖區(qū)將要充滿時(shí),就可減小其窗口通告的值在極端的情況下,接收方可使用零通告值來要求停止所有的傳輸TCP的擁塞控制TCP是端到端的協(xié)議TCP的擁塞控制是在端到端的基礎(chǔ)上進(jìn)行的TCP應(yīng)用HostRouterRouterHost通信子網(wǎng)點(diǎn)到點(diǎn)IP協(xié)議無流量/擁塞控制端到端協(xié)議TCP應(yīng)用傳輸層應(yīng)用層TCP對(duì)擁塞的響應(yīng)在出現(xiàn)擁塞時(shí),端點(diǎn)不能了解擁塞發(fā)生的細(xì)節(jié):發(fā)生擁塞的原因擁塞發(fā)生的位置對(duì)通信連接的端點(diǎn)來說,擁塞通常表現(xiàn)為通信時(shí)延的增加TCP的超時(shí)重傳機(jī)制可能導(dǎo)致?lián)砣募觿CP協(xié)議采用超時(shí)重傳機(jī)制:在通信時(shí)延增加時(shí),其響應(yīng)是不斷重傳報(bào)文段,這種重傳將會(huì)加劇擁塞的程度。在出現(xiàn)網(wǎng)絡(luò)擁塞時(shí),若對(duì)分組的重傳不加抑制,數(shù)據(jù)流量增加又將進(jìn)一步增加時(shí)延,出現(xiàn)的惡性循環(huán),最終將導(dǎo)致整個(gè)網(wǎng)絡(luò)完全失效;這種現(xiàn)象稱為擁塞崩潰。為避免擁塞崩潰,TCP必須在擁塞發(fā)生時(shí)減少其數(shù)據(jù)的傳輸量結(jié)點(diǎn)1結(jié)點(diǎn)2發(fā)送ACK(y+1)接收ACKTCP連接的建立TCP使用三次握手協(xié)議來建立連接,三次握手協(xié)議是連接的兩端正確同步的必要條件發(fā)送SYN(seq=x)接收SYN(seq=x)發(fā)送SYN+ACK(seq=y:x+1)接收SYN+ACK結(jié)點(diǎn)1結(jié)點(diǎn)2TCP連接的關(guān)閉改進(jìn)的三次握手協(xié)議來關(guān)閉TCP連接發(fā)送ACK(x+1)接收ACK發(fā)送FIN

(seq=x)接收FIN(seq=x)應(yīng)用程序關(guān)閉連接發(fā)送ACK

(y+1)接收ACK發(fā)送FIN+ACK(y:x+1)接收FIN+ACK應(yīng)用程序關(guān)閉連接TCP報(bào)文段中的碼元比特碼元比特字段(CODEBITS)6bit指出報(bào)文段的目的和內(nèi)容,給出報(bào)文頭中其他字段的解釋URGACKPSHRSTSYNFIN發(fā)送方字節(jié)流結(jié)束序號(hào)同步連接復(fù)位報(bào)文端請(qǐng)求急迫操作確認(rèn)字段可用緊急指針字段可用TCP報(bào)文段的校驗(yàn)TCP校驗(yàn)和的計(jì)算方法:同IP分組頭的校驗(yàn)校驗(yàn)和計(jì)算:除覆蓋數(shù)據(jù)報(bào)外,還覆蓋一個(gè)TCP偽報(bào)頭TCP偽報(bào)頭的目的與UDP基本相同源IP地址TCP長度填充域目的IP地址協(xié)議0 78 1516 31全0IP分組頭中指定的協(xié)議類型碼(TCP=6)TCP數(shù)據(jù)報(bào)的長度(不含偽報(bào)頭)作業(yè)1、編碼實(shí)現(xiàn)窗口協(xié)議。2、編碼模擬三步握手過程。思考題

詳細(xì)分析TCP碼元比特位的各種應(yīng)用用戶數(shù)據(jù)報(bào)協(xié)議(UDP)UserDatagramProtocolUDP協(xié)議以實(shí)現(xiàn)效率為首要目標(biāo),具有良好的實(shí)時(shí)性提供無連接、不可靠的傳輸服務(wù)會(huì)出現(xiàn)分組丟失、重復(fù)、亂序應(yīng)用程序需要負(fù)責(zé)傳輸可靠性方面的所有工作UDP協(xié)議封裝UDP數(shù)據(jù)報(bào)由兩部分構(gòu)成:UDP報(bào)頭和數(shù)據(jù)區(qū)UDP報(bào)文是封裝在IP分組中進(jìn)行傳送的IP應(yīng)用UDP數(shù)據(jù)鏈路概念分層UDP頭UDP數(shù)據(jù)區(qū)IP頭IP數(shù)據(jù)區(qū)幀頭幀數(shù)據(jù)區(qū)應(yīng)用數(shù)據(jù)UDP數(shù)據(jù)報(bào)的格式IPheader

sourceportdestinationportlengthchecksumdata:0 150246

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論