# 計算機網路期末考古
### [Advanced WiFi] Please answer the following sub-problems.
#### (a) [6%] Please list three features of WiFi 5 (IEEE 802.11ac) and WiFi 6 (IEEE 802.11ax),respectively.
* WiFi 5 (IEEE 802.11ac):
* Higher data rates: WiFi 5 supports data rates of up to 3.5 Gbps, which is higher than the data rates supported by WiFi 4 (IEEE 802.11n).
* More spatial streams: WiFi 5 supports up to 8 spatial streams, which allows for more data to be transmitted simultaneously.
* Higher frequency bands: WiFi 5 operates in the 5 GHz frequency band, which allows for faster data transmission due to the lower levels of interference compared to the 2.4 GHz frequency band.
* 3.5 Gbps
* 5 GHz
* 256-QAM
* OFDM
* WPA2
* 802.11ac
* 4x4 MIMO,DL MU-MIMO
* WiFi 6 (IEEE 802.11ax):
* Higher data rates: WiFi 6 supports data rates of up to 9.6 Gbps, which is significantly higher than the data rates supported by WiFi 5.
* More efficient use of spectrum: WiFi 6 uses advanced techniques such as Orthogonal Frequency Division Multiple Access (OFDMA) and Target Wake Time (TWT) to improve the efficiency of the spectrum, allowing for more data to be transmitted simultaneously.
* Improved coverage: WiFi 6 uses beamforming technology to improve the coverage and reliability of the wireless signal, allowing for a better user experience in challenging environments such as those with high levels of interference or physical obstacles.
* 9.6 Gbps
* 2.4 & 5 GHz
* 1024-QAM
* OFDMA
* WPA3
* 802.11ax
* 8x8 MIMO, UL/DL MU-MIMO
* 
#### (b) [6%] What’s the procedure that AP and MU determine the utilized channel bandwidth?
* The procedure that AP and MU determine the utilized channel bandwidth typically involves the following steps:
1. The AP sends a channel width request to the MU, asking it to transmit using a specific channel width.
2. The MU responds to the channel width request by transmitting a channel width response, indicating whether it is able to use the requested channel width.
3. If the MU is able to use the requested channel width, the AP and MU negotiate the specifics of the channel width (e.g., which frequencies will be used, how long the transmission will last) and begin transmitting data using the agreed-upon channel width.
#### ( c ) [8%] What’s the purpose of explicit channel sounding? Please briefly describe its operations.
* The purpose of explicit channel sounding is to improve the efficiency of the wireless spectrum by allowing APs and MUs to negotiate the use of specific frequencies for data transmission. This is done by sending a channel sounding frame from the AP to the MU, which allows the MU to assess the quality of the wireless channel and determine whether it is suitable for data transmission.
* The operations of explicit channel sounding typically involve the following steps:
1. The AP sends a channel sounding frame to the MU, which includes information about the intended frequency and duration of the transmission.
2. The MU receives the channel sounding frame and assesses the quality of the wireless channel by measuring factors such as the signal strength and noise level.
3. Based on its assessment of the wireless channel, the MU sends a response back to the AP indicating whether the channel is suitable for data transmission.
#### (d) [5%] One important feature of WiFi 7 (IEEE 802.be) is UL MU-MIMO, which is enabled by AP sending trigger frame. Please briefly describe its operations.
* UL MU-MIMO is a feature of WiFi 7 (IEEE 802.11be) that allows for multiple MUs to transmit data simultaneously to the AP using a single channel. This is enabled by the AP sending a trigger frame to the MUs, which contains information about the timing and frequency of the transmission.
* The operations of UL MU-MIMO typically involve the following steps:
1. The AP sends a trigger frame to the MUs, which includes information about the timing and frequency of the transmission.
2. The MUs receive the trigger frame and begin preparing for the transmission.
3. When the designated transmission time arrives, the MUs transmit their data simultaneously to the AP using the agreed-upon frequency and timing.
### [MobilityFirst] Please answer the following sub-problems.
#### (a) [10%] The MobilityFirst architecture is centered on a new name-based service layer.please briefly describe the operations of message exchanges between two hosts by using this service layer.
* In the MobilityFirst architecture, the name service layer is responsible for message exchanges between two hosts. This service layer allows hosts to communicate with each other by using unique names, rather than IP addresses. When a host wants to send a message to another host, it first sends a request to the name service layer, specifying the name of the destination host. The name service layer then looks up the name in its database and returns the IP address of the destination host to the sender. The sender can then use this IP address to send the message directly to the destination host.
#### (b) [5%] What's the function of GNRS (generalized name resolution service)?
* The function of the Generalized Name Resolution Service (GNRS) in the MobilityFirst architecture is to provide a globally unique name resolution service for hosts in the network. This service allows hosts to use unique names to communicate with each other, rather than relying on IP addresses, which may change frequently due to mobility. The GNRS maintains a database of host names and their associated IP addresses, and provides a means for hosts to look up the IP addresses of other hosts based on their names.
#### ( c ) [10%] The intra-domain routing protocol adopted in MobilityFirst is GSTAR (generalized storage-aware routing). After control message exchanges, GSTAR constructs two graphs: intra-partition graph and inter-partition graph (DTN, delay-tolerant network). Please briefly describe the procedures of packet forwarding, based on utilizing these two graphs.
* In the MobilityFirst architecture, the intra-domain routing protocol is GSTAR (Generalized Storage-aware Routing). After control message exchanges, GSTAR constructs two graphs: the intra-partition graph and the inter-partition graph. The intra-partition graph is used for routing within a partition, while the inter-partition graph is used for routing between partitions.
* Packet forwarding in the MobilityFirst architecture involves using these two graphs to determine the best path for a packet to take to reach its destination. When a host wants to send a packet to another host, it first determines which partition the destination host is in. If the destination host is in the same partition, the packet is forwarded using the intra-partition graph. If the destination host is in a different partition, the packet is forwarded using the inter-partition graph.
* In either case, the packet is forwarded by selecting the next hop along the path with the lowest cost. The cost may be based on various factors, such as the distance between the two hops, the available bandwidth, or the reliability of the link. The packet continues to be forwarded in this way until it reaches its destination.
### [Named Data Networking] Please answer the following sub-problems.
#### (a) [4%] Communications in NDN are driven by receivers through exchanging two types of packets. What packets they exchange?
* In Named Data Networking (NDN), communications are driven by receivers through exchanging two types of packets: Interest packets and Data packets.
* Interest packets are used by receivers to express their interest in a particular piece of data. They are sent to NDN routers, which then forward the Interest packets to the appropriate data producer.
* Data packets are used by data producers to send the requested data to receivers. They are sent in response to Interest packets, and contain the actual data that was requested.
#### (b) [16%] Please describe the NDN architecture as well as the conceptual operations.
* The NDN architecture is based on the idea of named data, rather than named hosts. In NDN, data is uniquely identified by its name, which is a hierarchical structure made up of name components. Each component of a data name represents some aspect of the data, such as its source, its content type, or its version.
* NDN routers are responsible for forwarding Interest and Data packets through the network. They maintain a forwarding information base (FIB) that maps data names to the next hop in the path to the data producer. When an NDN router receives an Interest packet, it looks up the name in its FIB and forwards the Interest packet to the next hop. When it receives a Data packet, it checks the name against its FIB to determine the next hop for the Data packet.
* Conceptually, the operation of NDN can be described as follows:
1. A receiver expresses interest in a particular piece of data by sending an Interest packet to an NDN router.
2. The NDN router looks up the name of the data in its FIB and forwards the Interest packet to the next hop.
3. The Interest packet is forwarded from router to router until it reaches the data producer.
4. The data producer responds to the Interest packet by sending a Data packet back through the network.
5. The Data packet is forwarded from router to router until it reaches the original receiver.
#### (c) [5%] The intra-domain routing protocol adopted in NDN is NLSR, which is an OSPF-based routing protocol.In NLSR, NDN routers exchange two types of LSAs (link state advertisements. . One is adjacency LSA, and the other is prefix LSA. Why does NLSR define this two types of LSAs?
* In NDN, the intra-domain routing protocol is NLSR (Named Data Link State Routing Protocol), which is an OSPF-based routing protocol. NLSR defines two types of link state advertisements (LSAs) to facilitate routing: adjacency LSAs and prefix LSAs.
* Adjacency LSAs are used to advertise the presence of neighboring routers, as well as the link state and metric information for the link between them. They are used to build the topology of the network and calculate the shortest path to a destination.
* Prefix LSAs are used to advertise the prefixes that are available at each router, as well as the associated link state and metric information. They are used to determine the next hop for a given prefix, as well as the cost of reaching that prefix.
* NLSR defines these two types of LSAs to enable routers to build a complete picture of the network and make informed routing decisions. The adjacency LSAs allow routers to learn about the topology of the network and the availability of neighboring routers, while the prefix LSAs allow them to determine the next hop for a given prefix and the cost of reaching that prefix.
### [ChoiceNet] Please answer the following sub-problems.
#### (a) [9%] What are the three key principles of ChoiceNet?
* (a) The three key principles of ChoiceNet are:
1. Autonomy: ChoiceNet allows each participant (e.g., a user, a device, or a network) to make its own decisions about how to connect and communicate with other participants, based on its own preferences and requirements.
2. Flexibility: ChoiceNet provides a wide range of options and mechanisms for participants to customize and optimize their connections and communications.
3. Interoperability: ChoiceNet enables different types of participants to interoperate and work together seamlessly, regardless of their underlying technologies and protocols.
#### (b) [6%] What are the three planes in ChoiceNet?
* (b) The three planes in ChoiceNet are:
1. Control plane: The control plane is responsible for managing and coordinating the interactions and communications among the various participants in the network. It includes various control mechanisms, such as protocols and algorithms, that enable participants to discover and select the most suitable connection and communication options.
2. Data plane: The data plane is responsible for carrying the actual data traffic between participants. It includes various data forwarding mechanisms, such as routers and switches, that enable the data to be transmitted efficiently and reliably from one participant to another.
3. Service plane: The service plane is responsible for providing various value-added services to the participants in the network. It includes various service providers, such as content providers and application providers, that offer a wide range of services, such as entertainment, education, and healthcare, to the participants.
#### ( c ) [10%] Please highlight (you may use operational flow chart) the operations/interactions among the three planes to purchase/subscribe a network service.
* ( c ) The following is a high-level operational flow chart illustrating the interactions among the three planes in ChoiceNet to purchase/subscribe a network service:
1. The user (participant in the control plane) initiates a request to purchase/subscribe a network service.
2. The control plane determines the available options for the service, based on the user's preferences and requirements, as well as the capabilities and availability of the service providers in the service plane.
3. The control plane sends a request to the service provider in the service plane to purchase/subscribe the service.
4. The service provider verifies the request and, if approved, sends a confirmation to the control plane.
5. The control plane sends a confirmation to the user, indicating that the service has been successfully purchased/subscribed.
6. The user can now access the service through the data plane, which handles the actual transmission of the data between the user and the service provider.