OSI 七層模型 - daniel-qa/Network GitHub Wiki
是指在网络上传输的一个独立的、自包含的数据单元。数据报传输是一种无连接的通信方式,意味着每个数据报都被视为一个独立的数据包,不依赖于之前或之后的数据报。因此,并不能保证数据报按照发送的顺序到达。网络可能会通过不同的路径路由数据报,导致传输时间的差异和潜在的乱序到达。
为了解决这个问题并确保数据的完整性,更高层次的协议通常会添加序列号或其他机制,以便在接收端正确地重新组装数据报。例如,在Internet协议(IP)中,每个数据报都有一个序列号字段,接收方可以利用这个字段来按正确的顺序重新组装数据报。
開放式系統互聯模型(英語:Open System Interconnection Model,縮寫:OSI;簡稱為OSI模型)是一種概念模型,由國際標準化組織提出,一個試圖使各種電腦在世界範圍內互連為網路的標準框架。定義於ISO/IEC 7498-1。
該模型將通訊系統中的資料流劃分為七個層,從分散式應用程式資料的最高層表示到跨通訊媒介傳輸資料的物理實現。每個中間層為其上一層提供功能,其自身功能則由其下一層提供。功能的類別通過標準的通訊協定在軟體中實現。
開放式系統互聯模型的開發始於上世紀70年代後期,用以支援各種電腦聯網方法的出現。在上世紀80年代,該模型成為國際標準化組織(ISO)開放系統互連小組的工作產品。
PORT
在OSI(开放式系统互连)模型中,端口(Port)的概念不是在模型的特定层级中定义的,而是在更高层的应用层中引入的。
具体来说,端口是在传输层(第四层)以上的应用层(第七层)中使用的。
在传输层中,数据通过端口号来标识不同的应用。传输层主要负责数据的可靠传输和错误检测,而应用层则负责定义特定应用程序所需的通信规则和数据格式。
在使用TCP或UDP协议时,端口号用于将数据传递给正确的应用程序或服务。例如,HTTP服务通常使用端口80,HTTPS服务通常使用端口443。
这些端口号是在应用层协议中定义的,而应用层协议位于OSI模型的第七层。
总的来说,端口的概念和使用是在应用层中定义和实现的,属于OSI模型的第七层。
#
ICMPICMP會處理錯誤報告和測試。
ICMP 是無連線的通訊協定, 並不使用 TCP 或 UDP 之類的傳輸通訊協定。
相反,ICMP 封包是僅透過 IP 傳送的。
開發人員和網路工程師使用 ICMP 執行 ping 和 traceroute 功能。
一般而言,一次只需要傳送一個 ICMP 封包。
TCP/IP #
- 什麼是 IP 和 TCP?
網際網路通訊協定 (IP) 是網際網路的位址系統,具有將資訊封包從源裝置傳送到目標裝置的核心功能。
IP 是建立網路連線的主要方式,它奠定了網際網路的基礎。(Internet Protocol)
IP 不處理封包排序或錯誤檢查。
這種功能需要另一種通訊協定,通常是傳輸控制通訊協定 (TCP)。
TCP / IP 關係類似於通過郵件向某人傳送寫在拼圖上的訊息。寫好訊息后,拼圖被拆分成碎片。
然後,每片碎片都可以通過不同的郵政路線運送,部分路線比其他需要更長時間。
當拼圖碎片經過不同路線到達後,它們的順序可能是錯誤的。
IP 確保碎片到達它們的目的地位址。
TCP 可以被認爲是另一邊的拼圖組裝者,可將拼圖按正確的順序組裝在一起,要求重新傳送缺失的碎片,並讓傳送者知道拼圖已經收到。
TCP 在第一塊拼圖碎片傳送之前到最後一塊拼圖傳送之後保持與傳送方的連接。
IP 是一種無連線通訊協定,這意味着每個資料單元從來源裝置單獨尋址並路由到目標裝置,目標裝置不向來源裝置傳送確認。
這就是 TCP 這類通訊協定的用武之地。
TCP 與 IP 結合使用,以維持傳送方和目標之間的連接,並確保包的順序。
例如,當通過 TCP 傳送電子郵件時,將建立連接並進行 3 次握手
。
首先,來源向目標伺服器傳送一個 SYN 「初始請求」封包以開始對話。然後,目標伺服器傳送一個 SYN-ACK 封包以同意進行這個進程。
最後,源向目標傳送一個 ACK 封包來確認進程,然後才能傳送消息內容電子郵件消息最終被分解成多個封包,
然後每個封包被傳送到網際網路,它要經過一系列閘道才到達目標裝置,然後這組封包在目標裝置上被 TCP 重新組合成電子郵件的原始內容。
今天網際網路上所用 IP 的主要版本是網際網路通訊協定第四版本 (IPv4)。
由於 IPv4 中可能地址總數的大小限制,人們開發了一種更新的通訊協定。
這種更新的通訊協定被稱為 IPv6,其提供更多可用的位址,並越來越多地得到應用。