日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > 服務(wù)器 > Ping程序與Traceroute程序的原理(五)

Ping程序與Traceroute程序的原理(五)

來源:程序員人生   發(fā)布時間:2014-12-10 09:01:39 閱讀次數(shù):3200次

(參考文獻)TCP/IP詳解,卷1:協(xié)議

“ping”這個名字來源于聲吶定位操作。目的是為了測試另外1臺主機是不是可以到達。該程序發(fā)送1份ICMP回顯要求報文給主機,并等待返回ICMP回顯應(yīng)對。

1般來講,如果不能ping到某臺主機那末就不能Telnet或FTP到那臺主機。反過來,如果不能Telnet到某臺主機,那末通常可以用ping程序來肯定問題出在哪里。Ping程序還能測出到這臺主機的來回時間,以表明該主機離我們有“多遠”。

Ping程序

我們稱發(fā)送回顯要求的ping為客戶,而被ping的主機稱為服務(wù)器。大多數(shù)的TCP/IP實現(xiàn)都在內(nèi)核中直接支持ping服務(wù)器

Ping程序發(fā)送的ICMP回顯要求和回顯應(yīng)對報文以下圖:


Unix在實現(xiàn)Ping程序時,是把ICMP中的標識字段設(shè)置成發(fā)送進程的ID號。這樣即便在同1臺主機上同時運行了多個ping程序,ping程序也能夠辨認出對應(yīng)的來回信息。

序列號從0開始,每發(fā)送1次新的回顯要求就加1。Ping程序打印出返回的每一個分組的序列號,允許我們查看是不是有分組丟失、失序或重復(fù)。IP是1種盡力而為的數(shù)據(jù)報傳輸服務(wù),因此這3個條件都有可能產(chǎn)生。

在局域網(wǎng)運行ping程序1般輸出以下格式:

64 bytes from 192.168.8.1: icmp_req=1 ttl=64 time=1.04 ms
64 bytes from 192.168.8.1: icmp_req=2 ttl=64 time=1.05 ms
64 bytes from 192.168.8.1: icmp_req=3 ttl=64 time=1.06 ms
64 bytes from 192.168.8.1: icmp_req=4 ttl=64 time=1.41 ms
64 bytes from 192.168.8.1: icmp_req=5 ttl=64 time=1.41 ms
64 bytes from 192.168.8.1: icmp_req=6 ttl=64 time=1.20 ms
64 bytes from 192.168.8.1: icmp_req=7 ttl=64 time=1.42 ms
64 bytes from 192.168.8.1: icmp_req=8 ttl=64 time=0.649 ms

當返回ICMP回顯應(yīng)對時,要打印出序列號和TTl,并計算來回時間。Ping程序通過在ICMP報文中寄存發(fā)送要求的時間值來計算來回時間。當應(yīng)對返回時,用當前時間減去寄存在ICMP報文中的時間值,及是來回時間。

IP記錄路由選項


Ping程序為我們提供了查看IP記錄路由(RR)選項的機會。大多數(shù)不同版本的Ping程序都提供-R選項,以提供記錄路由的功能。它使得Ping程序在發(fā)送出去的IP數(shù)據(jù)報中設(shè)置IP RR選項(該IP數(shù)據(jù)報包括ICMP回顯要求報文)。這樣,每一個處理該數(shù)據(jù)報的路由都把他的IP地址放入選項字段中。當數(shù)據(jù)報到達目的端時,,IP地址清單應(yīng)當復(fù)制到ICMP回顯應(yīng)對中。這樣返回途中所經(jīng)過的路由器地址也被加入到清單中,當Ping程序收到回顯應(yīng)對時,他就打印出這份IP地址清單。

這個進程聽起來很簡單,但存在1些缺點。源端主機生成RR選項,中間路由器對RR選項的處理,和把ICMP回顯要求中的RR清單復(fù)制到ICMP應(yīng)對中,所有這些都是選項功能。榮幸的是,現(xiàn)在大多數(shù)路由器都支持這些選項功能,只有1些系統(tǒng)不把ICMP要求中的IP清單復(fù)制到ICMP應(yīng)對中。

但是,最大的問題是IP首部中只有有限的空間來寄存IP地址。在以上圖中,我們可以看到,IP首部長度字段只有4bit,因此全部IP首部最長只能包括15個32bit長的字(及60個字節(jié))。由于ip首部固定長度為20字節(jié),RR宣明星用去3個字節(jié),這樣只剩下37個字節(jié)來寄存IP地址清單(60⑵0⑶),也就是說只能寄存9個IP地址。

IP數(shù)據(jù)報中的RR選項格式以下:


Traceroute原理
Code是1個字節(jié),指明IP選項的類型。對應(yīng)RR選項來講,他的值為7.len是RR選項總字節(jié)長度,在這類情況下為39.(雖然可以為RR選項在、設(shè)置比最大長度小的長度,但是Ping程序總是提供39字節(jié)的選項字段,最多可以記錄9個IP地址,由于IP首部留給選項的空間有限,他1般情況下都設(shè)置成最大長度)

    Ptr稱作指針字段。他是1個基于1的指針,他指向寄存下1個IP地址的位置,他的最小值為4,指向寄存第1個IP地址的位置,隨著每一個IP地址存入清單,prt的值分別為8、12最大到36.當記錄下9個IP地址以后,ptr的值為40,表示清單已滿。

 

Traceroute程序

Traceroute程序可讓我們看到IP數(shù)據(jù)報從以太主機傳到另外1臺主機所經(jīng)過的路由。

Traceroute程序的操作

既然有IP記錄路由選項(RR),為何不使用這個路由選項,而要另外開發(fā)1個新的利用程序呢?主要有3個方面的緣由,首先,之前其實不是所有的路由器都支持記錄路由選項,因此該選項在某些路徑上不能使用。

其次,記錄路由1般是單項的選項。發(fā)送端設(shè)置了該選項,那末接收端不能不從收到的IP首部中提取出所有的信息,然后全部返回給發(fā)送端。大多數(shù)Ping服務(wù)器的實現(xiàn)把接收到的RR清單返回但是這樣使得記錄下來的IP地址翻了1番。

最后1個緣由也是最主要的緣由,IP首部中留給選項的空間有限,不能寄存當前大多數(shù)的路徑。

Traceroute程序原理

Traceroute程序使用ICMP報文和和IP首部中的TTL字段(生存周期)。

每一個處理數(shù)據(jù)報的路由器都要把TTL的值減去1或減去數(shù)據(jù)報在路由器中停留的秒數(shù)。由于大多數(shù)的路由器轉(zhuǎn)發(fā)數(shù)據(jù)報的延時都小于1秒鐘,因此TTL終究成為1個跳站的計數(shù)器,所經(jīng)過的每一個路由器都將其值減1.

TTL字段的目的是避免數(shù)據(jù)報在選路時無停止的在網(wǎng)絡(luò)中活動。例如,當路由器癱瘓或兩個路由器之間的連接丟失時,選路協(xié)議有時回去檢查丟失的路由器并1直進行下去。TTL字段就是在這些尋暖傳遞的數(shù)據(jù)報上加上1個生存上限。

當路由器收到1份IP數(shù)據(jù)報,如果TTL字段是0或1,則路由器不轉(zhuǎn)發(fā)該數(shù)據(jù)報(接收到這類數(shù)據(jù)報的目的主機可以將它交給利用程序,這是由于不需要轉(zhuǎn)發(fā)該數(shù)據(jù)報。但是,在通常情況下系統(tǒng)不應(yīng)當接收TTL字段為0的數(shù)據(jù)報)。通常情況下是,路由器將該數(shù)據(jù)報拋棄,并給信源主機發(fā)送1份ICMP超時信息。Tracerouter程序的關(guān)鍵在于,這份ICMP超時信息包括了該路由器的地址。

那末,Tracerouter就通過發(fā)送1份TTL字段為1的IP數(shù)據(jù)報給目的主機。處理這份數(shù)據(jù)報的第1個路由器將TTL值減去1,拋棄該數(shù)據(jù)報,并回發(fā)1份超時ICMP報文。這樣就得到了該路徑中的第1個路由器的IP地址。然后Tracerouter發(fā)送1份TTL為2的數(shù)據(jù)報,這樣就得到了第2個路由器的IP地址。那末,繼續(xù)這個進程,直到到達目的主機。即便目的主機接收到1份TTL值為1的數(shù)據(jù)報也不會拋棄該數(shù)據(jù)報并產(chǎn)生1份ICMP報文,由于已到達終究目的地。這個時候,Tracerouter程序發(fā)送1份UDP數(shù)據(jù)報給目的主機,但選擇1個不可能的值作為目的端口號(大于30000),使得目的主機的任何1個程序都不可能使用該端口。由于,當該數(shù)據(jù)報到達時,將使目的主機的UDP模塊產(chǎn)生1份“端口不可達”毛病的ICMP報文,這樣Tracerouter程序要做的就是辨別搜到的ICMP報文是是超時還是端口不可達,以判斷甚么時候結(jié)束。


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产精品99久久 | 欧美成人免费视频 | 一区二区三区不卡视频在线观看 | 成人在线日本 | 一区二区视频在线 | 色片网站在线观看 | 国产日韩三级 | 久日av| 欧洲精品一区 | 欧美在线一区二区三区四区 | 久久久久久穴 | 岛国av大片 | 日本在线一区二区 | av中文字幕第一页 | 天天操天天射天天操 | 亚洲美女av网站 | 亚洲免费在线观看视频 | 久久精品国产一区二区 | 欧美日韩在线综合 | 久久免费99精品久久久久久 | 一区二区三区国产视频 | 香蕉一区二区 | www国产亚洲精品久久网站 | 五月天久久久久久九一站片 | 国产伦精品一区二区三区视频金莲 | 福利片在线 | 嫩呦国产一区二区三区av | 久草成人网 | 中文字幕国产精品 | 久艹av| 麻豆视频在线观看免费网站黄 | 一二三区在线 | 国产a一区二区 | 人人澡人人澡人人澡 | 亚洲福利一区二区 | 亚洲成人网在线 | 一级毛片成人免费看a | 日韩欧美一 | 国产成人精品一区二区三区在线 | 久久久久麻豆v国产 | v天堂在线 |