《11傳輸層協(xié)議與應(yīng)用》由會員分享,可在線閱讀,更多相關(guān)《11傳輸層協(xié)議與應(yīng)用(32頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、傳輸層協(xié)議與應(yīng)用,本章目標(biāo),掌握,TCP,的封裝和工作原理,掌握,UDP,的封裝和工作原理,了解常用的,TCP,和,UDP,端口號,對,TCP,和,UDP,首部能夠進(jìn)行分析,本章結(jié)構(gòu),傳輸層,提供端到端的連接,擁塞控制,TCP,的連接與斷開,TCP,封裝格式,UDP,封裝格式,傳輸層的作用,UDP,工作原理,TCP,工作原理,流量控制,差錯控制,計時器,TCP,的應(yīng)用,UDP,的應(yīng)用,傳輸層的作用,IP,層提供點到點的連接,傳輸層提供端到端的連接,IP,層:找到了這臺主機!,傳輸層:找到了應(yīng)用進(jìn)程,傳輸層的協(xié)議,TCP,(,Transmission Control Protocol,),傳輸控
2、制協(xié)議,可靠的、面向連接的協(xié)議,傳輸效率低,UDP,(,User Datagram Protocol,),用戶數(shù)據(jù)報協(xié)議,不可靠的、無連接的服務(wù),傳輸效率高,TCP,的工作原理,TCP,的封裝格式,連接與斷開,流量控制,擁塞控制,差錯控制,計時器,TCP,的封裝格式,源端口號,目標(biāo)端口號,32,位序列號,32,位確認(rèn)號,4,位,首部長度,保留(,6,位),URG,ACK,PSH,RST,SYN,FIN,16,位窗口大小,16,位校驗和,16,位緊急指針,可選項,數(shù)據(jù),0,15,16,31,發(fā)送,TCP,進(jìn)程對應(yīng)的端口號,目標(biāo)端接收進(jìn)程的端口號,0,2,32,-1,范圍內(nèi),數(shù)據(jù)段標(biāo)記,用于到目的
3、端對到達(dá)包的重組,0,2,32,-1,范圍內(nèi),對發(fā)送端的確認(rèn)信息,告訴發(fā)送端這個序號之前的數(shù)據(jù)段都收到了,緊急指針有效位,與,16,位緊急指針配合使用,確認(rèn)序列號有效位,表明該數(shù)據(jù)包包含確認(rèn)信息,為,1,時,請求重新建立,TCP,連接,為,1,時,請求建立連接,為,1,時,數(shù)據(jù)發(fā)送完畢,請求斷開連接,滑動窗口的大小,指明本地可接收數(shù)據(jù)的字節(jié)數(shù),通知接收端立即將數(shù)據(jù)提交給用戶進(jìn)程,不在緩存中停留,等待更多的數(shù)據(jù),TCP,的連接三次握手,發(fā)送,SYN,,,請求建立連接,(,seq,=100,ctl,=SYN),Host A,Host B,1,發(fā)送,SYN,、,ACK,(,seq,=300,ack,
4、101,ctl,=SYN,、,ACK),2,3,發(fā)送,ACK,(,seq,=101,ack,301,ctl,=ACK),TCP,的四次斷開,發(fā)送,FIN,請求斷開連接,(,seq,=101,ack,=301,ctl,=FIN,,,ACK),Host A,Host B,1,發(fā)送,ACK,(,seq,=301,ack=102,ctl,=ACK),2,4,發(fā)送,ACK,(,seq,=102,ack=302,ctl,=ACK),S,eq,100,S,eq,300,Ack,101,3,發(fā)送,FIN,請求斷開連接,(,seq,=301,ack=102,ctl,=FIN,,,ACK),TCP,的流控機制滑動
5、窗口,Host A,Host B,1,2,3,Ack,=301,win=3,Seq,=300,ack,=101,win=3,S,eq,=100,win=3,Ack,=104,win=1,S,eq,=101,win=3,S,eq,=102,win=3,S,eq,=103,win=3,S,eq,=104,win=3,0,3,接收方的緩沖區(qū),0,1,3,2,發(fā)送窗口大小為,3,通報窗口大小為,1,緩沖區(qū)滿,應(yīng)用程序讀取了,1,個數(shù)據(jù)段,實際發(fā)送窗口大小變?yōu)?1,通報窗口大小為,3,TCP,的流控機制擁塞控制,2,1,Win,10,Win,10,Cwnd,=5,Win,10,傳輸時窗口大小為,10,中
6、間鏈路帶寬比較窄,傳輸時窗口大小根據(jù)擁塞窗口(記為,cwnd,)的大小變?yōu)?5,Win,10,TCP,的流控機制擁塞控制,2,2,Host A,Host B,1,2,3,Ack,=301,win=3,Seq,=300,ack,=101,win=3,S,eq,=100,win=3,Ack,=102,win=3,S,eq,=101,win=3,S,eq,=102,win=3,S,eq,=103,win=3,S,eq,=102,win=3,通報窗口大小為,3,,但因為中間鏈路擁塞,丟包,只接收到,102,一個確認(rèn),重傳,102,,實際傳輸?shù)拇翱诖笮p小,TCP,的差錯控制,TCP,差錯控制的,3,種
7、方式,校驗和,確認(rèn),受損傷的數(shù)據(jù)段,丟失的數(shù)據(jù)段,重復(fù)的數(shù)據(jù)段,失序的數(shù)據(jù)段,確認(rèn)的丟失,超時,收到請確認(rèn),TCP,的計時器,4,1,重傳計時器為了控制丟失的數(shù)據(jù)段,Host A,Host B,開啟重傳計時器,等待確認(rèn),Ack,撤消重傳計時器,再發(fā)送其他數(shù)據(jù),A,在重傳計時器超時之前接收到,ack,A,在重傳計時器超時之前,沒有,接收到,ack,重傳數(shù)據(jù),并將重傳計時器復(fù)位,TCP,的計時器,4,2,堅持計時器為了防止零窗口死鎖,Host A,Host B,Ack,win=0,A,在堅持計時器超時之前接收到通知窗口大小的,ack,A,在堅持計時器超時之前,沒有,接收到通知窗口大小的,ack,收
8、到,win=0,的確認(rèn),等待對方發(fā)送確認(rèn)來通知窗口的大小,并啟動堅持計時器,Ack,win=3,發(fā)送后續(xù)數(shù)據(jù),發(fā)送探測數(shù)據(jù)段,提醒接收端確認(rèn)已丟失,如果沒有堅持計時器和探測數(shù)據(jù)段,,ack,丟失時,雙方將會進(jìn)入等待死鎖的狀態(tài),Ack,win=3,丟失,TCP,的計時器,4,3,?;钣嫊r器防止兩個,TCP,之間的連接長時間的空閑,Host A,Server,在保活計時器超時前,,沒有,收到客戶端發(fā)來的數(shù)據(jù),發(fā)送探測數(shù)據(jù)段,如果發(fā)送了,10,個探測數(shù)據(jù)段,還沒有響應(yīng),則斷開連接,建立了,TCP,連接,開啟?;钣嫊r器,server,TCP,的計時器,4,4,時間等待計時器連接終止期間使用的,在發(fā)送了
9、最后一個,ACK,后,不立即關(guān)閉連接,而是等待一段時間,保證能接收到重復(fù)的,FIN,數(shù)據(jù)段。,Host A,Host B,FIN,ACK,FIN,ACK,丟失,如果,A,立即關(guān)閉,而,ACK,又丟失了。,B,會再發(fā)送,FIN,,但是,A,已經(jīng)斷開了連接,不會發(fā)送,ACK,A,發(fā)送了最后一個,ACK,后,不立即關(guān)閉連接,等時間等待計時器超時后再關(guān)閉,TCP,的應(yīng)用,端口,協(xié)議,說明,21,FTP,文件傳輸協(xié)議,用于上傳、下載,23,Telnet,用于遠(yuǎn)程登錄,通過連接目標(biāo)計算機的這一端口,得到驗證后可以遠(yuǎn)程控制管理目標(biāo)計算機,25,SMTP,簡單郵件傳輸協(xié)議,用于發(fā)送郵件,53,DNS,域名服務(wù)
10、,當(dāng)用戶輸入網(wǎng)站的名稱后,由,DNS,負(fù)責(zé)將它解析成,IP,地址,這個過程中用到的端口號是,53,80,HTTP,超文本傳輸協(xié)議,通過,HTTP,實現(xiàn)網(wǎng)絡(luò)上超文本的傳輸,階段總結(jié),TCP,的封裝格式,TCP,的連接與斷開,流控機制,擁塞控制,差錯控制,計時器,階段練習(xí),在,TCP,中如何防止數(shù)據(jù)段的丟失?,如果接收方的緩存已經(jīng)滿了,接收方會向發(fā)送發(fā)發(fā)送什么樣的確認(rèn)信息?發(fā)送方收到后會怎么處理?,UDP,的封裝格式,16,位源端口號,16,位目標(biāo)端口號,16,位,UDP,長度,16,位,UDP,校驗和,數(shù)據(jù),發(fā)送端的,UDP,進(jìn)程端口號,接收端的,UDP,進(jìn)程端口號,包含數(shù)據(jù)的長度,可以算出數(shù)據(jù)
11、的結(jié)束位置,UDP,的差錯控制(可選),0,15,16,31,UDP,的使用,端口,協(xié)議,說明,69,TFTP,簡單文件傳輸協(xié)議,53,DNS,域名服務(wù),123,NTP,網(wǎng)絡(luò)時間協(xié)議,111,RPC,遠(yuǎn)程過程調(diào)用,DNS,服務(wù)器支持,TCP,和,UDP,兩種協(xié)議的查詢方式,而且端口都是,53,。大多數(shù)的查詢都是,UDP,查詢的,一般需要,TCP,查詢的有兩種情況:,當(dāng)查詢數(shù)據(jù)較大以至于產(chǎn)生了數(shù)據(jù)分段,這時,需要利用,TCP,的分片能力來進(jìn)行數(shù)據(jù)傳輸。,當(dāng)主(,master,)服務(wù)器和輔(,slave,)服務(wù)器之間數(shù)據(jù)同步通信的時候。,UDP,的流控和差錯控制,UDP,沒有流控機制,UDP,只有
12、校驗和來提供差錯控制,需要上層協(xié)議來提供差錯控制:例如,TFTP,協(xié)議,Host A,Host B,DATA(512,字節(jié)),ACK,DATA(512,字節(jié)),TFTP,協(xié)議提供分塊傳輸、分塊確認(rèn)的機制,保證數(shù)據(jù)傳輸?shù)目煽啃?TCP/IP,協(xié)議棧,FTP,IP,TFTP,UDP,TCP,Telnet,SMTP,HTTP,應(yīng)用層,傳輸層,網(wǎng)絡(luò)層,會話層,表示層,數(shù)據(jù)鏈路層,Ethernet,PPP,Frame Relay,根據(jù)鏈路類型選擇不同的協(xié)議,對上層透明,根據(jù)協(xié)議號選擇應(yīng)該提交給,TCP,還是,UDP,根據(jù)端口號提交給相應(yīng)的應(yīng)用程序,抓包分析實例拓樸結(jié)構(gòu),192.168.2.86,192.
13、168.1.3,代理服務(wù)器,Internet,Sniffer,一種協(xié)議分析工具軟件,可以捕獲網(wǎng)絡(luò)中的數(shù)據(jù)包,抓包分析實例軟件使用,2,1,添加過濾,開始抓包,設(shè)置需要查看的主機的,IP,地址;,應(yīng)用配置的過濾,抓包分析實例軟件使用,2,2,添加過濾,開始抓包,打開網(wǎng)頁,關(guān)閉網(wǎng)頁,結(jié)束抓包,抓包分析實例,TCP,連接建立,序列號,:Initial sequence number=3042697805,SYN=1,序列號,:Initial sequence number=1093837408,確認(rèn)號,:Acknowledgment number=3042697806,ACK,1,SYN,1,序列號
14、,:Sequence number=3042697806,確認(rèn)號,:1093837409,ACK,1,1,192.168.2.86 192.168.1.3,2,192.168.1.3 192.168.2.86,3,192.168.2.86 192.168.1.3,抓包分析實例斷開連接,FIN,1,ACK,1,ACK,1,FIN,1,ACK,1,1,192.168.2.86 192.168.1.3,2,192.168.1.3 192.168.2.86,3,192.168.1.3 192.168.2.86,4,192.168.2.86 192.168.1.3,本章總結(jié),傳輸層,提供端到端的連接,擁
15、塞控制,TCP,的連接與斷開,TCP,封裝格式,UDP,封裝格式,傳輸層的作用,UDP,工作原理,TCP,工作原理,流量控制,差錯控制,計時器,TCP,的應(yīng)用,UDP,的應(yīng)用,可靠的傳輸層協(xié)議,源端口號,目標(biāo)端口號,32,位序列號,32,位確認(rèn)號,首部長度,標(biāo)志位,SYN,、,ACK,、,FIN,16,位窗口大小,不可靠的傳輸層協(xié)議,源端口號,目標(biāo)端口號,16,位,UDP,長度,實驗,任務(wù),1,使用,Sniffer,分析,TCP,包格式,完成標(biāo)準(zhǔn),能夠熟練使用抓包工具軟件,sniffer,能夠根據(jù)所學(xué)知識分析,TCP,包頭,查看,TCP,連接建立的過程與連接斷開的過程,192.168.1.1,192.168.1.X,