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

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


我們推薦的策略是使用小于返回總長字段的最大的參考值來作為下一個PMTU的估計值(假如必要,根據(jù)上面的注重事項進行修改) 。
6.主機實現(xiàn)
在這一節(jié)中,我們討論PMTU發(fā)現(xiàn)怎樣在主機軟件中實現(xiàn) 。這不是一個規(guī)范,而是一組建議 。
要點包括:
-PMTU發(fā)現(xiàn)實現(xiàn)在哪一層或者哪幾層?
-PMTU信息緩存在哪里?
-陳舊的PMTU信息怎樣被刪除?
-傳輸層和更高層必須做什么?
6.1分層
在IP體系中,選擇發(fā)送數(shù)據(jù)報的尺寸在IP層上層的協(xié)議執(zhí)行 。我們把這樣一種協(xié)議稱作“打包協(xié)議” 。打包協(xié)議通常是傳輸層協(xié)議(例如TCP),但是也可能是更高層的協(xié)議(例如,建立在UDP上層的協(xié)議) 。
在打包層實現(xiàn)PMTU發(fā)現(xiàn)使層內(nèi)部的一些問題簡化,但是也有一些缺點:實現(xiàn)可能必須在每一個打包協(xié)議中再重做一遍,在不同的打包層之間很難共享PMTU信息,由一些打包層保持的面向連接的狀態(tài)不輕易擴展來長時間的保存PMTU信息 。
因此我們認為IP層應該存儲PMTU信息,ICMP層應該處理收到的數(shù)據(jù)報太大報文 。通過改變它們發(fā)送的數(shù)據(jù)報的尺寸,打包層必須仍然能夠響應路徑MTU的改變,也必須能確定設置了DF比特位的數(shù)據(jù)報被發(fā)送 。我們不想IP層簡單的在每一個包中都設置DF比特位,因為,打包層,也許是核心外部的UDP應用程序可能不能改變它的數(shù)據(jù)報的尺寸 。包含有意分片的協(xié)議有時是成功的(NFS是最主要的例子),我們不想打破這種協(xié)議 。
為了支持分層,打包層需要定義在[1]中的IP服務接口的擴展:
一種得知MMS_S值改變的方法是“最大發(fā)送傳輸層報文尺寸”,
它通過路徑MTU減去最小IP首部尺寸得到 。
6.2存儲PMTU信息
通常,IP層應該與它從一條特定的路徑獲得的每一個PMTU值聯(lián)系起來 。一條路徑是由一個源地址,一個目的地址和一個IP服務類型共同確定的 。(一些實現(xiàn)不記錄路徑的源地址;這對于單宿主主機是可接受的,這種主機僅有一個可能的源地址 。)
注重:一些路徑可以通過不同的安全分類來進一步區(qū)分 。
這種分類的詳情超過了本備忘錄的范圍 。
存儲這些聯(lián)合的明顯的地方是在路由表的條目中作為一個字段 。主機不會對每一個可能的目的地都有一個路由,但是對每一個活動的目的地都應該緩存一條主機路由 。(必要的條件是需要處理ICMP重定向報文 。)
當給主機路由不存在的主機發(fā)送第一個數(shù)據(jù)報的時候,一條路由從一組網(wǎng)絡路由中或者從一組默認路由中選出 。在路由條目中的PMTU字段應該被初始化為關聯(lián)的第一跳數(shù)據(jù)鏈路的MTU,而且在PMTU發(fā)現(xiàn)過程中不再被改變(PMTU發(fā)現(xiàn)僅僅創(chuàng)建或者改變主機路由條目) 。關聯(lián)于最初選擇路由的PMTU被假定為正確的,直到接收到數(shù)據(jù)報太大報文 。
當收到一個數(shù)據(jù)報太大報文時,ICMP層為路徑MTU決定一個新的估計值(要么來自包中的下一跳MTU中的非0值,或者使用第五節(jié)描述的方法) 。假如這條路徑的主機路由不存在,那么將創(chuàng)建一個(幾乎就象主機ICMP重定向被處理一樣;新的路由使用與當前路由一樣的第一跳路由器) 。假如與主機路由關聯(lián)的PMTU估計值比新值高,那么此路由條目中的PMTU值將改變 。
打包層必須被通知PMTU減小 。任意正在使用這條路徑的打包層實例(例如,TCP連接)必須在PMTU估計值減小的時候被通知 。
注重:即使數(shù)據(jù)報太大報文包含一個引用UDP包的源數(shù)據(jù)報首部,假如有的TCP連接使用這條給定的路徑,TCP層也必須被通知 。
同樣,發(fā)送引起數(shù)據(jù)報太大報文的數(shù)據(jù)報的實例應該被通知它的數(shù)據(jù)報已經(jīng)被丟棄了,即使PMTU估計值沒有改變 。這是為了它可以重傳丟棄的數(shù)據(jù)報 。

推薦閱讀