作業講解
轉發器、網橋、路由器和網關(4-6)
作為中間設備,轉發器、網橋、路由器和網關有何區別?
(1) 物理層使用的中間設備叫做轉發器(repeater)。 ? ?
(2) 數據鏈路層使用的中間設備叫做網橋或橋接器(bridge)。 ? ?
(3) 網絡層使用的中間設備叫做路由器(router)。 ? ?
(4) 在網絡層以上使用的中間設備叫做網關(gateway)。用網關連接兩個不兼容的系統需要在高層進行協議的轉換。
在計算機網絡中,轉發器、網橋、路由器和網關都是用于連接網絡的中間設備,但它們在網絡模型中的作用和工作層次有所不同:
轉發器(Repeater):
- 工作在物理層(OSI模型的第一層)。
- 主要功能是放大和再生信號,以延長網絡的物理范圍。
- 不涉及數據的智能處理,只是簡單地復制信號。
網橋(Bridge):
- 工作在數據鏈路層(OSI模型的第二層)。
- 根據MAC地址來轉發幀。
- 可以連接兩個或多個網絡段,形成單一的廣播域。
- 通過學習MAC地址來構建轉發表,以決定數據幀的轉發路徑。
路由器(Router):
- 工作在網絡層(OSI模型的第三層)。
- 根據IP地址來轉發數據包。
- 連接不同的網絡,形成多個廣播域。
- 使用路由表來決定數據包的轉發路徑,可以進行網絡地址轉換(NAT)。
網關(Gateway):
- 工作在網絡層以上,通常是應用層(OSI模型的第七層)。
- 用于連接兩個不兼容的網絡或系統。
- 需要在高層進行協議的轉換,以實現不同協議之間的通信。
- 可以提供翻譯、協議轉換和安全等功能。
IP地址與硬件地址(4-11)
試說明IP地址與硬件地址的區別。為什么要使用這兩種不同的地址?
從層次的角度看,物理地址是數據鏈路層和物理層使用的地址,而IP地址是網絡層和以上各層使用的地址,是一種邏輯地址(稱IP地址是邏輯地址是因為IP地址是用軟件實現的)。
由于世界上已經存在各式各樣的網絡,它們使用不同的硬件地址,為了互連這些使用不同硬件地址的網絡,需要在上層使用一種統一的邏輯地址,即IP地址。因此,當在一個物理網絡中進行通信時,要使用該網絡網絡的硬件地址,而要跨多個網絡進行通信時就必須使用IP地址。另外,數據鏈路層和網絡層使用不同的地址,可以保持各層的獨立性,底層物理網絡可以采用任何技術,并可以支持其他網絡層協議(如:IPX、DECnet等)。
IP地址與硬件地址的區別:
用途:IP地址用于網絡層,實現跨網絡通信;硬件地址(MAC地址)用于數據鏈路層,限于局域網內。
分配:IP地址可動態分配,硬件地址由制造商分配,固定不變。
層次:IP地址在網絡層,硬件地址在數據鏈路層。
獨立性:不同地址保持網絡各層獨立,底層物理網絡可采用任何技術。
互操作性:IP地址允許不同硬件地址網絡互連,支持多種網絡協議。
IP地址分配(4-21)
某單位分配到地址塊129.250.0.0/20。該單位有4000臺機器,平均分布在16個不同的地點。試給每一個地點分配一個網絡地址和子網掩碼,并算出每個地點能分配給主機的IP地址的最小值和最大值。
4000臺機器,16個地點,平均每個地點250臺機器,因此需要分配256個IP。對應的子網掩碼/24,每個子網有254個可分配地址。每個地點的網絡前綴和主機IP地址的最小值和最大值為: 129.250.0.0/24: 129.250.0.1~129.250.0.254
129.250.1.0/24: 129.250.1.1~129.250.1.254
129.250.2.0/24: 129.250.2.1~129.250.2.254
129.250.3.0/24: 129.250.3.1~129.250.3.254
…………………………………
129.250.15.0/24: 129.250.15.1~129.250.15.254
為了給每個地點分配一個網絡地址和子網掩碼,并計算出每個地點能分配給主機的IP地址的最小值和最大值,我們可以按照以下步驟進行:
確定子網掩碼:由于每個地點需要至少250個IP地址,最接近的2的冪是256(2^8),這意味著我們需要8位用于主機地址。因此,子網掩碼應該是/24(即255.255.255.0),這為每個子網提供了256個IP地址(包括網絡地址和廣播地址)。
分配網絡地址:原始的網絡地址是129.250.0.0/20,這意味著前20位是網絡前綴,剩下的12位用于子網劃分和主機地址。由于我們需要16個子網,我們可以使用這12位中的前4位來創建16個子網(2^4=16)。
計算子網地址:從129.250.0.0/20開始,我們可以將前綴增加1來創建第一個子網,然后繼續增加直到覆蓋所有16個子網。每個子網的網絡地址將是前20位加上子網編號的二進制表示。
計算IP地址范圍:每個子網的第一個IP地址是網絡地址加1,最后一個IP地址是網絡地址加254(因為最后一個地址是廣播地址,不能分配給主機)。
下面是具體的計算過程:
- 子網掩碼:/24(255.255.255.0)
- 子網數量:16
- 每個子網的IP數量:256
子網劃分:
- 129.250.0.0/24: 網絡地址,主機地址范圍129.250.0.1~129.250.0.254
- 129.250.1.0/24: 網絡地址,主機地址范圍129.250.1.1~129.250.1.254
- 129.250.2.0/24: 網絡地址,主機地址范圍129.250.2.1~129.250.2.254
- ...
- 129.250.15.0/24: 網絡地址,主機地址范圍129.250.15.1~129.250.15.254
注意:在實際分配中,最后一個子網可能不會完全用完,因為4000臺機器平均分配到16個地點,每個地點大約需要250個IP地址,但最后一個地點可能不需要完整的256個IP地址。此外,最后一個子網的網絡地址應該是129.250.15.0,而不是129.250.3.0,因為我們需要16個子網,所以最后一個子網的網絡地址應該是129.250.15.0。
子網掩碼怎么計算得到?
子網掩碼的計算基于你想要劃分的子網數量和每個子網中所需的主機數量。以下是計算子網掩碼的步驟:
確定所需的子網數量:在這個例子中,有16個地點,所以需要16個子網。
確定每個子網所需的主機數量:每個地點平均有250臺機器,所以每個子網至少需要256個地址(因為256是大于250的最小的2的冪)。
計算子網掩碼:
- 子網數量:2^4 = 16,所以需要4位來表示子網(2^4 = 16,足以覆蓋16個子網)。
- 主機數量:2^8 = 256,所以需要8位來表示主機(2^8 = 256,足以覆蓋每個子網至少250臺機器的需求)。
確定網絡位和主機位:原始的IP地址塊是129.250.0.0/20,這意味著前20位是網絡位。由于我們需要4位來表示子網,所以新的網絡位將是20 + 4 = 24位。
構造子網掩碼:子網掩碼的前24位是1,剩下的8位是0。在點分十進制表示中,這將是255.255.255.0。
驗證子網掩碼:子網掩碼255.255.255.0在二進制中表示為11111111.11111111.11111111.00000000,這與我們的計算相符,即24位網絡位。
計算每個子網的IP地址范圍:每個子網的網絡地址是子網掩碼應用后的地址,第一個可用的主機地址是網絡地址加1,最后一個可用的主機地址是網絡地址加254(因為最后一個地址是廣播地址)。
例如,對于第一個子網129.250.0.0/24:
- 網絡地址:129.250.0.0
- 第一個主機地址:129.250.0.1
- 最后一個主機地址:129.250.0.254
這個過程可以應用于每個子網,只需將網絡地址的最后8位遞增即可。
IP地址分配(4-24)
有兩個CIDR地址塊208.128/11和208.130.28/22。是否有哪一個地址塊包含了另一個地址?如果有,請指出,并說明理由。
11010000 ?10000000 ?***
11010000 ?10000010 ?00011100
要確定兩個CIDR地址塊208.128/11和208.130.28/22是否有一個地址塊包含了另一個,我們需要分析它們的網絡前綴和地址范圍。
1. 確定網絡前綴和子網掩碼
- 208.128/11:這意味著前11位是網絡前綴。轉換為二進制,前11位是?
11010000 10000000
,對應的子網掩碼是?255.255.224.0
。- 208.130.28/22:這意味著前22位是網絡前綴。轉換為二進制,前22位是?
11010000 10000010 00011100
,對應的子網掩碼是?255.255.252.0
。2. 轉換IP地址到二進制
- 208.128.0.0?的二進制形式是?
11010000 10000000 00000000 00000000
。- 208.130.28.0?的二進制形式是?
11010000 10000010 00011100 00011100
。3. 比較網絡前綴
- 208.128/11?的網絡前綴是?
11010000 10000000
,這覆蓋了從?208.128.0.0
?到?208.135.255.255
?的范圍。- 208.130.28/22?的網絡前綴是?
11010000 10000010 00011100
,這覆蓋了從?208.130.28.0
?到?208.130.31.255
?的范圍。4. 判斷包含關系
- 208.128/11?的網絡前綴完全包含?208.130.28/22?的網絡前綴,因為?208.130.28/22?的前11位也是?
11010000 10000000
,這與?208.128/11?的網絡前綴相同。5. 確定包含關系
由于 208.130.28/22 的地址范圍(從
208.130.28.0
到208.130.31.255
)完全在 208.128/11 的地址范圍內(從208.128.0.0
到208.135.255.255
),我們可以得出結論,208.128/11 地址塊包含了 208.130.28/22 地址塊。理由
208.128/11 地址塊的網絡前綴更短(11位),覆蓋的范圍更廣,而 208.130.28/22 的網絡前綴更長(22位),覆蓋的范圍更具體。由于 208.130.28/22 的網絡前綴的前11位與 208.128/11 相同,且其地址范圍完全在 208.128/11 的范圍內,因此 208.128/11 包含了 208.130.28/22。
IP地址分配(4-26)
某主機的IP地址是227.82.157.177/20。試問該主機所連接的網絡的網絡前綴是什么?該網絡的網絡地址是什么?主機號占多少位?主機號的二進制表示是什么?
網絡前綴是:11100011 01010010 1001,或用十進制表示為:227.82.144.0/20。
網絡地址是:11100011 01010010 10010000 00000000,或用十進制表示為:227.82.144.0。
主機號占12位,其二進制這表示是:1101 10110001。
要確定兩個CIDR地址塊208.128/11和208.130.28/22是否有一個地址塊包含了另一個,我們需要比較它們的網絡前綴和地址范圍。
轉換IP地址到二進制:
- 208.128/11 的二進制形式是 11010000.10000000.00000000.00000000,其中11位網絡前綴意味著前11位是網絡部分。
- 208.130.28/22 的二進制形式是 11010000.10000010.00011100.00000000,其中22位網絡前綴意味著前22位是網絡部分。
確定網絡前綴:
- 208.128/11 的網絡前綴是 11010000.10000000,這表示前11位是網絡部分。
- 208.130.28/22 的網絡前綴是 11010000.10000010.00011100,這表示前22位是網絡部分。
比較網絡前綴:
- 208.128/11 的網絡前綴是 11010000.10000000,而 208.130.28/22 的網絡前綴的前11位也是 11010000.10000000,這意味著208.130.28/22 的網絡前綴在前11位上與 208.128/11 相同。
確定地址范圍:
- 208.128/11 的地址范圍是從 208.128.0.0 到 208.135.255.255。
- 208.130.28/22 的地址范圍是從 208.130.28.0 到 208.130.31.255。
判斷包含關系:
- 由于208.130.28/22 的地址范圍完全在208.128/11 的地址范圍內,我們可以得出結論,208.128/11 包含了 208.130.28/22。
理由:208.128/11 的網絡前綴覆蓋了208.130.28/22 的整個地址范圍,且208.130.28/22 的地址范圍沒有超出208.128/11 的邊界。因此,208.128/11 地址塊包含了 208.130.28/22 地址塊。
地址八位二進制快捷轉換方法:
128 64 32 16 8 4 2 1
IP地址分配(4-31)
已知某地址塊中的一個地址是140.120.84.24/20。試問該地址塊中的第一個地址是什么?這個地址塊共包含有多少個地址?最后一個地址是什么?
第一個地址:140.120.80.0。地址塊中的地址數是4096個。
最后一個地址:140.120.95.255。
在IP地址分配中,"/20"表示子網掩碼有20位是網絡部分,剩下的12位是主機部分。這意味著每個子網可以有 212=4096212=4096 個地址,包括網絡地址和廣播地址。
給定的IP地址是140.120.84.24/20,我們可以通過以下步驟計算第一個地址和最后一個地址:
確定網絡地址:將IP地址的主機部分置為0。對于140.120.84.24,這意味著將最后12位置為0。由于84是二進制的1010100,將其轉換為網絡地址,我們得到1010100.0111000.00000000.00000000,即140.120.80.0。
確定廣播地址:將IP地址的主機部分置為1。對于140.120.84.24,這意味著將最后12位置為1。由于84是二進制的1010100,將其轉換為廣播地址,我們得到1010100.0111111.11111111.11111111,即140.120.95.255。
地址數量:由于子網掩碼是/20,這意味著有12位用于主機地址,因此每個子網可以有
=4096 個地址。
所以,第一個地址是140.120.80.0,最后一個地址是140.120.95.255,地址塊中共有4096個地址。
IP地址分配(4-32)
?某主機的IP地址為140.252.20.68,子網掩碼為255.255.255.224,計算該主機所在子網的網絡前綴(采用CIDR地址表示法a.b.c.d/x),該子網的地址空間大小和地址范圍(含特殊地址)。
140.252.20.64/27
32
140.252.20.64至140.252.20.95
要計算給定IP地址和子網掩碼的網絡前綴、地址空間大小和地址范圍,我們可以按照以下步驟進行:
確定子網掩碼的CIDR表示:子網掩碼255.255.255.224轉換為CIDR表示法是/27。這是因為224是二進制的11100000,這意味著有27位是網絡部分。
計算網絡地址:將IP地址的主機部分置為0。對于140.252.20.68,子網掩碼的最后三位(因為224是11100000)是主機部分。將這些位置為0,我們得到140.252.20.64,這是網絡地址。
計算地址空間大小:由于子網掩碼是/27,這意味著有5位用于主機地址(32-27=5),因此每個子網可以有
=32 個地址。
計算地址范圍:網絡地址是140.252.20.64,廣播地址是將主機部分全部置為1,即140.252.20.63(因為網絡部分是27位,所以最后5位是主機部分,全部置1)。但是,這里有一個錯誤,正確的廣播地址應該是140.252.20.95,因為最后5位(32-27=5)是主機部分,全部置1。
確定地址范圍:第一個地址是網絡地址140.252.20.64,最后一個地址是廣播地址140.252.20.95。因此,地址范圍是從140.252.20.64到140.252.20.95。
綜上所述,該主機所在子網的網絡前綴是140.252.20.64/27,地址空間大小是32個地址,地址范圍是從140.252.20.64到140.252.20.95。
IP地址分配(4-33)
某組織分配到一個地址塊,其中的第一個地址是14.24.74.0/24。這個組織需要劃分為11個子網。具體要求是:具有64個地址的子網2個;具有32個地址的子網2個;具有16個地址的子網3個;具有4個地址的子網4個(這里的地址都包含全1和全0的主機號)。試設計這些子網。分配結束后還剩下多少個地址?
具有64個地址的子網是:14.24.74.0/26,14.24.74.64/26。
具有32個地址的子網是:14.24.74.128/27,14.24.74.160/27。
具有16個地址的子網是:14.24.74.192/28,14.24.74.208/28,14.24.74.224/28。
具有4個地址的子網是:14.24.74.240/30,14.24.74.244/30,14.24.74.248/30,14.24.74.252/30。
全部256個地址已經分配完畢,沒有剩下的地址。
計算過程
?這個問題涉及到IP地址的子網劃分。我們從給定的地址塊14.24.74.0/24開始,這個地址塊有256個地址(從14.24.74.0到14.24.74.255)。根據要求,我們需要劃分出不同大小的子網:
- 具有64個地址的子網:/26子網掩碼,因為?2(32?26)=642(32?26)=64。需要2個這樣的子網。
- 具有32個地址的子網:/27子網掩碼,因為?2(32?27)=322(32?27)=32。需要2個這樣的子網。
- 具有16個地址的子網:/28子網掩碼,因為?2(32?28)=162(32?28)=16。需要3個這樣的子網。
- 具有4個地址的子網:/30子網掩碼,因為?2(32?30)=42(32?30)=4。需要4個這樣的子網。
現在,我們按照這個計劃分配子網:
/26子網:每個子網有64個地址。
- 14.24.74.0/26:地址范圍14.24.74.0到14.24.74.63
- 14.24.74.64/26:地址范圍14.24.74.64到14.24.74.127
/27子網:每個子網有32個地址。
- 14.24.74.128/27:地址范圍14.24.74.128到14.24.74.159
- 14.24.74.160/27:地址范圍14.24.74.160到14.24.74.191
/28子網:每個子網有16個地址。
- 14.24.74.192/28:地址范圍14.24.74.192到14.24.74.207
- 14.24.74.208/28:地址范圍14.24.74.208到14.24.74.223
- 14.24.74.224/28:地址范圍14.24.74.224到14.24.74.239
/30子網:每個子網有4個地址。
- 14.24.74.240/30:地址范圍14.24.74.240到14.24.74.243
- 14.24.74.244/30:地址范圍14.24.74.244到14.24.74.247
- 14.24.74.248/30:地址范圍14.24.74.248到14.24.74.251
- 14.24.74.252/30:地址范圍14.24.74.252到14.24.74.255
這樣,我們分配了:
- 2個/26子網,共?2×64=1282×64=128?個地址
- 2個/27子網,共?2×32=642×32=64?個地址
- 3個/28子網,共?3×16=483×16=48?個地址
- 4個/30子網,共?4×4=164×4=16?個地址
總共分配了 128+64+48+16=256128+64+48+16=256 個地址,正好用完了整個/24地址塊,沒有剩余地址。
地址范圍開始怎么確定
在IP地址分配中,確定子網的地址范圍涉及到子網掩碼和IP地址的二進制計算。下面是如何確定每個子網的起始和結束地址的步驟:
確定子網掩碼:子網掩碼決定了網絡部分和主機部分的位數。例如,/26子網掩碼意味著前26位是網絡部分,剩下的6位是主機部分。
計算子網的網絡地址:將IP地址的主機部分置為0,得到的就是網絡地址。例如,對于14.24.74.0/24,如果我們要創建一個/26的子網,我們將最后6位置為0,得到14.24.74.0/26。
計算子網的廣播地址:將IP地址的主機部分置為1,得到的就是廣播地址。例如,對于14.24.74.0/26,廣播地址是將最后6位置為1,得到14.24.74.63。
確定子網的地址范圍:子網的地址范圍是從網絡地址的下一個地址開始,到廣播地址的前一個地址結束。例如,對于14.24.74.0/26,地址范圍是從14.24.74.1到14.24.74.62。
為下一個子網分配地址:在分配了第一個子網后,下一個子網的網絡地址將是第一個子網的廣播地址加1。例如,如果第一個/26子網的廣播地址是14.24.74.63,那么下一個/26子網的網絡地址將是14.24.74.64。
重復步驟:對于每個子網,重復上述步驟,直到所有的子網都分配完畢。
以14.24.74.0/24為例,我們可以這樣分配:
/26子網:每個子網有64個地址(2^(32-26) = 64)。
- 第一個/26子網:14.24.74.0/26,地址范圍14.24.74.1到14.24.74.62。
- 第二個/26子網:14.24.74.64/26,地址范圍14.24.74.65到14.24.74.126。
/27子網:每個子網有32個地址(2^(32-27) = 32)。
- 第一個/27子網:14.24.74.128/27,地址范圍14.24.74.129到14.24.74.158。
- 第二個/27子網:14.24.74.160/27,地址范圍14.24.74.161到14.24.74.190。
/28子網:每個子網有16個地址(2^(32-28) = 16)。
- 第一個/28子網:14.24.74.192/28,地址范圍14.24.74.193到14.24.74.206。
- 第二個/28子網:14.24.74.208/28,地址范圍14.24.74.209到14.24.74.222。
- 第三個/28子網:14.24.74.224/28,地址范圍14.24.74.225到14.24.74.238。
/30子網:每個子網有4個地址(2^(32-30) = 4)。
- 第一個/30子網:14.24.74.240/30,地址范圍14.24.74.241到14.24.74.242。
- 第二個/30子網:14.24.74.244/30,地址范圍14.24.74.245到14.24.74.246。
- 第三個/30子網:14.24.74.248/30,地址范圍14.24.74.249到14.24.74.250。
- 第四個/30子網:14.24.74.252/30,地址范圍14.24.74.253到14.24.74.254。
這樣,我們就分配了所有的256個地址,沒有剩余。
32個地址的子網 第一個/27子網:14.24.74.128/27
詳細地解釋一下如何確定具有32個地址的子網的第一個/27子網的地址范圍。
理解/27子網掩碼:/27表示子網掩碼有27位是網絡部分,剩下的5位是主機部分。這意味著每個/27子網可以有 25=3225=32 個地址。
確定/27子網的網絡地址:在原始地址塊14.24.74.0/24中,我們已經有了兩個/26子網,它們分別使用了前128個地址(14.24.74.0到14.24.74.127)。因此,下一個/27子網的網絡地址將是14.24.74.128。
計算/27子網的廣播地址:由于/27子網有5位主機部分,我們將這5位全部置為1來得到廣播地址。但是,我們通常不直接計算廣播地址,而是通過子網的網絡地址和子網掩碼來確定地址范圍。
確定/27子網的地址范圍:對于14.24.74.128/27,地址范圍是從網絡地址的下一個地址開始,即14.24.74.129,到廣播地址的前一個地址結束。廣播地址是14.24.74.159(因為14.24.74.128的主機部分是00000000,將這5位全部置為1得到11111111,即14.24.74.159)。
計算地址范圍:因此,14.24.74.128/27的地址范圍是14.24.74.129到14.24.74.158。這里,14.24.74.129是第一個可用的主機地址,而14.24.74.158是最后一個可用的主機地址。14.24.74.128是網絡地址,14.24.74.159是廣播地址,這兩個地址通常不分配給主機。
這樣,我們就確定了第一個/27子網的地址范圍。接下來的/27子網將從14.24.74.160開始,以此類推。
路由聚合(4-25)
有如下的4個/24地址塊,試進行最大可能的聚合。
212.56.132.0/24
212.56.133.0/24
212.56.134.0/24
212.56.135.0/24
132的二進制是: 10000100
共同的前綴有22位,即:11010100 00111000 1000001。
聚合的CIDR地址塊是:212.56.132.0/22。
在進行IP地址聚合時,我們的目標是找到可以覆蓋所有給定地址塊的最小網絡。這個過程涉及到找到所有地址的共同前綴。
給定的四個/24地址塊是:
- 212.56.132.0/24
- 212.56.133.0/24
- 212.56.134.0/24
- 212.56.135.0/24
首先,我們將這些地址轉換為二進制形式,并找出它們的共同前綴。
212.56.132.0 的二進制形式是:
- 212: 11010100
- 56: 00111000
- 132: 10000100
- 0: 00000000
212.56.133.0 的二進制形式是:
- 212: 11010100
- 56: 00111000
- 133: 10000101
- 0: 00000000
212.56.134.0 的二進制形式是:
- 212: 11010100
- 56: 00111000
- 134: 10000110
- 0: 00000000
212.56.135.0 的二進制形式是:
- 212: 11010100
- 56: 00111000
- 135: 10000111
- 0: 00000000
接下來,我們比較這些二進制數,找出共同的前綴。從最高位開始,我們可以看到前22位是相同的:
- 11010100001110001000001
這意味著我們可以將這四個/24地址塊聚合為一個/22地址塊。/22表示前22位是網絡部分,剩下的10位是主機部分。
因此,聚合后的CIDR地址塊是 212.56.132.0/22。這個地址塊可以覆蓋從212.56.132.0到212.56.135.255的所有地址,這正是原始四個/24地址塊所覆蓋的范圍。
路由表(4-27)
????????設某路由器建立了如下表所示的路由表(這三列分別是目的網絡、子網掩碼和下一跳路由器,若直接交付則最后一列表示應當從哪一個接口轉發出去):
現共收到5個分組,其目的站IP地址分別為:
(1) 128.96.39.10
(2) 128.96.40.12
(3) 128.96.40.151
(4) 192.4.153.17
(5) 192.4.153.90
試分別計算這些分組轉發的下一跳。
(1)接口0; (2) R2; (3) R4; (4) R3; (5) R4。
為了確定每個分組的下一跳,我們需要將每個目的IP地址與路由表中的子網掩碼進行邏輯與(AND)操作,然后與目的網絡進行比較,以確定匹配的路由。如果沒有找到精確匹配,那么將使用默認路由。
下面是每個分組的計算過程:
128.96.39.10
- 子網掩碼:255.255.255.128 (/25)
- 網絡地址:128.96.39.0
- 與子網掩碼進行邏輯與操作:128.96.39.10 & 255.255.255.128 = 128.96.39.0
- 匹配路由:128.96.39.0/25,下一跳:接口0
128.96.40.12
- 子網掩碼:255.255.255.128 (/25)
- 網絡地址:128.96.40.0
- 與子網掩碼進行邏輯與操作:128.96.40.12 & 255.255.255.128 = 128.96.40.0
- 匹配路由:128.96.40.0/25,下一跳:R2
128.96.40.151
- 子網掩碼:255.255.255.128 (/25)
- 網絡地址:128.96.40.128
- 與子網掩碼進行邏輯與操作:128.96.40.151 & 255.255.255.128 = 128.96.40.128
- 這個地址不在128.96.40.0/25網絡中,因此需要使用默認路由,下一跳:R4
192.4.153.17
- 子網掩碼:255.255.255.192 (/26)
- 網絡地址:192.4.153.0
- 與子網掩碼進行邏輯與操作:192.4.153.17 & 255.255.255.192 = 192.4.153.0
- 匹配路由:192.4.153.0/26,下一跳:R3
192.4.153.90
- 子網掩碼:255.255.255.192 (/26)
- 網絡地址:192.4.153.64
- 與子網掩碼進行邏輯與操作:192.4.153.90 & 255.255.255.192 = 192.4.153.64
- 這個地址不在192.4.153.0/26網絡中,因此需要使用默認路由,下一跳:R4
總結:
- (1) 128.96.39.10 -> 接口0
- (2) 128.96.40.12 -> R2
- (3) 128.96.40.151 -> R4
- (4) 192.4.153.17 -> R3
- (5) 192.4.153.90 -> R4
路由表(4-28)
考慮某路由器具有下列路由表項:
(1)假設路由器接收到一個目的地址為142.150.71.132的IP分組,請確定該路由器為該IP分組選擇的下一跳,并解釋說明。
(2)在上面的路由表中增加一條路由表項,該路由表項使以142.150.71.132為目的地址的IP分組選擇“A”作為下一跳,而不影響其他目的地址的IP分組轉發。
(3)在上面的路由表中增加一條路由表項,使所有目的地址與該路由表中任何路由表項都不匹配的IP分組被轉發到下一跳“E”。
(4)將142.150.64.0/24劃分為4個規模盡可能大的等長子網,給出子網掩碼及每個子網的主機IP地址范圍。
解答:
(1)B;
(2)<142.150.71.132/32, A>;
(3)<0.0.0.0/0, E>;
(4)子網掩碼255.255.255.192,
142.150.64.1~142.150.64.62, 142.150.64.65~142.150.64.126,
142.150.64.129~142.150.64.190, 142.150.64.193~142.150.64.254
讓我們一步步解析這些問題:
(1) 確定142.150.71.132的下一跳
首先,我們需要找到與目的地址142.150.71.132最匹配的路由表項。路由表中的條目有:
- 142.150.64.0/24 -> A
- 142.150.71.128/28 -> B
- 142.150.71.128/30 -> C
- 142.150.0.0/16 -> D
142.150.71.132在142.150.71.128/28范圍內,因此它與B項匹配,下一跳是B。
(2) 增加一條路由表項,使142.150.71.132選擇A作為下一跳
為了使142.150.71.132選擇A作為下一跳,我們需要添加一個更具體的路由,即一個精確匹配該地址的路由。這可以通過添加以下路由表項實現:
- 142.150.71.132/32 -> A
這將確保142.150.71.132的流量被發送到A,而不影響其他地址。
(3) 增加一條路由表項,使不匹配任何路由的IP分組轉發到E
為了處理所有不匹配現有路由的IP分組,我們可以添加一個默認路由:
- 0.0.0.0/0 -> E
這將捕獲所有未被其他路由表項匹配的流量,并將其轉發到E。
(4) 將142.150.64.0/24劃分為4個子網
要將142.150.64.0/24劃分為4個子網,我們需要增加子網掩碼的位數。原始的/24意味著有8位用于主機地址。為了創建4個子網,我們至少需要2位用于子網劃分(因為2^2 = 4),這將給我們/26的子網掩碼。
子網掩碼為255.255.255.192(/26),這意味著每個子網有64個地址(2^(32-26) = 64)。
子網劃分如下:
- 子網1: 142.150.64.0/26,主機地址范圍:142.150.64.1 - 142.150.64.62
- 子網2: 142.150.64.64/26,主機地址范圍:142.150.64.65 - 142.150.64.126
- 子網3: 142.150.64.128/26,主機地址范圍:142.150.64.129 - 142.150.64.190
- 子網4: 142.150.64.192/26,主機地址范圍:142.150.64.193 - 142.150.64.254
這樣,每個子網都有62個可用的主機地址(減去網絡地址和廣播地址)。
RIP, OSPF和BGP路由選擇協議的主要特點(4-39)
RIP 協議的要點
采用距離向量算法,相鄰路由器之間周期性交換各自的路由表(包含到各網絡的距離),根據收到的信息計算到各網絡的最短距離及下一跳,并更新自己的路由表。
為加快協議的收斂速度,當路由表發生變化也及時向相鄰路由器通告路由信息。
使用運輸層協議 UDP 來傳送 RIP 報文。
存在距離向量算法固有的“壞消息傳播得慢的問題”,最大距離不能超過15,只能適用于小規模網絡。
OSPF 協議的要點
基于鏈路狀態路由選擇算法,沒有RIP“壞消息傳播得慢”的問題
網絡管理員可以根據流量、距離、時延、帶寬等為鏈路設置度量
支持分區域層次路由,將鏈路狀態信息的洪泛限制在小范圍的區域內部,可用于大規模網絡
OSPF的分組直接使用 IP 數據報進行傳輸,并采用可靠洪泛
BGP 協議的要點
采用路徑向量算法,能夠有效檢測路由環路,因此沒有距離向量算法的“壞消息傳播得慢的問題”。
在BGP 剛剛運行時,BGP 的鄰站間交換整個的 BGP 路由表。但以后只在發生變化時更新有變化的部分(增加、修改或撤銷某路由)。
使用 TCP傳輸路由信息,保證了信息傳輸的可靠性。
由于路徑向量信息包含經過的每個自治系統的ID,策略可以很方便地加入到路徑的選擇中。
RIP協議工作過程(4-37)
假定網絡中的路由器B的路由表有如下的項目(目的網絡、距離、下一跳) ?? ?
N1?? ??? ?7?? ?A ?? ?
N2?? ??? ?2?? ?C ?? ?
N6?? ??? ?8?? ?F ?? ?
N8?? ??? ?4?? ?E ??
N9?? ??? ?4?? ?F
現在B收到從C發來的路由信息(目的網絡、距離): (N2, 5)、(N3, 9)、(N6, 4)、(N8, 4)、(N9, 5),試求路由器B更新后的路由表(詳細說明每項的原因)。
N1 ? ? 7 ? ?A ? ? 無新信息,不變
N2 ? ? 5 ? ?C ? ?相同下一跳,更新
N3 ? ? 9 ? ?C ? ?新項目,增加
N6 ? ? 5 ? ?C ? ?不同下一跳,距離更短,更新
N8 ? ? 4 ? ?E ? ?不同下一跳,距離一樣,不變
N9 ? ? 4 ? ? F ? 不同下一跳,距離更大,不變
路由協議傳輸問題(4-40)
RIP使用UDP,OSPF使用IP,而BGP使用TCP。這樣做有何優點?為什么RIP周期性地和鄰站交換路由信息而BGP卻不這樣做?
RIP只和鄰站交換信息,UDP雖不保證可靠性,但UDP開銷小。
OSPF使用可靠的洪泛法,并直接使用IP,好處是靈活和開銷小。
BGP需要交換自治系統間的路由信息,交換的信息大,使用TCP提供可靠交付。
RIP利用周期性地和鄰站交換路由信息來發現網絡拓撲的變化,如路由器或鏈路的失效,而且UDP不可靠,周期性地交換路由信息也可避免路由信息丟失帶來的問題。而BGP通過KEEPALIVE(保活)報文,用來周期性地證實對等方的連通性,同時TCP是可靠的,而不需要周期性地發送路由信息。
RIP用UDP省資源,OSPF直接用IP更靈活,BGP用TCP確保信息不丟。RIP需定期更新,BGP用保活機制。