Chapter 5

5.1

Knowledge checks 知识检查

Which of the following statements correctly identify the differences between routing and forwarding. Select one or more statements. 下列哪项陈述正确地指出了路由和转发之间的区别。选择一个或多个语句。

  • Forwarding refers to determining the route taken by packets from source to destination, and is implemented in the control plane.
    转发是指确定数据包从源到目的地所采取的路由,在控制平面中实现。

  • Forwarding refers to moving packets from a router’s input to appropriate router output, and is implemented in the data plane.
    转发是指将数据包从路由器的输入移动到适当的路由器输出,并在数据平面中实现。

  • Routing refers to determining the route taken by packets from source to destination, and is implemented in the control plane.
    路由是指确定数据包从源到目的地所采取的路由,在控制平面中实现。

  • Forwarding refers to moving packets from a router’s input to appropriate router output, and is implemented in the control plane.
    转发是指将数据包从路由器的输入移动到适当的路由器输出,并在控制平面中实现。

  • Routing refers to moving packets from a router’s input to appropriate router output, and is implemented in the data plane.
    路由是指将数据包从路由器的输入移动到适当的路由器输出,并在数据平面中实现。

  • Forwarding refers to determining the route taken by packets from source to destination, and is implemented in the data plane.
    转发是指确定数据包从源到目的地所采取的路由,在数据平面中实现。

  • Routing refers to moving packets from a router’s input to appropriate router output, and is implemented in the control plane.
    路由是指将数据包从路由器的输入移动到适当的路由器输出,并在控制平面中实现。

  • Routing refers to determining the route taken by packets from source to destination, and is implemented in the data plane.
    路由是指确定数据包从源到目的地所采取的路由,在数据平面中实现。

答案:2 和 3,按照路由和转发的定义选择即可。


Match the name of the approach towards implementing a control plane with a description of how this approach works. 将实现控制平面的方法的名称与该方法如何工作的描述相匹配。

Question List: 问题清单:

  • Per-router control plane. 每个路由器的控制平面。
  • Software-defined networking (SDN). 软件定义网络(SDN)。

Answer List: 答案列表:

  1. A (typically) remote controller gathers information from routers, and then computes and installs the forwarding tables in routers. (通常)远程控制器从路由器收集信息,然后计算并在路由器中安装转发表。
  2. Individual routing algorithm components - with a component operating in each and every router - interact with each other in the control plane. The individual routing algorithm component executing in a given router computes the local fowarding table fir that router. 各个路由算法组件(每个路由器中都有一个运行的组件)在控制平面中相互交互。在给定路由器中执行的各个路由算法组件计算该路由器的本地转发表。
  3. The network operator installs forwarding tables using the Simple Network Management Protocols (SNMP). 网络运营商使用简单网络管理协议 (SNMP) 安装转发表。

以下是将控制平面实现方法与其描述匹配的结果:

  • Per-router control plane.
    2. Individual routing algorithm components - with a component operating in each and every router - interact with each other in the control plane. The individual routing algorithm component executing in a given router computes the local forwarding table for that router.
    (各个路由算法组件(每个路由器中都有一个运行的组件)在控制平面中相互交互。在给定路由器中执行的各个路由算法组件计算该路由器的本地转发表。)

  • Software-defined networking (SDN).
    1. A (typically) remote controller gathers information from routers, and then computes and installs the forwarding tables in routers.
    (通常)远程控制器从路由器收集信息,然后计算并在路由器中安装转发表。

选项 3(使用 SNMP 安装转发表)不直接适用于这两种方法,因此不被匹配。

5.2

Knowledge checks 知识检查

What is the definition of a “good” path for a routing protocol? Chose the best single answer. 路由协议的“好”路径的定义是什么?选择最佳单一答案。

  • A high bandwidth path. 高带宽路径。

  • A path that has little or no congestion. 一条很少或没有拥堵的路径。

  • A path that has a minimum number of hops. 具有最少跳数的路径。

  • Routing algorithms typically work with abstract link weights that could represent any of, or combinations of, all of the other answers. 路由算法通常使用抽象链接权重,该权重可以表示所有其他答案中的任何一个或其组合。

  • A low delay path. 低延迟路径。

答案:4,这个根据视频内容判断即可。


Consider Dijkstra’s link-state routing algorithm that is computing a least-cost path from node a to other nodes b, c, d, e, f. Which of the following statements is true. (Refer to Section 5.2 in the text for notation.) 考虑 Dijkstra 的链路状态路由算法,该算法计算从节点 a 到其他节点 b、c、d、e、f 的最低成本路径。以下哪项陈述是正确的。 (有关符号,请参阅正文中的第 5.2 节。)

  • Suppose nodes b, c, and d are in the set N’. These nodes will remain in N’ for the rest of the algorithm, since the least-cost paths from a to b, c, and d are known. 假设节点 b、c 和 d 在集合 N' 中。这些节点将在算法的其余部分保留在 N' 中,因为从 a 到 b、c 和 d 的最低成本路径是已知的。

  • The values computed in the vector D(v), the currently known least cost of a path from a to any node v, will never increase following an iteration. 在向量 D(v) 中计算的值(当前已知的从 a 到任何节点 v 的路径的最低成本)在迭代后永远不会增加。

  • The values computed in the vector D(v), the currently known least cost of a path from a to any node v, will always decrease following an iteration. 在向量 D(v) 中计算的值(当前已知的从 a 到任何节点 v 的路径的最小成本)将在迭代后始终减少。

  • In the initialization step, the initial cost from a to each of these destinations is initialized to either the cost of a link directly connecting a to a direct neighbor, or infinity otherwise. 在初始化步骤中,从 a 到每个目的地的初始成本被初始化为直接将 a 连接到直接邻居的链路的成本,否则初始化为无穷大。

  • Following the initialization step, if nodes b and c are directly connected to a, then the least cost path to b and c will never change from this initial cost. 在初始化步骤之后,如果节点 b 和 c 直接连接到 a,则到 b 和 c 的最小成本路径将永远不会从该初始成本改变。

答案:124。

在考虑 Dijkstra 的链路状态路由算法时,以下陈述是正确的:

  1. Suppose nodes b, c, and d are in the set N’. These nodes will remain in N’ for the rest of the algorithm, since the least-cost paths from a to b, c, and d are known.
    这个陈述是正确的。Dijkstra 算法的一个关键特性是,一旦某个节点的最短路径被确定(即该节点被添加到集合 N' 中),该路径就不会再改变。因此,节点 b、c 和 d 一旦进入 N',它们的路径就会保持不变。

其他选项分析:

  1. The values computed in the vector D(v), the currently known least cost of a path from a to any node v, will never increase following an iteration.
    这个陈述是正确的,但它不如第一个陈述具体。Dijkstra 算法的设计保证了 D(v) 的值在每次迭代后不会增加。

  2. The values computed in the vector D(v), the currently known least cost of a path from a to any node v, will always decrease following an iteration.
    这个陈述是错误的。D(v) 的值不会增加,但也不一定每次迭代都会减少。

  3. In the initialization step, the initial cost from a to each of these destinations is initialized to either the cost of a link directly connecting a to a direct neighbor, or infinity otherwise.
    这个陈述是正确的,但并不是唯一的正确陈述。

  4. Following the initialization step, if nodes b and c are directly connected to a, then the least cost path to b and c will never change from this initial cost.
    这个陈述是错误的。如果在后续迭代中发现更低的成本路径,Dijkstra 算法可能会更新 b 和 c 的路径成本。

因此,综合考虑,第一个选项是最直接且完整的正确描述。


Match the name of a general approach to routing with characteristics of that approach. 将通用路由方法的名称与该方法的特征相匹配。

Question List: 问题清单:

  • Centralized, global routing. 集中式全球路由。

  • Decentralized routing. 分散路由。

  • Static routing. 静态路由。

  • Dynamic routing. 动态路由。

Answer List: 答案列表:

  1. Routing changes quickly over time. 路由随着时间的推移而快速变化。
  2. Routes change slowly over time. 路线随着时间的推移而缓慢变化。
  3. An iterative process of computation, exchange of informatoin with neighbors. Routers may initially only know link costs to directly-attached neighbors. 计算的迭代过程,与邻居交换信息。路由器最初可能只知道直接连接的邻居的链路成本。
  4. All routers have complete topology, and link cost information. 所有路由器都有完整的拓扑和链路成本信息。

答案:4321。

将通用路由方法与其特征匹配如下:

  1. Centralized, global routing.
    Answer: All routers have complete topology, and link cost information.
    解释: 集中式全球路由方法中,所有路由器都拥有完整的网络拓扑和链路成本信息。

  2. Decentralized routing.
    Answer: An iterative process of computation, exchange of information with neighbors. Routers may initially only know link costs to directly-attached neighbors.
    解释: 分散路由依赖于路由器之间的信息交换,路由器可能最初只知道直接连接邻居的链路成本。

  3. Static routing.
    Answer: Routes change slowly over time.
    解释: 静态路由方法中的路由在较长时间内保持不变,通常需要手动配置。

  4. Dynamic routing.
    Answer: Routing changes quickly over time.
    解释: 动态路由方法允许路由根据网络状态的变化快速调整。


Consider the graph shown below and the use of Dijkstra’s algorithm to compute a least cost path from a to all destinations. Suppose that nodes b and d have already been added to N’. What is the next node to be added to N' (refer to the text for an explanation of notation). 考虑下图并使用 Dijkstra 算法来计算从 a 到所有目的地的最低成本路径。假设节点 b 和 d 已经被添加到 N'中。下一个要添加到 N' 的节点是什么(请参阅文本以获取符号说明)。

答案:\(e\)

在使用 Dijkstra 算法时,一旦节点 (b) 和 (d) 被添加到集合 (N') 中,接下来要添加的节点是 (N') 中与源节点 (a) 的最短路径相关联的节点。在计算中,Dijkstra 算法会选择当前已知的最小成本路径的节点。

为了确定下一个节点,您需要查看以下信息:

  1. 从节点 (a) 到 (b) 的最短路径的成本。
  2. 从节点 (a) 到 (d) 的最短路径的成本。
  3. 从 (b) 和 (d) 直接连接的其他未在 (N') 中的节点的成本。

比较这些节点的最小路径成本,选择其中成本最低的节点添加到 (N')。

这里对应的最小成本点就是\(e\)


Consider the graph shown below and the use of Dijkstra’s algorithm to compute a least cost path from a to all destinations. Suppose that nodes b and d have already been added to N’. What is the path cost to the next node to be added to N' (refer to the text for an explanation of notation). 考虑下图并使用 Dijkstra 算法来计算从 a 到所有目的地的最低成本路径。假设节点 b 和 d 已经被添加到 N'中。到要添加到 N' 的下一个节点的路径成本是多少(请参阅文本以获取符号说明)。

答案:4。


5.3

Knowledge checks 知识检查

Match the terms "interdomain routing" and intradomain routing" with their definitions. Recall that in Internet parlance, an “AS” refers to “Autonomous System” – a network under the control of a single organization. 将术语“域间路由”和域内路由”与其定义相匹配。回想一下,在互联网用语中,“AS”指的是“自治系统”——单个组织控制下的网络。

Question List: 问题清单:

  • Interdomain routing. 域间路由。

  • Intradomain routing. 域内路由。

Answer List: 答案列表:

  1. Routing among routers within same AS (“network”). 同一 AS(“网络”)内的路由器之间的路由。
  2. Forwarding packets between two interfaces in different but adjacent subnetworks. 在不同但相邻子网中的两个接口之间转发数据包。
  3. Forwarding packets between two physically connected interfaces in a common subnetwork. 在公共子网中两个物理连接的接口之间转发数据包。
  4. Routing among different ASes (“networks”). 不同 AS(“网络”)之间的路由。

将术语“域间路由”和“域内路由”与其定义匹配如下:

  • Interdomain routing. 域间路由。
    Routing among different ASes (“networks”).
    不同 AS(“网络”)之间的路由。

  • Intradomain routing. 域内路由。
    Routing among routers within same AS (“network”).
    同一 AS(“网络”)内的路由器之间的路由。


Check the one or more of the following statements about the OSPF protocol that are true. 检查下列有关 OSPF 协议的一项或多项陈述是否正确。

  • OSPF implements hierarchical routing OSPF 实现分层路由

  • OSFP uses a Dijkstra-like algorithm to implement least cost path routing. OSFP 使用类似 Dijkstra 的算法来实现最低成本路径路由。

  • The Open Shortest Path First (OSPF) Internet routing protocol implements a Bellman-Ford distance-vector routing algorithm. 开放最短路径优先 (OSPF) Internet 路由协议实现 Bellman-Ford 距离矢量路由算法。

  • OSPF is an intra-domain routing protocol. OSPF 是一种域内路由协议。

  • OSPF is an interdomain routing protocol. OSPF 是一种域间路由协议。

答案:124。


Consider the OSPF routing protocol. Which of the following characteristics are associated with OSPF (as opposed to BGP)? 考虑 OSPF 路由协议。以下哪些特征与 OSPF(相对于 BGP)相关?

  • Policy, rather than performance (e.g., least cost path), determines paths that used. 策略而不是性能(例如,最低成本路径)决定所使用的路径。

  • Is an intra-domain routing protocol. 是一种域内路由协议。

  • Finds a least cost path from source to destination. 找到从源到目的地的最低成本路径。

  • Floods link state control information. 洪泛链路状态控制信息。

  • Is an inter-domain routing protocol. 是一种域间路由协议。

与 OSPF(相对于 BGP)相关的特征包括:

  1. Is an intra-domain routing protocol.
    是一种域内路由协议。

  2. Finds a least cost path from source to destination.
    找到从源到目的地的最低成本路径。

  3. Floods link state control information.
    洪泛链路状态控制信息。

5.4

Knowledge checks 知识检查

Among the following protocols, terminology or considerations, indicate those that are associated with "routing within a single network (typically owned and operated by one organization)." 在以下协议、术语或注意事项中,表示与“单个网络内的路由(通常由一个组织拥有和运营)”相关的协议、术语或注意事项。

  • inter-domain routing 域间路由
  • intra-domain routing 域内路由
  • inter-AS routing 域间路由
  • Driven more by performance than by routing policy 更多地由性能驱动而不是由路由策略驱动
  • Driven more by routing policy than end-end routing performance 更多地由路由策略驱动而不是端到端路由性能
  • intra-AS routing AS 内路由
  • OSPF 开放式 SPF 协议
  • BGP 边界网关协议

与“单个网络内的路由(通常由一个组织拥有和运营)”相关的协议、术语或注意事项包括:

  1. intra-domain routing
    域内路由

  2. Driven more by performance than by routing policy
    更多地由性能驱动而不是由路由策略驱动

  3. intra-AS routing
    AS 内路由

  4. OSPF
    开放式 SPF 协议


Suppose a provider network only wants to carry traffic to/from its customer networks (i.e., to provide no transit service), and customer networks only want to carry traffic to/from itself. Consider the figure below. To implement this policy, to which of the following networks would network C advertise the path Cy? 假设提供商网络只想承载往返于其客户网络的流量(即,不提供中转服务),而客户网络只想承载往返于其自身的流量。考虑下图。为了实施该策略,网络 C 将向以下哪个网络通告路径 Cy?

  • w
  • A
  • x
  • B

答案:234。


Again, suppose a provider network only wants to carry traffic to/from its customer networks (i.e., to provide no transit service), and customer networks only want to carry traffic to/from itself. Suppose C has advertised path Cy to A. To implement this policy, to which of the following networks would network A advertise the path ACy? 再次,假设提供商网络只想承载往返于其客户网络的流量(即,不提供中转服务),并且客户网络只想承载往返于其自身的流量。假设 C 已将路径 Cy 通告给 A,为了实施该策略,网络 A 将路径 ACy 通告给以下哪个网络?

  • C
  • x
  • B
  • w

答案:4。


Again, suppose a provider network only wants to carry traffic to/from its customer networks (i.e., to provide no transit service), and customer networks only want to carry traffic to/from itself. Suppose C has advertised path Cy to x. To implement this policy, to which of the following networks would network x advertise the path xCy? 再次,假设提供商网络只想承载往返于其客户网络的流量(即,不提供中转服务),并且客户网络只想承载往返于其自身的流量。假设 C 已通告到 x 的路径 Cy。为了实施此策略,网络 x 将向以下哪个网络通告路径 xCy?

  • w
  • None of these other networks 这些其他网络都没有
  • A
  • B
  • C

答案:2。


Consider routers 2c and 2d in Autonomous System AS2 in the figure below. Indicate the flavor of BGP and the router from which each of 2c and 2d learns about the path to destination x. 考虑下图中自治系统 AS2 中的路由器 2c 和 2d。指示 BGP 的风格以及 2c 和 2d 从中获知到目的地 x 的路径的路由器。

Question List: 问题清单:

  • How does router 2c learn of the path AS3, X to destination network X? 路由器 2c 如何获知到目标网络 X 的路径 AS3, X?

  • How does router 2d learn of the path AS3, X to destination network X? 路由器 2d 如何获知到目标网络 X 的路径 AS3, X?

Answer List: 答案列表:

  1. From 2c via eBGP. 从 2c 通过 eBGP。
  2. From 3a via iBGP. 从 3a 通过 iBGP。
  3. From 2c via iBGP. 从 2c 通过 iBGP。
  4. From 3a via eBGP. 从 3a 通过 eBGP。
  5. From x via eBGP. 从 x 通过 eBGP。

根据图示中自治系统 AS2 的拓扑结构,以下是关于路由器 2c 和 2d 如何获知到目标网络 X 的路径的答案:

  • 路由器 2c 如何获知到目标网络 X 的路径 AS3, X?

    • 从 3a 通过 eBGP。(答案 4)
  • 路由器 2d 如何获知到目标网络 X 的路径 AS3, X?

    • 从 2c 通过 iBGP。(答案 3)

因此,2c 从 3a 学习到路径,而 2d 则通过 iBGP 从 2c 学习到该路径。

解释:

在这个场景中,我们有两个路由器 2c 和 2d,它们位于自治系统 AS2 中。它们学习到目标网络 X 的路径的方式与 BGP(边界网关协议)的工作机制有关。

  1. 路由器 2c 如何获知到目标网络 X 的路径 AS3, X?

    • 从 3a 通过 eBGP。
      2c 是一个边界路由器,它通过与 AS3 的路由器 3a 建立 eBGP 连接来获取目标网络 X 的路径信息。eBGP(外部 BGP)用于不同自治系统之间的路由信息交换,因此 2c 从 3a 学习到 AS3 的路径信息。
  2. 路由器 2d 如何获知到目标网络 X 的路径 AS3, X?

    • 从 2c 通过 iBGP。
      2d 与 2c 在同一个自治系统 AS2 中,因此它们通过 iBGP(内部 BGP)进行通信。iBGP 用于同一自治系统内的路由器之间交换路由信息。因此,2d 从 2c 学习到关于目标网络 X 的路径信息。

总的来说,2c 通过 eBGP 与外部自治系统 AS3 获取信息,而 2d 则通过 iBGP 从同一自治系统中的另一个路由器(2c)获取信息。

5.5

Knowledge checks 知识检查

Consider the SDN layering shown below. Match each layer name below with a layer label (a), (b) or (c) as shown in the diagram. 考虑如下所示的 SDN 分层。将下面的每个图层名称与图层标签 (a)、(b) 或 (c) 匹配,如图所示。

Question List: 问题清单:

  • SDN Controller (network operating system) SDN 控制器(网络操作系统)

  • SDN-controlled switches SDN 控制的交换机

  • Network-control applications 网络控制应用

Answer List: 答案列表

答案:123。


Which of the functions below belong in the controller layer labeled "Interface, abstractions for network control apps"? Check all below that apply. 以下哪些功能属于标记为“网络控制应用程序的接口、抽象”的控制器层?检查以下所有适用项。

  • OpenFlow protocol 开放流协议
  • Link-state information 链路状态信息
  • Switch information 开关信息
  • Network graph 网络图
  • Host information 主机信息
  • Statistics 统计数据
  • Intent 意图
  • Flow tables 流表

答案:未知。


Which of the functions below belong in the controller layer labeled "Network-wide distributed, robust state management"? Check all below that apply. 以下哪些功能属于标有“全网分布式、鲁棒状态管理”的控制器层?检查以下所有适用项。

  • Host information 主机信息
  • Network graph 网络图
  • Link-state information 链路状态信息
  • Intent 意图
  • Switch information 开关信息
  • OpenFlow protocol 开放流协议
  • Flow tables 流表
  • Statistics 统计数据

答案:未知。


Which of the functions below belong in the controller layer labeled "Communication to/from controlled device"? Check all below that apply. 以下哪些功能属于标记为“与受控设备通信”的控制器层?检查以下所有适用项。

  • Statistics 统计数据
  • Host information 主机信息
  • Flow tables 流表
  • Network graph 网络图
  • Intent 意图
  • Link-state information 链路状态信息
  • Switch information 开关信息
  • OpenFlow protocol 开放流协议

答案:未知。

5.6

Knowledge checks 知识检查

Which of the statements below about ICMP are true? 以下关于 ICMP 的哪些陈述是正确的?

  • ICMP communicates information between hosts and routers by marking bits in the IP header. ICMP 通过在 IP 标头中标记位来在主机和路由器之间传递信息。
  • ICMP messages are carried directly in IP datagrams rather than as payload in UDP or TCP segments. ICMP 消息直接在 IP 数据报中携带,而不是作为 UDP 或 TCP 段中的有效负载。
  • ICMP messages are carried in UDP segments using port number 86. ICMP 消息使用端口号 86 在 UDP 段中承载。
  • ICMP is used by hosts and routers to communicate network-level information. ICMP 被主机和路由器用来传递网络级信息。
  • The TTL-expired message type in ICMP is used by the traceroute program. ICMP 中的 TTL 过期消息类型由 Traceroute 程序使用。

答案:245。

以下关于 ICMP 的陈述是正确的:

  1. ICMP messages are carried directly in IP datagrams rather than as payload in UDP or TCP segments.
    ICMP 消息确实直接嵌入在 IP 数据报中,而不是作为 UDP 或 TCP 的有效负载。

  2. ICMP is used by hosts and routers to communicate network-level information.
    ICMP 被主机和路由器用来传递网络级信息,例如错误报告和诊断信息。

  3. The TTL-expired message type in ICMP is used by the traceroute program.
    Traceroute 程序使用 ICMP 的 TTL 过期消息类型来跟踪数据包到达目的地的路径。

不正确的陈述:

  • ICMP communicates information between hosts and routers by marking bits in the IP header.
    ICMP 不通过标记 IP 头中的位来传递信息,而是通过 ICMP 消息。

  • ICMP messages are carried in UDP segments using port number 86.
    ICMP 消息并不通过 UDP 段承载,也没有特定的 UDP 端口号(包括 86)。