TCP/IP看似復(fù)雜,但借助LuatOS的簡化開發(fā)模式,即使沒有網(wǎng)絡(luò)編程經(jīng)驗,也能在短時間內(nèi)輕松實現(xiàn)通信功能。本指南將帶你一步步用LuatOS快速入門,真正實現(xiàn)“輕松搞定”。
提到網(wǎng)絡(luò)應(yīng)用,就繞不開TCP/IP——它不僅是互聯(lián)網(wǎng)的通信基石,更像是一套精妙絕倫的“世界語”,讓形態(tài)各異、遍布全球的設(shè)備能夠跨越硬件和軟件的差異,使用統(tǒng)一的規(guī)則進行對話。
相比傳統(tǒng)開發(fā)方式,LuatOS通過高效易用的API:將復(fù)雜的協(xié)議細節(jié)封裝在簡潔的接口之下,開發(fā)者無需從零開始構(gòu)建整個協(xié)議棧,而是可以像搭積木一樣快速上手,只需專注于應(yīng)用邏輯本身。
你可以在幾分鐘內(nèi)讓一塊4G-Cat.1模塊真正連接到云端服務(wù)器,并立刻觀察到數(shù)據(jù)交互的全過程。每一個理論概念,都能通過具體的代碼和硬件行為得到最直觀的驗證和理解。
一、TCP/IP網(wǎng)絡(luò)模型簡介
有網(wǎng)絡(luò)應(yīng)用開發(fā)經(jīng)驗的人,應(yīng)該都聽說過OSI七層模型、TCP/IP協(xié)議四層模型和TCP/IP協(xié)議五層模型。
這三種網(wǎng)絡(luò)協(xié)議模型的說明,參考下表:

看了這張表之后,我們應(yīng)該有以下幾點認識:
都采用了分層的思想,將復(fù)雜的通信過程分解為更小、更易于管理的部分;
每一層都為其上層提供服務(wù),并使用其下層提供的服務(wù);
這三種網(wǎng)絡(luò)模型,只是分層的顆粒度不一樣;實際上,這三種網(wǎng)絡(luò)模型的本質(zhì)內(nèi)容都是一樣的。
既然本質(zhì)內(nèi)容是一樣的,為什么還要存在三種網(wǎng)絡(luò)模型呢?
我們簡單地看一下這三種網(wǎng)絡(luò)模型的歷史:
TCP/IP
20世紀70年代(1970s)
美國國防部某個計劃局,提出了建立一種通信網(wǎng)絡(luò)的需求;美國的幾個工程師大佬開發(fā)了一套通信協(xié)議,TCP和IP協(xié)議是其中的核心;當(dāng)時并沒有抽象出四層或者五層模型。
OSI和TCP/IP
20世紀80年代(1980s)
網(wǎng)絡(luò)技術(shù)蓬勃發(fā)展,但各家廠商(如IBM、DEC)都有自己的私有網(wǎng)絡(luò)協(xié)議標(biāo)準,導(dǎo)致不同廠商的設(shè)備之間無法通信。
網(wǎng)絡(luò)世界,需要一個“通用語言”。
國際標(biāo)準化組織ISO于1984年,提出了開放系統(tǒng)互聯(lián)OSI參考模型;
與此同時,TCP/IP的支持者也抽象出了一套自己的“術(shù)語”和“框架”來與OSI模型競爭。他們從現(xiàn)有的TCP/IP協(xié)議族中反向歸納、提煉出了一個更簡單的分層模型。
TCP/IP
20世紀90年代(1990s)
OSI和TCP/IP經(jīng)過一段時間協(xié)議競爭,最終TCP/IP勝出,得到廣泛應(yīng)用,主要有以下幾點原因:
TCP/IP來自實踐,簡單高效,易于實現(xiàn);而OSI模型過于復(fù)雜和理想化,標(biāo)準制定緩慢;
TCP/IP規(guī)范(RFC文檔)對所有人免費開放,鼓勵了廣泛的應(yīng)用和創(chuàng)新;
美國政府規(guī)定其所有聯(lián)邦機構(gòu)使用的網(wǎng)絡(luò)必須支持TCP/IP;
萬維網(wǎng)(World WideWeb)在1991年出現(xiàn),它運行在TCP/IP協(xié)議之上,Web的爆炸式普及使得TCP/IP協(xié)議成為了所有上網(wǎng)設(shè)備的必然選擇。
最終,TCP/IP模型在實踐中得到廣泛應(yīng)用。
至于TCP/IP四層模型和TCP/IP五層模型,二者的差別不大,主要體現(xiàn)在對最底層的劃分不同:
四層模型隱藏了底層細節(jié),將網(wǎng)絡(luò)接入視為一個黑盒,更關(guān)注對軟件層面的設(shè)計,不關(guān)心具體的硬件;
五層模型明確包含了物理硬件層。
四層模型和五層模型本質(zhì)上是同一個東西的兩種不同表述方式,所以我們接下來不糾結(jié)四層還是五層模型,而是統(tǒng)稱為TCP/IP模型。
二、LuatOS對TCP/IP協(xié)議棧的支持
在了解TCP/IP網(wǎng)絡(luò)模型之后,接下來我們看一下TCP/IP協(xié)議這個概念。
TCP/IP網(wǎng)絡(luò)模型是理論上的框架和藍圖,而TCP/IP協(xié)議是這個框架的具體實現(xiàn)。我們來看下面這張表格:

可以看到,每一層都有多個協(xié)議去實現(xiàn),在所有的這些協(xié)議中,TCP和IP兩種協(xié)議是其中的核心協(xié)議,所以用TCP/IP協(xié)議代指網(wǎng)絡(luò)模型中的所有協(xié)議。
所以說,TCP/IP協(xié)議并不是兩個單一的協(xié)議,而是一個協(xié)議家族,包含TCP/IP網(wǎng)絡(luò)模型中的所有協(xié)議;所有協(xié)議協(xié)同工作,從軟件上完成了互聯(lián)網(wǎng)上的數(shù)據(jù)傳輸任務(wù)。
TCP/IP協(xié)議的核心工作原理,功能分層、數(shù)據(jù)封裝/解封裝等已整理詳細介紹,感興趣的朋友可查看文檔:
https://docs.openluat.com/luatos_lesson/002_luatos_socket/
那么,LuatOS對TCP/IP協(xié)議棧的支持情況是怎樣的,提供了哪些編程接口給LuatOS項目應(yīng)用腳本來使用呢?
2.1 應(yīng)用層
1)LuatOS協(xié)議支持:
HTTP,MQTT,F(xiàn)TP,WebSocket,DNS,NTP,DHCP,SSL/TLS(從OSI七層模型來看,和表示層最接近,所以此處把SSL/TLS放到TCP/IP模型中應(yīng)用層)。
2)LuatOS編程接口:
socket核心庫/libnet擴展庫
http核心庫/httpplus擴展庫/httpsrv核心庫
mqtt核心庫
ftp核心庫
websocket核心庫
httpdns擴展庫
dhcpsrv擴展庫
udpsrv擴展庫
用層提供的這些編程接口和LuatOS項目應(yīng)用開發(fā)關(guān)系最為密切,這些核心庫和擴展庫的API文檔可參考下方鏈接。
LuatOS最新API手冊:https://docs.openluat.com/osapi/
2.2 傳輸層
1)LuatOS協(xié)議支持:TCP,UDP;
2)LuatOS編程接口:socket核心庫/libnet擴展庫。
2.3 應(yīng)用層
1)LuatOS協(xié)議支持:IP,ICMP;
2)LuatOS編程接口:
socket核心庫
在這里重點說一下exnetif擴展庫,exnetif擴展庫有兩項核心功能。

2.4 數(shù)據(jù)鏈路層
LuatOS協(xié)議支持:
以太網(wǎng)、Wi-Fi、4G等網(wǎng)絡(luò)各自的數(shù)據(jù)鏈路層協(xié)議;
以太網(wǎng)的IEEE 802.3系列;
Wi-Fi網(wǎng)絡(luò)的IEEE 802.11系列;
4G網(wǎng)絡(luò)的PDCP、RLC、MAC等協(xié)議。
2.5 物理層
光纖、雙絞線、無線電波等傳輸介質(zhì)。
今天的內(nèi)容就分享到這里了!
審核編輯 黃宇
-
IP
+關(guān)注
關(guān)注
5文章
1850瀏覽量
155037 -
TCP
+關(guān)注
關(guān)注
8文章
1418瀏覽量
83102 -
LuatOS
+關(guān)注
關(guān)注
0文章
134瀏覽量
2588
發(fā)布評論請先 登錄
深入解析DLP650NE數(shù)字微鏡器件:設(shè)計與應(yīng)用全攻略
醫(yī)療電子EMC整改:原理到實戰(zhàn)的系統(tǒng)化全攻略策略
工業(yè) / 民用電表排線全攻略:安全合規(guī) + 高效布線,90% 電工都在用的標(biāo)準化方案
快速掌握TCP/IP?LuatOS新手入門指南
RFID手持讀寫器怎么玩轉(zhuǎn)溫濕度標(biāo)簽?從入門到實戰(zhàn)全攻略
零基礎(chǔ)學(xué)習(xí)LuatOS編程:快速上手開發(fā)實戰(zhàn)教程!
MUSE Pi也能暢玩鴻蒙?輕松上手全攻略!
快速入門——LuatOS:sys庫多任務(wù)管理實戰(zhàn)攻略!
UC3854 功率因數(shù)校正設(shè)計全攻略:從理論到實戰(zhàn)
零基礎(chǔ)也能玩轉(zhuǎn)!源碼開放:Air8101快速實現(xiàn)以太網(wǎng)功能

零基礎(chǔ)也能玩轉(zhuǎn)TCP/IP?LuatOS上手全攻略
評論