Skip to content

Latest commit

 

History

History
185 lines (139 loc) · 8.45 KB

File metadata and controls

185 lines (139 loc) · 8.45 KB

P10 考虑使用 32 比特主机地址的某数据报网络。假定一台路由器具有 4 条链路,编号为 0 ~ 3,分组被转发到如下的各链路端口

目的地址范围 链路接口
1110 0000 0000 0000 0000 0000 0000 00001110 0000 0011 1111 1111 1111 1111 1111 0
1110 0000 0100 0000 0000 0000 0000 00001110 0000 0100 0000 1111 1111 1111 1111 1
1110 0000 0100 0001 0000 0000 0000 00001110 0001 0111 1111 1111 1111 1111 1111 2
其他 3

a. 提供一个具有 4 个表项的转发表,使用最长前缀匹配,转发分组到正确的链路接口。

b. 描述你的转发表是如何为具有下列目的地址的数据报决定适当链路接口的。

1100 1000 1001 0001 0101 0001 0101 0101

1110 0001 0100 0000 1100 0011 0011 1100

1110 0001 1000 0000 0001 0001 0111 0111

  • a.

    子网前缀 端口号
    1110 0000 00 0
    1110 0000 0100 0000 1
    1110 000 2
    1110 0001 1 3
    其他 3
  • b.

  • 对于地址 1100 1000 1001 0001 0101 0001 0101 0101 进行最长前缀匹配,发现它能匹配的是端口 3

  • 对于地址 1110 0001 0100 0000 1100 0011 0011 1100 进行最长前缀匹配,发现它能匹配的是端口 2

  • 对于地址 1110 0001 1000 0000 0001 0001 0111 0111 进行最长前缀匹配,发现它能匹配的是端口 3

P11 考虑使用 8 比特主机地址的某数据报网络。假定一台路由器使用最长前缀匹配并具有下列转发表

前缀匹配 接口
00 0
010 1
011 2
10 2
11 3

对这 4 个接口中的每个,给出相应的目的主机地址的范围和在该范围中的地址数量。

  • 对于端口 0

    • 0.0.0.0 ~ 63.255.255.255 总共有 2^30 = 1073741824 个地址
  • 对于端口 1

    • 64.0.0.0 ~ 95.255.255.255 总共有 2^30 + 2^29 - 2^30 = 2^29 = 536870912
  • 对于端口 2

    • 96.0.0.0 ~ 127.255.255.255 总共有 536870912
  • 对于端口 2

    • 128.0.0.0 ~ 191.255.255.255 总共有 1073741824 个地址
    • 对于端口 2,总共有 1610612734 个地址
  • 对于端口 3

    • 192.0.0.0 ~ 255.255.255.255 总共有 1073741824 个地址

P12 考虑使用 8 比特主机地址的数据报网络,假定一台路由器使用最长前缀匹配并具有下列转发表。

前缀匹配 接口
1 0
10 1
111 2
其他 3

对这 4 个接口中的每个,给出相应的目的主机地址的范围和在该范围中的地址数量。

  • 对于端口 0

    • 范围是 1100 0000 ~ 1101 1111 总共有 2^5 = 32 个地址
  • 对于端口 1

    • 范围是 1000 0000 ~ 1011 1111 总共有 2^6 = 64 个地址
  • 对于端口 2

    • 范围是 1110 0000 ~ 1111 1111 总共有 2^5 = 32 个地址
  • 对于端口 3

    • 范围是 0000 0000 ~ 0111 1111 总共有 128 个地址

P13 考虑互联 3 个子网 (子网 1、子网 2 和子网 3) 的一台路由器。假定在这 3 个子网的每个子网中的所有接口要求具有前缀 223.1.17/24。还假定子网 1 要求支持多达 60 个接口,子网 2 要求支持多达 90 个接口和子网 3 要求支持多达 12 个接口。提供 3 个满足这些限制的网络地址 (形式为 a.b.c.d/x)。

  • 要求支持多达 60 个接口,那就分配给它 64 个,这需要 6 个比特,因此 223.1.17.0/26
  • 要求支持多达 90 个接口,那就分配给它 128 个,这需要 7 个比特,因此 223.1.17.128/25
  • 要求支持多达 12 个接口,那就分配给它 16 个,这需要 4 个比特,因此 23.1.17.192/28

P14 在 4.2.2 节中给出了一个转发表 (使用最长前缀匹配)。使用 a.b.c.d/x 记法代替二进制字符串记法,重写该转发表。

前缀匹配 链路接口
200.23.16/21 0
200.23.24/24 1
200.23.24/21 2
其他 3

P15 在习题 P10 中要求你给转发表(使用最长前缀匹配)。使用 a.b.c.d/x 记法代替二进制字符串记法,重写该转发表。

目的地址范围 链路接口
1110 0000 0000 0000 0000 0000 0000 0000 1110 0000 0011 1111 1111 1111 1111 1111 0
1110 0000 0100 0000 0000 0000 0000 0000 1110 0000 0100 0000 1111 1111 1111 1111 1
1110 0000 0100 0001 0000 0000 0000 0000 1110 0001 0111 1111 1111 1111 1111 1111 2
其他 3
子网前缀 端口号
1110 0000 00 0
1110 0000 0100 0000 1
1110 000 2
1110 0001 1 3
其他 3
子网前缀 端口号
224.0/10 0
224.64/16 1
224/7 2
225.128/9 3
其他 3

P16 考虑具有前缀 128.119.40.128/26 的一个子网。给出能被分配给该网络的一个 IP 地址(形式为 xxx.xxx.xxx.xxx)的例子。假定一个 ISP 拥有形式为 128.119.40.64/26 的地址块。假定它要从该地址块生成 4 个子网,每块具有相同数量的 IP 地址。这 4 个子网(形式为 a.b.c.d/x)的前缀是什么?

  • 128.119.40.128/26 写成二进制字符串

    • 119 = 64 + 32 + 16 + 4 + 2 + 1 = 0111 0111
    • 40 = 32 + 8 = 0010 1000
    • 最终结果为 10000000 01110111 00101000 00
    • 所以能够分配给该网络的一个 IP 地址为 128.119.40.32
  • 128.119.40.64/26 写成二进制字符串

    • 10000000 01110111 00101000 01 剩下 6 个比特来分配 IP 地址,故总共可以使用的 IP 地址有 2^6 个即 64 个,那么要分成 4 个子网,即每个子网 16 个。因此子网划分如下
    地址范围
    10000000 01110111 00101000 01000000 10000000 01110111 00101000 01001111
    10000000 01110111 00101000 01010000 10000000 01110111 00101000 01011111
    10000000 01110111 00101000 01100000 10000000 01110111 00101000 01101111
    10000000 01110111 00101000 01110000 10000000 01110111 00101000 01111111
    前缀匹配
    10000000 01110111 00101000 0100
    10000000 01110111 00101000 0101
    10000000 01110111 00101000 0110
    10000000 01110111 00101000 0111
    前缀匹配
    128.119.40.64/28
    128.119.40.80/28
    128.119.40.96/28
    128.119.40.112/28

P17 考虑图 4-17 中显示的拓扑。(在 12:00 以顺时针开始)标记具有主机的 3 个子网为网络 A、B 和 C。标记没有主机的子网为网络 D、E 和 F。

a. 为这 6 个子网分配网络地址,要满足下列限制:所有地址必须从 214.97.254/23 起分配;子网 A 应当具有足够地址以支持 250 个接口;子网 B 应当具有足够地址以支持 120 个接口;子网 C 应当具有足够地址以支持 120 个接口。当然,子网 D、E 和 F 应当支持两个接口。对于每个子网,分配采用的形式是 a.b.c.d/xa.b.c.d/x ~ e.f.g.h/y

b. 使用你对(a)部分的答案,为这 3 台路由器中的每台都提供转发表(使用最长前缀匹配)

  • a.

    • 214.97.254/23 剩下 9 个比特用来分配 IP 地址,数量为 2^9 = 512 个,铁定是够的,嗯。
    • 214.97.254/23 写成二进制字符串
      • 214 = 128 + 64 + 16 + 4 + 2 = 11010110
      • 97 = 64 + 32 + 1 = 01100001
      • 254 = 11111110
      • 11010110 01100001 1111111
    • 子网 A 要 250 个接口,那就是要 8 个比特,子网 B 和 C 都要 120 个接口,那各自要 7 个比特
    地址范围 子网前缀
    A 11010110 01100001 11111111 00000000 11010110 01100001 11111111 11111111 214.97.255/24
    B 11010110 01100001 11111110 00000000 11010110 01100001 11111110 01111000 214.97.254.0/25 ~ 214.97.254.0/29 (把后面这个子网从前面的子网范围内抠掉)
    C 11010110 01100001 11111110 10000000 11010110 01100001 11111110 11111111 214.97.254.128/25
    D 11010110 01100001 11111110 01111000 11010110 01100001 11111110 01111001 214.97.254.0/31
    E 11010110 01100001 11111110 00000010 11010110 01100001 11111110 00000011 214.97.254.2/31
    F 11010110 01100001 11111110 00000100 11010110 01100001 11111110 00000101 214.97.254.4/31

P18 使用美国因特网编码注册机构 (http://www.arin.net/whois)的 whois 服务来确定三所大学所用的 IP 地址块。whois 服务能被用于确定某个特定 IP 地址的确定地理位置吗?使用 www.maxmind.com 来确定位于这三所大学的 Web 服务器的位置。

// TODO