引言:本篇將介紹無分類編址cidr的概念、最長字首匹配、使用二叉線索查詢路由表。讀完本篇筆記,讀者可以了解無分類編址方式提高網路利用率的原理?它的實現方式是什麼?
一、cidr(classless inter-domain routing)無分類域間路由選擇
劃分子網在一定程度上緩解了網際網路發展中遇到的困難,但其僅僅是對分類編址方式的改進,a、b、c類ip位址編址方式網路號為8的倍數,其劃分不夠精細,存在很大程度的浪費,基於此,無分類編址方式cidr應運而生。
1.1、分類編址的問題:
劃分子網在一定程度上緩解了網際網路在發展中遇到的困難。然而在2023年網際網路仍然面臨三個必須盡早解決的問題:
ietf研究採用無分類編址的方法來解決前兩個問題,其認為第三個問題屬於更加長遠的問題,因此專門成立ipv6工作組負責研究新版本ip協議的問題。
1.2、cidr最主要的兩個特點:
為了更方便地進行路由選擇,cidr使用32位的位址掩碼(address mask)。位址掩碼由一串1和一串0組成,而1的個數就是網路字首的長度。雖然cidr不使用子網了,但由於目前一些網路還使用子網劃分和子網掩碼,因此cidr使用的位址掩碼也可繼續稱為子網掩碼。
例如,/20位址塊的位址掩碼是:11111111 11111111 11110000 00000000(20個連續的1)。斜線記法中,斜線後面的數字就是位址掩碼中1的個數。1.4、cidr不劃分子網的理解:另外,「cidr不使用子網」,是指cidr中並沒有在32位位址中指明若干位作為子網字段。但分配到乙個cidr位址塊的單位,仍然可以在本單位內根據需要劃分出一些子網。這些子網也都只有乙個網路字首和乙個主機位址號,但子網的網路字首比整個單位的網路字首要長一些。
例如,某單位分配到位址塊/20,就可以繼續劃分為8個子網(即需要從主機號中借用3位來劃分子網)。這時,每乙個子網的網路字首就變成23位(原來的20位加上主機號借來的3位),比該單位的網路字首多了3位。1.5、路由聚合的概念:由於乙個cidr位址塊有很多位址,所以在路由表中就利用cidr位址塊來查詢目的網路。這種位址的聚合常稱為路由聚合(route aggregation),它使得路由表中的乙個專案可以表示原來傳統分類網路位址的很多個路由。路由聚合也稱為構成超網(supernettig)。
如果沒有採用cidr,則在2023年和2023年,網際網路乙個路由器就回超過7萬個專案,而使用了cidr以後,在2023年乙個路由表的專案數菜只有3萬多個。路由聚合有利於減少路由器之間的路由選擇資訊交換,提高整個網路效能。二、最長字首匹配
2.1、最長字首匹配的概念
在使用cidr時,由於採用了網路字首這種記法,ip位址由網路字首和主機號這兩個部分組成,因此在路由表中的專案也要做相應的改變。這時,每個專案由「網路字首」和下一跳位址組成。但是在查詢路由表時可能得到不止乙個匹配結果。這樣就帶來乙個問題:我們應當從這些匹配的結果中選擇哪一條路由呢?
正確的答案是:應當從匹配結果中選擇具有最長網路字首的路由。這叫作最長字首匹配(longest-prefix matching),這時因為網路字首越長,其位址塊就越小(因為主機位數越少),因而路由就越具體。最長字首匹配又稱為最佳匹配或最長匹配。
2.2、示例
為了說明最長匹配的概念,我們仍然以圖1為例子。假定大學下屬的四系希望isp把**給四系的資料報直接發到4系,而不要經過大學的路由器,但又不願意改變自己使用的ip位址塊。因此,在isp的路由表中,至少要有以下兩個專案,即206.0.68.0/22(大學)和206.0.71.128/25(四系)。
現在假定isp收到乙個資料報,其目的ip位址為d =206.0.71.130。把d分別和路由表中這兩個專案相「與」(and操作)。將所得的逐位and操作的結果寫在下面:
d和11111111 11111111 11111100 00000000 逐位相與 = 206.0.68.0/22
d和11111111 11111111 11111111 10000000逐位相與 = 206.0.71.128/25
不難看出,現在同乙個ip位址d可以在路由表中找到兩個目的網路(大學和四系)和該位址相匹配。根據最長字首匹配的原理,應當選擇後者,把收到的資料報**到後乙個目的網路(四系),即選擇兩個匹配的位址中更加具體的乙個。
2.3、依據位址位置劃分位址塊
如果ip位址的分配從一開始就採用cidr,那麼我們可以按網路所在的地理位置來分配位址塊,這樣就可以大大減少路由表中的專案數。
例如,可以將世界劃分為四大地區,每乙個地區分配乙個cidr位址塊:上面乙個位址塊包含約3200萬個位址(232 - 7 )。這種分配方法使得ip位址與地理位置關聯,它的好處是可以大大壓縮路由表中的專案數。例如從中國發往北美的資料報(不管它是位址塊198/7中的哪乙個位址)都先送到美國的乙個路由器,因此在路由表中使用乙個專案就行了。位址塊194/7(194.0.0.0至195.255.255.255)分配給歐洲
位址塊198/7(198.0.0.0至199.255.255.255)分配給北美洲
位址塊200/7(200.0.0.0至201.255.255.255)分配給中美洲和南美洲
位址塊202/7(202.0.0.0至203.255.255.255)分配給亞洲和太平洋地區
但是,在使用cidr之前,網際網路的位址管理機構並沒有按照地理位置來分配ip,現在要把已分配的ip位址**再重新分配是十分困難的事情,因為這牽涉很多正在工作的主機必須改變其ip位址。所以基於位址位置劃分位址塊僅僅停留在想法。
三、使用二叉搜尋樹查詢路由表
當路由表的專案數很大時,怎樣設法減小路由表的查詢時間就成為乙個非常重要的問題。 為了進行更加有效的查詢,通常是將無分類編址的路由表存放在一種層次的資料結構中,然後自上而下地按層次進行查詢。這裡最常用的就是二叉線索(binary trie)。
ip 位址中從左到右的位元值決定了從根結點逐層向下層延伸的路徑,而二叉線索中的各個路徑就代表路由表中存放的各個位址。
網路層 無分類編址CIDR
儘管劃分子網在一定程度上解決了ip位址不足的問題,但是在1992年的時候,b類ip位址已經快要分配完了.於是有人研究出無分類編址方法,它的正式名是無分類域間路由選擇cidr.它最最主要的一點是消除了a,b,c類位址和劃分子網的概念.它重新將ip位址劃分為兩個部分即,網路字首 和 主機號 注意這裡的網...
網路層 無分類編址 CIDR
劃分子網在一定程度上緩解了網際網路在發展中遇到的困難。然而在1992年網際網路仍然面臨三個必須盡早解決的問題,這就是 因此iete很快就研究出採用無分類編址的方法。1 cidr消除了傳統的a類 b類和c類位址以及劃分子網的概念。cidr把32位的ip位址劃分為前後倆個部分。前面部分是 網路字首 用來...
無分類編址CIDR
使用變長子網掩碼vlsm可進一步提高ip位址資源的利用率。在vlsm的基礎行又進一步研究出無分類編址的方法,它的正式名字是無分類域間路由選擇cidr。cidr最主要的特點有兩個 1.消除了傳統的a類 b類和c類位址以及劃分子網的概念,因而能更加有效地分配ipv4的位址空間,並且在新的ipv6使用之前...