Paket data yang dijatuhkan pada koneksi satelit

8

Kami memiliki beberapa pcs tertanam di pertanian di Inggris dan AS. Di antara koneksi lain, ini berbicara ke server kami mengirimkan paket kecil data (100 - 600 byte) setiap 20 detik.

Melalui DSL ini baik-baik saja. Melalui koneksi satelit, kami kehilangan sebagian besar paket.

Kami menggunakan TCP, dan tcpdump pada klien menunjukkan urutannya:

-> syn                   (send)
<- syn ack               (receive)
-> ack
-> push ack
<- ack                   (spoofed?)
-> fin ack
<- ack                   (spoofed?)
<- fin ack
-> ack

Server, bagaimanapun, melihat:

<- syn                   (receive)
-> syn ack               (send)
<- ack
<- fin ack
-> fin ack
<- ack

Saya pikir saya benar dalam mengatakan acks tambahan yang diterima klien dipalsukan oleh titik akhir satelit untuk mempercepat koneksi

Kami memiliki ~ 100 situs DSL dan 3 satelit. DSL semuanya baik-baik saja, dan satelit semuanya rusak dengan cara yang sama.

Apa yang terjadi pada data? Mungkin melewati satu kali dalam 20.

sunting Saya dapat melakukan ping ke server dari klien yang dimaksud. Semua klien memiliki terowongan ssh terbalik ke server yang berfungsi dengan baik. Kami dapat ssh in, dan juga mengunduh data. Hanya saja unggahan ini yang bermasalah.

Koneksi DSL - berhasil

root@mini2440:~ tcpdump port 1080 -vv
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
14:55:20.126968 IP (tos 0x0, ttl 64, id 29228, offset 0, flags [DF], proto TCP (6), length 60)
    client > server: Flags [S], cksum 0x1877 (incorrect -> 0x5ebd), seq 21640692, win 14600, options [mss 1460,sackOK,TS val 1485260760 ecr 0,nop,wscale 1], length 0
14:55:20.194124 IP (tos 0x0, ttl 51, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    server > client: Flags [S.], cksum 0xf10a (correct), seq 4087778233, ack 21640693, win 14480, options [mss 1452,sackOK,TS val 43969567 ecr 1485260760,nop,wscale 4], length 0
14:55:20.194465 IP (tos 0x0, ttl 64, id 29229, offset 0, flags [DF], proto TCP (6), length 52)
    client > server: Flags [.], cksum 0x186f (incorrect -> 0x3bcb), seq 1, ack 1, win 7300, options [nop,nop,TS val 1485260773 ecr 43969567], length 0
14:55:20.197225 IP (tos 0x0, ttl 64, id 29230, offset 0, flags [DF], proto TCP (6), length 403)
    client > server: Flags [P.], cksum 0x39c5 (correct), seq 1:352, ack 1, win 7300, options [nop,nop,TS val 1485260774 ecr 43969567], length 351
14:55:20.197564 IP (tos 0x0, ttl 64, id 29231, offset 0, flags [DF], proto TCP (6), length 52)
    client > server: Flags [F.], cksum 0x186f (incorrect -> 0x3a6a), seq 352, ack 1, win 7300, options [nop,nop,TS val 1485260774 ecr 43969567], length 0
14:55:20.267543 IP (tos 0x0, ttl 52, id 26507, offset 0, flags [DF], proto TCP (6), length 52)
    server > client: Flags [.], cksum 0x530f (correct), seq 1, ack 352, win 972, options [nop,nop,TS val 43969587 ecr 1485260774], length 0
14:55:20.271456 IP (tos 0x0, ttl 52, id 26508, offset 0, flags [DF], proto TCP (6), length 52)
    server > client: Flags [F.], cksum 0x530d (correct), seq 1, ack 353, win 972, options [nop,nop,TS val 43969587 ecr 1485260774], length 0
14:55:20.271771 IP (tos 0x0, ttl 64, id 29232, offset 0, flags [DF], proto TCP (6), length 52)
    client > server: Flags [.], cksum 0x186f (incorrect -> 0x3a46), seq 353, ack 2, win 7300, options [nop,nop,TS val 1485260789 ecr 43969587], length 0
8 packets captured

Koneksi satelit - tidak berhasil

root@mini2440:~ tcpdump port 1080 -vv
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
15:14:50.027783 IP (tos 0x0, ttl 64, id 13618, offset 0, flags [DF], proto TCP (6), length 60)
    client > server: Flags [S], cksum 0x1884 (incorrect -> 0x1b8a), seq 2040495825, win 14600, options [mss 1460,sackOK,TS val 16534499 ecr 0,nop,wscale 1], length 0
15:14:50.029731 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    server > client: Flags [S.], cksum 0x3451 (correct), seq 51102354, ack 2040495826, win 5792, options [mss 1460,sackOK,TS val 67452903 ecr 16534499,nop,wscale 7], length 0
15:14:50.034910 IP (tos 0x0, ttl 64, id 13619, offset 0, flags [DF], proto TCP (6), length 52)
    client > server: Flags [.], cksum 0x187c (incorrect -> 0x5d38), seq 1, ack 1, win 7300, options [nop,nop,TS val 16534500 ecr 67452903], length 0
15:14:50.036082 IP (tos 0x0, ttl 64, id 13620, offset 0, flags [DF], proto TCP (6), length 173)
    client > server: Flags [P.], cksum 0x8d87 (correct), seq 1:122, ack 1, win 7300, options [nop,nop,TS val 16534500 ecr 67452903], length 121
15:14:50.036351 IP (tos 0x0, ttl 64, id 13621, offset 0, flags [DF], proto TCP (6), length 52)
    client > server: Flags [F.], cksum 0x187c (incorrect -> 0x5cbe), seq 122, ack 1, win 7300, options [nop,nop,TS val 16534500 ecr 67452903], length 0
15:14:50.037547 IP (tos 0x0, ttl 63, id 64893, offset 0, flags [DF], proto TCP (6), length 52)
    server > client: Flags [.], cksum 0x790d (correct), seq 1, ack 122, win 46, options [nop,nop,TS val 67452911 ecr 16534500], length 0
15:14:50.076479 IP (tos 0x0, ttl 63, id 64894, offset 0, flags [DF], proto TCP (6), length 52)
    server > client: Flags [.], cksum 0x78e4 (correct), seq 1, ack 123, win 46, options [nop,nop,TS val 67452951 ecr 16534500], length 0
15:14:51.076273 IP (tos 0x0, ttl 63, id 64895, offset 0, flags [DF], proto TCP (6), length 52)
    server > client: Flags [F.], cksum 0x74e4 (correct), seq 1, ack 123, win 46, options [nop,nop,TS val 67453974 ecr 16534500], length 0
15:14:51.076482 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 52)
    client > server: Flags [.], cksum 0x57be (correct), seq 123, ack 2, win 7300, options [nop,nop,TS val 16534708 ecr 67453974], length 0
9 packets captured

Tidak ada traffic ICMP dalam kedua kasus.

Johan
sumber
Apakah ada lalu lintas yang mencapai server? yaitu ping mereka?
GerryEgan
Ya, saya bisa melakukan ping server dari klien yang dimaksud. Semua klien memiliki terowongan ssh terbalik ke server, dan ini berfungsi dengan baik. Kami dapat ssh in, dan juga mengunduh data. Hanya unggahan ini yang tidak berfungsi.
Johan
Ini akan membantu jika kita memiliki dua pcaps perbandingan dari mesin yang sama: A) di DSL dan B) di satelit. Informasi dalam pertanyaan tidak cukup untuk membantu dalam diagnosis. Harap tangkap baik TCP maupun ICMP ... beri kami dropbox, google drive, atau tautan "cloud" lainnya ke pcaps jika memungkinkan
Mike Pennington
Kami tidak memiliki mesin apa pun dengan DSL dan satelit. Saya dapat menjalankan tcpdump pada dua mesin terpisah, satu dengan DSL dan satelit lainnya, keduanya dengan perangkat lunak yang sama dan berbicara dengan server yang sama.
Johan
Apakah itu data yang Anda butuhkan? Saya baru saja melihat saran dropbox Anda, jadi saya kira Anda mengharapkan lebih banyak data ...
Johan

Jawaban:

2

Cap waktu pada entri pcap satelit Anda menyiratkan spoofing penerimaan tcp. Sebagian besar perangkat yang melakukan spoofing pengakuan dapat dikonfigurasikan untuk memotong akselerasi berdasarkan beberapa kombinasi sumber / alamat IP tujuan, sumber / port tujuan; konsep ACL standar. Ini bisa berupa fitur yang dapat dikonfigurasi di modem satelit (atau perangkat terdekat) di hub Anda dan berbicara tentang lokasi.

Optimalisasi area luas atau solusi akselerasi juga umum di arsitektur jaringan tersebut. Sekali lagi, solusi ini harus menyediakan metode untuk mem-bypass traffic Anda yang bermasalah. Perangkat seperti Riverbed Steelhead, Cisco WAAS, Bluecoat, dan Citrix Cloudbridge / Wanscaler adalah contoh teknologi yang dapat memengaruhi aplikasi Anda. Diskusi dengan penyedia Anda (atau orang jaringan) harus mengungkapkan jika teknologi tersebut digunakan di jaringan Anda; jika demikian, mintalah melewati lalu lintas yang terpengaruh di perangkat ini untuk melihat apakah perilaku berubah. Semoga berhasil.

packetloss
sumber
Ini adalah teori yang bagus; Akselerasi WAN adalah taktik umum dalam mencoba menggagalkan koneksi high-latency (satelit).
Ryan Foley
Mengingat bahwa klien mendapatkan acks yang tidak dikirim server, saya berasumsi itu harus spoofing. Akankah ini menyebabkan paket-paket dijatuhkan?
Johan
Johan, ini akan sangat sulit untuk memecahkan masalah lebih lanjut tanpa 1) informasi tcp header (nomor urut penting di sini) dan 2) string peralatan, termasuk modem satelit, Proxy Peningkatan Peningkatan Kinerja dan / atau gigi optimisasi WAN. Hanya sebuah pemikiran di sini, mengingat ssh tampaknya tidak terpengaruh, apakah Anda memikirkan untuk melakukan tunneling data aplikasi khusus Anda melalui ssh tunnel?
packetloss