版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章運(yùn)輸層主講:徐劉杰11運(yùn)輸層的端口2運(yùn)行在計(jì)算機(jī)中的進(jìn)程是用進(jìn)程標(biāo)識(shí)符來(lái)標(biāo)志的。運(yùn)行在應(yīng)用層的各種應(yīng)用進(jìn)程卻不應(yīng)當(dāng)讓計(jì)算機(jī)操作系統(tǒng)指派它的進(jìn)程標(biāo)識(shí)符。這是因?yàn)樵谝蛱鼐W(wǎng)上使用的計(jì)算機(jī)的操作系統(tǒng)種類(lèi)很多,而不同的操作系統(tǒng)又使用不同格式的進(jìn)程標(biāo)識(shí)符。端口號(hào)簡(jiǎn)稱(chēng)為端口解決這個(gè)問(wèn)題的方法就是在運(yùn)輸層使用協(xié)議端口號(hào)(protocolportnumber),或通常簡(jiǎn)稱(chēng)為端口(port)。雖然通信的終點(diǎn)是應(yīng)用進(jìn)程,但我們可以把端口想象是通信的終點(diǎn),因?yàn)槲覀冎灰岩獋魉偷膱?bào)文交到目的主機(jī)的某一個(gè)合適的目的端口,剩下的工作(即最后交付目的進(jìn)程)就由TCP來(lái)完成。3軟件端口與硬件端口在協(xié)議棧層間的抽象的協(xié)議端口是軟件端口。路由器或交換機(jī)上的端口是硬件端口。硬件端口是不同硬件設(shè)備進(jìn)行交互的接口,而軟件端口是應(yīng)用層的各種協(xié)議進(jìn)程與運(yùn)輸實(shí)體進(jìn)行層間交互的一種地址。4TCP的端口端口用一個(gè)16位端口號(hào)進(jìn)行標(biāo)志。端口號(hào)只具有本地意義,即端口號(hào)只是為了標(biāo)志本計(jì)算機(jī)應(yīng)用層中的各進(jìn)程。在因特網(wǎng)中不同計(jì)算機(jī)的相同端口號(hào)是沒(méi)有聯(lián)系的。5三類(lèi)端口熟知端口,數(shù)值一般為0~1023。登記端口號(hào),數(shù)值為1024~49151,為沒(méi)有熟知端口號(hào)的應(yīng)用程序使用的。使用這個(gè)范圍的端口號(hào)必須在IANA登記,以防止重復(fù)。客戶(hù)端口號(hào)或短暫端口號(hào),數(shù)值為49152~65535,留給客戶(hù)進(jìn)程選擇暫時(shí)使用。當(dāng)服務(wù)器進(jìn)程收到客戶(hù)進(jìn)程的報(bào)文時(shí),就知道了客戶(hù)進(jìn)程所使用的動(dòng)態(tài)端口號(hào)。通信結(jié)束后,這個(gè)端口號(hào)可供其他客戶(hù)進(jìn)程以后使用。62用戶(hù)數(shù)據(jù)報(bào)協(xié)議UDPUDP只在IP的數(shù)據(jù)報(bào)服務(wù)之上增加了很少一點(diǎn)的功能,即端口的功能和差錯(cuò)檢測(cè)的功能。雖然UDP用戶(hù)數(shù)據(jù)報(bào)只能提供不可靠的交付,但UDP在某些方面有其特殊的優(yōu)點(diǎn)。7UDP的主要特點(diǎn)UDP是無(wú)連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接。UDP使用盡最大努力交付,即不保證可靠交付,同時(shí)也不使用擁塞控制。UDP是面向報(bào)文的。UDP沒(méi)有擁塞控制,很適合多媒體通信的要求。UDP支持一對(duì)一、一對(duì)多、多對(duì)一和多對(duì)多的交互通信。UDP的首部開(kāi)銷(xiāo)小,只有8個(gè)字節(jié)。8面向報(bào)文的UDP發(fā)送方UDP對(duì)應(yīng)用程序交下來(lái)的報(bào)文,在添加首部后就向下交付IP層。UDP對(duì)應(yīng)用層交下來(lái)的報(bào)文,既不合并,也不拆分,而是保留這些報(bào)文的邊界。應(yīng)用層交給UDP多長(zhǎng)的報(bào)文,UDP就照樣發(fā)送,即一次發(fā)送一個(gè)報(bào)文。接收方UDP對(duì)IP層交上來(lái)的UDP用戶(hù)數(shù)據(jù)報(bào),在去除首部后就原封不動(dòng)地交付上層的應(yīng)用進(jìn)程,一次交付一個(gè)完整的報(bào)文。應(yīng)用程序必須選擇合適大小的報(bào)文。9UDP是面向報(bào)文的IP數(shù)據(jù)報(bào)的數(shù)據(jù)部分IP首部IP層UDP首部UDP用戶(hù)數(shù)據(jù)報(bào)的數(shù)據(jù)部分運(yùn)輸層應(yīng)用層報(bào)文應(yīng)用層103UDP的首部格式偽首部源端口目的端口長(zhǎng)度檢驗(yàn)和數(shù)據(jù)首部UDP長(zhǎng)度源IP地址目的IP地址017IP數(shù)據(jù)報(bào)字節(jié)44112122222字節(jié)發(fā)送在前數(shù)據(jù)首部UDP用戶(hù)數(shù)據(jù)報(bào)11偽首部源端口目的端口長(zhǎng)度檢驗(yàn)和數(shù)據(jù)首部UDP長(zhǎng)度源IP地址目的IP地址017IP數(shù)據(jù)報(bào)字節(jié)44112122222字節(jié)發(fā)送在前數(shù)據(jù)首部UDP用戶(hù)數(shù)據(jù)報(bào)用戶(hù)數(shù)據(jù)報(bào)UDP有兩個(gè)字段:數(shù)據(jù)字段和首部字段。首部字段有8個(gè)字節(jié),由4個(gè)字段組成,每個(gè)字段都是兩個(gè)字節(jié)。12UDP基于端口的分用IP層UDP數(shù)據(jù)報(bào)到達(dá)端口2端口3端口1UDP分用13偽首部源端口目的端口長(zhǎng)度檢驗(yàn)和數(shù)據(jù)首部UDP長(zhǎng)度源IP地址目的IP地址017IP數(shù)據(jù)報(bào)字節(jié)44112122222字節(jié)發(fā)送在前數(shù)據(jù)首部UDP用戶(hù)數(shù)據(jù)報(bào)在計(jì)算檢驗(yàn)和時(shí),臨時(shí)把“偽首部”和UDP用戶(hù)數(shù)據(jù)報(bào)連接在一起。偽首部?jī)H僅是為了計(jì)算檢驗(yàn)和。14協(xié)議字段的值,UDP協(xié)議的值為17UDP的頭部和數(shù)據(jù)部分TCP首部20字節(jié)的固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FIN32位SYNRSTPSHACKURG位08162431填充TCP數(shù)據(jù)部分TCP首部TCP報(bào)文段IP數(shù)據(jù)部分IP首部發(fā)送在前4TCP報(bào)文段的首部格式15TCP首部20字節(jié)固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FINSYNRSTPSHACKURG位08162431填充源端口和目的端口字段——各占2字節(jié)。端口是運(yùn)輸層與應(yīng)用層的服務(wù)接口。運(yùn)輸層的復(fù)用和分用功能都要通過(guò)端口才能實(shí)現(xiàn)。16TCP首部20字節(jié)固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FINSYNRSTPSHACKURG位08162431填充序號(hào)字段——占4字節(jié)。TCP連接中傳送的數(shù)據(jù)流中的每一個(gè)字節(jié)都編上一個(gè)序號(hào)。序號(hào)字段的值則指的是本報(bào)文段所發(fā)送的數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。17TCP首部20字節(jié)固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FINSYNRSTPSHACKURG位08162431填充確認(rèn)號(hào)字段——占4字節(jié),是期望收到對(duì)方的下一個(gè)報(bào)文段的數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。若確認(rèn)號(hào)=N,則表明:到序號(hào)N-1為止的所有數(shù)據(jù)都已正確收到。18TCP首部20字節(jié)固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FINSYNRSTPSHACKURG位08162431填充數(shù)據(jù)偏移(即首部長(zhǎng)度)——占4位,它指出TCP報(bào)文段的數(shù)據(jù)起始處距離TCP報(bào)文段的起始處有多遠(yuǎn)?!皵?shù)據(jù)偏移”的單位是32位字(以4字節(jié)為計(jì)算單位)。19TCP首部20字節(jié)固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FINSYNRSTPSHACKURG位08162431填充保留字段——占6位,保留為今后使用,但目前應(yīng)置為0。20TCP首部20字節(jié)固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FINSYNRSTPSHACKURG位08162431填充緊急URG——當(dāng)URG1時(shí),表明緊急指針字段有效。它告訴系統(tǒng)此報(bào)文段中有緊急數(shù)據(jù),應(yīng)盡快傳送(相當(dāng)于高優(yōu)先級(jí)的數(shù)據(jù))。21TCP首部20字節(jié)固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FINSYNRSTPSHACKURG位08162431填充確認(rèn)ACK——只有當(dāng)ACK1時(shí)確認(rèn)號(hào)字段才有效。當(dāng)ACK0時(shí),確認(rèn)號(hào)無(wú)效。22TCP首部20字節(jié)固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FINSYNRSTPSHACKURG位08162431填充推送PSH(PuSH)——接收TCP收到PSH=1的報(bào)文段,就盡快地交付接收應(yīng)用進(jìn)程,而不再等到整個(gè)緩存都填滿了后再向上交付。23TCP首部20字節(jié)固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FINSYNRSTPSHACKURG位08162431填充復(fù)位RST(ReSeT)——當(dāng)RST1時(shí),表明TCP連接中出現(xiàn)嚴(yán)重差錯(cuò)(如由于主機(jī)崩潰或其他原因),必須釋放連接,然后再重新建立運(yùn)輸連接。24TCP首部20字節(jié)固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FINSYNRSTPSHACKURG位08162431填充同步SYN——同步SYN=1表示這是一個(gè)連接請(qǐng)求或連接接受報(bào)文。25TCP首部20字節(jié)固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FINSYNRSTPSHACKURG位08162431填充終止FIN(FINis)——用來(lái)釋放一個(gè)連接。FIN1表明此報(bào)文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放運(yùn)輸連接。26TCP首部20字節(jié)固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FINSYNRSTPSHACKURG位08162431填充窗口字段——占2字節(jié),用來(lái)讓對(duì)方設(shè)置發(fā)送窗口的依據(jù),單位為字節(jié)。窗口字段表明現(xiàn)在允許對(duì)方發(fā)送的數(shù)據(jù)量。窗口值是經(jīng)常動(dòng)態(tài)變化的。27TCP首部20字節(jié)固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FINSYNRSTPSHACKURG位08162431填充檢驗(yàn)和——占2字節(jié)。檢驗(yàn)和字段檢驗(yàn)的范圍包括首部和數(shù)據(jù)這兩部分。在計(jì)算檢驗(yàn)和時(shí),要在TCP報(bào)文段的前面加上12字節(jié)的偽首部。28TCP首部20字節(jié)固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FINSYNRSTPSHACKURG位08162431填充緊急指針字段——占16位,指出在本報(bào)文段中緊急數(shù)據(jù)共有多少個(gè)字節(jié)(緊急數(shù)據(jù)放在本報(bào)文段數(shù)據(jù)的最前面)。
29TCP首部20字節(jié)固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FINSYNRSTPSHACKURG比特08162431填充選項(xiàng)字段——長(zhǎng)度可變。TCP最初只規(guī)定了一種選項(xiàng),即最大報(bào)文段長(zhǎng)度MSS。MSS告訴對(duì)方TCP:“我的緩存所能接收的報(bào)文段的數(shù)據(jù)字段的最大長(zhǎng)度是MSS個(gè)字節(jié)?!盡SS(MaximumSegmentSize)是TCP報(bào)文段中的數(shù)據(jù)字段的最大長(zhǎng)度。數(shù)據(jù)字段加上TCP首部才等于整個(gè)的TCP報(bào)文段。30其他選項(xiàng)窗口擴(kuò)大選項(xiàng)——占3字節(jié),其中有一個(gè)字節(jié)表示移位值S。新的窗口值等于TCP首部中的窗口位數(shù)增大到(16+S),相當(dāng)于把窗口值向左移動(dòng)S位后獲得實(shí)際的窗口大小。時(shí)間戳選項(xiàng)——占10字節(jié),其中最主要的字段時(shí)間戳值字段(4字節(jié))和時(shí)間戳回送回答字段(4字節(jié))。選擇確認(rèn)選項(xiàng)——在后面的5.6.3節(jié)介紹。31TCP首部20字節(jié)固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FINSYNRSTPSHACKURG位08162431填充填充字段——這是為了使整個(gè)首部長(zhǎng)度是4字節(jié)的整數(shù)倍。326TCP的運(yùn)輸連接管理
運(yùn)輸連接的三個(gè)階段運(yùn)輸連接就有三個(gè)階段,即:連接建立、數(shù)據(jù)傳送和連接釋放。運(yùn)輸連接的管理就是使運(yùn)輸連接的建立和釋放都能正常地進(jìn)行。連接建立過(guò)程中要解決以下三個(gè)問(wèn)題:要使每一方能夠確知對(duì)方的存在。要允許雙方協(xié)商一些參數(shù)(如最大報(bào)文段長(zhǎng)度,最大窗口大小,服務(wù)質(zhì)量等)。能夠?qū)\(yùn)輸實(shí)體資源(如緩存大小,連接表中的項(xiàng)目等)進(jìn)行分配。33客戶(hù)服務(wù)器方式TCP連接的建立都是采用客戶(hù)服務(wù)器方式。主動(dòng)發(fā)起連接建立的應(yīng)用進(jìn)程叫做客戶(hù)(client)。被動(dòng)等待連接建立的應(yīng)用進(jìn)程叫做服務(wù)器(server)。34
用三次握手建立TCP連接
SYN=1,seq=xCLOSEDCLOSED主動(dòng)打開(kāi)被動(dòng)打開(kāi)AB客戶(hù)服務(wù)器TCP的連接建立A的TCP向B發(fā)出連接請(qǐng)求報(bào)文段,其首部中的同步位SYN=1,并選擇序號(hào)seq=x,表明傳送數(shù)據(jù)時(shí)的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)是x。35SYN=1,seq=xACK=1,seq=x+1,ack=y1CLOSEDCLOSED主動(dòng)打開(kāi)被動(dòng)打開(kāi)AB客戶(hù)服務(wù)器SYN=1,ACK=1,seq=y,ack=x1A收到此報(bào)文段后向B給出確認(rèn),其ACK=1,確認(rèn)號(hào)ack=y1。
A的TCP通知上層應(yīng)用進(jìn)程,連接已經(jīng)建立。36SYN=1,seq=xACK=1,seq=x+1,ack=y1CLOSEDCLOSED數(shù)據(jù)傳送主動(dòng)打開(kāi)被動(dòng)打開(kāi)AB客戶(hù)服務(wù)器SYN=1,ACK=1,seq=y,ack=x1B的TCP收到主機(jī)A的確認(rèn)后,也通知其上層應(yīng)用進(jìn)程:TCP連接已經(jīng)建立。37SYN-SENTESTAB-LISHEDSYN-RCVDLISTENESTAB-LISHED用三次握手建立TCP連接的各狀態(tài)
SYN=1,seq=xACK=1,seq=x+1,ack=y1CLOSEDCLOSED數(shù)據(jù)傳送主動(dòng)打開(kāi)被動(dòng)打開(kāi)AB客戶(hù)服務(wù)器SYN=1,ACK=1,seq=y,ack=x138FIN=1,seq=uCLOSED主動(dòng)關(guān)閉數(shù)據(jù)傳送ESTAB-LISHEDESTAB-LISHEDAB客戶(hù)服務(wù)器CLOSEDTCP
的連接釋放
數(shù)據(jù)傳輸結(jié)束后,通信的雙方都可釋放連接?,F(xiàn)在A的應(yīng)用進(jìn)程先向其TCP發(fā)出連接釋放報(bào)文段,并停止再發(fā)送數(shù)據(jù),主動(dòng)關(guān)閉TCP
連接。
A把連接釋放報(bào)文段首部的FIN=1,其序號(hào)
seq=u,等待B的確認(rèn)。39FIN=1,seq=uACK=1,seq=v,ack=u1主動(dòng)關(guān)閉數(shù)據(jù)傳送通知應(yīng)用進(jìn)程ESTAB-LISHEDESTAB-LISHEDAB客戶(hù)服務(wù)器B發(fā)出確認(rèn),確認(rèn)號(hào)ack=u1,而這個(gè)報(bào)文段自己的序號(hào)seq=v。
TCP服務(wù)器進(jìn)程通知高層應(yīng)用進(jìn)程。從A到B這個(gè)方向的連
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二年級(jí)乘除法口訣專(zhuān)項(xiàng)練習(xí)1000題
- 人教部編版四年級(jí)語(yǔ)文上冊(cè)《快樂(lè)讀書(shū)吧》精美課件
- 算法設(shè)計(jì)與分析 課件 8.3-分支限界 - 典型應(yīng)用 - 0-1背包問(wèn)題
- 2024年葫蘆島煙臺(tái)客運(yùn)上崗證考試題
- 2024年長(zhǎng)沙客運(yùn)駕駛員從業(yè)資格考試系統(tǒng)
- 2024年沈陽(yáng)c1客運(yùn)資格證模擬考試題
- 2024年合肥小車(chē)客運(yùn)從業(yè)資格證考試
- 2024年河南2024年客運(yùn)從業(yè)資格證模擬考試題庫(kù)
- 吉首大學(xué)《高級(jí)語(yǔ)言程序設(shè)計(jì)A實(shí)驗(yàn)》2021-2022學(xué)年期末試卷
- 吉林藝術(shù)學(xué)院《數(shù)字娛樂(lè)導(dǎo)論》2021-2022學(xué)年第一學(xué)期期末試卷
- 《勞動(dòng)教育通論》勞動(dòng)的環(huán)境:社會(huì)與市場(chǎng)中的勞動(dòng)
- 防火墻端口日志分析與審計(jì)
- 電力企業(yè)合規(guī)培訓(xùn)課件
- 國(guó)產(chǎn)軍用飛機(jī)
- 小學(xué)數(shù)學(xué)-除數(shù)是整十?dāng)?shù)的口算除法教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 數(shù)據(jù)安全與隱私保護(hù)
- 礦山機(jī)電一體化與自動(dòng)化技術(shù)
- 交通標(biāo)志 交通標(biāo)志的種類(lèi)和設(shè)置原則
- 醫(yī)院醫(yī)學(xué)裝備委員會(huì)第會(huì)議通知、紀(jì)要議程、總結(jié)
- 大體積混凝土養(yǎng)護(hù)方案(修改)
- 學(xué)習(xí)天體力學(xué)
評(píng)論
0/150
提交評(píng)論