Saya tidak terlalu paham internet, dan teknologi IoT sangat membingungkan bagi saya. Saya sedang membaca buku putih Stanford tentang struktur internet ini. Dalam Diagram 2, ini menunjukkan representasi dari "tumpukan" perangkat lunak yang digunakan komputer (PC) untuk membuat, memproses, dan mengirim pesan, di internet, ke komputer lain.
Apakah semua jenis komputer - smartphone / tv / gameconsoles, dll menggunakan format ini?
Apakah OS itu penting?
(Dalam hal ini) apakah ada perbedaan antara internet seluler dan Wifi / Ethernet?
Bagaimana dengan perangkat fungsi tunggal yang tampaknya tidak memiliki lapisan "Aplikasi" - mis. Kamera yang terhubung ke web, sakelar lampu, atau termostat.
networking
wifi
protocols
Milimeter terbaik
sumber
sumber
Jawaban:
Ada beberapa kesalahpahaman potensial atau kesalahpahaman dalam pertanyaan yang akan dibahas dalam posting ini.
Kehadiran kesalahpahaman ini mengharuskan dimasukkannya penjelasan berikut ini (untuk memberikan konteks untuk diskusi berikutnya):
Maka pertanyaan akan ditanggapi langsung.
Perhatikan bahwa mengingat pentingnya dan kompleksitasnya, seluruh seri buku telah ditulis pada paket protokol TCP / IP. Definisi dan penjelasan di sini akan diambil terutama dari Wikipedia, TCP / IP Illustrated Volume 1 Edisi kedua: Protokol oleh Stevens dan Fall, dan Tutorial TCP / IP IBM dan Tinjauan Teknis .
1. Internet
Internet secara teknis adalah Wide Area Network (WAN) , tetapi cara yang lebih bermanfaat untuk menganggapnya adalah sebagai semacam supernetwork (jaringan jaringan) atau agregat dari banyak berbagai jaringan internet yang saling terhubung . Berikut adalah gambar jalur perutean melalui sebagian Internet:
Bacaan yang menyenangkan tentang cara kerja Internet dapat ditemukan di artikel Arstechnica Bagaimana Internet bekerja: Serat kapal selam, otak dalam toples, dan kabel koaksial .
Jadi, bagaimana berbagai sistem yang berjalan pada platform perangkat keras yang berbeda terhubung ke jaringan yang berbeda dapat berkomunikasi satu sama lain? Bagaimana komunikasi antara susunan sistem dan jaringan yang begitu luas dan heterogen? Bagaimana semua ini bisa terjadi secara bersamaan?
2. Suite Protokol Internet
Jawabannya diberikan oleh paket protokol Internet, alias paket protokol TCP / IP. Pertanyaan-pertanyaan ini dipertimbangkan selama proses desain arsitektur Internet (TCP / IP Illustrated, Bagian 1.1: Prinsip Arsitektur):
Dari Internet Protocol Suite (Wikipedia):
Salah satu cara untuk memikirkan protokol TCP / IP adalah sebagai spesifikasi untuk bagaimana proses berjalan pada sistem yang berbeda dan jaringan yang berbeda dapat berkomunikasi satu sama lain. Pada dasarnya, TCP / IP protocol suite menyediakan standar untuk komunikasi antar-proses.
Sistem apa pun yang mengimplementasikan rangkaian protokol TCP / IP dengan benar dapat menggunakan fungsi yang disediakannya untuk memungkinkan prosesnya berkomunikasi melalui Internet. Bahkan, agar proses berkomunikasi melalui Internet dengan proses lain berjalan pada sistem jarak jauh di jaringan lain, sistem harus memanfaatkan protokol TCP / IP suite yang sesuai standar.
3. Aplikasi
Dari Perangkat Lunak Aplikasi (Wikipedia):
Suatu aplikasi dapat dianggap sebagai proses ruang pengguna yang berjalan pada suatu sistem. Selain contoh-contoh yang tercantum di atas, ini dapat mencakup program-program seperti (mode non-kernel) virus komputer, server web, aplikasi kamera, dan program agregasi data sensor.
Ketika suatu aplikasi mentransmisikan dan menerima data melalui Internet, ia harus memanfaatkan implementasi paket protokol TCP / IP sistem hostnya. Dari lapisan Aplikasi (Wikipedia):
Lapisan aplikasi rangkaian protokol TCP / IP termasuk protokol seperti File Transfer Protocol (FTP), Domain Name System (DNS) dan mungkin yang paling terkenal, Hypertext Transfer Protocol (HTTP).
Sebagai contoh, protokol lapisan aplikasi HTTP menentukan bagaimana data ditransmisikan antara 2 proses yang berjalan pada (biasanya) sistem yang berbeda: aplikasi klien, browser web, dan aplikasi server, proses server web.
Klarifikasi Kesalahpahaman Potensi
Paket protokol TCP / IP bukan tumpukan perangkat lunak. Dari Technopedia :
Sebaliknya, ini adalah tumpukan protokol, biasanya diimplementasikan oleh kernel (juga dari Technopedia ):
Paket protokol TCP / IP adalah spesifikasi komunikasi independen perangkat keras dan sistem operasi, bukan format . Jika suatu proses yang berjalan pada satu platform perangkat keras perlu berkomunikasi dengan proses yang berjalan pada sistem jarak jauh pada platform perangkat keras yang berbeda dan komunikasi dilakukan melalui Internet, maka sistem harus
Interpretasi saya terhadap pertanyaan ini adalah "Apakah ada perbedaan dalam cara perangkat seluler terhubung ke jaringan GSM dan cara perangkat seluler terhubung ke jaringan WiFi?"
Perbedaannya terletak pada lapisan antarmuka jaringan.
Pertanyaan ini memaparkan penggambaran miskin dari paket protokol TCP / IP dalam diagram di artikel yang ditautkan dalam pertanyaan. Untuk referensi, berikut adalah diagramnya:
Lapisan terendah, disebut sebagai "perangkat keras", harus disebut sebagai lapisan tautan , lapisan kontrol akses media (MAC) atau lapisan antarmuka jaringan .
Dari "Tutorial TCP / IP dan Tinjauan Teknis" IBM halaman 34:
Berikut ini adalah penggambaran yang benar dan unggul (dari The TCP / IP Guide ):
Alasan pembahasan lapisan antarmuka jaringan itu relevan adalah karena pada lapisan inilah ada perbedaan dalam cara perangkat seluler / seluler terhubung ke jaringan GSM vs. jaringan WiFi.
saat menghubungkan ke jaringan GSM, protokol lapisan antarmuka jaringan yang digunakan untuk menangani koneksi antara perangkat seluler dan stasiun pemancar dasar (BTS) biasanya ditentukan oleh 3G
saat menghubungkan ke titik akses nirkabel WiFi (WAP), protokol yang digunakan ditentukan oleh standar IEEE 802.11 .
Seperti dijelaskan sebelumnya, protokol di lapisan aplikasi TCP / IP protocol suite menyediakan standar untuk bagaimana data aplikasi dipertukarkan di antara proses.
Lapisan-lapisan itu konseptual. Mereka tidak berada dalam sistem atau platform perangkat keras.
Kamera yang terhubung ke web, sakelar lampu, dan termostat mungkin memiliki proses yang berjalan di atasnya yang berkomunikasi melalui Internet dengan proses yang berjalan pada sistem jarak jauh (memeriksa pembaruan firmware, pertukaran data dengan server, dll.). Proses-proses ini, atau aplikasi, akan memanfaatkan implementasi TCP / IP protocol suite untuk mencapai komunikasi antar-proses ini.
Paket protokol TCP / IP dan Sistem Tertanam ("IoT")
Meskipun ada berbagai aplikasi yang berbeda yang memanfaatkan protokol lapisan aplikasi yang berbeda yang berjalan pada PC atau server tradisional, tidak ada banyak perbedaan dalam hal bagaimana platform perangkat keras terhubung ke titik akses masing-masing (antarmuka jaringan / lapisan tautan data). Ini terutama dilakukan dengan kabel atau nirkabel melalui Ethernet.
Situasi agak berbeda ketika datang ke berbagai sistem embedded yang berkomunikasi melalui TCP / IP. Berikut adalah ilustrasi tentang ini (dari Postscapes ):
Untuk info lebih lanjut, lihat artikel ini:
Memahami Protokol di Balik Internet of Things
Standar dan Protokol IOT
Buku Panduan Teknologi IoT
sumber
Untuk pertukaran sesuatu di internet, itu harus melalui tumpukan IP di suatu tempat.
Protokol IP didefinisikan oleh RFC 791 , sehingga OS / Firmware harus mematuhinya, apa pun itu.
Sederhanakan sedikit, perbedaan di sini akan berada pada sinyal radio lapisan 1 (Fisik) vs sinyal listrik pada kabel. Detail lebih lanjut tentang halaman wikipedia model Open Systems Interconnection (model OSI) .
Mereka semua berfungsi untuk mentransposisikan layer 3 (Jaringan), IP dalam kasus di sini, pada media khusus mereka.
Lapisan Aplikasi terkait dengan protokol komunikasi tertentu (HTTP, SSH, dll.), Tidak harus berupa aplikasi seperti Chrome atau Firefox misalnya.
Biasanya protokol-protokol itu akan diimplementasikan di atas TCP , ada yang di atas UDP ketika ada keinginan untuk tidak memblokir menunggu pengakuan atau ketika mendapatkan paket usang tidak masuk akal (panggilan suara, streaming). Ada yang lain protokol layer 4 tetapi biasanya untuk penggunaan tertentu, seperti ICMP untuk
ping
. TCP adalah protokol pilihan ketika Anda ingin memastikan beberapa data tiba ke tujuan.Untuk 'perangkat jarak jauh', seperti termostat dalam contoh Anda, mungkin menggunakan protokol yang sudah ada seperti HTTP atau menggunakan yang eksklusif untuk mengirim datanya, yang masih akan berada di lapisan Aplikasi biasanya karena tidak akan hanya transportasi protokol.
Ini mungkin dilakukan pada layer 4 saja, tetapi itu perlu membuat protokol baru dan overhead biasanya tidak sepadan dan membuat sistem tidak kompatibel dengan yang lain, menggunakan standar terbuka adalah pendekatan yang lebih baik menurut pendapat saya.
sumber
Meskipun memang benar bahwa setiap perangkat yang terhubung internet akan menggunakan TCP / IP (atau UDP) untuk komunikasi, itu benar-benar tingkat berikutnya dalam tumpukan di mana hal-hal menjadi menarik.
Perangkat IoT modern mana pun akan menggunakan TLS untuk memberikan enkripsi dan otentikasi. Ini mencegah (secara teori) orang lain dari mengamati atau mengganggu pesan yang sedang disampaikan. Pertimbangan penting dari tumpukan TCP / IP adalah bahwa banyak dari informasi yang dikirimkan dapat diamati secara sepele - dan ini seringkali mengarah pada kelemahan keamanan.
Perangkat tidak perlu terhubung ke internet 'at source', jadi tidak perlu menerapkan TCP melalui bluetooth (sebagai contoh). Anda mungkin juga melihat perangkat IoT menggunakan protokol ponsel (seperti SMS atau teks biasa) sebagai hop terakhir mereka. Akhirnya protokol-protokol ini (dipilih dengan cara tertentu untuk lingkungan yang diinstal) kemungkinan akan dijembatani ke 'internet' oleh perangkat hub.
sumber
Semua perangkat yang ingin menggunakan TCP over IP membutuhkan TCP / IP stack.
Protokol terstandarisasi, sehingga perangkat dari produsen yang berbeda, atau menggunakan sistem operasi yang berbeda, dapat saling memahami.
Perhatikan bahwa TCP memastikan bahwa paket data tiba, atau pengirim akan diberitahu tentang kehilangannya. TCP akan digunakan ketika Anda tidak mampu kehilangan data apa pun tanpa menyadarinya (mis. Komunikasi dengan bank Anda).
Ada juga UDP, yang mengirim paket dan "berharap mereka sampai di sana". Ini dapat digunakan, misalnya, untuk streaming musik atau video, di mana hilangnya beberapa frame tidak fatal.
Bagian yang penting adalah standardisasi.
sumber
Tumpukan itu sendiri adalah konsep virtual. Setiap lapisan dalam tumpukan memodifikasi bit terakhir yang dikirim melintasi media fisik (gelombang radio atau sinyal elektronik lainnya). Tidak ada aturan yang mengatakan bahwa setiap lapisan dalam tumpukan harus direkayasa dalam satu unit kode atau perangkat keras tersendiri. Sebagai contoh, iEthernet Chips menggabungkan lapisan TCP, IP, MAC, dan PHY, meninggalkan pengembang dengan tugas menerapkan TLS dan perangkat lunak lapisan Aplikasi.
Yang mengatakan, semua bit harus mematuhi berbagai protokol yang terlibat, dan untuk alasan ini, biasanya lebih mudah untuk merancang setiap layer sebagai entitas yang terpisah, sehingga mereka dapat diuji dan diverifikasi secara independen. Sebagian besar perangkat, termasuk ponsel pintar, TV pintar, dan konsol game biasanya membeli chip mereka dari pihak ketiga yang memiliki spesialisasi di beberapa area. Misalnya, sebagian besar ponsel hanya menggunakan satu dari beberapa chip bluetooth yang berbeda; ini berarti bahwa pabrikan tidak perlu khawatir tentang menciptakan kembali roda dengan setiap produk baru.
Secara teori, beberapa perangkat kecil khusus mungkin hanya memiliki prosesor tunggal dengan SoC (Software on Chip) tertanam yang menangani semua lapisan jaringan (aplikasi, TLS, TCP, IP, PHY) sebagai unit kode diskrit tunggal. Saya tidak dapat menemukan contoh konkret saat ini, tetapi tidak akan mengejutkan saya jika beberapa perangkat fungsi kecil, berdaya rendah atau berdedikasi menggabungkan semua lapisan tumpukan menjadi satu unit untuk mengurangi konsumsi daya (memperpanjang masa pakai baterai). Produk yang lebih besar, lebih rumit, seperti televisi, telepon, dan sistem permainan mungkin memiliki setidaknya 3 lapisan (aplikasi, sistem operasi, dan perangkat keras), sementara pemanggang roti mungkin hanya memiliki 1 atau 2 lapisan.
Catatan: Saya tidak mengatakan bahwa pemanggang roti tertentu yang saya tautkan memiliki 1 atau 2 lapisan, hanya saja akan masuk akal jika dirancang seperti itu, menjadi perangkat tujuan tunggal.
sumber