Packet delivery

Hi,

Could you please explain how communication is achieved when the src address in the packet header is IPv4, and the dst address is IPv6?

Here are my service gateway logs:

(199)[    14178.652]   DEBUG ziti-sdk:bind.c:386 on_message() received msg ct[ed73] code[0] from www.test-router.com
(199)[    14178.652]   DEBUG tunnel-cbs:ziti_hosting.c:594 on_hosted_client_connect() hosted_service[B1-1] client[sszglinux1]: received app_data_json='{"connType":null,"dst_protocol":"tcp","dst_ip":"100.64.0.7","dst_port":"80","src_protocol":"tcp","src_ip":"100.64.0.1","src_port":"39514"}'
(199)[    14178.652] VERBOSE tunnel-cbs:ziti_hosting.c:376 compute_dst_ip_or_hn() using address from config
(199)[    14178.652]    INFO tunnel-cbs:ziti_hosting.c:649 on_hosted_client_connect() hosted_service[B1-1] client[sszglinux1] client_src_addr[tcp:100.64.0.1:39514] dst_addr[tcp:df:e22:c03::3:5000]: incoming connection 
(199)[    14178.653]   DEBUG tunnel-cbs:ziti_hosting.c:721 on_hosted_client_connect_resolved() hosted_service[B1-1] client[sszglinux1] client_src_addr[tcp:100.64.0.1:39514] initiating connection to tcp:df:e22:c03::3:5000
(199)[    14178.654]   DEBUG tunnel-cbs:ziti_hosting.c:204 complete_hosted_tcp_connection() hosted_service[B1-1], client[sszglinux1] client_src_addr[tcp:100.64.0.1:39514]: connected to server tcp:df:e22:c03::3:5000

Thank you very much for your support!

Each tunneler will establish it's own TCP session with a router first. The remote tunneler will establish an independent TCP session to whatever target it's instructed to. So the TCP sessions are entirely independent.

OpenZiti tunnelers specific function is to tunnel bits, not IP packets. So in the client side tunneler, the actual payload is extracted and put onto the overlay not the IP packet. The overlay then routes the payload to the termination point on the OpenZiti overlay. In this case, that's another tunneler. When the data arrives at the destination tunneler, there's configuration (host.v1/v2) that instructs the tunneler what to do with the payload. Here, the instruction is "open s new TCP session to. IPv6 address and send this data".

Does that clear it up or did I miss something in your question?