版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第七章運(yùn)輸層1運(yùn)輸層運(yùn)輸層實(shí)現(xiàn)網(wǎng)絡(luò)上應(yīng)用進(jìn)程間的邏輯通信(端到端的通信)邏輯通信:網(wǎng)絡(luò)上的主機(jī)運(yùn)輸層之間并沒有實(shí)際的物理連接,運(yùn)輸層之間的通信要通過調(diào)用下層(網(wǎng)絡(luò)層)功能。運(yùn)輸層向應(yīng)用進(jìn)程屏蔽了下面通信子網(wǎng)的細(xì)節(jié)(如網(wǎng)絡(luò)拓?fù)?、采用的協(xié)議),它使應(yīng)用進(jìn)程看見的就是好像在兩個(gè)運(yùn)輸層實(shí)體之間有一條端到端的邏輯通信信道運(yùn)輸層的兩個(gè)不同的運(yùn)輸協(xié)議:面向連接的TCP和面向無連接的UDP(兩個(gè)協(xié)議最大的區(qū)別)盡管網(wǎng)絡(luò)層提供的服務(wù)是不可靠的,但TCP采用了順序號(hào)、累積確認(rèn)、校驗(yàn)、超時(shí)/重傳的可靠傳輸?shù)臋C(jī)制,提供了全雙工可靠傳輸服務(wù)。2運(yùn)輸層的兩個(gè)重要協(xié)議TCP和UDP可靠傳輸:無差錯(cuò)、按序、無丟失、無重復(fù)不可靠傳輸:不按序、可能會(huì)丟失和重復(fù)UDP協(xié)議是不可靠的,因?yàn)閼?yīng)用進(jìn)程通過UDP協(xié)議接收的數(shù)據(jù)可能會(huì)有差錯(cuò)?(這個(gè)說法是錯(cuò)誤的!)傳輸控制協(xié)議TCP(TransmissionControlProtocol)面向連接的可靠傳輸,實(shí)現(xiàn)較復(fù)雜。協(xié)議數(shù)據(jù)單元為TCP報(bào)文段(segment)用戶數(shù)據(jù)報(bào)協(xié)議UDP(UserDatagramProtocol)面向無連接的可靠傳輸,實(shí)現(xiàn)簡(jiǎn)單。協(xié)議數(shù)據(jù)單元為用戶數(shù)據(jù)報(bào)(UDP報(bào)文)3端口(port)應(yīng)用層的進(jìn)程通過端口與運(yùn)輸層實(shí)體進(jìn)行交互,運(yùn)輸層通過端口號(hào)找到具體的應(yīng)用進(jìn)程,因此在TCP報(bào)文段和用戶數(shù)據(jù)報(bào)首部要寫入源端口號(hào)和目的端口號(hào)。端口用16位的端口號(hào)進(jìn)行標(biāo)識(shí)例如:HTTP(80)、FTP(21)網(wǎng)絡(luò)上進(jìn)程通信所用到的地址:IP地址+端口號(hào)IP地址+端口號(hào)可以抽象為插口(socket,套接字)C++中,采用下面命令創(chuàng)建一個(gè)插口
Csocketm_socket;m_socket.Create();
m_socket.Connect(m_ip,6666);4用戶數(shù)據(jù)報(bào)協(xié)議UDPUDP只在IP數(shù)據(jù)報(bào)服務(wù)的基礎(chǔ)上增加了很少的功能,即端口功能(分用、復(fù)用功能)和差錯(cuò)檢測(cè)功能。UDP適合于允許丟失一些數(shù)據(jù),但不允許太大時(shí)延的場(chǎng)合IP電話、流媒體通信、DNS、TFTP、RIP、
SNMP、BOOTP/DHCP、NFSUDP計(jì)算檢驗(yàn)和與IP數(shù)據(jù)報(bào)計(jì)算首部檢驗(yàn)和的方法類似。IP數(shù)據(jù)報(bào)的檢驗(yàn)和只檢驗(yàn)IP數(shù)據(jù)報(bào)首部,UDP的檢驗(yàn)和將首部和數(shù)據(jù)部分一起檢驗(yàn)。(了解)5傳輸控制協(xié)議TCPTCP概述應(yīng)用進(jìn)程不斷的將數(shù)據(jù)塊通過端口寫到TCP發(fā)送緩存中,TCP每次從緩存中取出一定數(shù)量的數(shù)據(jù),將其組成TCP報(bào)文段TCP報(bào)文段的首部源端口、目的端口序號(hào)。指的是本報(bào)文段數(shù)據(jù)的第一個(gè)字節(jié)的編號(hào)確認(rèn)號(hào)。期望收到的下一個(gè)字節(jié)的編號(hào),即下一個(gè)報(bào)文段的序號(hào)。確認(rèn)比特ACK。ACK=1時(shí)確認(rèn)號(hào)才有效同步比特。連接建立時(shí)用來同步序號(hào)。SYS置為1時(shí)表示這是一個(gè)連接請(qǐng)求或連接接受報(bào)文。終止比特FIN。用來釋放連接。當(dāng)FIN=1表示數(shù)據(jù)發(fā)送完畢,要求釋放連接。6窗口。確定對(duì)方發(fā)送窗口的上限檢驗(yàn)和。檢驗(yàn)整個(gè)報(bào)文段(首部和數(shù)據(jù))7TCP如何決定發(fā)送一個(gè)報(bào)文段的時(shí)機(jī)(了解)三種基本機(jī)制發(fā)送緩存中的數(shù)據(jù)達(dá)到MSS字節(jié),就組裝成一個(gè)報(bào)文段發(fā)送出去發(fā)送端應(yīng)用進(jìn)程指明要求發(fā)送報(bào)文段,即推送(push)操作設(shè)置計(jì)時(shí)器,時(shí)間到則發(fā)送報(bào)文段Nagle算法:發(fā)送端不發(fā)送很小的報(bào)文段糊涂窗口綜合癥(sillywindowsyndrome)解決的方法:接收端不要在緩存剛有了一點(diǎn)小的空位置就急忙把一個(gè)很小的窗口大小通知給發(fā)送端收到亂序的報(bào)文段,TCP未明確規(guī)定要如何處理可以將亂序的報(bào)文段丟棄,也可以將其暫存于接收緩存中(連續(xù)ARQ協(xié)議或稱為GBN協(xié)議、滑動(dòng)窗口協(xié)議,選擇重傳ARQ協(xié)議或稱為SR協(xié)議)8流量控制流量控制的實(shí)現(xiàn):接受端設(shè)置發(fā)送端發(fā)送窗口的上限,限制發(fā)送端的發(fā)送速率。發(fā)送窗口:發(fā)送端使用的一個(gè)數(shù)據(jù)結(jié)構(gòu),用來管理存儲(chǔ)允許發(fā)送報(bào)文段的緩存。包括下列信息允許發(fā)送的未確認(rèn)區(qū)間(第一個(gè)字節(jié)與最后一個(gè)字節(jié)編號(hào)表示)若干已發(fā)送的未確認(rèn)報(bào)文段(第一個(gè)字節(jié)與最后一個(gè)字節(jié)編號(hào))若干可用的空閑區(qū)接收窗口:接收端使用的一個(gè)數(shù)據(jù)結(jié)構(gòu),用來管理存儲(chǔ)允許接收?qǐng)?bào)文段的緩存。只有當(dāng)收到的報(bào)文段的序號(hào)落入接收窗口內(nèi)才接收該報(bào)文段,并發(fā)出確認(rèn)。連續(xù)ARQ協(xié)議接收窗口大小為1。允許接收的區(qū)間若干個(gè)已收到但未確認(rèn)的報(bào)文段若干可用的空閑區(qū)9發(fā)送方,接收方的窗口10選擇重傳上層數(shù)據(jù)到達(dá):如果窗口中的下一個(gè)序號(hào)可用,則發(fā)送下一個(gè)報(bào)文段timeout(n):第n個(gè)計(jì)時(shí)器跳重發(fā)報(bào)文段n,計(jì)時(shí)器復(fù)位ACK(n)到達(dá)n?[sendbase,sendbase+N]:標(biāo)記報(bào)文段n已經(jīng)收到如n為unACKed分組中的最小值,將窗口向前移動(dòng)到下一個(gè)unACKed
seq#
發(fā)送方分組n到達(dá)n?[rcvbase,rcvbase+N-1]發(fā)送ACK(n),窗口大小如果失序:緩存如果有序:遞交到上層(同時(shí)遞交緩存中的其他有序分組),將窗口推進(jìn)到下一個(gè)尚未收到的分組分組n到達(dá)[rcvbase-N,rcvbase-1]雖然接收方曾經(jīng)確認(rèn),但仍然需要ACK(n)其他情況:忽略分組接收方11接收端如何設(shè)置發(fā)送端的發(fā)送窗口大小以實(shí)現(xiàn)流量控制發(fā)送窗口接收窗口?應(yīng)用進(jìn)程從接收緩存中讀取的最后一個(gè)字節(jié)LastByteReadLastByteRcvd放入接收緩存中的最后一個(gè)字節(jié)接收端窗口rwnd(或叫通知窗口)=接收緩存中空閑區(qū)的大小=Buffer-[LastByteRcvd-LastByteRead]由此,將發(fā)送端的發(fā)送窗口的上限設(shè)置為7接收緩存12擁塞控制發(fā)送端有一個(gè)擁塞窗口變量cwnd,發(fā)送窗口的大小不超過cwnd。發(fā)送窗口的上限=min(擁塞窗口,接收端窗口)發(fā)送端沒有按時(shí)收到確認(rèn)信息,就認(rèn)為網(wǎng)絡(luò)出現(xiàn)擁塞。擁塞控制算法:(1)慢開始。cwnd=1;每收到一個(gè)新報(bào)文段的確認(rèn)cwnd加1個(gè)MSS,這是一個(gè)指數(shù)增長(zhǎng)的過程;cwnd達(dá)到慢開始門限值ssthresh時(shí)慢開始階段結(jié)束;(2)擁塞避免階段。每經(jīng)過一個(gè)往返時(shí)延RTTcwnd
就增加1個(gè)MSS,這是一個(gè)線性增長(zhǎng)的過程13擁塞控制(續(xù))(3)無論何時(shí),只要發(fā)現(xiàn)網(wǎng)絡(luò)出現(xiàn)擁塞(出現(xiàn)超時(shí)),慢開始門限降為當(dāng)前擁塞窗口的一半,然后擁塞窗口降為1個(gè)MSS擁塞控制兩個(gè)改進(jìn)算法(了解)快重傳:收到三個(gè)重復(fù)的ack(4個(gè)相等的ack)則認(rèn)為有報(bào)文段丟失,網(wǎng)絡(luò)出現(xiàn)擁塞。此時(shí)立即重傳丟失的報(bào)文段快恢復(fù):收到三個(gè)重復(fù)的ack判斷出現(xiàn)擁塞,此時(shí)不是將擁塞窗口降為1,而是降為ssthreash+3*MSS,收到n個(gè)重復(fù)的ack則降為ssthreash+n*MSS14TCP的重傳機(jī)制TCP每發(fā)送一個(gè)報(bào)文段,就對(duì)這個(gè)報(bào)文段設(shè)置一次計(jì)時(shí)器,超時(shí)則重傳。超時(shí)重傳時(shí)間RTO(RetransmissionTime-Out)一般設(shè)為比平均往返時(shí)延(RTT,往返時(shí)延P19)稍長(zhǎng)一點(diǎn)RTO=?*RTT(?原先推薦為2)平均RTT計(jì)算中的問題RTTnew=a*RTTold+(1-a)*RTTnowKarn算法(了解):重傳的報(bào)文段,得到的RTT不計(jì)算在平均RTT之內(nèi)Karn算法修正(了解):報(bào)文段每重傳一次,就將超時(shí)重傳時(shí)間增大一些15采用隨機(jī)早期丟棄RED(Random
EarlyDiscard)進(jìn)行擁塞控制(了解)路由器溢出造成后來到達(dá)的分組全部丟失,影響到多個(gè)相關(guān)的TCP連接因?yàn)閾砣刂贫M(jìn)入慢開始狀態(tài),網(wǎng)絡(luò)上的通信量突然下降很多。通信量的不穩(wěn)定造成了平均通信量的下降。要盡量推遲路由器進(jìn)入溢出狀態(tài)的時(shí)間,由此在路由器還沒有出現(xiàn)溢出之前就開始隨機(jī)的丟棄一些分組。16TCP的運(yùn)輸連接管理運(yùn)輸連接的三個(gè)階段連接釋放、數(shù)據(jù)傳送、連接釋放連接建立要解決的問題(理解)每一方確知對(duì)方的存在允許雙方協(xié)商一些參數(shù)(如最大報(bào)文段長(zhǎng)度MSS、最大窗口大小、服務(wù)質(zhì)量)能夠?qū)\(yùn)輸實(shí)體資源(緩存大小、連接表項(xiàng)目、其它管理連接的數(shù)據(jù)結(jié)構(gòu))進(jìn)行分配發(fā)起TCP連接的進(jìn)程叫作客戶,響應(yīng)連接申請(qǐng)的進(jìn)程叫作服務(wù)器17連接建立的三次握手主機(jī)A的TCP向主機(jī)B的TCP發(fā)出連接請(qǐng)求報(bào)文段,其首部同步比特SYS置1,選擇一個(gè)序號(hào)x主機(jī)B收到連接請(qǐng)求報(bào)文段后,如同意,則發(fā)回確認(rèn)。確認(rèn)報(bào)文段中SYS和ACK置1,確認(rèn)號(hào)為x+1,同時(shí)選擇自己的序號(hào)y主機(jī)A收到B的確認(rèn)后,給B再發(fā)一個(gè)確認(rèn),其ACK置1,確認(rèn)號(hào)y+1,自己的序號(hào)為x+1。并且A通知自己上層的應(yīng)用進(jìn)程,連接已經(jīng)建立。B收到A的確認(rèn)后,也通知自己上層的應(yīng)用進(jìn)程,連接已經(jīng)建立。
(了解)主機(jī)A發(fā)送的第一個(gè)報(bào)文段其序號(hào)仍為x+1為什么要發(fā)送第三個(gè)報(bào)文段(第三次握手)?(理解)18用三次握手建立TCP連接SYN,SEQ=x主機(jī)BSYN,ACK,SEQ=y,ACK=x1ACK,SEQ=x+1,ACK=y
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)派遣工作雙方協(xié)議書七篇
- 2023勞務(wù)派遣工作協(xié)議書七篇
- 魚鱗病病因介紹
- 中小學(xué)結(jié)核病防治知識(shí)
- 【中職專用】中職對(duì)口高考-機(jī)電與機(jī)制類專業(yè)-核心課-模擬試卷2(河南適用)(答案版)
- 重慶2020-2024年中考英語5年真題回-學(xué)生版-專題03 短文填空
- 山東省青島市即墨區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期期末英語試題(原卷版)-A4
- 黃金卷04(新課標(biāo)卷)(新疆、西藏專用)(解析版)-A4
- 2023年新型高效飼料及添加劑項(xiàng)目融資計(jì)劃書
- 2023年硝酸鉀項(xiàng)目籌資方案
- 2025年重慶貨運(yùn)從業(yè)資格證考試題及答案詳解
- 屋面板的拆除與更換施工方案
- 生命不是游戲拒絕死亡挑戰(zhàn)主題班會(huì)
- 本地化部署合同
- 2024年云南省中考?xì)v史試卷
- 油氣管線安全保護(hù)方案
- 國(guó)家職業(yè)技術(shù)技能標(biāo)準(zhǔn) 4-07-05-04 消防設(shè)施操作員 人社廳發(fā)201963號(hào)
- 2024-2030年中國(guó)辣椒堿市場(chǎng)占有率調(diào)查及經(jīng)營(yíng)戰(zhàn)略可行性分析研究報(bào)告
- 全過程工程咨詢項(xiàng)目部管理制度
- 拒絕躺平 停止擺爛-學(xué)生心理健康主題班會(huì)(課件)
評(píng)論
0/150
提交評(píng)論