OP2: A richer network abstraction?
Completion requirements
Please follow the same instructions as for OP1.
Opened: Thursday, 8 October 2020, 00:00
Due: Sunday, 18 October 2020, 23:59
In the current Internet, when a process sends a message to a process that runs on a different end-system (a remote process), it does not choose the network path. This choice is delegated to the network layer.
Suppose we wanted to allow a process to choose the network path taken by a message it sends to a remote process, in order to ensure that the path meets certain performance criterion and/or it does not cross a particular geographical area. Can this be done without violating layering (e.g., by changing the abstractions/interfaces provided by some of the Internet layers)? If not, explain why not. If yes, propose a way to do it and justify your proposal indicating why you think this is the best way to provide the "choose path" feature.
Please note that this OP is not about whether it is or isn't a good idea to do so. It's about whether/how this can be done without violating layering.
Please follow the same instructions as for OP1.