internet第04章傳輸層協(xié)議_第1頁
internet第04章傳輸層協(xié)議_第2頁
internet第04章傳輸層協(xié)議_第3頁
internet第04章傳輸層協(xié)議_第4頁
internet第04章傳輸層協(xié)議_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第4章 傳輸層協(xié)議 重點(diǎn) 端口 TCP連接的建立和拆除的握手機(jī)制 計(jì)時器 流量控制 擁塞控制 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ī)上所 增加的這個傳輸層來檢測分組的丟失或數(shù) 據(jù)的殘缺并采取相應(yīng)的補(bǔ)救措施。 二、傳輸層功能 在網(wǎng)絡(luò)層所提供的源到目標(biāo)的分組傳輸服 務(wù)的基礎(chǔ)上,向上層提供可靠的源主機(jī)到 目標(biāo)主機(jī)的數(shù)據(jù)傳輸。 當(dāng)上層的協(xié)議數(shù)據(jù)包的長度超

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

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

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

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

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

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é)議 來建立連接。 主機(jī)1 首先發(fā) 起TCP 連接 請求,并在所 發(fā)送的數(shù)據(jù)段 中將控制字段 中的SYN置為 “1”、ACK置 為“0”。 主機(jī)2 收到該分段, 若同意建立連接,則 發(fā)送一個連接接受的 應(yīng)答數(shù)據(jù)段,其中控 制字段的SYN 和ACK 均被置“1”,指示對 第一個SYN 報文段的 確認(rèn),以繼續(xù)握手操 作;否則,主機(jī)2 要 發(fā)送一個將RST置為 “1”的應(yīng)答

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

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論