Apakah mungkin menggunakan pseudoterminal untuk mengalihkan aliran data PPP ke aplikasi?

0

Saya ingin mengatur PPP untuk menggunakan pseudoterminal slave (/ dev / pts / N) alih-alih tautan serial fisik, menangani aliran datanya dalam aplikasi (dari / dev / ptmx) dan mengarahkan ulang aliran itu ... di tempat yang sesuai. Setelah membaca semua dokumentasi saya mengerti bahwa ini bisa dilakukan, namun, saya tidak menemukan jejak seseorang yang benar-benar mencoba. Jadi, bisakah seseorang yang merasa nyaman dengan PTS mengonfirmasi bahwa saya tidak melewatkan sesuatu?

Saya bisa mencoba sendiri, tetapi akan melibatkan sedikit pengembangan perangkat lunak untuk menjawab pertanyaan. Saya terutama bertanya-tanya tentang masalah aliran data (saya akan menggunakan XOn / Xoff) atau masalah latensi ...

Cerita panjang ...

Saya menggunakan Linux tertanam (Sebut saja perangkat # 1). Perangkat ini memiliki aplikasi yang berkomunikasi dengan perangkat kedua (Sebut saja perangkat # 2) melalui protokol buatan sendiri pada tautan serial. Saat ini, Perangkat # 1 menggunakan PPP dan modem yang terhubung ke tautan serial kedua untuk komunikasinya.
Intinya adalah bahwa perangkat # 2 juga memiliki modem. Jadi, saya ingin menghapus modem dari perangkat # 1 untuk mengurangi biaya solusi kami dan mengarahkan aliran data PPP ke perangkat / modem lain.

Ide saya adalah menggunakan pasangan pseudoterminal, memodifikasi aplikasi untuk membaca aliran dari PTM, merangkumnya dalam protokol buatan sendiri dan mengirimkannya ke perangkat # 2. Perangkat # 2 dapat dimodifikasi untuk menangani aliran ini dengan benar, bukan itu intinya.

  • Perangkat # 2 tidak memiliki Sistem Operasi (Saya tidak bisa menggunakan socat antara kedua perangkat).
  • tty0tty bisa menjadi solusi, tapi saya ingin menghindari sejauh mungkin instalasi suatu paket,
  • SSL / TCP harus diatur di perangkat # 1 (Linux) untuk alasan keamanan. Ini wajib.
SC0
sumber
Ketika Anda mengatakan perangkat # 2 tidak memiliki OS, apa yang dimilikinya?
Hack5
perangkat # 2 adalah papan ARM9. Ini menjalankan perangkat lunak Embedded yang dikembangkan dalam ANSI C. Hampir tidak ada perpustakaan yang tersedia (tidak cukup memori).
SC0

Jawaban:

0

Saya sudah terbiasa pppdmenjalankan lalu lintas melalui koneksi SSH sebelumnya, yang seharusnya mirip dengan apa yang Anda coba. Saya melakukan itu setelah mengalami masalah dengan tunneling SSH tradisional, di mana penciptaan / penghancuran koneksi TCP yang diteruskan menghambat banyak hal. Kombinasi ssh + pppd bekerja lebih baik, jadi semoga itu berarti Anda tidak akan mengalami banyak masalah dengan latensi. Saya tidak dapat berbicara dengan situasi Xon / Xoff.

Saya menyertakan baris dalam /etc/ppp/peers/<linkname>file yang terlihat seperti ini:

pty "/usr/bin/ssh -t -P -l username servername"

Anda tentu ingin mengganti sshperintah itu dengan alat Anda sendiri untuk menerjemahkan tautan serial.

Ada juga orang yang telah melakukan hal yang sama dengan socatdan nc, jadi saya berharap ini bisa dilakukan.

mulad
sumber