假如分段剩余值非零, 節(jié)點(diǎn)必須拋棄這個(gè)包, 并且給包的源地址發(fā)送一個(gè) ICMP
"參數(shù)存在問題", 編碼 0 的報(bào)文, 指針指向無法識別的路由類型.
假如中間節(jié)點(diǎn)在處理路由首部之后, 確定應(yīng)將包傳送到一個(gè)鏈路 MTU 小于此包的
尺寸的鏈路中去, 那么中間節(jié)點(diǎn)必須拋棄此包, 并且給包的源地址發(fā)送一個(gè) ICMP
"包太大"的報(bào)文.
類型 0 的路由首部具有如下格式:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
下一個(gè)首部 首部擴(kuò)展長度路由類型 = 0;;分段剩余;;;;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
保;;;;留
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;;;;
地;;址 [1];;
;;;;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;;;;
地;;址 [2];;
;;;;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
.;;;;.;;;;.
.;;;;.;;;;.
.;;;;.;;;;.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;;;;
地;;址 [n];;
;;;;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
下一個(gè)首部8 比特選擇器.;;標(biāo)識緊跟在路由首部后面的首部的類型.
使用與 IPv4 協(xié)議字段 [RFC-1700 及后續(xù)協(xié)議] 相同的數(shù)
值.
首部擴(kuò)展長度 8 比特?zé)o符號整數(shù).;;以 8 個(gè)八位組為單位的路由首部的
長度, 不包括開始的 8 個(gè)八位組.;;對于類型 0 的路由首
部, 首部擴(kuò)展長度等于首部中地址數(shù)量的兩倍.
路由類型;;0.
分段剩余;;8 比特?zé)o符號整數(shù).;;剩余的路由分段的數(shù)量.;;也就是在
到達(dá)最終的目的節(jié)點(diǎn)之前仍然應(yīng)當(dāng)訪問的, 明確列出的中
間節(jié)點(diǎn)的數(shù)量.
保留 32 比特保留字段.;;傳輸時(shí)初始化為零; 接收時(shí)忽略.
地址[1..n]128 比特地址向量, 從 1 到 n 編號.
不答應(yīng)組播地址出現(xiàn)在類型 0 的路由首部中, 也不答應(yīng)出現(xiàn)在攜帶類型 0 路由首
部的包中的 IPv6 目的地址字段中.
直到包到達(dá) IPv6 首部中的目的地址字段所標(biāo)識的那個(gè)節(jié)點(diǎn)才對路由首部進(jìn)行檢測
和處理.;;在這個(gè)節(jié)點(diǎn)調(diào)用路由首部處理模塊, 并且對于路由類型 0, 執(zhí)行下面的
算法:
if 分段剩余 = 0 {
繼續(xù)處理包中的下一個(gè)首部, 其類型由路由首部中"下一個(gè)首部"字段所標(biāo)識
}
else if 首部擴(kuò)展長度為奇數(shù) {
給源地址發(fā) 鴕桓?ICMP "參數(shù)存在問題", 編碼 0 的報(bào)文, 指針指向首部
擴(kuò)展長度字段, 并且拋棄此包
}
else {
計(jì)算出n, 也就是路由首部中的地址數(shù)量.;;方法是首部擴(kuò)展長度除以 2
if 分段剩余比 n 大 {
給源地址發(fā)送一個(gè) ICMP "參數(shù)存在問題", 編碼 0 的報(bào)文, 指針指向分段
剩余字段, 并且拋棄此包
}
else {
分段剩余減一;
計(jì)算 i, 也就是地址向量(地址列表)中要"訪問"的下一個(gè)地址, 方法是 n 減
分段剩余
if 地址[i] 或者 IPv6 目的地址是組播地址 {
拋棄此包
}
else {
交換 IPv6 目的地址和地址[i]
if IPv6 跳數(shù)限制小于等于 1 {
給源地址發(fā)送一個(gè) ICMP "超時(shí) – 傳輸超過跳數(shù)限制" 的報(bào)文, 并且
拋棄此包
}
else {
跳數(shù)限制減一;
向 IPv6 模塊重新提交此包, 傳給新的目的節(jié)點(diǎn)
}
}
}
}
作為上述算法的一個(gè)例子, 考慮這樣一種情況: 源節(jié)點(diǎn) S 給目的節(jié)點(diǎn) D 發(fā)送一個(gè)
包, 用路由首部來使這個(gè)包經(jīng)過中間節(jié)點(diǎn) I1, I2 和 I3.;;在傳送路徑的每段中,
推薦閱讀
- IPv6/IPv4協(xié)議轉(zhuǎn)換的試驗(yàn)
- 一種新IPv6任播地址解析協(xié)議及應(yīng)用
- 改進(jìn)的移動IPv6協(xié)議分析
- 畢業(yè)三方協(xié)議必須簽嗎
- ADSL網(wǎng)絡(luò)協(xié)議PPPOE
- 二 第三章廣域網(wǎng)協(xié)議配置命令
- 在WIN XP和WIN 2K中安裝IPv6協(xié)議
- 一 第三章廣域網(wǎng)協(xié)議配置命令
- 四 第三章廣域網(wǎng)協(xié)議配置命令
- 一 第四章網(wǎng)絡(luò)協(xié)議配置命令
