internet第04章傳輸層協(xié)議_第1頁(yè)
internet第04章傳輸層協(xié)議_第2頁(yè)
internet第04章傳輸層協(xié)議_第3頁(yè)
internet第04章傳輸層協(xié)議_第4頁(yè)
internet第04章傳輸層協(xié)議_第5頁(yè)
已閱讀5頁(yè),還剩46頁(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、第4章 傳輸層協(xié)議 重點(diǎn) 端口 TCP連接的建立和拆除的握手機(jī)制 計(jì)時(shí)器 流量控制 擁塞控制 4.1.傳輸層 4.1.1. 傳輸層概述 一、傳輸層的作用 彌補(bǔ)網(wǎng)絡(luò)層所提供的服務(wù)質(zhì)量的不足,以 便為高層提供可靠的端到端通信。 l計(jì)算機(jī)網(wǎng)絡(luò)在邏輯上分為資源子網(wǎng)和通 信子網(wǎng) 資源子網(wǎng)中的設(shè)備才有傳輸層,通信子 網(wǎng)中的設(shè)備一般只具備OSI下面三層的功 能。 資源子網(wǎng)中的端用戶依靠在自己主機(jī)上所 增加的這個(gè)傳輸層來(lái)檢測(cè)分組的丟失或數(shù) 據(jù)的殘缺并采取相應(yīng)的補(bǔ)救措施。 二、傳輸層功能 在網(wǎng)絡(luò)層所提供的源到目標(biāo)的分組傳輸服 務(wù)的基礎(chǔ)上,向上層提供可靠的源主機(jī)到 目標(biāo)主機(jī)的數(shù)據(jù)傳輸。 當(dāng)上層的協(xié)議數(shù)據(jù)包的長(zhǎng)度超

2、過(guò)網(wǎng)絡(luò)互聯(lián) 層所能承載的最大數(shù)據(jù)傳輸單元時(shí),提供 分段和合并分段的功能。 提供多路復(fù)用機(jī)制,由于同時(shí)存在多個(gè)高 層應(yīng)用,因此要求傳輸層能夠同時(shí)為多個(gè) 高層應(yīng)用服務(wù),將多個(gè)高層應(yīng)用復(fù)用到一 個(gè)網(wǎng)絡(luò)層連接上。傳輸層是通過(guò)端口來(lái)實(shí) 現(xiàn)這一功能的。 三、端到端的傳輸 傳輸層就是為上三層提供端到端的傳輸服 務(wù) 聲音信號(hào) 電信號(hào) 聲音信號(hào) 電信號(hào) 點(diǎn)到點(diǎn) 點(diǎn)到點(diǎn) 點(diǎn)到點(diǎn) 端到端 四、TCP/IP 的傳輸層 兩個(gè)主要的協(xié)議即傳輸控制協(xié)議(transport control protocol,簡(jiǎn)稱TCP)和用戶數(shù)據(jù)報(bào)協(xié)議 (user datagram protocol,簡(jiǎn)稱UDP) TCP協(xié)議是一個(gè)可靠的面向

3、連接的傳輸層協(xié)議。 UDP協(xié)議將可靠性問(wèn)題交給應(yīng)用程序解決 指標(biāo)指標(biāo) TCP UDP 是否 連 接 面向 連 接 無(wú)連 接 傳輸 可 靠 性 可靠 不可 靠 速度 較慢 較快 4.1.2.端口和套接字 一臺(tái)主機(jī)中同時(shí)會(huì)有多個(gè)應(yīng)用進(jìn)程進(jìn)行 通信,傳輸層必須將它們區(qū)分開(kāi)來(lái)。因此網(wǎng) 絡(luò)通信的最終地址應(yīng)不僅包括主機(jī)地址,還 要包括可描述網(wǎng)絡(luò)進(jìn)程的某種標(biāo)識(shí)。 這種標(biāo)識(shí)稱作傳輸層服務(wù)訪問(wèn)點(diǎn), 即端口端口。 TCP/IP 定義一個(gè)16Bit長(zhǎng)度的整數(shù)作為 端口標(biāo)識(shí),也就是說(shuō)可定義2e16個(gè)端口, 其端口號(hào)從0到 2e161。 從0 到255 被規(guī)定作為公共應(yīng)用服務(wù)的端口,如、 DNS 和電子郵件服務(wù)等,又被

4、稱為著名端口 (Well-known ports)。這些端口所對(duì)應(yīng)的服務(wù)是固 定、公開(kāi)的,因此可以通過(guò)訪問(wèn)這些端口來(lái)訪問(wèn) 對(duì)應(yīng)的服務(wù)。 從256 到1023 的端口,被保留用作商業(yè)性的應(yīng)用 開(kāi)發(fā),如一些網(wǎng)絡(luò)設(shè)備廠商專用協(xié)議的通信端口 等。 1023 以上端口未做限定,即作為自由端口,以本 地方式進(jìn)行分配。 4.2. TCP協(xié)議 4.2.1.TCP協(xié)議概述 TCP,即傳輸控制協(xié)議,它提供面向連接 的、可靠的(沒(méi)有數(shù)據(jù)重復(fù)或丟失)、全雙工 的數(shù)據(jù)流傳輸服務(wù)。 TCP的協(xié)議數(shù)據(jù)單元被稱為段(Segment) 數(shù)據(jù)段分為兩部分,即段頭和數(shù)據(jù) 段頭一般長(zhǎng)20字節(jié)(如有選項(xiàng)部分另加),是 TCP 為了實(shí)現(xiàn)

5、端到端可靠傳輸所加上的控制信 息。 而數(shù)據(jù)則是指由高層即應(yīng)用層來(lái)的數(shù)據(jù)。數(shù)據(jù) 段的大小必須首先滿足65535字節(jié)的IP包數(shù)據(jù) 長(zhǎng)度限制。 源端口:主叫方的TCP 端口號(hào)。 目標(biāo)端口:被叫方的TCP 端口號(hào)。 發(fā)送序號(hào)(SEQ): SYN=0表示數(shù)據(jù)段第一個(gè)數(shù)據(jù)字節(jié)的序號(hào), 即該數(shù)據(jù)段在發(fā)送方的數(shù)據(jù)流中的位置; SYN=1表示建立本次連接的初始序號(hào)。 確認(rèn)序號(hào)(ACK):下一個(gè)期望接收的 TCP 數(shù)據(jù)段號(hào),順序號(hào)和確認(rèn)號(hào)共同用于 TCP 服務(wù)中的確認(rèn)、差錯(cuò)控制。 頭長(zhǎng):TCP頭長(zhǎng),以32 位字長(zhǎng)為單位。實(shí) 際上相當(dāng)于給出數(shù)據(jù)在數(shù)據(jù)段中的開(kāi)始位 置。 預(yù)留:未用的6 位,為將來(lái)的應(yīng)用而保留, 目前

6、置為“0”。 控制字段(CTL):共6個(gè)控制字段,每個(gè) 占一位bit。TCP 數(shù)據(jù)段有多種應(yīng)用,如建 立或關(guān)閉連接、傳輸數(shù)據(jù)、攜帶確認(rèn)等, 這些控制字段用于給出與數(shù)據(jù)段的作用及 處理相關(guān)的控制信息。字段位值=1時(shí)有效。 窗口:窗口的大小表示本方可以接收的數(shù) 據(jù)量,以八位字長(zhǎng)為計(jì)量單位。TCP使用 可變大小的滑動(dòng)窗口來(lái)進(jìn)行流量控制。 校驗(yàn)和:用于對(duì)數(shù)據(jù)段頭和數(shù)據(jù)進(jìn)行校驗(yàn), 以判斷接收的數(shù)據(jù)是否有錯(cuò)。 緊急指針:給出從當(dāng)前段序號(hào)到緊急數(shù)據(jù) 位置的偏移量。 任選項(xiàng):提供一種增加額外設(shè)置的方法, 如最大TCP 分段的大小的約定。 填充:當(dāng)任選項(xiàng)字段長(zhǎng)度不足32 位字長(zhǎng)時(shí), 需要加以填充。 數(shù)據(jù):來(lái)自高

7、層即應(yīng)用層的協(xié)議數(shù)據(jù)。 4.2.2.TCP的連接管理 TCP實(shí)現(xiàn)的是面向連接的數(shù)據(jù)傳輸服務(wù), 即是一種虛電路的數(shù)據(jù)交換方式,在數(shù)據(jù) 傳輸以前需要在源主機(jī)和目標(biāo)主機(jī)之間創(chuàng) 建相應(yīng)的虛電路連接。 一、連接的建立 TCP 使用 三次握手協(xié)議 來(lái)建立連接。 主機(jī)1 首先發(fā) 起TCP 連接 請(qǐng)求,并在所 發(fā)送的數(shù)據(jù)段 中將控制字段 中的SYN置為 “1”、ACK置 為“0”。 主機(jī)2 收到該分段, 若同意建立連接,則 發(fā)送一個(gè)連接接受的 應(yīng)答數(shù)據(jù)段,其中控 制字段的SYN 和ACK 均被置“1”,指示對(duì) 第一個(gè)SYN 報(bào)文段的 確認(rèn),以繼續(xù)握手操 作;否則,主機(jī)2 要 發(fā)送一個(gè)將RST置為 “1”的應(yīng)答

8、數(shù)據(jù)段, 表示拒絕建立連接。 主機(jī)1 收到主機(jī) 2 發(fā)來(lái)的同意建 立連接數(shù)據(jù)段后, 還有再次進(jìn)行選 擇的機(jī)會(huì),若其 確認(rèn)要建立這個(gè) 連接,則向主機(jī) 2 發(fā)送確認(rèn)數(shù)據(jù) 段,用來(lái)通知主 機(jī)2 雙方已完成 建立連接; 若其已不想建立這個(gè)連接,則可以發(fā)送一 個(gè)將RST置為“1”的應(yīng)答數(shù)據(jù)段來(lái)告之主 機(jī)2 拒絕建立連接。 二、連接的拆除 TCP連接的關(guān) 閉過(guò)程是一個(gè)四 次握手的過(guò)程。 圖5-9 四次握手拆除TCP 連接 當(dāng)主機(jī)1 的數(shù)據(jù) 已發(fā)送完畢時(shí), 其在等待確認(rèn) 的同時(shí)可發(fā)送 一個(gè)將控制字 段FIN 置“1”的 數(shù)據(jù)段給主機(jī)2, 表示請(qǐng)求中斷 主機(jī)1到主機(jī)2 的連接。 圖5-9 四次握手拆除TCP

9、連接 若主機(jī)2 已正確接 收主機(jī)1 的所有分 段,則會(huì)發(fā)送一個(gè) 數(shù)據(jù)段正確接收的 確認(rèn)段,同時(shí)通知 本地相應(yīng)的應(yīng)用程 序,對(duì)方要求關(guān)閉 連接,接著再發(fā)送 一個(gè)對(duì)主機(jī)1 所發(fā) 送的FIN段進(jìn)行確 認(rèn)的應(yīng)答段。由此 便拆除了一個(gè)方向 的TCP連接。 圖5-9 四次握手拆除TCP 連接 但是,此時(shí)在相反方向 上,主機(jī)2 仍然可以向 主機(jī)1 發(fā)送數(shù)據(jù),直到 主機(jī)2 數(shù)據(jù)發(fā)送完畢并 要求關(guān)閉連接。這個(gè)方 向上連接的拆除同樣要 經(jīng)過(guò)(1)、(2)兩步, 由主機(jī)2發(fā)起FIN段,主 機(jī)1應(yīng)答確認(rèn)ACK,拆 除另一方向的TCP連接。 圖5-9 四次握手拆除TCP 連接 4.2.3.確認(rèn)和超時(shí)重傳 4.2.4.T

10、CP定時(shí)器 TCP設(shè)置多個(gè)定時(shí)器幫助其完成所承擔(dān)的 服務(wù)。 一、重傳定時(shí)器(Connection Establishment Timer) 重發(fā)定時(shí)器是TCP發(fā)送數(shù)據(jù)時(shí)設(shè)置的, 如果在定時(shí)器超時(shí)前該數(shù)據(jù)段被確認(rèn),就 關(guān)閉該定時(shí)器,否則,一旦超時(shí)則重發(fā)該 數(shù)據(jù)段。 二、連接建立定時(shí)器(Connection Establishment Timer) 當(dāng)請(qǐng)求建立連接的SYN數(shù)據(jù)段發(fā)出時(shí), 連接建立定時(shí)器就開(kāi)始計(jì)時(shí),如果在75秒 內(nèi)未收到響應(yīng),則連接建立失敗。 三、ACK延時(shí)定時(shí)器(Delayed ACK Timer) 當(dāng)TCP實(shí)體收到數(shù)據(jù)時(shí)它必須返回確認(rèn), 但并不需要立即回復(fù),它可以在200亳秒內(nèi)

11、發(fā)送ACK報(bào)文,如果在這段時(shí)間內(nèi)它恰好 有數(shù)據(jù)要發(fā)送,它就可以在數(shù)據(jù)內(nèi)包含確 認(rèn)信息,因此需要ACK延時(shí)定時(shí)器。 四、持續(xù)定時(shí)器(Persistence Timer) 防止死鎖事情發(fā)生,發(fā)送方在收到接收 方發(fā)來(lái)一個(gè)窗口為0的數(shù)據(jù)時(shí),就啟動(dòng)持續(xù) 定時(shí)器,等到該定時(shí)器超時(shí)還沒(méi)有收到對(duì) 方修改窗口大小的數(shù)據(jù)段時(shí),發(fā)送方就發(fā) 一個(gè)探測(cè)數(shù)據(jù),對(duì)接收方對(duì)該探測(cè)數(shù)據(jù)的 響應(yīng)應(yīng)包含了窗口大小,若仍為0,則定時(shí) 器清0,重復(fù)以上步驟,否則則可以發(fā)送數(shù) 據(jù)。 五、保活定時(shí)器(The Keepalive Timer ) 當(dāng)一個(gè)連接長(zhǎng)時(shí)間閑置會(huì)造成保持存活 定時(shí)器會(huì)超時(shí),這時(shí)就會(huì)發(fā)送一個(gè)空數(shù)據(jù) 段檢測(cè)另一方是否仍然存

12、在(即連接是否 依然激活),如果它未得到響應(yīng),便終止 該連接 。 六、閑置定時(shí)器(The Quiet Timer) 當(dāng)TCP連接斷開(kāi)后,為防止該連接上的 數(shù)據(jù)還在網(wǎng)絡(luò)上,并被后續(xù)打開(kāi)的具有相 同五元組的連接接收,要設(shè)置閑置定時(shí)器 以防止剛剛斷開(kāi)連接的端口號(hào)被立即重新 使用。 4.2.4.流量控制與滑動(dòng)窗口機(jī)制 TCP實(shí)體在端設(shè)備中為每個(gè)連接開(kāi)設(shè)兩個(gè) 緩沖區(qū), 一個(gè)是接收緩沖區(qū),用來(lái)接收對(duì)方發(fā)送來(lái)的數(shù) 據(jù)。 第二個(gè)是發(fā)送緩沖區(qū),TCP實(shí)體從應(yīng)用進(jìn)程接 收數(shù)據(jù),存貯在發(fā)送緩沖區(qū)。 為了防止由于發(fā)送端與接收端之間的不 匹配而引起數(shù)據(jù)丟失,TCP采用滑動(dòng)窗口 進(jìn)行流量控制。 4.2.6.TCP的擁塞控

13、制 為了解決因網(wǎng)絡(luò)傳輸能力導(dǎo)致?lián)砣膯?wèn) 題,TCP對(duì)流量控制方法進(jìn)行了改進(jìn),增 加了一個(gè)擁塞窗口。這樣發(fā)送方TCP就有 兩個(gè)窗口:一是接收方通告窗口,反映的 是接收方的數(shù)據(jù)接收能力;一是擁塞窗口, 反映的是網(wǎng)絡(luò)的傳輸能力。而發(fā)送方可以 發(fā)送的字節(jié)數(shù),即發(fā)送窗口的大小取這兩 個(gè)窗口的最小值。 4.3. UDP協(xié)議 4.3.1. UDP協(xié)議 與TCP 相反,TCP/IP 傳輸層的另一大 協(xié)議UDP提供的是不可靠的面向無(wú)連接的 數(shù)據(jù)傳輸服務(wù)。 一、UDP數(shù)據(jù)報(bào)格式 圖5-13 UDP數(shù)據(jù)報(bào)格式 源端口字段: 該字段是16 位長(zhǎng)度的發(fā)送端UDP協(xié)議端口號(hào)。在UDP 協(xié)議中也采用與TCP 中類似的端口概念來(lái)標(biāo)識(shí)同一主 機(jī)上的不同網(wǎng)絡(luò)進(jìn)程,并且兩者在分配方式上也是類 似的。應(yīng)用程序使用UDP協(xié)議而不直接采用原始IP協(xié) 議發(fā)送數(shù)據(jù),最主要的原因就UDP協(xié)議提供了標(biāo)識(shí)進(jìn) 程的端口號(hào)。 目的端口字段: 該字段是16 位長(zhǎng)度的接收端UDP協(xié)議端口號(hào)。 長(zhǎng)度字段: 該字段標(biāo)記該數(shù)據(jù)報(bào)的長(zhǎng)度,以8位長(zhǎng)的字節(jié)為長(zhǎng)度單 位,包括報(bào)頭和用戶數(shù)據(jù)。 校驗(yàn)和字段: 該字段是可選擇的,如該字段值為0 則表明不 進(jìn)行校驗(yàn)。一般說(shuō)來(lái),使用校驗(yàn)和字段是必要 的。檢查和的計(jì)算除了包括報(bào)頭和用戶數(shù)據(jù)外, 還要加上12字節(jié)的偽首部。 4. 偽首部: 該字段只用于計(jì)算校驗(yàn)和,不會(huì)在UDP數(shù)據(jù)報(bào) 中發(fā)送。它由源IP地址、目的IP地

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論