(007)TCP/IP協(xié)議-靜態(tài)IP選路

一徊哑、引言

選路是IP層最重要的功能之一殿雪。該選路規(guī)則核心一點(diǎn)是每一個(gè)主機(jī)都維護(hù)了一張路由表。IP層進(jìn)行的選路實(shí)際上是一種選路機(jī)制谤牡,它搜索路由表并決定向哪個(gè)網(wǎng)絡(luò)接口發(fā)送分組。

二姥宝、原理

在路由表中翅萤,是有一定的搜索規(guī)則來確定數(shù)據(jù)包發(fā)送網(wǎng)絡(luò)端口的:

  • 先搜索搜索匹配的主機(jī)地址;
  • 沒有找到,搜索匹配的網(wǎng)絡(luò)地址套么;
  • 再?zèng)]有找到培己,搜索默認(rèn)表項(xiàng)(默認(rèn)表項(xiàng)一般在路由表中被指定為一個(gè)網(wǎng)絡(luò)表項(xiàng),其網(wǎng)絡(luò)號(hào)為 0)胚泌。

可以使用netstat -rn列出當(dāng)前主機(jī)的路由表:

圖1. 當(dāng)前主機(jī)的路由表項(xiàng)

說明省咨,每一行表示一個(gè)路由表項(xiàng),第一行中的第一列為0.0.0.0玷室,這是一個(gè)默認(rèn)路由表表項(xiàng)零蓉。每個(gè)主機(jī)都有一個(gè)或多個(gè)默認(rèn)路由。

  • 第1列(Destination):指明目的地穷缤,搜索該列敌蜂。
  • 第2列(Gateway):該網(wǎng)絡(luò)/主機(jī)的網(wǎng)關(guān)地址。
  • 第3列(Genmask):該主機(jī)/網(wǎng)絡(luò)的子網(wǎng)掩碼津肛。
  • 第4列(Flags):標(biāo)志位章喉,有5種不同的標(biāo)志位
    • U:有該值表示當(dāng)前路由表項(xiàng)可用,沒有表示不可用身坐;
    • G:有該值表示當(dāng)前路由是到一個(gè)網(wǎng)關(guān)(路由器)秸脱,沒有表示目的地與該主機(jī)是直接相連的;
    • H:有該值表示當(dāng)前表項(xiàng)的目的地是一個(gè)主機(jī)(中間可能跳轉(zhuǎn)多次部蛇,不一定直接相連)摊唇,沒有該值表示當(dāng)前路由表項(xiàng)的目的地是一個(gè)網(wǎng)絡(luò)。
    • D:有該值表示該表項(xiàng)由路由重定向報(bào)文創(chuàng)建搪花,沒有不是遏片;
    • M:有該值表示該表項(xiàng)由路由重定向報(bào)文修改,沒有不是撮竿。
  • 第5列(MSS):Default maximum segment size for TCP connections over this route.
  • 第6列(Window):Default window size for TCP connections over this route.
  • 第7列(irtt):Initial RTT (Round Trip Time). The kernel uses this to guess about the best TCP protocol parameters without waiting on (possibly slow) answers.
  • 第8列(Ifac):該路由表項(xiàng)屬于哪個(gè)網(wǎng)絡(luò)接口(一臺(tái)主機(jī)可以有多個(gè)網(wǎng)絡(luò)接口)

三吮便、路由表的創(chuàng)建

從來沒有說過這些路由表是如何被創(chuàng)建的彻亲,這里介紹如何創(chuàng)建路由表拼弃。通常有三種方式來創(chuàng)建路由表-route(主動(dòng)添加)、ICMP重定向差錯(cuò)數(shù)據(jù)包(被動(dòng)修改)肉渴、ICMP路由發(fā)現(xiàn)請(qǐng)求/應(yīng)答數(shù)據(jù)包(主動(dòng)詢問)房蝉。

1. 路由表可以是在系統(tǒng)初始化的時(shí)候通過route命令來添加默認(rèn)路由僚匆。

圖2. route添加路由命令

這是一種手動(dòng)添加方式。

2. 通過ICMP重定向差錯(cuò)數(shù)據(jù)包

當(dāng)IP數(shù)據(jù)包應(yīng)該被發(fā)送到另一個(gè)路由器時(shí)搭幻,收到數(shù)據(jù)包的路由器就要發(fā)送ICMP重定向差錯(cuò)報(bào)文給ICMP數(shù)據(jù)包的發(fā)送端咧擂。ICMP重定向數(shù)據(jù)包只能有路由器生成,主機(jī)接收使用檀蹋。


圖3.ICMP差錯(cuò)重定向數(shù)據(jù)包產(chǎn)生過程
  • 主機(jī)想發(fā)送一份IP數(shù)據(jù)包給R2松申,但通過查找路由表只找到R1的表項(xiàng)。主機(jī)將IP數(shù)據(jù)包發(fā)送給R1
  • R1通過網(wǎng)絡(luò)端口A接收到該IP數(shù)據(jù)包;
  • R1查找自己路由表到R2的表項(xiàng)贸桶,發(fā)現(xiàn)轉(zhuǎn)發(fā)端口也是A舅逸。這時(shí)候發(fā)送一份ICMP差錯(cuò)重定向數(shù)據(jù)包給IP數(shù)據(jù)包的源(主機(jī))。
  • R1將IP數(shù)據(jù)包轉(zhuǎn)發(fā)給R2皇筛。
  • 主機(jī)收到R1發(fā)過來的ICMP差錯(cuò)重定向數(shù)據(jù)包后琉历,根據(jù)數(shù)據(jù)包修改自己的相應(yīng)的路由表項(xiàng)。這時(shí)候從主機(jī)發(fā)送IP數(shù)據(jù)包給R2就能直接發(fā)送過去了水醋。

重定向一般用來讓具有很少選路信息的主機(jī)逐漸建立更完善的路由表旗笔。主機(jī)啟動(dòng)時(shí)路由表中可以只有一個(gè)默認(rèn)表項(xiàng)。一旦默認(rèn)路由發(fā)生差錯(cuò)离例,默認(rèn)路由器將通知它進(jìn)行重定向换团,并允許主機(jī)對(duì)路由表作相應(yīng)的改動(dòng)。

ICMP差錯(cuò)重定向數(shù)據(jù)包格式如下:


圖4. ICMP差錯(cuò)重定向數(shù)據(jù)包結(jié)構(gòu)

ICMP重定向數(shù)據(jù)包的接收者必須查看三個(gè)IP地址:( 1 )導(dǎo)致重定向的IP地址(原IP數(shù)據(jù)包的目標(biāo)地址)宫蛆; ( 2 )發(fā)送重定向報(bào)文的路由器的IP地址(主機(jī)路由表該表項(xiàng)中的下一跳地址)艘包;( 3 )應(yīng)該采用的路由器IP地址(要修改的IP地址)。

3. ICMP路由發(fā)現(xiàn)請(qǐng)求/應(yīng)答數(shù)據(jù)包

主機(jī)在引導(dǎo)以后要廣播或多播傳送一份ICMP路由器請(qǐng)求報(bào)文耀盗。一臺(tái)或更多臺(tái)路由器響應(yīng)一份路由器應(yīng)答報(bào)文想虎。另外,路由器定期地廣播或多播傳送它們的路由器應(yīng)答報(bào)文叛拷,允許每個(gè)正在監(jiān)聽的主機(jī)相應(yīng)地更新它們的路由表舌厨。


圖片5. ICMP路由器請(qǐng)求數(shù)據(jù)包

圖6. ICMP路由器應(yīng)答數(shù)據(jù)包

IP地址必須是發(fā)送路由器的某個(gè)地址。優(yōu)先級(jí)是一個(gè)有符號(hào)的 32 bit整數(shù)忿薇,指出該IP地址作為默認(rèn)路由器地址的優(yōu)先等級(jí)裙椭,這是與子網(wǎng)上的其他路由器相比較而言的。值越大說明優(yōu)先級(jí)越高署浩。優(yōu)先級(jí)為 0 x 8 0 0 0 0 0 0 0說明對(duì)應(yīng)的地址不能作為默認(rèn)路由器地址使用揉燃,盡管它也包含中通告報(bào)文中。優(yōu)先級(jí)的默認(rèn)值一般為 0筋栋。

都看到這里了炊汤,要不要掃二維碼關(guān)注一下微信公眾號(hào)林灣村龍貓

微信公眾號(hào)rudy_tan_home

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弊攘,一起剝皮案震驚了整個(gè)濱河市抢腐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌襟交,老刑警劉巖迈倍,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異捣域,居然都是意外死亡啼染,警方通過查閱死者的電腦和手機(jī)醋界,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來提完,“玉大人,你說我怎么就攤上這事丘侠⊥叫溃” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵蜗字,是天一觀的道長打肝。 經(jīng)常有香客問我,道長挪捕,這世上最難降的妖魔是什么粗梭? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮级零,結(jié)果婚禮上断医,老公的妹妹穿的比我還像新娘。我一直安慰自己奏纪,他們只是感情好鉴嗤,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著序调,像睡著了一般醉锅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上发绢,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天硬耍,我揣著相機(jī)與錄音,去河邊找鬼边酒。 笑死经柴,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的甚纲。 我是一名探鬼主播口锭,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼介杆!你這毒婦竟也來了鹃操?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤春哨,失蹤者是張志新(化名)和其女友劉穎荆隘,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赴背,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡椰拒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年晶渠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片燃观。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡褒脯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出缆毁,到底是詐尸還是另有隱情番川,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布脊框,位于F島的核電站颁督,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏浇雹。R本人自食惡果不足惜沉御,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望昭灵。 院中可真熱鬧吠裆,春花似錦、人聲如沸烂完。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽窜护。三九已至效斑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間柱徙,已是汗流浹背缓屠。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留护侮,地道東北人敌完。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像羊初,于是被迫代替她去往敵國和親滨溉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1.這篇文章不是本人原創(chuàng)的长赞,只是個(gè)人為了對(duì)這部分知識(shí)做一個(gè)整理和系統(tǒng)的輸出而編輯成的晦攒,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,063評(píng)論 6 174
  • 個(gè)人認(rèn)為,Goodboy1881先生的TCP /IP 協(xié)議詳解學(xué)習(xí)博客系列博客是一部非常精彩的學(xué)習(xí)筆記得哆,這雖然只是...
    貳零壹柒_fc10閱讀 5,054評(píng)論 0 8
  • 9.1 引言 選路是IP最重要的功能之一脯颜。圖9-1是IP層處理過程的簡單流程。需要進(jìn)行選路的數(shù)據(jù)報(bào)可以由本地主機(jī)產(chǎn)...
    張芳濤閱讀 1,190評(píng)論 0 2
  • 地址解析協(xié)議ARP 物理這一級(jí)贩据,主機(jī)和路由器是用物理地址來區(qū)別的栋操。物理地址是一個(gè)本地地址闸餐,管轄范圍是本地網(wǎng)絡(luò),所以...
    顧慎為閱讀 1,080評(píng)論 0 1
  • 網(wǎng)絡(luò)層簡介 1. 概念 為解決經(jīng)由多條鏈路的交付問題矾芙,從而設(shè)計(jì)了網(wǎng)絡(luò)層舍沙。其主要負(fù)責(zé)主機(jī)到主機(jī)的交付,并且在分組經(jīng)過...
    顧慎為閱讀 3,107評(píng)論 0 0