TCPIP詳解-卷一-協(xié)議-73IP記錄路由選項_免費下載_第1頁
TCPIP詳解-卷一-協(xié)議-73IP記錄路由選項_免費下載_第2頁
TCPIP詳解-卷一-協(xié)議-73IP記錄路由選項_免費下載_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、7.3ip記錄路由選項ping程序為我們提供了查看ip記錄路山(rr)選項的機會。大多數(shù)不同版本的ping程序都提供r選 項,以提供記錄路由的功能。它使得ping程序在發(fā)送出去的ip數(shù)據(jù)報屮設(shè)置iprr選項(該ip數(shù)據(jù)報 包含icmp冋顯請求報文)。這樣,每個處理該數(shù)據(jù)報的路由器都把它的ip地址放入選項字段中。當(dāng)數(shù)據(jù)報到達(dá)目的端時,ip地址淸單應(yīng)該復(fù)制到icmp回顯應(yīng)答中,這樣返回途中 所經(jīng)過的路由器地址也被加入清單屮。當(dāng)ping程序收到回顯應(yīng)答時,它就打印出這份ip地址清單。這個過程聽起來簡單,但存在一些缺陷。源端主機生成rr選項,中間路山器對rr選項的處理,以及把icmp 回顯請求中的rr

2、清單復(fù)制到icmp回顯應(yīng)答屮,所有這些都是選項功能。幸運的是,現(xiàn)在的人多數(shù)系統(tǒng)都 支持這些選項功能,只是有一些系統(tǒng)不把icmp請求中的ip清單復(fù)制到icmp應(yīng)答中。但是,最大的問題是1p首部中只有有限的空間來存放1p地址。我們從圖31可以看到,ip首部中的旨部長 度字段只有4bii,因此整個ip首部最長只能包折15個32bit長的字(即6()個字節(jié))。由于ip首部固定長度 為20字節(jié),rr選項用去3個字節(jié)(下而我們再討論),這樣只剩下37個字節(jié)(60203)來存放ip地址清 單,也就是說只能存放9個ip地址。對于早期的arpanet來說,9個ip地址似乎是很多了,但是現(xiàn)在看來是非常有限的(在第

3、8章屮,我們將川traceroute 工具來確定數(shù)據(jù)報的路市)。除了這些缺點,記錄路由選項工作得很好,為詳細(xì)查看如何處理ip選項提供了 一個機會。ip數(shù)據(jù)報屮的rr選項的一般格式如圖7-3所示。codetenptripaddr#!ipaddr #2ipaddr#3 ipaddr»9111 f iw il烷ptr 4 ptr = 8 ptr = 12ptr= 36 ptr = 40圖7引p首部中的記錄路由選項的一般格式code是一個字節(jié),指明ip選項的類型。對于rr選項來說,它的值為7o len是rr選項總字節(jié)長度,在這種 情況卞為39 (盡管可以為rr選項設(shè)置比最人長度小的長度,但是

4、ping程序總是提供39字節(jié)的選項字段, 最多可以記錄9個ip地址。山于ip首部中留給選項的空間有限,它一般情況都設(shè)置成最大長度)。pti稱作指針字段。它是一個基于1的指針,指向存放下一個ip地址的位置。它的最小值為4,指向存放第 一個ip地址的位置。隨著每個ip地址存入清單,ph的值分別為8, 12, 16,最大到36。當(dāng)記錄下9個ip 地址后,pti的值為40,表示清單已滿。當(dāng)路由器(根據(jù)定義應(yīng)該是多穴的)在清單中記錄ip地址時,它應(yīng)該記錄哪個地址呢?是入口地址還是出口 地址?為此,rfc791 postel 198la指定路由器記錄出口 ip地址。我們在后面將看到,當(dāng)原始主機(運行pin

5、g 程序的主機)收到帶有rr選項的icmp冋顯應(yīng)答吋,它也要把它的入口 ip地址放入清單中。7.3.1通常的例子我們舉一個用rr選項運行ping程序的例子,在主機svr4上運行ping程序到主機slip。 一個中間路山器(bsdi)將處理這個數(shù)據(jù)報。下而是svr4的輸出結(jié)果:svr4 % ping -r slipping slip (140.252.13.65): 56 data bytes64bytes from140.252.13.65:icmp.seq-0ttl-254time«280msrr:bsdi(140.252.13.66)slip(140.252.13.65)bsdi

6、(140.252.13.35)8vr4(140.252.13.34)64bytes from140.252.13.65:icmp.seq-1ttl-254time«280ms(sameroute)64 obytes from140.252.13.65:icmp8eq-2ttl-254tine270(sameroute)7 slip pingstatistics 3 packets transmitted, 3 packets received 0% packet loss round-trip min/avg/max 270/276/280 ms分組所經(jīng)過的以站如圖7-4所示(每個方

7、向各有兩站),每一站都把自己的ip地址加入rr淸單。4th-140252.13342nd = 140252.13.653rd = 14025z1335圖74帶冇記錄路山選項的ping 序路由器bsdi在不同方向上分別加入了不同的ip地址。它始終是把出口的ip地址加入清單。我們還可以看到,當(dāng)icmp回顯應(yīng)答到達(dá)原始系統(tǒng)(svr4)時,它把自己的入口 ip地址也加入淸單中。還可以通過運彳亍帶有v選項的tcpdump命令來查看主機sun上進行的分組交換(參見ip選項)。輸出如圖 7-5所示。1 0.0svr4 > slip: icinp: echo request (ttl 32. id 35

8、835,optlen-40 rr39 rr#0.0.0.0/0.0.0.0/0.0.0.0/0.0.0.0/ 0.0.0.0/0.0.0.0/0.0.0.0/0.0.0.0/0.0.0.0 eol)2 0.267746 (0.2677) slip > svr4: icinp: echo reply (ttl 254, id 1976.option-40 rr39 rr1402521366/140.2521365/ 140.252.13.35/10.0.0.0/0.0.0.0/0.0.0.0/0.0>0.0/ 0.0.0.0/0.0.0.0 eol)圖7-5記錄路由選項的tcpdum

9、p輸出輸出中optlen=40農(nóng)示在ip首部中有40個字節(jié)的選項空間(ip首部長度必須為4字節(jié)的整數(shù)倍)°rr39 的意思是記錄路市選項已被設(shè)置,它的長度字段是39。然后是9個ip地址,符號“#用來標(biāo)記rr選項中的 ph字段所指向的ip地址。由于我們是在主機sun上觀察這些分組(參見圖7-4),因此所能看到icmp回顯請求中的ip地址清單是空的,而icmp回顯應(yīng)答中有3個ip地址。 我們省略了 tcpdump輸出中的其他彳亍,因為它們與圖75基本一致。位于路m言息末尾的標(biāo)記eol表示ip選項"endoflist (淸單結(jié)束)的值。eol選項的值可以為0。這時表示 39個字節(jié)

10、的rr數(shù)據(jù)位于ip首部中的40字節(jié)空間中。由于在數(shù)據(jù)報發(fā)送之前空間選項被設(shè)置為0,因此跟 在39個字節(jié)的rr數(shù)據(jù)之后的0字符就被解釋為eolo這正是我們所希望的結(jié)果。如果在ip首部中的選項 字段屮有多個選項,在開始下一個選項之前必須填入空白字符,另外還可以川另一個值為1的特殊字符nop("nooperation")。在圖7-5中,svr4把回顯請求中的ttl字段設(shè)為32, bsd/386設(shè)為255 (它打卬出的值為254是因為路由器bsdi已經(jīng)將其減去1)。新的系統(tǒng)都把icmp報文屮的ttl設(shè)為最人值(255)。在作者使用的三個tcp/ip系統(tǒng)中,bsd/386和svr4都

11、支持記錄路由選項。這就是說,當(dāng)轉(zhuǎn)發(fā)數(shù)據(jù) 報時,它們都能正確地更新rr清單,而且能正確地把接收到的icmp回顯請求中的rr清單復(fù)制 到出口 icmp冋顯應(yīng)答中。雖然sunos4.1.3在轉(zhuǎn)發(fā)一個數(shù)據(jù)報時能正確更新rr清也,但是不能復(fù) 制rr淸單。solaris2.x對這個問題已作了修改。732異常的輸出下血的例子是作者觀察到的,把它作為第9章討論icmp間接報文的起點。在子網(wǎng)140.252.1上ping主機aix (在主機sun上通過撥號slip連接可以訪問),并帶有記錄路由選項。在slip主機上運行有如下輸出結(jié)果:slip % ping -r axxping aix (140.252el.92

12、): 56 data bytes64 bytes from 140.252.1.92: icmp_seq-0 ttl-251 time-650 msrr:bsdi (140.252.13.35)sun (140.252.1.29)netb (140.252.1.183)aix (140.252.1.92)teway (140.252.1.4)咖茲曲弦netb (140.252.1.183)sun (140.252.13-33)bsdi (140.252.13.66)slip (140.252.13.65)64 bytes from aix: icmp_seq-l 1=251 time«

13、;610 ms (same route)64 bytes from aix: ianp_seq»2 ttl-251 time-600 ms (same route) aix ping statistics 4 packets transmitted, 3 packets received, 25% packet loss round-trip min/avg/max 600/620/650 ms我們已經(jīng)在主機bsdi上運行過這個例子?,F(xiàn)在選擇slip來運行它,觀察rr清單中所有的9個ip地址。 在輸出中令人感到疑惑的是,為什么傳出的數(shù)據(jù)報(1cmp冋顯請求)冇接從netb傳到aix,

14、而返冋的數(shù) 據(jù)報(icmp回顯應(yīng)答)卻從aix開始經(jīng)路由器gateway再到netb?這里看到的正是下面將要描述的ip 選路的一個特點。數(shù)據(jù)報經(jīng)過的路11如圖7-6所示。問題是aix不知道要把h的地為子網(wǎng)140.252.13的ip數(shù)據(jù)報發(fā)到主機netb±0相反,mix在它的路由表 中有一個默認(rèn)項,它指明當(dāng)沒有明確某個目的主機的路山時,就把所有的數(shù)據(jù)報發(fā)往默認(rèn)項指定的路山器 gateway路由器gateway比子網(wǎng)140.252.1 ±的任何主機都具備更強的選路能力(在這個以太網(wǎng)上有超過 150臺主機,每臺主機的路由表屮都有一個默認(rèn)項指向路由器gateway,這樣就不川在每臺主機上都運行一 個選路守護程序)。這里沒有應(yīng)答的一個問題是為什么gateway不直接發(fā)送icmp報文重定向到aix (9.5節(jié)),以更新它的路由 表?市于某種原因(很可能是市于數(shù)據(jù)報產(chǎn)牛的重定向是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論