嵌入式技術學習筆記(十)

網絡基礎
因爲進程間通信解決的是本機內的通信,而網絡通信解決的是任意不同機器的通信,所以我們需要學習網絡通信。

要想實現網路通信需要什麼?
(1)通信設備:①網卡:pc機自帶②路由器,交換機③光纖,電纜,基站
(2)通信協議:操作系統自帶協議棧(linux的特點就是有豐富的網路協議);裸機開發需要獨立的協議棧
(3)簡單網絡通信只需要學會使用系統API

OSI七層網絡模型,Linux四層網絡模型
在這裏插入圖片描述
分層的好處:(1)各層間是獨立的(2)靈活性好(3)結構上可以分割開(4)易於實現和維護(5)能促進標準化工作
物理層:通信介質的信號到數字信號的轉換
數據鏈路層:局域網之間計算機通信,通過mac地址(物理網卡)通信
網絡層:IP地址,路由(通過公網IP來訪問世界)
傳輸層:tcp/udp tcp(可靠,速度慢)udp(不可靠,速度快)
會話層:控制發包的數據
表示層:文件格式
應用層:應用程序使用
協議棧實現數據的壓縮加密和解壓解密

公網ip(廣域網通信):(1)a類:1.0.0.1 ~ 126.255.255.254(2)b類:128.0.0.1 ~ 191.255.255.254
(3)c類:192.0.0.1 ~ 223.255.255.254(4)d類:224.0.0.1 ~ 239.255.255.254 組播,VRRP協議,keepalive高可用(5)e類:240.0.0.1 ~ 255.255.255.254 科研
私網ip(局域網通信):(1)A:10.0.0.0 ~ 10.255.255.255(2)B:172.16.0.0 ~ 172.31.255.255
(3)C:192.168.0.0 ~ 192.168.255.255

如何解決ip地址荒:由ipv4升級到ipv6,以及使用網絡地址轉換NAT(Network Address Transtation):將內網ip轉爲公網ip

子網掩碼的作用:(1)決定一個網段的大小(可用ip的數量)(2)同一個網段的ip地址,才能直接相互通信,不同網段的ip地址,需要路由器才能相互通信
.
DNS協議:域名解析,把域名解析爲ip地址

網絡編程 C/S結構: 優點:(1)由於客戶端實現與服務器的直接相連,沒有中間環節,因此響應速度快(2)操作界面漂亮,形式多樣,可以充分滿足用戶自身的個性化要求(3)C/S結構的管理信息系統具有較強的事務處理能力,能實現複雜的業務流程 缺點:(1)需要專門的客戶端安裝程序,分佈功能弱,針對點多面廣且不具備網絡條件的用戶羣體,不能夠實現快速部署安裝和配置(2)兼容性差,對於不同的開發工具,具有較大的侷限性,若採用不同工具,需要重新改寫程序(3)開發成本較高,需要具有一定的專業水準的技術人員才能完成 B/S架構: 優點:(1)具有分佈性特點,可以隨時隨地的進行查詢,瀏覽等業務處理(2)業務擴展簡單方便,通過增加網頁即可增加服務器功能(3)維護簡單方便,只需要改變網頁,即可實現所有用戶的同步更新(4)開發簡單,共享性強 缺點:(1)表現要達到C/S程序的程度需要花費不少精力(2)在速度和安全性上需要花費巨大的設計成本 套接字:傳輸層的文件描述符