一種高效的末跳路由發(fā)現(xiàn)技術
發(fā)布時間:2021-01-26 10:37
本文提出了一種高效的目標主機末跳路由器發(fā)現(xiàn)方法,此方法相比于traceroute發(fā)包量顯著降低。通過向目標發(fā)送精心構造的UDP大端口包,能夠一次探測獲取網(wǎng)絡距離,兩次探測即可獲取末跳路由器?紤]互聯(lián)網(wǎng)存活主機中僅有20%對UDP大端口進行響應,本文又提出二分法進行網(wǎng)絡距離計算,進而獲取末跳路由器信息。與traceroute相比,能夠穩(wěn)定有效地降低發(fā)包量,不受網(wǎng)絡距離的影響。
【文章來源】:智能計算機與應用. 2020,10(01)
【文章頁數(shù)】:4 頁
【部分圖文】:
ICMP端口不可達報文結構
為了捕獲目標返回的ICMP消息和末跳路由器信息,需要2個監(jiān)聽器(Listener)分別監(jiān)聽ICMP端口不可達報文和ICMP生存時間超時報文。該方法的時序圖如圖2所示。具體設計流程可表述為:首先,UDP Sender構造UDP大端口探測包發(fā)送給目標主機,若目標主機指定端口未開放,返回ICMP端口不可達報文,此報文的數(shù)據(jù)部分填充為原始UDP報文;當本地ICMP端口不可達Listener捕獲到目標主機返回的報文后,從報文的ICMP負載部分提取UDP大端口探測包中的生存時間raw_ttl,根據(jù)raw_ttl計算網(wǎng)絡距離;向目標主機發(fā)送TTL為網(wǎng)絡距離減1的探測包,此探測包到達目標主機的末跳路由器時TTL值剛好減為零,觸發(fā)末跳路由器返回生存時間超時報文,本地ICMP生存時間超時Listener會捕獲末跳路由器返回的報文,從報文中提取末跳路由器信息。
二分法通過不斷縮小初始設置的TTL范圍直到確定真實的網(wǎng)絡距離。算法流程如圖3所示。算法設計流程可表述如下:對于給定的初始TTL范圍[1,30],每次探測包的初始TTL取范圍的中間值mid_ttl;如果收到生存時間超時報文,記錄time_exceeded_flag為mid_ttl,TTL范圍應取右半邊[mid_ttl,30];如果收到目標主機回復的報文,說明mid_ttl大于等于實際網(wǎng)絡距離,記錄echo_reply_flag=mid_ttl,范圍應該取左半邊[1,mid_ttl],以此類推,直到滿足公式(1)為止。該式可寫作如下數(shù)學形式:算法設計步驟詳見如下:
本文編號:3000962
【文章來源】:智能計算機與應用. 2020,10(01)
【文章頁數(shù)】:4 頁
【部分圖文】:
ICMP端口不可達報文結構
為了捕獲目標返回的ICMP消息和末跳路由器信息,需要2個監(jiān)聽器(Listener)分別監(jiān)聽ICMP端口不可達報文和ICMP生存時間超時報文。該方法的時序圖如圖2所示。具體設計流程可表述為:首先,UDP Sender構造UDP大端口探測包發(fā)送給目標主機,若目標主機指定端口未開放,返回ICMP端口不可達報文,此報文的數(shù)據(jù)部分填充為原始UDP報文;當本地ICMP端口不可達Listener捕獲到目標主機返回的報文后,從報文的ICMP負載部分提取UDP大端口探測包中的生存時間raw_ttl,根據(jù)raw_ttl計算網(wǎng)絡距離;向目標主機發(fā)送TTL為網(wǎng)絡距離減1的探測包,此探測包到達目標主機的末跳路由器時TTL值剛好減為零,觸發(fā)末跳路由器返回生存時間超時報文,本地ICMP生存時間超時Listener會捕獲末跳路由器返回的報文,從報文中提取末跳路由器信息。
二分法通過不斷縮小初始設置的TTL范圍直到確定真實的網(wǎng)絡距離。算法流程如圖3所示。算法設計流程可表述如下:對于給定的初始TTL范圍[1,30],每次探測包的初始TTL取范圍的中間值mid_ttl;如果收到生存時間超時報文,記錄time_exceeded_flag為mid_ttl,TTL范圍應取右半邊[mid_ttl,30];如果收到目標主機回復的報文,說明mid_ttl大于等于實際網(wǎng)絡距離,記錄echo_reply_flag=mid_ttl,范圍應該取左半邊[1,mid_ttl],以此類推,直到滿足公式(1)為止。該式可寫作如下數(shù)學形式:算法設計步驟詳見如下:
本文編號:3000962
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/3000962.html
最近更新
教材專著