【计算机网络】期末考试预习复习|中

作业讲解

转发器、网桥、路由器和网关(4-6)

作为中间设备,转发器、网桥、路由器和网关有何区别?

(1) 物理层使用的中间设备叫做转发器(repeater)。    

(2) 数据链路层使用的中间设备叫做网桥或桥接器(bridge)。    

(3) 网络层使用的中间设备叫做路由器(router)。    

(4) 在网络层以上使用的中间设备叫做网关(gateway)。用网关连接两个不兼容的系统需要在高层进行协议的转换。

在计算机网络中,转发器、网桥、路由器和网关都是用于连接网络的中间设备,但它们在网络模型中的作用和工作层次有所不同:

  1. 转发器(Repeater)

    • 工作在物理层(OSI模型的第一层)。
    • 主要功能是放大和再生信号,以延长网络的物理范围。
    • 不涉及数据的智能处理,只是简单地复制信号。
  2. 网桥(Bridge)

    • 工作在数据链路层(OSI模型的第二层)。
    • 根据MAC地址来转发帧。
    • 可以连接两个或多个网络段,形成单一的广播域。
    • 通过学习MAC地址来构建转发表,以决定数据帧的转发路径。
  3. 路由器(Router)

    • 工作在网络层(OSI模型的第三层)。
    • 根据IP地址来转发数据包。
    • 连接不同的网络,形成多个广播域。
    • 使用路由表来决定数据包的转发路径,可以进行网络地址转换(NAT)。
  4. 网关(Gateway)

    • 工作在网络层以上,通常是应用层(OSI模型的第七层)。
    • 用于连接两个不兼容的网络或系统。
    • 需要在高层进行协议的转换,以实现不同协议之间的通信。
    • 可以提供翻译、协议转换和安全等功能。

IP地址与硬件地址(4-11)

试说明IP地址与硬件地址的区别。为什么要使用这两种不同的地址?

从层次的角度看,物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址(称IP地址是逻辑地址是因为IP地址是用软件实现的)。

由于世界上已经存在各式各样的网络,它们使用不同的硬件地址,为了互连这些使用不同硬件地址的网络,需要在上层使用一种统一的逻辑地址,即IP地址。因此,当在一个物理网络中进行通信时,要使用该网络网络的硬件地址,而要跨多个网络进行通信时就必须使用IP地址。另外,数据链路层和网络层使用不同的地址,可以保持各层的独立性,底层物理网络可以采用任何技术,并可以支持其他网络层协议(如:IPX、DECnet等)。

IP地址与硬件地址的区别:

  1. 用途:IP地址用于网络层,实现跨网络通信;硬件地址(MAC地址)用于数据链路层,限于局域网内。

  2. 分配:IP地址可动态分配,硬件地址由制造商分配,固定不变。

  3. 层次:IP地址在网络层,硬件地址在数据链路层。

  4. 独立性:不同地址保持网络各层独立,底层物理网络可采用任何技术。

  5. 互操作性: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地址的最小值和最大值,我们可以按照以下步骤进行:

  1. 确定子网掩码:由于每个地点需要至少250个IP地址,最接近的2的幂是256(2^8),这意味着我们需要8位用于主机地址。因此,子网掩码应该是/24(即255.255.255.0),这为每个子网提供了256个IP地址(包括网络地址和广播地址)。

  2. 分配网络地址:原始的网络地址是129.250.0.0/20,这意味着前20位是网络前缀,剩下的12位用于子网划分和主机地址。由于我们需要16个子网,我们可以使用这12位中的前4位来创建16个子网(2^4=16)。

  3. 计算子网地址:从129.250.0.0/20开始,我们可以将前缀增加1来创建第一个子网,然后继续增加直到覆盖所有16个子网。每个子网的网络地址将是前20位加上子网编号的二进制表示。

  4. 计算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。

子网掩码怎么计算得到?

子网掩码的计算基于你想要划分的子网数量和每个子网中所需的主机数量。以下是计算子网掩码的步骤:

  1. 确定所需的子网数量:在这个例子中,有16个地点,所以需要16个子网。

  2. 确定每个子网所需的主机数量:每个地点平均有250台机器,所以每个子网至少需要256个地址(因为256是大于250的最小的2的幂)。

  3. 计算子网掩码

    • 子网数量:2^4 = 16,所以需要4位来表示子网(2^4 = 16,足以覆盖16个子网)。
    • 主机数量:2^8 = 256,所以需要8位来表示主机(2^8 = 256,足以覆盖每个子网至少250台机器的需求)。
  4. 确定网络位和主机位:原始的IP地址块是129.250.0.0/20,这意味着前20位是网络位。由于我们需要4位来表示子网,所以新的网络位将是20 + 4 = 24位。

  5. 构造子网掩码:子网掩码的前24位是1,剩下的8位是0。在点分十进制表示中,这将是255.255.255.0。

  6. 验证子网掩码:子网掩码255.255.255.0在二进制中表示为11111111.11111111.11111111.00000000,这与我们的计算相符,即24位网络位。

  7. 计算每个子网的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.0208.130.31.255)完全在 208.128/11 的地址范围内(从 208.128.0.0208.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是否有一个地址块包含了另一个,我们需要比较它们的网络前缀和地址范围。

  1. 转换IP地址到二进制

    • 208.128/11 的二进制形式是 11010000.10000000.00000000.00000000,其中11位网络前缀意味着前11位是网络部分。
    • 208.130.28/22 的二进制形式是 11010000.10000010.00011100.00000000,其中22位网络前缀意味着前22位是网络部分。
  2. 确定网络前缀

    • 208.128/11 的网络前缀是 11010000.10000000,这表示前11位是网络部分。
    • 208.130.28/22 的网络前缀是 11010000.10000010.00011100,这表示前22位是网络部分。
  3. 比较网络前缀

    • 208.128/11 的网络前缀是 11010000.10000000,而 208.130.28/22 的网络前缀的前11位也是 11010000.10000000,这意味着208.130.28/22 的网络前缀在前11位上与 208.128/11 相同。
  4. 确定地址范围

    • 208.128/11 的地址范围是从 208.128.0.0 到 208.135.255.255。
    • 208.130.28/22 的地址范围是从 208.130.28.0 到 208.130.31.255。
  5. 判断包含关系

    • 由于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,我们可以通过以下步骤计算第一个地址和最后一个地址:

  1. 确定网络地址:将IP地址的主机部分置为0。对于140.120.84.24,这意味着将最后12位置为0。由于84是二进制的1010100,将其转换为网络地址,我们得到1010100.0111000.00000000.00000000,即140.120.80.0。

  2. 确定广播地址:将IP地址的主机部分置为1。对于140.120.84.24,这意味着将最后12位置为1。由于84是二进制的1010100,将其转换为广播地址,我们得到1010100.0111111.11111111.11111111,即140.120.95.255。

  3. 地址数量:由于子网掩码是/20,这意味着有12位用于主机地址,因此每个子网可以有 2^{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地址和子网掩码的网络前缀、地址空间大小和地址范围,我们可以按照以下步骤进行:

  1. 确定子网掩码的CIDR表示:子网掩码255.255.255.224转换为CIDR表示法是/27。这是因为224是二进制的11100000,这意味着有27位是网络部分。

  2. 计算网络地址:将IP地址的主机部分置为0。对于140.252.20.68,子网掩码的最后三位(因为224是11100000)是主机部分。将这些位置为0,我们得到140.252.20.64,这是网络地址。

  3. 计算地址空间大小:由于子网掩码是/27,这意味着有5位用于主机地址(32-27=5),因此每个子网可以有 2^{5}=32 个地址。

  4. 计算地址范围:网络地址是140.252.20.64,广播地址是将主机部分全部置为1,即140.252.20.63(因为网络部分是27位,所以最后5位是主机部分,全部置1)。但是,这里有一个错误,正确的广播地址应该是140.252.20.95,因为最后5位(32-27=5)是主机部分,全部置1。

  5. 确定地址范围:第一个地址是网络地址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)。根据要求,我们需要划分出不同大小的子网:

  1. 具有64个地址的子网:/26子网掩码,因为 2(32−26)=642(32−26)=64。需要2个这样的子网。
  2. 具有32个地址的子网:/27子网掩码,因为 2(32−27)=322(32−27)=32。需要2个这样的子网。
  3. 具有16个地址的子网:/28子网掩码,因为 2(32−28)=162(32−28)=16。需要3个这样的子网。
  4. 具有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地址的二进制计算。下面是如何确定每个子网的起始和结束地址的步骤:

  1. 确定子网掩码:子网掩码决定了网络部分和主机部分的位数。例如,/26子网掩码意味着前26位是网络部分,剩下的6位是主机部分。

  2. 计算子网的网络地址:将IP地址的主机部分置为0,得到的就是网络地址。例如,对于14.24.74.0/24,如果我们要创建一个/26的子网,我们将最后6位置为0,得到14.24.74.0/26。

  3. 计算子网的广播地址:将IP地址的主机部分置为1,得到的就是广播地址。例如,对于14.24.74.0/26,广播地址是将最后6位置为1,得到14.24.74.63。

  4. 确定子网的地址范围:子网的地址范围是从网络地址的下一个地址开始,到广播地址的前一个地址结束。例如,对于14.24.74.0/26,地址范围是从14.24.74.1到14.24.74.62。

  5. 为下一个子网分配地址:在分配了第一个子网后,下一个子网的网络地址将是第一个子网的广播地址加1。例如,如果第一个/26子网的广播地址是14.24.74.63,那么下一个/26子网的网络地址将是14.24.74.64。

  6. 重复步骤:对于每个子网,重复上述步骤,直到所有的子网都分配完毕。

以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子网的地址范围。

  1. 理解/27子网掩码:/27表示子网掩码有27位是网络部分,剩下的5位是主机部分。这意味着每个/27子网可以有 25=3225=32 个地址。

  2. 确定/27子网的网络地址:在原始地址块14.24.74.0/24中,我们已经有了两个/26子网,它们分别使用了前128个地址(14.24.74.0到14.24.74.127)。因此,下一个/27子网的网络地址将是14.24.74.128。

  3. 计算/27子网的广播地址:由于/27子网有5位主机部分,我们将这5位全部置为1来得到广播地址。但是,我们通常不直接计算广播地址,而是通过子网的网络地址和子网掩码来确定地址范围。

  4. 确定/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)。

  5. 计算地址范围:因此,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

首先,我们将这些地址转换为二进制形式,并找出它们的共同前缀。

  1. 212.56.132.0 的二进制形式是:

    • 212: 11010100
    • 56: 00111000
    • 132: 10000100
    • 0: 00000000
  2. 212.56.133.0 的二进制形式是:

    • 212: 11010100
    • 56: 00111000
    • 133: 10000101
    • 0: 00000000
  3. 212.56.134.0 的二进制形式是:

    • 212: 11010100
    • 56: 00111000
    • 134: 10000110
    • 0: 00000000
  4. 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)操作,然后与目的网络进行比较,以确定匹配的路由。如果没有找到精确匹配,那么将使用默认路由。

下面是每个分组的计算过程:

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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用保活机制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/63603.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端工程化-Vue脚手架安装

在现代前端开发中&#xff0c;Vue.js已成为一个流行的框架&#xff0c;而Vue CLI&#xff08;脚手架&#xff09;则为开发者提供了一个方便的工具&#xff0c;用于快速创建和管理Vue项目。本文将详细介绍如何安装Vue脚手架&#xff0c;创建新项目以及常见问题的解决方法。 什么…

罗德与施瓦茨ZN-Z129E网络分析仪校准套件具体参数

罗德与施瓦茨ZN-Z129E网络校准件ZN-Z129E网络分析仪校准套件 1&#xff0c;频率范围从9kHz到4GHz&#xff08;ZNB4&#xff09;,8.5GHz(ZNB8)&#xff0c;20GHz(ZNB20)&#xff0c;40GHz(ZNB40) 2&#xff0c;动态范围宽&#xff0c;高达140 dB 3&#xff0c;扫描时间短达4ms…

如何为IntelliJ IDEA配置JVM参数

在使用IntelliJ IDEA进行Java开发时&#xff0c;合理配置JVM参数对于优化项目性能和资源管理至关重要。IntelliJ IDEA提供了两种方便的方式来设置JVM参数&#xff0c;以确保你的应用程序能够在最佳状态下运行。本文将详细介绍这两种方法&#xff1a;通过工具栏编辑配置和通过服…

unity is running as administrator 管理员权限问题

每次打开工程弹出unity is running as administrator的窗口 unity版本2022.3.34f1&#xff0c;电脑系统是win 11系统解决方法一&#xff1a;解决方法二&#xff1a; unity版本2022.3.34f1&#xff0c;电脑系统是win 11系统 每次打开工程都会出现unity is running as administr…

回归预测 | MATLAB实现CNN-BiGRU-Attention卷积神经网络结合双向门控循环单元融合注意力机制多输入单输出回归预测

回归预测 | MATLAB实现CNN-BiGRU-Attention卷积神经网络结合双向门控循环单元融合注意力机制多输入单输出回归预测 目录 回归预测 | MATLAB实现CNN-BiGRU-Attention卷积神经网络结合双向门控循环单元融合注意力机制多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效…

OneCode:开启高效编程新时代——企业定制出码手册

一、概述 OneCode 的 DSM&#xff08;领域特定建模&#xff09;出码模块是一个强大的工具&#xff0c;它支持多种建模方式&#xff0c;并具有强大的模型转换与集成能力&#xff0c;能够提升开发效率和代码质量&#xff0c;同时方便团队协作与知识传承&#xff0c;还具备方便的仿…

远程控制软件新趋势

随着数字化浪潮的推进&#xff0c;远程控制软件已经成为我们生活中的一部分&#xff0c;它们不仅改变了我们的工作方式&#xff0c;还为日常生活带来了极大的便利。现在&#xff0c;让我们来探讨远程控制软件在数字时代的发展和应用&#xff0c;以及它们如何引领新的办公趋势。…

初学stm32 --- 时钟配置

目录 stm32时钟系统 时钟源 &#xff08;1&#xff09; 2 个外部时钟源&#xff1a; &#xff08;2&#xff09;2 个内部时钟源&#xff1a; 锁相环 PLL PLLXTPRE&#xff1a; HSE 分频器作为 PLL 输入 (HSE divider for PLL entry) PLLSRC&#xff1a; PLL 输入时钟源 (PL…

【Java基础面试题025】什么是Java的Integer缓存池?

回答重点 Java的Integer缓存池&#xff08;Integer Cache&#xff09;是为了提升性能和节省内存。根据实践发现大部分的数据操作都集中在值比较小的范围&#xff0c;因此缓存这些对象可以减少内存分配和垃圾回收的负担&#xff0c;提升性能 在 -128到127范围内的Integer对象会…

[spring]XML配置文件标签

spring的XML配置文件的标签大体可以分为两种&#xff1a; 其中的默认标签&#xff0c;我们前面文章里面出现的标签都是默认标签&#xff0c;是spring本身自带的&#xff0c;不需要我们去引入其他东西。而自定义标签则是指非默认标签的其他的由我们或产品发行方自定义的对接spir…

简单的bytebuddy学习笔记

简单的bytebuddy学习笔记 此笔记对应b站bytebuddy学习视频进行整理&#xff0c;此为视频地址&#xff0c;此处为具体的练习代码地址 一、简介 ByteBuddy是基于ASM (ow2.io)实现的字节码操作类库。比起ASM&#xff0c;ByteBuddy的API更加简单易用。开发者无需了解class file …

vue3项目结合Echarts实现甘特图(可拖拽、选中等操作)

效果图&#xff1a; 图一&#xff1a;选中操作 图二&#xff1a;上下左右拖拽操作 本案例在echarts​​​​​​​示例机场航班甘特图的基础上修改​​​​​​​ 封装ganttEcharts组件&#xff0c;测试数据 airport-schedule.jsonganttEcharts代码: 直接复制粘贴可测​​​​…

Word使用分隔符实现页面部分分栏

文章目录 Word使用分隔符实现页面部分分栏分隔符使用页面设置 Word使用分隔符实现页面部分分栏 分隔符使用 word中的分隔符&#xff1a; 前面不分栏&#xff0c;后面分栏(或前面分栏&#xff0c;后面不分栏)&#xff0c;只需要在分隔位置处插入分隔符&#xff1a;“连续”即…

【安当产品应用案例100集】033-安当TDE透明加密在移动存储加密中的应用案例

背景介绍 随着移动互联网的普及&#xff0c;企业和个人越来越依赖移动存储设备&#xff0c;如U盘、移动硬盘以及云存储服务进行数据的存储和传输。然而&#xff0c;这种便捷性也带来了数据安全的隐患。如何确保存储在移动设备上的数据不被非法访问和泄露&#xff0c;成为企业和…

WebRTC搭建与应用(一)-ICE服务搭建

WebRTC搭建与应用(一) 近期由于项目需要在研究前端WebGL渲染转为云渲染&#xff0c;借此机会对WebRTC、ICE信令协议等有了初步了解&#xff0c;在此记录一下&#xff0c;以防遗忘。 第一章 ICE服务搭建 文章目录 WebRTC搭建与应用(一)前言一、ICE是什么&#xff1f;二、什么…

利用notepad++删除特定关键字所在的行

1、按组合键Ctrl H&#xff0c;查找模式选择 ‘正则表达式’&#xff0c;不选 ‘.匹配新行’ 2、查找目标输入 &#xff1a; ^.*关键字.*\r\n (不保留空行) ^.*关键字.*$ (保留空行)3、替换为&#xff1a;&#xff08;空&#xff09; 配置界面参考下图&#xff1a; ​​…

docker安装和换源

安装&#xff1a; https://www.runoob.com/docker/ubuntu-docker-install.html sudo apt-get remove docker docker-engine docker.io containerd runcsudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg-agent \software-properties-commoncurl -fsS…

创建第一个QML项目

文章目录 使用 Qt Creator 创建 Qt Quick 项目详解为什么选择 Qt Creator&#xff1f;1. 打开 Qt Creator2. 选择项目模板3. 设置项目名称与路径4. 定义项目细节5. 配置构建套件6. 检查项目配置7. 编译并运行项目后续操作修改界面添加功能 总结 使用 Qt Creator 创建 Qt Quick …

瑞吉外卖项目学习笔记(二)Swagger、logback、表单校验和参数打印功能的实现

瑞吉外卖项目学习笔记(一)准备工作、员工登录功能实现 文章目录 3 项目组件优化3.1 实现Swagger文档输出3.2 实现logback日志打印3.3 实现表单校验功能3.4 实现请求参数和响应参数的打印 3 项目组件优化 3.1 实现Swagger文档输出 1&#xff09;在application.yml中增加knife4…

基于字节大模型的论文翻译(含免费源码)

基于字节大模型的论文翻译 源代码&#xff1a; &#x1f44f; star ✨ https://github.com/boots-coder/LLM-application 展示 项目简介 本项目是一个基于大语言模型&#xff08;Large Language Model, LLM&#xff09;的论文阅读与翻译辅助工具。它通过用户界面&#xff08…