freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

tcp協(xié)議和udp協(xié)議(編輯修改稿)

2024-12-01 11:04 本頁面
 

【文章內(nèi)容簡介】 度是指總長度,包括 kind 字節(jié)和 len 字節(jié)。 設(shè)置無操作選項(xiàng)的原因是在于允許發(fā)方填充字段為 4 字節(jié)的倍數(shù)。其它 kind 值為 6 和 7 的四個(gè)選項(xiàng)稱為 ACK 及回顯選項(xiàng)。由于回顯選項(xiàng)已經(jīng)被時(shí)間戳選項(xiàng)取代,而目前定義的選擇 ACK 選項(xiàng)仍未定論,而且并未包括在 RFC1323 中。 (主動(dòng)關(guān)閉) FIN_WAIT_1 (主動(dòng)關(guān)閉) FIN_WAIT_1 CLOSING TIME_WAIT CLOSING TIME_WAIT FIN J FIN K ack K+1 ack J+1 圖 28 同時(shí)關(guān)閉時(shí)的報(bào)文段交換 選項(xiàng)表結(jié)束: kind=0 1 字節(jié) TCP 的性能 TCP 已經(jīng)在從 1200b/s 的撥號(hào) SLIP 鏈路到以太數(shù)據(jù)鏈路上運(yùn)行了許多年。在 80 年代和90 年代初期,以太網(wǎng)是運(yùn)行 TCP/IP 最主要的數(shù)據(jù)鏈路方式。盡管 TCP 在比以太網(wǎng)速率高的環(huán)境(如 T2 電話線、 FDDI 等)下也能夠正常運(yùn)行,但在這些高速網(wǎng)絡(luò)環(huán)境下, TCP 的某些限制就會(huì)暴露出來。 下面介紹關(guān)于 TCP 的一些修改建議,這些建議可以使 TCP 在高速率網(wǎng)絡(luò)環(huán)境下獲得最大的吞吐量。 路 徑 MTU 發(fā)現(xiàn) 每個(gè)網(wǎng)絡(luò)中的數(shù)據(jù)鏈路層對(duì)數(shù)據(jù)單元的長度都有一個(gè)限制,例如對(duì)于以太網(wǎng),它的最大值是 1518 字節(jié)。鏈路層的這個(gè)特性稱為最大傳輸單元( MTU),不同類型的網(wǎng)絡(luò)大多數(shù)都有一個(gè)上限。 當(dāng)在同一個(gè)網(wǎng)絡(luò)上的兩臺(tái)主機(jī)互相進(jìn)行通信時(shí),該網(wǎng)絡(luò)的 MTU 是十分重要的。如果兩臺(tái)主機(jī)的通信要通過多個(gè)網(wǎng)絡(luò),那么每個(gè)網(wǎng)絡(luò)的鏈路層可能有不同的 MTU。在這里,重要的不是兩臺(tái)主機(jī)所在網(wǎng)絡(luò)的 MTU 值,而是兩臺(tái)通信主機(jī)路徑中的最小 MTU,它被稱為路徑 MTU。路徑 MTU 是決定主機(jī)之間通信性能的重要因素。 兩臺(tái)主機(jī)之間的路徑 MTU 不一定 是一個(gè)常數(shù),它取決于當(dāng)時(shí)路由算法所選擇的路由。而選路不一定是對(duì)稱的(從節(jié)點(diǎn) A 到節(jié)點(diǎn) B 的路由可能與節(jié)點(diǎn) B 到節(jié)點(diǎn) A 的路由不同),因此路徑 MTU 在通信兩個(gè)方向上不一定是相同的。 RFC1191 文件描述了路徑 MTU 的發(fā)現(xiàn)機(jī)制,即在任何時(shí)候確定路徑 MTU 的方法。這是在兩個(gè)主機(jī)之間的路徑上任何網(wǎng)絡(luò)上的最小 MTU。 路徑 MTU 發(fā)現(xiàn)在 IP 首部中繼承并設(shè)置“不要分片( DF)”比特,來發(fā)現(xiàn)當(dāng)前路徑上的路由器是否需要對(duì)正在發(fā)送的 IP 數(shù)據(jù)報(bào)進(jìn)行分片。如果一個(gè)待轉(zhuǎn)發(fā)的 IP數(shù)據(jù)報(bào)被設(shè)置 DF比特,而其長度又超過了 MTU,那么路由器將返回 ICMP 不可達(dá)的差錯(cuò)。 目前的操作系統(tǒng)只有少數(shù)支持路徑 MTU 發(fā)現(xiàn),例如 Solaris 支持路徑 MTU 發(fā)現(xiàn),將來會(huì)有越來越多的操作系統(tǒng)支持這個(gè)功能。 TCP 的路徑 MTU 發(fā)現(xiàn)按如下方式進(jìn)行:在建立 TCP 連接時(shí), TCP 使用輸出接口或?qū)Χ寺暶鞯?MSS 中的最小 MTU 作為起始的報(bào)文段大小。路徑 MTU 的發(fā)現(xiàn)不允許 TCP 超過對(duì)端聲明的MSS。如果對(duì)端沒有指定一個(gè) MSS,則默認(rèn)值為 536。 一旦選定了起始的報(bào)文段大小,在該連接上的所有被 TCP 發(fā)送的 IP 數(shù)據(jù)報(bào)都將被設(shè)置無操作: Kind=1 1 字節(jié) kind=2 最大報(bào)文段長度: len=4 最大報(bào)文段長度 1 字節(jié) 1 字節(jié) 2 字節(jié) 窗口擴(kuò)大因子: kind=3 len=3 移位數(shù) 1 字節(jié) 1 字節(jié) 1 字節(jié) 時(shí)間戳: kind=8 len=10 時(shí)間戳值 時(shí)間戳回顯應(yīng)答 1 字節(jié) 1 字節(jié) 4 字節(jié) 4 字節(jié) 圖 29 TCP 新選項(xiàng) DF 比特。如果某個(gè)中間路由器需要對(duì)一個(gè)設(shè)置了 DF 標(biāo)志 的數(shù)據(jù)報(bào)進(jìn)行分片,它就丟棄這個(gè)數(shù)據(jù)報(bào),并產(chǎn)生一個(gè) ICMP 的“不能分片”差錯(cuò)。 如果收到一個(gè)“不能分片”的 ICMP 差錯(cuò), TCP 就減少段大小并進(jìn)行重傳。如果路由器產(chǎn)生的是一個(gè)較新的該類 ICMP 差錯(cuò),則報(bào)文段大小設(shè)置為下一跳的 MTU 減去 IP和 TCP 的首部長度。如果是一個(gè)較舊的該類 ICMP 差錯(cuò),則必須嘗試下一個(gè)可能的最小 MTU。當(dāng)由這個(gè)ICMP 差錯(cuò)引起的重傳發(fā)生時(shí),擁塞窗口不需要變化,但要啟動(dòng)慢啟動(dòng)。 由于路由經(jīng)常動(dòng)態(tài)變化,因此在最后一次減少路徑 MTU 的一段時(shí)間以后,可以嘗試使用一個(gè)較大的值(直到等于對(duì)端聲明的 MSS 或輸出接口 MTU 的最小值)。 RFC1191 推薦這個(gè)時(shí)間間隔為 10 分鐘,操作系統(tǒng) Solaris 使用的時(shí)間間隔是 30 分鐘。 在對(duì)非本地目的地。默認(rèn)的 MSS 通常是 536 字節(jié),路徑 MTU 發(fā)現(xiàn)可以避免在通過 MTU 小于 576(這非常罕見)的中間鏈路時(shí)進(jìn)行分片。對(duì)于本地目的主機(jī),也可以避免在中間鏈路(如以太網(wǎng))的 MTU 小于端點(diǎn)網(wǎng)絡(luò)(如令牌環(huán))的情況下進(jìn)行分片。但為了能使路徑 MTU 更加有用和充分利用 MTU 大于 576 的廣域網(wǎng),一個(gè)實(shí)現(xiàn)必須停止使用為非本地目的制定的 536的 MTU默認(rèn)值。 MSS的一個(gè)較好的選擇是輸出接 口的 MTU(當(dāng)然要減去 IP 和 TCP的首部大?。?,大多數(shù)系統(tǒng)的實(shí)現(xiàn)都允許系統(tǒng)管理員改變這個(gè)默認(rèn)的 MSS 值。 假定分組的大小不足以引起分片,常規(guī)知識(shí)告訴我們傳輸較大的分組的性能比較好,因?yàn)榘l(fā)送較少的大分組比發(fā)送較多的小分組開銷要少。這些開銷的減少與網(wǎng)絡(luò)(分組首部負(fù)荷)、路由器(選路的決定)和主機(jī)(協(xié)議處理和設(shè)備中斷)等諸多因素有關(guān)。 長肥管道 通常,一個(gè) TCP 連接的容量表示為: capacity(b)=bandwidth(b/s)*roundtrip times(s) 這個(gè)公式稱為帶寬時(shí) 延乘積,也稱它為兩端的管道大小,它的單位是字節(jié),可以用這個(gè)值來測(cè)量每一端的緩存大小和窗口大小。這個(gè)值依賴于網(wǎng)絡(luò)速度和兩端的 RTT( roundtrip times),可以有很大的變動(dòng)范圍。當(dāng)這個(gè)乘積變得越來越大時(shí), TCP 的某些局限性就會(huì)暴露出來。表 22 列出了一些典型網(wǎng)絡(luò)的某些數(shù)值。 表 22 典型網(wǎng)絡(luò)的帶寬時(shí)延乘積 網(wǎng)絡(luò) 帶寬( b/s) RTT(ms) 帶寬時(shí)延乘積(字節(jié)) 以太局域網(wǎng) 10000000 3 3750 橫跨大陸的 T1 電話線 1544000 60 11580 衛(wèi)星 T1 電話線 1544000 500 96500 橫跨大陸的 T3 電話線 45000000 60 337500 橫跨大陸的 gigabit 線路 1000000000 60 7500000 具有大的帶寬時(shí)延乘積的網(wǎng)絡(luò)稱為長肥網(wǎng)絡(luò)( Long Fat Network,即 LFN),而一個(gè)運(yùn)行在 LFN 上的 TCP 連接稱為長肥管道,這種管道可以被水平拉長(一個(gè)長的 RTT),或被垂直拉高(較高的帶寬),或向兩個(gè)方向拉伸。使用長肥管道會(huì)遇到多種問題,主要有: ? TCP 首部中窗口大小為 16bit,從而將窗口限制在 65535 個(gè)字節(jié)范圍內(nèi),但是從 表122 最后一列可以看到,現(xiàn)有的網(wǎng)絡(luò)需要一個(gè)更大的窗口來提供最大的吞吐量。這個(gè)問題使用窗口擴(kuò)大選項(xiàng)可以解決。 ? 在一個(gè)長肥網(wǎng)絡(luò) LFN 內(nèi)的分組丟失會(huì)使網(wǎng)絡(luò)吞吐量急劇減少。如果只有一個(gè)報(bào)文段丟失,可以使用快速重傳和快速恢復(fù)算法來使管道避免耗盡。但是,即使使用這些算法,在一個(gè)窗口內(nèi)發(fā)生的多個(gè)分組丟失也會(huì)使管道耗盡(如果管道耗盡了,慢啟動(dòng)會(huì)使它漸漸填滿,但這個(gè)過程將需要多個(gè) RTT)。在 RFC1072 中建議使用有選擇的確認(rèn)( SACK)來處理在一個(gè)窗口發(fā)生的多個(gè)分組丟失。 ? 許多 TCP 實(shí)現(xiàn)對(duì)每個(gè)窗口的 RTT 僅進(jìn)行一次測(cè)量 。它們并不對(duì)每個(gè)報(bào)文段進(jìn)行 RTT測(cè)量。在一個(gè)長肥網(wǎng)絡(luò) LFN 上需要更好的 RTT 測(cè)量機(jī)制。通常使用時(shí)間戳選項(xiàng)來解決這個(gè)問題,它允許更多的報(bào)文段被計(jì)時(shí)。 ? TCP 對(duì)每個(gè)字節(jié)數(shù)據(jù)使用一個(gè) 32bit 無符號(hào)的序號(hào)進(jìn)行標(biāo)識(shí)。如果在網(wǎng)絡(luò)中有一個(gè)被延遲一段時(shí)間的報(bào)文段,它所在的連接已經(jīng)釋放,而一個(gè)新的連接在這兩個(gè)主機(jī)之間又建立了,這種情形將產(chǎn)生報(bào)文段的再次出現(xiàn)問題。解決這個(gè)問題的主要方法是使用 TCP 時(shí)間戳選項(xiàng)的 PAWS( Protection Against Wrapped Sequence numbers)算法(保護(hù)回繞的序號(hào) )。 窗口擴(kuò)大選項(xiàng) 窗口擴(kuò)大選項(xiàng)使 TCP 的窗口定義從 16bit 增加為 32bit。這種擴(kuò)展不是通過修改 TCP 首部來實(shí)現(xiàn)的, TCP 的首部仍然使用 16bit,而是通過定義一個(gè)選項(xiàng)實(shí)現(xiàn)對(duì) 16bit 的擴(kuò)大操作( Scaling Operation)來完成的。這樣 TCP 在內(nèi)部將實(shí)際的窗口大小維持為 32bit 的值。 這個(gè)選項(xiàng)只能出現(xiàn)在一個(gè) SYN 報(bào)文段中,因此當(dāng) TCP 連接建立起來后,在每個(gè)方向的擴(kuò)大因子是固定的。為了使用窗口擴(kuò)大選項(xiàng),通信雙方必須在它們的 SYN 報(bào)文段中發(fā)送這個(gè)選項(xiàng)。 TCP 連接的發(fā)起方在其 SYN 報(bào)文中發(fā)送這個(gè)選項(xiàng),但是 TCP 連接的接收方只能夠在收到帶有這個(gè)選項(xiàng)的 SYN 之后才可以發(fā)送這個(gè)選項(xiàng)。每個(gè)方向的擴(kuò)大因子可以不同。 如果 TCP 連接的發(fā)起方發(fā)送一個(gè)非零的擴(kuò)大因子,但是沒有從連接的另一端收到一個(gè)窗口擴(kuò)大選項(xiàng),它就將發(fā)送和接收的移位計(jì)數(shù)器置為 0。這樣就允許新的系統(tǒng)能夠與較舊的、不理解新選項(xiàng)的系統(tǒng)進(jìn)行互操作。 假定正在使用窗口擴(kuò)大選項(xiàng),發(fā)送移位計(jì)數(shù)為 S,而接收移位計(jì)數(shù)為 R。這樣,從另一端收到的每一個(gè) 16bit 的通告窗口將被左移 R 位以獲得實(shí)際的通告窗口大小。每次當(dāng)向?qū)Ψ桨l(fā)送一個(gè)窗口通告的時(shí)候,將實(shí)際 的 32bit 窗口大小右移 S 比特,然后用它來替換 TCP 首部中的 16bit 的值。 TCP 根據(jù)接收緩存的大小自動(dòng)選擇移位計(jì)數(shù)。緩存的大小由系統(tǒng)設(shè)置,但是通常向應(yīng)用進(jìn)程提供了修改途徑。 時(shí)間戳選項(xiàng) 時(shí)間戳選項(xiàng)使發(fā)送方在每個(gè)報(bào)文段中放置一個(gè)時(shí)間戳值。接收方在確認(rèn)中返回這個(gè)數(shù)值,從而允許發(fā)送方為每一個(gè)收到的 ACK 計(jì)算 RTT( TCP 通常使用一個(gè) ACK 來確認(rèn)多個(gè)報(bào)文段)。 目前許多 TCP 實(shí)現(xiàn)為每一個(gè)窗口只計(jì)算一個(gè) RTT,對(duì)于包含 8 個(gè)報(bào)文段的窗口這是正確的。然而,較大的窗口大小需要進(jìn)行更好的 RTT 計(jì)算。 時(shí)間戳是一個(gè)單調(diào)遞增的值。由于接收方只需要回顯收到的內(nèi)容,因此不需要關(guān)注時(shí)間戳單元是什么。這個(gè)選項(xiàng)不需要在兩個(gè)主機(jī)之間進(jìn)行任何形式的時(shí)鐘同步。 RFC1323 中推薦在 1 毫秒和 1 秒之間將時(shí)間戳的值加 1。 系統(tǒng)在啟動(dòng)時(shí)將時(shí)間戳的值設(shè)置為 0,然后每隔 500 毫秒將時(shí)間戳值加 1。 在 TCP 連接建立階段,對(duì)這個(gè)選項(xiàng)的規(guī)定與窗口擴(kuò)大選項(xiàng)類似。 TCP 連接的發(fā)起方在它的 SYN 報(bào)文中指定選項(xiàng)。只有在它從另一方的 SYN 報(bào)文中收到了這個(gè)選項(xiàng)之后,該選項(xiàng)才會(huì)在以后的報(bào)文段中進(jìn)行設(shè)置。 接收方 TCP 通常不需要對(duì)每個(gè)包含數(shù)據(jù)的報(bào) 文段進(jìn)行確認(rèn),許多 TCP 實(shí)現(xiàn)每兩個(gè)報(bào)文段發(fā)送一個(gè) ACK。 為了減少連接雙方所維持的狀態(tài)變量,對(duì)于每個(gè)連接只維持一個(gè)時(shí)間戳的數(shù)值。選擇何時(shí)更新這個(gè)數(shù)值的算法非常簡單: 1. TCP 跟蹤下一個(gè) ACK 中將要發(fā)送的時(shí)間戳的值(一個(gè)名為 tsrecent 的變量)以及最后發(fā)送的 ACK 中的確認(rèn)序號(hào)(一個(gè)名為 lastack 的變量)。這個(gè)序號(hào)就是接收方期望的序號(hào)。 2. 當(dāng)一個(gè)包含有字節(jié)號(hào) lastack 的報(bào)文段到達(dá)時(shí),則該報(bào)文段中的時(shí)間戳被保存在 tsrecent 中。 3. 無論何時(shí)發(fā)送一個(gè)時(shí)間戳選項(xiàng), tsrecent 就作為時(shí)間戳回顯應(yīng)答字段被發(fā) 送,而序號(hào)字段被保存在 lastack 中。 T/TCP:為事務(wù)用的 TCP擴(kuò)展 TCP 提供的是一種虛電路方式的傳輸服務(wù)。一個(gè)連接的生存時(shí)間包括三個(gè)不同的階段:建立連接、數(shù)據(jù)傳輸和釋放連接。這種虛電路服務(wù)非常適合諸如文件傳輸之類的應(yīng)用。 但是,還有其他的網(wǎng)絡(luò)應(yīng)用進(jìn)程被設(shè)計(jì)成使用事務(wù)( transaction)服務(wù)。一個(gè)事務(wù)就是符合下面這些特征的一個(gè)客戶請(qǐng)求及其隨后的服務(wù)員響應(yīng)。 1. 應(yīng)該避免連接建立和連接釋放的開銷,在可能的時(shí)候,發(fā)送一個(gè)請(qǐng)求分組并接收一個(gè)應(yīng)答分組。 2. 等待時(shí)間應(yīng)當(dāng)減少到等于 RTT( RoundTrip Time)與 SPT( Server Processing Time)之和。 3. 服務(wù)員應(yīng)當(dāng)能夠檢測(cè)出重復(fù)的請(qǐng)求,并且當(dāng)收到一個(gè)重復(fù)的請(qǐng)求時(shí)不重新處理事務(wù)。 使用這種類型服務(wù)的典型例子是域名系統(tǒng)( DNS),盡管域名系統(tǒng)與服務(wù)員重新處理重復(fù)的請(qǐng)求無關(guān)。 TCP 提供了過多的事務(wù)特征,而 UDP 則不夠。通常應(yīng)用程序?yàn)榱吮苊?TCP 連接的開銷而使用 UDP 來構(gòu)造,而許多必要的特征(如擁擠避免等)被放置在應(yīng)用層實(shí)現(xiàn),從而導(dǎo)致了這些特征的重新設(shè)計(jì)和實(shí)現(xiàn)。 一個(gè)較好的解決方法是提供一個(gè)能夠提供足夠多的事務(wù)處理功 能的傳輸層。 T/TCP 協(xié)議就是這種方法的一個(gè)實(shí)現(xiàn), RFC1379 文檔對(duì)它進(jìn)行了介紹。 TCP 為處理事務(wù)而需要進(jìn)行的兩個(gè)改動(dòng)是為了避免三次握手和縮
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1