版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第五章TCP/IP協議互聯網的基本概念
—IP層在TCP/IP協議棧中的位置應用層協議傳輸層協議網卡驅動程序ARPIPICMPIPv4和IP數據報無連接數據報傳遞服務IP數據報格式IP數據報的分段和重組IP數據報的路由和轉發(fā)IP數據報差錯報告無連接數據報傳遞服務網絡1R1源主機網絡2R2網絡3目標主機R3網絡4IP數據報IP數據報幀頭1IP數據報IP數據報幀頭2IP數據報IP數據報幀頭3IP數據報無連接數據報傳遞服務(續(xù))IP只要求物理網絡提供最基本的功能:傳輸包。IP數據報的傳遞是互相獨立的;(OSI模型中X.25是有連接的,后來才增加無連接服務。)
收到數據報時不發(fā)確認;對IP數據報的損壞、丟失、錯序、重復聽之任之。確定數據報的路由。數據報的分段和重組。盡力而為(besteffort),不保證可靠。IP數據報格式版本報頭長服務類型總長度標識DFMF分段位移生存時間TTL協議號報頭校驗和源IP地址目標IP地址可選項+填充數據01631IP數據報格式(續(xù))絕大多數IP數據報包含20字節(jié)的報頭:版本(4位):IP協議版本,當前為4。報頭長(4位):本數據報頭的字數,每字4字節(jié),范圍是5~15,5即20字節(jié),15即60字節(jié),所以選項最多占40字節(jié)服務類型(8位)(typeofservice):本數據報的服務質量參數,當前未實現,設置為0。總長度(16位):數據報最大長度為65535字節(jié)。IP數據報格式(續(xù))標識(16位):數據報編號,當路由器將本數據報分段時,此標識拷貝到每個段的IP報頭。在分段重組時它用來確定該分段屬于哪個數據報。DF(Don’tFragment)(1位):DF=1禁止本報分段。MF(MoreFragment)(1位):MF=1表示后面還有本報的分段,MF=0表示是最后一個分段。分段位移:分段位移×8指出本分段在原數據報中從第幾字節(jié)開始。除最后一段外,其余分段的長度是8字節(jié)的倍數。這些字段是與分段和重組有關的。IP數據報格式(續(xù))生存時間TTL:指明數據報在互聯網上逗留的最大時間。標準按秒計,實際上按跳數計。數據報每經過一個路由器,TTL減1,當TTL=0時數據報被丟棄。防止無法投遞的報無限傳遞。協議號(8位):指明上一層協議,6表示上層是TCP,17表示上層是UDP。報頭校驗和(16位):通過路由器時TTL減1,校驗和要重新計算。IPv6無校驗和,...源IP地址(32位):數據報源主機的IP地址。目標IP地址(32位):數據報目標主機的IP地址。IP數據報的分段和重組物理網絡一般限制通過包的最大長度,如以太網允許最大幀長1518字節(jié)。若物理網絡允許的包長小于IP數據報長,路由器的IP層要將該報分段成多個IP報轉發(fā)。分段后的數據報在被發(fā)送過程中還可以再分段。由目標主機的IP層對分段報進行一次重組,IP不區(qū)分經一次或多次分段的報。IP數據報的路由和轉發(fā)主機和路由器如何為IP數據報確定路徑:源主機和目標主機位于同一物理網絡:數據報在物理網絡內傳遞。比如以太網,源主機將目標主機IP地址轉換成物理地址,把數據報封裝在以太網幀中直接發(fā)送。源主機和目標主機位于不同物理網絡:數據報經路由器轉發(fā)。路由器通過路由表決定數據報的下一站。源主機如何確定該發(fā)往哪個路由器? 主機也有一張路由表,并配置默認網關。IP數據報的路由和轉發(fā)(續(xù))網2:網1:網4:網3:R3R1R2IP數據報的路由和轉發(fā)(續(xù))
—路由器R3的路由表*項是默認路由項,或叫默認網關(defaultgateway)IP數據報差錯報告互聯網控制報文協議ICMP(InternetControlMessageProtocol)就是IP數據報差錯報告機制,ICMP報文封裝在IP數據報中發(fā)送。ICMP差錯報文:ICMP信息報文:目標不可達?回答請求/回答響應數據報超時(ping用它測主機可達性)數據報參數問題?時間戳/時間戳響應報源減速 ?地址屏蔽碼請求/響應重定向路由協議路由器的核心是網絡層,包括IP、ICMP、ARP,還有一個或多個路由協議。由于路由協議需要傳輸層協議支持,實際路由器還包括高層模塊,還有網管模塊。路由器功能和路由協議分類內部路由協議OSPFv2外部路由協議BGP-4無類別域間路由CIDR路由器功能互聯網中路由器的傳統(tǒng)功能:交換路由信息:與其它路由器交換網絡拓撲和網段時延等信息;執(zhí)行路由算法:基于路由信息計算、更新路由表,為數據報決定路由。Internet是由許多自治系統(tǒng)AS互聯而成,所謂自治系統(tǒng)是由單一機構管理、操作下的路由器連接的互聯網。路由協議分類Internet的路由協議分兩類:內部路由協議或內部網關協議IGP—自治系統(tǒng)內部路由器交換路由信息的協議: RIP(RoutingInformationProtocol),DV類。
IS-IS,OSPF(OpenShortestPathFirst),LS類。外部路由協議或外部網關協議EGP—不同自治系統(tǒng)的路由器交換路由信息的協議:BGP(BorderGatewayProtocol)內部路由協議OSPF—原理是鏈路狀態(tài)路由協議每個路由器都有本鏈路狀態(tài)信息,即它直接連接的路由器和網絡,及到它們的“距離”。周期地將本鏈路狀態(tài)擴散(flooding)到所有結點。所有的鏈路狀態(tài)合在一起就是自治系統(tǒng)的拓撲數據庫,每個路由器維持這個拓撲數據庫。每個路由器根據這個拓撲數據庫構造一個以自身為根的最短路徑樹,從最短路徑樹生成它的路由表。外部路由協議BGP網絡網絡R2R3網絡R1網絡網絡R5R6網絡R7AS1AS2外部路由協議BGP(續(xù))路由器R1屬于自治系統(tǒng)AS1,路由器R5屬于AS2。R1和R5都實現外部路由協議BGP交換路由表,它們也分別實現各自的自治系統(tǒng)內部路由協議,如OSPF。BGP基本上是距離向量路由算法,所不同的是它把到達某網絡選擇的整個路徑告訴鄰居,而不只是下一站。路徑信息AS_PATH中有所穿越的自治系統(tǒng)網絡編號,利用AS_PATH可進行環(huán)路檢測,克服了“計數到無限”的問題。新一代IP—IPv6IPv4的問題:32位約43億個地址,大大少于全球人口數(60億),將于2008年用完;骨干網路由表信息爆炸。IPv6的主要設計特點IPv6基本頭格式IPv6地址IPv6可選項全球的IPv6試驗網IPv6的主要設計特點保留IPv4無連接,“盡力而為”數據報傳遞特征。擴展的地址空間和編址功能:IPv6支持的地址數是IPv4的40億×40億×40億倍!128位地址采用層次結構,地球每平方米的地址數保守估計1564,樂觀估計391×1016。精簡的基本報頭格式(8字段),簡化了報頭處理。支持服務質量控制:通信流等級(trafficclass)將IP包分為不同的服務類別。流標號(flowlabel)可為特定的IP包流申請資源和優(yōu)先級??蛇x項支持身份認證和數據加密。IPv6的主要設計特點(續(xù))基本頭和擴展頭編碼方式改進了性能,增加了擴展的靈活性基本頭擴展頭1擴展頭N傳輸層包40字節(jié)可選...IPv6基本頭格式版本通信流等級流標號負載長度后續(xù)頭部跳數限制源地址(128位)目標地址(128位)031IPv6基本頭格式(續(xù))版本(version):=6。通信流等級(trafficclass):用于服務質量控制。流標號(flowlabel):路由器對流中報同樣處理。負載長度(payloadlength):除基本頭外負載字節(jié)數。后續(xù)頭部(nextheader):標識基本頭后頭部類型。跳數限制(hoplimit):數據源設定,經路由器減1。源地址(sourceaddress):數據報源地址。目標地址(destinationaddress):數據報目標地址。IPv6基本頭格式-與IPv4比較IPv4報頭中有報頭長度,IPv6基本頭定長。IPv4報頭中有報頭校驗和,IPv6沒有。Paxson經統(tǒng)計發(fā)現:通過鏈路層CRC校驗的包約0.02%有校驗和錯誤。Stone等收集了約22億個包,其中約48萬個包有IP、UDP或TCP校驗和錯誤。1278個包IP校驗和錯。IPv6的路由器不對數據報分段,…IPv6的可選項在擴展報頭,路由器一般不需要處理可選項。IPv6地址有三類IP地址:單播、任播、多播地址地址的冒分十六進制表示可集成的全局單播地址局部使用(localuse)的單播地址嵌入IPv4地址的IPv6地址任播地址多播地址地址的冒分十六進制表示將128位地址分成8段,每段16位用十六進制數表示,段之間用冒號“:”隔開。例2080:0000:0000:0000:0123:4567:89AB:CDEF,FF01:0000:0000:1234:89AB:0000:0000:0000一或多個連續(xù)的全0可用“::”代替,但“::”在一個地址中只能出現一次,各段數字開始的0可省略。如FF01:0:0:1234:89AB::地址前綴用“IPv6地址/前綴位數”表示,前綴位數是十進制數。例如:3FFE:3200::/24。::1是回繞地址(loopback),用于自己給自己發(fā)送??杉傻娜謫尾サ刂?/p>
(aggregatableglobalunicastaddress)格式前綴FP(FormatPrefix):為001。頂級集成標識(Top-LevelAggregationID):指定Internet頂級機構,即服務提供者網絡號。下一級集成標識(Next-LevelAggregationID):由TLAID指定的服務提供者用于區(qū)分它的用戶網絡號FPTLAIDRESNLAIDSLAIDinterfaceID3138241664可集成的全局單播地址(續(xù))場所級集成標識(Site-LevelAggregationID):用戶用來構建用戶網絡的編址層次,標識用戶網絡內的特定子網。每個場所可有65536子網。接口標識(interfaceID):用于標識鏈路接口,一般是數據鏈路層地址,如48位以太網地址。保留(REServed):留給將來使用。對于每個Internet服務提供者的網絡號TLAID,Internet的主干路由器必須有一表項與之對應。保留的8位是為TLAID和/或NLAID擴展預留。局部使用的單播地址11111110100接口標識11111110110子網標識接口標識105464(位)本鏈路使用(link-local-use)的單播地址格式10381664(位)本場所使用(site-local-use)的單播地址格式局部使用的單播地址(續(xù))若源/目標地址為本鏈路使用的地址,則數據報只轉發(fā)到該單一鏈路,如中繼器或網橋連接的以太網鏈路,不轉發(fā)到其它鏈路。若源/目標地址為本場所使用的地址,則路由器不把數據報轉發(fā)到場所以外。一個場所可以是由路由器連接的多個以太網鏈路。局部使用的地址無需申請地址前綴,若要連到Internet,可加全局前綴自動重編址。嵌入IPv4地址的IPv6地址IPv4向IPv6的過渡:在過渡時期IPv4地址和IPv6地址必須共存。過渡期有的結點實現雙IP協議棧,同時支持IPv4和IPv6,被稱為IPv6/IPv4結點。采用“隧道(tunnel)技術”:在IPv4路由拓撲的基礎上將IPv6數據報外加IPv4報頭轉發(fā),即封裝IPv4報頭。隧道可以是源到目標路徑的一段,開始和結束端是IPv6/IPv4結點。嵌入IPv4地址的IPv6地址(續(xù))實施隧道技術的IPv6/IPv4結點被指定特殊的IPv6單播地址,稱為“與IPv4兼容的IPv6地址(IPv4-compatibleIPv6address)”。隧道端結點的IPv4地址可從這種IPv6地址自動導出。000000……
0000IPv4地址801632位嵌入IPv4地址的IPv6地址(續(xù))“映射IPv4的IPv6地址(IPv4-mappedIPv6address)”用來表示只實現IPv4不支持IPv6的結點。在IPv4和IPv6混合網中,上述地址可用冒分十六進制和點分十進制結合的形式表示為:
x:x:x:x:x:x:d.d.d.d,如::00000000……
FFFFIPv4地址801632(位)任播地址任播地址是從單播地址空間分配的,當一個單播地址被分配給一個以上接口時就變成任播地址。任播地址不能用作源地址;不能指定給主機,只能指定給路由器。發(fā)送到任播地址的數據報被送到“最近”的結點。任播地址可表示連到特定子網的一組路由器,或屬于一個機構的一組路由器。多播地址標記(flag):T=0表示永久性的周知(well-known)多播地址;T=1表示暫時指定的多播地址。范圍(scope):限制多播組的范圍,1=本結點(node-local)范圍;2=本鏈路(link-local)范圍;5=本場所(site-local)范圍;8=本機構范圍;14=全局范圍(globalscope)。例FF02::2,FF05::2。11111111標記范圍組標識000T844112(位)IPv6地址前綴的初始分配IPv6可選項IPv6的可選項放在擴展頭。定義了6種選項:逐跳選項(hop-by-hopoptions):給路由器信息;路由選項(routingoptions):部分/全部路由信息;分段選項(fragmentoptions):管理數據報分段;目標選項(destinationoptions):給目標的信息;身份認證(authentication):為數據報提供發(fā)送主機身份認證和數據完整性校驗;載荷安全封裝(encapsulatingsecuritypayload):為數據報提供加密,也包括發(fā)送主機身份認證。全球的IPv6試驗網1996年創(chuàng)建的6bone是全球的IPv6試驗網。6bone使用地址前綴3FFE::/16。它為注冊者分配一個24位地址前綴,稱為pTLA(pseudoTLA)。CERNET分配到3FFE:3200::/24。6bone
通過封裝IPv4報頭來傳遞IPv6數據報。IPv6的前景?!從IPv4平滑過渡到IPv6十分重要,但過渡到IPv6耗資巨大!美國擁有的IPv4地址占全世界的74%…,日、韓和歐洲較積極。Internet傳輸層BGPFTPHTTPSMTPTELNETSNMPOSPFIP+ICMPDNSTCPUDPInternet傳輸層傳輸控制協議TCP(TransmissionControlProtocol)是端到端、有連接、可靠數據流傳輸協議。多數互聯網應用需要TCP的可靠傳輸服務。用戶數據報協議UDP
(UserDatagramProtocol)是端到端、無連接、不保證可靠的數據報傳輸協議。它為互聯網上實時視頻、音頻應用提供了實驗環(huán)境。擁塞控制的進一步研究TCP概況TCP是由VintonCerf和RobertKahn在1973年設計,原先IP和TCP是合在一起的,后來把尋徑轉發(fā)和可靠傳輸分成兩層。TCP向應用層提供可靠的進程間通信。IP地址標識主機,TCP端口號標識應用進程。集中統(tǒng)一分配的端口號稱為周知端口(well-knownport),其余的動態(tài)分配。應用進程使用TCP通信,首先要建立連接。TCP傳輸的數據單元稱數據片(segment)。可靠數據流傳輸協議TCPTCP數據可靠傳輸機制TCP滑動窗口流控TCP數據片格式TCP連接建立—三次握手TCP連接關閉TCP重傳策略和重傳超時值TCP擁塞控制TCP協議的問題和擴充TCP數據可靠傳輸機制TCP源進程TCP目標進程數據字節(jié)1001~2000ACK2001數據字節(jié)2001~2500丟失超時重傳數據字節(jié)2001~2500ACK2501TCP數據可靠傳輸機制(續(xù))TCP源進程為一個連接上傳輸的每個數據字節(jié)指定序號;TCP為每個數據片計算校驗和;TCP目標進程要對正確收到(即校驗和正確)的數據字節(jié)序號給予確認(ACKnowledgement);TCP源進程所發(fā)出的數據片在某時間間隔沒有收到確認,則要(超時)重傳數據片。若每發(fā)一個數據片要等待確認,性能...TCP滑動窗口流控目標進程控制源進程發(fā)送窗口的大小窗口外左邊的字節(jié)已被發(fā)送,且已收到確認窗口內字節(jié)可以發(fā)送/已被發(fā)送,但未收到確認窗口外右邊的字節(jié)不能發(fā)送。窗口滑動12345678910111213141516TCP滑動窗口流控(續(xù))TCP確認字節(jié),滑動窗口大小也以字節(jié)為單位,而不是數據片。這是有歷史原因的,原來TCP和IP是一層,采用字節(jié)流為了方便TCP數據片被分段,后來分成兩層,分段功能放在IP層。在傳輸中幾個小片合成一個片會更有效,采用字節(jié)流小片合大片更方便。用數據片數目說明數據總量不及用字節(jié)數更確切,因為一個數據片可以容納一個字節(jié),也可以容納1000字節(jié)。TCP數據片格式目標端口(destinationport)校驗和(checksum)緊急指針(urgentpoint)序號(sequencenumber)確認號(acknowledgementnumber)選項(options)+填充(padding)數據01631位源端口(sourceport)窗口大小(windowsize)(字節(jié)數)FINSYNRSTPSHACKURG片頭長度保留20字節(jié)TCP數據片格式(續(xù))源端口:連同源IP地址標識源應用進程。目標端口:連同目標IP地址標識目標主機的一個應用進程。序號:代表本數據片第一個字節(jié)的序號。確認號:若ACK=1,確認號代表期待接收的下一數據字節(jié)序號。片頭長度:片頭的字數,每個字32位。指明數據從哪里開始。TCP數據片格式(續(xù))6個控制位:
URG=1表示緊急指針有效;URG=0忽略指針。ACK=1表示確認號有效;ACK=0忽略確認號。PSH=1表示推進,讓目標TCP向上遞交數據片。RST=1表示清除連接,發(fā)生主機故障時清除連接,也用于拒絕非法數據片或連接請求。SYN=1表示連接請求,用于建立連接并通告初始序號,本片序號=該連接的初始序號。 FIN=1表示本方數據流終止,即關閉本方數據流。注意SYN和FIN的片即使無數據也占1個序號。TCP數據片格式(續(xù))窗口大小:16位,源方接收窗口的字節(jié)數,即目標方發(fā)送窗口大小。校驗和:16位,對片頭和數據以16位字計算得到,校驗和還包括源、目標IP地址等96位偽報頭。注意偽報頭不發(fā)送。緊急指針:當URG=1時,指針指向緊急數據后面字節(jié)的位置。選項:RFC793中定義了最大數據片長度MSS選項。...TCP數據片格式(續(xù))—討論校驗和檢查需不需要?夠不夠?Paxson
1997年經統(tǒng)計發(fā)現:通過鏈路層CRC校驗的包約0.02%有校驗和錯誤。Stone等在1998~1999年收集了約22億個包,其中約46.86萬個包有TCP校驗和錯誤,包括端主機硬件錯誤、端主機軟件bugs(UNIX、WindowsNT)以及路由器內存錯誤等(不要太信任硬件!!)。有一半錯誤無法確認原因(數據隱私)。TCP數據片格式(續(xù))—討論0~255后來擴展為0~1023端口號一般作為周知端口(well-knownport)由IANA管理,統(tǒng)一分配給系統(tǒng)應用進程,如HTTP用80。1024~65535端口號由用戶動態(tài)使用,但此慣例不都遵循。TCP數據片最小是20字節(jié)(無數據的SYN片、ACK片),最大長度的默認值是556字節(jié)。有人用Tcpdump對網絡上某條線路進行一天的監(jiān)聽,統(tǒng)計發(fā)現25%的IP包是40字節(jié),576字節(jié)以下的IP包占75%。TCP連接建立—三次握手發(fā)送方TCP接收方TCP發(fā)SYN,序號=x發(fā)SYN,ACK,序號=y,確認號=x+1發(fā)ACK,確認號=y+1TCP連接建立—三次握手必要性發(fā)送方TCP接收方TCP發(fā)SYN,序號=200收SYN,序號=100發(fā)SYN,ACK,序號=300,確認號=101發(fā)RST,序號=101發(fā)SYN,ACK,序號=400,確認號=201發(fā)ACK,序號=201,確認號=401收SYN,序號=200TCP連接建立—三次握手必要性(續(xù))三次握手是必要的,因為同步數據片會丟失、延遲或重傳。接收方在收到一個同步數據片時,無法知道它是否是一個老、延遲的重復片,若無三次握手會造成混亂。上例<SYN,序號=100>是一個老的、重傳的、延遲的同步數據片,但接收方無法知道這一點,所以進行第二次握手。發(fā)送方發(fā)現被確認的序號不對,發(fā)<RST,序號=101>拒絕此非法數據片。接下去是針對同步片<SYN,序號=200>的正常同步過程。TCP連接關閉發(fā)送方TCP接收方TCP發(fā)FIN,ACK,序號=x,確認號=y發(fā)ACK,(數據),序號=y,確認號=x+1發(fā)ACK,確認號=z+1發(fā)FIN,ACK,序號=z,確認號=x+1
...TCP重傳策略和重傳超時值TCP采用的是累計確認和后退N重傳機制。實現簡單,但浪費帶寬。對高質量線路重傳常常是擁塞而丟棄造成。持續(xù)擁塞的情況,重傳是火上澆油,更加擁塞。設置適當的重傳超時值RTO(RetransmissionTimeOut)十分重要...,RTO必須動態(tài)修正。TCP重傳超時值(續(xù))RTT(RoundTripTime)表示來回傳輸時間,但各次傳輸RTT不會一樣,需要某種“平均化”的值,稱為SRTT(SmoothedRTT)。設定SRTT初值,可用各次的RTT對SRTT修正:SRTT=·SRTT+(1-)RTT,其中是平滑因子,建議值0.8~0.9,典型值7/8。
令Err=RTT-SRTTTCP重傳超時值(續(xù))|Err|每次傳輸也都不同,考慮偏差的平滑值D。設定D的初值,以后利用各次的|Err|對D修正:
D←·D+(1-)|Err|
其中與SRTT計算式中的可以同或不同。重傳超時值按下式計算:
RTO=SRTT+4DTCP重傳超時值(續(xù))對算法來說正確測量RTT是基礎,但RTT很難正確測量。特別當發(fā)生數據片超時重傳時,從收到的ACK無法判斷這是對原數據片還是重傳數據片的確認。Karn算法:對于重傳的數據片不去更新RTT,每次重傳時就是將前一次的RTO加倍,直至重傳成功。Karn算法在大部分TCP中實現。TCP擁塞控制1986年10月開始,Internet出現了一系列的“擁塞崩潰”,例如某兩地相距不到400米,經過3個網絡結點,它們之間的數據吞吐量一度從平時的32kbps降到了40bps。Jacobson研究發(fā)現:這是由于在壞的網絡情況(即擁塞)下TCP的累計確認、超時重傳、后退
N等機制造成。Jacobson在TCP中增加了擁塞控制算法。這些算法防止了今天Internet的擁塞崩潰。TCP擁塞控制網絡擁塞現象TCP擁塞控制算法的基本思想TCP擁塞控制算法:
-慢啟動和擁塞避免
(slowstart,congestionavoidance)-快重傳和快恢復
(fastretransmit,fastrecovery)TCP實現的版本網絡擁塞現象
—網絡擁塞對吞吐量的影響網絡吞吐量是數據通過網絡的傳送速率吞吐量負載無擁塞輕微擁塞嚴重擁塞AB擁塞對吞吐量的影響擁塞控制基本策略—閉環(huán)控制閉環(huán)控制(closed-loopcontrol)是一種動態(tài)控制系統(tǒng),它包括反饋機制和控制機制。反饋機制允許網絡把擁塞情況通知數據源。路由器(或交換機)是監(jiān)控擁塞程度的最好場所。顯式反饋和隱式反饋...控制機制允許數據源調整給網絡的負載。窗口控制和速率控制。TCP擁塞控制算法的基本思想是一種把丟失作為擁塞(隱式反饋)信號的閉環(huán)控制。丟失可能是差錯丟棄或擁塞丟棄,現代通信傳輸的誤碼率很低,丟失多半是擁塞造成。為每個連接動態(tài)確定擁塞窗口cwnd
反映網絡擁塞情況。TCP發(fā)送方根據cwnd
和對方的接收窗口rwnd
調整發(fā)送窗口wnd:
wnd=min(cwnd,rwnd)為每個連接設置窗口門檻值ssthresh,其初值可設置為64k字節(jié)或rwnd。TCP擁塞控制算法
—慢啟動和擁塞避免(1)慢啟動:開始時令cwnd=1,發(fā)送1個數據片,收到確認后cwnd
加1,即cwnd=2,發(fā)送2個數據片,收到2個確認片后cwnd
加2,即cwnd=4,發(fā)送4個數據片…??傊?,當cwnd=n時,發(fā)送n個數據片,都收到確認片后cwnd
加n。這叫做慢啟動。實際上,在RTT時間內cwnd
的增量△cwnd=cwnd,cwnd
是按指數增長。TCP擁塞控制算法
—慢啟動和擁塞避免(續(xù))慢啟動后,會出現三種可能:cwnd
達到慢啟動門檻值ssthresh(slowstartthreshold);cwnd
達到rwnd;超時無確認。(2)
擁塞避免:當cwnd
達到ssthresh,則cwnd
改為線性增長,發(fā)送cwnd
個數據片,在收到全部確認后,cwnd
加1,即在RTT時間內cwnd
的增量△cwnd=1。(3)當cwnd
達到rwnd,則發(fā)送量不再增長。TCP擁塞控制算法
—慢啟動和擁塞避免(續(xù))(4)當數據片的重傳計時器超時仍未收到確認,則重傳數據片,且令ssthresh=cwnd/2(即當前擁塞窗口的一半),再回到(1),重新慢啟動。慢啟動和擁塞避免作為組合算法在TCP中實現,根據窗口門檻值和數據丟失情況來動態(tài)調整發(fā)送窗口。TCP擁塞控制算法—快重傳當TCP接收方收到一個錯序(序號不連續(xù))的數據片時,它立即發(fā)一個ACK片,這是一個重復的ACK,目的是讓對方知道數據片錯序。TCP發(fā)送方不等待重傳計時器超時,根據重復ACK的情況立即重傳,這就是快重傳。假定:1、2個重復ACK只是數據片暫時錯序,3個重復ACK表明數據片丟失?!TCP擁塞控制算法—快恢復在快重傳后,不是進入慢啟動,而是把cwnd
降一半,然后按原先方式增加,就叫快恢復。為什么采用快恢復而不是慢啟動?收到重復的ACK,不只表示數據片可能丟失,還表示TCP發(fā)送方和接收方之間仍有數據流,TCP接收方只當收到后面的數據片,才可能發(fā)重復ACK,所以擁塞并不嚴重。TCP擁塞控制算法—快重傳和快恢復:例...TCP發(fā)送方TCP接收方數據片1數據片5數據片6ACK6數據片7ACK6數據片8ACK6數據片15ACK6數據片6ACK6ACK16cwnd=5+3cwnd+1...cwnd=10TCP擁塞控制算法
—快重傳和快恢復算法(1)當發(fā)送方收到第3個重復的ACK,設置ssthresh=cwnd/2,但不小于2個數據片。(2)重傳丟失的片,設置cwnd=ssthresh+3。(3)再次收到重復的ACK時,cwnd←cwnd+1。(4)若新cwnd值允許,則恢復發(fā)送1個新片。(5)當非重復的ACK到達,它是對(2)重傳的確認。設置cwnd=ssthresh,進入擁塞避免。TCP擁塞控制算法
—快重傳和快恢復算法的討論快重傳算法選擇重復ACK的門檻值為3,但即使收到3個重復的ACK,也可能只是暫時錯序,如包的傳遞路徑改變,...。所以快重傳的片中也會有不必要的重傳。Paxson對35個Internet站點,20000次TCP批量數據傳輸作了分析:必要和不必要的快重傳的比例記為Rg:b。
TCP擁塞控制算法
—快重傳和快恢復算法的討論若重復ACK門檻值設為4,Rg:b
改進為原2.5倍,但減少了30%快重傳的機會。若此值設為2,增加了65~70%快重傳的機會,但不必要的重傳增加為原來的3倍。當一個窗口中只有一個數據片丟失時,快重傳和快恢復優(yōu)化了性能,但是同一窗口中有多個數據片丟失時不能快恢復。TCP實現的版本1988年的BSD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東科學技術職業(yè)學院《過程控制專題》2023-2024學年第一學期期末試卷
- 廣東工業(yè)大學《大數據和人工智能導論》2023-2024學年第一學期期末試卷
- 廣東創(chuàng)新科技職業(yè)學院《CPA稅法》2023-2024學年第一學期期末試卷
- 小學生口才表演課件圖片
- 培訓學校課件
- 廣東碧桂園職業(yè)學院《音樂律動(一)》2023-2024學年第一學期期末試卷
- 《如何品鑒葡萄酒》課件
- 贛南醫(yī)學院《國際商法與公司治理》2023-2024學年第一學期期末試卷
- 《外周血管介入護理》課件
- 贛東學院《實驗室安全與法規(guī)》2023-2024學年第一學期期末試卷
- 2024年石油石化技能考試-鉆井液工考試近5年真題附答案
- 世界經典神話與傳說故事閱讀測試(四)
- 2024年第五屆插花花藝行業(yè)技能競賽理論考試題庫(含答案)
- 央國企信創(chuàng)化與數字化轉型規(guī)劃實施
- 2025屆浙江省杭州市學軍中學生物高一第一學期期末統(tǒng)考試題含解析
- 會計學原理期末測試練習題及答案
- 金葡素注射液與血小板功能的關聯
- 澳門的英文5篇
- 2024年7月國家開放大學法律事務專科《企業(yè)法務》期末紙質考試試題及答案
- 《教師法》培訓課件
- 常用護理評估表及注意事項
評論
0/150
提交評論