發(fā)布時間:2022-06-25 文章來源:深度系統(tǒng)下載 瀏覽:
網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機(jī)整體,實(shí)現(xiàn)資源的全面共享和有機(jī)協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計(jì)算機(jī)、存儲資源、數(shù)據(jù)資源、信息資源、知識資源、專家資源、大型數(shù)據(jù)庫、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。 隨著我國路由行業(yè)的發(fā)展,同時也推動了路由技術(shù)的更新升級,這里我們主要分析了路由域和路由表信息的知識點(diǎn),前面講到過,F(xiàn)IB里的最基本單位是路由信息(struct fib_info),它保存了關(guān)于路由的下一跳信息,本地接口的IP地址等。 一個路由項(xiàng)對應(yīng)一個路由別名(struct fib_alias),路由別名由路由信息再加上tos,type,scope,state等信息組成。目的地址相同的路由項(xiàng)的路由別名共享一個路由節(jié)點(diǎn)(struct fib_node),路由節(jié)點(diǎn)的作用就是用于管理路由別名。下面再看看路由域struct fib_zone,下面是其定義: fz_order和fz_mask記錄的是該路由域包含的路由節(jié)點(diǎn)的目的地址的長度和子網(wǎng)掩碼,比如子網(wǎng)單播路由172.16.48.0的fz_order就是24,fz_mask就是255.255.255.0,所有fz_order相同的路由節(jié)點(diǎn)都存放在同一個路由域中,fz_hash就是用于存放路由節(jié)點(diǎn)的哈希表,哈希表的大小由fz_divisor記錄,fz_hashmask為哈希表掩碼,總是fz_divisor-1,fz_nent記錄該域中當(dāng)前含有的路由節(jié)點(diǎn)的數(shù)量。 fz_divisor的初始值一般總為16,當(dāng)哈希表fz_hash不夠大時(fz_nent>fz_divisor*2),需要擴(kuò)大哈希表。因?yàn)樵贗P協(xié)議中,目的地址的最大長度為32,所以,需要有33個路由域(0-32),33個路由域組織在一起,組成一個路由哈希表struct fn_hash。 tb_id是路由表信息的標(biāo)識符,id為RT_TABLE_MAIN和RT_TABLE_LOCAL的兩張路由表是內(nèi)核定義的,RT_TBALE_LOCAL稱為本地路由表,本地接口地址,廣播地址,已及NAT地址都放在這個表。該路由表信息由系統(tǒng)自動維護(hù),管理員不能直接修改。RT_TABLE_MAIN稱為主路由表,如果沒有指明路由所屬的表,所有的路由都默認(rèn)都放在這個表里。 tb_data即為路由哈希表,存放著33個路由域(大部分時間,大部分路由域都是空的)。每個路由表信息的路由哈希表都是獨(dú)立的,互不相干的。將由路由策略來決定某次路由查詢使用那個路由表信息的路由哈希表。其它是路由表信息提供的一些操作路由哈希表的方法,包括查詢一條路由,插入,刪除,刷新路由等。 全局變量fib_tables是一個路由表信息的數(shù)組,只存在于系統(tǒng)支持策略路由的情況下,共有256項(xiàng),所以,系統(tǒng)最多可以建立256張路由表。至此,路由表,路由哈希表,路由域,路由節(jié)點(diǎn),路由別名,路由信息的概念都已介紹完畢,要讓路由表信息能真正工作起來,還需要路由規(guī)則來幫助決定在具體情況下使用哪一張路由表。 網(wǎng)絡(luò)的神奇作用吸引著越來越多的用戶加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來越嚴(yán)峻的考驗(yàn)―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項(xiàng)技術(shù)都需要適時應(yīng)勢,對應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進(jìn)步的催化劑。 |