
Sebelumnya, kami telah mempelajari teknologi penyimpanan informasi baru. Selain pentingnya penyimpanan data, Anda harus tetap dapat mentransfernya. Perkembangan teknologi telah memungkinkan terciptanya banyak metode transfer informasi. Dan, tampaknya, sudah ada semua yang Anda butuhkan, Anda dapat memperbaikinya. Namun, para ilmuwan tidak akan menjadi ilmuwan sejati jika mereka tidak mencari untuk menciptakan sesuatu yang baru. Jadi kami mendapat teknologi VLC (komunikasi cahaya tampak) - transmisi data dengan cahaya tampak. Metode ini memiliki kelebihan yang mengesankan dan juga kerugian yang mengecewakan. Para ilmuwan dari Universitas Sains dan Teknologi Cina berhasil memperbaiki sistem VLC berkat protokol TCP baru yang mereka kembangkan. Bagaimana cara kerja sistem baru, apa pro dan kontra, dan apakah ia memiliki masa depan? Kami akan mencoba menemukan jawaban untuk ini dan pertanyaan lainnya. Ayo pergi.
Secara singkat: apa itu VLC?
VLC (Visible Light Communicatio) adalah teknologi transmisi cahaya tampak yang merupakan bagian dari OWC (komunikasi nirkabel optik). Kedengarannya mengesankan, futuristik dan bahkan entah bagaimana tidak realistis. Semua rumah memiliki lampu yang menerangi kamar. Teknologi ini memungkinkan penggunaan cahaya ini sebagai saluran transmisi data. Untuk ini, rentang cahaya tampak tertentu digunakan - mulai 400 hingga 800 THz. Tergantung pada jenis lampu, kecepatan transfer data juga berubah: lampu neon - 10 kbit / dtk, dan LED - hingga 500 Mbit / dtk. Untuk menerima data, perangkat harus memiliki fotodioda yang mengambil sinyal optik. Dalam beberapa kasus, kamera ponsel cerdas mungkin cukup untuk ini.
VLC adalah teknologi yang sangat menjanjikan. Aplikasi yang paling jelas adalah kehidupan sehari-hari. Perangkat dengan teknologi ini bisa di rumah pribadi, apartemen, tempat umum, dll. Namun, ada kelemahan tertentu yang memperlambat proses mempopulerkan teknologi VLC. Ada tugas yang sulit - untuk "memaksa" sistem VLC untuk menyediakan uplink yang baik (Uplink). Mengapa ini sulit? Pertama, perangkat seluler terbatas dalam hal konsumsi energi dan tidak dapat dilengkapi dengan sumber cahaya yang intensif energi. Kedua, untuk pengoperasian sistem VLC membutuhkan sinar terarah "jelas". Karenanya, perangkat seluler yang kami gerakkan dan putar sepanjang waktu tidak dapat sepenuhnya menggunakan teknologi VLC.
Representasi grafis perkiraan sistem VLC dalam kehidupan sehari-hariTentu saja, dalam beberapa tahun terakhir, berbagai kelompok penelitian telah mengusulkan penggunaan frekuensi radio, inframerah, dan transceiver reflektif untuk memecahkan masalah uplink VLC di tingkat fisik. Namun, karena model asimetris yang digunakan dalam pembangunan sistem VLC menggunakan pendekatan di atas, masalah baru muncul, kali ini dengan kompatibilitas protokol tingkat atas.
Untuk menghilangkan semua kekurangan dan masalah ini, peneliti harus membuat sistem hybrid VLC / Wi-Fi: downlink VLC (downlink) dan uplink Wi-Fi. Ini memungkinkan penggunaan protokol TCP standar. Semuanya berfungsi seperti yang diharapkan, tetapi masih ada masalah - kenyamanan dan kesederhanaan, atau lebih tepatnya ketidakhadiran mereka. Sistem hibrida semacam itu membutuhkan peralatan tambahan, perutean yang rumit, belum lagi pemrograman ulang soket khusus. Semua ini, tentu saja, akan mengusir pengguna yang ingin menggunakan sistem yang efektif, tetapi mudah digunakan.
DetcPara peneliti memutuskan untuk mencari solusi untuk semua masalah dalam protokol layer transport. Menurut para ilmuwan, menggunakan protokol TCP standar tidak efisien dalam sistem VLC hybrid. Mereka menyarankan menggunakan DETCP (decoupled shared TCP), yang berbagi transmisi TCP dua arah. Artinya, satu aliran TCP dapat menggunakan dua koneksi secara bersamaan: koneksi utama sebagai downlink dan koneksi tambahan sebagai uplink. Dengan demikian, DETCP akan memungkinkan pengguna untuk menggunakan VLC dengan beberapa jalur komunikasi lain untuk membentuk sistem dua arah hibrid tanpa memperhatikan asimetri mereka. Dan pemrograman soket tambahan dan routing yang sulit akan tenggelam terlupakan.
Saat ini, sebagian besar terminal memiliki beberapa antarmuka. Untuk mengatasi masalah multicast, Gugus Tugas Teknik Internet (IETF / Internet Engineering Council) mengusulkan modifikasi untuk protokol TCP yang disebut
MPTCP - multipath TCP (multipath TCP). Ini memungkinkan koneksi tunggal untuk mengirimkan paket pada banyak jalur secara bersamaan. Para peneliti di teknologi VLC telah memutuskan untuk menerapkan modifikasi ini pada protokol mereka. Hasilnya adalah
protokol MP-DETCP .
Dasar-dasar konsep protokol DETCPProtokol layer transport yang paling umum adalah TCP, karena memungkinkan untuk transmisi data yang stabil dan andal. Namun, ada batasan - semua keuntungan TCP akan terwujud sepenuhnya hanya jika koneksi fisik memungkinkan untuk sepenuhnya menggunakan transfer data dua arah. Dalam kasus VLC, sistem hanya dapat menyediakan downlink yang mengarah ke antarmuka jaringan searah. Oleh karena itu, TCP tidak dapat sepenuhnya memanfaatkan semua kemampuan transfer data.
Protokol DETCP dibuat khusus untuk menyelesaikan masalah ini, yaitu untuk mengimplementasikan transfer data pada sistem hybrid yang terdiri dari dua koneksi independen, apakah searah, dua arah, atau campuran.
Menurut para peneliti, tujuan paling penting dari protokol DETCP adalah:
- pemisahan transmisi TCP dua arah menjadi dua transmisi searah yang dilakukan pada dua koneksi fisik independen dan sesuai dengan pengaturan pengguna;
- membuat protokol berlaku tanpa harus membuat perubahan pada aplikasi yang ada yang menggunakan protokol TCP standar.
Arsitektur koneksiSoket digunakan oleh protokol TCP standar untuk mengidentifikasi sepasang titik akhir untuk setiap host. Dengan demikian, sambungan diikat ke koneksi fisik tertentu, ditunjukkan oleh soket. Namun, dalam sistem searah seperti VLC, struktur koneksi TCP yang ada tidak dapat menyediakan transfer data di setiap arah antara host karena fakta bahwa koneksi searah tidak dapat membentuk pertukaran / transmisi data sirkuit.
Untuk mengatasi masalah ini, protokol DETCP menggunakan arsitektur koneksi yang berbeda dari TCP. Ada dua koneksi fisik dalam sistem ini yang bertanggung jawab untuk TCP, dan bertanggung jawab bersama untuk transmisi.
Arsitektur DETCP (kanan) dan TCP (kiri):- SIP (sumber alamat IP) - sumber alamat IP;
- OSIP (alamat IP sumber asli) - alamat IP sumber utama;
- CSIP (alamat IP sumber pelengkap) - alamat IP sumber tambahan;
- DIP (alamat IP tujuan) - alamat IP tujuan;
- ODIP (alamat IP tujuan awal) - alamat IP tujuan utama;
- CDIP (alamat IP tujuan pelengkap) - alamat IP tujuan tambahan.
Pada tingkat koneksi, transfer data masih dua arah, tetapi pada level saluran ada dua transmisi terpisah yang diarahkan ke arah yang berbeda.
Identifikasi koneksiDalam protokol TCP standar, setiap koneksi diidentifikasi oleh 4-tupel (alamat sumber, port sumber, alamat tujuan, dan port tujuan). Inti dari mekanisme kontrol ini adalah koneksi TCP dibuat pada satu koneksi. Dan karena DETCP adalah kombinasi dari dua koneksi, diperlukan tuple 6 dimensi (alamat sumber utama, alamat sumber tambahan, port sumber, alamat tujuan utama, alamat tujuan tambahan dan port tujuan).
Agar sistem sesuai dengan tugas kedua yang ditetapkan peneliti sendiri, struktur soket tetap tidak berubah. Oleh karena itu, perlu untuk menemukan cara lain untuk memasukkan alamat tambahan pada tumpukan protokol. Karena itu, diputuskan untuk menggunakan file konfigurasi kernel. Pengguna dapat menentukan alamat tambahan di dalamnya, yang menerapkan tuple 6 dimensi dengan sepasang soket standar utama dan alamat tambahan. Dengan cara ini, DETCP memastikan kompatibilitas dengan protokol lapisan aplikasi.
Inisiasi membuka dan menutup koneksiProses untuk memulai pembukaan dan penutupan koneksi DETCP dan TCP sangat mirip. Mekanisme "jabat tangan" digunakan, karena ini adalah yang paling efektif. Namun, dua perubahan penting diperkenalkan yang membedakan DETCP dari TCP:
- Karena alamat sekunder lokal tidak diketahui oleh host jarak jauh sebelum koneksi dibuat, dan untuk setiap host informasi alamat lengkap diperlukan untuk melakukan transfer split, parameter TCP ditambahkan untuk menginformasikan host jarak jauh dari alamat tambahan selama proses inisiasi koneksi.
- Karakteristik pemisahan ditampilkan pada tahap inisiasi pembukaan dan pada tahap penutupan koneksi. Gambar di bawah ini menunjukkan proses jabat tangan tiga arah, dikoordinasikan oleh tuple 6 dimensi.
Jabat tangan tiga arah, dikoordinasikan oleh tuple 6 dimensi, pada tahap inisiasi membuka koneksiTransfer dataUntuk memastikan bahwa proses pemisahan sudah benar selama transfer data, ketika paket berikutnya siap untuk dikirim, arah koneksi saat ini harus diubah. Jika arah ini dari host jarak jauh ke host lokal, pengiriman akan melalui koneksi tambahan.
Dalam proses memperoleh data, ada masalah yang perlu diatasi. Jika kernel menggunakan alamat yang diterima dengan mem-parsing dari header IP langsung pada paket-paket yang masuk demultiplexing, mereka mungkin terikat pada koneksi DETCP yang salah.
Sebagai contoh, server mengirimkan paket data ke klien melalui downlink, dan klien mengirimkan respons melalui uplink. Dalam situasi seperti itu, alamat yang diterima dari respons adalah alamat uplink, dan untuk server, koneksi terhubung ke alamat downlink. Ketidakcocokan ini menyebabkan kesalahan paket. Untuk menghindari masalah seperti itu, para peneliti menambahkan opsi TCP.
Operasi protokol DETCPPertama, Anda perlu mengkonfigurasi antarmuka. Protokol DETCP memungkinkan pengguna untuk menetapkan arah untuk antarmuka tertentu ("Keluar," "Masuk," "Dua Arah") melalui file konfigurasi. Ketika antarmuka yang terkait dengan soket diatur sebagai antarmuka searah, pengguna harus menunjuk antarmuka lain sebagai antarmuka tambahan. Kombinasi keempat antarmuka menentukan keseluruhan proses koneksi.
Diagram status DETCP (menggunakan koneksi tambahan di sebelah kiri untuk mengirim paket, di sebelah kanan - koneksi utama untuk mengirim paket)Pada akhir paragraf sebelumnya, kita berbicara tentang menggunakan opsi TCP tertentu. Opsi ini adalah CPT_ADDR, dibuat khusus untuk memastikan proses transfer data yang benar.
Setiap paket yang dikirim terdiri dari:
- SYN (client to server) - alamat IP tambahan dari klien;
- SYN / ACK (server ke klien) - alamat IP tambahan dari server.
Prinsip pemisahan bekerja pada semua tahap transfer data (inisiasi membuka koneksi, transfer data, dan inisiasi penutupan koneksi).
Inisiasi membuka koneksi:- SYN (client to server) - koneksi utama;
- SYN / ACK (server ke klien) - koneksi tambahan;
- ACK (klien ke server) adalah koneksi utama.
Transfer data:- Paket dari klien ke server - koneksi utama;
- Paket dari server ke klien - koneksi tambahan.
Penutupan Koneksi:- FIN (client to server) - koneksi utama;
- ACK (server ke klien) - koneksi tambahan;
- FIN (server ke klien) - koneksi tambahan;
- ACK (klien ke server) adalah koneksi utama.
Pengujian eksperimental dan evaluasi hasil
Munculnya implementasi sistem hybridUntuk tes protokol DETCP dan MP-DETCP, semuanya diimplementasikan dalam kernel Linux. Sistem hybrid terdiri dari VLC (sebagai downlink, 20 m) dan koneksi Ethernet (sebagai uplink, 100 m). Bandwidth semua saluran yang terhubung ke router dan sistem VLC ditetapkan pada 100 Mbps.
Topologi jaringan DETCP: di bagian atas adalah uplink tambahan, di bagian bawah adalah downlink VLC.
Topologi Jaringan MP-DETCP:- Senyawa A dan D - Downlink VLC;
- Senyawa B dan E adalah senyawa tambahan;
- Koneksi C dan F adalah subflow Ethernet.
Tes KetersediaanPertama, perlu untuk memeriksa apakah DETCP dapat secara efektif menggunakan pita yang tersedia di lingkungan sistem hybrid. Untuk menguji stabilitas DETCP terhadap kinerja buruk koneksi tambahan, uplink klien dikonfigurasikan sehingga beberapa paket data hilang. Ini semacam tes stres.

Grafik di atas menunjukkan kinerja tinggi dan efisiensi DETCP dalam sistem hybrid. Kapasitas saluran digunakan pada 95%, sementara tidak ada paket loss terdeteksi. Ketika persentase kehilangan paket dari 0,5 menjadi 2,0, tingkat pemanfaatan saluran menurun menjadi 92%. Namun, DETCP tetap stabil dan efisien. Hanya dengan peningkatan persentase kehilangan paket menjadi 5, kinerja DETCP mulai menurun secara dramatis.
Kesimpulan dari tes ini adalah bahwa penggunaan DETCP efektif dalam sistem hybrid, dan koneksi tambahan, meskipun mereka mempengaruhi gambaran kinerja secara keseluruhan, sangat tidak signifikan. Dengan perbaikan sistem lebih lanjut, efek negatif ini dapat dikurangi seminimal mungkin.
Faktor KinerjaUntuk menguji sistem dan DETCP, pertama-tama perlu untuk menentukan faktor mana yang akan mempengaruhi kinerjanya. Dengan menggunakan faktor-faktor ini, Anda dapat melihat bagaimana produktivitas akan berubah.
Faktor # 1: packet lossAntarmuka dikonfigurasi sehingga dari 0% hingga 4% dari paket data hilang secara acak.

Seperti dapat dilihat dari grafik di atas, throughput berkurang secara linear dengan peningkatan persentase paket yang hilang. Juga terungkap bahwa dengan tingkat kehilangan paket yang besar, tingkat perbedaan dalam pembacaan pengukuran berulang meningkat, dan tingkat transmisi rata-rata menjadi tidak stabil.
Faktor # 2: keterlambatan transfer dataUntuk memeriksa efek dari faktor ini, penundaan diatur dari 0 hingga 100 ms.

Grafik di atas menunjukkan hubungan antara bandwidth dan penundaan transfer data. Ketika yang terakhir kurang dari 20 ms, bandwidth stabil dan bandwidth digunakan sepenuhnya. Jika keterlambatan mencapai 50 ms, throughput rata-rata berkurang secara signifikan. Dengan penundaan 100 ms, throughput turun sebanyak 35%, dan pengiriman paket menjadi tidak stabil.
Faktor 3: pengurutan paketFaktor verifikasi terakhir adalah pengurutan ulang paket: beberapa paket akan tertunda, dan sebagian lagi, pada waktunya, tepat waktu.

Diagram di atas menunjukkan hubungan eksplisit antara bandwidth dan pengurutan paket. Semua tes menunjukkan penurunan yang signifikan dalam throughput. Namun, dengan peningkatan penundaan, penurunan tidak terjadi secara linear. Jadi dengan penundaan 10 ms, dan persentase paket yang dipesan ulang adalah 5%, pengurangan throughput terjadi secara bertahap dan tidak signifikan. Namun, pada 10% atau 20%, indikator-indikatornya runtuh.
Tingkat throughput pada 5% dari paket-paket yang disusun ulang dengan penundaan 10 ms kira-kira sesuai dengan indikator pada 10% dan penundaan 5 ms atau 20% dan penundaan 2 ms.
Sebagai kesimpulan, untuk operasi sistem yang stabil dan efisien, perlu mengontrol jumlah paket yang disusun kembali dan waktu tunda.
Jika kinerja downlink VLC memburuk dalam sistem di mana uplink disajikan sebagai koneksi dua arah, seperti grosir atau Wi-Fi, ada baiknya mempertimbangkan kemungkinan kembali ke penggunaan standar TCP satu arah yang berjalan pada uplink. Ini bisa menjadi cara yang efektif untuk meningkatkan keandalan sistem ketika kinerja downlink VLC sangat berkurang.
Perbandingan kinerjaSalah satu tugas utama multithreading adalah meningkatkan throughput. Tes ini menguji MP-DETCP dan DETCP dalam kondisi koneksi yang sama. Hasil dicatat ketika tingkat kehilangan data bervariasi dari 0% hingga 4%.

Diagram di atas menunjukkan bahwa meskipun kinerja VLC lebih rendah daripada DETCP, MP-DETCP masih menunjukkan tingkat pemanfaatan pita yang tinggi. Ketika data ditransmisikan tanpa kehilangan paket, laju 115 Mbps tercapai, yang menegaskan kemampuan MP-DETCP untuk menyediakan koneksi yang efisien dan efisien. Ketika tingkat packet loss meningkat, throughput VLC sangat berkurang. Pada saat ini, koneksi Ethernet yang sama juga turun sedikit. Namun, keseluruhan throughput tetap pada level yang cukup tinggi. Ini berarti bahwa jika koneksi VLC rusak dan diblokir, transfer data akan diselesaikan pada koneksi lain.
Temuan PenelitiUntuk memecahkan masalah transmisi data dalam sistem VLC, para peneliti mengusulkan menggunakan protokol DETCP untuk memisahkan transmisi dua arah. Berdasarkan hal ini, dapat dikatakan bahwa penggunaan MP-DETCP akan meningkatkan kinerja sistem VLC hybrid.
Protokol DETCP dan MP-DETCP telah berhasil lulus tes untuk kinerja dan keandalan, menunjukkan efektivitas pemisahan koneksi.Implementasi protokol baru akan berfungsi sebagai dasar untuk penelitian lebih lanjut tentang teknologi jaringan. Termasuk penelitian di bidang hibridisasi berbagai senyawa fisik untuk mendapatkan sistem dengan tingkat kinerja dan throughput yang tinggi.Anda dapat membiasakan diri dengan perincian studi dengan bantuan laporan di tautanEpilogue iniSetiap teknologi membutuhkan "pemolesan" sebelum dapat disebut efektif. Dalam kasus protokol DETCP dan MP-DETCP baru, pekerjaan masih banyak. Namun, hasil eksperimen sudah bisa disebut mengesankan. Sistem VLC sekarang sangat populer di kalangan peneliti, tetapi tidak di kalangan pengguna. Urutan ini dapat berubah di tahun-tahun mendatang. Dan kemudian bola lampu tidak hanya berarti kurangnya pencahayaan, tetapi juga Internet.Terima kasih telah tinggal bersama kami. Apakah Anda suka artikel kami? Ingin melihat materi yang lebih menarik? Dukung kami dengan melakukan pemesanan atau merekomendasikannya kepada teman-teman Anda,
diskon 30% untuk pengguna Habr pada analog unik dari server entry-level yang kami temukan untuk Anda: Seluruh kebenaran tentang VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps dari $ 20 atau bagaimana membagi server? (opsi tersedia dengan RAID1 dan RAID10, hingga 24 core dan hingga 40GB DDR4).
Dell R730xd 2 kali lebih murah? Hanya kami yang memiliki
2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV dari $ 249 di Belanda dan Amerika Serikat! Baca tentang
Cara Membangun Infrastruktur kelas menggunakan server Dell R730xd E5-2650 v4 seharga 9.000 euro untuk satu sen?