What do you want to describe? The software components deployed on the server, router and client and what communication paths they have? Then a deployment diagram is the right choice. If it is the software components, their interfaces and their logical wiring, a component diagram is the way to go. And if you want to describe the hardware and their physical connections together with the software blocks and their interfaces an ibd with ports and InterfaceBlocks would be right.
Please note that SysML software blocks cannot be realized by classes. They will only be placeholders for an UML Component, that can.
There is an overlap between the ibd and deployment diagrams. However, the focus of both is clear. A deployment diagram shows software components deployed on hardware. The hardware is just described superficially. An ibd shows hardware and software blocks that together form a system. The software is only described superficially.
A message would be modeled by a Signal. The InterfaceBlocks used to define the ports of the blocks in the ibd would have receptions for the signal. If two such ports are connected, it means that the Signal can flow between them.