




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
網絡技術顧軍,張瑾計算機學院TCPIP工作原理第1頁地址解析協議ARP(AddressResolutionProtocol)逆地址解析協議RARP(ReverseAddressResolutionProtocol)Internet控制報文協議ICMP(InternetControlMessageProtocol)網際層各種應用層協議
網絡接口層(TELNET,FTP,SMTP等)物理硬件運輸層TCP,UDP應用層ICMPIPRARPARP與各種網絡接口IGMPInternet組管理協議IGMP(InternetGroupManagementProtocol)第4章TCP/IP工作原理TCPIP工作原理第2頁4.7網際控制報文協議ICMPICMP(InternetControlMessageProtocol)允許主機或路由器匯報差錯情況和提供相關異常情況匯報,以降低分組丟失。TCPIP工作原理第3頁IP和ICMP關系IP層提供盡力而為傳遞服務,出現并檢測到差錯時:丟棄差錯分組,并發送一個差錯匯報報文ICMP。有差錯并不發送差錯報文,如檢驗和錯誤、ICMP分組錯誤等。ICMP報文被封裝在IP分組中進行傳遞。
TCPIP工作原理第4頁ICMP差錯匯報報文數據字段內容首部IP數據報ICMP前8字節裝入ICMP報文IP數據報IP數據報首部ICMP差錯匯報報文8字節收到IP數據報IP數據報首部8字節ICMP差錯匯報報文IP數據報數據字段TCPIP工作原理第5頁類型代碼校驗和數據區1 2 3 4CHECKSUM:整個ICMP
報文校驗和算法與IP
分組頭校驗和算法相同CODE:提供報文類型詳細信息TYPE:指出ICMP報文類型3:終點不可達 11:分組超時12:分組參數錯
4:源點抑制 5:路由重定向8:回應請求 0:回應應答13:時間戳請求 14:時間戳應答17:地址掩碼請求 18:地址掩碼應答ICMP報文被分成兩類:差錯匯報報文和問詢報文。TCPIP工作原理第6頁ICMP差錯匯報差錯匯報是單方向:路由器信源主機分組參數錯TYPE=12分組超時TYPE=11ICMP差錯匯報能力是有限ICMP實現網絡中診療信息交換,并不能提升IP分組傳輸可靠性,僅僅是匯報了網絡問題ICMP提供差錯匯報功效,但并沒有嚴格要求對于某種差錯應該采取何種差錯處理辦法路由器并不能發覺全部傳輸錯誤TCPIP工作原理第7頁類型11代碼0~1校驗和未用全0犯錯分組IP頭+前64位數據0:TTL超時
1:分片重組超時 1B 1B 2B 4B類型12代碼0~1校驗和未用全0犯錯分組IP頭+前64位數據0:某參數犯錯
1:缺乏某參數或選項 指針1B 1B 2B 1B 3B分組參數錯TYPE=12分組超時TYPE=11TCPIP工作原理第8頁擁塞控制與ICMP源抑制報文源抑制(SourceQuench)經過限制信源主機發送IP分組速率來降低擁塞方法源抑制三個階段:路由器發覺擁塞,并向源端發送ICMP源抑制報文信源主機逐步降低發往目標主機分組發送速率擁塞解除后,信源主機逐步恢復原有分組發送速率源抑制報文格式類型4代碼0校驗和未用全0抑制分組IP頭+前64位數據1B 1B 2B 4BTCPIP工作原理第9頁選路控制與ICMP重定向機制主機取得路由信息方式——ICMP重定向機制在網絡中,選路由路由器/主機上路由表決定路由器利用路由協議、經過路由器之間定時路由信息交換來取得網絡中路由信息主機則經過ICMP重定向報文來取得路由信息ICMP重定向機制目標:使主機能維持一個動態、小規模、最優路由表機制:在轉發分組時路由器同時檢驗被轉發分組,一旦發覺其使用非最優通路,則向信源發送重定向報文,指出去往目標端最正確路徑重定向機制用于同一個網絡中主機和路由器之間TCPIP工作原理第10頁類型5代碼0~3校驗和路由器IP地址重定向分組IP頭+前64位數據1B 1B 2B 4B0:對網絡重定向 2:對服務類型和網絡重定向1:對主機重定向 3:對服務類型和主機重定向TCPIP工作原理第11頁不應發送ICMP差錯匯報報文
幾個情況對ICMP差錯匯報報文不再發送ICMP差錯匯報報文。對第一個分片數據報片全部后續數據報片都不發送ICMP差錯匯報報文。對含有多播地址數據報都不發送ICMP差錯匯報報文。對含有特殊地址(如
或)數據報不發送ICMP差錯匯報報文。TCPIP工作原理第12頁ICMP請求/應答報文地址掩碼請求與應答(TYPE=17/18)回應(Echo)請求/應答[ping](TYPE=8/0)時間戳請求與應答(TYPE=13/14)類型17/18代碼0校驗和標識符17:Request18:Reply1B 1B 2B 2B 2B 4B序列號地址掩碼地址掩碼請求與應答TCPIP工作原理第13頁類型8/0代碼0校驗和標識符任選數據8:EchoRequest0:EchoReply1B 1B 2B 2B 2B序列號用于發送者與應答著之間請求與應答匹配回應(Echo)請求/應答[ping]TCPIP工作原理第14頁類型13/14代碼0校驗和標識符13:Request14:Reply1B 1B 2B 2B2B 4B 4B 4B序列號信源主機發出請求時間戳初始時間戳接收時間戳發送時間戳目標主機收到請求時間戳目標主機發送回應時間戳時間戳請求與應答TCPIP工作原理第15頁PING(PacketInterNetGroper)PING使用了ICMP回送請求與回送回答測試兩個主機之間連通性。PING是應用層直接使用網絡層ICMP例子,它沒有經過運輸層TCP或UDP。
TCPIP工作原理第16頁Traceroute應用舉例TCPIP工作原理第17頁共有90個主機接收視頻節目R1R3R4R2視頻服務器M………30個30個30個30個30個30個90個不使用多播時需要發送90次單播4.8IP多播TCPIP工作原理第18頁多播1個1個多播多播多播可顯著地降低
網絡中資源消耗多播組組員共有90個R1R3R4R2視頻服務器M………1個1個1個1個1個發送1次多播復制TCPIP工作原理第19頁IP多播一些特點(1)多播使用組地址——IP使用D類地址支持多播。多播地址只能用于目標地址,而不能用于源地址。(2)永久組地址——由因特網號碼指派管理局IANA負責指派。(3)動態組組員(4)使用硬件進行多播TCPIP工作原理第20頁在局域網上進行硬件多播因特網號碼指派管理局IANA擁有以太網地址塊高24位為00-00-5E。所以TCP/IP協議使用以太網多播地址塊范圍是:從00-00-5E-00-00-00
到00-00-5E-FF-FF-FFD類IP地址可供分配有28位,在這28位中前5位不能用來組成以太網硬件地址。
TCPIP工作原理第21頁D類IP地址
與以太網多播地址映射關系0000000000000001010111100111008162431D類IP地址這5
位不使用48位以太網地址01005E表示多播最低23
位來自D類IP地址TCPIP工作原理第22頁網際組管理協議IGMP
和多播路由選擇協議
為了使路由器知道多播組組員信息,需要利用網際組管理協議IGMP(InternetGroupManagementProtocol)。連接在局域網上多播路由器還必須和因特網上其它多播路由器協同工作,方便把多播數據報用最小代價傳送給全部組組員。這就需要使用多播路由選擇協議。TCPIP工作原理第23頁網際組管理協議IGMP1989年公布RFC1112(IGMPv1)早已成為了因特網標準協議。1997年公布RFC2236(IGMPv2,提議標準)對IGMPv1進行了更新。
年10月公布了RFC3376(IGMPv3,提議標準),宣告RFC2236(IGMPv2)是陳舊。TCPIP工作原理第24頁IGMP是整個網際協議IP
一個組成部分和ICMP相同,IGMP使用IP數據報傳遞其報文(即IGMP報文加上IP首部組成IP數據報),但它也向IP提供服務。所以,我們不把IGMP看成是一個單獨協議,而是屬于整個網際協議IP一個組成部分。TCPIP工作原理第25頁IGMP可分為兩個階段第一階段:當某個主機加入新多播組時,該主機應向多播組多播地址發送IGMP報文,申明自己要成為該組組員。當地多播路由器收到IGMP報文后,將組組員關系轉發給因特網上其它多播路由器。TCPIP工作原理第26頁IGMP可分為兩個階段第二階段:因為組組員關系是動態,所以當地多播路由器要周期性地探詢當地局域網上主機,方便知道這些主機是否還繼續是組組員。只要對某個組有一個主機響應,那么多播路由器就認為這個組是活躍。但一個組在經過幾次探詢后依然沒有一個主機響應,則不再將該組組員關系轉發給其它多播路由器。TCPIP工作原理第27頁IGMP使多播路由器
知道多播組組員信息4263多播組23IGMPIGMPIGMPIGMPR1R4R3R2TCPIP工作原理第28頁IGMP采取一些詳細辦法在主機和多播路由器之間全部通信都是使用IP多播。多播路由器在探詢組組員關系時,只需要對全部組發送一個請求信息問詢報文,而不需要對每一個組發送一個問詢報文。默認問詢速率是每125秒發送一次。當同一個網絡上連接有幾個多播路由器時,它們能夠快速和有效地選擇其中一個來探詢主機組員關系。TCPIP工作原理第29頁IGMP采取一些詳細辦法(續)在IGMP問詢報文中有一個數值N,它指明一個最長響應時間(默認值為10秒)。當收到問詢時,主機在0到N之間隨機選擇發送響應所需經過時延。對應于最小時延響應最先發送。同一個組內每一個主機都要監聽響應,只要有本組其它主機先發送了響應,自己就能夠不再發送響應了。TCPIP工作原理第30頁IGMP當地使用范圍IGMP并非在因特網范圍內對全部多播組組員進行管理協議。IGMP不知道
IP多播組包含組員數,也不知道這些組員都分布在哪些網絡上。IGMP協議是讓連接在當地局域網上多播路由器知道本局域網上是否有主機(嚴格講,是主機上某個進程)參加或退出了某個多播組。TCPIP工作原理第31頁多播路由選擇協議
比單播路由選擇協議復雜得多多播轉發必須動態地適應多播組組員改變(這時網絡拓撲并未發生改變)。請注意,單播路由選擇通常是在網絡拓撲發生改變時才需要更新路由。多播路由器在轉發多播數據報時,不能僅僅依據多播數據報中目標地址,而是還要考慮這個多播數據報從什么地方來和要到什么地方去。多播數據報能夠由沒有加入多播組主機發出,也能夠經過沒有組組員接入網絡。TCPIP工作原理第32頁4.9運輸層54321運輸層提供給用進程間邏輯通信主機A主機B應用進程應用進程路由器1路由器2AP1LAN2WANAP2AP3AP4IP層LAN1AP1AP2AP4端口端口54321IP協議作用范圍運輸層協議TCP和UDP作用范圍AP3TCPIP工作原理第33頁應用進程之間通信兩個主機進行通信實際上就是兩個主機中應用進程相互通信。應用進程之間通信又稱為端到端通信。運輸層一個很主要功效就是復用和分用。應用層不一樣進程報文經過不一樣端口向下交到運輸層,再往下就共用網絡層提供服務。“運輸層提供給用進程間邏輯通信”。“邏輯通信”意思是:運輸層之間通信好像是沿水平方向傳送數據。但實際上這兩個運輸層之間并沒有一條水平方向物理連接。TCPIP工作原理第34頁運輸層協議和網絡層協議主要區分應用進程…應用進程…IP協議作用范圍(提供主機之間邏輯通信)TCP和UDP協議作用范圍(提供進程之間邏輯通信)因特網TCPIP工作原理第35頁兩種不一樣運輸協議運輸層向高層用戶屏蔽了下面網絡關鍵細節(如網絡拓撲、所采取路由選擇協議等),它使應用進程看見就是好像在兩個運輸層實體之間有一條端到端邏輯通信信道。當運輸層采取面向連接TCP協議時,盡管下面網絡是不可靠(只提供盡最大努力服務),但這種邏輯通信信道就相當于一條全雙工可靠信道。當運輸層采取無連接UDP協議時,這種邏輯通信信道是一條不可靠信道。TCPIP工作原理第36頁TCP/IP體系中運輸層TCPUDPIP應用層與各種網絡接口運輸層TCPIP工作原理第37頁運輸層端口運行在計算機中進程是用進程標識符來標志。運行在應用層各種應用進程卻不應該讓計算機操作系統指派它進程標識符。這是因為在因特網上使用計算機操作系統種類很多,而不一樣操作系統又使用不一樣格式進程標識符。為了使運行不一樣操作系統計算機應用進程能夠相互通信,就必須用統一方法對TCP/IP體系應用進程進行標志。TCPIP工作原理第38頁端口號(protocolportnumber)
簡稱為端口(port)處理這個問題方法就是在運輸層使用協議端口號(protocolportnumber),或通常簡稱為端口(port)。即使通信終點是應用進程,但我們能夠把端口想象是通信終點,因為我們只要把要傳送報文交到目標主機某一個適當目標端口,剩下工作(即最終交付目標進程)就由TCP來完成。TCPIP工作原理第39頁
ABCIP=7端口500端口501IP=7端口500IP=25端口23連接端口用一個16位端口號進行標志。端口號只含有當地意義,即端口號只是為了標志本計算機應用層中各進程。在因特網中不一樣計算機相同端口號是沒有聯絡。TCPIP工作原理第40頁熟知(公認)端口慣用應用服務端口(0-1023)()()()()()()11116169252123UDPTCPTELNETFTPSMTPTFTPSNMPRPC應用層運輸層網際層IPTCPIP工作原理第41頁4.9.1用戶數據報協議UDPUDP只在IP數據報服務之上增加了極少一點功效,即端口功效和差錯檢測功效。即使UDP用戶數據報只能提供不可靠交付,但UDP在一些方面有其特殊優點。實時播放語音數據傳輸在運輸層必須使用UDP。TCPIP工作原理第42頁UDP數據報幀IP頭部UDP頭部UDP頭部應用層報文應用層報文應用層報文IP頭部UDP頭部應用層報文UDP數據報封裝TCPIP工作原理第43頁UDP首部格式偽首部源端口目端口長度檢驗和數據首部UDP長度源IP地址目IP地址017IP數據報字節44112122222字節發送在前數據首部UDP用戶數據報TCPIP工作原理第44頁偽首部源端口目端口長度檢驗和數據首部UDP長度源IP地址目IP地址017IP數據報字節44112122222字節發送在前數據首部UDP用戶數據報用戶數據報UDP有兩個字段:數據字段和首部字段。首部字段有8個字節,由4個字段組成,每個字段都是兩個字節。TCPIP工作原理第45頁偽首部源端口目端口長度檢驗和數據首部UDP長度源IP地址目IP地址017IP數據報字節44112122222字節發送在前數據首部UDP用戶數據報在計算檢驗和時,暫時把“偽首部”和UDP用戶數據報連接在一起。偽首部僅僅是為了計算檢驗和。TCPIP工作原理第46頁計算UDP檢驗和例子1001100100010011→153.190000100001101000→8.1041010101100000011→171.30000111000001011→14.110000000000010001→0和170000000000001111→150000010000111111→10870000000000001101→130000000000001111→150000000000000000→0(檢驗和)0101010001000101→數據0101001101010100→數據0100100101001110→數據0100011100000000→數據和0(填充)1001011011101101→求和得出結果0110100100010010→檢驗和04112字節偽首部8字節UDP首部7字節數據填充按二進制反碼運算求和將得出結果求反碼全0171510871315全0數據數據數據數據數據數據數據全0TCPIP工作原理第47頁UDP基于端口分用IP層UDP數據報抵達端口2端口3端口1UDP分用TCPIP工作原理第48頁4.9.2傳輸控制協議TCPTCP是面向連接運輸層協議。每一條TCP連接只能有兩個端點(endpoint),每一條TCP連接只能是點對點(一對一)。TCP提供可靠交付服務。
TCP提供全雙工通信。面向字節流。TCPIP工作原理第49頁TCP面向流概念768H發送TCP報文段發送方接收方把字節寫入發送緩存從接收緩存讀取字節應用進程應用進程1230181716151419202145131211H109H加上TCP首部組成TCP報文段TCPTCP字節流字節流H表示TCP報文段首部x表示序號為x數據字節TCP連接TCPIP工作原理第50頁TCP連接TCP使用“連接”(而不但僅是“端口”)作為最基本抽象,同時將TCP連接端點稱為插口(socket),或套接字、套接口。插口和端口、IP地址關系是:IP地址3端口號15003,1500插口(socket)TCPIP工作原理第51頁套接字(socket)
套接字socket=(IP地址:端口號)每一條TCP連接唯一地被通信兩端兩個端點(即兩個套接字)所確定。即:
TCP連接::={socket1,socket2}={(IP1:port1),(IP2:port2)}TCPIP工作原理第52頁幀IP頭部TCP頭部TCP頭部應用數據應用數據應用數據IP頭部TCP頭部應用數據TCP報文段segmentTCP報文格式TCPIP工作原理第53頁TCP首部20字節固定首部目端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充源端口和目標端口字段——各占2字節。端口是運輸層與應用層服務接口。運輸層復用和分用功效都要經過端口才能實現。TCPIP工作原理第54頁TCP首部20字節固定首部目端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充序號字段——占4字節。TCP連接中傳送數據流中每一個字節都編上一個序號。序號字段值則指是本報文段所發送數據第一個字節序號。TCPIP工作原理第55頁TCP首部20字節固定首部目端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充確認號字段——占4字節,是期望收到對方下一個報文段數據第一個字節序號。TCPIP工作原理第56頁TCP首部20字節固定首部目端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充數據偏移——占4bit,它指出TCP報文段數據起始處距離TCP報文段起始處有多遠。“數據偏移”單位不是字節而是32bit字(4字節為計算單位)。TCPIP工作原理第57頁TCP首部20字節固定首部目端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充保留字段——占6bit,保留為今后使用,但當前應置為0。TCPIP工作原理第58頁TCP首部20字節固定首部目端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充緊急比特URG——當URG1時,表明緊急指針字段有效。它告訴系統此報文段中有緊急數據,應盡快傳送(相當于高優先級數據)。TCPIP工作原理第59頁TCP首部20字節固定首部目端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充確認比特ACK——只有當ACK1時確認號字段才有效。當ACK0時,確認號無效。TCPIP工作原理第60頁TCP首部20字節固定首部目端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充推送比特PSH(PuSH)——接收TCP收到推送比特置1報文段,就盡快地交付給接收應用進程,而不再等到整個緩存都填滿了后再向上交付。TCPIP工作原理第61頁TCP首部20字節固定首部目端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充復位比特RST(ReSeT)——當RST1時,表明TCP連接中出現嚴重差錯(如因為主機瓦解或其它原因),必須釋放連接,然后再重新建立運輸連接。TCPIP工作原理第62頁TCP首部20字節固定首部目端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充同時比特SYN——同時比特SYN置為1,就表示這是一個連接請求或連接接收報文。TCPIP工作原理第63頁TCP首部20字節固定首部目端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充終止比特FIN(FINal)——用來釋放一個連接。當FIN1時,表明此報文段發送端數據已發送完成,并要求釋放運輸連接。TCPIP工作原理第64頁TCP首部20字節固定首部目端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充窗口字段——占2字節。窗口字段用來控制對方發送數據量,單位為字節。TCP連接一端依據設置緩存空間大小確定自己接收窗口大小,然后通知對方以確定對方發送窗口上限。TCPIP工作原理第65頁TCP首部20字節固定首部目端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充檢驗和——占2字節。檢驗和字段檢驗范圍包含首部和數據這兩部分。在計算檢驗和時,要在TCP報文段前面加上12字節偽首部。TCPIP工作原理第66頁TCP首部20字節固定首部目端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充緊急指針字段——占16bit。緊急指針指出在本報文段中緊急數據最終一個字節序號。
TCPIP工作原理第67頁TCP首部20字節固定首部目端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充選項字段——長度可變。TCP最初只要求了一個選項,即最大報文段長度
MSS。MSS告訴對方TCP:“我緩存所能接收報文段數據字段最大長度是MSS個字節。”MSS(MaximumSegmentSize)是TCP報文段中數據字段最大長度。數據字段加上TCP首部才等于整個TCP報文段。TCPIP工作原理第68頁其它選項窗口擴大選項——占3字節,其中有一個字節表示移位值S。新窗口值等于TCP首部中窗口位數增大到(16+S),相當于把窗口值向左移動S位后取得實際窗口大小。時間戳選項——占10字節,其中最主要字段時間戳值字段(4字節)和時間戳回送回答字段(4字節)。選擇確認選項——只傳送缺乏數據而不重傳已經正確抵達接收方數據。需要提供接收到到字節塊邊界信息。TCPIP工作原理第69頁TCP首部20字節固定首部目端口數據偏移檢驗和選項(長度可變)源端口序號緊急指針窗口確認號保留FINSYNRSTPSHACKURG比特08162431填充填充字段——這是為了使整個首部長度是4字節整數倍。TCPIP工作原理第70頁4.9.3TCP運輸連接管理TCPIP工作原理第71頁運輸連接就有三個階段,即:連接建立、數據傳送和連接釋放。運輸連接管理就是使運輸連接建立和釋放都能正常地進行。連接建立過程中要處理以下三個問題:要使每一方能夠確知對方存在。要允許雙方協商一些參數(如最大報文段長度,最大窗口大小,服務質量等)。能夠對運輸實體資源(如緩存大小,連接表中項目等)進行分配。
1.運輸連接三個階段TCPIP工作原理第72頁SYN=1,seq=xCLOSEDCLOSED主動打開被動打開AB客戶服務器A
TCP向B發出連接請求報文段,其首部中同時位SYN=1,并選擇序號seq=x,表明傳送數據時第一個數據字節序號是x。(1)TCP連接建立TCPIP工作原理第73頁SYN=1,seq=xCLOSEDCLOSED主動打開被動打開AB客戶服務器SYN=1,ACK=1,seq=y,ack=x1B
TCP收到連接請求報文段后,如同意,則發回確認。
B在確認報文段中應使SYN=1,使ACK=1,其確認號ack=x1,自己選擇序號seq=y。TCPIP工作原理第74頁SYN=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通知上層應用進程,連接已經建立。TCPIP工作原理第75頁SYN=1,seq=xACK=1,seq=x+1,ack=y1CLOSEDCLOSED數據傳送主動打開被動打開AB客戶服務器SYN=1,ACK=1,seq=y,ack=x1B
TCP收到主機A確實認后,也通知其上層應用進程:TCP連接已經建立。TCPIP工作原理第76頁(2)TCP數據傳送TCPIP工作原理第77頁(a)無差錯情況A發送M1確認M1B發送M2發送M3確認M2確認M3A發送M1B超時重傳M1發送M2確認M1丟棄有差錯報文(b)超時重傳tttt停頓等候協議TCPIP工作原理第78頁注意在發送完一個分組后,必須暫時保留已發送分組副本。分組和確認分組都必須進行編號。超時計時器重傳時間應該比數據在分組傳輸平均往返時間更長一些。TCPIP工作原理第79頁確認丟失和確認遲到A發送M1B超時重傳M1發送M2丟棄重復M1重傳確認M1(a)確認丟失確認M1A發送M1B超時重傳M1發送M2丟棄重復M1重傳確認M1(b)確認遲到確認M1收下遲到確認但什么也不做ttttTCPIP工作原理第80頁可靠通信實現使用上述確實認和重傳機制,我們就能夠在不可靠傳輸網絡上實現可靠通信。這種可靠傳輸協議常稱為自動重傳請求ARQ(AutomaticRepeatreQuest)。ARQ表明重傳請求是自動進行。接收方不需要請求發送方重傳某個犯錯分組。TCPIP工作原理第81頁信道利用率停頓等候協議優點是簡單,但缺點是信道利用率U太低。TDRTTATD+RTT+TAB分組確認tt分組確認TCPIP工作原理第82頁流水線傳輸發送方可連續發送多個分組,無須每發完一個分組就停頓下來等候對方確實認。因為信道上一直有數據不間斷地傳送,這種傳輸方式可取得很高信道利用率。B分組ttAACKTCPIP工作原理第83頁連續ARQ協議123456789101112(a)發送方維持發送窗口(發送窗口是5)發送窗口(b)收到一個確認后發送窗口向前滑動向前123456789101112發送窗口TCPIP工作原理第84頁累積確認接收方普通采取累積確認方式。即無須對收到分組逐一發送確認,而是對按序抵達最終一個分組發送確認,這么就表示:到這個分組為止全部分組都已正確收到了。累積確認有優點是:輕易實現,即使確認丟失也無須重傳。缺點是:不能向發送方反應出接收方已經正確收到全部分組信息。TCPIP工作原理第85頁TCP可靠通信詳細實現TCP連接每一端都必須設有兩個窗口——一個發送窗口和一個接收窗口。
TCP可靠傳輸機制用字節序號進行控制。TCP全部確實認都是基于序號而不是基于報文段。
TCP兩端四個窗口經常處于動態改變之中。TCP連接往返時間RTT也不是固定不變。需要使用特定算法估算較為合理重傳時間。TCPIP工作原理第86頁發送緩存與接收緩存作用發送緩存用來暫時存放:
發送應用程序傳送給發送方TCP準備發送數據;
TCP已發送出但還未收到確認數據。接收緩存用來暫時存放:
按序抵達、但還未被接收應用程序讀取數據;不按序抵達數據。
TCPIP工作原理第87頁發送緩存和發送窗口最終被確認字節發送應用程序發送緩存最終發送字節發送窗口已發送TCP序號增大TCPIP工作原理第88頁接收緩存和接收窗口接收應用程序已收到接收窗口TCP接收緩存下一個讀取字節序號增大下一個期望收到字節(確認號)TCPIP工作原理第89頁FIN=1,seq=uCLOSED主動關閉數據傳送ESTAB-LISHEDESTAB-LISHEDAB客戶服務器CLOSED(3)TCP連接釋放
數據傳輸結束后,通信雙方都可釋放連接。現在A應用進程先向其TCP發出連接釋放報文段,并停頓再發送數據,主動關閉TCP
連接。
A把連接釋放報文段首部FIN=1,其序號
seq=u,等候B確實認。TCPIP工作原理第90頁FIN=1,seq=uACK=1,seq=v,ack=u1主動關閉數據傳送通知應用進程ESTAB-LISHEDESTAB-LISHEDAB客戶服務器B發出確認,確認號ack=u1,而這個報文段自己序號seq=v。
TCP服務器進程通知高層應用進程。從A到B這個方向連接就釋放了,TCP連接處于半關閉狀態。B若發送數據,A仍要接收。TCPIP工作原理第91頁FIN=1,seq=uACK=1,seq=v,ack=u1FIN=1,ACK=1,seq=w,ack=u1主動關閉被動關閉數據傳送通知應用進程ESTAB-LISHEDESTAB-LISHEDAB客戶服務器數據傳送
若B已經沒有要向A發送數據,其應用進程就通知TCP釋放連接。TCPIP工作原理第92頁FIN=1,seq=uACK=1,seq=v,ack=u1FIN=1,ACK=1,seq=w,ack=u1主動關閉被動關閉數據傳送通知應用進程ESTAB-LISHEDESTAB-LISHEDAB客戶服務器數據傳送A收到連接釋放報文段后,必須發出確認。ACK=1,seq=u+1,ack=w1TCPIP工作原理第93頁FIN=1,seq=uACK=1,seq=v,ack=u1FIN=1,ACK=1,seq=w,ack=u1主動關閉被動關閉數據傳送通知應用進程ESTAB-LISHEDESTAB-LISHEDAB客戶服務器數據傳送
在確認報文段中ACK=1,確認號ackw1,自己序號seq=u+1。ACK=1,seq=u+1,ack=w1TCPIP工作原理第94頁普通說來,我們總是希望數據傳輸得更加快一些。但假如發送方把數據發送得過快,接收方就可能來不及接收,這就會造成數據丟失。流量控制(flowcontrol)就是讓發送方發送速率不要太快,既要讓接收方來得及接收,也不要使網絡發生擁塞。利用滑動窗口機制能夠很方便地在TCP連接上實現流量控制。4.9.4TCP流量控制TCPIP工作原理第95頁seq=1,DATAseq=201,DATAseq=401,DATAseq=301,DATAseq=101,DATAseq=201,DATAseq=501,DATAACK=1,ack=201,rwnd=300ACK=1,ack=601,rwnd=0ACK=1,ack=501,rwnd=100AB允許A發送序號201至500共300
字節A發送序號101至200,還能發送200字節A發送序號301至400,還能再發送100字節新數據A發送序號1至100,還能發送300字節A發送序號401至500,不能再發送新數據(300字節)A超時重傳舊數據,但不能發送新數據允許A發送序號501至600共100
字節A發送序號501至600,不能再發送了不允許A再發送(到序號600為止數據都收到了)丟失!A向B發送數據。在連接建立時,
B告訴A:“我接收窗口rwnd=400(字節)”。A發送序號201至300,還能發送100字節TCPIP工作原理第96頁在某段時間,若對網絡中某資源需求超出了該資源所能提供可用部分,網絡性能就要變壞——產生擁塞(congestion)。出現資源擁塞條件:對資源需求總和>可用資源若網絡中有許多資源同時產生擁塞,網絡性能就要顯著變壞,整個網絡吞吐量將隨輸入負荷增大而下降。4.9.5擁塞控制TCPIP工作原理第97頁擁塞產生原因:快網絡小緩存接收者;慢網絡大緩存接收者。造成網絡擁塞兩個潛在原因是:網絡能力和接收能力。發送傳輸接收TCPIP工作原理第98頁傳輸網絡小容量接收器調整傳輸速率接收能力發送方接收方處理能力不足TC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025汽車特許經營合同書模板
- 2025監理工程師《合同管理》知識點合同法律效力
- 玩具廠上班合同協議
- 電子產品軟件合同協議
- 男女朋友買房協議合同協議
- 田間技術服務合同協議
- 電梯裝潢商務合同協議
- 電廠清洗服務合同協議
- 瑜伽館應聘老師合同協議
- 環境衛生治理合同協議
- 沿街商鋪、合用場所消防安全培訓課件
- 靜脈炎的預防及處理-李媛
- 頸椎病針灸穴位治療
- 2025年中國汽車車燈行業市場現狀、前景分析研究報告(智研咨詢發布)
- 湯臣倍健營養品市場推廣方案
- 2024年湖北省中考語文真題(學生版+解析版)
- 告訴我地址 -從IPv4到IPv6的傳奇 課件 2024-2025學年清華大學版(2024)B版初中信息技術七年級上冊
- 2024旋翼無人機巡檢作業規范
- 醫學教程 《急性闌尾炎幻燈》
- 重型貨車整車運輸協議樣本
- 讀后續寫-期中真題匯編(原卷版)
評論
0/150
提交評論