Chapter4
Chapter 4
4.1
Knowledge checks 知识检查
Check all of the statements below about where (in the network) the network layer is implemented that are true. 检查以下有关网络层在何处(在网络中)实现的所有陈述是否正确。
The network layer is implemented in routers in the network core. 网络层是在网络核心的路由器中实现的。
The network layer is implemented in Ethernet switches in a local area network. 网络层在局域网中的以太网交换机中实现。
The network layer is implemented in wired Internet-connected devices but not wireless Internet-connected devices. 网络层在有线互联网连接设备中实现,但在无线互联网连接设备中不实现。
The network layer is implemented in hosts at the network's edge. 网络层是在网络边缘的主机中实现的。
以下是对有关网络层在何处实现的各个陈述的分析:
The network layer is implemented in routers in the network core.
正确。网络层确实在网络核心的路由器中实现。路由器负责在不同网络之间转发数据包,这是网络层的主要功能。The network layer is implemented in Ethernet switches in a local area network.
错误。传统的以太网交换机工作在数据链路层(第二层),而不是网络层。虽然一些高级交换机(如多层交换机)可能实现网络层功能,但一般以太网交换机不处理网络层协议。The network layer is implemented in wired Internet-connected devices but not wireless Internet-connected devices.
错误。网络层不仅在有线互联网连接设备中实现,也在无线互联网连接设备中实现。无论是有线还是无线,设备都需要处理网络层协议以进行数据传输。The network layer is implemented in hosts at the network's edge.
正确。网络层也在网络边缘的主机中实现。每个主机(如计算机、智能手机等)都必须有能力处理网络层协议,以便在网络中发送和接收数据包。总结:
- 正确的陈述:1 和 4。
- 错误的陈述:2 和 3。
Consider the travel analogy discussed in the textbook - some actions
we take on a trip correspond to forwarding and other
actions we take on a trip correspond to routing. Which
of the following travel actions below correspond to
forwarding? The other travel actions that you don't
select below then correspond to routing.
考虑教科书中讨论的旅行类比 -
我们在旅行中采取的一些操作对应于转发,而我们在旅行中采取的其他操作对应于路由。以下哪些旅行操作对应于转发?下面未选择的其他出行操作则对应于路线。
A traveler decides to fly to Sydney through Singapore rather that Dubai. 一位旅客决定经新加坡而不是迪拜飞往悉尼。
A car takes the 3rd exit from a roundabout. 一辆车从环岛的第三个出口驶出。
A car takes highway 80 between New York and Chicago, rather than highway 87 to Albany and from there take Interstate 90 to Chicago. 汽车在纽约和芝加哥之间走 80 号高速公路,而不是走 87 号高速公路到奥尔巴尼,然后从那里走 90 号州际公路到芝加哥。
A climber decides to take the South Col Route to the top of Mt Everest rather than the Northeast Ridge route. 一名登山者决定走南坳路线而不是东北山脊路线登顶珠穆朗玛峰。
A car stops at an intersection to “gas-up” and take a “bathroom break” 一辆车停在十字路口“加油”并“上厕所休息”
A car waits at light and then turns left at the intersection. 一辆汽车在红绿灯处等待,然后在十字路口左转。
在旅行类比中,转发的概念与数据包在网络中的实际传输有关,而路由则涉及决定数据包应如何到达目标的策略和路径选择。因此,转发通常涉及具体的、即时的操作,而路由则涉及更高层次的决策。
根据这个标准,以下旅行操作对应于转发:
A car takes the 3rd exit from a roundabout.
这个操作是具体的、即时的行为,类似于网络中的数据包在路由器或交换机上的转发。A car waits at light and then turns left at the intersection.
这个操作也是具体的转发行为,类似于在路由器中对数据包的转发。A car stops at an intersection to “gas-up” and take a “bathroom break.”
在旅行类比中,“加油”和“上厕所休息”可以看作是转发,因为这些是具体的、短期的行动,类似于网络中数据包的转发。这些行为是为了支持旅程而进行的,而不是在更高层面上计划路线或决定目的地。对应于路由的操作:
- A traveler decides to fly to Sydney through Singapore rather than Dubai.
这是一个选择路径的决策,属于路由。- A car takes highway 80 between New York and Chicago, rather than highway 87 to Albany and from there take Interstate 90 to Chicago.
这同样是路径选择的策略,属于路由。- A climber decides to take the South Col Route to the top of Mt Everest rather than the Northeast Ridge route.
这是一个高层次的决策,属于路由。总结:
转发的旅行操作是:
- 一辆车从环岛的第三个出口驶出。
- 一辆汽车在红绿灯处等待,然后在十字路口左转。
- 一辆车停在十字路口“加油”并“上厕所休息
路由的旅行操作是:
- 一位旅客决定经新加坡而不是迪拜飞往悉尼。
- 汽车在纽约和芝加哥之间走 80 号高速公路,而不是走 87 号高速公路到奥尔巴尼,然后从那里走 90 号州际公路到芝加哥。
- 一名登山者决定走南坳路线而不是东北山脊路线登顶珠穆朗玛峰。
For each of the actions below, select those actions below that are
primarily in the network-layer data plane. The other actions that you
don't select below then correspond to control-plane actions.
对于下面的每个操作,请选择主要在网络层数据平面中的操作。下面未选择的其他操作对应于控制平面操作。
Looking up address bits in an arriving datagram header in the forwarding table. 在转发表中查找到达的数据报报头中的地址位。
Dropping a datagram due to a congested (full) output buffer. 由于输出缓冲区拥塞(已满)而丢弃数据报。
Monitoring and managing the configuration and performance of an network device. 监视和管理网络设备的配置和性能。
Moving an arriving datagram from a router’s input port to output port 将到达的数据报从路由器的输入端口移动到输出端口
Computing the contents of the forwarding table. 计算转发表的内容。
在网络层的数据平面中,主要操作包括与数据包的转发和处理相关的任务。根据这个定义,以下操作属于网络层数据平面:
Looking up address bits in an arriving datagram header in the forwarding table.
在转发表中查找到达的数据报报头中的地址位。Dropping a datagram due to a congested (full) output buffer.
由于输出缓冲区拥塞(已满)而丢弃数据报。Moving an arriving datagram from a router’s input port to output port.
将到达的数据报从路由器的输入端口移动到输出端口。而以下操作则对应于控制平面:
Monitoring and managing the configuration and performance of a network device.
监视和管理网络设备的配置和性能。Computing the contents of the forwarding table.
计算转发表的内容。
We've seen that there are two approaches towards implementing the
network control plane - a per-router control-plane approach and a
software-defined networking (SDN) control-plane approach. Which of the
following actions occur in a per-router control-plane approach? The
other actions that you don't select below then correspond to actions in
an SDN control plane.
我们已经看到有两种实现网络控制平面的方法 -
每个路由器控制平面方法和软件定义网络 (SDN)
控制平面方法。每个路由器控制平面方法中会发生以下哪些操作?下面未选择的其他操作对应于
SDN 控制平面中的操作。
All routers in the network send information about their incoming and outgoing links to a logically centralized controller. 网络中的所有路由器都将有关其传入和传出链路的信息发送到逻辑上集中的控制器。
Routers send information about their incoming and outgoing links to other routers in the network. 路由器将有关其传入和传出链路的信息发送到网络中的其他路由器。
A router exchanges messages with another router, indicating the cost for it (the sending router) to reach a destination host. 路由器与另一个路由器交换消息,指示它(发送路由器)到达目标主机的成本。
A control agent in router receives a complete forwarding table, which it installs and uses to locally control datagram forwarding. 路由器中的控制代理接收完整的转发表,并安装该转发表用于本地控制数据报转发。
答案:2 和 3。
以下是每个路由器控制平面方法中会发生的操作:
Routers send information about their incoming and outgoing links to other routers in the network.
路由器将有关其传入和传出链路的信息发送到网络中的其他路由器。A router exchanges messages with another router, indicating the cost for it (the sending router) to reach a destination host.
路由器与另一个路由器交换消息,指示它(发送路由器)到达目标主机的成本。这两个操作都反映了每个路由器控制平面的分散性质。在这种方法中,路由器自主收集并交换路由信息,而不是依赖集中控制。
Which of the following quality-of-service guarantees are part of the Internet’s best-effort service model? Check all that apply. 以下哪些服务质量保证是互联网尽力而为服务模式的一部分?检查所有适用的内容。
A guaranteed minimum bandwidth is provided to a source-to-destination flow of packets 为源到目的地的数据包流提供有保证的最小带宽
None of the other services listed here are part of the best-effort service model. Evidently, best-effort service really means no guarantees at all! 此处列出的其他服务均不属于尽力服务模型的一部分。显然,尽最大努力的服务实际上意味着没有任何保证!
Guaranteed delivery from sending host to receiving host. 保证从发送主机到接收主机的传送。
In-order datagram payload delivery to the transport layer of those datagrams arriving to the receiving host. 按顺序将数据报有效负载传送到到达接收主机的那些数据报的传输层。
Guaranteed delivery time from sending host to receiving host. 保证从发送主机到接收主机的传送时间。
答案: 2 。
在互联网的尽力而为服务模型中,以下服务质量保证不属于其范畴:
A guaranteed minimum bandwidth is provided to a source-to-destination flow of packets
为源到目的地的数据包流提供有保证的最小带宽。Guaranteed delivery from sending host to receiving host.
保证从发送主机到接收主机的传送。In-order datagram payload delivery to the transport layer of those datagrams arriving to the receiving host.
按顺序将数据报有效负载传送到到达接收主机的那些数据报的传输层。Guaranteed delivery time from sending host to receiving host.
保证从发送主机到接收主机的传送时间。而以下选项是正确的:
- None of the other services listed here are part of the best-effort service model. Evidently, best-effort service really means no guarantees at all!
此处列出的其他服务均不属于尽力服务模型的一部分。显然,尽最大努力的服务实际上意味着没有任何保证!因此,唯一正确的选项是关于“没有其他服务是尽力而为模型的一部分”,因为尽力而为模型确实不提供上述任何保证。
4.2
Knowledge checks 知识检查
Match the names of the principal router components (A,B,C,D below) with their function and whether they are in the network-layer data plane or control plane. 将主要路由器组件(下面的 A、B、C、D)的名称与其功能以及它们是否位于网络层数据平面或控制平面相匹配。
Question List: 问题清单:
- are ... (一) 是...
- is ... (B) 是...
- are ... (C) 是...
- is ... (D) 是...
Answer List: 答案列表:
- input ports, operating primarily in the control plane. 输入端口,主要在控制平面中运行。
- output ports, operating primarily in the data plane. 输出端口,主要在数据平面中操作。
- output ports, operating primarily in the control plane. 输出端口,主要在控制平面中运行。
- input ports, operating primarily in the data plane. 输入端口,主要在数据平面中操作。
- the routing processor, operating primarily in the data plane. 路由处理器,主要在数据平面中运行。
- the switching fabric, operating primarily in the data plane. 交换结构,主要在数据平面中运行。
- the routing processor, operating primarily in the control plane. 路由处理器,主要在控制平面中运行。
- the switching fabric, operating primarily in the control plane. 交换结构,主要在控制平面中运行。
答案:4627。
根据路由器的主要组件及其功能的描述,以下是正确的匹配:
- (A) 输入端口,主要在数据平面中操作。
- (B) 交换结构,主要在数据平面中运行。
- (C) 输出端口,主要在数据平面中操作。
- (D) 路由处理器,主要在控制平面中运行。
这样的分配表明输入和输出端口以及交换结构都处理数据流量,而路由处理器则负责控制平面上的路由决策。
Where in a router is the destination IP address looked up in a forwarding table to determine the appropriate output port to which the datagram should be directed? 路由器中的哪个位置在转发表中查找目标 IP 地址以确定数据报应定向到的适当输出端口?
- At the output port leading to the next hop towards the destination. 在通往目的地的下一跳的输出端口。
- Within the routing processor. 在路由处理器内。
- Within the switching fabric. 在交换结构内。
- At the input port where a packet arrives. 在数据包到达的输入端口。
正确答案是:
At the input port where a packet arrives. 在数据包到达的输入端口。
解释:
输入端口的作用:当数据包到达路由器时,它首先在输入端口被接收。在输入端口,路由器会检查数据包的目标 IP 地址,并在转发表中查找该地址,以确定应该将数据包转发到哪个输出端口。
转发表的查找:输入端口利用转发表(forwarding table)来匹配目标 IP 地址,以确定下一个跳跃的输出端口。这一过程是在数据包进入路由器的第一步进行的。
其他选项的分析:
- 输出端口:输出端口负责转发数据包,但不进行查找。
- 路由处理器:路由处理器负责管理控制平面功能,比如计算路由表,但实际的数据转发决策是在输入端口完成的。
- 交换结构:交换结构用于在输入和输出端口之间传递数据包,而不是进行目的地查找。
因此,数据报的目标 IP 地址是在输入端口被查找,以决定转发到哪个输出端口。
Where in a router does "match plus action" happen to determine the appropriate output port to which the arriving datagram should be directed? 路由器中的哪个位置会发生“匹配加操作”来确定到达的数据报应定向到的适当输出端口?
Within the switching fabric. 在交换结构内。
Within the routing processor. 在路由处理器内。
At the output port leading to the next hop towards the destination. 在通往目的地的下一跳的输出端口。
At the input port where a packet arrives. 在数据包到达的输入端口。
答案:4 ,解析参上。
Consider the following forwarding table below. Indicate the output to link interface to which a datagram with the destination addresses below will be forwarded under longest prefix matching. (Note: The list of addresses is ordered below. If two addresses map to the same output link interface, map the first of these two addresses to the first instance of that link interface.) [Note: You can find more examples of problems similar to this here.] 请考虑下面的转发表。指示链接接口的输出,具有以下目标地址的数据报将在最长前缀匹配下转发到该链接接口。 (注:地址列表按如下顺序排列。如果两个地址映射到同一输出链路接口,则将这两个地址中的第一个映射到该链路接口的第一个实例。) [注:您可以找到更多类似问题的示例到这里。]
Question List: 问题清单:
11001000 00010111 00010010 10101101
11001000 00010111 00011000 00001101
11001000 00010111 00011001 11001101
10001000 11100000 00011000 00001101
11001000 00010111 00011000 11001111
11001000 00010111 00010001 01010101
11001000 00010111 00011101 01101101
Answer List: 答案列表:
- This is the second destination address in the list that maps to output port 1. 这是列表中映射到输出端口1 的第二个目标地址。
- This is the second destination address in the list that maps to output port 2. 这是列表中映射到输出端口2 的第二个目标地址。
- This is the first destination address in the list that maps to output port 3. 这是列表中映射到输出端口3 的第一个目标地址。
- This is the second destination address in the list that maps to output port 0. 这是列表中映射到输出端口0 的第二个目标地址。
- This is the first destination address in the list that maps to output port 2. 这是列表中映射到输出端口2 的第一个目标地址。
- This is the first destination address in the list that maps to output port 0. 这是列表中映射到输出端口0的第一个目标地址。
- This is the first destination address in the list that maps to output port 1. 这是列表中映射到输出端口1 的第一个目标地址。
- This is the second destination address in the list that maps to output port 3. 这是列表中映射到输出端口3 的第二个目标地址。
答案:按照最长前缀进行匹配即可,6753142 。
Suppose a datagram is switched through the switching fabric and arrives to its appropriate output to find that there are no free buffers. In this case: 假设数据报通过交换结构交换并到达其适当的输出,发现没有空闲缓冲区。在这种情况下:
- The packet will be dropped (lost). 数据包将被丢弃(丢失)。
- Another packet will be removed (lost) from the buffer to make room for this packet. 另一个数据包将从缓冲区中删除(丢失),以为该数据包腾出空间。
- The packet will either be dropped or another packet will be removed (lost) from the buffer to make room for this packet, depending on policy. But the packet will definitely not be be sent back to the input port. 该数据包将被丢弃,或者另一个数据包将从缓冲区中删除(丢失),以为该数据包腾出空间,具体取决于策略。但数据包肯定不会被发送回输入端口。
- The packet will be sent back to the input port. 数据包将被发送回输入端口。
在数据报通过交换结构到达其适当的输出时,如果发现没有空闲缓冲区,那么通常会采取以下两种措施之一:
- 丢弃数据包:如果没有缓冲区可用,接收的包可能会被丢弃。
- 从缓冲区删除另一个包:根据策略,可能会选择删除一个已经存在的包,以腾出空间给当前包。
根据上述信息,正确的答案是:
The packet will either be dropped or another packet will be removed (lost) from the buffer to make room for this packet, depending on policy. But the packet will definitely not be sent back to the input port.
(该数据包将被丢弃,或者另一个数据包将从缓冲区中删除(丢失),以为该数据包腾出空间,具体取决于策略。但数据包肯定不会被发送回输入端口。)这一选择反映了交换机在面对缓冲区满的情况下的常见处理策略。
What is meant by Head of the Line (HOL) blocking? 队头 (HOL) 阻塞是什么意思?
A queued datagram waiting for service at the front of a queue prevents other datagrams in queue from moving forward in the queue. 在队列前面等待服务的排队数据报会阻止队列中的其他数据报在队列中向前移动。
Consider the pattern of red and green packet arrivals to a router’s output port queue, shown below. Suppose each packet takes one time slot to be transmitted, and can only begin transmission at the beginning of a time slot after its arrival. Indicate the sequence of departing packet numbers (at t = 1, 2, 3, 4, 5, 7, 8) under FCFS scheduling. Give your answer as 7 ordered digits (each corresponding to the packet number of a departing packet), with a single space between each digit, and no spaces before the first or after the last digit, e.g., in a form like 7 6 5 4 3 2 1). 考虑红色和绿色数据包到达路由器输出端口队列的模式,如下所示。假设每个数据包需要一个时隙来传输,并且只能在其到达后的一个时隙的开始处开始传输。指示FCFS调度下离开数据包编号的顺序(t = 1, 2, 3, 4, 5, 7, 8)。将您的答案作为 7 个有序数字(每个数字对应于出发数据包的数据包编号)给出,每个数字之间有一个空格,并且第一个数字之前或最后一个数字之后没有空格,例如,采用类似 7 6 5 4 的形式 3 2 1)。
在 FCFS(先来先服务)调度下,数据包将按照它们到达的顺序进行处理。假设红色和绿色数据包的到达模式如下:
- t = 1: 数据包 1 到达
- t = 2: 数据包 2 到达
- t = 3: 数据包 3 到达
- t = 4: 数据包 4 到达
- t = 5: 数据包 5 到达
- t = 7: 数据包 6 到达
- t = 8: 数据包 7 到达
根据 FCFS 调度,数据包的传输顺序为:
- t = 1: 数据包 1 开始传输并在 t = 1 完成。
- t = 2: 数据包 2 开始传输并在 t = 2 完成。
- t = 3: 数据包 3 开始传输并在 t = 3 完成。
- t = 4: 数据包 4 开始传输并在 t = 4 完成。
- t = 5: 数据包 5 开始传输并在 t = 5 完成。
- t = 7: 数据包 6 开始传输并在 t = 7 完成。
- t = 8: 数据包 7 开始传输并在 t = 8 完成。
因此,离开的数据包编号顺序为:
1 2 3 4 5 6 7
Consider the pattern of red and green packet arrivals to a router’s output port queue, shown below. Suppose each packet takes one time slot to be transmitted, and can only begin transmission at the beginning of a time slot after its arrival. Indicate the sequence of departing packet numbers (at t = 1, 2, 3, 4, 5, 7, 8) under priority scheduling, where red packets have higher priority. 考虑红色和绿色数据包到达路由器输出端口队列的模式,如下所示。假设每个数据包需要一个时隙来传输,并且只能在其到达后的一个时隙的开始处开始传输。表示优先级调度下离开的报文编号顺序(t = 1, 2, 3, 4, 5, 7, 8),其中红色报文具有更高的优先级。
Give your answer as 7 ordered digits (each corresponding to the packet number of a departing packet), with a single space between each digit, and no spaces before the first or after the last digit, e.g., in a form like 7 6 5 4 3 2 1). 将您的答案作为 7 个有序数字(每个数字对应于出发数据包的数据包编号)给出,每个数字之间有一个空格,并且第一个数字之前或最后一个数字之后没有空格,例如,采用类似 7 6 5 4 的形式 3 2 1)。
答案:1235476。按照题意进行分析即可。
Consider the pattern of red and green packet arrivals to a router’s output port queue, shown below. Suppose each packet takes one time slot to be transmitted, and can only begin transmission at the beginning of a time slot after its arrival. Indicate the sequence of departing packet numbers (at t = 1, 2, 3, 4, 5, 7, 8) under round robin scheduling, where red starts a round if there are both red and green packets ready to transmit after an empty slot. 考虑红色和绿色数据包到达路由器输出端口队列的模式,如下所示。假设每个数据包需要一个时隙来传输,并且只能在其到达后的一个时隙的开始处开始传输。指示循环调度下离开数据包编号的顺序(在 t = 1, 2, 3, 4, 5, 7, 8 时),其中如果在空时隙后同时有 红色和绿色数据包准备传输,则红色开始一轮。
Give your answer as 7 ordered digits (each corresponding to the packet number of a departing packet), with a single space between each digit, and no spaces before the first or after the last digit, e.g., in a form like 7 6 5 4 3 2 1). 将您的答案作为 7 个有序数字(每个数字对应于出发数据包的数据包编号)给出,每个数字之间有一个空格,并且第一个数字之前或最后一个数字之后没有空格,例如,采用类似 7 6 5 4 的形式 3 2 1)。
答案:1324576。直接按照题意进行分析即可。
Consider the pattern of red and green packet arrivals to a router’s output port queue, shown below. Suppose each packet takes one time slot to be transmitted, and can only begin transmission at the beginning of a time slot after its arrival. Indicate the sequence of departing packet numbers (at t = 1, 2, 3, 4, 5, 7, 8) under FCFS scheduling. Give your answer as 7 ordered digits (each corresponding to the packet number of a departing packet), with a single space between each digit, and no spaces before the first or after the last digit, e.g., in a form like 7 6 5 4 3 2 1). 考虑红色和绿色数据包到达路由器输出端口队列的模式,如下所示。假设每个数据包需要一个时隙来传输,并且只能在其到达后的一个时隙的开始处开始传输。指示FCFS调度下离开数据包编号的顺序(t = 1, 2, 3, 4, 5, 7, 8)。将您的答案作为 7 个有序数字(每个数字对应于出发数据包的数据包编号)给出,每个数字之间有一个空格,并且第一个数字之前或最后一个数字之后没有空格,例如,采用类似 7 6 5 4 的形式 3 2 1)。
答案:1234567。
Consider the pattern of red and green packet arrivals to a router’s output port queue, shown below. Suppose each packet takes one time slot to be transmitted, and can only begin transmission at the beginning of a time slot after its arrival. Indicate the sequence of departing packet numbers (at t = 1, 2, 3, 4, 5, 7, 8) under priority scheduling, where red packets have higher priority. 考虑红色和绿色数据包到达路由器输出端口队列的模式,如下所示。假设每个数据包需要一个时隙来传输,并且只能在其到达后的一个时隙的开始处开始传输。表示优先级调度下离开的报文编号顺序(t = 1, 2, 3, 4, 5, 7, 8),其中红色报文具有更高的优先级。
Give your answer as 7 ordered digits (each corresponding to the packet number of a departing packet), with a single space between each digit, and no spaces before the first or after the last digit, e.g., in a form like 7 6 5 4 3 2 1). 将您的答案作为 7 个有序数字(每个数字对应于出发数据包的数据包编号)给出,每个数字之间有一个空格,并且第一个数字之前或最后一个数字之后没有空格,例如,采用类似 7 6 5 4 的形式 3 2 1)。
答案:1243567。
Consider the pattern of red and green packet arrivals to a router’s output port queue, shown below. Suppose each packet takes one time slot to be transmitted, and can only begin transmission at the beginning of a time slot after its arrival. Indicate the sequence of departing packet numbers (at t = 1, 2, 3, 4, 5, 7, 8) under round robin scheduling, where red starts a round if there are both red and green packets ready to transmit after an empty slot. 考虑红色和绿色数据包到达路由器输出端口队列的模式,如下所示。假设每个数据包需要一个时隙来传输,并且只能在其到达后的一个时隙的开始处开始传输。指示循环调度下离开数据包编号的顺序(在 t = 1, 2, 3, 4, 5, 7, 8 时),其中如果在空时隙后同时有 红色和绿色数据包准备传输,则红色开始一轮。
Give your answer as 7 ordered digits (each corresponding to the packet number of a departing packet), with a single space between each digit, and no spaces before the first or after the last digit, e.g., in a form like 7 6 5 4 3 2 1). 将您的答案作为 7 个有序数字(每个数字对应于出发数据包的数据包编号)给出,每个数字之间有一个空格,并且第一个数字之前或最后一个数字之后没有空格,例如,采用类似 7 6 5 4 的形式 3 2 1)。
答案: 1243567。
4.3
Knowledge checks 知识检查
What are the principal components of the IPv4 protocol (check all that apply)? IPv4 协议的主要组成部分是什么(选中所有适用的选项)?
Packet handling conventions at routers (e.g., segmentation/reassembly) 路由器的数据包处理约定(例如,分段/重组)
IPv4 datagram format. IPv4 数据报格式。
IPv4 addressing conventions. IPv4 寻址约定。
Match each of the following fields in the IP header with its description, function or use. 将 IP 标头中的以下每个字段与其描述、功能或用途相匹配。
Question List: 问题清单:
Version field 版本字段
Type-of-service field 服务类型领域
Fragmentation offset field 碎片偏移字段
Time-to-live field 生存时间字段
Header checksum field 标头校验和字段
Upper layer field 上层场
Payload/data field 有效负载/数据字段
Datagram length field. 数据报长度字段。
Answer List: 答案列表:
- This field contains the Internet checksum of this datagram's header fields. 该字段包含该数据报报头字段的互联网校验和。
- This field contains ECN and differentiated service bits. 该字段包含 ECN 和差异化服务位。
- This field indicates the total number of bytes in datagram. 该字段表示数据报中的总字节数。
- This field is used for datagram fragmentation/reassembly. 该字段用于数据报分段/重组。
- This field contains the "protocol number" for the transport-layer protocol to which this datagram's payload will be demultiplexed - UDP or TCP, for example. 该字段包含传输层协议的“协议号”,该数据报的有效负载将被解复用到该传输层协议 - 例如 UDP 或 TCP。
- This field contains the IP protocol version number. 该字段包含 IP 协议版本号。
- This field contains a UDP or TCP segment, for example. 例如,该字段包含UDP 或 TCP 段。
- The value in this field is decremented at each router; when it reaches zero, the packet must be dropped. 该字段中的值在每个路由器上都会递减;当它达到零时,必须丢弃数据包。
以下是 IP 标头字段与其描述、功能或用途的匹配:
Version field 版本字段
答案: This field contains the IP protocol version number.
匹配: 该字段包含 IP 协议版本号。Type-of-service field 服务类型领域
答案: This field contains ECN and differentiated service bits.
匹配: 该字段包含 ECN 和差异化服务位。Fragmentation offset field 碎片偏移字段
答案: This field is used for datagram fragmentation/reassembly.
匹配: 该字段用于数据报分段/重组。Time-to-live field 生存时间字段
答案: The value in this field is decremented at each router; when it reaches zero, the packet must be dropped.
匹配: 该字段中的值在每个路由器上都会递减;当它达到零时,必须丢弃数据包。Header checksum field 标头校验和字段
答案: This field contains the Internet checksum of this datagram's header fields.
匹配: 该字段包含该数据报报头字段的互联网校验和。Upper layer field 上层场
答案: This field contains the "protocol number" for the transport-layer protocol to which this datagram's payload will be demultiplexed - UDP or TCP, for example.
匹配: 该字段包含传输层协议的“协议号”,该数据报的有效负载将被解复用到该传输层协议 - 例如 UDP 或 TCP。Payload/data field 有效负载/数据字段
答案: This field contains a UDP or TCP segment, for example.
匹配: 例如,该字段包含 UDP 或 TCP 段。Datagram length field 数据报长度字段
答案: This field indicates the total number of bytes in datagram.
匹配: 该字段表示数据报中的总字节数。
Which of the following statements is true regarding an IP address? (Zero, one or more of the following statements is true). 关于 IP 地址,以下哪项陈述是正确的? (以下陈述中的零个、一项或多项是正确的)。
- An IP address is associated with an interface. IP 地址与接口相关联。
- It is not necessary for a device using the IP protocol to actually have an IP address associated with it. 使用 IP 协议的设备实际上没有必要拥有与其关联的 IP 地址。
- If a host has more than one interface, then it has more that one IP address at which it can be reached. 如果一台主机有多个接口,那么它就有多个可以访问的 IP 地址。
- If a router has more than one interface, then it has more that one IP address at which it can be reached. 如果一台路由器有多个接口,那么它就有多个可以访问的 IP 地址。
以下是关于 IP 地址的各项陈述的评估:
An IP address is associated with an interface.
正确:每个 IP 地址确实是与网络接口相关联的,接口可以是物理或虚拟的。It is not necessary for a device using the IP protocol to actually have an IP address associated with it.
错误:任何使用 IP 协议的设备通常都需要有一个 IP 地址,以便能够在网络上进行通信。If a host has more than one interface, then it has more than one IP address at which it can be reached.
正确:如果主机有多个接口,通常会为每个接口分配一个或多个 IP 地址。If a router has more than one interface, then it has more than one IP address at which it can be reached.
正确:路由器通常会为每个接口分配一个 IP 地址,以便能够通过不同的接口进行路由。综上所述,正确的陈述是第 1、3 和 4 项。
What is meant by an IP subnet? (Check zero, one or more of the following characteristics of an IP subnet). IP 子网是什么意思? (检查 IP 子网的以下零个、一个或多个特征)。
A set of devices that have a common set of leading high order bits in their IP address. 一组设备,其 IP 地址中具有一组公共的前导高位。
A set of device interfaces that can physically reach each other without passing through an intervening router. 一组设备接口,无需通过中间路由器即可物理地相互到达。
Consider the three subnets in the diagram below. 考虑下图中的三个子网。
What is the maximum # of interfaces in the 223.1.2/24 network? 223.1.2/24 网络中的最大接口数是多少?
2**32
There's no a priori limit on the number of interfaces in this subnet. 此子网中的接口数量没有先验限制。
128
Two hosts, as shown in the figure. 两台主机,如图所示。
256
对于
223.1.2/24
网络,其子网掩码为 255.255.255.0,这表示网络部分占用 24 位,主机部分占用 8 位。在这种情况下,最大主机数可以通过以下公式计算:
\[ 2^{\text{主机位数}} - 2 \]
这里的主机位数是 8(因为 32 - 24 = 8),所以:
\[ 2^8 - 2 = 256 - 2 = 254 \]
减去 2 是因为一个地址用于网络地址(223.1.2.0),一个用于广播地址(223.1.2.255)。
所以,最大接口数是 254,但在选项中没有这个答案。如果选项提供了 256,那么它可以表示总的地址数(包括网络和广播地址),但实际可用的接口数量是 254。
因此,根据题意,答案应为 256,如果不考虑可用地址的限制。
Consider the three subnets in the diagram below. 考虑下图中的三个子网。
What is the maximum # of interfaces in the 223.1.3/29 network? 223.1.3/29 网络中的最大接口数是多少?
答案:8。计算方法参上。
Consider the three subnets in the diagram below. 考虑下图中的三个子网。
Which of the following addresses can not be used by an interface in the 223.1.3/29 network? Check all that apply. 223.1.3/29 网络中的接口不能使用以下哪个地址?检查所有适用的内容。
223.1.3.16
223.1.3.28
223.1.3.2
223.1.2.6
223.1.3.6
答案:124。
为了确定哪些地址不能用于 223.1.3/29 子网中的接口,我们需要先了解该子网的地址范围。
计算子网地址范围
子网掩码:
/29
表示子网掩码为 255.255.255.248,即11111111.11111111.11111111.11100000
。子网地址:
- 223.1.3.0/29 的子网地址是 223.1.3.0。
广播地址:
- 广播地址是子网地址加上所有主机位为 1 的地址,即 223.1.3.7。
可用主机地址范围:
- 可用的主机地址是从 223.1.3.1 到 223.1.3.6。
分析给定的地址
现在我们检查每个给定的地址是否在 223.1.3.0/29 子网的可用主机地址范围内:
223.1.3.16:
- 不在 223.1.3.0/29 子网的范围内,因为该子网的地址范围是 223.1.3.0 到 223.1.3.7。
223.1.3.28:
- 不在 223.1.3.0/29 子网的范围内,因为该子网的地址范围是 223.1.3.0 到 223.1.3.7。
223.1.3.2:
- 在 223.1.3.0/29 子网的范围内,属于可用主机地址。
223.1.2.6:
- 不在 223.1.3.0/29 子网的范围内,因为它属于 223.1.2.0/24 子网。
223.1.3.6:
- 在 223.1.3.0/29 子网的范围内,属于可用主机地址。
结论
不能用于 223.1.3/29 网络中的接口的地址是:
- 223.1.3.16
- 223.1.3.28
- 223.1.2.6
因此,答案是:
223.1.3.16, 223.1.3.28, 223.1.2.6
What is meant by saying that DHCP is a "plug and play" protocol? 说 DHCP 是“即插即用”协议是什么意思?
No manual configuration is needed for the host to join the network. 主机无需手动配置即可加入网络。
Which of the following statements about a DHCP request message are true (check all that are true). Hint: check out Figure 4.24 in the 7th and 8th edition of our textbook. 以下关于 DHCP 请求消息的陈述哪些是正确的(检查所有正确的)。提示:查看我们教科书第 7 版和第 8 版中的图 4.24。
A DHCP request message is sent broadcast, using the 255.255.255.255 IP destination address. 使用 255.255.255.255 IP 目标地址广播发送 DHCP 请求消息。
A DHCP request message is optional in the DHCP protocol. DHCP 请求消息在 DHCP 协议中是可选的。
The transaction ID in a DCHP request message is used to associate this message with previous messages sent by this client. DCHP 请求消息中的事务 ID 用于将该消息与该客户端发送的先前消息相关联。
A DHCP request message may contain the IP address that the client will use. DHCP 请求消息可能包含客户端将使用的 IP 地址。
The transaction ID in a DHCP request message will be used to associate this message with future DHCP messages sent from, or to, this client. DHCP 请求消息中的事务 ID 将用于将该消息与将来从此客户端发送或发送到该客户端的 DHCP 消息相关联。
A DHCP request message is sent from a DHCP server to a DHCP client. DHCP 请求消息从 DHCP 服务器发送到 DHCP 客户端。
答案:145。
关于 DHCP 请求消息,以下陈述是正确的:
- A DHCP request message is sent broadcast, using the 255.255.255.255 IP destination address.
- 正确,DHCP 请求消息通常使用广播地址 255.255.255.255 发送。
- A DHCP request message may contain the IP address that the client will use.
- 正确,DHCP 请求消息可以包含客户端希望使用的 IP 地址,通常是在请求一个特定的地址。
- The transaction ID in a DHCP request message will be used to associate this message with future DHCP messages sent from, or to, this client.
- 正确,事务 ID 也可以用于将请求与未来的 DHCP 消息关联。
以下陈述是错误的:
A DHCP request message is optional in the DHCP protocol.
- 错误,DHCP 请求消息是 DHCP 协议中的必要组成部分,用于请求 IP 地址和其他配置。
A DHCP request message is sent from a DHCP server to a DHCP client.
- 错误,DHCP 请求消息是由 DHCP 客户端发送到 DHCP 服务器的。
The transaction ID in a DHCP request message is used to associate this message with previous messages sent by this client.
- 错误,事务 ID 用于将请求与 DHCP 服务器的响应关联,而不是与客户端先前的消息关联。
Which of the following fields occur ONLY in the IPv6 datagram header (i.e., appear in the IPv6 header but not in the IPv4 header)? Check all that apply. 以下哪个字段仅出现在 IPv6 数据报报头中(即出现在 IPv6 报头中但不在 IPv4 报头中)?检查所有适用的内容。
The flow label field. 流标签字段。
128-bit source and destination IP addresses. 128 位源 IP 地址和目标 IP 地址。
What is the purpose of the Dynamic Host Configuration Protocol? 动态主机配置协议的目的是什么?
To obtain an IP address for a host attaching to an IP network. 获取连接到 IP 网络的主机的 IP 地址。
To get the 48-bit link-layer MAC address associated with a network-layer IP address. 获取与网络层 IP 地址关联的 48 位链路层 MAC 地址。
To configure the interface speed to be used, for hardware like Ethernet, which can be used at different speeds. 配置要使用的接口速度,对于以太网等可以以不同速度使用的硬件。
To configure the set of available open ports (and hence well-known services) for a server. 为服务器配置一组可用的开放端口(以及众所周知的服务)。
动态主机配置协议(Dynamic Host Configuration Protocol, DHCP)的主要目的是自动为连接到 IP 网络的主机分配和管理网络配置信息。具体来说,DHCP 的主要功能和目的包括:
获取连接到 IP 网络的主机的 IP 地址。
- 正确。DHCP 的主要功能之一是为连接到网络的主机自动分配 IP 地址。这样,主机无需手动配置 IP 地址,可以快速、方便地接入网络。
获取与网络层 IP 地址关联的 48 位链路层 MAC 地址。
- 错误。获取与网络层 IP 地址关联的 48 位链路层 MAC 地址通常是通过 ARP(Address Resolution Protocol)协议实现的,而不是 DHCP。
配置要使用的接口速度,对于以太网等可以以不同速度使用的硬件。
- 错误。接口速度的配置通常是在物理层或数据链路层进行的,而不是通过 DHCP 协议来管理。
为服务器配置一组可用的开放端口(以及众所周知的服务)。
- 错误。配置服务器的开放端口和服务通常是在应用层进行的,而不是通过 DHCP 协议来管理。
综上所述,动态主机配置协议(DHCP)的主要目的是:
获取连接到 IP 网络的主机的 IP 地址。
4.4
Knowledge checks 知识检查
Destination-based forwarding, which we studied in section 4.2, is a specific instance of match+action and generalized forwarding. Select the phrase below which best completes the following sentence: 我们在 4.2 节中研究的基于目的地的转发是匹配+动作和广义转发的一个具体实例。选择下面最能完成以下句子的短语:
"In destination-based forwarding, ..." “在基于目的地的转发中,......”
... after matching on the 48-bit link-layer destination MAC address, the action taken is to forward the datagram to the output port associated with that link-layer address. ...在匹配48 位链路层目标 MAC 地址后,采取的操作是将数据报转发到与该链路层地址关联的输出端口。
... after matching on the URL contained in an HTTP GET request in the TCP segment within the IP datagram, the action taken is to determine the IP address of the server associated with that URL, and to forward the datagram to the output port associated with that destination IP address. ...在匹配IP 数据报内 TCP 段中的 HTTP GET 请求中包含的 URL 后,所采取的操作是确定与该 URL 关联的服务器的 IP 地址,并将数据报转发到关联的输出端口与该目标 IP 地址。
... after matching on the destination IP address in the datagram header, the action taken is to decide whether or not to drop that datagram. ...在匹配数据报头中的目标 IP 地址之后,采取的操作是决定是否丢弃该数据报。
... after matching on the destination IP address in the datagram header, the action taken is to forward the datagram to the output port associated with that destination IP address. ...在匹配数据报头中的目标 IP 地址后,采取的操作是将数据报转发到与该目标 IP 地址关联的输出端口。
... after matching on the port number in the segment's header, the action taken is to forward the datagram to the output port associated with that port number. ...在匹配段标头中的端口号后,采取的操作是将数据报转发到与该端口号关联的输出端口。
... after matching on the port number in the segment's header, the action taken is to decide whether or not to drop the datagram containing that segment. ...在匹配段标头中的端口号后,采取的操作是决定是否删除包含该段的数据报。
... after matching on the source and destination IP address in the datagram header, the action taken is to forward the datagram to the output port associated with that source and destination IP address pair. ...在匹配数据报头中的源和目标 IP 地址后,所采取的操作是将数据报转发到与该源和目标 IP 地址对关联的输出端口。
在基于目的地的转发中,最合适的短语是:
"... after matching on the destination IP address in the datagram header, the action taken is to forward the datagram to the output port associated with that destination IP address."
"...在匹配数据报头中的目标 IP 地址后,采取的操作是将数据报转发到与该目标 IP 地址关联的输出端口。"这个短语准确地描述了基于目的地转发的核心过程,即通过匹配数据报头中的目标 IP 地址来确定将数据报转发到哪个输出端口。其他选项要么关注于不同的层次(如链路层或应用层),要么偏离了基于目的地的转发的定义。
Which of the following match+actions can be taken in the generalized OpenFlow 1.0 match+action paradigm that we studied in Section 4.4? Check all that apply. 我们在 4.4 节中研究的广义 OpenFlow 1.0 匹配+动作范例中可以采取以下哪些匹配+动作?检查所有适用的内容。
- ... after matching on the port number in the segment's header, the action taken is to decide whether or not to drop that datagram containing that segment. ...在匹配段标头中的端口号后,采取的操作是决定是否删除包含该段的数据报。
- ... after matching on the destination IP address in the datagram header, the action taken is to decide whether or not to drop that datagram. ...在匹配数据报头中的目标 IP 地址之后,采取的操作是决定是否丢弃该数据报。
- ... after matching on the URL contained in an HTTP GET request in the TCP segment within the IP datagram, the action taken is to determine the IP address of the server associated with that URL, and to forward the datagram to the output port associated with that destination IP address. ...在匹配IP 数据报内 TCP 段中的 HTTP GET 请求中包含的 URL 后,所采取的操作是确定与该 URL 关联的服务器的 IP 地址,并将数据报转发到关联的输出端口与该目标 IP 地址。
- ... after matching on the source and destination IP address in the datagram header, the action taken is to forward the datagram to the output port associated with that source and destination IP address pair. ...在匹配数据报头中的源和目标 IP 地址后,所采取的操作是将数据报转发到与该源和目标 IP 地址对关联的输出端口。
- ... after matching on the destination IP address in the datagram header, the action taken is to forward the datagram to the output port associated with that destination IP address. ...在匹配数据报头中的目标 IP 地址后,采取的操作是将数据报转发到与该目标 IP 地址关联的输出端口。
- ... after matching on the port number in the segment's header, the action taken is to forward the datagram to the output port associated with that destination IP address. ...在匹配段标头中的端口号后,采取的操作是将数据报转发到与该目标 IP 地址关联的输出端口。
- ... after matching** on the 48-bit link-layer destination MAC address, the action taken is to forward the datagram to the output port associated with that link-layer address. ...在匹配48 位链路层目标 MAC 地址后,采取的**操作**是将数据报转发到与该链路层地址关联的输出端口。
好的,让我们重新检查每个选项,并详细解释为什么某些选项是正确的或错误的。
重新分析每个选项
在匹配段标头中的端口号后,采取的操作是决定是否删除包含该段的数据报。
- 正确。OpenFlow 1.0 支持基于端口号的匹配,并且可以执行丢弃数据包的操作。例如,可以通过匹配特定的端口号来决定是否丢弃数据包。
在匹配数据报头中的目标 IP 地址之后,采取的操作是决定是否丢弃该数据报。
- 正确。OpenFlow 1.0 支持基于目标 IP 地址的匹配,并且可以执行丢弃数据包的操作。例如,可以通过匹配特定的目标 IP 地址来决定是否丢弃数据包。
在匹配 IP 数据报内 TCP 段中的 HTTP GET 请求中包含的 URL 后,所采取的操作是确定与该 URL 关联的服务器的 IP 地址,并将数据报转发到关联的输出端口与该目标 IP 地址。
- 错误。OpenFlow 1.0 的匹配字段不支持直接匹配 HTTP GET 请求中的 URL。它只能匹配 IP 地址、端口号等基本字段。因此,这种操作不在 OpenFlow 1.0 的能力范围内。
在匹配数据报头中的源和目标 IP 地址后,所采取的操作是将数据报转发到与该源和目标 IP 地址对关联的输出端口。
- 正确。OpenFlow 1.0 支持基于源和目标 IP 地址的匹配,并且可以执行转发数据包的操作。例如,可以通过匹配特定的源和目标 IP 地址对来决定将数据包转发到特定的输出端口。
在匹配数据报头中的目标 IP 地址后,采取的操作是将数据报转发到与该目标 IP 地址关联的输出端口。
- 正确。OpenFlow 1.0 支持基于目标 IP 地址的匹配,并且可以执行转发数据包的操作。例如,可以通过匹配特定的目标 IP 地址来决定将数据包转发到特定的输出端口。
在匹配段标头中的端口号后,采取的操作是将数据报转发到与该目标 IP 地址关联的输出端口。
- 正确。虽然 OpenFlow 1.0 支持基于端口号的匹配,但它也可以结合其他匹配条件(如目标 IP 地址)来决定将数据包转发到特定的输出端口。例如,可以设置一个规则,当匹配特定的端口号时,将数据包转发到与目标 IP 地址关联的输出端口。
在匹配 48 位链路层目标 MAC 地址后,采取的操作是将数据报转发到与该链路层地址关联的输出端口。
- 正确。OpenFlow 1.0 支持基于目标 MAC 地址的匹配,并且可以执行转发数据包的操作。例如,可以通过匹配特定的目标 MAC 地址来决定将数据包转发到特定的输出端口。
综上所述,正确的匹配+动作组合是:
- 在匹配段标头中的端口号后,采取的操作是决定是否删除包含该段的数据报。
- 在匹配数据报头中的目标 IP 地址之后,采取的操作是决定是否丢弃该数据报。
- 在匹配数据报头中的源和目标 IP 地址后,所采取的操作是将数据报转发到与该源和目标 IP 地址对关联的输出端口。
- 在匹配数据报头中的目标 IP 地址后,采取的操作是将数据报转发到与该目标 IP 地址关联的输出端口。
- 在匹配段标头中的端口号后,采取的操作是将数据报转发到与该目标 IP 地址关联的输出端口。
- 在匹配 48 位链路层目标 MAC 地址后,采取的操作是将数据报转发到与该链路层地址关联的输出端口。
Which of the following fields in the frame/datagram/segment/application-layer message can be matched in OpenFlow 1.0? Check all that apply. OpenFlow 1.0 中可以匹配帧/数据报/段/应用层消息中的以下哪些字段?检查所有适用的内容。
URL in HTTP message HTTP 消息中的 URL
IP source address IP 源地址
Upper layer protocol field 上层协议字段
IP destination address IP 目的地址
Source and/or destination port number 源和/或目标端口号
Number of bytes in the datagram 数据报中的字节数
Time-to-live field 生存时间字段
IP type-of-service field IP 服务类型字段
在 OpenFlow 1.0 中可以匹配的字段包括:
- IP source address (IP 源地址)
- IP destination address (IP 目的地址)
- Source and/or destination port number (源和/或目标端口号)
- IP type-of-service field (IP 服务类型字段)
- Upper layer protocol field (上层协议字段)
这些字段都是常用的匹配条件,可以用于决定如何处理流量。其他字段,如 HTTP 消息中的 URL、数据报中的字节数和生存时间字段,通常不在 OpenFlow 1.0 的匹配范围内。
Consider the figure below that shows the generalized forwarding table in a router. Recall that a _ represents a wildcard value. Now consider an arriving datagram with the IP source and destination address fields indicated below. For each source/destination IP address pair, indicate which rule is matched. Note: assume that a rule that is earlier in the table takes priority over a rule that is later in the table and that a datagram that matches none of the table entries is dropped. 考虑下图,它显示了路由器中的通用转发表。回想一下,_ 代表通配符值。现在考虑一个到达的数据报,其 IP 源和目标地址字段如下所示。对于每个源/目标 IP 地址对,指示匹配哪个规则。注意:假设表中较早的规则优先于表中较晚的规则,并且不匹配任何表条目的数据报将被删除。
Question List: 问题清单:
Source: 1.2.56.32 Destination:128.116.40.186 来源:1.2.56.32 目的地:128.116.40.186
Source: 65.92.15.27 Destination: 3.4.65.76 来源:65.92.15.27 目的地:3.4.65.76
Source: 10.1.2.3 Destination: 7.8.9.2 来源:10.1.2.3 目的地:7.8.9.2
Source: 10.1.34.56 Destination: 54.72.29.90 来源:10.1.34.56 目的地:54.72.29.90
Answer List: 答案列表:
- Rule 2, with action drop 规则 2,动作下降
- No match to any rule. 不符合任何规则。
- Rule 3, with action send to controller 规则 3,将操作发送至控制器
- Rule 1, with action forward(2) 规则 1,向前行动(2)
答案:1432。按照题目分析即可。
Consider the network below. We want to specify the match+action rules at s3 so that only the following network-wide behavior is allowed: 考虑下面的网络。我们希望在 s3 上指定 match+action 规则,以便只允许以下网络范围的行为:
- traffic from 128.119/16 and destined to 137.220/16 is forwarded on the direct link from s3 to s1; 来自 128.119/16、目的地址为 137.220/16 的流量通过 s3 到 s1 的直连链路转发;
- traffic from 128.119/16 and destined to 67.56/16 is forwarded on the direct link from s3 to s2; 从 128.119/16 到 67.56/16 的流量通过 s3 到 s2 的直连链路转发;
- incoming traffic via port 2 or 3, and destined to 128.119/16 is forwarded to 128.119/16 via local port 1. 通过端口 2 或 3 且发往 128.119/16 的传入流量将通过本地端口 1 转发到 128.119/16。
- No other forwarding should be allowed. In particular s3 should not forward traffic arriving from 137.220/16 and destined for 67.56/16 and vice versa. 不允许其他转发。特别是 s3 不应转发来自 137.220/16 且目的地为 67.56/16 的流量,反之亦然。
From the list of match+action rules below, select the rules to include in s3's flow table to implement this forwarding behavior. Assume that if a packet arrives and finds no matching rule, it is dropped. 从下面的 match+action 规则列表中,选择要包含在 s3 流表中的规则以实现此转发行为。假设如果数据包到达并且没有找到匹配的规则,则将其丢弃。
Input port: 3; Dest: 128.119/16 Action: forward(1) 输入端口:3 个;目的地:128.119/16 行动:转发(1)
Input port: 2; Dest: 67.56/16 Action: forward(3) 输入端口:2 个;目的地:67.56/16 行动:前进(3)
Input port: 2; Dest: 128.119/16 Action: forward(1) 输入端口:2 个;目的地:128.119/16 行动:转发(1)
Input port: 3; Dest: 137.220/16 Action: forward(2) 输入端口:3 个;目的地:137.220/16 行动:转发(2)
Input port:1 ; Dest: 137.220/16 Action: forward(3) 输入端口:1 个;目的地:137.220/16 行动:转发(3)
Input port: 1; Dest: 67.56/16 Action: forward(3) 输入端口:1 个;目的地:67.56/16 行动:前进(3)
Input port: 1; Dest: 67.56/16 Action: forward(2) 输入端口:1 个;目的地:67.56/16 行动:前进(2)
Input port:1 ; Dest: 137.220/16 Action: forward(2) 输入端口:1 个;目的地:137.220/16 行动:转发(2)
答案:1368 。注意直接走最近的即可,将\(s3\)作为中转站的情况不考虑。
Consider the network below. We want to specify the match+action rules at s3 so that s3 acts only as a relay for traffic between 137.220/16 and 67.56/16. In particular s3 should not accept/forward and traffic to/from 128.119/16. 考虑下面的网络。我们希望在 s3 上指定 match+action 规则,以便 s3仅充当 137.220/16 和 67.56/16 之间流量的中继。特别是 s3 不应接受/转发来自 128.119/16 的流量。
From the list of match+action rules below, select the rules to include in s3's flow table to implement this forwarding behavior. Assume that if a packet arrives and finds no matching rule, it is dropped. 从下面的 match+action 规则列表中,选择要包含在 s3 流表中的规则以实现此转发行为。假设如果数据包到达并且没有找到匹配的规则,则将其丢弃。
- Input port: 1; Dest: 67.56/16 Action: forward(3) 输入端口:1 个;目的地:67.56/16 行动:前进(3)
- Input port: 1; Dest: 67.56/16 Action: forward(2) 输入端口:1 个;目的地:67.56/16 行动:前进(2)
- Input port: 3; Dest: 137.220/16 Action: forward(2) 输入端口:3 个;目的地:137.220/16 行动:转发(2)
- Input port:1 ; Dest: 137.220/16 Action: forward(2) 输入端口:1 个;目的地:137.220/16 行动:转发(2)
- Input port:1 ; Dest: 137.220/16 Action: forward(3) 输入端口:1 个;目的地:137.220/16 行动:转发(3)
- Input port: 3; Dest: 128.119/16 Action: forward(1) 输入端口:3 个;目的地:128.119/16 行动:转发(1)
- Input port: 2; Dest: 67.56/16 Action: forward(3) 输入端口:2 个;目的地:67.56/16 行动:前进(3)
- Input port: 2; Dest: 128.119/16 Action: forward(1) 输入端口:2 个;目的地:128.119/16 行动:转发(1)
答案:37。注意\(S3\)作为中继站。
What is meant by generalized forwarding (as opposed to destination-based forwarding) in a router or switch? 路由器或交换机中的广义转发(与基于目的地的转发相反)是什么意思?
Any of several actions (including drop (block), forward to a given interface, or duplicate-and-forward) can be made based on the contents of one or more packet header fields. 可以根据一个或多个数据包报头字段的内容来执行多种操作中的任何一种(包括丢弃(阻止)、转发到给定接口或复制并转发)。
4.5
Knowledge checks 知识检查
Which of the following network devices can be thought of as a "middlebox"? Check all that apply. 以下哪些网络设备可以被视为“中间盒”?检查所有适用的内容。
- WiFi base station WiFi 基站
- IP router IP 路由器
- Network Address Translation box 网络地址转换框
- HTTP load balancer HTTP 负载均衡器
- HTTP cache HTTP 缓存
- SDN controller SDN 控制器
以下网络设备可以被视为“中间盒”:
Network Address Translation box (网络地址转换框)
- 用于在不同网络之间转换 IP 地址,是典型的中间盒。
HTTP load balancer (HTTP 负载均衡器)
- 用于分配流量到多个服务器,优化资源使用,也是中间盒的一种。
HTTP cache (HTTP 缓存)
- 用于存储和转发请求的响应,提高响应速度和减少带宽使用,也可以视为中间盒。
WiFi base station (WiFi 基站) 和 IP router (IP 路由器) 通常不被视为中间盒,因为它们主要负责数据包的转发而非内容的处理。SDN controller (SDN 控制器) 主要用于网络管理和控制,通常不被归类为中间盒。
因此,符合“中间盒”定义的设备是:
- 网络地址转换框
- HTTP 负载均衡器
- HTTP 缓存
What protocol (or protocols) constitutes the "thin waist" of the Internet protocol stack? Check all that apply. 哪些协议(或哪些协议)构成了互联网协议栈的“细腰”?检查所有适用的内容。
细腰"指的是 IP 协议,它在互联网协议栈中起着核心作用,连接了底层的链路层和上层的传输层。其他协议如 TCP、HTTP 等虽然重要,但不是"细腰"。
Which of the statements below are true statements regarding the "end-to-end principle"? Check all that apply. 以下哪些关于“端到端原则”的陈述是正确的?检查所有适用的内容。
The end-to-end argument advocates placing functionality at the network edge because some functionality cannot be completely and correctly implemented in the network, and so needs to be placed at the edge in any case, making in-network implementation redundant. 端到端论点主张将功能放置在网络边缘,因为某些功能无法在网络中完整、正确地实现,因此无论如何都需要放置在边缘,从而使网络内的实现变得多余。
The end-to-end argument advocates placing functionality at the network edge to optimize performance, such as end-end delay. 端到端论点主张将功能放置在网络边缘以优化性能,例如端到端延迟。
The end-to-end argument allows that some redundant functionality might be placed both in-network and at the network edge in order to enhance performance. 端到端的论点允许一些冗余功能可以放置在网络内和网络边缘,以增强性能。
以下关于“端到端原则”的陈述是正确的:
The end-to-end argument advocates placing functionality at the network edge because some functionality cannot be completely and correctly implemented in the network, and so needs to be placed at the edge in any case, making in-network implementation redundant.
- 这个陈述是正确的,因为端到端原则强调某些功能最有效的实现是在端点,而不是在网络中。
The end-to-end argument allows that some redundant functionality might be placed both in-network and at the network edge in order to enhance performance.
- 这个陈述也是正确的,因为端到端原则承认在某些情况下,网络中和边缘的冗余功能可以并存,以提升性能。
The end-to-end argument advocates placing functionality at the network edge to optimize performance, such as end-end delay.
- 这个陈述不太准确,端到端原则并不是主要为了优化性能,而是为了确保在网络边缘实现某些功能的必要性。
因此,第一和第三个陈述是正确的。
What is meant when it is said that the Internet has an “hourglass” architecture? See the picture below if you are unfamiliar with an "hourglass". 当说互联网具有“沙漏”架构时,这意味着什么?如果您不熟悉“沙漏”,请参见下图。
... after matching on the source and destination IP address in the datagram header, the action taken is to forward the datagram to the output port associated with that source and destination IP address pair. ...在匹配数据报头中的源和目标 IP 地址后,所采取的操作是将数据报转发到与该源和目标 IP 地址对关联的输出端口。
Packets flow from top to bottom down the stack, like sand in an hour glass. Then, on the receiver side, if the hourglass is reversed, packets flow up the stack, like sand flowing in the opposite direction. 数据包在堆栈中从上到下流动,就像沙漏中的沙子一样。然后,在接收方,如果沙漏颠倒,数据包就会沿着堆栈向上流动,就像沙子向相反方向流动一样。
The Internet protocol stack has a “thin waist” in the middle, like an hourglass. The Internet Protocol (IP) is the only network-layer protocol in the middle layer of the stack. Every other layer has multiple protocols at that layer. 互联网协议栈中间有一个“细腰”,像一个沙漏。互联网协议(IP)是堆栈中间层唯一的网络层协议。每个其他层在该层都有多个协议。
当说互联网具有“沙漏”架构时,指的是互联网协议栈的结构特点,其中“细腰”部分是互联网协议(IP)。以下是对这个概念的解释:
- The Internet protocol stack has a “thin waist” in the middle, like an hourglass. The Internet Protocol (IP) is the only network-layer protocol in the middle layer of the stack. Every other layer has multiple protocols at that layer.
- 这个陈述是正确的,沙漏架构的核心在于,IP 作为唯一的网络层协议,连接了上层和下层的多种协议。这个结构允许各种应用层协议(如 HTTP、FTP 等)和链路层协议(如以太网、WiFi 等)在中间层通过统一的 IP 协议进行交互。
其他选项提到的包流动和匹配动作虽然与数据流动有关,但并不是描述“沙漏”架构的核心思想。总的来说,沙漏架构强调了 IP 在互联网协议栈中的关键作用和其简化了不同协议间的互动。