国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于在互聯(lián)網(wǎng)協(xié)議網(wǎng)絡(luò)上的路徑最大傳輸單位發(fā)現(xiàn)的方法及其設(shè)備的制作方法

      文檔序號(hào):7892020閱讀:272來源:國知局
      專利名稱:用于在互聯(lián)網(wǎng)協(xié)議網(wǎng)絡(luò)上的路徑最大傳輸單位發(fā)現(xiàn)的方法及其設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種用于更有效地操作網(wǎng)絡(luò)的方法和設(shè)備,更具體地講,涉及一種用于更有效地執(zhí)行在網(wǎng)絡(luò)的路徑上的最大傳輸單位(MTU)的發(fā)現(xiàn)的方法及其設(shè)備。
      背景技術(shù)
      隨著近來互聯(lián)網(wǎng)用戶的數(shù)量迅速地增加,基于傳統(tǒng)的互聯(lián)網(wǎng)協(xié)議版本4(IPv4)的網(wǎng)絡(luò)中的32位地址系統(tǒng)顯示出互聯(lián)網(wǎng)協(xié)議(IP)地址的限制和功能的限制。為了解決這些問題,提出了可通過其以128位地址系統(tǒng)經(jīng)不同的擴(kuò)展功能提供多種服務(wù)的互聯(lián)網(wǎng)協(xié)議版本6(IPv6)。
      在IPv4中,當(dāng)分組(packet)的大小大于鏈路MTU時(shí),位于路由選擇路徑上的路由器執(zhí)行分組的分割。然而,在IPv6中與在IPv4中不同,如果分組一旦被源節(jié)點(diǎn)發(fā)送,則在路徑中間的節(jié)點(diǎn)不執(zhí)行該分組的分割。替代地,源節(jié)點(diǎn)搜索路徑上的最小MTU,根據(jù)發(fā)現(xiàn)的MTU分割分組,并發(fā)送分割的分組。
      因此,當(dāng)IPv6節(jié)點(diǎn)(即,源節(jié)點(diǎn))希望將數(shù)據(jù)發(fā)送到遠(yuǎn)端目的節(jié)點(diǎn)時(shí),首先發(fā)現(xiàn)通過其發(fā)送分組的路徑的鏈路MTU。也就是說,應(yīng)確定路徑MTU(以下稱為“PMTU”),即在源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的路由選擇路徑中的最小鏈路MTU。
      根據(jù)現(xiàn)有技術(shù)PMTU發(fā)現(xiàn)方法,當(dāng)源節(jié)點(diǎn)首次發(fā)送分組時(shí),源節(jié)點(diǎn)將分組分割為每個(gè)具有下一跳的鏈路MTU大小的單元并發(fā)送分割的分組。
      當(dāng)從源節(jié)點(diǎn)發(fā)送的分組的大小大于在路由選擇路徑中的跳之間的鏈路MTU時(shí),該分組被丟棄,并且包含下一跳的鏈路MTU信息的互聯(lián)網(wǎng)控制消息協(xié)議(ICMP)-分組太大(Packet Too Big)消息產(chǎn)生并被發(fā)送到源節(jié)點(diǎn)。使用ICMP-分組太大消息的MTU信息,源節(jié)點(diǎn)再次分割分組并再次發(fā)送該分割的分組。重復(fù)此程序直到該分組在由源節(jié)點(diǎn)發(fā)送之后到達(dá)目的節(jié)點(diǎn)而沒有被丟棄。
      圖1是顯示當(dāng)源節(jié)點(diǎn)110和目的節(jié)點(diǎn)150之間的鏈路MTU依6、5、4、和3的順序減小時(shí)通過使用現(xiàn)有技術(shù)PMTU發(fā)現(xiàn)方法的PMTU發(fā)現(xiàn)的處理的示圖。
      參照?qǐng)D1,現(xiàn)在將解釋根據(jù)現(xiàn)有技術(shù)PMTU發(fā)現(xiàn)方法的用于PMTU發(fā)現(xiàn)的方法。
      首先,源節(jié)點(diǎn)110基于相對(duì)下一節(jié)點(diǎn)即第一節(jié)點(diǎn)120的MTU值6產(chǎn)生分組①(MTU=6),并將該分組發(fā)送到第一節(jié)點(diǎn)120。
      由于接收到的分組①(MTU=6)的大小大于下一跳的鏈路MTU值5,所以第一節(jié)點(diǎn)120丟棄接收到的分組①(MTU=6),并產(chǎn)生包含MTU=5的下一跳的鏈路MTU信息的ICMP錯(cuò)誤消息。也就是說,第一節(jié)點(diǎn)120產(chǎn)生ICMP分組太大消息②(MTU=5),并將該消息發(fā)送到源節(jié)點(diǎn)110。
      源節(jié)點(diǎn)110根據(jù)包含在接收到的由第一節(jié)點(diǎn)120發(fā)送的ICMP分組太大消息②(MTU=5)中的第一節(jié)點(diǎn)120的下一跳的鏈路MTU值即MTU=5來再次分割分組,并將重新分割的分組③(MTU=5)發(fā)送到目的節(jié)點(diǎn)150。
      由于接收到的分組③(MTU=5)的大小大于下一跳的鏈路MTU值即MTU=4,所以第二節(jié)點(diǎn)130丟棄接收到的分組③(MTU=5),產(chǎn)生包含下一跳的鏈路MTU信息的ICMP錯(cuò)誤消息④(MTU=4),并將該消息發(fā)送到源節(jié)點(diǎn)110。如在先前步驟中,源節(jié)點(diǎn)110分割分組以滿足新的鏈路MTU=4,并將分割的分組⑤(MTU=4)發(fā)送到目的節(jié)點(diǎn)150。
      如在第一和第二節(jié)點(diǎn)中,由于接收到的分組⑤(MTU=4)的大小大于下一跳的鏈路MTU值即MTU=3,所以第三節(jié)點(diǎn)140丟棄接收到的分組⑤(MTU=4),產(chǎn)生包含下一跳的鏈路MTU信息的ICMP錯(cuò)誤消息⑥(MTU=3),并將該消息發(fā)送到源節(jié)點(diǎn)110。如在先前步驟中,源節(jié)點(diǎn)110分割分組以滿足新的鏈路MTU,并將分割的分組⑦(MTU=3)發(fā)送到目的節(jié)點(diǎn)150。
      因此,在現(xiàn)有技術(shù)PMTU發(fā)現(xiàn)方法中,為了發(fā)現(xiàn)源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的PMTU,花費(fèi)了很多時(shí)間并且不必要地浪費(fèi)了網(wǎng)絡(luò)資源。

      發(fā)明內(nèi)容
      本發(fā)明提供了一種用于更有效的PMTU發(fā)現(xiàn)的方法和設(shè)備。
      根據(jù)本發(fā)明的一方面,提供了一種用于在互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡(luò)上的節(jié)點(diǎn)之間的路徑最大傳輸單位(PMTU)的發(fā)現(xiàn)的方法,該方法包括(a)將接收到的分組的大小和下一鏈路的最大傳輸單位(MTU)比較;和(b)如果接收到的分組的大小大于 下一鏈路MTU,則產(chǎn)生錯(cuò)誤消息,將產(chǎn)生的錯(cuò)誤消息發(fā)送到源節(jié)點(diǎn),產(chǎn)生下一鏈路MTU大小的測試消息,并將產(chǎn)生的測試消息發(fā)送到目的節(jié)點(diǎn)。
      最好,錯(cuò)誤消息是在互聯(lián)網(wǎng)協(xié)議版本6(IPv6)的ICMP消息的“類型”字段中使用位
      之一的互聯(lián)網(wǎng)控制消息協(xié)議(ICMP)錯(cuò)誤消息。
      最好,測試消息是在IPv6的ICMP消息的“類型”字段中使用位[128:255]之一的ICMP信息消息。
      最好,在步驟(b)中產(chǎn)生的錯(cuò)誤消息包含下一鏈路MTU信息。
      最好,在步驟(b)中產(chǎn)生的測試消息包含接收到的分組的源地址和目的地址信息。
      最好,該方法還包括(c)存儲(chǔ)包含在接收到的分組中的MTU信息、源地址信息、和目的地址信息,其中,接收到的分組是由先前節(jié)點(diǎn)產(chǎn)生的測試消息。
      最好,該方法還包括(d)比較在將在步驟(b)中產(chǎn)生的錯(cuò)誤消息發(fā)送到源節(jié)點(diǎn)之后接收到的分組的MTU信息、源地址信息、和目的地址信息與在步驟(c)中存儲(chǔ)的MTU信息、源地址信息、和目的地址信息,如果這些比較中的信息是相同的,則發(fā)送在步驟(b)中產(chǎn)生的錯(cuò)誤消息而不產(chǎn)生錯(cuò)誤消息和測試消息,然后丟棄接收到的分組。
      根據(jù)本發(fā)明的另一方面,提供了一種用于在互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡(luò)上的節(jié)點(diǎn)之間的路徑最大傳輸單位(PMTU)的發(fā)現(xiàn)的設(shè)備,該設(shè)備包括確定單元,用于確定接收到的分組的大小是否超出下一鏈路MTU;錯(cuò)誤消息產(chǎn)生及發(fā)送單元,用于如果確定接收到的分組的大小大于下一鏈路MTU,則產(chǎn)生錯(cuò)誤消息并將產(chǎn)生的錯(cuò)誤消息發(fā)送到源節(jié)點(diǎn);和測試消息產(chǎn)生及發(fā)送單元,用于產(chǎn)生下一鏈路MTU大小的測試消息并將產(chǎn)生的測試消息發(fā)送到目的節(jié)點(diǎn)。
      最好,產(chǎn)生的錯(cuò)誤消息包含下一鏈路MTU信息。
      最好,產(chǎn)生的測試消息包含接收到的分組的源地址和目的地址信息。
      最好,當(dāng)在將產(chǎn)生的錯(cuò)誤消息發(fā)送到源節(jié)點(diǎn)之后接收到的分組的MTU信息、源地址信息、和目的地址信息與存儲(chǔ)的MTU信息、源地址信息、和目的地址信息比較時(shí),如果在這些比較中的信息是相同的,則發(fā)送產(chǎn)生的錯(cuò)誤消息而不產(chǎn)生錯(cuò)誤消息和測試消息,并丟棄接收到的分組。
      最好,該設(shè)備是支持IPv6的路由器、網(wǎng)橋、和交換機(jī)的任何一個(gè)。


      通過參照附圖來詳細(xì)描述其優(yōu)選實(shí)施例,本發(fā)明的上述目的和優(yōu)點(diǎn)將會(huì)變得更加清楚,其中圖1是顯示現(xiàn)有技術(shù)路徑最大傳輸單位(MTU)發(fā)現(xiàn)方法的示圖;圖2是在本發(fā)明中使用的互聯(lián)網(wǎng)協(xié)議版本6(IPv6)的基本首標(biāo)(header)的示圖;圖3A是顯示在本發(fā)明中使用的ICMPv6消息的基本結(jié)構(gòu)的示圖;圖3B是顯示在本發(fā)明中使用的ICMP-分組太大消息的基本結(jié)構(gòu)的示圖;圖4A是顯示在本發(fā)明的優(yōu)選實(shí)施例中使用的修正的ICMP-分組太大消息的基本結(jié)構(gòu)的示圖;圖4B是顯示在本發(fā)明的優(yōu)選實(shí)施例中使用的新定義的ICMP-PMTUD最小化分組(Minimizing Packet)的基本結(jié)構(gòu)的示圖;圖5是顯示根據(jù)本發(fā)明的路徑MTU(PMTU)方法的示圖;圖6是顯示根據(jù)本發(fā)明的節(jié)點(diǎn)的存儲(chǔ)空間形狀的示圖;圖7A是顯示根據(jù)現(xiàn)有技術(shù)PMTU發(fā)現(xiàn)方法的在PMTU發(fā)現(xiàn)中花費(fèi)的時(shí)間和跳計(jì)數(shù)的示圖;和圖7B是顯示通過根據(jù)本發(fā)明的優(yōu)選實(shí)施例的PMTU發(fā)現(xiàn)方法在PMTU發(fā)現(xiàn)中花費(fèi)的時(shí)間和跳計(jì)數(shù)的示圖。
      具體實(shí)施例方式
      首先,在本說明書中使用的術(shù)語定義如下節(jié)點(diǎn)實(shí)現(xiàn)IPv6的裝置。
      路由器轉(zhuǎn)發(fā)未明確地尋址到其本身的IPv6分組的節(jié)點(diǎn)。
      主機(jī)不是路由器的任何節(jié)點(diǎn)。
      上層緊挨在IPv6上面的協(xié)議層。例如,比如TCP和UDP的傳輸協(xié)議及比如ICMP的控制協(xié)議。
      路徑最大傳輸單位發(fā)現(xiàn)(PMTU)最小化分組新定義的ICMP信息消息。
      鏈路節(jié)點(diǎn)可通過其在鏈路層通信的通信設(shè)施或介質(zhì)。
      分組IPv6首標(biāo)加凈荷。
      鏈路MTU最大傳輸單位。
      路徑在源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的由分組經(jīng)過的鏈路的集合。
      路徑MTU(PMTU)在源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的路徑中的所有鏈路的最小鏈路MTU。
      參照附圖,現(xiàn)在將解釋本發(fā)明的優(yōu)選實(shí)施例。
      圖2是在本發(fā)明中使用的IPv6的基本首標(biāo)的示圖。IPv6的所有分組以用40個(gè)字節(jié)形成的基本首標(biāo)開始。圖2的“版本”表示IP的版本,并且“凈荷長度”表示以字節(jié)為單位的IP分組的長度?!跋乱皇讟?biāo)”表示哪個(gè)擴(kuò)展首標(biāo)跟隨IP基本首標(biāo),并且“跳限制”用于以跳為單位約束用于傳輸IP分組的距離。“源地址”和“目的地址”分別表示發(fā)送分組的主機(jī)的地址和分組應(yīng)被發(fā)送至其的目的地的地址。地址的長度是128位。
      圖3A是顯示在本發(fā)明中使用的ICMPv6消息的基本結(jié)構(gòu)的示圖。
      在ICMPv6消息的“類型”字段中,類型號(hào)0到127用在發(fā)送關(guān)于錯(cuò)誤的消息中,并且類型號(hào)128到255用在發(fā)送信息消息中。在用在發(fā)現(xiàn)PMTU中的ICMP-分組太大消息中,“類型”字段中類型號(hào)是2。
      圖3B是顯示當(dāng)ICMPv6消息的“類型”字段中的值為2時(shí)的ICMP-分組太大消息的基本結(jié)構(gòu)的示圖。
      ICMPv6消息的“類型”字段中的值被設(shè)置為2,并且“代碼”字段中的值通常由發(fā)送機(jī)設(shè)置為0并在接收機(jī)中被忽略。“MTU”字段表示下一跳的鏈路MTU值。
      ICMP-分組太大消息的目的地址是從接收到的原始分組的IP首標(biāo)的源地址復(fù)制的。
      圖4A是顯示在根據(jù)本發(fā)明的PMTU發(fā)現(xiàn)方法中使用的修正的ICMP-分組太大消息的基本結(jié)構(gòu)的示圖。除了“代碼”字段的值為0或1以外,圖4A中顯示的修正的ICMP-分組太大消息具有與圖3B的ICMP-分組太大消息的結(jié)構(gòu)相同的結(jié)構(gòu)。
      當(dāng)產(chǎn)生ICMP-分組太大消息用于從源節(jié)點(diǎn)發(fā)送的分組時(shí),“代碼”字段中的值被設(shè)置為0。當(dāng)產(chǎn)生ICMP-分組太大消息用于將在稍后解釋的具有143的“類型”字段值的PMTUD最小化分組時(shí),“代碼”字段中的值被設(shè)置為1。
      在用于解釋根據(jù)本發(fā)明的PMTU發(fā)現(xiàn)方法的實(shí)施例中,“代碼”字段中的值為0或1。然而,即使當(dāng)有選擇地使用其中“代碼”字段中的值被設(shè)置為0的圖3B的ICMP-分組太大消息時(shí),也可實(shí)現(xiàn)根據(jù)本發(fā)明的PMTU發(fā)現(xiàn)方法。
      圖4B是顯示在根據(jù)本發(fā)明的PMTU發(fā)現(xiàn)方法中使用的新定義的ICMP信息消息即ICMP-PMTUD最小化分組的示圖。目前,類型號(hào)128到255可用在ICMP信息消息中,并且類型號(hào)128到142已被使用。
      在用于解釋根據(jù)本發(fā)明的協(xié)議的實(shí)施例中,產(chǎn)生并使用具有143的“類型”字段值的新ICMP信息消息。然而,也可通過使用另一個(gè)不是143并且目前未定義的“類型”字段號(hào)來使用根據(jù)本發(fā)明的PMTU發(fā)現(xiàn)方法。
      表示根據(jù)本發(fā)明新定義的PMTUD最小化分組的值143存儲(chǔ)在圖4b顯示的ICMP信息消息的“類型”字段中,并且存儲(chǔ)在“代碼”字段中的值被設(shè)置為0。
      在“MTU”字段中,存儲(chǔ)下一跳的鏈路MTU值。丟棄的先前分組的源地址被存儲(chǔ)為源地址值,并且丟棄的先前分組的目的地址被存儲(chǔ)為目的地址值。
      與ICMP分組太大消息不同,新定義的ICMP信息消息(即PMTUD最小化分組)被發(fā)送到目的節(jié)點(diǎn)。為了使該消息的大小滿足下一跳的鏈路MTU,以啞數(shù)據(jù)填充該消息。
      通過使用圖4A的修正的ICMP分組太大消息和ICMP-PMTUD最小化分組(即圖4B的新定義的ICMP信息消息)來執(zhí)行根據(jù)本發(fā)明的PMTU發(fā)現(xiàn)方法。
      根據(jù)本發(fā)明的PMTUD發(fā)現(xiàn)方法,在路由選擇路徑上的節(jié)點(diǎn)中,如果下一跳的鏈路MTU小于發(fā)送的分組的大小,則當(dāng)前節(jié)點(diǎn)丟棄由源節(jié)點(diǎn)發(fā)送的分組,產(chǎn)生圖4A顯示的ICMP分組太大消息,并將產(chǎn)生的ICMP分組太大消息發(fā)送到源節(jié)點(diǎn)。當(dāng)前節(jié)點(diǎn)將產(chǎn)生其以滿足下一跳的鏈路MTU的ICMP-PMTUD最小化分組發(fā)送到目的節(jié)點(diǎn)。
      此外,如果當(dāng)發(fā)送到目的節(jié)點(diǎn)時(shí)ICMP-PMTUD最小化分組在路徑中的任意節(jié)點(diǎn)中再次變?yōu)樾∮谙乱惶逆溌稭TU,則該任意節(jié)點(diǎn)丟棄發(fā)送的ICMP-PMTUD最小化分組,產(chǎn)生包含下一跳的鏈路MTU信息的ICMP-分組太大消息,并將該消息發(fā)送到源節(jié)點(diǎn)。這里,ICMP-分組太大消息的“代碼”字段中的值變?yōu)?。如在先前情況下,任意節(jié)點(diǎn)產(chǎn)生具有與下一跳的鏈路MTU相同大小的ICMP-PMTUD最小化分組,并將該分組發(fā)送到目的節(jié)點(diǎn)。
      此外,在接收具有0的“代碼”字段值的ICMP-分組太大消息之后,源節(jié)點(diǎn)根據(jù)包含在該ICMP-分組太大消息中的鏈路MTU值分割分組,并發(fā)送分割的分組。
      如果在源節(jié)點(diǎn)發(fā)送根據(jù)包含在ICMP-分組太大消息中的鏈路MTU值分割的分組之前源節(jié)點(diǎn)接收到具有1的“代碼”字段值的ICMP-分組太大消息,則應(yīng)丟棄根據(jù)包含在先前ICMP-分組太大消息中的鏈路MTU值分割的分組。
      在源節(jié)點(diǎn)接收到具有0的“代碼”字段值的ICMP-分組太大消息之后并且在發(fā)送根據(jù)包括在該ICMP-分組太大消息中的鏈路MTU值分割的分組之前,如果源節(jié)點(diǎn)接收到具有1的“代碼”字段值的ICMP-分組太大消息,則丟棄已經(jīng)分割的分組,并且分組根據(jù)包括在具有1的“代碼”字段值的ICMP-分組太大消息中的MTU值的大小被再次分割并被發(fā)送。
      根據(jù)本發(fā)明的優(yōu)選實(shí)施例,即使根據(jù)包含在具有0的“代碼”字段值的ICMP-分組太大消息中的MTU信息分割的并變得沒用的分組在源節(jié)點(diǎn)接收到具有1的“代碼”字段值的ICMP-分組太大消息之前被發(fā)送,該發(fā)送的分組也在產(chǎn)生具有1的“代碼”字段值的ICMP-分組太大消息的節(jié)點(diǎn)中被自動(dòng)地丟棄。
      這是通過使用根據(jù)本發(fā)明具有下列功能的節(jié)點(diǎn)來執(zhí)行的。
      產(chǎn)生具有1的“代碼”字段值的ICMP-分組太大消息的節(jié)點(diǎn)例如路由器將存儲(chǔ)在從先前節(jié)點(diǎn)發(fā)送的ICMP-PMTUD最小化分組中的源地址、目的地址、和PMTU值存儲(chǔ)在其具有圖6中顯示的結(jié)構(gòu)的存儲(chǔ)空間例如高速緩沖存儲(chǔ)器中。根據(jù)本發(fā)明的優(yōu)選實(shí)施例,可在高速緩沖存儲(chǔ)器中存儲(chǔ)這些項(xiàng)(item)的持續(xù)時(shí)間不長。應(yīng)僅在用于PMTU發(fā)現(xiàn)的期間存儲(chǔ)這些項(xiàng),在那段時(shí)間之后,這些項(xiàng)被自動(dòng)地刪除。
      在存儲(chǔ)這些項(xiàng)之后,如果來自源節(jié)點(diǎn)的分組到達(dá)此節(jié)點(diǎn),則該節(jié)點(diǎn)將該分組的源地址、目的地址、和PMTU值和存儲(chǔ)在該節(jié)點(diǎn)的高速緩沖存儲(chǔ)器中的值比較。如果值相同,則該節(jié)點(diǎn)認(rèn)為該分組是未將具有1的“代碼”字段值的ICMP-分組太大消息應(yīng)用于其的分組。也就是說,該節(jié)點(diǎn)認(rèn)為該分組在具有1的“代碼”字段值的ICMP-分組太大消息即該節(jié)點(diǎn)產(chǎn)生并發(fā)送的消息到達(dá)源節(jié)點(diǎn)并丟棄該分組而不產(chǎn)生具有0的“代碼”字段值的ICMP-分組太大消息之前由先前的ICMP-分組太大消息分割并被發(fā)送。這是為了防止當(dāng)由先前節(jié)點(diǎn)發(fā)送的ICMP-分組太大消息再次分割的分組在具有1的“代碼”字段值的ICMP-分組太大消息被產(chǎn)生并發(fā)送到源節(jié)點(diǎn)之后到達(dá)時(shí)再次產(chǎn)生并發(fā)送ICMP-分組太大消息。通過這樣做,可防止不必要的網(wǎng)絡(luò)資源的使用。
      因此,當(dāng)在本發(fā)明中使用另一種PMTU發(fā)現(xiàn)方法時(shí),與現(xiàn)有技術(shù)PMTU發(fā)現(xiàn)方法相比可減少在PMTU的發(fā)現(xiàn)中花費(fèi)的時(shí)間而沒有不必要的附加網(wǎng)絡(luò)資源的使用。
      圖5是顯示當(dāng)源節(jié)點(diǎn)510和目的節(jié)點(diǎn)550之間的鏈路MTU依6、5、4、和3的順序減小時(shí)的用于使用根據(jù)本發(fā)明的PMTU發(fā)現(xiàn)方法和設(shè)備的PMTU發(fā)現(xiàn)的實(shí)施例的示圖。
      參照?qǐng)D5,現(xiàn)在將解釋根據(jù)本發(fā)明的使用圖4A的修正的ICMP-分組太大消息和ICMP PMTUD最小化分組(即圖4B的新定義的ICMP信息消息)的PMTU發(fā)現(xiàn)方法。
      在圖5中,作為主機(jī)工作的源節(jié)點(diǎn)510包括功能單元,其可分辨修正的ICMP-分組太大消息的“代碼”字段的值是0還是1,在接收到這個(gè)消息之后立即新定義PMTU,并重新發(fā)送滿足新PMTU大小的分組。
      第一節(jié)點(diǎn)520、第二節(jié)點(diǎn)530、和第三節(jié)點(diǎn)540的每個(gè)如在源節(jié)點(diǎn)中包括可分辨修正的ICMP-分組太大消息的“代碼”字段是1還是0的功能單元,并產(chǎn)生圖4A的修正的ICMP-分組太大消息和ICMP-PMTUD最小化分組(即圖4B的新定義的ICMP信息消息)。此外,這些節(jié)點(diǎn)的每個(gè)包括如圖6中所示的存儲(chǔ)空間例如高速緩沖存儲(chǔ)器(未顯示)用于當(dāng)丟棄ICMP-PMTUD最小化分組時(shí)將存儲(chǔ)在丟棄的ICMP-PMTUD最小化分組中的源地址、目的地址、和先前PMTU信息存儲(chǔ)預(yù)定時(shí)間。
      源節(jié)點(diǎn)510將根據(jù)下一跳的鏈路MTU值即MTU=6分割的分組①發(fā)送到目的節(jié)點(diǎn)550。
      由于接收到的分組①的大小大于5的下一跳的鏈路MTU值,所以第一節(jié)點(diǎn)520產(chǎn)生包含下一跳的鏈路MTU信息即MTU=5的ICMP-分組太大消息,并將該消息發(fā)送到源節(jié)點(diǎn)510。這里,由于這個(gè)消息是最初希望由源節(jié)點(diǎn)510發(fā)送的數(shù)據(jù)分組的ICMP錯(cuò)誤消息,所以在“代碼”字段中的值是0。節(jié)點(diǎn)1520還產(chǎn)生如圖4B中所示的產(chǎn)生其以滿足下一跳的鏈路MTU=5的ICMP-PMTUD最小化分組③,并將該分組發(fā)送到目的節(jié)點(diǎn)550。
      由于由第一節(jié)點(diǎn)520發(fā)送的ICMP-PMTUD最小化分組③的大小大于下一跳的鏈路MTU值4,所以第二節(jié)點(diǎn)530產(chǎn)生包含下一跳的鏈路MTU信息即MTU=4的ICMP-分組太大消息④,并將該消息發(fā)送到源節(jié)點(diǎn)510。這里,由于該消息是關(guān)于ICMP-PMTUD最小化分組的,所以在“代碼”字段中的值是1。此外,第二節(jié)點(diǎn)530將存儲(chǔ)在先前ICMP-PMTUD最小化分組即由第一節(jié)點(diǎn)520發(fā)送的ICMP-PMTUD最小化分組③的“MTU”、“源地址”、和“目的地址”字段中的信息存儲(chǔ)在存儲(chǔ)空間例如具有圖6中顯示的結(jié)構(gòu)的高速緩沖存儲(chǔ)器中。另外,第二節(jié)點(diǎn)530產(chǎn)生產(chǎn)生其以滿足下一跳的鏈路MTU=4的ICMP-PMTUD最小化分組⑤,并將該分組發(fā)送到目的節(jié)點(diǎn)550。
      由于由第二節(jié)點(diǎn)530發(fā)送的ICMP-PMTUD最小化分組⑤的大小大于下一跳的鏈路MTU值3,所以第三節(jié)點(diǎn)540產(chǎn)生包含下一跳的鏈路MTU信息即MTU=3的ICMP-分組太大消息⑥,并將該消息發(fā)送到源節(jié)點(diǎn)510。這里,由于該消息是關(guān)于ICMP-PMTUD最小化分組⑤的,所以在“代碼”字段中的值是1。此外,第三節(jié)點(diǎn)540將存儲(chǔ)在先前ICMP-PMTUD最小化分組即由第二節(jié)點(diǎn)530發(fā)送的ICMP-PMTUD最小化分組⑤的“MTU”、“源地址”、和“目的地址”字段中的信息存儲(chǔ)在高速緩沖存儲(chǔ)器中,產(chǎn)生產(chǎn)生其以滿足下一跳的鏈路MTU=3的ICMP-PMTUD最小化分組⑦,并將該分組發(fā)送到目的節(jié)點(diǎn)550。
      同時(shí),在接收到具有0的“代碼”字段值并由第一節(jié)點(diǎn)520發(fā)送的ICMP-分組太大消息②之后,源節(jié)點(diǎn)510根據(jù)包含在該消息中的鏈路MTU值即MTU=5來分割分組,并發(fā)送分割的分組。
      如果在源節(jié)點(diǎn)發(fā)送根據(jù)包含在具有0的“代碼”字段值并由第一節(jié)點(diǎn)520發(fā)送的ICMP-分組太大消息②中的鏈路MTU值即MTU=5分割的分組之前源節(jié)點(diǎn)510接收到具有1的“代碼”字段值并由第二節(jié)點(diǎn)530發(fā)送的ICMP-分組太大消息④,則源節(jié)點(diǎn)510丟棄根據(jù)ICMP-分組太大消息②分割的分組,根據(jù)包含在具有1的“代碼”字段值的ICMP-分組太大消息④中的MTU值即MTU=4的大小來再次分割分組,并發(fā)送分割的分組。
      如果在源節(jié)點(diǎn)510接收到具有1的“代碼”字段值的ICMP-分組太大消息之前源節(jié)點(diǎn)510發(fā)送根據(jù)包含在具有0的“代碼”字段值的ICMP-分組太大消息中的MTU信息即MTU=5分割的分組,則根據(jù)MTU=5分割的分組可到達(dá)第二節(jié)點(diǎn)530。然而,由于下一跳的鏈路MTU是4,所以第二節(jié)點(diǎn)530丟棄該分組。這里,第二節(jié)點(diǎn)530已經(jīng)將存儲(chǔ)在由第一節(jié)點(diǎn)520發(fā)送的ICMP-PMTUD最小化分組③的“MTU”、“源地址”、和“目的地址”字段中的信息存儲(chǔ)在高速緩沖存儲(chǔ)器中。由于這些存儲(chǔ)在高速緩沖存儲(chǔ)器中的值與分組中的信息相同,所以第二節(jié)點(diǎn)530不產(chǎn)生單獨(dú)的ICMP錯(cuò)誤消息。通過這樣做,可防止不必要的網(wǎng)絡(luò)資源的使用。
      在根據(jù)本發(fā)明的實(shí)施例中,假定在源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的路由選擇路徑上的所有節(jié)點(diǎn)都支持根據(jù)本發(fā)明的圖4A的修正的ICMP分組太大消息和作為圖4B的新定義的ICMP信息消息的ICMP PMTUD最小化分組。然而,即使這些節(jié)點(diǎn)的一些不支持根據(jù)本發(fā)明的消息,也可通過使用現(xiàn)有技術(shù)PMTU發(fā)現(xiàn)方法來執(zhí)行在源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的PMTU發(fā)現(xiàn)。
      圖7A和(b)顯示在現(xiàn)有技術(shù)PMTU發(fā)現(xiàn)方法和根據(jù)本發(fā)明的PMTU發(fā)現(xiàn)方法中在其中鏈路MTU順序減小的路由選擇路徑中的PMTU發(fā)現(xiàn)中使用的時(shí)間和跳計(jì)數(shù)。
      如圖7A和(b)中所示,在根據(jù)本發(fā)明的PMTU發(fā)現(xiàn)方法中,與現(xiàn)有技術(shù)PMTU發(fā)現(xiàn)方法相比可在較短的時(shí)間內(nèi)確定PMTU并且使用的跳計(jì)數(shù)的數(shù)量減小。
      本發(fā)明可以可由計(jì)算機(jī)讀取的計(jì)算機(jī)可讀記錄介質(zhì)上的代碼來實(shí)現(xiàn)。計(jì)算機(jī)可讀記錄介質(zhì)包括各種其上存儲(chǔ)計(jì)算機(jī)可讀數(shù)據(jù)的記錄設(shè)備。
      以上解釋并顯示了最優(yōu)實(shí)施例。然而,本發(fā)明不限于上述的優(yōu)選實(shí)施例,并且很清楚,本領(lǐng)域技術(shù)人員可在由所附權(quán)利要求限定的本發(fā)明的精神和范圍內(nèi)進(jìn)行變換和修改。
      計(jì)算機(jī)可讀記錄介質(zhì)包括存儲(chǔ)介質(zhì),比如磁存儲(chǔ)介質(zhì)(例如,ROM′s、軟盤、硬盤等等)、光學(xué)可讀介質(zhì)(例如,CD-ROM、DVD等等)、和載波(例如,通過互聯(lián)網(wǎng)傳輸)。此外,計(jì)算機(jī)可讀記錄介質(zhì)可分布在經(jīng)網(wǎng)絡(luò)連接的計(jì)算機(jī)系統(tǒng)上,并可以分布模式存儲(chǔ)并執(zhí)行計(jì)算機(jī)可讀代碼。
      產(chǎn)業(yè)上的可利用性如上所述,當(dāng)使用根據(jù)本發(fā)明的PMTU發(fā)現(xiàn)方法時(shí),可在較短的時(shí)間內(nèi)確定PMTU,并且與現(xiàn)有技術(shù)PMTU發(fā)現(xiàn)方法相比可最小化網(wǎng)絡(luò)資源的使用。
      權(quán)利要求
      1.一種用于在互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡(luò)上的節(jié)點(diǎn)之間的路徑最大傳輸單位(PMTU)的發(fā)現(xiàn)的方法,該方法包括(a)將接收到的分組的大小和下一鏈路的最大傳輸單位(MTU)比較;和(b)如果接收到的分組的大小大于下一鏈路MTU,則產(chǎn)生錯(cuò)誤消息,將產(chǎn)生的錯(cuò)誤消息發(fā)送到源節(jié)點(diǎn),產(chǎn)生下一鏈路MTU大小的測試消息,并將產(chǎn)生的測試消息發(fā)送到目的節(jié)點(diǎn)。
      2.如權(quán)利要求1所述的方法,其中,錯(cuò)誤消息是在互聯(lián)網(wǎng)協(xié)議版本6(IPv6)的ICMP消息的“類型”字段中使用類型號(hào)0到127之一的互聯(lián)網(wǎng)控制消息協(xié)議(ICMP)錯(cuò)誤消息。
      3.如權(quán)利要求1所述的方法,其中,錯(cuò)誤消息是IPv6的ICMP-分組太大消息。
      4.如權(quán)利要求1所述的方法,其中,在步驟(b)中產(chǎn)生的錯(cuò)誤消息包含下一鏈路MTU信息。
      5.如權(quán)利要求1所述的方法,其中,測試消息是在IPv6的ICMP消息的“類型”字段中使用類型號(hào)128到255之一的ICMP信息消息。
      6.如權(quán)利要求1所述的方法,其中,在步驟(b)中產(chǎn)生的測試消息包含接收到的分組的源地址和目的地址信息。
      7.如權(quán)利要求1所述的方法,還包括(c)如果接收到的分組是由先前節(jié)點(diǎn)產(chǎn)生的測試消息,則存儲(chǔ)包含在接收到的分組中的MTU信息、源地址信息、和目的地址信息。
      8.如權(quán)利要求7所述的方法,還包括(d)比較在將在步驟(b)中產(chǎn)生的錯(cuò)誤消息發(fā)送到源節(jié)點(diǎn)之后接收到的分組的MTU信息、源地址信息、和目的地址信息與在步驟(c)中存儲(chǔ)的MTU信息、源地址信息、和目的地址信息,如果這些比較中的信息是相同的,則丟棄接收到的分組而不產(chǎn)生錯(cuò)誤消息和測試消息。
      9.一種用于在互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡(luò)上的節(jié)點(diǎn)之間的路徑最大傳輸單位(PMTU)的發(fā)現(xiàn)的設(shè)備,該設(shè)備包括確定單元,用于確定接收到的分組的大小是否超出下一鏈路MTU;錯(cuò)誤消息產(chǎn)生及發(fā)送單元,用于如果確定接收到的分組的大小大于下一鏈路MTU,則產(chǎn)生錯(cuò)誤消息并將產(chǎn)生的錯(cuò)誤消息發(fā)送到源節(jié)點(diǎn);和測試消息產(chǎn)生及發(fā)送單元,用于產(chǎn)生下一鏈路MTU大小的測試消息并將產(chǎn)生的測試消息發(fā)送到目的節(jié)點(diǎn)。
      10.如權(quán)利要求9所述的設(shè)備,其中,錯(cuò)誤消息是在互聯(lián)網(wǎng)協(xié)議版本6(IPv6)的ICMP消息的“類型”字段中使用類型號(hào)0到127之一的互聯(lián)網(wǎng)控制消息協(xié)議(ICMP)錯(cuò)誤消息。
      11.如權(quán)利要求9所述的設(shè)備,其中,錯(cuò)誤消息是IPv6的ICMP-分組太大消息。
      12.如權(quán)利要求9所述的設(shè)備,其中,產(chǎn)生的錯(cuò)誤消息包含下一鏈路MTU信息。
      13.如權(quán)利要求9所述的設(shè)備,其中,測試消息是在IPv6的ICMP消息的“類型”字段中使用類型號(hào)128到255之一的ICMP信息消息。
      14.如權(quán)利要求9所述的設(shè)備,其中,產(chǎn)生的測試消息包含接收到的分組的源地址和目的地址信息。
      15.如權(quán)利要求9所述的設(shè)備,其中,如果接收到的分組是由先前節(jié)點(diǎn)產(chǎn)生的測試消息,則該設(shè)備存儲(chǔ)包含在接收到的分組中的MTU信息、源地址信息、和目的地址信息。
      16.如權(quán)利要求15所述的設(shè)備,其中,當(dāng)在將產(chǎn)生的錯(cuò)誤消息發(fā)送到源節(jié)點(diǎn)之后接收到的分組的MTU信息、源地址信息、和目的地址信息與存儲(chǔ)的MTU信息、源地址信息、和目的地址信息比較時(shí),如果在這些比較中的信息是相同的,則丟棄接收到的分組而不產(chǎn)生錯(cuò)誤消息和測試消息。
      17.一種包括權(quán)利要求9到12的任何一個(gè)所述的設(shè)備并支持IPv6的路由器。
      全文摘要
      一種用于更有效地操作網(wǎng)絡(luò)的方法,更具體地講,一種用于在IP網(wǎng)絡(luò)上的節(jié)點(diǎn)之間的路徑最大傳輸單位(PMTU)的發(fā)現(xiàn)的方法。該方法包括(a)將接收到的分組的大小和下一鏈路的最大傳輸單位(MTU)比較;和(b)如果接收到的分組的大小大于下一鏈路MTU,則產(chǎn)生錯(cuò)誤消息,將產(chǎn)生的錯(cuò)誤消息發(fā)送到源節(jié)點(diǎn),產(chǎn)生下一鏈路MTU大小的測試消息,并將產(chǎn)生的測試消息發(fā)送到目的節(jié)點(diǎn)。根據(jù)該P(yáng)MTU發(fā)現(xiàn)方法,可在較短的時(shí)間內(nèi)確定PMTU,并且可最小化網(wǎng)絡(luò)資源的使用。
      文檔編號(hào)H04L29/06GK1647453SQ03807525
      公開日2005年7月27日 申請(qǐng)日期2003年2月26日 優(yōu)先權(quán)日2002年3月29日
      發(fā)明者李學(xué)求, 金永根, 金善友, 林鏞埈 申請(qǐng)人:三星電子株式會(huì)社
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1