日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

路徑MTU發(fā)現(xiàn)( 五 )


注重:這種通知機(jī)制與ICMP源路由抑止提供的通知機(jī)制是類似的 。在一些實(shí)現(xiàn)中(諸如源自4.2BSD的系統(tǒng)),現(xiàn)在存在的通知機(jī)制不能識別非凡的相關(guān)連接,所以,一個附加的機(jī)制是必要的 。
作為選擇,一種實(shí)現(xiàn)能夠避免使用對于PMTU減小的異步通知機(jī)制,這種機(jī)制是通過延遲通知直到下一次嘗試發(fā)送一個比PMTU估計(jì)值大的數(shù)據(jù)報 。在這種方法中,當(dāng)嘗試發(fā)送一個帶有DF比特位設(shè)置的數(shù)據(jù)報,并且這個數(shù)據(jù)報比PMTU估計(jì)值大,SEND函數(shù)會失敗,返回一個適當(dāng)?shù)腻e誤指示 。這種方法可能更適合于非連接的打包層(例如使用UDP的打包層),它(在一些實(shí)現(xiàn)中)可能很難從ICMP層通報 。在這種情況下,正常的基于超時的重傳輸機(jī)制被使用于從丟失的數(shù)據(jù)報中恢復(fù) 。
應(yīng)該知道打包層實(shí)例使用的PMTU改變路徑的通知與包被丟棄的非凡通知有區(qū)別,了解這一點(diǎn)很重要 。后者是比較實(shí)用的(即,從打包層實(shí)例的觀點(diǎn)來看是異步的),而前者可能有延遲直到打包層實(shí)例想創(chuàng)建一個包 。僅當(dāng)已知包丟失,才應(yīng)該重傳,這由數(shù)據(jù)報太大報文指定 。
6.3清除過時的PMTU信息
互聯(lián)網(wǎng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)是動態(tài)變化的;路由隨著時間改變 。假如新的路由開始被使用,對指定目的地已發(fā)現(xiàn)的PMTU可能是錯誤的 。因此,在主機(jī)中緩存的PMTU信息可能變得過時 。
因?yàn)槭褂肞MTU發(fā)現(xiàn)的主機(jī)總是設(shè)置DF比特位,假如過時的PMTU值太大,一旦一個數(shù)據(jù)報被發(fā)送給指定的目的地,就會立即發(fā)現(xiàn)這種情況 。認(rèn)為過時的值太小的機(jī)制不存在,所以一個實(shí)現(xiàn)應(yīng)該使緩沖值“變老” 。當(dāng)一個PMTU值一段時間內(nèi)沒有減少(在預(yù)訂的10分鐘內(nèi)),PMTU估計(jì)值應(yīng)該被設(shè)置為第一跳數(shù)據(jù)鏈路MTU,打包層應(yīng)該被通知這種改變 。這將導(dǎo)致完全的PMTU發(fā)現(xiàn)過程再次發(fā)生 。
注重:實(shí)現(xiàn)應(yīng)該提供改變超時持續(xù)時間的方法,包括設(shè)置它為“無限” 。例如,連接在FDDI網(wǎng)絡(luò)上的主機(jī)通過一條低速的串行線接入因特網(wǎng)將不會發(fā)現(xiàn)一個新的非本地的PMTU,所以它們不必忍受每十分鐘丟棄數(shù)據(jù)報 。
在響應(yīng)PMTU估計(jì)值增長的時候,上層不必重傳數(shù)據(jù)報 。因?yàn)樵陧憫?yīng)丟棄數(shù)據(jù)報的指示的時候,增長從不發(fā)生 。
一種實(shí)現(xiàn)PMTU老化的方法是在路由表?xiàng)l目中加入時間戳字段 。這個字段初始化為一個“保留”值,表明PMTU從沒改變過 。當(dāng)響應(yīng)一個數(shù)據(jù)報太大報文,PMTU減少的時候,時間戳被設(shè)置為當(dāng)前時間 。
通過時間驅(qū)動的過程將立即處理路由表,對于時間戳不是“保留”并且比超時時間間隔老的條目:
-PMTU估計(jì)值被設(shè)置為第一跳的MTU 。
-使用路由的打包層被通知這種增長 。
假如主機(jī)路由被刪除,PMTU估計(jì)值可能從路由表中消失;這可能發(fā)生在響應(yīng)一個ICMP重定向報文的情況中,或者因?yàn)槟承┞酚杀硎刈o(hù)程序在幾分鐘后刪除了舊的路由 。在一個多宿主主機(jī)上拓?fù)涓淖円部赡軐?dǎo)致使用不同的源接口 。當(dāng)這種情況發(fā)生,假如打包層沒有被通知,那么它可能繼續(xù)使用對現(xiàn)在來說太小的緩沖PMTU值 。一種解決方法就是當(dāng)重定向報文導(dǎo)致路由改變和路由從路由表中刪除時通知打包層PMTU可能改變 。
注重:檢測PMTU增長的更高級復(fù)雜的方法在7.1節(jié)中描述 。
6.4TCP層的行為
TCP層必須追蹤連接到目的地的PMTU;不應(yīng)該發(fā)送比它還大的數(shù)據(jù)報 。一個簡單的實(shí)現(xiàn)可能在每次創(chuàng)建一個新的段的時候,向IP層請求這個值(使用在[1]中描述的GET_MAXSIZES接口),但是這種方法效率不高 。而且遵守“慢啟動”避免阻塞算法[4]的TCP實(shí)現(xiàn)計(jì)算和緩存從PMTU得到的一些其它的值 。當(dāng)PMTU改變的時候接收異步的通知較為簡單,以至于這些變量可以更新 。

推薦閱讀