Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need tunneling for TCP packets #23

Open
yunkon-kim opened this issue Nov 6, 2020 · 3 comments
Open

Need tunneling for TCP packets #23

yunkon-kim opened this issue Nov 6, 2020 · 3 comments
Labels
feature request question Further information is requested

Comments

@yunkon-kim
Copy link
Member

yunkon-kim commented Nov 6, 2020

Current CB-Net (PoC) makes a common subnet.

VMs using the common subnet can communicate with each other by tunneling.

Now, CB-Net supports UDP packets. For example,

  1. Read UDP packet (Later, TCP packet could be read)
  2. Encapsulate the packet by UDP header (No change this)
  3. Send it to the destination

It's not easy for me to decide to add tunneling for TCP packets.

If necessary, it will be added later.

@issue-label-bot
Copy link

Issue-Label Bot is automatically applying the label feature_request to this issue, with a confidence of 0.82. Please mark this comment with 👍 or 👎 to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

@seokho-son
Copy link
Member

@hermitkim1
TCP tunneling (패킷 인켑슐레이션시 TCP 사용?) 이 왜 필요할까요?
UDP를 사용하여 터널링을 하면 신뢰도가 낮기 때문? 아니면.. 보통 UDP 포트를 방화벽에서 막기 때문? ^^

[FYI]
by https://www.researchgate.net/publication/238445492_Understanding_TCP_over_TCP_effects_of_TCP_tunneling_on_end-to-end_throughput_and_latency

TCP tunnel is a technology that aggregates and transfers packets sent between end hosts as a single TCP connection. By using a TCP tunnel, the fairness among aggregated flows can be improved and several protocols can be transparently transmitted through a firewall. Currently, many applications such as SSH, VTun, and HTun use a TCP tunnel. However, since most applications running on end hosts generally use TCP, two TCP congestion controls (i.e., end-to-end TCP and tunnel TCP) operate simultaneously and interfere each other. Under certain conditions, it has been known that using a TCP tunnel severely degrades the end-to-end TCP performance. Namely, it has known that using a TCP tunnel drastically degrades the end-to-end TCP throughput for some time, which is called TCP meltdown problem. On the contrary, under other conditions, it has been known that using a TCP tunnel significantly improves the end-to-end TCP performance. However, it is still an open issue --- how, when, and why is a TCP tunnel malicious for end-to-end TCP performance? In this paper, we therefore investigate effect of TCP tunnel on end-to-end TCP performance using simulation experiments. Specifically, we quantitatively reveal effects of several factors (e.g., the propagation delay, usage of SACK option, TCP socket buffer size, and sender buffer size of TCP tunnel) on performance of end-to-end TCP and tunnel TCP.

[FYI]
by https://www.researchgate.net/publication/304287577_Experimental_performance_comparison_between_TCP_vs_UDP_tunnel_using_OpenVPN

In this work, we use OpenVPN as a platform to demonstrate the performance between TCP/UDP. The de facto belief has been that TCP tunnel provides a permanent tunnel and therefore ensures a reliable transfer of data between two end points. However the effects of transmitting TCP within a UDP tunnel has been explored and could provide a valuable attempt. The results provided in this paper demonstrates that indeed TCP in UDP tunnel provides better latency. Throughout this paper, a series of tests have been performed, UDP traffic was sent inside UDP tunnel and TCP tunnel successively. The same tests was performed using TCP traffic.

@yunkon-kim
Copy link
Member Author

@seokho-son
코멘트 및 정보 공유 감사합니다 😄

"TCP tunneling (패킷 인켑슐레이션시 TCP 사용?) 이 왜 필요할까요?"와 관련하여 말씀드립니다.

본래 의도는 현재 UDP Packet을 읽어 UDP로 Tunneling을 하고 있기 떄문에 TCP Packet을 읽어 UDP Tunneling 하는 부분을 하고자 했던 것입니다.

제목을 정정해놓겠습니다.

@yunkon-kim yunkon-kim changed the title Need TCP tunneling Need tunneling for TCP packets Nov 6, 2020
@yunkon-kim yunkon-kim added the question Further information is requested label May 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants