Specifying, Implementing And Verifying Layered Network Protocols