Closed serzhiio closed 11 months ago
I tried different timeouts, but nothing helps
It looks like the client never receives anything from the server. Check packet captures on both client and server to see what's actually being sent/received at the kernel level.
It looks like the client never receives anything from the server. Check packet captures on both client and server to see what's actually being sent/received at the kernel level.
Client is receiveing packets, but i can't udnerstand why i everytime get timeout.
[2023-10-22T10:50:40.122743Z TRACE quinn_proto::connection] got Initial packet (1200 bytes) from 51.195.*.*:54474 using id a8c5d617ece0dc51
[2023-10-22T10:50:40.122754Z TRACE quinn_proto::connection] recv; space=Initial pn=1
[2023-10-22T10:50:40.122760Z TRACE tracing::span::active] -> recv;
[2023-10-22T10:50:40.122765Z TRACE quinn_proto::connection] switching remote CID to 92a93a8383c1908d
[2023-10-22T10:50:40.122775Z TRACE quinn_proto::connection] frame; ty=CRYPTO
[2023-10-22T10:50:40.122782Z TRACE tracing::span::active] -> frame;
[2023-10-22T10:50:40.122791Z TRACE quinn_proto::connection] consumed 90 CRYPTO bytes
[2023-10-22T10:50:40.122829Z TRACE rustls::client::hs] We got ServerHello ServerHelloPayload {
legacy_version: TLSv1_2,
random: 43114072f2c21d1002d91e8dea09647c1ec59fca48e3e82fc9f5529cfdb27ed2,
session_id: ,
cipher_suite: TLS13_AES_256_GCM_SHA384,
compression_method: Null,
extensions: [
KeyShare(
KeyShareEntry {
group: X25519,
payload: b83857115d22dfe16f4cbd0712be5e1fb801b9bc28b6d4d749ba437f0796b976,
},
),
SupportedVersions(
TLSv1_3,
),
],
}
[2023-10-22T10:50:40.122868Z DEBUG rustls::client::hs] Using ciphersuite TLS13_AES_256_GCM_SHA384
[2023-10-22T10:50:40.122878Z DEBUG rustls::client::tls13] Not resuming
[2023-10-22T10:50:40.122883Z TRACE rustls::client::client_conn] EarlyData rejected
[2023-10-22T10:50:40.122975Z TRACE tracing::span::active] <- frame;
[2023-10-22T10:50:40.122980Z TRACE tracing::span] -- frame;
[2023-10-22T10:50:40.123022Z TRACE quinn_proto::connection] Handshake keys ready
[2023-10-22T10:50:40.123028Z TRACE tracing::span::active] <- recv;
[2023-10-22T10:50:40.123032Z TRACE tracing::span] -- recv;
[2023-10-22T10:50:40.123038Z TRACE thread::eventloop::iouring::uni::quic::quinn::instance] - - poll + poll_transmit | max_datagrams_gso:64
[2023-10-22T10:50:40.123048Z TRACE quinn_proto::connection::packet_builder] send; space=Initial pn=4
[2023-10-22T10:50:40.123055Z TRACE quinn_proto::connection] ACK ArrayRangeSet([1..2]), Delay = 0us
[2023-10-22T10:50:40.123062Z TRACE quinn_proto::connection::packet_builder] PADDING * 1071
[2023-10-22T10:50:40.123069Z TRACE tracing::span] -- send;
[2023-10-22T10:50:40.123075Z TRACE quinn_proto::connection] sending 1200 bytes in 1 datagrams
[2023-10-22T10:50:40.123085Z TRACE thread::eventloop::iouring::uni::client] * process data(1200bytes) to Some(Some(51.195.*.*:54474)) | Identity(type:Client,flag:3,slave:7,master:0) | segm_size:None | ecn:Some(Ect0)
[2023-10-22T10:50:40.123133Z TRACE thread::eventloop::iouring::client] incoming DATA Identity(type:Client,flag:4,slave:7,master:0), result=1200, is_more=false
[2023-10-22T10:50:40.123140Z TRACE thread::eventloop::iouring::uni::client] notification Send(Msg)Zc flag, Identity(type:Client,flag:4,slave:7,master:0), is_more:false
[2023-10-22T10:50:40.123147Z TRACE thread::eventloop::iouring::uni::client] Removed buffer for id:7
[2023-10-22T10:50:40.841893Z TRACE exchange] timeout: 1
[2023-10-22T10:50:40.841910Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:40.841915Z TRACE thread::eventloop::iouring::timerfd] Rearming 1
[2023-10-22T10:50:41.841948Z TRACE exchange] timeout: 2
[2023-10-22T10:50:41.841976Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:41.841982Z TRACE thread::eventloop::iouring::timerfd] Rearming 2
[2023-10-22T10:50:41.982441Z TRACE thread::eventloop::iouring::uni::quic::quinn::instance] - - handle timeout
[2023-10-22T10:50:41.982457Z TRACE quinn_proto::connection] timeout timer=LossDetection
[2023-10-22T10:50:41.982467Z TRACE quinn_proto::connection] PTO fired in_flight=4800 count=1 space=Initial
[2023-10-22T10:50:41.982474Z TRACE thread::eventloop::iouring::uni::quic::quinn::instance] - - poll + poll_transmit | max_datagrams_gso:64
[2023-10-22T10:50:41.982486Z TRACE quinn_proto::connection::packet_builder] send; space=Initial pn=5
[2023-10-22T10:50:41.982493Z TRACE quinn_proto::connection] CRYPTO: off 0 len 267
[2023-10-22T10:50:41.982501Z TRACE quinn_proto::connection::packet_builder] PADDING * 808
[2023-10-22T10:50:41.982513Z TRACE tracing::span] -- send;
[2023-10-22T10:50:41.982523Z TRACE quinn_proto::connection] sending 1200 bytes in 1 datagrams
[2023-10-22T10:50:41.982537Z TRACE quinn_proto::connection::packet_builder] send; space=Initial pn=6
[2023-10-22T10:50:41.982543Z TRACE quinn_proto::connection] CRYPTO: off 0 len 267
[2023-10-22T10:50:41.982547Z TRACE quinn_proto::connection::packet_builder] PADDING * 808
[2023-10-22T10:50:41.982553Z TRACE tracing::span] -- send;
[2023-10-22T10:50:41.982558Z TRACE quinn_proto::connection] sending 1200 bytes in 1 datagrams
[2023-10-22T10:50:41.982563Z TRACE thread::eventloop::iouring::uni::client] * process data(1200bytes) to Some(Some(51.195.*.*:54474)) | Identity(type:Client,flag:3,slave:9,master:0) | segm_size:None | ecn:Some(Ect0)
[2023-10-22T10:50:41.982573Z TRACE thread::eventloop::iouring::uni::client] * process data(1200bytes) to Some(Some(51.195.*.*:54474)) | Identity(type:Client,flag:3,slave:10,master:0) | segm_size:None | ecn:Some(Ect0)
[2023-10-22T10:50:41.982621Z TRACE thread::eventloop::iouring::client] incoming DATA Identity(type:Client,flag:4,slave:9,master:0), result=1200, is_more=false
[2023-10-22T10:50:41.982628Z TRACE thread::eventloop::iouring::uni::client] notification Send(Msg)Zc flag, Identity(type:Client,flag:4,slave:9,master:0), is_more:false
[2023-10-22T10:50:41.982634Z TRACE thread::eventloop::iouring::uni::client] Removed buffer for id:9
[2023-10-22T10:50:41.982638Z TRACE thread::eventloop::iouring::client] incoming DATA Identity(type:Client,flag:4,slave:10,master:0), result=1200, is_more=false
[2023-10-22T10:50:41.982644Z TRACE thread::eventloop::iouring::uni::client] notification Send(Msg)Zc flag, Identity(type:Client,flag:4,slave:10,master:0), is_more:false
[2023-10-22T10:50:41.982648Z TRACE thread::eventloop::iouring::uni::client] Removed buffer for id:10
[2023-10-22T10:50:42.842033Z TRACE exchange] timeout: 3
[2023-10-22T10:50:42.842056Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:42.842062Z TRACE thread::eventloop::iouring::timerfd] Rearming 3
[2023-10-22T10:50:43.842090Z TRACE exchange] timeout: 4
[2023-10-22T10:50:43.842106Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:43.842111Z TRACE thread::eventloop::iouring::timerfd] Rearming 4
[2023-10-22T10:50:44.842141Z TRACE exchange] timeout: 5
[2023-10-22T10:50:44.842158Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:44.842163Z TRACE thread::eventloop::iouring::timerfd] Rearming 5
[2023-10-22T10:50:45.842188Z TRACE exchange] timeout: 6
[2023-10-22T10:50:45.842202Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:45.842206Z TRACE thread::eventloop::iouring::timerfd] Rearming 6
[2023-10-22T10:50:45.979361Z TRACE thread::eventloop::iouring::uni::quic::quinn::instance] - - handle timeout
[2023-10-22T10:50:45.979378Z TRACE quinn_proto::connection] timeout timer=LossDetection
[2023-10-22T10:50:45.979388Z TRACE quinn_proto::connection] PTO fired in_flight=7200 count=2 space=Initial
[2023-10-22T10:50:45.979395Z TRACE thread::eventloop::iouring::uni::quic::quinn::instance] - - poll + poll_transmit | max_datagrams_gso:64
[2023-10-22T10:50:45.979405Z TRACE quinn_proto::connection::packet_builder] send; space=Initial pn=7
[2023-10-22T10:50:45.979413Z TRACE quinn_proto::connection] CRYPTO: off 0 len 267
[2023-10-22T10:50:45.979422Z TRACE quinn_proto::connection::packet_builder] PADDING * 808
[2023-10-22T10:50:45.979440Z TRACE tracing::span] -- send;
[2023-10-22T10:50:45.979457Z TRACE quinn_proto::connection] sending 1200 bytes in 1 datagrams
[2023-10-22T10:50:45.979464Z TRACE quinn_proto::connection::packet_builder] send; space=Initial pn=8
[2023-10-22T10:50:45.979469Z TRACE quinn_proto::connection] CRYPTO: off 0 len 267
[2023-10-22T10:50:45.979473Z TRACE quinn_proto::connection::packet_builder] PADDING * 808
[2023-10-22T10:50:45.979479Z TRACE tracing::span] -- send;
[2023-10-22T10:50:45.979484Z TRACE quinn_proto::connection] sending 1200 bytes in 1 datagrams
[2023-10-22T10:50:45.979489Z TRACE thread::eventloop::iouring::uni::client] * process data(1200bytes) to Some(Some(51.195.*.*:54474)) | Identity(type:Client,flag:3,slave:12,master:0) | segm_size:None | ecn:Some(Ect0)
[2023-10-22T10:50:45.979500Z TRACE thread::eventloop::iouring::uni::client] * process data(1200bytes) to Some(Some(51.195.*.*:54474)) | Identity(type:Client,flag:3,slave:13,master:0) | segm_size:None | ecn:Some(Ect0)
[2023-10-22T10:50:45.979575Z TRACE thread::eventloop::iouring::client] incoming DATA Identity(type:Client,flag:4,slave:12,master:0), result=1200, is_more=false
[2023-10-22T10:50:45.979583Z TRACE thread::eventloop::iouring::uni::client] notification Send(Msg)Zc flag, Identity(type:Client,flag:4,slave:12,master:0), is_more:false
[2023-10-22T10:50:45.979587Z TRACE thread::eventloop::iouring::uni::client] Removed buffer for id:12
[2023-10-22T10:50:45.979592Z TRACE thread::eventloop::iouring::client] incoming DATA Identity(type:Client,flag:4,slave:13,master:0), result=1200, is_more=false
[2023-10-22T10:50:45.979597Z TRACE thread::eventloop::iouring::uni::client] notification Send(Msg)Zc flag, Identity(type:Client,flag:4,slave:13,master:0), is_more:false
[2023-10-22T10:50:45.979602Z TRACE thread::eventloop::iouring::uni::client] Removed buffer for id:13
[2023-10-22T10:50:46.842240Z TRACE exchange] timeout: 7
[2023-10-22T10:50:46.842256Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:46.842261Z TRACE thread::eventloop::iouring::timerfd] Rearming 7
[2023-10-22T10:50:47.842295Z TRACE exchange] timeout: 8
[2023-10-22T10:50:47.842311Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:47.842316Z TRACE thread::eventloop::iouring::timerfd] Rearming 8
[2023-10-22T10:50:48.842349Z TRACE exchange] timeout: 9
[2023-10-22T10:50:48.842365Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:48.842369Z TRACE thread::eventloop::iouring::timerfd] Rearming 9
[2023-10-22T10:50:49.842415Z TRACE exchange] timeout: 10
[2023-10-22T10:50:49.842449Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:49.842455Z TRACE thread::eventloop::iouring::timerfd] Rearming 10
[2023-10-22T10:50:50.842492Z TRACE exchange] timeout: 11
[2023-10-22T10:50:50.842506Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:50.842512Z TRACE thread::eventloop::iouring::timerfd] Rearming 11
[2023-10-22T10:50:51.842543Z TRACE exchange] timeout: 12
[2023-10-22T10:50:51.842558Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:51.842564Z TRACE thread::eventloop::iouring::timerfd] Rearming 12
[2023-10-22T10:50:51.983056Z TRACE thread::eventloop::iouring::uni::quic::quinn::instance] - - handle timeout
[2023-10-22T10:50:51.983075Z TRACE quinn_proto::connection] timeout timer=Idle
[2023-10-22T10:50:51.983082Z TRACE quinn_proto::connection] connection closed
[2023-10-22T10:50:51.983090Z TRACE thread::eventloop::iouring::uni::quic::quinn::instance] - - poll_endpoint_events
[2023-10-22T10:50:51.983095Z TRACE thread::eventloop::iouring::uni::quic::quinn::instance] - - poll + poll_transmit | max_datagrams_gso:64
[2023-10-22T10:50:51.983102Z WARN thread::eventloop::iouring::uni::quic::quinn::instance] Client evt: Connection lost: timed out!
[2023-10-22T10:50:51.984358Z TRACE mpub::app] Server Disconnected! IOError(Custom { kind: TimedOut, error: TimedOut }) | Some(0)
[2023-10-22T10:50:51.984368Z WARN thread::eventloop::iouring::uni::quic::quinn::instance] Drop QConn:0 | local_uni_chs: 0, local_bidi: 0, remote_uni: 0, remote_bidi: 0
[2023-10-22T10:50:52.842600Z TRACE exchange] timeout: 13
[2023-10-22T10:50:52.842615Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:52.842621Z TRACE thread::eventloop::iouring::timerfd] Rearming 13
[2023-10-22T10:50:53.842651Z TRACE exchange] timeout: 14
[2023-10-22T10:50:53.842664Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:53.842668Z TRACE thread::eventloop::iouring::timerfd] Rearming 14
[2023-10-22T10:50:54.842702Z TRACE exchange] timeout: 15
[2023-10-22T10:50:54.842718Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:54.842724Z TRACE thread::eventloop::iouring::timerfd] Rearming 15
[2023-10-22T10:50:55.558483Z TRACE thread::eventloop::iouring::client] incoming DATA Identity(type:Client,flag:0,slave:0,master:0), result=269, is_more=true
[2023-10-22T10:50:55.558498Z TRACE thread::eventloop::iouring::uni::client] RcvdMsgHdrStorage read_out(data=269bytes)
[2023-10-22T10:50:55.558501Z TRACE thread::eventloop::iouring::uni::client] RecvMeta { len: 133, stride: 133, ecn: Some(Ect0), dst_ip: Some(192.168.70.65) }
[2023-10-22T10:50:55.558505Z TRACE thread::eventloop::iouring::uni::quic::quinn::instance] client incoming data to read len=133bytes from 51.195.*.*:54474
[2023-10-22T10:50:55.558511Z DEBUG quinn_proto::endpoint] packet for unrecognized connection a8c5d617ece0dc51
[2023-10-22T10:50:55.558517Z DEBUG quinn_proto::endpoint] sending stateless reset for a8c5d617ece0dc51 to 51.195.*.*:54474
[2023-10-22T10:50:55.558523Z TRACE thread::eventloop::iouring::uni::quic::quinn::instance] client Response
[2023-10-22T10:50:55.558527Z TRACE thread::eventloop::iouring::uni::client] * process data(123bytes) to Some(Some(51.195.*.*:54474)) | Identity(type:Client,flag:3,slave:15,master:0) | segm_size:None | ecn:None
[2023-10-22T10:50:55.558550Z TRACE thread::eventloop::iouring::client] incoming DATA Identity(type:Client,flag:4,slave:15,master:0), result=123, is_more=false
[2023-10-22T10:50:55.558559Z TRACE thread::eventloop::iouring::uni::client] notification Send(Msg)Zc flag, Identity(type:Client,flag:4,slave:15,master:0), is_more:false
[2023-10-22T10:50:55.558561Z TRACE thread::eventloop::iouring::uni::client] Removed buffer for id:15
[2023-10-22T10:50:55.842763Z TRACE exchange] timeout: 16
[2023-10-22T10:50:55.842779Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:55.842783Z TRACE thread::eventloop::iouring::timerfd] Rearming 16
[2023-10-22T10:50:56.842824Z TRACE exchange] timeout: 17
[2023-10-22T10:50:56.842839Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:56.842845Z TRACE thread::eventloop::iouring::timerfd] Rearming 17
[2023-10-22T10:50:57.842884Z TRACE exchange] timeout: 18
[2023-10-22T10:50:57.842900Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:57.842906Z TRACE thread::eventloop::iouring::timerfd] Rearming 18
[2023-10-22T10:50:58.842947Z TRACE exchange] timeout: 19
[2023-10-22T10:50:58.842965Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:58.842970Z TRACE thread::eventloop::iouring::timerfd] Rearming 19
[2023-10-22T10:50:59.843001Z TRACE exchange] timeout: 20
[2023-10-22T10:50:59.843015Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:50:59.843021Z TRACE thread::eventloop::iouring::timerfd] Rearming 20
[2023-10-22T10:51:00.843071Z TRACE exchange] timeout: 21
[2023-10-22T10:51:00.843096Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:51:00.843101Z TRACE thread::eventloop::iouring::timerfd] Rearming 21
[2023-10-22T10:51:01.693445Z TRACE thread::eventloop::iouring::client] incoming DATA Identity(type:Client,flag:0,slave:0,master:0), result=234, is_more=true
[2023-10-22T10:51:01.693464Z TRACE thread::eventloop::iouring::uni::client] RcvdMsgHdrStorage read_out(data=234bytes)
[2023-10-22T10:51:01.693470Z TRACE thread::eventloop::iouring::uni::client] RecvMeta { len: 98, stride: 98, ecn: None, dst_ip: Some(192.168.70.65) }
[2023-10-22T10:51:01.693476Z TRACE thread::eventloop::iouring::uni::quic::quinn::instance] client incoming data to read len=98bytes from 51.195.*.*:54474
[2023-10-22T10:51:01.693483Z DEBUG quinn_proto::endpoint] packet for unrecognized connection 6ad7ee0f5199b9f7
[2023-10-22T10:51:01.693491Z DEBUG quinn_proto::endpoint] sending stateless reset for 6ad7ee0f5199b9f7 to 51.195.*.*:54474
[2023-10-22T10:51:01.693500Z TRACE thread::eventloop::iouring::uni::quic::quinn::instance] client Response
[2023-10-22T10:51:01.693505Z TRACE thread::eventloop::iouring::uni::client] * process data(96bytes) to Some(Some(51.195.*.*:54474)) | Identity(type:Client,flag:3,slave:17,master:0) | segm_size:None | ecn:None
[2023-10-22T10:51:01.693535Z TRACE thread::eventloop::iouring::client] incoming DATA Identity(type:Client,flag:4,slave:17,master:0), result=96, is_more=false
[2023-10-22T10:51:01.693541Z TRACE thread::eventloop::iouring::uni::client] notification Send(Msg)Zc flag, Identity(type:Client,flag:4,slave:17,master:0), is_more:false
[2023-10-22T10:51:01.693547Z TRACE thread::eventloop::iouring::uni::client] Removed buffer for id:17
[2023-10-22T10:51:01.843128Z TRACE exchange] timeout: 22
[2023-10-22T10:51:01.843148Z TRACE commonlib::helpers::http_connections] maintain pool with cap:0/1
[2023-10-22T10:51:01.843152Z TRACE thread::eventloop::iouring::timerfd] Rearming 22
It's timing out because it's not receiving any packets after the first. You should investigate why.
I am behind NAT of my provider. Is there a way to uderstand what is happening? client tcpdump
tcpdump: listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
22:53:30.535228 eno1 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 1200
22:53:30.665646 eno1 In IP (tos 0x0, ttl 51, id 0, offset 0, flags [DF], proto UDP (17), length 144)
51.195.*.*.54474 > 192.168.70.65.50364: UDP, length 116
22:53:30.665878 eno1 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 1200
22:53:31.665443 eno1 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 1200
22:53:31.665455 eno1 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 1200
22:53:31.795876 eno1 In IP (tos 0x2,ECT(0), ttl 51, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
51.195.*.*.54474 > 192.168.70.65.50364: UDP, length 1200
22:53:31.796265 eno1 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 1200
22:53:33.663549 eno1 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 1200
22:53:33.663560 eno1 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 1200
22:53:37.659723 eno1 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 1200
22:53:37.659745 eno1 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 1200
22:53:47.557642 eno1 In IP (tos 0x2,ECT(0), ttl 51, id 0, offset 0, flags [DF], proto UDP (17), length 161)
51.195.*.*.54474 > 192.168.70.65.50364: UDP, length 133
22:53:47.557735 eno1 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 116)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 88
22:53:53.685669 eno1 In IP (tos 0x0, ttl 51, id 0, offset 0, flags [DF], proto UDP (17), length 98)
51.195.*.*.54474 > 192.168.70.65.50364: UDP, length 70
22:53:53.685827 eno1 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 87)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 59
22:53:54.686122 eno1 In IP (tos 0x0, ttl 51, id 0, offset 0, flags [DF], proto UDP (17), length 83)
51.195.*.*.54474 > 192.168.70.65.50364: UDP, length 55
22:53:54.686254 eno1 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 77)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 49
22:53:55.557934 eno1 In IP (tos 0x0, ttl 51, id 0, offset 0, flags [DF], proto UDP (17), length 70)
51.195.*.*.54474 > 192.168.70.65.50364: UDP, length 42
22:53:55.558021 eno1 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 69)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 41
22:53:56.557864 eno1 In IP (tos 0x0, ttl 51, id 0, offset 0, flags [DF], proto UDP (17), length 68)
51.195.*.*.54474 > 192.168.70.65.50364: UDP, length 40
22:53:56.557988 eno1 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 67)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 39
22:53:57.557849 eno1 In IP (tos 0x0, ttl 51, id 0, offset 0, flags [DF], proto UDP (17), length 66)
51.195.*.*.54474 > 192.168.70.65.50364: UDP, length 38
22:53:57.557960 eno1 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 65)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 37
22:53:57.687681 eno1 In IP (tos 0x0, ttl 51, id 0, offset 0, flags [DF], proto UDP (17), length 64)
51.195.*.*.54474 > 192.168.70.65.50364: UDP, length 36
22:53:57.687833 eno1 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 63)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 35
22:53:58.557431 eno1 In IP (tos 0x0, ttl 51, id 0, offset 0, flags [DF], proto UDP (17), length 62)
51.195.*.*.54474 > 192.168.70.65.50364: UDP, length 34
22:53:58.557555 eno1 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 61)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 33
22:53:59.557482 eno1 In IP (tos 0x0, ttl 51, id 0, offset 0, flags [DF], proto UDP (17), length 60)
51.195.*.*.54474 > 192.168.70.65.50364: UDP, length 32
22:53:59.557633 eno1 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 59)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 31
22:53:59.686817 eno1 In IP (tos 0x0, ttl 51, id 0, offset 0, flags [DF], proto UDP (17), length 58)
51.195.*.*.54474 > 192.168.70.65.50364: UDP, length 30
22:53:59.686957 eno1 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 57)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 29
22:54:00.557429 eno1 In IP (tos 0x0, ttl 51, id 0, offset 0, flags [DF], proto UDP (17), length 56)
51.195.*.*.54474 > 192.168.70.65.50364: UDP, length 28
22:54:00.557618 eno1 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 55)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 27
22:54:01.557751 eno1 In IP (tos 0x0, ttl 51, id 0, offset 0, flags [DF], proto UDP (17), length 54)
51.195.*.*.54474 > 192.168.70.65.50364: UDP, length 26
22:54:01.557879 eno1 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 53)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 25
22:54:01.687019 eno1 In IP (tos 0x0, ttl 51, id 0, offset 0, flags [DF], proto UDP (17), length 52)
51.195.*.*.54474 > 192.168.70.65.50364: UDP, length 24
22:54:01.687172 eno1 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 51)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 23
22:54:02.558346 eno1 In IP (tos 0x0, ttl 51, id 0, offset 0, flags [DF], proto UDP (17), length 50)
51.195.*.*.54474 > 192.168.70.65.50364: UDP, length 22
22:54:02.558480 eno1 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 49)
192.168.70.65.50364 > 51.195.*.*.54474: UDP, length 21
Server tcpdump
tcpdump: data link type LINUX_SLL2
tcpdump: listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
18:53:30.601596 enp3s0f0 In IP (tos 0x2,ECT(0), ttl 50, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
94.204.197.121.50364 > 51.195.*.*.54474: UDP, length 1200
18:53:30.601870 enp3s0f0 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 144)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 116
18:53:30.732600 enp3s0f0 In IP (tos 0x2,ECT(0), ttl 50, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
94.204.197.121.50364 > 51.195.*.*.54474: UDP, length 1200
18:53:30.737484 enp3s0f0 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 2561)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 2533
18:53:30.737488 enp3s0f0 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 166)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 138
18:53:31.732311 enp3s0f0 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 1200
18:53:31.732316 enp3s0f0 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 1200
18:53:32.731871 enp3s0f0 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1083)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 1055
18:53:32.731888 enp3s0f0 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 1200
18:53:35.729101 enp3s0f0 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 1200
18:53:35.729115 enp3s0f0 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1228)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 1200
18:53:40.724884 enp3s0f0 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 161)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 133
18:53:40.724899 enp3s0f0 Out IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1083)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 1055
18:53:53.621966 enp3s0f0 In IP (tos 0x0, ttl 50, id 0, offset 0, flags [DF], proto UDP (17), length 116)
94.204.197.121.50364 > 51.195.*.*.54474: UDP, length 88
18:53:53.622237 enp3s0f0 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 98)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 70
18:53:54.622235 enp3s0f0 In IP (tos 0x0, ttl 50, id 0, offset 0, flags [DF], proto UDP (17), length 87)
94.204.197.121.50364 > 51.195.*.*.54474: UDP, length 59
18:53:54.622502 enp3s0f0 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 83)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 55
18:53:54.752490 enp3s0f0 In IP (tos 0x0, ttl 50, id 0, offset 0, flags [DF], proto UDP (17), length 77)
94.204.197.121.50364 > 51.195.*.*.54474: UDP, length 49
18:53:54.752719 enp3s0f0 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 70)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 42
18:53:55.624613 enp3s0f0 In IP (tos 0x0, ttl 50, id 0, offset 0, flags [DF], proto UDP (17), length 69)
94.204.197.121.50364 > 51.195.*.*.54474: UDP, length 41
18:53:55.624861 enp3s0f0 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 68)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 40
18:53:56.624548 enp3s0f0 In IP (tos 0x0, ttl 50, id 0, offset 0, flags [DF], proto UDP (17), length 67)
94.204.197.121.50364 > 51.195.*.*.54474: UDP, length 39
18:53:56.624821 enp3s0f0 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 66)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 38
18:53:57.624403 enp3s0f0 In IP (tos 0x0, ttl 50, id 0, offset 0, flags [DF], proto UDP (17), length 65)
94.204.197.121.50364 > 51.195.*.*.54474: UDP, length 37
18:53:57.624616 enp3s0f0 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 64)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 36
18:53:57.753587 enp3s0f0 In IP (tos 0x0, ttl 50, id 0, offset 0, flags [DF], proto UDP (17), length 63)
94.204.197.121.50364 > 51.195.*.*.54474: UDP, length 35
18:53:57.753774 enp3s0f0 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 62)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 34
18:53:58.623661 enp3s0f0 In IP (tos 0x0, ttl 50, id 0, offset 0, flags [DF], proto UDP (17), length 61)
94.204.197.121.50364 > 51.195.*.*.54474: UDP, length 33
18:53:58.623854 enp3s0f0 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 60)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 32
18:53:59.623481 enp3s0f0 In IP (tos 0x0, ttl 50, id 0, offset 0, flags [DF], proto UDP (17), length 59)
94.204.197.121.50364 > 51.195.*.*.54474: UDP, length 31
18:53:59.623677 enp3s0f0 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 58)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 30
18:53:59.753448 enp3s0f0 In IP (tos 0x0, ttl 50, id 0, offset 0, flags [DF], proto UDP (17), length 57)
94.204.197.121.50364 > 51.195.*.*.54474: UDP, length 29
18:53:59.753614 enp3s0f0 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 56)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 28
18:54:00.623539 enp3s0f0 In IP (tos 0x0, ttl 50, id 0, offset 0, flags [DF], proto UDP (17), length 55)
94.204.197.121.50364 > 51.195.*.*.54474: UDP, length 27
18:54:00.623730 enp3s0f0 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 54)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 26
18:54:01.623529 enp3s0f0 In IP (tos 0x0, ttl 50, id 0, offset 0, flags [DF], proto UDP (17), length 53)
94.204.197.121.50364 > 51.195.*.*.54474: UDP, length 25
18:54:01.623726 enp3s0f0 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 52)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 24
18:54:01.753473 enp3s0f0 In IP (tos 0x0, ttl 50, id 0, offset 0, flags [DF], proto UDP (17), length 51)
94.204.197.121.50364 > 51.195.*.*.54474: UDP, length 23
18:54:01.753663 enp3s0f0 Out IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 50)
51.195.*.*.54474 > 94.204.197.121.50364: UDP, length 22
18:54:02.624397 enp3s0f0 In IP (tos 0x0, ttl 50, id 0, offset 0, flags [DF], proto UDP (17), length 49)
94.204.197.121.50364 > 51.195.*.*.54474: UDP, length 21
An NAT is probably not relevant. It looks like the server is indeed sending many more packets than are being received. Perhaps GSO is broken in your cloud environment? Have you tried turning that off?
An NAT is probably not relevant. It looks like the server is indeed sending many more packets than are being received. Perhaps GSO is broken in your cloud environment? Have you tried turning that off?
Do you mean turn off on network level or just in code?
No harm in trying both.
How to turn it off in code? Just set max_gso_segments to 1?
I moved client to AWS server and tried to connect it to my Germany OVH server and voila, it is working. It looks like in Dubai they are blocking this kind of traffic or something. At least all messengers like Whatsup and Telegram have no ability to accept calls.
How to turn it off in code? Just set max_gso_segments to 1?
TransportConfig::enable_segmentation_offload
was added semi-recently in git.
It looks like in Dubai they are blocking this kind of traffic or something
Interesting! Might be informative to experiment with what UDP traffic does and doesn't make it through. In the mean time, certainly makes sense to take your business to a provider that carries your traffic.
I need a fresh mind. I have another but a bit similar trouble. I turn on client first time and everything is Ok, then after some working time, disconnect happen and client try to reconnect and everytime it shows TImedOut error, but when i restart client it connects as supposed, then everything repeats...
Have you configured an appropriate keep-alive interval?
I use 10secs idle and 5sec keep-alive.
Okay, now the same problem started :(
Does it still occur when GSO is disabled?
If you can prove that UDP packets are being transmitted from the server and not received by your client, you should work with your cloud provider and/or client-side ISP to find out what's happening to them.
GSO makes no sense, tried everything (incl. transport.enable_segmentation_offload(false);
).
I am running both client and server and everything is fine, then i kill client and restart everything fine again, then i kill server and restart client sends Hello, server sees it and TimedOut error. If i kill+restart client it connects again as supposed.
Looks like the problem was in OVH firewall.
Thank you very much for helping!
Glad you were able to track the issue down!
I am experiencing some problems after i moved my project's quic-server to cloud server from dev machine. Client is able to establish connection but it dropped after several seconds. Here is client log:
Server log: