背景
雖然說以前學習計算機網絡的時候,學過了,但為了更好地學習一些物聯網協議(MQTT、CoAP、LWM2M、OPC),需要重新復習一下。
OSI七層模型
七層模型,亦稱OSI(Open System Interconnection)。參考模型是國際標准化組織(ISO)制定的一個用於計算機或通信系統間互聯的標准體系,一般稱為OSI參考模型或七層模型。
它是一個七層的、抽象的模型體,不僅包括一系列抽象的術語或概念,也包括具體的協議。
OSI七層模型 | 功能 | 對應的網絡協議 |
---|---|---|
應用層 | 應用層是網絡體系中最高的一層,也是唯一面向用戶的一層,也可視為為用戶提供常用的應用程序,每個網絡應用都對應着不同的協議 | HTTP、TFTP, FTP, NFS, WAIS、SMTP |
表示層 | 主要負責數據格式的轉換,確保一個系統的應用層發送的消息可以被另一個系統的應用層讀取,編碼轉換,數據解析,管理數據的解密和加密,同時也對應用層的協議進行翻譯 | Telnet, Rlogin, SNMP, Gopher |
會話層 | 負責網絡中兩節點的建立,在數據傳輸中維護計算機網絡中兩台計算機之間的通信連接,並決定何時終止通信 | SMTP, DNS |
傳輸層 | 是整個網絡關鍵的部分,是實現兩個用戶進程間端到端的可靠通信,處理數據包的錯誤等傳輸問題。是向下通信服務最高層,向上用戶功能最底層。即向網絡層提供服務,向會話層提供獨立於網絡層的傳送服務和可靠的透明數據傳輸。 | TCP, UDP |
網絡層 | 進行邏輯地址尋址,實現不同網絡之間的路徑選擇,IP就在網絡層 | IP, ICMP, ARP, RARP, AKP, UUCP |
數據鏈路層 | 物理地址(MAC地址),網絡設備的唯一身份標識。建立邏輯連接、進行硬件地址尋址,相鄰的兩個設備間的互相通信 | FDDI, Ethernet, Arpanet, PDN, SLIP, PPP,STP。HDLC,SDLC,幀中繼 |
物理層 | 七層模型中的最底層,主要是物理介質傳輸媒介(網線或者是無線),在不同設備中傳輸比特,將0/1信號與電信號或者光信號互相轉化 | IEEE 802.1A, IEEE 802.2到IEEE 802 |
數據發送時從上至下封裝,收到數據包后從下至上解包。每一層對於上一層來講是透明的,上層只需要使用下層提供的接口,並不關心下層是如何實現的。
我們所說的 socket 編程,是站在傳輸層的基礎上,所以可以使用 TCP/UDP 協議,但是不能干「訪問網頁」這樣的事情,因為訪問網頁所需要的 http 協議位於應用層。
兩台計算機進行通信時,必須遵守以下原則:
- 必須是同一層次進行通信,比如,A 計算機的應用層和 B 計算機的傳輸層就不能通信,因為它們不在一個層次,數據的拆包會遇到問題。
- 每一層的功能都必須相同,也就是擁有完全相同的網絡模型。如果網絡模型都不同,那不就亂套了,誰都不認識誰。
- 數據只能逐層傳輸,不能躍層。
- 每一層可以使用下層提供的服務,並向上層提供服務。
如:
TCP/IP
TCP/IP 參考了OSI模型,將 最上的3層(應用層、表示層、會話層) 視為為 應用層, 由 將 最下的2層(數據鏈路層、物理層)視為 網絡接口層
所以 TCP/IP 只有4層。
我們用一張圖來看,TCP/IP在OSI模型中各個部分對應的是什么部分。
附錄: TCP/IP在OSI模型中各部分的解釋(OSI七層模型 相關協議 縮寫)
應用層
-
HTTP 超文本傳輸協議
-
FTP 文件傳輸協議
-
SMTP 簡單郵件傳輸協議
-
TELNET TCP/IP終端仿真協議
-
POP3 郵局協議第三版
-
Finger 用戶信息協議
-
NNTP 網絡新聞傳輸協議
-
IMAP4 因特網信息訪問協議第四版
-
LPR UNIX 遠程打印協議
-
Rwho UNIX 遠程 Who協議
-
Rexec UNIX遠程執行協議
-
Login UNIX 遠程登陸協議
-
RSH UNIX 遠程Shell協議
-
NTF HP 網絡文件傳輸協議
-
RDA HP 遠程數據庫訪問協議
-
VT 虛擬終端仿真協議
-
RFA HP 遠程文件訪問協議
-
RPC Remote Process Comm.
-
S-HTTP 安全超文本傳輸協議
-
GDP 網關發現協議
-
X-Window
-
CMOT 基於TCP/IP的CMIP協議
-
SOCKS 安全套接字協議
-
FANP 流屬性通知協議
-
SLP 服務定位協議
-
MSN 微軟網絡服務
-
Radius 遠程用戶撥號認證服務協議
-
DNS 域名系統
-
NFS網絡文件系統協議
-
NIS SUN 網絡信息系統協議
-
R-STAT SUN遠程狀態協議
-
NSM SUN 網絡狀態監測協議
-
PMAP SUN 端口映射協議
-
Mount
-
LPR UNIX 遠程打印協議
-
SNMP 簡單網絡管理協議
-
常用UDP協議的應用層服務
- BOOTP 引導協議
- DHCP動 態主機配套協議
- NTP 網絡時間協議
- TFTP 簡單文件傳輸協議
表示層
-
DECnet NSP
-
LPP 輕量級表示協議
-
NBSSN NetBIOS會話服務協議
-
XDP外部數據表示協議
-
IPX
會話層
-
SSL 安全套接字層協議
-
TLS 傳輸層安全協議
-
DAP 目錄訪問協議
-
LDAP 輕量級目錄訪問協議
-
RPC 遠程過程調用協議
-
VINES NETRPC
- VFRP
- NeTBIOS
- IPX
傳輸層
-
XOT 基於tcp之上的X協議
-
Van Jacobson 壓縮TCP協議
-
ISO-DE ISO 開發環境-------->NetBISO
-
TALI 傳輸適配層接口協議
-
DSI、NetBIOS、IP NeTBIOS、ISO-TP SSP、SMB、MSRPC
UDP用戶數據報協議
-
RUDP 可靠的用戶數據報協議
-
Mobile IP 移動IP協議
網絡層
-
IP/IPv6 互聯網協議/互聯網協議第六版
-
ICMPv6互聯網控制信息協議第六版
-
ICMP互聯網控制信息協議
-
IGMP 互聯網組管理協議
-
SLIP 串行線路IP協議
安全協議
-
AH 認證頭協議
-
ESP 安裝封裝有效載荷協議
路由協議
-
EGP 外部網關協議
-
OSPF 開放最短路徑優先協議
-
IGRP 內部網關路由協議
-
NHRP 下一跳解析協議
-
IE-IRGP 增強內部網關路由選擇協議
-
RIPng for IPv6 IPv6路由信息協議
-
GGP 網關到網關協議
-
VRRP 虛擬路由器冗余協議
-
PGM 實際通用組播協議
-
RSVP 資源預留協議
-
PIM-DM 密集模式獨立組播協議
-
DVMRP 距離矢量組播路由協議
-
RIP2 路由信息協議第二版
-
PIM-SM 稀疏模式獨立組播協議
-
MOSPF 組播開放最短路徑優先協議
數據鏈路層
-
MPLS 多協議標簽交換協議
-
XTP 壓縮傳輸協議
-
DCAP 數據轉換客戶訪問協議
-
SLE 串行連接封裝協議
-
IPinIP IP套IP封裝協議
隧道協議
-
PPTP 點對點隧道協議
-
L2F 第二層轉發協議
-
L2TP 第二層隧道協議
-
ATMP 接入隧道管理協議
Cisco 協議
-
CDP 思科發現協議
-
CGMP 思科組管理協議
地址解析協議
-
ARP 地址解析協議
-
RAR 逆向地址解析協議
物理層
-
IEEE 802.2
-
Ethernet v.2
-
Internetwork