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

[inetstack] Buffer Data Received on SYN Segments for Later Use #1115

Open
ppenna opened this issue Jan 8, 2024 · 1 comment
Open

[inetstack] Buffer Data Received on SYN Segments for Later Use #1115

ppenna opened this issue Jan 8, 2024 · 1 comment
Labels
enhancement Enhancement Request on an Existing Feature wontfix This Will Not Be Worked On

Comments

@ppenna
Copy link
Collaborator

ppenna commented Jan 8, 2024

Context

From RFC 793 Section 3.4:

Several examples of connection initiation follow. Although these examples do not show connection synchronization using data-carrying segments, this is perfectly legitimate, so long as the receiving TCP doesn't deliver the data to the user until it is clear the data is valid (i.e., the data must be buffered at the receiver until the connection reaches the ESTABLISHED state).

Demikernel does accepts SYN segments, but it does not buffer any data for future use.

Proposed Solution

Buffer any data received while connection is being established.

This may improve performance of applications that establish connections to only a few amount of data.

Alternative Solution

Leave the implementation as it is, because buffering data for non-established connection may enable DoS attacks.

@ppenna ppenna added the enhancement Enhancement Request on an Existing Feature label Jan 8, 2024
@iyzhang iyzhang added the wontfix This Will Not Be Worked On label Apr 26, 2024
@iyzhang
Copy link
Contributor

iyzhang commented Apr 26, 2024

We can implement this but we haven't seen any application use cases and I'm worried about the DoS attacks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement Request on an Existing Feature wontfix This Will Not Be Worked On
Projects
None yet
Development

No branches or pull requests

2 participants