Couchbase Read/Write Packet Flow

Hi all, When read / write occurs in couchbase, I want to know the flow of packets.

When connecting to couchbase 5.0, I found that it could be a data node rather than a query node.
When using netstat or tcpdump, port 8093 requesting a query was connected to the query node.
How is this possible? Is not it possible to pass a query to a data node?

In Couchbase the SDK in cluster topography aware.

For N1QL the query has to go to the Query node / Service.

In the image below this his how the SDK does CRUD operations on a key in the cluster.

The topography map also has what services are on what nodes IMAGE BELOW. All four services are running on this node below.