[英]send ipv6 jumbograms in c (linux) : How to change packet headers
I am sorry if the question is too naive, but I am confused. 如果这个问题太幼稚,我感到抱歉,但是我很困惑。 I want to send
IPv6 jumbograms
(to be able to multicast packets of size > 64 KB). 我想发送
IPv6 jumbograms
(以便能够多播大小> 64 KB的数据包)。 I have been able to multicast normal IPv6 UDP packets successfully. 我已经能够成功多播正常的IPv6 UDP数据包。 For sending jumbograms, from
RFC 2675
, I get that I have to make the following changes : 对于从
RFC 2675
发送千字图,我必须做出以下更改:
But, I don't get how to implement these in c socket programming
(which function calls to make etc.). 但是,我不知道如何在
c socket programming
实现这些功能(该函数调用make等)。 Do I have to create a custom header or are there functions like sendto
available to send jumbograms? 我是否必须创建一个自定义标头,或者是否有诸如
sendto
功能可用于发送抖动图?
You could use raw sockets if you are making your own headers. 如果要创建自己的标头,则可以使用原始套接字。 For more information, type
man -s7 raw
or look here . 有关更多信息,请键入
man -s7 raw
或在此处查看 。 Note you will effectively need to implement your own IP stack that way. 请注意,您实际上将需要以这种方式实现自己的IP堆栈。
However, my understanding is that linux itself supports IPv6 jumbograms natively so you don't need to bother. 但是,我的理解是linux本身本身就支持IPv6 jumbograms,因此您无需打扰。 Try
ifconfig lo mtu 100000
and do some tests over the loopback device to check. 尝试
ifconfig lo mtu 100000
并在回送设备上进行一些测试以进行检查。
I suspect the issue might be that your network adaptor and everything on the path (end to end) needs to support the jumbograms too. 我怀疑问题可能是您的网络适配器以及路径(端到端)上的所有内容也需要支持jumbograms。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.