摘要
本文主要描述一個IPv6 Hop-by-Hop選項類型,它提醒操作路由器(tansit router)對資料報內容進行更仔細地檢查。
1.介紹
新協議,如RSVP使用控制資料報,這些資料報在向特定地址傳輸時包括了需要由路由器檢查(有些時候需要更新)的資訊。我們希望能夠儘快地傳輸這些包,也希望能夠對這些特殊的資料報進行適當地處理。但是,現在的情況是,如果路由器需要決定是不是要檢查資料報的內容的時候對上層資料內容進行文法分析。這種分析的代價可不小,我們不希望這種情況再發生下去。
本文定義一種新的選項,如果資料報內有這種選項,路由器就對資料報的內容進行深入的檢查,並對相應的控制資料進行更新。如果資料報中沒有這一項,路由器就不用費心進行檢查了,只要路由就可以了。實現IPv6的主機應該在包括這一選項的實現。
2.實現方法
我們實現要達到的要求就是提供一種機制,在這種機制下路由器不用檢查每個資料報,而又能達到對某些資料報進行處理的目的。在下面描述的方法中,我們在IPv6包中定義了一個新的選項,告訴路由器,這個包需要檢查,這一選項可以供RSVP使用。此方法並不造成更多的處理。如果資料報中沒有此選項,路由器將不對資料報進行檢查。
2.1 文法
路由器警告選項格式如下:
第一個位元組的頭三位為0,而其它幾位中的數5代表Hop-by-Hop選項類型號。如果某個主機不能識別這個選項,不能對它進行修改,而要處理下面能夠識別的包頭內容。選項域內容不能在路由器中修改。我們注意到有一些兩個位元組後面有兩個位元組的值,此值的意義如下:
0
包括組播收聽者發現(Multicast Listener Discovery)訊息的資料報
1
包括RSVP訊息的資料報
2
包括主動網路訊息的資料報
3-65535
保留
2.2 語義
此選項使路由器對資料報的內容進行檢查,只有利用此選項進行檢查的協議才能對資料報的內容依照協議的要求進行檢查。資料報的目的主機必須忽略此選項,如果此域的值不能識別,只能忽略,而繼續處理包頭內其它域。路由器只需要對包進行一定程式的分析看看有什麼東西是它感興趣的。這個域在操作路由器的實現中地位可非同小可。注意到在路由器上的處理可能在IPv6層以外,因此資料報也必須經過UDP和RSVP處理。一旦資料報離開IP層,那就不好定義路由器是一個IP主機還是一個IP路由器了。準確地說,路由器的處理是與域值相關的,但如果需要,IP路由器也應該象IP主機一樣處理資料。
3.對其它協議的影響
我們必須要對一些要求路由器進行處理的協議進行修改,如果資料報中沒有使用警告選項,路由器就不會將資料發向這些協議。最後,再強調一下,包括RSVP訊息的必須包括此選項。
4.安全
過度地使用此選項會造成路由器效能下降,如果資料報內的資料太多,或是非法請求會使路由器崩潰。因此必須採取一些措施保護操作路由器能夠正確工作。至於措施本身這裡不作討論。