嵌入式Linux網路程式設計,網路基礎,OSI七層模型,TCP/IP四層模型,TCP/IP通訊模型、協議結構、封包與拆包,TCP/UDP協議特點及適用情況
阿新 • • 發佈:2018-12-14
文章目錄
1,TCP協議分成了兩個不同的協議----->TCP/IP協議誕生
- 用來檢測網路傳輸中差錯的傳輸控制協議TCP
- 專門負責對不同網路進行互聯的網際網路協議IP
2,網路的體系結構
- 網路採用分而治之的方法設計,將網路的功能劃分為不同的模組,以分層的形式有機組合在一起。
- 每層實現不同的功能,其內部實現方法對外部其他層次來說是透明的。每層向上層提供服務,同時使用下層提供的服務
- 網路體系結構即指網路的層次結構和每層所使用協議的集合
- 兩類非常重要的體系結構:OSI與TCP/IP
2.1,OSI開放系統互聯模型
OSI模型相關的協議已經很少使用,但模型本身非常通用 | |
OSI模型是一個理想化的模型,尚未有完整的實現 | |
OSI模型共有七層(右圖) | |
低層是Linux核心中的內容 高層是在應用空間 |
- 交換機:
·兩層交換機(偏硬體)—資料鏈路層
·三層交換機(偏軟體)—網路層 - 交換機屬於OSI第二層即資料鏈路層裝置。它根據MAC地址定址,通過站表選擇路由,站表的建立和維護由交換機自動進行。
- 路由器屬於OSI第三層即網路層裝置,它根據IP地址進行定址,通過路由表路由協議產生。交換機最大的好處是快速,路由器最大的好處是控制能力強。
2.2,TCP/IP協議族的體系結構
TCP/IP協議是Internet事實上的工業標準。 | |
一共有四層 | |
下三層是Linux核心中的內容 應用層是在應用空間 |
- 網路介面和物理層:硬體驅動,遮蔽硬體差異,形成統一的介面(核心中的struct net_device)
- 網路層(IP層):跨不同的作業系統和機器,實現端到端的傳輸資料
- 傳輸層:資料應該交給哪一個任務處理
- 應用層:各種應用層的協議
各層典型的協議 | ||
---|---|---|
應用層 | HTTP/HTTPS:網頁訪問協議 郵件傳送接收協議: POP3(收)/SMTP(發) 、IMAP(可接收郵件的一部分) FTP:檔案傳輸 Telnet/SSH: 遠端登入 嵌入式相關:NTP: 網路時鐘協議 嵌入式相關:SNMP: 簡單網路管理協議(實現對網路裝置集中式管理) 嵌入式相關:RTP/RTSP:傳輸音視訊的協議(安防監控) |
|
傳輸層 | TCP: (Transfer Control protocol,傳輸控制協議) 提供面向連線的,一對一的可靠資料傳輸的協議 即資料無誤、資料無丟失、資料無失序、資料無重複到達的通訊 UDP: (user Datagram Protocol, 使用者資料報協議): 提供不可靠,無連線的盡力傳輸協議 是不可靠的無連線的協議。在資料傳送前,因為不需要進行連線,所以可以進行高效率的資料傳輸。 SCTP: 是可靠傳輸,是TCP的增強版,它能實現多主機、多鏈路的通訊 |
|
網路層(IP層) | IP: Internet protocol(分為IPV4和IPV6) ICMP: Internet控制管理協議,ping命令屬於ICMP IGMP: Internet分組管理協議,廣播、組播 |
|
網路介面和物理層 | MAC地址:48位的數,全球唯一,網路裝置的身份標識 ARP:通過IP地址找到(解析)MAC地址 RARP:通過MAC地址找到IP地址 PPP協議:撥號協議(電話線、3G、4G) |
3,TCP/IP協議通訊模型
3.1,TCP/IP結構
3.2,TCP/IP協議通訊模型
- MTU(Max Transfer Unit):最大傳輸單元,和網路型別有關
·乙太網:MTU=1500位元組 - mss(maximum segment size):最大段大小,和網路型別、線路、系統特性等相關
3.3,資料的封裝與傳遞過程(封包和拆包)
4,TCP協議特點
- TCP(即傳輸控制協議):是一種面向連線的傳輸層協議,它能提供高可靠性通訊(即資料無誤、資料無丟失、資料無失序、資料無重複到達的通訊)
- 適用情況:
·適合於對傳輸質量要求較高,以及傳輸大量資料的通訊。
·在需要可靠資料傳輸的場合,通常使用TCP協議
·MSN/QQ等即時通訊軟體的使用者登入賬戶管理相關的功能通常採用TCP協議
5,UDP協議特點
-
UDP(User Datagram Protocol)使用者資料報協議,是不可靠的無連線的協議。在資料傳送前,因為不需要進行連線,所以可以進行高效率的資料傳輸。
-
適用情況:
·傳送小尺寸資料(如對DNS伺服器進行IP地址查詢時)
·在接收到資料,給出應答較困難的網路中使用UDP。(如:無線網路)
·適合於廣播/組播式通訊中。
·MSN/QQ/Skype等即時通訊軟體的點對點文字通訊以及音視訊通訊通常採用UDP協議
·流媒體、VOD、VoIP、IPTV等網路多媒體服務中通常採用UDP方式進行實時資料傳輸