資源描述:
《Internet核心原理與應(yīng)用技術(shù) 第10章 Internet傳輸層協(xié)議TCPUDP》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第10章Internet傳輸層協(xié)議TCP/UDP可靠的數(shù)據(jù)傳輸控制協(xié)議10.1TCP的數(shù)據(jù)報(bào)格式10.2TCP連接建立的三次握手10.3TCP連接關(guān)閉的過程10.4TCP的累計(jì)重傳策略10.5TCP的擁塞控制10.6TCP的協(xié)議擴(kuò)充10.7用戶數(shù)據(jù)報(bào)協(xié)議10.8圖10.1傳輸層協(xié)議TCP和UDP10.1可靠的數(shù)據(jù)傳輸控制協(xié)議TCP首先是由CERF和KAHN在[CK74]中提出的,在最初的體系結(jié)構(gòu)中TCP和IP是結(jié)合在一起的,后來才將這兩層分開。從理論上來說由于TCP只需要網(wǎng)絡(luò)層提供最簡(jiǎn)單的數(shù)據(jù)包傳遞服務(wù),因此TCP可以運(yùn)行在網(wǎng)絡(luò)層之上的任何層次
2、里,但通常TCP還是運(yùn)行在IP之上的。表10.1常用的網(wǎng)絡(luò)應(yīng)用程序的端口號(hào)應(yīng)用程序FTPTELNETSMTPDNSTFTPHTTPSNMPSNMP(TRAP)默認(rèn)端口21232553698016116210.1.1TCP可靠傳輸 控制機(jī)制TCP是可靠傳輸協(xié)議,但是它是建立在不保證可靠性的IP數(shù)據(jù)報(bào)服務(wù)之上的。10.1.2TCP滑動(dòng)窗口 控制機(jī)制滑動(dòng)窗口的主要作用如下。(1)源進(jìn)程在接受ACK前發(fā)送多少數(shù)據(jù)報(bào)文。(2)目標(biāo)進(jìn)程限制源進(jìn)程發(fā)送數(shù)據(jù)的總量,以保證有足夠的緩沖空間來容納數(shù)據(jù)。圖10.2滑動(dòng)窗口機(jī)制(3)窗口外
3、左邊的字節(jié)已被發(fā)送,而且已經(jīng)收到確認(rèn)。(4)窗口內(nèi)的字節(jié)可以發(fā)送或者已經(jīng)被發(fā)送,但未收到確認(rèn)。(5)窗口外右邊的字節(jié)不能夠被發(fā)送。圖10.3滑動(dòng)窗口舉例10.2TCP的數(shù)據(jù)報(bào)格式圖10.4TCP數(shù)據(jù)報(bào)格式10.3TCP連接建立的三次握手在連接建立過程中要解決以下3個(gè)問題。(1)要使每一方能夠確知對(duì)方的存在。(2)要允許雙方協(xié)商一些參數(shù),例如:最大報(bào)文段長(zhǎng)度、最大窗口大小和服務(wù)質(zhì)量等。(3)能夠?qū)鬏攲?shí)體資源,如緩存大小、連接表中的項(xiàng)目等進(jìn)行分配。圖10.5用三次握手建立TCP連接10.4TCP連接關(guān)閉的過程圖10.6TCP連接釋放的過程10.5
4、TCP的累計(jì)重傳策略10.5.1TCP的累計(jì)確認(rèn)重傳機(jī)制10.5.2TCP的累計(jì)超時(shí)值的 確定SRTT=α×SRTT+(1?α)×RTT(來回傳輸時(shí)間)RTO=?×SRTT10.6TCP的擁塞控制10.6.1TCP擁塞控制算法TCP用于擁塞控制的參數(shù)主要如下。(1)擁塞窗口(cwnd)(2)接收端窗口(receiverwindow,rwnd)(3)發(fā)送窗口(win)(4)慢啟動(dòng)門限值(ssthresh)(5)來回傳輸時(shí)間(RTT)(6)超時(shí)重傳時(shí)間(RTO)(7)快速重傳門限值(tcprexmtthresh)10.6.2慢啟動(dòng)
5、和擁塞避免算法發(fā)送窗口的上限值=Min[rwnd,cwnd]10.6.3快重傳和快恢復(fù)算法快速重傳是當(dāng)TCP源端收到到3個(gè)相同的ACK副本時(shí),即認(rèn)為有數(shù)據(jù)包丟失,則源端重傳丟失的數(shù)據(jù)包,而不必等待RTO超時(shí)。同時(shí)將ssthresh設(shè)置為當(dāng)前cwnd值的一半,并且將cwnd減為原先的一半。下面結(jié)合一個(gè)例子來說明快重傳的工作原理。10.7TCP的協(xié)議擴(kuò)充為了與現(xiàn)有的TCP實(shí)現(xiàn)兼容,TCP功能的擴(kuò)充都是通過定義新的TCP選項(xiàng)來實(shí)現(xiàn)的。1.窗口比例因子選項(xiàng)圖10.7窗口比例因子選項(xiàng)2.負(fù)確認(rèn)選項(xiàng)圖10.8負(fù)確認(rèn)選項(xiàng)10.8用戶數(shù)據(jù)報(bào)協(xié)議10.8.1UD
6、P概述用戶數(shù)據(jù)報(bào)協(xié)議(UDP)提供端到端、無連接的,不保證可靠性的數(shù)據(jù)報(bào)傳輸服務(wù),它允許網(wǎng)上主機(jī)應(yīng)用程序之間傳遞數(shù)據(jù)。(1)發(fā)送數(shù)據(jù)之前不需要建立連接(當(dāng)然發(fā)送數(shù)據(jù)結(jié)束時(shí)也沒有連接需要釋放),因此減少了開銷和發(fā)送數(shù)據(jù)之前的時(shí)延。(2)UDP不使用擁塞控制,也不保證可靠交付,因此主機(jī)不需要維持具有許多參數(shù)的、復(fù)雜的連接狀態(tài)表。(3)UDP用戶數(shù)據(jù)報(bào)只有8個(gè)字節(jié)的頭部開銷,比TCP的20個(gè)字節(jié)的頭部要短。(4)由于UDP沒有擁塞控制,因此網(wǎng)絡(luò)出現(xiàn)的擁塞不會(huì)使源主機(jī)的發(fā)送速率降低。表10.2使用UDP和TCP的各種應(yīng)用和應(yīng)用層協(xié)議應(yīng)用應(yīng)用層協(xié)議傳輸層
7、協(xié)議名字轉(zhuǎn)換DNSUDP文件傳送TFTPUDP路由選擇協(xié)議RIPUDPIP地址配置BOOTP,DHCPUDP網(wǎng)絡(luò)管理SNMPUDP遠(yuǎn)程文件服務(wù)器NFSUDPIP電話專用協(xié)議UDP流式多媒體通信專用協(xié)議UDP多播IGMPUDP電子郵件SMTPTCP遠(yuǎn)程終端接入TelnetTCP萬維網(wǎng)HTTPTCP文件傳送FTPTCP圖10.9UDP中的隊(duì)列10.8.2UDP用戶數(shù)據(jù)報(bào)的 頭部格式圖10.10UDP用戶數(shù)據(jù)報(bào)的報(bào)文格式