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

下載本文檔

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

文檔簡介

第六章傳輸層 傳輸服務(wù)傳輸協(xié)議一個(gè)簡單的傳輸協(xié)議因特網(wǎng)傳輸協(xié)議 傳輸層 整個(gè)協(xié)議層次結(jié)構(gòu)的核心 傳輸層位于面向通信的低三層和面向信息處理的高三層之間 為高層用戶提供獨(dú)立于具體網(wǎng)絡(luò)的 經(jīng)濟(jì) 有效和可靠的端到端數(shù)據(jù)傳輸服務(wù) 在osi參考模型中 底下4層為傳輸服務(wù)的提供者 transportserviceprovider 上面3層是傳輸服務(wù)的用戶 transportserviceuser osi參考模型 6 1傳輸服務(wù) 傳輸層提供兩種類型的服務(wù) 面向連接的傳輸服務(wù) 無連接的傳輸服務(wù) 傳輸服務(wù)的必要性 可靠的服務(wù) 用戶不能控制通信子網(wǎng)來滿足自己所需的網(wǎng)絡(luò)服務(wù) 只能在網(wǎng)絡(luò)層上增加一個(gè)屬于用戶自己的傳輸層來保證所需的傳輸服務(wù) 統(tǒng)一的接口 由于傳輸服務(wù)是獨(dú)立于網(wǎng)絡(luò)服務(wù)的 應(yīng)用程序便能采用一個(gè)標(biāo)準(zhǔn)統(tǒng)一的傳輸服務(wù)原語來調(diào)用各種不同的網(wǎng)絡(luò)服務(wù) 服務(wù)質(zhì)量 接口定義等五花八門 傳輸層與上下層的邏輯關(guān)系 傳輸協(xié)議數(shù)據(jù)單元 tpdu tpdu transportprotocoldataunit 表示對(duì)等傳輸層間傳遞的數(shù)據(jù)單元 用戶將報(bào)文封裝在tpdu中交給網(wǎng)絡(luò)層進(jìn)行處理 服務(wù)質(zhì)量qos qualityofservice 傳輸層的主要功能可看成是增強(qiáng)網(wǎng)絡(luò)層提供的服務(wù)質(zhì)量 服務(wù)質(zhì)量的好壞是由一組服務(wù)質(zhì)量參數(shù)來衡量的 主要有 連接建立延遲 connectionestablishmentdelay 建立一個(gè)連接所需的時(shí)間 連接建立失敗的概率 connectionestablishmentfailureprobability 在指定的最大連接建立延遲內(nèi)未能建立連接的可能性 吞吐率 throughput 一個(gè)連接上每秒鐘傳輸?shù)挠脩魯?shù)據(jù)的字節(jié)數(shù) 傳輸延遲 transitdelay 用戶報(bào)文從源端發(fā)送到目的端所需的時(shí)間 殘余誤碼率 residualerrorratio 丟失或錯(cuò)亂報(bào)文的百分比 保護(hù) protection 要求傳輸層提供保護(hù) 以防止未經(jīng)授權(quán)的第三方竊聽或篡改用戶報(bào)文 優(yōu)先級(jí) priority 能指示被服務(wù)的連接的優(yōu)先級(jí)別 恢復(fù) resilience 傳輸層釋放一個(gè)連接的可能性 以上服務(wù)質(zhì)量參數(shù)一般是傳輸用戶和傳輸層在建立連接時(shí)通過選項(xiàng)協(xié)商 optionnegotiation 而設(shè)定的 傳輸服務(wù)原語 傳輸服務(wù)原語是傳輸用戶用來訪問傳輸服務(wù)的接口 每種傳輸服務(wù)均有各自的訪問原語 伯克利套接字 berkeleysocket 下表為面向連接的tcp中的套接字原語 面向連接的套接字通信 連接的建立 服務(wù)器端 執(zhí)行socket 創(chuàng)建一個(gè)新的套接字通信端點(diǎn)并為其分配表空間 執(zhí)行bind為套接字分配一個(gè)本地地址和名字 執(zhí)行l(wèi)isten表示服務(wù)器進(jìn)程愿意接受連接請(qǐng)求 并指定連接等待隊(duì)列的最大長度 執(zhí)行accept 阻塞服務(wù)器進(jìn)程 等待客戶的連接請(qǐng)求 一旦客戶的連接請(qǐng)求到達(dá) 傳輸實(shí)體即為其創(chuàng)建一個(gè)新的具有相同屬性的套接字 并產(chǎn)生一個(gè)進(jìn)程或線程在新套接字上處理該連接 然后服務(wù)器進(jìn)程回到原來的套接字上繼續(xù)監(jiān)聽連接請(qǐng)求 客戶端 執(zhí)行socket 創(chuàng)建一個(gè)新的套接字通信端點(diǎn) 不需bind 執(zhí)行connect 阻塞連接請(qǐng)求者并主動(dòng)開始建立連接的進(jìn)程 當(dāng)服務(wù)器的應(yīng)答到來后 客戶進(jìn)程被喚醒 連接即告建立 連接建立后 雙方都可使用send和receive在已有的連接上發(fā)送和接收數(shù)據(jù) 連接的釋放是對(duì)稱的 當(dāng)雙方都執(zhí)行了close后 連接即被釋放 面向連接的套接字通信示意圖 6 2傳輸協(xié)議 傳輸層協(xié)議與網(wǎng)絡(luò)層提供的服務(wù)質(zhì)量有很大關(guān)系 網(wǎng)絡(luò)層提供的服務(wù)越完善 傳輸層協(xié)議就越簡單 反之 傳輸層協(xié)議越復(fù)雜 子網(wǎng)根據(jù)其提供的服務(wù)質(zhì)量的差異可以分為三類 a類 可提供完善的數(shù)據(jù)傳輸服務(wù) 分組的丟失 重復(fù)和錯(cuò)序等情況極少出現(xiàn) 可忽略不計(jì) 有些局域網(wǎng)可提供接近a類的服務(wù) b類 單獨(dú)的分組丟失很少發(fā)生 但網(wǎng)絡(luò)層會(huì)因?yàn)閮?nèi)部擁塞或軟 硬件故障等原因而時(shí)常發(fā)出n reset原語 傳輸層協(xié)議要糾正由于重置而出現(xiàn)的混亂 建立新的網(wǎng)絡(luò)連接 重新同步 恢復(fù)正常傳輸 使傳輸服務(wù)用戶對(duì)網(wǎng)絡(luò)層出現(xiàn)的重置一無所知 大多數(shù)廣域網(wǎng)屬于此類 c類 這類子網(wǎng)提供的傳輸服務(wù)最不可靠 會(huì)出現(xiàn)分組丟失和重復(fù) 還可能出現(xiàn)重置 提供數(shù)據(jù)報(bào)服務(wù)的廣域網(wǎng) 無線分組交換網(wǎng) 以及互聯(lián)網(wǎng)均屬此類 傳輸層協(xié)議與網(wǎng)絡(luò)服務(wù)質(zhì)量的關(guān)系 根據(jù)網(wǎng)絡(luò)層提供的服務(wù)質(zhì)量 iso osi把傳輸層協(xié)議分為5類 傳輸層協(xié)議與數(shù)據(jù)鏈路層協(xié)議的比較 傳輸層協(xié)議和數(shù)據(jù)鏈路層協(xié)議非常相似 都必須進(jìn)行順序控制 差錯(cuò)控制 流量控制等工作 但由于運(yùn)行的環(huán)境不同 兩者的具體操作是大不相同 傳輸層的端到端之間經(jīng)過一個(gè)復(fù)雜的 具有存儲(chǔ)能力的通信子網(wǎng) 使得其在尋址 連接的管理 控制協(xié)議等方面都非常復(fù)雜 尋址 用傳輸服務(wù)訪問點(diǎn)tsap transportserviceaccesspoint 和網(wǎng)絡(luò)服務(wù)訪問點(diǎn)nsap networkserviceaccesspoint 來描述傳輸?shù)刂泛途W(wǎng)絡(luò)地址 尋址的兩個(gè)問題 客戶進(jìn)程如何獲知服務(wù)器進(jìn)程的傳輸?shù)刂穞sap 客戶傳輸實(shí)體如何從目的傳輸?shù)刂帆@得目的網(wǎng)絡(luò)地址nsap 一 服務(wù)器傳輸?shù)刂穞sap的定位 有兩個(gè)途徑 眾所周知的地址 對(duì)于一些經(jīng)常使用的服務(wù) 可為其指定固定的傳輸?shù)刂?印在手冊(cè)或指南上廣為傳播 對(duì)臨時(shí)不常用的地址 有兩種方法 初始連接協(xié)議 initialconnectionprotocol 使用稱為名字服務(wù)器 nameserver 或目錄服務(wù)器 directoryserver 的特殊服務(wù)器進(jìn)程 初始連接協(xié)議 如unix中的inetd 服務(wù)器 機(jī)器 上運(yùn)行一個(gè)具有眾所周知傳輸?shù)刂返奶厥獾倪M(jìn)程服務(wù)器 processserver 作為各種服務(wù)器 進(jìn)程 的代理 名字服務(wù)器或目錄服務(wù)器 客戶進(jìn)程從眾所周知的名字服務(wù)器中通過對(duì)服務(wù)的名字 已注冊(cè)到名字服務(wù)器 進(jìn)行查找 即可獲得相應(yīng)的服務(wù)器進(jìn)程的傳輸?shù)刂?二 目的網(wǎng)絡(luò)地址nsap的定位 傳輸?shù)刂穞sap為層次型地址 hierachicaladdress nsap可直接來自于tsap 如tcp ip的傳輸?shù)刂酚删W(wǎng)絡(luò)地址和端口號(hào)組成 傳輸?shù)刂穞sap為平面型地址空間 flataddressspace 需要名字服務(wù)器將tsap轉(zhuǎn)換成nsap 在某些場合下 如lan中 可采用廣播方式詢問目的機(jī)器的nsap 建立連接 connectionestablishment 由于通信子網(wǎng)的不可靠性和存儲(chǔ)能力 造成不可預(yù)知的延遲 使得可靠地建立傳輸連接變得十分困難 一些解決的方法有 給每個(gè)連接分配一個(gè)唯一的連接標(biāo)識(shí) 每個(gè)傳輸實(shí)體將用過的連接標(biāo)識(shí)記在表中 以區(qū)別新舊連接 限制分組的壽命 為每個(gè)分組設(shè)置一個(gè)壽命域 計(jì)數(shù)器 每隔一定的時(shí)間壽命減1 減至0時(shí)就丟棄分組 可以設(shè)定一個(gè)時(shí)間t 根據(jù)不同的協(xié)議 為分組最大壽命的若干倍 當(dāng)一個(gè)分組發(fā)送后 經(jīng)時(shí)間t 所有和該分組有關(guān)的分組就全不存在了 這大大簡化了問題 為每臺(tái)主機(jī)設(shè)置一個(gè)一直運(yùn)轉(zhuǎn)的計(jì)時(shí)時(shí)鐘 二進(jìn)制計(jì)數(shù)器 位數(shù)足夠大 每隔一定時(shí)間加1 當(dāng)建立連接時(shí) 用時(shí)鐘的低k位作為本連接的初始序號(hào) 此后的發(fā)送序號(hào)按序遞增 不再參考計(jì)數(shù)器值 但發(fā)送序號(hào)不能進(jìn)入禁止區(qū) 時(shí)間和初始序號(hào)之間的線性關(guān)系 基于時(shí)鐘的方法解決了數(shù)據(jù)tpdu的延遲重發(fā)問題 其前提條件是雙方已建立了傳輸連接 知道對(duì)方的初始序號(hào) 但由于控制tpdu也會(huì)延遲 造成建立傳輸連接的復(fù)雜 可采用三次握手 three wayhandshake 的方法加以解決 釋放傳輸連接有兩種方式 非對(duì)稱釋放 asymmetricrelease 任何一方發(fā)出斷連請(qǐng)求即可終止連接 容易造成數(shù)據(jù)丟失 對(duì)稱釋放 symmetricrelease 一條連接的兩個(gè)方向被看成是兩個(gè)單獨(dú)的連接 一方發(fā)出斷連請(qǐng)求表明它的數(shù)據(jù)已發(fā)送完畢 但仍可以在連接上接收對(duì)方的數(shù)據(jù) 只有雙方都發(fā)出了斷連請(qǐng)求 連接才被終止 釋放連接 connectionrelease 三次握手連接釋放法 為了可靠地終止連接 一方在發(fā)出斷連請(qǐng)求后 必須收到對(duì)方的斷連請(qǐng)求 響應(yīng) 才能終止連接 實(shí)際上做不到 實(shí)際中采用的三次握手連接釋放法不是絕對(duì)可靠的 但已令人足以滿意了 考慮后面圖中的第4種情況 若主機(jī)2一次都沒有收到主機(jī)1的斷連請(qǐng)求 就不會(huì)釋放連接 形成一個(gè)半開的連接 half openconnection 導(dǎo)致失敗 為了清除半開的連接 協(xié)議規(guī)定任何一方在一給定的時(shí)間內(nèi)沒有收到連接上的任何tpdu 就自動(dòng)釋放連接 每個(gè)傳輸實(shí)體都設(shè)置一個(gè)定時(shí)器 只要發(fā)送tpdu就復(fù)位定時(shí)器 一旦定時(shí)器超時(shí)就自動(dòng)發(fā)送一個(gè)啞 dumb tpdu 以防止連接長時(shí)間沒有數(shù)據(jù)傳輸而被對(duì)方終止 若啞tpdu丟失 則對(duì)方釋放連接 稍候本方也釋放連接 三次握手連接釋放的四種情況 流量控制和緩沖策略 傳輸層雖然和數(shù)據(jù)鏈路層一樣都采用了滑動(dòng)窗口協(xié)議等機(jī)制來實(shí)現(xiàn)流量控制 但由于傳輸層上 主機(jī) 的連接數(shù)多且不定 而中間通信子網(wǎng)的傳輸能力有限 不可能為每條連接分配固定數(shù)量的緩沖區(qū) 由于發(fā)送流量涉及到接收端的接收能力和通信子網(wǎng)的傳輸能力 因此必須從這兩個(gè)方面來討論傳輸層上的流量控制 發(fā)送流量應(yīng)該取接收端和通信子網(wǎng)所能允許的流量值中的較小值 從接收能力出發(fā) 傳輸層連接須對(duì)收發(fā)雙方動(dòng)態(tài)地分配緩沖區(qū)數(shù)量 發(fā)送端應(yīng)向接收端申請(qǐng)所需的緩沖空間 接收端一側(cè) 接收端也應(yīng)能根據(jù)情況決定為發(fā)送端預(yù)留多少空間 動(dòng)態(tài)可變 通過確認(rèn)及時(shí)告知發(fā)送端 以便調(diào)整發(fā)送流量 死鎖問題 由于包含緩沖區(qū)分配數(shù)的控制tpdu 確認(rèn) 可能會(huì)丟失 從而造成死鎖 解決方法 每臺(tái)主機(jī)應(yīng)定期向每個(gè)連接發(fā)送控制tpdu 隨著內(nèi)存價(jià)格大幅度下降 可以為主機(jī)配置大容量的內(nèi)存 基本上可解決收發(fā)緩沖匱乏的問題 動(dòng)態(tài)緩沖的分配管理 從子網(wǎng)能力出發(fā) 發(fā)送方采用可動(dòng)態(tài)調(diào)整窗口大小的滑動(dòng)窗口協(xié)議來匹配網(wǎng)絡(luò)的承載能力 發(fā)送方定期地監(jiān)視網(wǎng)絡(luò)的傳輸能力c 網(wǎng)絡(luò)每秒鐘可傳輸?shù)膖pdu數(shù)量 和循環(huán)時(shí)間r 從發(fā)出tpdu到收到其確認(rèn)為止所需的時(shí)間 然后計(jì)算出發(fā)送窗口的大小 cr c可以簡單地通過計(jì)算在某段時(shí)間間隔內(nèi)確認(rèn)的tpdu數(shù)除以時(shí)間間隔來決定 測(cè)量時(shí)應(yīng)盡快發(fā)送數(shù)據(jù) r可以從發(fā)送端精確獲得 一般取某段時(shí)間內(nèi)的平均值 多路復(fù)用 multiplexing 向上多路復(fù)用 upwardmultiplexing 將去往相同目的節(jié)點(diǎn)的不同傳輸連接復(fù)用到同一條網(wǎng)絡(luò)連接上 使它們共同承擔(dān)一條網(wǎng)絡(luò)連接的通信費(fèi)用 按時(shí) 為了實(shí)現(xiàn)向上多路復(fù)用 每個(gè)主機(jī)應(yīng)能將各傳輸連接按目的主機(jī)進(jìn)行分組 并將它們映射到最少數(shù)量的網(wǎng)絡(luò)連接上 每個(gè)網(wǎng)絡(luò)連接上的傳輸連接數(shù)應(yīng)適中 向下多路復(fù)用 downwardmultiplexing 為一條傳輸連接建立多條網(wǎng)絡(luò)連接 傳輸實(shí)體按一定順序在各個(gè)網(wǎng)絡(luò)連接上并行發(fā)送數(shù)據(jù) 從而提高了數(shù)據(jù)的整體傳輸速率 物理線路須有足夠大的容量 兩種多路復(fù)用示意圖 崩潰恢復(fù) 一個(gè)主機(jī)通過執(zhí)行一個(gè)操作和返回一個(gè)確認(rèn)作為收到一個(gè)tpdu的響應(yīng) 但當(dāng)一臺(tái)主機(jī)從一次崩潰中恢復(fù)時(shí) 他如何知道在此之前已執(zhí)行了多少操作和發(fā)送了多少返回的確認(rèn) 從第n層崩潰中恢復(fù)只能由第n 1層來完成 并且只有在第n 1層保留有足夠的狀態(tài)信息的情況下才能完成 6 3一個(gè)簡單的傳輸協(xié)議 一個(gè)簡單易懂而又貼近實(shí)際的傳輸層協(xié)議實(shí)例面向連接的服務(wù)原語 傳輸實(shí)體 網(wǎng)絡(luò)層的分組 連接的狀態(tài) 每個(gè)連接總是處于下面7種狀態(tài)之一 有限狀態(tài)機(jī) 狀態(tài)圖示 6 4因特網(wǎng)傳輸協(xié)議 有兩個(gè)主要的協(xié)議 面向連接的tcp transmissioncontrolprotocol 協(xié)議無連接的udp userdataprotocol 協(xié)議 tcp協(xié)議 tcp是專門設(shè)計(jì)用于在不可靠的internet上提供可靠的 端到端的字節(jié)流 非報(bào)文流 通信的協(xié)議 發(fā)送方tcp實(shí)體將應(yīng)用程序的輸出流分為不超過64k字節(jié) 實(shí)際通常為1500字節(jié) 的數(shù)據(jù)片段 piece 并將每個(gè)數(shù)據(jù)片段封裝在一個(gè)ip分組中發(fā)送出去 接收方tcp實(shí)體根據(jù)字節(jié)序號(hào) 32位 將接收到的各個(gè)數(shù)據(jù)片段組裝成連續(xù)的字節(jié)流交給應(yīng)用程序 tcp服務(wù)是通過收發(fā)雙方分別創(chuàng)建的稱為套接字 socket 包含ip地址和端口號(hào) 之間的連接來獲得的 所有的tcp連接都是全雙工的點(diǎn)到點(diǎn)的連接 不支持組播和廣播 tcp的基本數(shù)據(jù)單元 tcp實(shí)體交換數(shù)據(jù)的基本單元 tpdu 稱作數(shù)據(jù)段 segment 每個(gè)數(shù)據(jù)段包含一個(gè)固定的20字節(jié)的頭 還可加一個(gè)可選部分 和若干數(shù)據(jù)字節(jié) 其總長度可在建立連接時(shí)通過互相聲明自己所能接收的最大段長mss maximumsegmentsize 來選定或雙方使用一個(gè)缺省的mss 536字節(jié) 但mss的選取應(yīng)使得每個(gè)段封裝成ip分組后 其長度不超過ip分組的載荷能力 65535字節(jié) 及相應(yīng)網(wǎng)絡(luò)的最大傳輸單元mtu maximumtransferunit 一個(gè)段超過網(wǎng)絡(luò)的mtu限制時(shí)會(huì)被分段 fragmentation 每個(gè)小分段 分組 都有tcp頭 20字節(jié) 和ip頭 20字節(jié) 增加了系統(tǒng)的總開銷 tcp數(shù)據(jù)段的頭 源端口和目的端口用來標(biāo)識(shí)本地和對(duì)方的應(yīng)用進(jìn)程 端連接點(diǎn) 端口號(hào)加上其主機(jī)的ip地址構(gòu)成一個(gè)48比特的tsap sequencenumber指示tcp段中第一個(gè)字節(jié)的序號(hào) 建立一個(gè)新的tcp連接時(shí) syn標(biāo)志為1 該域是主機(jī)為該連接選擇的初始序號(hào) 連接建立后發(fā)送的第一個(gè)字節(jié)將具有的序號(hào)為sequencenumber 1 由于全雙工 每個(gè)連接的端點(diǎn)都必須單獨(dú)維持一個(gè)序號(hào) acknowledgementnumber表示發(fā)送該tcp段的主機(jī)準(zhǔn)備從對(duì)方接收的下一個(gè)字節(jié)序號(hào) 即該序號(hào)之前的字節(jié)已全部正確收到 headerlength指示tcp頭的長度 以4字節(jié)為單位 最大值為15 60字節(jié) urg標(biāo)志指示urgentpointer域是否有效 urgentpointer用來指示緊急數(shù)據(jù)距當(dāng)前字節(jié)序號(hào)的偏移字節(jié)數(shù) 當(dāng)接收方收到一個(gè)urg為1的段后 立即中斷當(dāng)前正在執(zhí)行的程序 根據(jù)urgentpointer找到段中的緊急數(shù)據(jù) 優(yōu)先進(jìn)行處理 ack標(biāo)志為1時(shí)表示acknowledgementnumber中是一個(gè)有效的應(yīng)答序號(hào) psh標(biāo)志為1時(shí)表示接收方收到數(shù)據(jù)后應(yīng)盡快交給應(yīng)用程序 而不是等接收緩沖區(qū)滿后再遞交 rst標(biāo)志為1時(shí)表示復(fù)位一個(gè)連接 通常在主機(jī)崩潰后復(fù)位連接 也可表示拒絕建立一個(gè)連接或拒絕接收一個(gè)非法的段 syn標(biāo)志為1時(shí)表示建立一個(gè)連接 fin標(biāo)志為1時(shí)表示數(shù)據(jù)發(fā)送結(jié)束 但仍可繼續(xù)接收另一個(gè)方向的數(shù)據(jù) windowssize表示發(fā)送方可以發(fā)送的字節(jié)數(shù) 為0時(shí)表示接收緩沖區(qū)滿 用于tcp的流量控制 checksum對(duì)tcp頭 tcp數(shù)據(jù)域及tcp偽頭 pseudoheader 12字節(jié)長 其中的內(nèi)容來自于ip分組的頭 進(jìn)行校驗(yàn) 選項(xiàng)用于提供一種增加額外設(shè)置的方法 在常規(guī)的tcp頭中并不包括 重要的選擇有 mss選項(xiàng) 設(shè)定能接受的最大tcp載荷能力 窗口比例選項(xiàng) 可擴(kuò)大窗口尺寸 選擇重發(fā)選項(xiàng)等 tcp數(shù)據(jù)段的頭結(jié)構(gòu) tcp數(shù)據(jù)段的偽頭結(jié)構(gòu) tcp采用三次握手的方法建立連接 服務(wù)器方執(zhí)行l(wèi)isten和accept原語 被動(dòng)監(jiān)聽 客戶方執(zhí)行connect原語 產(chǎn)生一個(gè)syn為1和ack為0的tcp段 表示連接請(qǐng)求 服務(wù)器方的傳輸實(shí)體接收到這個(gè)tcp段后 首先檢查是否有服務(wù)進(jìn)程在所請(qǐng)求的端口上監(jiān)聽 若沒有 回答rst置位的tcp段 若有服務(wù)進(jìn)程在所請(qǐng)求的端口上監(jiān)聽 該服務(wù)進(jìn)程可以決定是否接受該請(qǐng)求 在接受后 發(fā)出一個(gè)syn置1和ack置1的tcp段表示連接確認(rèn) 并請(qǐng)求與對(duì)方的連接 發(fā)起方收到確認(rèn)后 發(fā)出一個(gè)syn置0和ack置1的tcp段表示給對(duì)方的連接確認(rèn) 若兩個(gè)主機(jī)同時(shí)試圖建立彼此間的連接 則只能建立一條連接 初始連接序號(hào)的選擇采用基于時(shí)鐘的方案 每隔4微妙初始連接序號(hào)加1 分組的最長壽命為120秒 tcp采用對(duì)稱釋放法釋放連接 tcp的全雙工連接可看成一個(gè)雙單工的連接 每個(gè)單工連接都獨(dú)立地釋放 通信雙方必須都向?qū)Ψ桨l(fā)送fin 1的tcp段并得到對(duì)方的應(yīng)答 連接才能被釋放 有四個(gè)階段 可以將第一個(gè)ack數(shù)據(jù)段和第二個(gè)fin數(shù)據(jù)段合并 從而變?yōu)槿挝帐?為防止半連接 必須使用定時(shí)器計(jì)時(shí) 對(duì)fin數(shù)據(jù)段的應(yīng)答在兩個(gè)最大分組生命期內(nèi)未到達(dá) 就釋放連接 對(duì)方也會(huì)超時(shí)釋放 建立和釋放連接過程中的11種狀態(tài) tcp連接管理有限狀態(tài)機(jī) tcp傳輸策略 tcp的窗口管理機(jī)制基于確認(rèn)和可變窗口大小 窗口大小為0時(shí) 正常情況下 發(fā)送方不能再發(fā)tcp段 但有兩個(gè)例外緊急數(shù)據(jù)可以發(fā)送 為防止死鎖 發(fā)送方可以發(fā)送1字節(jié)的tcp段 以便讓接收方重新聲明確認(rèn)號(hào)和窗口大小 如何改進(jìn)傳輸層的性能 策略1 發(fā)送方緩存應(yīng)用程序的數(shù)據(jù) 等到形成一個(gè)比較大的段再發(fā)出 策略2 在沒有可能進(jìn)行 捎帶 的情況下 接收方延遲發(fā)送確認(rèn)段 tcp傳輸策略 策略3 使用nagle算法 當(dāng)應(yīng)用程序每次向傳輸實(shí)體發(fā)出一個(gè)字節(jié)時(shí) 傳輸實(shí)體發(fā)出第一個(gè)字節(jié)并緩存所有其后的字節(jié)直至收到對(duì)第一個(gè)字節(jié)的確認(rèn) 然后將已緩存的所有字節(jié)組段發(fā)出并對(duì)再收到的字節(jié)緩存 直至收到下一個(gè)確認(rèn) 策略4 使用clark算法解決傻窗口癥狀 sillywindowsyndrome 傻窗口癥狀 當(dāng)應(yīng)用程序一次從傳輸層實(shí)體讀出一個(gè)字節(jié)時(shí) 傳輸層實(shí)體會(huì)產(chǎn)生一個(gè)一字節(jié)的窗口更新段 使得發(fā)送方只能發(fā)送一個(gè)字節(jié) 解決辦法 限制收方只有在具備一半的空緩存或最大段長的空緩存時(shí) 才產(chǎn)生一個(gè)窗口更新段 tcp的擁塞控制 由于當(dāng)前網(wǎng)絡(luò)傳輸介質(zhì)的可靠性越來越高 所以tcp實(shí)體認(rèn)為超時(shí)就是網(wǎng)絡(luò)擁塞造成的 可根據(jù)超時(shí)來判斷是否發(fā)生擁塞 出現(xiàn)擁塞的兩種情況快網(wǎng)絡(luò)小緩存接收者慢網(wǎng)絡(luò)大緩存接收者導(dǎo)致網(wǎng)絡(luò)擁塞的兩個(gè)潛在因素是 網(wǎng)絡(luò)能力和接收能力 tcp處理第一種擁塞的措施在連接建立時(shí)聲明最大可接受段長度 利用可變滑動(dòng)窗口協(xié)議防止出現(xiàn)擁塞 tcp處理第二種擁塞的措施發(fā)送方維護(hù)兩個(gè)窗口 可變發(fā)送窗口和擁塞窗口 按兩個(gè)窗口的最小值發(fā)送 擁塞窗口依照慢啟動(dòng) slowstart 算法和擁塞避免 congestionavoidance 算法變化 擁塞控制算法 慢啟動(dòng) slowstart 算法 建立連接時(shí) 擁塞窗口被初始化成該連接支持的最大段長度 發(fā)送一個(gè)最大長度的段 若沒有超時(shí) 則對(duì)擁塞窗口加倍擴(kuò)大 發(fā)送兩個(gè)最大長度的段 重復(fù)此過程 直至最終達(dá)到設(shè)定的臨界值或發(fā)生超時(shí) internet的擁塞控制算法 初始設(shè)置臨界值 threshold 為64kb 若發(fā)生超時(shí) 將臨界值設(shè)為當(dāng)前擁塞窗口的1 2 并將擁塞窗口恢復(fù)為最大段長度 執(zhí)行慢啟動(dòng)算法 直至擁塞窗口達(dá)到臨界值 此后要求擁塞窗口按線性增加 每次只增加一個(gè)最大段長度 直至最終達(dá)到接收窗口大小或發(fā)生超時(shí) 若超時(shí)再將臨界值設(shè)為當(dāng)前擁塞窗口的

溫馨提示

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