計(jì)算機(jī)網(wǎng)絡(luò)第六章 2講_第1頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)第六章 2講_第2頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)第六章 2講_第3頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)第六章 2講_第4頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)第六章 2講_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、6.3Internet傳輸協(xié)議n 兩個(gè)對(duì)等運(yùn)輸實(shí)體在通信時(shí)傳送的數(shù)據(jù)單位叫作運(yùn)輸協(xié)議數(shù)據(jù)單元 TPDU (Transport Protocol Data Unit)。n TCP/IP的傳輸層有兩個(gè)不同的協(xié)議:(1) 用戶數(shù)據(jù)報(bào)協(xié)議 UDP (User Datagram Protocol) (2) 傳輸控制協(xié)議 TCP (Transmission Control Protocol)n TCP 傳送的數(shù)據(jù)單位協(xié)議是 TCP 報(bào)文段(segment) UDP 傳送的數(shù)據(jù)單位協(xié)議是 UDP 報(bào)文或用戶數(shù)據(jù)報(bào)。 n UDP 在傳送數(shù)據(jù)之前不需要先建立連接。對(duì)方的傳輸層在收到 UDP 報(bào)文后,不需要給出任

2、何確認(rèn)。雖然 UDP 不提供可靠交付,但在某些情況下 UDP 是一種最有效的工作方式。n TCP 則提供面向連接的服務(wù)。TCP 不提供廣播或多播服務(wù)。由于 TCP 要提供可靠的、面向連接的運(yùn)輸服務(wù),因此不可避免地增加了許多的開銷。這不僅使協(xié)議數(shù)據(jù)單元的首部增大很多,還要占用許多的處理機(jī)資源。 n 強(qiáng)調(diào)兩點(diǎn): 1. 傳輸層的 UDP 用戶數(shù)據(jù)報(bào)與網(wǎng)絡(luò)層的IP數(shù)據(jù)報(bào)有很大區(qū)別。IP 數(shù)據(jù)報(bào)要經(jīng)過(guò)互連網(wǎng)中許多路由器的存儲(chǔ)轉(zhuǎn)發(fā),但 UDP 用戶數(shù)據(jù)報(bào)是在傳輸層的端到端抽象的邏輯信道中傳送的。2. TCP 報(bào)文段是在傳輸層抽象的端到端邏輯信道中傳送,這種信道是可靠的全雙工信道。但這樣的信道卻不知道究竟經(jīng)

3、過(guò)了哪些路由器,而這些路由器也根本不知道上面的傳輸層是否建立了 TCP 連接6.3 1 用戶數(shù)據(jù)報(bào)協(xié)議 UDP UDP (User Datagram Protocol)概述 RFC 768n UDP 只在 IP 的數(shù)據(jù)報(bào)服務(wù)之上增加了很少一點(diǎn)的功能,即端口(端口用來(lái)標(biāo)志應(yīng)用層的進(jìn)程)的功能和差錯(cuò)檢測(cè)的功能(可選功能)。 1 16 32源端口目標(biāo)端口UDP長(zhǎng)度=8B的UDP頭部+數(shù)據(jù)UDP校驗(yàn)和(可選,若不計(jì)算,則全0)UDP頭n UDP是一個(gè)簡(jiǎn)單的傳輸協(xié)議; 提供best effort服務(wù), UDP報(bào)文可能會(huì)丟失和亂序; n 雖然 UDP 用戶數(shù)據(jù)報(bào)只能提供不可靠的交付,但 U

4、DP 在某些方面有其特殊的優(yōu)點(diǎn)。n 發(fā)送數(shù)據(jù)之前不需要建立連接(結(jié)束時(shí)也就無(wú)連接釋放),因而開銷小和發(fā)送數(shù)據(jù)前的延遲小 收發(fā)雙方不需要握手, 每個(gè)UDP報(bào)文的處理都獨(dú)立于其它報(bào)文n UDP 的主機(jī)不需要維持復(fù)雜的連接狀態(tài)表。因?yàn)椴皇褂脫砣刂?也不保證可靠交付.n UDP 用戶數(shù)據(jù)報(bào)只有8個(gè)字節(jié)的首部開銷。比TCP的20個(gè)字節(jié)的首部短n 沒有擁塞控制, 可以盡快發(fā)送, 所以網(wǎng)絡(luò)出現(xiàn)的擁塞不會(huì)使源主機(jī)的發(fā)送速率降低。這對(duì)某些實(shí)時(shí)應(yīng)用是很重要的。很多實(shí)時(shí)應(yīng)用(IP電話, 實(shí)時(shí)視頻會(huì)議等)要求源主機(jī)以恒定的速率發(fā)送數(shù)據(jù), 并且允許在擁塞時(shí)丟失一些數(shù)據(jù), 但卻不允許數(shù)據(jù)有太大的時(shí)延. n UDP尤其適

5、用的一個(gè)領(lǐng)域是在客戶-服務(wù)器的情形下.遠(yuǎn)過(guò)程調(diào)用 RPC(Remote Procedure Call)和UDP是一對(duì)好搭檔.(無(wú)連接, 無(wú)流控,無(wú)錯(cuò)控,無(wú)重傳,短請(qǐng)求短回應(yīng)), 如RIP路由信息周期發(fā)送,DNS避免TCP連接建立延遲,SNMP 當(dāng)網(wǎng)絡(luò)擁塞時(shí),UDP比用可靠的,具有擁塞控制的TCP效果好.n RTP(Real-Time transport Protocol 實(shí)傳輸協(xié)議) RFC 1889RTP在協(xié)議棧中位置有點(diǎn)古怪.最終RTP被放在用戶空間中,并且運(yùn)行在UDP之上. 這種設(shè)計(jì)結(jié)果是, 你很難說(shuō)清RTP位于哪一層上.RTP無(wú)流控,無(wú)錯(cuò)控,無(wú)確認(rèn), 無(wú)請(qǐng)求重傳機(jī)制.(a)RTP在協(xié)議

6、棧中的位置 (b)分組嵌套情況使用UDP和TCP協(xié)議的各種應(yīng)用和應(yīng)用層協(xié)議應(yīng)用應(yīng)用層協(xié)議傳輸層協(xié)議應(yīng)用應(yīng)用層協(xié)議傳輸層協(xié)議名字轉(zhuǎn)換DNSUDP網(wǎng)絡(luò)管理SNMPUDP簡(jiǎn)單文件傳輸TFTPUDPIP電話專用協(xié)議UDP路由選擇協(xié)議RIPUDP流式多媒體通信專用協(xié)議UDPIP地址配置BOOTP,DHCPUDP多播IGMPUDP電子郵件SMTPTCP遠(yuǎn)程終端接入TELNETTCP萬(wàn)維網(wǎng)HTTPTCP文件傳輸FTPTCP UDP 用戶數(shù)據(jù)報(bào)的首部格式 用戶數(shù)據(jù)報(bào) UDP 有兩個(gè)字段:數(shù)據(jù)字段和首部字段。首部字段有 8 個(gè)字節(jié),由 4 個(gè)子字段(域)組成,每個(gè)子字段都是兩個(gè)字節(jié)。 在計(jì)算檢驗(yàn)和

7、時(shí),臨時(shí)把“偽首部”和 UDP 用戶數(shù)據(jù)報(bào)連接在一起。偽首部?jī)H僅是為了計(jì)算檢驗(yàn)和, 偽首部既不向上遞交也不向下傳送。偽首部5個(gè)字段中: 17IP協(xié)議頭部中的協(xié)議字段,對(duì)應(yīng)UDP; 6IP協(xié)議頭部中的協(xié)議字段,對(duì)應(yīng)TCP偽首部源端口目的端口長(zhǎng) 度檢驗(yàn)和數(shù) 據(jù)首 部UDP長(zhǎng)度源 IP 地址目的 IP 地址017IP 數(shù)據(jù)報(bào)字節(jié)44112122222字節(jié)發(fā)送在前數(shù) 據(jù)首 部UDP 用戶數(shù)據(jù)報(bào)計(jì)算 UDP 檢驗(yàn)和的例子 10011001 00010011 153.1900001000 01101000 8.10410101011 00000011 171.300001110 00001011 14.1

8、100000000 00010001 0 和 1700000000 00001111 1500000100 00111111 108700000000 00001101 1300000000 00001111 1500000000 00000000 0(檢驗(yàn)和)01010100 01000101 數(shù)據(jù)01010011 01010100 數(shù)據(jù)01001001 01001110 數(shù)據(jù)01000111 00000000 數(shù)據(jù)和 0(填充)10010110 11101011 求和得出的結(jié)果01101001 00010100 檢驗(yàn)和 04112 字偽首部8 字節(jié)U

9、DP 首部7 字節(jié)數(shù)據(jù)填充按二進(jìn)制反碼運(yùn)算求和將得出的結(jié)果求反碼全 0 17 15 1087 13 15 全 0數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù)數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 全 06.3.2 傳輸控制協(xié)議 TCP(transmission control protocol) TCP 概述 RFC 793 RFC1122 RFC1323完成任務(wù): 判斷是否超時(shí), 重傳, 順序組裝等功能, 提供IP無(wú)法提供的可靠性.為獲得TCP服務(wù), 發(fā)收雙方必須首先創(chuàng)建套接字=IP+Port. 一個(gè)套接字有可能同時(shí)被用于多個(gè)連接, 所以連接可以用兩端的套接字標(biāo)識(shí)符來(lái)標(biāo)識(shí), 即(socket1, socket2). 10

10、24以下的端口號(hào)被稱為知名端口(well-known port), 被保留用于一些標(biāo)準(zhǔn)的服務(wù). 所有的TCP連接都是全雙工的,并且是點(diǎn)到點(diǎn)的. 所謂全雙工-同時(shí)可在兩個(gè)方向上傳輸數(shù)據(jù). 所謂點(diǎn)到點(diǎn)-每個(gè)連接恰好有兩個(gè)端點(diǎn). TCP不支持多播或廣播傳輸模式.2端口發(fā)送 TCP 報(bào)文段TCPTCP接收緩存發(fā)送緩存報(bào)文段報(bào)文段報(bào)文段端口發(fā)送端接收端向發(fā)送緩存寫入數(shù)據(jù)塊從接收緩存讀取數(shù)據(jù)塊應(yīng)用進(jìn)程應(yīng)用進(jìn)程2源端口和目的端口字段各占 2 字節(jié)。端口是傳輸層與應(yīng)用層的服務(wù)接口。傳輸層的復(fù)用和分用功能都要通過(guò)端口才能實(shí)現(xiàn)。 序號(hào)字段占 4 字節(jié)。TCP 連接中傳送的數(shù)據(jù)流中的每一個(gè)字節(jié)都編上一個(gè)序號(hào)。序號(hào)字

11、段的值則指的是本報(bào)文段所發(fā)送的數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。 確認(rèn)號(hào)字段占 4 字節(jié),是期望收到對(duì)方的下一個(gè)報(bào)文段的數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。 數(shù)據(jù)偏移占 4 bit,它指出 TCP 報(bào)文段的數(shù)據(jù)起始處距離 TCP 報(bào)文段的起始處有多遠(yuǎn)?!皵?shù)據(jù)偏移”的單位不是字節(jié)而是 32 bit 字(4 字節(jié)為計(jì)算單位)。 保留字段占 6 bit,保留為今后使用,但目前應(yīng)置為 0。 緊急比特 URG 當(dāng) URG = 1 時(shí),表明緊急指針字段有效。它告訴系統(tǒng)此報(bào)文段中有緊急數(shù)據(jù),應(yīng)盡快傳送(相當(dāng)于高優(yōu)先級(jí)的數(shù)據(jù))。 確認(rèn)比特 ACK 只有當(dāng) ACK = 1 時(shí)確認(rèn)號(hào)字段才有效。當(dāng) ACK = 0 時(shí),確認(rèn)號(hào)無(wú)效。 推

12、送比特 PSH (PuSH) 接收 TCP 收到推送比特置 1 的報(bào)文段,就盡快地交付給接收應(yīng)用進(jìn)程,而不再等到整個(gè)緩存都填滿了后再向上交付。 復(fù)位比特 RST (ReSeT) 當(dāng) RST = 1 時(shí),表明 TCP 連接中出現(xiàn)嚴(yán)重差錯(cuò)(如由于主機(jī)崩潰或其他原因),必須釋放連接,然后再重新建立運(yùn)輸連接。 同步比特 SYN 同步比特 SYN 置為 1,就表示這是一個(gè)連接請(qǐng)求或連接接受報(bào)文。 終止比特 FIN (FINal) 用來(lái)釋放一個(gè)連接。當(dāng)FIN = 1 時(shí),表明此報(bào)文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放運(yùn)輸連接。 窗口字段 占 2 字節(jié)。窗口字段用來(lái)控制對(duì)方發(fā)送的數(shù)據(jù)量,單位為字節(jié)。TCP

13、 連接的一端根據(jù)設(shè)置的緩存空間大小確定自己的接收窗口大小,然后通知對(duì)方以確定對(duì)方的發(fā)送窗口的上限。檢驗(yàn)和 占 2 字節(jié)。檢驗(yàn)和字段檢驗(yàn)的范圍包括首部和數(shù)據(jù)這兩部分。在計(jì)算檢驗(yàn)和時(shí),要在 TCP 報(bào)文段的前面加上 12 字節(jié)的偽首部,第4字段為6,第5字段為TCP長(zhǎng)度。緊急指針字段 占 16 bit。緊急指針指出在本報(bào)文段中的緊急數(shù)據(jù)的最后一個(gè)字節(jié)的序號(hào)。 選項(xiàng)字段 長(zhǎng)度可變。TCP 只規(guī)定了一種選項(xiàng),即最大報(bào)文段長(zhǎng)度 MSS (Maximum Segment Size)。MSS 告訴對(duì)方 TCP:“我的緩存所能接收的報(bào)文段的數(shù)據(jù)字段的最大長(zhǎng)度是 MSS 個(gè)字節(jié)?!?MSS 是 TCP 報(bào)文段中

14、的數(shù)據(jù)字段的最大長(zhǎng)度。數(shù)據(jù)字段加上 TCP 首部才等于整個(gè)的 TCP 報(bào)文段。填充字段 這是為了使整個(gè)首部長(zhǎng)度是 4 字節(jié)的整數(shù)倍。 TCP 的數(shù)據(jù)編號(hào)與確認(rèn) n TCP 協(xié)議是面向字節(jié)的。TCP 將所要傳送的報(bào)文看成是字節(jié)組成的數(shù)據(jù)流,并使每一個(gè)字節(jié)對(duì)應(yīng)于一個(gè)序號(hào)。n 在連接建立時(shí),雙方要商定初始序號(hào)。TCP 每次發(fā)送的報(bào)文段的首部中的序號(hào)字段數(shù)值表示該報(bào)文段中的數(shù)據(jù)部分的第一個(gè)字節(jié)的序號(hào)。n TCP 的確認(rèn)是對(duì)接收到的數(shù)據(jù)的最高序號(hào)表示確認(rèn)。接收端返回的確認(rèn)號(hào)是已收到的數(shù)據(jù)的最高序號(hào)加 1。因此確認(rèn)號(hào)表示接收端期望下次收到的數(shù)據(jù)中的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)。 T

15、CP 的流量控制與擁塞控制1. 滑動(dòng)窗口的概念n TCP 采用大小可變的滑動(dòng)窗口進(jìn)行流量控制。窗口大小的單位是字節(jié)。n 在 TCP 報(bào)文段首部的窗口字段寫入的數(shù)值就是當(dāng)前給對(duì)方設(shè)置的發(fā)送窗口數(shù)值的上限。n 發(fā)送窗口在連接建立時(shí)由雙方商定。但在通信的過(guò)程中,接收端可根據(jù)自己的資源情況,隨時(shí)動(dòng)態(tài)地調(diào)整對(duì)方的發(fā)送窗口上限值(可增大或減小)。 n 發(fā)送端要發(fā)送 900 字節(jié)長(zhǎng)的數(shù)據(jù),劃分為 9 個(gè) 100 字節(jié)長(zhǎng)的報(bào)文段,而發(fā)送窗口確定為 500 字節(jié)。n 發(fā)送端只要收到了對(duì)方的確認(rèn),發(fā)送窗口就可前移。n 發(fā)送 TCP 要維護(hù)一個(gè)指針。每發(fā)送一個(gè)報(bào)文段,指針就向前移動(dòng)一個(gè)報(bào)文段的距離。n 發(fā)送端已發(fā)送

16、了 400 字節(jié)的數(shù)據(jù),但只收到對(duì)前 200 字節(jié)數(shù)據(jù)的確認(rèn),同時(shí)窗口大小不變。n 現(xiàn)在發(fā)送端還可發(fā)送 300 字節(jié)。 n 發(fā)送端收到了對(duì)方對(duì)前 400 字節(jié)數(shù)據(jù)的確認(rèn),但對(duì)方通知發(fā)送端必須把窗口減小到 400 字節(jié)。n 現(xiàn)在發(fā)送端最多還可發(fā)送 400 字節(jié)的數(shù)據(jù)。 2. 慢啟動(dòng)和擁塞避免n 發(fā)送端的主機(jī)在確定發(fā)送報(bào)文段的速率時(shí),既要根據(jù)接收端的接收能力,又要從全局考慮不要使網(wǎng)絡(luò)發(fā)生擁塞。n 因此,每一個(gè) TCP 連接需要有以下兩個(gè)狀態(tài)變量:n 接收端窗口 rwnd (receiver window) 又稱為通知窗口(advertised window)。n 擁塞窗口 cwnd (congestion window)。慢啟動(dòng)算法的原理 n 三個(gè)參數(shù): 接收方窗口, 擁塞窗口, 閾值(threshold)初始時(shí)刻閾值=16報(bào)文段, 慢開始和擁塞避免算法的實(shí)現(xiàn)舉例 246810121416182022004812162024傳輸次數(shù)擁塞窗口 cwnd進(jìn)入擁塞避免發(fā)生超時(shí)指數(shù)規(guī)律增長(zhǎng)線性規(guī)律增長(zhǎng)ssthresh = 16慢開始慢開始擁塞避免擁塞避免更新后的 ssthresh = 12進(jìn)入擁塞避免當(dāng) TCP 連接進(jìn)行初始化時(shí),將擁塞窗口置為 1。圖中的窗口單位不使用字節(jié)而使用報(bào)文段。慢開始(閾值)門限的初始值設(shè)置為 16 個(gè)報(bào)文段

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論