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

Add simple PMTU calculation with heartbeats #12

Open
kc5nra opened this issue Jul 24, 2018 · 3 comments
Open

Add simple PMTU calculation with heartbeats #12

kc5nra opened this issue Jul 24, 2018 · 3 comments
Assignees
Labels

Comments

@kc5nra
Copy link
Contributor

kc5nra commented Jul 24, 2018

Calculate the maximum MTU size that can travel the entire path machine1<->machine2.

The easiest way is probably to craft heartbeat messages starting at the maximum value until they are successfully returned. Potentially listen to ICMP PacketTooBig

@backkem backkem transferred this issue from pion/webrtc Jan 23, 2019
@Sean-Der
Copy link
Member

Sean-Der commented Jun 25, 2019

@enobufs is this still an issue/something that needs to be done?

If there is anything I can do to help please tell me :) but you know way more about SCTP then me, so defering to the expert

@enobufs
Copy link
Member

enobufs commented Jun 25, 2019

SCTP RFC actually mentions RFC4821 which recommends using the heartbeat. It is an interesting approach. The current implementation does not fully support heartbeat. In WebRTC context, we have heartbeat at ICE layer, and I am not sure how critical it is not having heartbeat at SCTP layer..

I think we need to investigate how other WebRTC libraries deal with path MTU discovery.

@nils-ohlmeier
Copy link

I think we need to investigate how other WebRTC libraries deal with path MTU discovery.

AFAIK libwebrtc actually has the PMTU hard coded to a safe low value (I would have to lookup the exact value).

And yes the two options are either on the SCTP or the ICE level.

The ICE PMTU would have the advantage that the same information could get passed to the RTP stack as well.
But the problem is that for ICE there was only a draft for figuring out the PMTU, never an RFC. And AFAIK there is no other implementation which supports the ICE way.
The SCTP approach is way more interoperable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants