本備忘錄狀態
本文具體說明了一個為網絡間交流的網絡路徑協議標準,并且為改進而進行了討論
和提了建議。請參考最新版本的"Internet Official PRotocol Standards"這本書,此書標準化
了協議的狀態和地位。本備忘錄的貢獻是有限的。
目錄
1.概況 1
2. UDP Jumbograms 1
3. TCP Jumbograms 2
3.1 TCP MSS 2
3.2 TCP Urgent Pointer 2
4.安全方面的考慮 3
5.參考書 3
1.概況
ipv6支持比65536字節還大的數據,經常作為jumbograms的參考,通過Jumbo Payload的Hop-by-Hop option的用法。UDP協議有16位長度這就能避開使用jumbograms,但是TCP沒有16位長,MSS選項和Urgent的長度被限制在16位長。本文描述了一些簡單的能夠答應TCP和UDP使用IPv6 jumbograms的變化。
2. UDP Jumbograms
答應UDP使用jumbograms,也是得UDP的長度需要擴長,或它需要被忽視。由于域的長度不能被改變,長度為零是用來表明它是可以被忽視的,;并且在"pseudo-header"
里的長度是被用來決定UDP頭加數據的真正長度的。這樣做是因為UDP域包含在UDP頭里,因此域的最小有效值是8。
當發送一個UDP數據包時,假如并且僅僅是假如當UDP頭加數據的長度超過65535時把UDP頭里的域長度設為零。
注重1:為處理UDP校驗而在"pseudo-header"里使用的長往往不是UDP頭加數據的真正長度,也不是零。
注重2:用來傳輸一個UDP包的一個IPv6包的長度大于5535將需要在一個Hop-by-Hop選擇的頭里執行一個Jumbo Payload選擇。在JumboPayload選擇里的域的長度包含了包含IPv6頭的IP報的長度,也就是說,它包含了所有的擴長的頭加上UDP頭加上數據的長度。在IPv6頭里的域長度包含了用來表明Jumbo Payload選擇存在的零。
假如一個UDP包以零作為標準長度,那UDP包的長度計算應該是在Jumbo Payload Option減去所有在IPv6頭和UDP頭兩者間擴展的頭的長度。
3. TCP Jumbograms
Because there is no length field in the TCP header, here is nothing limiting the length of an individual TCP packet. However, the MSS value that is negotiated at the beginning of the connection limits the largest TCP packet that can be sent, and the Urgent Pointer cannot reference data beyond 65535 bytes.
3.1 TCP MSS
當決定發送MSS的何值時,假如直接附在接口上的MTU比65535大,那就發送MSS的值為65535。
當一個值為65535的MSS被接收時,那它將被作為無窮大處理。MTU的編碼以外部的接口開始,此接口將被用來決定實際的MSS。
3.2 TCP Urgent Pointer Urgent Pointer的問題可以通過增加一個TCP Urgent Pointer Option來解決。然而,由于它與利用jumbograms的應用不同的是也將使用Urgent Pointers,一點很少的插入帶來的改變就和MSS的改變一樣都將是有效的。
當一個TCP的包用一個Urgent Pointer來發送時,首先考慮從Sequence Number到Urgent Pointer的偏移量。假如偏移量小于65535,那就將偏移量填到Urgent域里并且繼續正常的TCP處理。假如偏移量比65535大,并且偏移量大于或等于TCP數據的長度,那就在Urgent Pointer里填上65535并且繼續TCP的正常處理。否則,TCP包必須分成兩份。第一部分包含數據,但不包含指向Urgent Pointer的數據,并且設置Urgent域為65535用此來表明Urgent Pointer超出了這個包。第二部分包含了Urgent Pointer域的正常設置因此能被發送。
注重:第一部分并不是一定要包含所有的到UrgentPointer的數據。它可以縮短到和在65534字節里的Urgent Pointer一樣的長度,因此在第二部分里的Urgent Pointer的偏移量將可以被縮短到比65535字節小。
至于TCP輸入的處理,當一個用URG位設置并且Urgent域的大小是65535的TCP包被接收時,Urgent Pointer使用一個和TCP長度相等的偏移量來計算而不是根據再Urgent域里的偏移量來計算。
還應該注重TCP窗口只有16位,因此比16位大的窗口能被通過使用TCP Window Scale option來用。
4.安全方面的考慮
在這些變換中沒有顯著的安全問題。
5.參考書
[Jacobson92] Jacobson, V., R. Braden and D. Borman, "TCP Extensions
for High Performance", RFC1323, LBL, ISI and Cray Research, May
1992.
[Deering95] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC1883, Xerox PARC and Ipsilon Networks,
December 1995.
6.作者地址
David A. Borman
Berkeley Software Design, Inc.
4719 Weston Hills Drive
Eagan, MN 55123
Phone: (612) 405-8194
Mailing List: ipng@sunroof.Eng.Sun.COM
Email: dab@bsdi.com
新聞熱點
疑難解答