Networking And Distributed Systems Notes