Kubernetes is a great orchestator for containers. But it does not manage network for Pod-to-Pod communication. This is the mission of Container Network Interfaces (CNI) plugins which are a standardized way to achieve network abstraction for container clustering tools (Kubernetes, Mesos, OpenShift, etc.)
For Istio to correctly route your traffic and apply all the rules an admin has set up, it is necessary to make the traffic through an ingress-gateway. A virtual service then does the URL matching and distribution to the target services.