Как на NodeJs определить MTU(длину одного пакета)?
Хотелось бы понять как на NodeJs можно определить длину пакета MTU? Возможно я не верно сформулировал, но суть такая, что как я понял длины пакетов разные для различных типов сетей(например GPON, LAN) а так же типов подключения к интернету pppoe VPN и так далее. Как реализовывать для меня в данном случаи особого значения не имеет, при этом предпочтительнее для socket или HTTP или WebSocket(если конечно такое возможно).
Ответы (1 шт):
Мне кажется, что этот вопрос имеет мало отношения к node.js
MTU - это атрибут интерфейса. MTU может варьироваться по пути от источника к месту назначения. Так, например, линк от A до B может иметь MTU X, но линк от B до C может быть Y.
$ ifconfig | grep mtu
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
EHC29: flags=0<> mtu 0
XHC20: flags=0<> mtu 0
EHC26: flags=0<> mtu 0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
vboxnet0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
Возможно, вы сможете определить значение MTU некоторого канала связи, по которому прошел пакет, если увидите фрагментированные пакеты. Но я не дам готового решения для того, чтобы сделать это. Возьмите библиотеку pcap и исследуйте это.
Свободный перевод ответа на вопрос "How to view MTU size in Wireshark?"