通工專業(yè)(卓越)-現(xiàn)代通信網(wǎng)B-第六章-互聯(lián)網(wǎng)-3_第1頁
通工專業(yè)(卓越)-現(xiàn)代通信網(wǎng)B-第六章-互聯(lián)網(wǎng)-3_第2頁
通工專業(yè)(卓越)-現(xiàn)代通信網(wǎng)B-第六章-互聯(lián)網(wǎng)-3_第3頁
通工專業(yè)(卓越)-現(xiàn)代通信網(wǎng)B-第六章-互聯(lián)網(wǎng)-3_第4頁
通工專業(yè)(卓越)-現(xiàn)代通信網(wǎng)B-第六章-互聯(lián)網(wǎng)-3_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第6章因特網(wǎng)(Internet)互聯(lián)網(wǎng)(internet)是指兩個(gè)或者以上的網(wǎng)絡(luò)互連而成的網(wǎng)絡(luò)。因特網(wǎng)(Internet)是互聯(lián)網(wǎng)的一種,使用TCP/IP協(xié)議實(shí)現(xiàn)不同的設(shè)備之間的通信。萬維網(wǎng)(WWW)是一種基于超文本相互鏈接而成的全球性系統(tǒng),是因特網(wǎng)所能提供的服務(wù)之一?;ヂ?lián)網(wǎng)包含因特網(wǎng),因特網(wǎng)包含萬維網(wǎng)。2023/2/72第六章Internet6.1Internet概述6.2協(xié)議與互連的原理6.3IP層6.4運(yùn)輸層

6.5應(yīng)用層6.6IPv62023/2/736.4運(yùn)輸層應(yīng)用層運(yùn)輸層網(wǎng)絡(luò)層網(wǎng)絡(luò)接入層TCPUDP運(yùn)輸層提供不同主機(jī)上應(yīng)用進(jìn)程之間的端到端邏輯通信。運(yùn)輸層提供基于端口號的尋址、復(fù)用/分用能力。2023/2/74運(yùn)輸層的協(xié)議和服務(wù)兩個(gè)運(yùn)輸層協(xié)議UDP(自學(xué))只在IP數(shù)據(jù)報(bào)服務(wù)之上增加了復(fù)用/分用和(數(shù)據(jù)報(bào))差錯(cuò)檢測功能無連接;盡力而為、不可靠交付;面向報(bào)文、無擁塞控制TCP√在兩個(gè)應(yīng)用進(jìn)程之間提供可靠數(shù)據(jù)傳送服務(wù)面向連接;可靠交付;面向字節(jié)流TCP段結(jié)構(gòu)TCP連接管理TCP流量控制TCP接收證實(shí)和超時(shí)重傳TCP擁塞控制2023/2/75TCP報(bào)文段的格式源端口號目的端口號32bits

應(yīng)用數(shù)據(jù)(可變長)順序號(SN)確認(rèn)號(AN)接收窗口緊急指針校驗(yàn)和FSRPAU頭部長度保留可選項(xiàng)(變長)20字節(jié)小于40字節(jié)64k字節(jié)2023/2/76TCPF

T

PT

E

L

N

E

TD

N

SS

N

M

PT

F

T

PS

M

T

PUDP2123255369161520運(yùn)輸層端口號

服務(wù)器端口號(0~49151)

客戶端短暫端口號(49152~65535)R

I

P應(yīng)用層運(yùn)輸層熟知/系統(tǒng)端口號:0~1023。Internet標(biāo)準(zhǔn)服務(wù)程序。在C/S模式下,提供特定服務(wù)的服務(wù)器必須公開其服務(wù)端口號。登記端口號:1024~49151。沒有熟知端口號的應(yīng)用程序。所有的Internet服務(wù)使用的周知端口列表可在找到2023/2/77順序號:SYN=1時(shí)代表初始序號ISN;否則SN表示該段中第一個(gè)數(shù)據(jù)字節(jié)的序號。確認(rèn)號:代表TCP接收實(shí)體期望接收的下一個(gè)字節(jié)的序號。頭部長度:以32bit為單位。接收窗口:由接收方給出的愿意接受的字節(jié)數(shù)量,起始序號由確認(rèn)號字段給出。校驗(yàn)和:對整個(gè)報(bào)文段進(jìn)行校驗(yàn)。源端口號目的端口號32bits

應(yīng)用數(shù)據(jù)(可變長)順序號(SN)確認(rèn)號(AN)接收窗口緊急指針校驗(yàn)和FSRPAU頭部長度保留可選項(xiàng)(變長)20字節(jié)小于40字節(jié)64k

字節(jié)2023/2/78緊急指針:該字段的值加上報(bào)文段的序號后,代表緊急數(shù)據(jù)序列的最后一個(gè)字節(jié),它使收方能夠知道共有多少緊急數(shù)據(jù)到來。URG:緊急指針字段有效ACK:

確認(rèn)號字段有效PSH:強(qiáng)制交付RST:重建連接SYN:序號同步,連接建立FIN:無數(shù)據(jù)發(fā)送,連接釋放源端口號目的端口號

應(yīng)用數(shù)據(jù)(可變長)順序號(SN)確認(rèn)號(AN)接收窗口緊急指針校驗(yàn)和FSRPAU頭部長度保留可選項(xiàng)(變長)32bits2023/2/79TCP連接管理面向連接為實(shí)現(xiàn)應(yīng)用進(jìn)程之間的可靠數(shù)據(jù)通信,TCP采用了面向連接的方式,即在進(jìn)程間先建立連接,再傳輸數(shù)據(jù),然后釋放連接。連接是實(shí)現(xiàn)可靠傳輸機(jī)制的基礎(chǔ)連接的標(biāo)識套接字Socket=(IP地址:端口號)TCP連接TCP連接=【socketA,socketB】 =【(本地IP:本地端口號),(遠(yuǎn)端IP:遠(yuǎn)端端口號)】2023/2/710Socket的概念進(jìn)程進(jìn)程InternetOS控制程序員控制TCP層SocketBSocketA2023/2/711基于套接字的多路分解clientIP:BP1clientIP:AP1P2serverIP:CSP:9157DP:80SP:9157DP:80P4P3D-IP:CS-IP:AD-IP:CS-IP:BSP:5775DP:80D-IP:CS-IP:B2023/2/712連接建立過程:三次握手每一方通知對方自己將要使用的初始SN(ISN)每一方確認(rèn)對方的SNSYN-ACK:確認(rèn)SN+1第二個(gè)SYN可以和第一個(gè)ACK合并SYN:SN=xACK:AN=x+1SYN:SN=y(tǒng)ACK:AN=y(tǒng)+1ClientServer2023/2/713連接釋放過程每一方獨(dú)立發(fā)起釋放過程發(fā)送FIN消息“I’mnotgoingtosendanymoredata”另一方可以繼續(xù)發(fā)送數(shù)據(jù)單向連接確認(rèn)必須繼續(xù)確認(rèn)FIN確認(rèn)最后的SN+1釋放過程看成兩個(gè)獨(dú)立的單工連接來理解ABFIN,SN=AACK,AN=A+1ACK,AN=?+1DataACK,AN=B+1FIN,SN=B2023/2/714TCP保證可靠服務(wù)的機(jī)制可靠服務(wù):無差錯(cuò)、不丟失、不重復(fù)、不錯(cuò)序。如何保證?差錯(cuò):校驗(yàn)和保證識別出傳輸差錯(cuò)丟失:引入接收確認(rèn)和重傳機(jī)制重復(fù)、錯(cuò)序:引入順序號和確認(rèn)號,使在最終目的地可以進(jìn)行分段的重裝發(fā)快收慢:引入流量控制,使接收者可控制發(fā)送速率網(wǎng)絡(luò)擁塞:引入擁塞控制,調(diào)整源端的發(fā)送量,使之不超過網(wǎng)絡(luò)處理能力并發(fā)應(yīng)用:引入端口號區(qū)分不同的連接,實(shí)現(xiàn)復(fù)用/分用TCP可靠傳輸?shù)墓ぷ髟鞹CP下層網(wǎng)絡(luò)所提供的是不可靠傳輸,TCP必須采取適當(dāng)措施才能保證兩個(gè)運(yùn)輸層之間的可靠傳輸。自動(dòng)重傳請求(ARQ)協(xié)議在停等式ARQ中,發(fā)送方每發(fā)完一個(gè)分組就停止發(fā)送,等待接收方確認(rèn),收到確認(rèn)后再發(fā)送下一個(gè)分組,否則重傳該分組。在連續(xù)(回退N)

ARQ中,發(fā)送方維持著一個(gè)一定大小的發(fā)送窗口,位于發(fā)送窗口內(nèi)的所有分組都可連續(xù)發(fā)送出去,而中途不需要等待對方的確認(rèn)。當(dāng)收到接收方確認(rèn)分組出錯(cuò)后,發(fā)送方將重傳已發(fā)送過的N個(gè)分組。在選擇性重傳ARQ中,當(dāng)收到接收方確認(rèn)分組出錯(cuò)后,發(fā)送方只發(fā)送發(fā)生傳送錯(cuò)誤的分組?;瑒?dòng)窗口協(xié)議:該協(xié)議允許發(fā)送方在停止并等待確認(rèn)前發(fā)送多個(gè)數(shù)據(jù)分組(窗口)。可以加速數(shù)據(jù)的傳輸,還可以控制流量的問題。自動(dòng)超時(shí)重傳:分組丟失、確認(rèn)丟失、分組延遲。累積確認(rèn):對按序到達(dá)的最后一個(gè)分組發(fā)送確認(rèn)。2023/2/7152023/2/716TCP流量控制流量問題:發(fā)送快,接收慢流量控制:限制發(fā)送者的速率以實(shí)現(xiàn)收發(fā)速率匹配流控機(jī)制:滑動(dòng)窗口由接收方在ACK中給出接收窗口(信用量)發(fā)送方的發(fā)送窗口不能超過接收方的接收窗口2023/2/717滑動(dòng)窗口協(xié)議發(fā)送方順序號:Seq,發(fā)送方必須在分組頭中包含一個(gè)順序號。窗口尺寸:W,允許連續(xù)發(fā)送未被證實(shí)的分組的最大個(gè)數(shù)。證實(shí)信號:Ack(i);證實(shí)0~i-1分組被正確接收,累計(jì)證實(shí)策略。定時(shí)器:超時(shí)重傳。重傳機(jī)制:當(dāng)發(fā)生丟失時(shí),進(jìn)行重發(fā)糾錯(cuò)。131415161718192021222324TCP窗口W已發(fā)送且證實(shí)的已發(fā)送未證實(shí)的目前可發(fā)送的SendBaseNextSeq2023/2/718acknowledgedsent可以發(fā)送的超出window的SourcePortDest.PortSequenceNumberAcknowledgmentHL/FlagsWindowD.ChecksumUrgentPointerOptions…SourcePortDest.PortSequenceNumberAcknowledgmentHL/FlagsWindowD.ChecksumUrgentPointerOptions...PacketSentPacketReceivedTCP發(fā)送側(cè):流量控制參數(shù)2023/2/719TCP信用量流控機(jī)制確認(rèn)與流控分離的思想涉及三個(gè)字段:順序號SN、確認(rèn)號AN、窗口尺寸W傳輸?shù)拿總€(gè)字節(jié)均分配一個(gè)SN窗口單位為字節(jié),不是報(bào)文段當(dāng)發(fā)送方收到一個(gè)確認(rèn)報(bào)文段AN=i,W=j(luò),意味著序號0~i-1的字節(jié)都被確認(rèn),下一個(gè)期望接收的字節(jié)序號為i發(fā)送方新的窗口大小W=j(luò),合法的窗口內(nèi)的序號為i~j-12023/2/720信用量機(jī)制-示例W=1400W=1000W=1400累積確認(rèn)累積確認(rèn)2023/2/721TCP窗口大小確定合理的W值是實(shí)現(xiàn)高效率流量控制的關(guān)鍵。W的取值顯然與RTT有關(guān),也與接收端可分配的緩沖區(qū)數(shù)量有關(guān)。(為簡化分析,暫不考慮緩沖區(qū)的限制)設(shè)往返時(shí)延為RTT,線路速率=Rbps,分組長度=L,則當(dāng)W≧(RTT×R)/L時(shí),不會(huì)造成發(fā)送端因等待確認(rèn)信號,引起的線路空閑。直觀上,W與RTT成正比。但實(shí)際上W太大無意義,只會(huì)增加緩沖區(qū)的開銷。但在Internet上,端到端的時(shí)延變化很大,如何確定RTT?2023/2/722確定RTT由于Internet的狀態(tài)隨時(shí)在變,固定的RTT值對實(shí)際的網(wǎng)絡(luò)情況可能有時(shí)顯得太長,有時(shí)又太短。因此TCP采用觀察最近的報(bào)文段的往返時(shí)延的方法來估計(jì)RTT,然后設(shè)定一個(gè)大一些的值。TCP的RTT估值公式

估計(jì)RTT=(1-а)×估計(jì)RTT+а×樣本RTT

其中,在【RFC2988】а的參考值а=0.125。

含義是,使RTT對短暫的時(shí)延變化不敏感。2023/2/723結(jié)論:TCP的窗口值在發(fā)送一側(cè),TCP的窗口W=min{CWin,RcvWin},其中RcvWin由接收方在ACK中給出,而CWin由發(fā)送方根據(jù)網(wǎng)絡(luò)的狀態(tài)確定。因此,發(fā)送方的最大吞吐量=min{CWin,RcvWin}/RTT2023/2/724TCP丟失重傳機(jī)制由于網(wǎng)絡(luò)層不提供反饋信息,為保證可靠傳輸,TCP必須采用超時(shí)重傳機(jī)制來處理報(bào)文段的丟失問題。丟失的定義:超時(shí)或連續(xù)收到三個(gè)冗余的ACK。問題的關(guān)鍵:如何設(shè)定超時(shí)定時(shí)器RTO?顯然,RTO必須大于RTT,否則會(huì)造成不必要的重傳。2023/2/725RTO的估算公式顯然,RTO也不應(yīng)比RTT的估值大太多,否則當(dāng)出現(xiàn)丟失時(shí),TCP將不能很快地重傳該報(bào)文段。估值RTO=估值RTT+4×DevRTT(偏差)

DevRTT=(1-?)×DevRTT+?×|當(dāng)前RTT估值-RTT均值|

?推薦值=0.252023/2/726TCP:重傳示例-1HostASeq=100,20bytesdataACK=100timeprematuretimeout過早超時(shí)HostBSeq=92,8bytesdataACK=120Seq=92,8bytesdataSeq=92timeoutACK=120HostASeq=92,8bytesdataACK=100Loss丟失timeoutlostACKscenario丟失確認(rèn)HostBXSeq=92,8bytesdataACK=100timeSeq=92timeoutSendBase=100SendBase=120SendBase=120Sendbase=1002023/2/727TCP:重傳示例-2HostASeq=92,8bytesdataACK=100Loss丟失timeoutCumulativeACKscenario累積確認(rèn)HostBXSeq=100,20bytesdataACK=120timeSendBase=120結(jié)論:實(shí)際中,RTO的值一般為1秒左右。一旦發(fā)生超時(shí),TCP將重傳序號最小的未被確認(rèn)的報(bào)文段,并將RTO值加倍。發(fā)送端只為最小的未被確認(rèn)的報(bào)文段啟動(dòng)一個(gè)超時(shí)定時(shí)器,每收到一個(gè)ACK,執(zhí)行一次復(fù)位。累積確認(rèn)2023/2/728TCP的擁塞控制擁塞:對網(wǎng)絡(luò)資源的需求超過網(wǎng)絡(luò)的承受能力,導(dǎo)致網(wǎng)絡(luò)性能惡化。原因:信源不知道網(wǎng)絡(luò)的實(shí)時(shí)狀態(tài)。信源彼此之間互相不知道對方的行為。擁塞控制vs流量控制:擁塞控制是一個(gè)全局性的過程,就是防止過多的數(shù)據(jù)注入網(wǎng)絡(luò),導(dǎo)致路由器或鏈路過載。流量控制是一個(gè)端到端的問題,就是抑制發(fā)送端的發(fā)送速率,以免接收端來不及接收。控制機(jī)制相似,但觸發(fā)的原因與目的不同。擁塞導(dǎo)致的現(xiàn)象:分組丟失;時(shí)延加大;網(wǎng)絡(luò)吞吐量下降。10Mbps100Mbps1.5Mbps2023/2/729擁塞控制技術(shù)分類端到端的擁塞控制√沒有來自網(wǎng)絡(luò)的顯式擁塞反饋指示端系統(tǒng)只能通過觀測loss&delay等推測擁塞TCP采用此方案網(wǎng)絡(luò)輔助的擁塞控制路由器給端系統(tǒng)提供擁塞指示單比特?fù)砣甘疚恢该靼l(fā)送者應(yīng)該使用的發(fā)送速率問題:導(dǎo)致路由器行為復(fù)雜化根據(jù)網(wǎng)絡(luò)層是否為運(yùn)輸層提供顯式的擁塞狀態(tài)信息來分類2023/2/730TCP擁塞控制要解決的3個(gè)問題(1)TCP發(fā)送方如何確定發(fā)生了擁塞?

擁塞的確定:檢測網(wǎng)絡(luò)性能指標(biāo):分組丟失率;平均分組時(shí)延;超時(shí)重傳的分組數(shù);平均隊(duì)列長度;……在TCP發(fā)送方,如果超時(shí),或連續(xù)收到三個(gè)冗余的ACK,則認(rèn)為發(fā)生分組丟失事件,從而判定擁塞。2023/2/731(2)如何限制一個(gè)已發(fā)生擁塞的連接的發(fā)送速率?將擁塞發(fā)生的信息傳送到產(chǎn)生分組的源站,源站通過調(diào)整發(fā)送窗口大小來調(diào)整發(fā)送速度。接收窗口Rcvwin的值由接收方確定,然后通知發(fā)送方,它用來防止接收方緩存溢出。但沒有提供網(wǎng)絡(luò)的擁塞狀況。網(wǎng)絡(luò)的狀況,由發(fā)送方探測確定,并記為擁塞窗口Cwin。在任何時(shí)候,發(fā)送方實(shí)際的窗口大小應(yīng)為Cwin和Rcvwin中的最小值,即滿足:

LastByteSent-LastByteAcked<=min{Cwin,Rcvwin}為分析方便,我們忽略Rcvwin

,則得到發(fā)送方的發(fā)送速率R=Cwin/RTT。顯然,在發(fā)送方調(diào)整Cwin,就可以調(diào)整發(fā)送速率。2023/2/732(3)當(dāng)確定發(fā)生了擁塞后,采用什么算法來改變發(fā)送速率?慢開始(slow-start):發(fā)送方讓發(fā)送窗口=擁塞窗口Cwin,Cwin由小到大逐漸增大(加倍)。擁塞避免(congestionavoidance):擁塞窗口值Cwin達(dá)到慢開始門限SSTH后,擁塞窗口Cwin按線性規(guī)律緩慢增長??熘貍鳎╢astretransmit):接收方每收到一個(gè)失序的報(bào)文段就立即發(fā)出重復(fù)確認(rèn),發(fā)送方一旦連續(xù)收到三個(gè)重復(fù)確認(rèn),就立即重傳對方尚未收到的報(bào)文段。快恢復(fù)(

溫馨提示

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

評論

0/150

提交評論