備忘錄狀態
這個文檔詳細說明了跟蹤協議的網絡標準,以及要求討論和提高建議。根據目前版本的
“正式因特網協議標準”(STD1)來標準化這個協議。這個備忘錄的發行不受限制。
版權事項
Copyright(C)TheInte.netSociety(2000).AllRightsReserved.
摘要
這個備忘錄描述了TCP[RFC793]和DiffServ[RFC2475]在Ipv4包頭{RFC791}中TOS8
位中前3位的使用沖突。包含DiffServ-capable節點的網絡中,如此沖突可能引起TCP連接
建立失敗或已經建立的TCP連接意外重設。這個備忘錄主要是提出解決沖突問題的變化。
因為在IPV6中,傳輸8位組除了在RFC2474中定義的外沒有任何意義,還有沒有定義過程
或安全參數位,因此在TCP和DiffServ的使用位上沒有沖突。
1. 介紹
在TCP傳輸中,每個連接有一系列的狀態。那些狀態在兩端TCP控制塊(TCB)中的系列
變量反映出來。那些變量包括本地和遠程套接字數,連接優先級,安全等級和間隔,等等。
兩端必須在優先級和安全登記參數設置上保持一直,以便建立一個連接并保持。
在TCP報頭中沒有域指示優先級段。而是,在IP報頭中的優先級域用來指明。同樣的,安
全等級和間隔也是在IP報頭中,但是作為一個可選項而不是必須的報頭域。因為這些差異,
在這個備忘錄中討論的優先域問題不適合它們。
TCP要求一個連接的優先級(和安全參數)必須在連接的生存期間保持一致。因此,對于
一個已經建立的有優先級的連接,收到的數據中有不同的優先級,這個連接必須進行重置。
(RFC793,pp,36,37,40,66,67,71).
隨著DiffServ的出現,中間節點可能改變IP報頭中的區分服務代碼點(DSCP)[RFC2474]
來表示將到達的下一跳的表現(PHB)[RFC2474,RFC2597,RFC2598[。DSCP包括前面認
為是優先域的3位。因為對端節點來說,那三位的改變是非法的,可能引起建立連接失敗或
引起以建立連接重置。
2. 術語
段:TCP發送給IP的數據單元
優先域:在Ipv4報頭TOS8位段中的最左3位。注意,在DiffServ中,這三位有可能被用
作指示IP包的優先級。在IPV6中沒有相關域來指示優先級。
TOS域:在IPV4報頭中TOS8位中的3-6位[RFC1349]
MBZ域:必須為0。
TOS的結構如下:
DS域:IPV4報頭中的TOS8位域被DiffServ該名成區分服務(DS)。
DS域的結構為:
DSCP:區分服務代碼點,在DS域中的左6位。
CV:當前未使用。
下一跳表現(PHB):應用在區分服務相兼容節點表現集合的外部觀察描述
3. 問題闡述
操作DSCP用DiffServ-capable節點來獲得想要的PHB可能和優先域的TCP應用沖突。這
個沖突可能引起和RFC793一致的TCP執行問題。首先,RFC793的36頁狀態:
如果連接在任何非同步狀態(偵聽,SYN-發送,SYN-接收),有些確認偵沒有發送(段包
含不可接收ACK),或則有和要求建立連接的安全層和時間間隔不符的輸入段,必須重置。
如果SYN連接請求包沒有確認以及輸入段的優先級高于要求的優先級,那么或者增加本地
優先級(如果系統和用戶允許)或發送重置請求;或則如果輸入段的優先級低于要求則繼續,
此時認為優先級相符(如果遠地TCP不能增加優先級來匹配,那么在它發送的下一個段來
檢測,然后連接將中斷)。如果我們的SYN連接請求包已經確認(可能在輸入段),輸入段
的優先級必須和本地優先級剛好相配,否則必須發送重置信息。
這將導致問題1:對一個優先級敏感TCP模型,如果在TCP同步過程,SYN或則ACK包
的優先級在中間節點被改變,將導致有一個和原先的TCP模塊中優先級不一樣接收ACK包,
這樣TCP連接不能建立,即使兩個模塊確實在連接優先級上一致。
然后,看RFC793的狀態:
如果一個連接在同步狀態(已經建立,FIN-WAIT-1,FIN-WAIT-2,CLOSE-WAIT,CLOSING,
LAST-ACK,TIME-WAIT),安全層,時間間隔,優先級分別和建立連接的不同,將發一個
重置信息,并且連接將關掉。
這個導致問題2:對一個優先級敏感的TCP模塊,如果如果一個已經建立的TCP連接,接
收到段的優先域和建立時的優先域不同,TCP連接將被重置。
問題1和2有一個實際的問題。他們引起依據RFC793必須重置的TCP連接不必重置。
問題3:有可能在不同的優先級上的兩個TCP建立連接,因為SYN和ACK包在中間節點
會被改變,這樣可以使兩個模塊默認為在相同的優先級上。
問題4:兩個具有相同優先級的TCP模塊能夠正常建立。但是在數據傳輸過程中,其中一
個TCP模塊有可能改變其優先級。依據RFC793,TCP連接必須被重置。在DiffServ-capable,
如果優先級段被中間節點改變,但在另外一個TCP模塊中獲得期望值,連接不會被重置。
4. TCP的建議修正
TCP的建議修正為TCP必須忽略所有接收段的優先級。詳細的:
(1)。在TCP同步過程,兩端的TCP模塊必須忽略SYN和SYNACK包的優先域。TCP
應該能建立連接如果除了優先級外的滿足RFC793條件的TCP連接。
(2)在一個連接建立后,每一端發送自己要求段。兩端的TCP數據發送過程中的優先級
可以和另外一端不一致,也可以一致(因為在連接建立時間優先級被忽略)。優先域可能被
中間節點改變。在每一種情況下,接收段的優先級將被忽略。這樣,TCP連接也就不要進
行重置。
問題1和2將因為這個提議得到解決。問題3和4則不是個問題因為在DiffServ-capable環
境下TCP必須忽略優先級。
5. 安全考慮
不管報頭的系列號是否正確,在收到不正確優先域而終止連接的TCP執行將造成嚴重拒絕
服務攻擊隱患,還有所有的攻擊者必須猜出端口然后發送兩個不同優先級的數據報;它們中
的任一個都肯定導致連接終止。相應地,在這個備忘錄中的TCP處理過程的改變將獲得TCP
執行彈性的重大收獲。
另一方面,RFC793中嚴格的處理規則將使TCP哄騙攻擊變得更加困難,隨著攻擊者必須猜
出受害方的TCP初始系列號而且是優先級設置。
最后,每個PHB組的安全問題在RFC2597,RFC2598中特別描述。
6.確認
感謝AISmith的仔細檢驗和注解。
6. 參考書
[RFC791]Postel,J.,"InternetProtocol",STD5,RFC791,September
1981.
[RFC793]Postel,J.,"TransmissionControlProtocol",STD7,RFC
793,September1981.
[RFC1349]Almquist,P.,"TypeofServiceintheInternetProtocol
Suite",RFC1349,July1992.
[RFC2460]Deering,S.andR.Hinden,"InternetProtocol,Version6
(IPv6)Specification",RFC2460,December1998.
[RFC2474]Nichols,K.,Blake,S.,Baker,F.andD.Black,"Definition
oftheDifferentiatedServicesField(DSField)intheIPv4
andIPv6Headers",RFC2474,December1998.
[RFC2475]Blake,S.,Black,D.,Carlson,M.,Davies,E.,Wang,Z.and
W.Weiss,"AnArchitectureforDifferentiatedServices",
RFC2475,December1998.
[RFC2597]Heinanen,J.,Baker,F.,Weiss,W.andJ.Wroclawski,
"AssuredForwardingPHBGroup",RFC2587,June1999.
[RFC2598]Jacobson,V.,Nichols,K.andK.Poduri,"AnExpedited
ForwardingPHB",RFC2598,June1999.
8.Authors'Addresses
XipengXiao
GlobalCrossing
141CaspianCourt
Sunnyvale,CA94089
USA
Phone:+1408-543-4801
EMail:xipeng@gblx.net
AlanHannan
iVMG,Inc.
112FalkirkCourt
Sunnyvale,CA94087
USA
Phone:+1408-749-7084
EMail:alan@ivmg.net
EdwardCrabbe
ExodusCommunications
2650SanTomasExpressway
SantaClara,CA95051
USA
Phone:+1408-346-1544
EMail:edc@explosive.net
VernPaxson
ACIRI/ICSI
1947CenterStreet
Suite600
Berkeley,CA94704-1198
USA
Phone:+1510-666-2882
EMail:vern@aciri.org
9.版權
Copyright(C)TheInternetSociety(2000).AllRightsReserved.Thisdocumentand
translationsofitmaybecopiedandfurnishedtoothers,andderivativeworksthatcommentonor
otherwiseexplainitorassistinitsimplementationmaybeprepared,copied,publishedand
distributed,inwholeorinpart,withoutrestrictionofanykind,providedthattheabovecopyright
noticeandthisparagraphareincludedonallsuchcopiesandderivativeworks.However,this
documentitselfmaynotbemodifiedinanyway,suchasbyremovingthecopyrightnoticeor
referencestotheInternetSocietyorotherInternetorganizations,exceptasneededforthepurpose
ofdevelopingInternetstandardsinwhichcasetheproceduresforcopyrightsdefinedinthe
InternetStandardsprocessmustbefollowed,orasrequiredtotranslateitintolanguagesother
thanEnglish.Thelimitedpermissionsgrantedaboveareperpetualandwillnotberevokedbythe
InternetSocietyoritssuclearcase/" target="_blank" >ccessorsorassigns.
Thisdocumentandtheinformationcontainedhereinisprovidedonan
"ASIS"basisandTHEINTERNETSOCIETYANDTHEINTERNETENGINEERING
TASKFORCEDISCLAIMSALLWARRANTIES,EXPRESSORIMPLIED,INCLUDING
BUTNOTLIMITEDTOANYWARRANTYTHATTHEUSEOFTHEINFORMATION
HEREINWILLNOTINFRINGEANYRIGHTSORANYIMPLIEDWARRANTIESOF
MERCHANTABILITYORFITNESSFORAPARTICULARPURPOSE.
確認
FundingfortheRFCEditorfunctioniscurrentlyprovidedbythe
InternetSociety.