




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第5章運輸層主講:徐劉杰11運輸層的端口2運行在計算機中的進程是用進程標識符來標志的。運行在應用層的各種應用進程卻不應當讓計算機操作系統指派它的進程標識符。這是因為在因特網上使用的計算機的操作系統種類很多,而不同的操作系統又使用不同格式的進程標識符。端口號簡稱為端口解決這個問題的方法就是在運輸層使用協議端口號(protocolportnumber),或通常簡稱為端口(port)。雖然通信的終點是應用進程,但我們可以把端口想象是通信的終點,因為我們只要把要傳送的報文交到目的主機的某一個合適的目的端口,剩下的工作(即最后交付目的進程)就由TCP來完成。3軟件端口與硬件端口在協議棧層間的抽象的協議端口是軟件端口。路由器或交換機上的端口是硬件端口。硬件端口是不同硬件設備進行交互的接口,而軟件端口是應用層的各種協議進程與運輸實體進行層間交互的一種地址。4TCP的端口端口用一個16位端口號進行標志。端口號只具有本地意義,即端口號只是為了標志本計算機應用層中的各進程。在因特網中不同計算機的相同端口號是沒有聯系的。5三類端口熟知端口,數值一般為0~1023。登記端口號,數值為1024~49151,為沒有熟知端口號的應用程序使用的。使用這個范圍的端口號必須在IANA登記,以防止重復。客戶端口號或短暫端口號,數值為49152~65535,留給客戶進程選擇暫時使用。當服務器進程收到客戶進程的報文時,就知道了客戶進程所使用的動態端口號。通信結束后,這個端口號可供其他客戶進程以后使用。62用戶數據報協議UDPUDP只在IP的數據報服務之上增加了很少一點的功能,即端口的功能和差錯檢測的功能。雖然UDP用戶數據報只能提供不可靠的交付,但UDP在某些方面有其特殊的優點。7UDP的主要特點UDP是無連接的,即發送數據之前不需要建立連接。UDP使用盡最大努力交付,即不保證可靠交付,同時也不使用擁塞控制。UDP是面向報文的。UDP沒有擁塞控制,很適合多媒體通信的要求。UDP支持一對一、一對多、多對一和多對多的交互通信。UDP的首部開銷小,只有8個字節。8面向報文的UDP發送方UDP對應用程序交下來的報文,在添加首部后就向下交付IP層。UDP對應用層交下來的報文,既不合并,也不拆分,而是保留這些報文的邊界。應用層交給UDP多長的報文,UDP就照樣發送,即一次發送一個報文。接收方UDP對IP層交上來的UDP用戶數據報,在去除首部后就原封不動地交付上層的應用進程,一次交付一個完整的報文。應用程序必須選擇合適大小的報文。9UDP是面向報文的IP數據報的數據部分IP首部IP層UDP首部UDP用戶數據報的數據部分運輸層應用層報文應用層103UDP的首部格式偽首部源端口目的端口長度檢驗和數據首部UDP長度源IP地址目的IP地址017IP數據報字節44112122222字節發送在前數據首部UDP用戶數據報11偽首部源端口目的端口長度檢驗和數據首部UDP長度源IP地址目的IP地址017IP數據報字節44112122222字節發送在前數據首部UDP用戶數據報用戶數據報UDP有兩個字段:數據字段和首部字段。首部字段有8個字節,由4個字段組成,每個字段都是兩個字節。12UDP基于端口的分用IP層UDP數據報到達端口2端口3端口1UDP分用13偽首部源端口目的端口長度檢驗和數據首部UDP長度源IP地址目的IP地址017IP數據報字節44112122222字節發送在前數據首部UDP用戶數據報在計算檢驗和時,臨時把“偽首部”和UDP用戶數據報連接在一起。偽首部僅僅是為了計算檢驗和。14協議字段的值,UDP協議的值為17UDP的頭部和數據部分TCP首部20字節的固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FIN32位SYNRSTPSHACKURG位08162431填充TCP數據部分TCP首部TCP報文段IP數據部分IP首部發送在前4TCP報文段的首部格式15TCP首部20字節固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG位08162431填充源端口和目的端口字段——各占2字節。端口是運輸層與應用層的服務接口。運輸層的復用和分用功能都要通過端口才能實現。16TCP首部20字節固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG位08162431填充序號字段——占4字節。TCP連接中傳送的數據流中的每一個字節都編上一個序號。序號字段的值則指的是本報文段所發送的數據的第一個字節的序號。17TCP首部20字節固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG位08162431填充確認號字段——占4字節,是期望收到對方的下一個報文段的數據的第一個字節的序號。若確認號=N,則表明:到序號N-1為止的所有數據都已正確收到。18TCP首部20字節固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG位08162431填充數據偏移(即首部長度)——占4位,它指出TCP報文段的數據起始處距離TCP報文段的起始處有多遠。“數據偏移”的單位是32位字(以4字節為計算單位)。19TCP首部20字節固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG位08162431填充保留字段——占6位,保留為今后使用,但目前應置為0。20TCP首部20字節固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG位08162431填充緊急URG——當URG1時,表明緊急指針字段有效。它告訴系統此報文段中有緊急數據,應盡快傳送(相當于高優先級的數據)。21TCP首部20字節固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG位08162431填充確認ACK——只有當ACK1時確認號字段才有效。當ACK0時,確認號無效。22TCP首部20字節固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG位08162431填充推送PSH(PuSH)——接收TCP收到PSH=1的報文段,就盡快地交付接收應用進程,而不再等到整個緩存都填滿了后再向上交付。23TCP首部20字節固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG位08162431填充復位RST(ReSeT)——當RST1時,表明TCP連接中出現嚴重差錯(如由于主機崩潰或其他原因),必須釋放連接,然后再重新建立運輸連接。24TCP首部20字節固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG位08162431填充同步SYN——同步SYN=1表示這是一個連接請求或連接接受報文。25TCP首部20字節固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG位08162431填充終止FIN(FINis)——用來釋放一個連接。FIN1表明此報文段的發送端的數據已發送完畢,并要求釋放運輸連接。26TCP首部20字節固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG位08162431填充窗口字段——占2字節,用來讓對方設置發送窗口的依據,單位為字節。窗口字段表明現在允許對方發送的數據量。窗口值是經常動態變化的。27TCP首部20字節固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG位08162431填充檢驗和——占2字節。檢驗和字段檢驗的范圍包括首部和數據這兩部分。在計算檢驗和時,要在TCP報文段的前面加上12字節的偽首部。28TCP首部20字節固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG位08162431填充緊急指針字段——占16位,指出在本報文段中緊急數據共有多少個字節(緊急數據放在本報文段數據的最前面)。
29TCP首部20字節固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充選項字段——長度可變。TCP最初只規定了一種選項,即最大報文段長度MSS。MSS告訴對方TCP:“我的緩存所能接收的報文段的數據字段的最大長度是MSS個字節。”MSS(MaximumSegmentSize)是TCP報文段中的數據字段的最大長度。數據字段加上TCP首部才等于整個的TCP報文段。30其他選項窗口擴大選項——占3字節,其中有一個字節表示移位值S。新的窗口值等于TCP首部中的窗口位數增大到(16+S),相當于把窗口值向左移動S位后獲得實際的窗口大小。時間戳選項——占10字節,其中最主要的字段時間戳值字段(4字節)和時間戳回送回答字段(4字節)。選擇確認選項——在后面的5.6.3節介紹。31TCP首部20字節固定首部目的端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG位08162431填充填充字段——這是為了使整個首部長度是4字節的整數倍。326TCP的運輸連接管理
運輸連接的三個階段運輸連接就有三個階段,即:連接建立、數據傳送和連接釋放。運輸連接的管理就是使運輸連接的建立和釋放都能正常地進行。連接建立過程中要解決以下三個問題:要使每一方能夠確知對方的存在。要允許雙方協商一些參數(如最大報文段長度,最大窗口大小,服務質量等)。能夠對運輸實體資源(如緩存大小,連接表中的項目等)進行分配。33客戶服務器方式TCP連接的建立都是采用客戶服務器方式。主動發起連接建立的應用進程叫做客戶(client)。被動等待連接建立的應用進程叫做服務器(server)。34
用三次握手建立TCP連接
SYN=1,seq=xCLOSEDCLOSED主動打開被動打開AB客戶服務器TCP的連接建立A的TCP向B發出連接請求報文段,其首部中的同步位SYN=1,并選擇序號seq=x,表明傳送數據時的第一個數據字節的序號是x。35SYN=1,seq=xACK=1,seq=x+1,ack=y1CLOSEDCLOSED主動打開被動打開AB客戶服務器SYN=1,ACK=1,seq=y,ack=x1A收到此報文段后向B給出確認,其ACK=1,確認號ack=y1。
A的TCP通知上層應用進程,連接已經建立。36SYN=1,seq=xACK=1,seq=x+1,ack=y1CLOSEDCLOSED數據傳送主動打開被動打開AB客戶服務器SYN=1,ACK=1,seq=y,ack=x1B的TCP收到主機A的確認后,也通知其上層應用進程:TCP連接已經建立。37SYN-SENTESTAB-LISHEDSYN-RCVDLISTENESTAB-LISHED用三次握手建立TCP連接的各狀態
SYN=1,seq=xACK=1,seq=x+1,ack=y1CLOSEDCLOSED數據傳送主動打開被動打開AB客戶服務器SYN=1,ACK=1,seq=y,ack=x138FIN=1,seq=uCLOSED主動關閉數據傳送ESTAB-LISHEDESTAB-LISHEDAB客戶服務器CLOSEDTCP
的連接釋放
數據傳輸結束后,通信的雙方都可釋放連接。現在A的應用進程先向其TCP發出連接釋放報文段,并停止再發送數據,主動關閉TCP
連接。
A把連接釋放報文段首部的FIN=1,其序號
seq=u,等待B的確認。39FIN=1,seq=uACK=1,seq=v,ack=u1主動關閉數據傳送通知應用進程ESTAB-LISHEDESTAB-LISHEDAB客戶服務器B發出確認,確認號ack=u1,而這個報文段自己的序號seq=v。
TCP服務器進程通知高層應用進程。從A到B這個方向的連
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 草坪種植方案
- 交通疏導方案
- 基于衛星遙感影像的多場景建筑物提取方法研究
- 汽車傳感器與檢測技術電子教案:空燃比測定傳感器
- 醫院食堂制度管理制度
- 縣安監局應急管理制度
- 城鎮社區公廁管理制度
- 中考地理復習教案第11課時 美國巴西澳大利亞
- Web程序設計(微課版)-教學大綱
- 仟吉公司團購活動方案
- 空氣能熱水器購買合同
- 《學前教育教育研習》課程教學大綱
- 醫療美容行業美容管理流程標準化解決方案
- 新《安全生產法》安全培訓
- 《工貿企業重大事故隱患判定標準》培訓
- 《南海爭端問題》課件
- 【MOOC】工業設計面面觀-鄭州大學 中國大學慕課MOOC答案
- 中央空調更換壓縮機維修合同書
- 《中小學生時間規劃管理主題班會:做時間的主人》課件(五套)
- (完整版)英語四級詞匯表
- 【生物】魚課件+2024-2025學年人教版生物七年級上冊
評論
0/150
提交評論