Explain the non-transparent mode design decision for TCP/UDP#685
Explain the non-transparent mode design decision for TCP/UDP#685arkodg merged 6 commits intoenvoyproxy:mainfrom
Conversation
e5176a0 to
9978254
Compare
Signed-off-by: zhaohuabing <zhaohuabing@gmail.com>
Signed-off-by: zhaohuabing <zhaohuabing@gmail.com>
2ebd836 to
15c4bcc
Compare
0b52467 to
dbae48c
Compare
Signed-off-by: zhaohuabing <zhaohuabing@gmail.com>
dbae48c to
2e32b1b
Compare
Codecov Report
@@ Coverage Diff @@
## main #685 +/- ##
==========================================
+ Coverage 63.54% 63.73% +0.18%
==========================================
Files 47 47
Lines 5766 5749 -17
==========================================
Hits 3664 3664
+ Misses 1877 1861 -16
+ Partials 225 224 -1
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
Signed-off-by: zhaohuabing <zhaohuabing@gmail.com>
arkodg
left a comment
There was a problem hiding this comment.
thanks for writing this out, left some nits, overall LGTM
Signed-off-by: zhaohuabing <zhaohuabing@gmail.com>
Co-authored-by: Arko Dasgupta <arkodg@users.noreply.github.com> Signed-off-by: zhaohuabing <zhaohuabing@gmail.com>
@arkodg Thanks for helping me with these technical and grammatical issues. |
danehans
left a comment
There was a problem hiding this comment.
Adding comments that can be resolved in follow-on PR. Overall /lgtm.
| TCP traffic from the downstream to the upstream. | ||
|
|
||
| For UDP, Envoy receives UDP packages from the downstream, and uses its own IP address as the sender IP address when | ||
| proxying the UDP packages to the upstream. |
| For UDP, Envoy receives UDP packages from the downstream, and uses its own IP address as the sender IP address when | ||
| proxying the UDP packages to the upstream. | ||
|
|
||
| In this mode, the upstream will see Envoy's IP address. |
| For TCP, Envoy terminates the downstream connection, connects the upstream with the downstream IP address, and proxies | ||
| the TCP traffic from the downstream to the upstream. | ||
|
|
||
| For UDP, Envoy receives UDP packages from the downstream, and uses the downstream IP address as the sender IP address |
| the TCP traffic from the downstream to the upstream. | ||
|
|
||
| For UDP, Envoy receives UDP packages from the downstream, and uses the downstream IP address as the sender IP address | ||
| when proxying the UDP packages to the upstream. |
| For UDP, Envoy receives UDP packages from the downstream, and uses the downstream IP address as the sender IP address | ||
| when proxying the UDP packages to the upstream. | ||
|
|
||
| In this mode, the upstream will see the original downstream IP address. |
| The upstream can see the original source IP, but the original port number won't be passed, so the return | ||
| traffic from the upstream must be routed back to Envoy because only Envoy knows how to send the return traffic back | ||
| to the right port number of the downstream, which requires routing at the upstream side to be set up. | ||
| In a Kubernetes cluster, Envoy Gateway will have to carefully cooperate with CNI plugins to get the routing right. |
There was a problem hiding this comment.
Can you create and link an issue that will be used to capture the details of integrating transparent proxy mode with the kube network.
|
Thank you @danehans for reviewing this. I'll address these comments in another PR. |
Explain the non-transparent mode design decision for TCP/UDP
#641