【计算机网络】期末考试预习复习|中
作业讲解
转发器、网桥、路由器和网关(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用保活机制。
相关文章:
【计算机网络】期末考试预习复习|中
作业讲解 转发器、网桥、路由器和网关(4-6) 作为中间设备,转发器、网桥、路由器和网关有何区别? (1) 物理层使用的中间设备叫做转发器(repeater)。 (2) 数据链路层使用的中间设备叫做网桥或桥接器(bridge)。 (3) 网络层使用的中间设备叫做路…...
从零用java实现 小红书 springboot vue uniapp (4)个人主页优化
前言 移动端演示 http://8.146.211.120:8081/#/ 前面的文章我们基本完成了详情页开发 今天我们具体的去进行实现个人中心 并且分享我开发时遇到的问题 首先先看效果 我们对布局整体规划一下 个人名片 半透明背景 刚开始我用的是 <view style"background-image: ur…...
为“行车大脑”降温:Simdroid-EC助力汽车ECU设计研发
ECU(Electronic Control Unit,电子控制单元)被誉为汽车的行车大脑,在工作时会产生大量的热量,而其散热存在以下难题:一是工作环境恶劣,ECU常处于高温环境中;二是ECU所处的空间较为狭…...
视频汇聚平台:Liveweb视频流媒体平台视频监控系统解决方案
数字化技术在安防领域的广泛应用已经成为公安等重要执法部门的重要趋势,主要得益于无线网络通信技术和计算机技术的快速进步。传统的视频监控系统存在诸多局限,例如只能进行现场监视,报警信息传输简单,无法远距离传输视频信号&…...
通过解调使用正则化相位跟踪技术进行相位解包裹
1. 绪论 光学计量学通常使用光学干涉仪来测量各种物理量。1,2 根据应用的不同,可以使用多种类型的干涉仪,但它们的共同目标是产生一个由被测物理量调制的条纹图案。使用这种光束编码程序可以检测到的物理量范围非常广:深度测量、应变分析、温…...
VMware替代 | 双一流大学采用ZStack ZSphere虚拟化平台加速医学应用算法分析
某双一流大学医学部在面对日益增长的医学应用算法分析需求时,选择采用ZStack ZSphere虚拟化平台,以满足其高性能计算和GPU业务应用的迫切需求。该平台凭借其轻量化、卓越性能及易用性,成功解决了医学部在虚拟化及GPU应用场景中的挑战。随着平…...
UNIAPP框架uView初步集成与开发设计
uView UI,是uni-app生态最优秀的UI框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水。本文章分享UNIAPP集成使用uView页面动态开发设计。 一、使用HBuilder X 直接导入插件,下载后重启 uView - DCloud 插件市场 二、配置样…...
C05S08-LVS负载均衡
一、LVS 1. LVS概述 LVS(Linux Virtual Server、Linux虚拟服务)是一种基于Linux系统集群的负载均衡方案,属于四层的负载均衡。 集群:将相同组件部署在不同的服务器上,提供统一的服务,以及同样的功能&…...
C 语言代码诗韵:数字功能的雅集华章
函数基本操作练习 主要内容: 本任务主要练习函数的申请、定义、调用等,主要包含以下功能: 1)编写函数,输入一个整数,求各个数字之和; 2)编写函数,计算1!2&…...
ps案例制作
宣传海报 暖色调海报商品展示图...
【C++】列表初始化、声明、范围for、array容器
列表初始化、声明、范围for、array容器 一、统一的列表初始化1.1 使用{ }初始化1.2 initializer_list容器 二、声明2.1 auto关键字2.2 decltype关键字2.3 nullptr关键字 三、范围for四、array容器和forward_list容器 一、统一的列表初始化 1.1 使用{ }初始化 在C98中…...
C++智能指针详解
一、智能指针简介 智能指针是一个类似于指针的类,将指针交给这个类对象进行管理,我们就可以像使用指针一样使用这个类,并且它会自动释放资源。 智能指针运用了 RAII 的思想(资源获得即初始化)。RAII 是指,用对象的生命周期来管理资…...
基础库正则表达式
我们已经可以用requests 库来获取网页的源代码,得到 HTML 代码。但我们真正想要的数据是包含在 HTML代码之中的,要怎样才能从 HTML,代码中获取想要的信息呢?正则表达式就是其中一个有效的方法。 本篇博客我们将了解一下正则表达式的相关用法。正则表达…...
【spring专题】spring如何解析配置类和扫描包路径
文章目录 目标重要的组件加载配置类启动解析组件定位配置类解析配置类 扫描过程总结 目标 这是我们使用注解方式启动spring容器的核心代码 AnnotationConfigApplicationContext applicationContext new AnnotationConfigApplicationContext(MyConfig.class); User user (Us…...
MyBatis框架的入门
目录 MyBatis第一章:框架的概述1. MyBatis框架的概述 第二章:MyBatis的入门程序1. 创建数据库和表结构2. MyBatis的入门步骤 MyBatis 第一章:框架的概述 1. MyBatis框架的概述 MyBatis是一个优秀的基于Java的持久层框架,内部对…...
代码随想录D22-23 回溯算法01-02 Python
理论回顾 回溯法也可以叫做回溯搜索法,它是一种搜索的方式。回溯是递归的副产品,只要有递归就会有回溯。 回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案,如果想让回溯法高效一些,可以加一些剪枝…...
【网络云计算】2024第50周-每日【2024/12/13】小测-理论-写10个Bash Shell脚本-解析
文章目录 1. 计算1到100的和2. 列出当前目录下所有文件和文件夹3. 检查文件是否存在4. 备份文件到指定目录(简单示例)5. 打印系统当前日期和时间6. 统计文件中的行数7. 批量重命名文件(将.txt后缀改为.bak)8. 查找进程并杀死&…...
MATLAB转换C语言--问题(一)FFT 和 IFFT 的缩放因子
1. MATLAB 中的 FFT 和 IFFT 在 MATLAB 中,fft 和 ifft 函数具有以下缩放行为: fft:执行快速傅里叶变换(FFT),不进行缩放。ifft:执行逆快速傅里叶变换(IFFT),…...
轻松上手:使用 Vercel 部署 HTML 页面教程
😀 在学习前端的过程中,部署项目往往是一个令人头疼的问题。然而,Vercel 为我们提供了一个便捷且免费的解决方案。 Vercel 是一个强大的云平台,专门用于前端项目的部署和托管。它不仅支持多种前端框架和静态网站生成器࿰…...
如何运用 HTM?
一、HTM 概述 HTM(Hierarchical Temporal Memory,分层时序记忆)是一种基于神经科学原理构建的计算模型,旨在模拟大脑的学习和记忆机制,以处理复杂的时间序列数据和模式识别任务。它具有独特的架构和算法,能…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
